<?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>47301</bug_id>
          
          <creation_ts>2010-10-06 13:56:00 -0700</creation_ts>
          <short_desc>AX: Support UIRequestEvents from new W3C Proposal</short_desc>
          <delta_ts>2020-12-01 07:41:03 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Accessibility</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>WONTFIX</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="chris fleizach">cfleizach</reporter>
          <assigned_to name="chris fleizach">cfleizach</assigned_to>
          <cc>ap</cc>
    
    <cc>bugs</cc>
    
    <cc>cfleizach</cc>
    
    <cc>david.bolter</cc>
    
    <cc>eric</cc>
    
    <cc>gustavo</cc>
    
    <cc>jcraig</cc>
    
    <cc>sam</cc>
    
    <cc>tony</cc>
    
    <cc>ucheukala007</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>290561</commentid>
    <comment_count>0</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2010-10-06 13:56:00 -0700</bug_when>
    <thetext>We should support UIRequestEvents from 
http://lists.w3.org/Archives/Public/wai-xtech/2010Aug/att-0079/UserInterfaceIndependence.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>290614</commentid>
    <comment_count>1</comment_count>
      <attachid>69999</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2010-10-06 15:20:34 -0700</bug_when>
    <thetext>Created attachment 69999
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>290631</commentid>
    <comment_count>2</comment_count>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2010-10-06 15:50:13 -0700</bug_when>
    <thetext>Attachment 69999 did not build on qt:
Build output: http://queues.webkit.org/results/4251055</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>290672</commentid>
    <comment_count>3</comment_count>
      <attachid>70011</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2010-10-06 16:45:43 -0700</bug_when>
    <thetext>Created attachment 70011
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>291121</commentid>
    <comment_count>4</comment_count>
      <attachid>70115</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2010-10-07 10:46:10 -0700</bug_when>
    <thetext>Created attachment 70115
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>292156</commentid>
    <comment_count>5</comment_count>
      <attachid>70115</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2010-10-09 12:30:11 -0700</bug_when>
    <thetext>Comment on attachment 70115
Patch

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

My major issues with this patch are (and maybe I am still missing the point):
- The events never seem to be fired.
- The undo/redo events seem to offer the same functionality as http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html#undomanagerevent from HTML5.
- These events seem general enough that they should be defined in HTML5 (or 6), and not an accessibly spec.
- There should also be more tests that show the event getting fired in other ways (other than manual dispatchEvent).

&gt; WebCore/accessibility/UIRequestEvent.h:40
&gt; +    enum {
&gt; +        
&gt; +    };

Empty enum should be removed.

&gt; WebCore/accessibility/UIRequestEvent.idl:38
&gt; +    interface UIRequestEvent : UIEvent {
&gt; +        
&gt; +        void initUIRequestEvent(in DOMString type, 
&gt; +                                    in boolean canBubble, 
&gt; +                                    in boolean cancelable, 
&gt; +                                    in DOMWindow view, 
&gt; +                                    in long detail);
&gt; +
&gt; +    };

Perhaps this should be prefixed with webkit, until there is more support for this standard.

&gt; WebCore/dom/EventNames.h:176
&gt; +    macro(undorequest) \
&gt; +    macro(redorequest) \
&gt; +    macro(escaperequest) \
&gt; +    macro(deleterequest)

Again, these should probably be prefixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>292504</commentid>
    <comment_count>6</comment_count>
    <who name="Olli Pettay (:smaug)">bugs</who>
    <bug_when>2010-10-11 09:16:03 -0700</bug_when>
    <thetext>If you had support for non-standard events, they should be prefixed.
(In this case with &apos;webkit&apos;).

http://lists.w3.org/Archives/Public/wai-xtech/2010Aug/att-0079/UserInterfaceIndependence.html
is not in any kind of standard yet, just a proposal which will change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>292575</commentid>
    <comment_count>7</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2010-10-11 11:24:12 -0700</bug_when>
    <thetext>&gt; My major issues with this patch are (and maybe I am still missing the point):
&gt; - The events never seem to be fired.

These are meant to be dispatched from the accessibility interface through

 522     // UIRequestEvent support
 523     enum UIRequestEventType { UNDO = 1, REDO = 2, ESCAPE = 3, DELETE = 4 };
 524     void dispatchUIRequestEvent(UIRequestEventType);

However, the first client that can do this is iOS accessibility client. We are still battling mac-platform API discussions..

 
&gt; &gt; WebCore/accessibility/UIRequestEvent.idl:38
&gt; &gt; +    interface UIRequestEvent : UIEvent {
&gt; &gt; +        
&gt; &gt; +        void initUIRequestEvent(in DOMString type, 
&gt; &gt; +                                    in boolean canBubble, 
&gt; &gt; +                                    in boolean cancelable, 
&gt; &gt; +                                    in DOMWindow view, 
&gt; &gt; +                                    in long detail);
&gt; &gt; +
&gt; &gt; +    };
&gt; 
&gt; Perhaps this should be prefixed with webkit, until there is more support for this standard.

do you mean -webkit-UIRequestEvent
or just -webkit-initUIRequestEvent for the constructor?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>292621</commentid>
    <comment_count>8</comment_count>
    <who name="James Craig">jcraig</who>
    <bug_when>2010-10-11 13:07:55 -0700</bug_when>
    <thetext>The main difference seems to be that our Undo and Redo *request* allows the web application to determine what (if anything) should be undone, or redone, where the HTML5 event manager requires that the user agent make the change directly to the DOM or editable content. The UIRequestEvent interface allows the app to determine the outcome of the events based on the business logic of the app, which the browser does not know about.

The reason these are all called &apos;request&apos; events is because they don&apos;t change anything. They only send a &apos;request&apos; to the web application (not to the user agent) to make a change on the user&apos;s behalf. The web application can then intercept or ignore the event as needed. If ignored (if the web app hasn&apos;t registered that event listener, or if the event is not canceled with preventDefault) then the user agent or assistive technology can fall back to whatever behavior is deemed appropriate, including then using the HTML5 undo manager.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>292624</commentid>
    <comment_count>9</comment_count>
    <who name="James Craig">jcraig</who>
    <bug_when>2010-10-11 13:15:42 -0700</bug_when>
    <thetext>I believe Ben is talking about adding the webkit prefix everywhere.

&gt; WebkitUIRequestEvent
&gt; initWebkitUIRequestEvent

as well as the client-side JS event listeners:

&gt; webkitundorequest
&gt; webkitredorequest
&gt; webkitescaperequest
&gt; webkitdeleterequest</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>299676</commentid>
    <comment_count>10</comment_count>
      <attachid>71922</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2010-10-26 12:00:56 -0700</bug_when>
    <thetext>Created attachment 71922
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>299677</commentid>
    <comment_count>11</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2010-10-26 12:01:39 -0700</bug_when>
    <thetext>new patch added where everything is prefixed with webkit
added a new unit test that tests dispatching the events in the same manner than an AX client will dispatch them</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>299882</commentid>
    <comment_count>12</comment_count>
      <attachid>71922</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2010-10-26 16:30:39 -0700</bug_when>
    <thetext>Comment on attachment 71922
Patch

I had made a proposal a few months ago that we add a property to the &quot;input&quot; event that specifies the user-action that caused the event (e.g. action=&quot;undo&quot;). I also proposed that we add a corresponding &quot;beforeInput&quot; event. This seems to completely overlap with UIRequestEvent. Given that we already fire the input event, what is the advantage of adding all these new events over just adding a property to the existing one? Tony asked the same question on webkit-dev, but never got a response: https://lists.webkit.org/pipermail/webkit-dev/2010-September/014258.html.

Also on that thread, Adam asked if they need to be synchronous. The answer seemed to be no, but these look synchronous to me. Another advantage of building on top of the input event is that it already has to deal with all the complexity of being a synchronous event.

Since these are high-level design discussions, it&apos;s probably best to continue the discussion on webkit-dev rather than this bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>299930</commentid>
    <comment_count>13</comment_count>
    <who name="James Craig">jcraig</who>
    <bug_when>2010-10-26 18:47:31 -0700</bug_when>
    <thetext>Continued discussion is happening on the respective W3C lists, www-dom, wai-xtech, and pfwg. Current agreement between the DOM and PF groups is that this will become a standalone spec developed as a joint effort between the two working groups.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>300613</commentid>
    <comment_count>14</comment_count>
    <who name="James Craig">jcraig</who>
    <bug_when>2010-10-27 15:02:36 -0700</bug_when>
    <thetext>And I responded to Tony&apos;s email on webkit-dev. Thanks for the reminder. I overlooked it previously.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>300623</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-10-27 15:09:34 -0700</bug_when>
    <thetext>Attachment 71922 did not build on gtk:
Build output: http://queues.webkit.org/results/4759051</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>303490</commentid>
    <comment_count>16</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2010-11-02 11:06:45 -0700</bug_when>
    <thetext>Subsequent discussion on webkit-dev did not yield any further comments from anyone. re-asking for review</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>303574</commentid>
    <comment_count>17</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2010-11-02 12:48:37 -0700</bug_when>
    <thetext>(In reply to comment #16)
&gt; Subsequent discussion on webkit-dev did not yield any further comments from anyone. re-asking for review

Sorry for the delay. I&apos;ve chimed in again on the webkit-dev thread.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>303588</commentid>
    <comment_count>18</comment_count>
      <attachid>72719</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2010-11-02 12:56:53 -0700</bug_when>
    <thetext>Created attachment 72719
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>303619</commentid>
    <comment_count>19</comment_count>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2010-11-02 13:39:43 -0700</bug_when>
    <thetext>Attachment 72719 did not build on qt:
Build output: http://queues.webkit.org/results/4962013</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>303687</commentid>
    <comment_count>20</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-11-02 14:46:48 -0700</bug_when>
    <thetext>Attachment 72719 did not build on mac:
Build output: http://queues.webkit.org/results/4929028</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>303693</commentid>
    <comment_count>21</comment_count>
      <attachid>72742</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2010-11-02 14:50:23 -0700</bug_when>
    <thetext>Created attachment 72742
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>303694</commentid>
    <comment_count>22</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-11-02 14:52:08 -0700</bug_when>
    <thetext>Attachment 72719 did not build on mac:
Build output: http://queues.webkit.org/results/4904015</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>305609</commentid>
    <comment_count>23</comment_count>
      <attachid>73133</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2010-11-05 16:07:45 -0700</bug_when>
    <thetext>Created attachment 73133
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>392887</commentid>
    <comment_count>24</comment_count>
      <attachid>73133</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-04-26 15:55:14 -0700</bug_when>
    <thetext>Comment on attachment 73133
Patch

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

This proposal doesn&apos;t seem to have gotten a lot of traction.  Please feel free to renominate this patch if you&apos;re still interested in experimenting with this feature.  At a minimum, we&apos;d want and an ENABLE macro to be able to disable this feature in some configurations.

&gt; WebCore/ChangeLog:9
&gt; +       &quot;User Interface Independence for Accessible Rich Internet Applications&quot;

Bad indent</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>393542</commentid>
    <comment_count>25</comment_count>
    <who name="James Craig">jcraig</who>
    <bug_when>2011-04-27 07:45:42 -0700</bug_when>
    <thetext>Actually, the proposal has had a significant amount of traction. It&apos;s to be released as a joint spec from the DOM and PF working groups. I&apos;m currently editing the internal working draft.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>942901</commentid>
    <comment_count>26</comment_count>
    <who name="James Craig">jcraig</who>
    <bug_when>2013-10-23 16:44:32 -0700</bug_when>
    <thetext>&lt;rdar://problem/8230094&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>69999</attachid>
            <date>2010-10-06 15:20:34 -0700</date>
            <delta_ts>2010-10-06 16:45:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-47301-20101006152032.patch</filename>
            <type>text/plain</type>
            <size>48941</size>
            <attacher name="chris fleizach">cfleizach</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2OTIzOSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNjAgQEAKKzIwMTAtMTAtMDYgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNoQGFw
cGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBBWDogU3VwcG9ydCBVSVJlcXVlc3RFdmVudHMgZnJvbSBuZXcgVzNDIFByb3Bvc2FsCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NzMwMQorCisgICAg
ICAgIFN1cHBvcnQgdGhlIG5ldyBVSVJlcXVlc3RFdmVudCBhcyBvdXRsaW5lIGluCisgICAgICAg
ICJVc2VyIEludGVyZmFjZSBJbmRlcGVuZGVuY2UgZm9yIEFjY2Vzc2libGUgUmljaCBJbnRlcm5l
dCBBcHBsaWNhdGlvbnMiCisgICAgICAgIGh0dHA6Ly9saXN0cy53My5vcmcvQXJjaGl2ZXMvUHVi
bGljL3dhaS14dGVjaC8yMDEwQXVnL2F0dC0wMDc5L1VzZXJJbnRlcmZhY2VJbmRlcGVuZGVuY2Uu
aHRtbAorCisgICAgICAgIEl0IGFkZHMgYSBuZXcgZXZlbnQgdGhhdCBjYW4gYmUgbGlzdGVuZWQg
dG8gYW5kIHNlbnQgdGhhdCBkZWNvdXBsZXMgYWN0aW9ucyBmcm9tIGEgc3BlY2lmaWMKKyAgICAg
ICAgdHlwZSBvZiBpbnB1dCwgYWxsb3dpbmcgYW4gYXNzaXN0aXZlIHRlY2hub2xvZ3kgdG8gc2Vu
ZCBhbiAiZXNjYXBlLCB1bmRvLCByZWRvLCBvciBkZWxldGUiIGFjdGlvbgorICAgICAgICB3aGVu
ZXZlciBpdCBuZWVkcyB0byBiYXNlZCBvbiBpdHMgb3duIGlucHV0LiAgICAgICAgCisKKyAgICAg
ICAgVGVzdDogYWNjZXNzaWJpbGl0eS91aXJlcXVlc3QtZXZlbnRzLmh0bWwKKworICAgICAgICAq
IEFuZHJvaWQuZGVyaXZlZC52OGJpbmRpbmdzLm1rOgorICAgICAgICAqIEFuZHJvaWQuanNjYmlu
ZGluZ3MubWs6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMuY3BwOgorICAgICAgICAqIERlcml2
ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogR05VbWFrZWZpbGUuYW06CisgICAgICAgICogV2Vi
Q29yZS5leHAuaW46CisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIFdlYkNvcmUu
cHJpOgorICAgICAgICAqIFdlYkNvcmUucHJvOgorICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dl
YkNvcmUudmNwcm9qOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ajoKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdDo6ZGlzcGF0Y2hVSVJlcXVlc3RFdmVu
dCk6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0Lmg6CisgICAg
ICAgICogYWNjZXNzaWJpbGl0eS9VSVJlcXVlc3RFdmVudC5jcHA6IEFkZGVkLgorICAgICAgICAo
V2ViQ29yZTo6VUlSZXF1ZXN0RXZlbnQ6OlVJUmVxdWVzdEV2ZW50KToKKyAgICAgICAgKFdlYkNv
cmU6OlVJUmVxdWVzdEV2ZW50Ojppbml0VUlSZXF1ZXN0RXZlbnQpOgorICAgICAgICAqIGFjY2Vz
c2liaWxpdHkvVUlSZXF1ZXN0RXZlbnQuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpVSVJl
cXVlc3RFdmVudDo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlVJUmVxdWVzdEV2ZW50Ojpp
c1VJUmVxdWVzdEV2ZW50KToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L1VJUmVxdWVzdEV2ZW50
LmlkbDogQWRkZWQuCisgICAgICAgICogYmluZGluZ3MvZ29iamVjdC9HTlVtYWtlZmlsZS5hbToK
KyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0V2ZW50Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OnRvSlMpOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpEb2N1bWVudDo6Y3JlYXRlRXZlbnQpOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5oOgorICAg
ICAgICAqIGRvbS9Eb2N1bWVudC5pZGw6CisgICAgICAgICogZG9tL0VsZW1lbnQuaDoKKyAgICAg
ICAgKiBkb20vRWxlbWVudC5pZGw6CisgICAgICAgICogZG9tL0V2ZW50LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkV2ZW50Ojppc1VJUmVxdWVzdEV2ZW50KToKKyAgICAgICAgKiBkb20vRXZlbnQu
aDoKKyAgICAgICAgKiBkb20vRXZlbnROYW1lcy5oOgorICAgICAgICAqIGh0bWwvSFRNTEF0dHJp
YnV0ZU5hbWVzLmluOgorICAgICAgICAqIGh0bWwvSFRNTEVsZW1lbnQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6SFRNTEVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKToKKyAgICAgICAgKiBw
YWdlL0RPTVdpbmRvdy5oOgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmlkbDoKKwogMjAxMC0x
MC0wNiAgRGF2aWQgSHlhdHQgIDxoeWF0dEBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQg
YnkgRGFuIEJlcm5zdGVpbi4KSW5kZXg6IFdlYkNvcmUvQW5kcm9pZC5kZXJpdmVkLnY4YmluZGlu
Z3MubWsKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9BbmRyb2lkLmRlcml2ZWQudjhiaW5kaW5ncy5t
awkocmV2aXNpb24gNjkyMzkpCisrKyBXZWJDb3JlL0FuZHJvaWQuZGVyaXZlZC52OGJpbmRpbmdz
Lm1rCSh3b3JraW5nIGNvcHkpCkBAIC0yNjQsNiArMjY0LDIwIEBAIExPQ0FMX0dFTkVSQVRFRF9T
T1VSQ0VTICs9ICQoR0VOKQogIyBhYm92ZSBydWxlcy4gIFNwZWNpZnlpbmcgdGhpcyBleHBsaWNp
dGx5IG1ha2VzIC1qMiB3b3JrLgogJChwYXRzdWJzdCAlLmgsJS5jcHAsJChHRU4pKTogJChpbnRl
cm1lZGlhdGVzKS9iaW5kaW5ncy8lLmNwcCA6ICQoaW50ZXJtZWRpYXRlcykvYmluZGluZ3MvJS5o
CiAKKyMgQWNjZXNzaWJpbGl0eQorR0VOIDo9IFwKKyAgICAkKGludGVybWVkaWF0ZXMpL2JpbmRp
bmdzL1Y4VUlSZXF1ZXN0RXZlbnQuaAorIAorJChHRU4pOiBQUklWQVRFX1BBVEggOj0gJChMT0NB
TF9QQVRIKQorJChHRU4pOiBQUklWQVRFX0NVU1RPTV9UT09MID0gU09VUkNFX1JPT1Q9JChQUklW
QVRFX1BBVEgpIHBlcmwgLUkkKFBSSVZBVEVfUEFUSCkvYmluZGluZ3Mvc2NyaXB0cyAkKFBSSVZB
VEVfUEFUSCkvYmluZGluZ3Mvc2NyaXB0cy9nZW5lcmF0ZS1iaW5kaW5ncy5wbCAtLWRlZmluZXMg
IiQoRkVBVFVSRV9ERUZJTkVTKSBMQU5HVUFHRV9KQVZBU0NSSVBUIiAtLWdlbmVyYXRvciBWOCAt
LWluY2x1ZGUgZG9tIC0taW5jbHVkZSBodG1sIC0tb3V0cHV0ZGlyICQoZGlyICRAKSAkPAorJChH
RU4pOiAkKGludGVybWVkaWF0ZXMpL2JpbmRpbmdzL1Y4JS5oIDogJChMT0NBTF9QQVRIKS9hY2Nl
c3NpYmlsaXR5LyUuaWRsICQoanNfYmluZGluZ19zY3JpcHRzKQorCSQodHJhbnNmb3JtLWdlbmVy
YXRlZC1zb3VyY2UpCitMT0NBTF9HRU5FUkFURURfU09VUkNFUyArPSAkKEdFTikKKworIyBXZSBh
bHNvIG5lZWQgdGhlIC5jcHAgZmlsZXMsIHdoaWNoIGFyZSBnZW5lcmF0ZWQgYXMgc2lkZSBlZmZl
Y3RzIG9mIHRoZQorIyBhYm92ZSBydWxlcy4gIFNwZWNpZnlpbmcgdGhpcyBleHBsaWNpdGx5IG1h
a2VzIC1qMiB3b3JrLgorJChwYXRzdWJzdCAlLmgsJS5jcHAsJChHRU4pKTogJChpbnRlcm1lZGlh
dGVzKS9iaW5kaW5ncy8lLmNwcCA6ICQoaW50ZXJtZWRpYXRlcykvYmluZGluZ3MvJS5oCisKICMg
UGFnZQogR0VOIDo9IFwKICAgICAkKGludGVybWVkaWF0ZXMpL2JpbmRpbmdzL1Y4QmFySW5mby5o
IFwKSW5kZXg6IFdlYkNvcmUvQW5kcm9pZC5qc2NiaW5kaW5ncy5tawo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL0FuZHJvaWQuanNjYmluZGluZ3MubWsJKHJldmlzaW9uIDY5MjM5KQorKysgV2ViQ29y
ZS9BbmRyb2lkLmpzY2JpbmRpbmdzLm1rCSh3b3JraW5nIGNvcHkpCkBAIC00NSw2ICs0NSw3IEBA
IEJJTkRJTkdfQ19JTkNMVURFUyA6PSBcCiAJJChKQVZBU0NSSVBUQ09SRV9QQVRIKS93cmVjIFwK
IAkkKEpBVkFTQ1JJUFRDT1JFX1BBVEgpL0ZvcndhcmRpbmdIZWFkZXJzIFwKIAlcCisJJChiYXNl
X2ludGVybWVkaWF0ZXMpL1dlYkNvcmUvYWNjZXNzaWJpbGl0eSBcCiAJJChiYXNlX2ludGVybWVk
aWF0ZXMpL1dlYkNvcmUvYmluZGluZ3MvanMgXAogCSQoYmFzZV9pbnRlcm1lZGlhdGVzKS9XZWJD
b3JlL2RvbSBcCiAJJChiYXNlX2ludGVybWVkaWF0ZXMpL1dlYkNvcmUvaHRtbC9jYW52YXMgXApJ
bmRleDogV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy5jcHAJKHJldmlzaW9uIDY5MjM5KQorKysgV2ViQ29yZS9EZXJpdmVkU291
cmNlcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQxOCw2ICs0MTgsNyBAQAogI2luY2x1ZGUgIkpT
VG91Y2hMaXN0LmNwcCIKICNpbmNsdWRlICJKU1RyZWVXYWxrZXIuY3BwIgogI2luY2x1ZGUgIkpT
VUlFdmVudC5jcHAiCisjaW5jbHVkZSAiSlNVSVJlcXVlc3RFdmVudC5jcHAiCiAjaW5jbHVkZSAi
SlNWYWxpZGl0eVN0YXRlLmNwcCIKICNpbmNsdWRlICJKU1dlYktpdEFuaW1hdGlvbkV2ZW50LmNw
cCIKICNpbmNsdWRlICJKU1dlYktpdENTU0tleWZyYW1lUnVsZS5jcHAiCkluZGV4OiBXZWJDb3Jl
L0Rlcml2ZWRTb3VyY2VzLm1ha2UKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9EZXJpdmVkU291cmNl
cy5tYWtlCShyZXZpc2lvbiA2OTIzOSkKKysrIFdlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQko
d29ya2luZyBjb3B5KQpAQCAtMjgsNiArMjgsNyBAQAogCiBWUEFUSCA9IFwKICAgICAkKFdlYkNv
cmUpIFwKKyAgICAkKFdlYkNvcmUpL2FjY2Vzc2liaWxpdHkgXAogICAgICQoV2ViQ29yZSkvYmlu
ZGluZ3MvZ2VuZXJpYyBcCiAgICAgJChXZWJDb3JlKS9iaW5kaW5ncy9qcyBcCiAgICAgJChXZWJD
b3JlKS9iaW5kaW5ncy9vYmpjIFwKQEAgLTQ3NCw2ICs0NzUsNyBAQCBET01fQ0xBU1NFUyA9IFwK
ICAgICBUb3VjaExpc3QgXAogICAgIFRyZWVXYWxrZXIgXAogICAgIFVJRXZlbnQgXAorICAgIFVJ
UmVxdWVzdEV2ZW50IFwKICAgICBWYWxpZGl0eVN0YXRlIFwKICAgICBXZWJLaXRBbmltYXRpb25F
dmVudCBcCiAgICAgV2ViS2l0Q1NTS2V5ZnJhbWVSdWxlIFwKSW5kZXg6IFdlYkNvcmUvR05VbWFr
ZWZpbGUuYW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQkocmV2aXNpb24g
NjkyMzkpCisrKyBXZWJDb3JlL0dOVW1ha2VmaWxlLmFtCSh3b3JraW5nIGNvcHkpCkBAIC01MTQs
NiArNTE0LDggQEAgd2ViY29yZV9idWlsdF9zb3VyY2VzICs9IFwKIAlEZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTVHJlZVdhbGtlci5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTVUlFdmVu
dC5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNVSUV2ZW50LmggXAorCURlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNVSVJlcXVlc3RFdmVudC5jcHAgXAorCURlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNVSVJlcXVlc3RFdmVudC5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTVWlu
dDE2QXJyYXkuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTVWludDE2QXJyYXkuaCBc
CiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1VpbnQzMkFycmF5LmNwcCBcCkBAIC02MjEsNiAr
NjIzLDggQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlXZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNj
ZXNzaWJpbGl0eVRhYmxlUm93LmggXAogCVdlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENh
Y2hlLmNwcCBcCiAJV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaCBcCisJV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L1VJUmVxdWVzdEV2ZW50LmNwcCBcCisJV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L1VJUmVxdWVzdEV2ZW50LmggXAogCVdlYkNvcmUvYmluZGluZ3MvZ2VuZXJpYy9BY3Rp
dmVET01DYWxsYmFjay5jcHAgXAogCVdlYkNvcmUvYmluZGluZ3MvZ2VuZXJpYy9BY3RpdmVET01D
YWxsYmFjay5oIFwKIAlXZWJDb3JlL2JpbmRpbmdzL2dlbmVyaWMvQmluZGluZ0ZyYW1lLmggXApA
QCAtNDUxMSw2ICs0NTE1LDcgQEAgRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbnNwZWN0b3JGcm9u
dGVuZAogCSQoQU1fVl9HRU4pJChQRVJMKSAtSSQoV2ViQ29yZSkvYmluZGluZ3Mvc2NyaXB0cyAt
SSQoV2ViQ29yZSkvaW5zcGVjdG9yICQoV2ViQ29yZSkvYmluZGluZ3Mvc2NyaXB0cy9nZW5lcmF0
ZS1iaW5kaW5ncy5wbCAkKElETF9QQVRIOiU9LS1pbmNsdWRlICIlIikgLS1vdXRwdXREaXIgIiQo
R0VOU09VUkNFU19XRUJDT1JFKSIgLS1kZWZpbmVzICJMQU5HVUFHRV9KQVZBU0NSSVBUPTEgJChG
RUFUVVJFX0RFRklORVMpIiAtLWdlbmVyYXRvciBJbnNwZWN0b3IgJDwKIAogSURMX1BBVEggOj0g
XAorICAgICQoV2ViQ29yZSkvYWNjZXNzaWJpbGl0eSBcCiAgICAgJChXZWJDb3JlKS9iaW5kaW5n
cy9qcyBcCiAgICAgJChXZWJDb3JlKS9jc3MgXAogICAgICQoV2ViQ29yZSkvZG9tIFwKSW5kZXg6
IFdlYkNvcmUvV2ViQ29yZS5leHAuaW4KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9XZWJDb3JlLmV4
cC5pbgkocmV2aXNpb24gNjkyMzkpCisrKyBXZWJDb3JlL1dlYkNvcmUuZXhwLmluCSh3b3JraW5n
IGNvcHkpCkBAIC0xMDQsNiArMTA0LDcgQEAKIC5vYmpjX2NsYXNzX25hbWVfRE9NVGV4dEV2ZW50
CiAub2JqY19jbGFzc19uYW1lX0RPTVRyZWVXYWxrZXIKIC5vYmpjX2NsYXNzX25hbWVfRE9NVUlF
dmVudAorLm9iamNfY2xhc3NfbmFtZV9ET01VSVJlcXVlc3RFdmVudAogLm9iamNfY2xhc3NfbmFt
ZV9ET01XaGVlbEV2ZW50CiAub2JqY19jbGFzc19uYW1lX1dlYkNvcmVLZXlHZW5lcmF0b3IKIC5v
YmpjX2NsYXNzX25hbWVfV2ViQ29yZVZpZXdGYWN0b3J5CkluZGV4OiBXZWJDb3JlL1dlYkNvcmUu
Z3lwaQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL1dlYkNvcmUuZ3lwaQkocmV2aXNpb24gNjkyMzkp
CisrKyBXZWJDb3JlL1dlYkNvcmUuZ3lwaQkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDcgQEAK
IHsKICAgICAndmFyaWFibGVzJzogewogICAgICAgICAnd2ViY29yZV9iaW5kaW5nc19pZGxfZmls
ZXMnOiBbCisgICAgICAgICAgICAnYWNjZXNzaWJpbGl0eS9VSVJlcXVlc3RFdmVudC5pZGwnLAog
ICAgICAgICAgICAgJ2Nzcy9DU1NDaGFyc2V0UnVsZS5pZGwnLAogICAgICAgICAgICAgJ2Nzcy9D
U1NGb250RmFjZVJ1bGUuaWRsJywKICAgICAgICAgICAgICdjc3MvQ1NTSW1wb3J0UnVsZS5pZGwn
LApAQCAtNTAzLDYgKzUwNCw4IEBACiAgICAgICAgICAgICAnYWNjZXNzaWJpbGl0eS9BY2Nlc3Np
YmlsaXR5VGFibGVIZWFkZXJDb250YWluZXIuaCcsCiAgICAgICAgICAgICAnYWNjZXNzaWJpbGl0
eS9BY2Nlc3NpYmlsaXR5VGFibGVSb3cuY3BwJywKICAgICAgICAgICAgICdhY2Nlc3NpYmlsaXR5
L0FjY2Vzc2liaWxpdHlUYWJsZVJvdy5oJywKKyAgICAgICAgICAgICdhY2Nlc3NpYmlsaXR5L1VJ
UmVxdWVzdEV2ZW50LmNwcCcsCisgICAgICAgICAgICAnYWNjZXNzaWJpbGl0eS9VSVJlcXVlc3RF
dmVudC5oJywKICAgICAgICAgICAgICdhY2Nlc3NpYmlsaXR5L2Nocm9taXVtL0FYT2JqZWN0Q2Fj
aGVDaHJvbWl1bS5jcHAnLAogICAgICAgICAgICAgJ2FjY2Vzc2liaWxpdHkvY2hyb21pdW0vQWNj
ZXNzaWJpbGl0eU9iamVjdENocm9taXVtLmNwcCcsCiAgICAgICAgICAgICAnYWNjZXNzaWJpbGl0
eS9jaHJvbWl1bS9BY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlci5oJywKSW5kZXg6IFdlYkNvcmUv
V2ViQ29yZS5wcmkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9XZWJDb3JlLnByaQkocmV2aXNpb24g
NjkyMzkpCisrKyBXZWJDb3JlL1dlYkNvcmUucHJpCSh3b3JraW5nIGNvcHkpCkBAIC02OSw2ICs2
OSw3IEBAIHY4IHsKIH0KIAogSURMX0JJTkRJTkdTICs9IFwKKyAgICBjc3MvVUlSZXF1ZXN0RXZl
bnQuaWRsIFwKICAgICBjc3MvQ291bnRlci5pZGwgXAogICAgIGNzcy9DU1NDaGFyc2V0UnVsZS5p
ZGwgXAogICAgIGNzcy9DU1NGb250RmFjZVJ1bGUuaWRsIFwKSW5kZXg6IFdlYkNvcmUvV2ViQ29y
ZS5wcm8KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9XZWJDb3JlLnBybwkocmV2aXNpb24gNjkyMzkp
CisrKyBXZWJDb3JlL1dlYkNvcmUucHJvCSh3b3JraW5nIGNvcHkpCkBAIC0zMTgsNiArMzE4LDcg
QEAgU09VUkNFUyArPSBcCiAgICAgYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5VGFibGVIZWFk
ZXJDb250YWluZXIuY3BwIFwgICAgCiAgICAgYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5VGFi
bGVSb3cuY3BwIFwgICAgCiAgICAgYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcCBcCisg
ICAgYWNjZXNzaWJpbGl0eS9VSVJlcXVlc3RFdmVudC5jcHAgXAogICAgIGJpbmRpbmdzL2dlbmVy
aWMvQWN0aXZlRE9NQ2FsbGJhY2suY3BwCiAKIHY4IHsKSW5kZXg6IFdlYkNvcmUvV2ViQ29yZS52
Y3Byb2ovV2ViQ29yZS52Y3Byb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9XZWJDb3JlLnZjcHJv
ai9XZWJDb3JlLnZjcHJvagkocmV2aXNpb24gNjkyMzkpCisrKyBXZWJDb3JlL1dlYkNvcmUudmNw
cm9qL1dlYkNvcmUudmNwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0yMDI3NSw2ICsyMDI3NSw2MiBA
QAogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIkKFdl
YktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTVUlSZXF1
ZXN0RXZlbnQuY3BwIg0KKwkJCQk+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFt
ZT0iRGVidWd8V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4N
CisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQor
CQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJ
TmFtZT0iUmVsZWFzZXxXaW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJ
CQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJ
Lz4NCisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJPEZpbGVDb25maWd1cmF0aW9uDQor
CQkJCQlOYW1lPSJEZWJ1Z19JbnRlcm5hbHxXaW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxk
PSJ0cnVlIg0KKwkJCQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJU
b29sIg0KKwkJCQkJLz4NCisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJPEZpbGVDb25m
aWd1cmF0aW9uDQorCQkJCQlOYW1lPSJEZWJ1Z19DYWlyb3xXaW4zMiINCisJCQkJCUV4Y2x1ZGVk
RnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NM
Q29tcGlsZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJ
PEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQlOYW1lPSJSZWxlYXNlX0NhaXJvfFdpbjMyIg0KKwkJ
CQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQk+DQorCQkJCQk8VG9vbA0KKwkJCQkJ
CU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkvPg0KKwkJCQk8L0ZpbGVDb25maWd1cmF0
aW9uPg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9IkRlYnVnX0FsbHxXaW4z
MiINCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJCQkJPFRvb2wN
CisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJPC9GaWxlQ29u
ZmlndXJhdGlvbj4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIk
KFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTVUlS
ZXF1ZXN0RXZlbnQuaCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KIAkJCQlSZWxh
dGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNv
dXJjZXNcSlNWYWxpZGl0eVN0YXRlLmNwcCINCiAJCQkJPg0KIAkJCQk8RmlsZUNvbmZpZ3VyYXRp
b24NCkBAIC0yMzAxNCw2ICsyMzA3MCw2MiBAQAogCQkJCVJlbGF0aXZlUGF0aD0iLi5cYWNjZXNz
aWJpbGl0eVxBWE9iamVjdENhY2hlLmgiDQogCQkJCT4NCiAJCQk8L0ZpbGU+DQorCQkJPEZpbGUN
CisJCQkJUmVsYXRpdmVQYXRoPSIuLlxhY2Nlc3NpYmlsaXR5XFVJUmVxdWVzdEV2ZW50LmNwcCIN
CisJCQkJPg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9IkRlYnVnfFdpbjMy
Ig0KKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQk+DQorCQkJCQk8VG9vbA0K
KwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkvPg0KKwkJCQk8L0ZpbGVDb25m
aWd1cmF0aW9uPg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9IlJlbGVhc2V8
V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxU
b29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmls
ZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0iRGVi
dWdfSW50ZXJuYWx8V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJ
CT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+
DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJ
CQkJTmFtZT0iRGVidWdfQ2Fpcm98V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1
ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIN
CisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxGaWxlQ29uZmlndXJh
dGlvbg0KKwkJCQkJTmFtZT0iUmVsZWFzZV9DYWlyb3xXaW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJv
bUJ1aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29t
cGlsZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJPEZp
bGVDb25maWd1cmF0aW9uDQorCQkJCQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIiDQorCQkJCQlFeGNs
dWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0i
VkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQor
CQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cYWNjZXNzaWJpbGl0
eVxVSVJlcXVlc3RFdmVudC5oIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KIAkJCTxGaWx0ZXINCiAJ
CQkJTmFtZT0id2luIg0KIAkJCQk+DQpJbmRleDogV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDY5MjM5KQorKysgV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTY5Nyw2ICs2OTcsMTAgQEAK
IAkJMjlBODEyNDkwRkJCOUNBOTAwNTEwMjkzIC8qIEFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVy
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyOUE4MTI0
NTBGQkI5Q0E5MDA1MTAyOTMgLyogQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIuaCAqLzsgfTsK
IAkJMjlBODEyNEEwRkJCOUNBOTAwNTEwMjkzIC8qIEFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVy
Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjlBODEy
NDYwRkJCOUNBOTAwNTEwMjkzIC8qIEFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyLm1tICovOyB9
OwogCQkyOUE4MTI0QjBGQkI5Q0E5MDA1MTAyOTMgLyogQVhPYmplY3RDYWNoZU1hYy5tbSBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI5QTgxMjQ3MEZCQjlD
QTkwMDUxMDI5MyAvKiBBWE9iamVjdENhY2hlTWFjLm1tICovOyB9OworCQkyOUREMjExMTEyNUJD
NzFGMDAxNjNDMEMgLyogVUlSZXF1ZXN0RXZlbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI5REQyMTBGMTI1QkM3MUYwMDE2M0MwQyAvKiBVSVJlcXVl
c3RFdmVudC5oICovOyB9OworCQkyOUREMjExMjEyNUJDNzFGMDAxNjNDMEMgLyogVUlSZXF1ZXN0
RXZlbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MjlERDIxMTAxMjVCQzcxRjAwMTYzQzBDIC8qIFVJUmVxdWVzdEV2ZW50LmNwcCAqLzsgfTsKKwkJ
MjlERDIyOUMxMjVDMDIwQTAwMTYzQzBDIC8qIEpTVUlSZXF1ZXN0RXZlbnQuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTg2NjI5REEwOURBMkI0NzAw
OTYzM0E1IC8qIEpTVUlSZXF1ZXN0RXZlbnQuY3BwICovOyB9OworCQkyOUREMjI5RDEyNUMwMjBF
MDAxNjNDMEMgLyogSlNVSVJlcXVlc3RFdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQTg2NjI5RDkwOURBMkI0NzAwOTYzM0E1IC8qIEpTVUlSZXF1
ZXN0RXZlbnQuaCAqLzsgfTsKIAkJMkQ5MDY2MDYwQkUxNDFENDAwOTU2OTk4IC8qIExheW91dFN0
YXRlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJE
OTA2NjA0MEJFMTQxRDQwMDk1Njk5OCAvKiBMYXlvdXRTdGF0ZS5jcHAgKi87IH07CiAJCTJEOTA2
NjA3MEJFMTQxRDQwMDk1Njk5OCAvKiBMYXlvdXRTdGF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ5MDY2MDUwQkUxNDFENDAwOTU2OTk4IC8qIExh
eW91dFN0YXRlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKIAkJMkUwODg4RDQxMTQ4ODQ4QTAwQUY0MjY1IC8qIEpTRE9NRm9ybURhdGEuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkUwODg4RDIxMTQ4ODQ4
QTAwQUY0MjY1IC8qIEpTRE9NRm9ybURhdGEuY3BwICovOyB9OwpAQCAtNjcwMiw2ICs2NzA2LDkg
QEAKIAkJMjlBODEyNDUwRkJCOUNBOTAwNTEwMjkzIC8qIEFjY2Vzc2liaWxpdHlPYmplY3RXcmFw
cGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFjY2Vzc2liaWxpdHlPYmpl
Y3RXcmFwcGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTI5QTgxMjQ2MEZCQjlD
QTkwMDUxMDI5MyAvKiBBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlci5tbSAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyLm1t
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyOUE4MTI0NzBGQkI5Q0E5MDA1MTAyOTMg
LyogQVhPYmplY3RDYWNoZU1hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsg
cGF0aCA9IEFYT2JqZWN0Q2FjaGVNYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTI5REQyMTBGMTI1QkM3MUYwMDE2M0MwQyAvKiBVSVJlcXVlc3RFdmVudC5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBVSVJlcXVlc3RFdmVudC5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQkyOUREMjExMDEyNUJDNzFGMDAxNjNDMEMgLyogVUlSZXF1ZXN0RXZlbnQu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gVUlSZXF1ZXN0RXZlbnQu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyOUREMjExMzEyNUJDNzNFMDAxNjND
MEMgLyogVUlSZXF1ZXN0RXZlbnQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFVJUmVxdWVz
dEV2ZW50LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkQ5MDY2MDQwQkUxNDFE
NDAwOTU2OTk4IC8qIExheW91dFN0YXRlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBMYXlvdXRTdGF0ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTJEOTA2NjA1MEJFMTQxRDQwMDk1Njk5OCAvKiBMYXlvdXRTdGF0ZS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gTGF5b3V0U3RhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJMkQ5MDY2MEIwNjY1RDkzNzAwNkI2RjFBIC8qIENsaXBib2FyZE1hYy5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBpbmRlbnRXaWR0aCA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDbGlwYm9hcmRN
YWMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB1c2VzVGFicyA9IDA7
IH07CkBAIC05MjU0LDYgKzkyNjEsOCBAQAogCQlBODY2MjlDQzA5REEyQjQ3MDA5NjMzQTUgLyog
SlNNb3VzZUV2ZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBK
U01vdXNlRXZlbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBODY2MjlDRDA5
REEyQjQ3MDA5NjMzQTUgLyogSlNLZXlib2FyZEV2ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBKU0tleWJvYXJkRXZlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJQTg2NjI5Q0UwOURBMkI0NzAwOTYzM0E1IC8qIEpTS2V5Ym9hcmRFdmVudC5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNLZXlib2FyZEV2ZW50LmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTg2NjI5RDkwOURBMkI0NzAwOTYzM0E1IC8q
IEpTVUlSZXF1ZXN0RXZlbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpT
VUlSZXF1ZXN0RXZlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTg2NjI5REEw
OURBMkI0NzAwOTYzM0E1IC8qIEpTVUlSZXF1ZXN0RXZlbnQuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTVUlSZXF1ZXN0RXZlbnQuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlBODcxRDQ0QzBBMTI3Q0JDMDBCMTJBNjggLyogSFRNTFBsdWdJbkVs
ZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEhUTUxQbHVnSW5FbGVt
ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE4NzFENDREMEExMjdDQkMwMEIx
MkE2OCAvKiBIVE1MUGx1Z0luRWxlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gSFRNTFBsdWdJbkVsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlBODcxRDQ0RTBBMTI3Q0JDMDBCMTJBNjggLyogSFRNTFBhcmFtRWxlbWVudC5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSFRNTFBhcmFtRWxlbWVudC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTIyNzAsNiArMTIyNzksOSBAQAogCQkJCTI5QTgx
MjEzMEZCQjlDMUQwMDUxMDI5MyAvKiBBY2Nlc3NpYmlsaXR5VGFibGVSb3cuaCAqLywKIAkJCQky
OUE4MTIxOTBGQkI5QzFEMDA1MTAyOTMgLyogQVhPYmplY3RDYWNoZS5jcHAgKi8sCiAJCQkJMjlB
ODEyMUEwRkJCOUMxRDAwNTEwMjkzIC8qIEFYT2JqZWN0Q2FjaGUuaCAqLywKKwkJCQkyOUREMjEx
MDEyNUJDNzFGMDAxNjNDMEMgLyogVUlSZXF1ZXN0RXZlbnQuY3BwICovLAorCQkJCTI5REQyMTBG
MTI1QkM3MUYwMDE2M0MwQyAvKiBVSVJlcXVlc3RFdmVudC5oICovLAorCQkJCTI5REQyMTEzMTI1
QkM3M0UwMDE2M0MwQyAvKiBVSVJlcXVlc3RFdmVudC5pZGwgKi8sCiAJCQkpOwogCQkJcGF0aCA9
IGFjY2Vzc2liaWxpdHk7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwpAQCAtMTU3MjYsNiAr
MTU3MzgsOCBAQAogCQkJCTkzM0ExNEI3MEI3RDFENTIwMEE1M0ZGRCAvKiBKU1RleHRFdmVudC5o
ICovLAogCQkJCUE4NjYyOUNBMDlEQTJCNDcwMDk2MzNBNSAvKiBKU1VJRXZlbnQuY3BwICovLAog
CQkJCUE4NjYyOUM5MDlEQTJCNDcwMDk2MzNBNSAvKiBKU1VJRXZlbnQuaCAqLywKKwkJCQlBODY2
MjlEQTA5REEyQjQ3MDA5NjMzQTUgLyogSlNVSVJlcXVlc3RFdmVudC5jcHAgKi8sCisJCQkJQTg2
NjI5RDkwOURBMkI0NzAwOTYzM0E1IC8qIEpTVUlSZXF1ZXN0RXZlbnQuaCAqLywKIAkJCQkzMUMw
RkYzOTBFNENFRkFDMDA3RDZGRTUgLyogSlNXZWJLaXRBbmltYXRpb25FdmVudC5jcHAgKi8sCiAJ
CQkJMzFDMEZGM0EwRTRDRUZBQzAwN0Q2RkU1IC8qIEpTV2ViS2l0QW5pbWF0aW9uRXZlbnQuaCAq
LywKIAkJCQkzMUMwRkYzQjBFNENFRkFDMDA3RDZGRTUgLyogSlNXZWJLaXRUcmFuc2l0aW9uRXZl
bnQuY3BwICovLApAQCAtMjEwNTEsNiArMjEwNjUsOCBAQAogCQkJCTA4MTY2OEQ0MTI1NjAzQkYw
MDZGMjVERSAvKiBTVkdUZXh0Q2h1bmtCdWlsZGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkwODE2
NjhEQTEyNTYwM0Q1MDA2RjI1REUgLyogU1ZHVGV4dExheW91dEVuZ2luZS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMUFGOEUxMUExMjU2NTkyNjAwMjMwRkY3IC8qIFByb3h5U2VydmVyLmggaW4gSGVh
ZGVycyAqLywKKwkJCQkyOUREMjExMTEyNUJDNzFGMDAxNjNDMEMgLyogVUlSZXF1ZXN0RXZlbnQu
aCBpbiBIZWFkZXJzICovLAorCQkJCTI5REQyMjlEMTI1QzAyMEUwMDE2M0MwQyAvKiBKU1VJUmVx
dWVzdEV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk4OTNDNDgwMTEyNDhCRDNBMDAyQjNEODYg
LyogRGlyZWN0b3J5RW50cnlTeW5jLmggaW4gSGVhZGVycyAqLywKIAkJCQk4OTNDNDgwMzEyNDhC
RDNBMDAyQjNEODYgLyogRGlyZWN0b3J5UmVhZGVyU3luYy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
ODkzQzQ4MDUxMjQ4QkQzQTAwMkIzRDg2IC8qIERPTUZpbGVTeXN0ZW1CYXNlLmggaW4gSGVhZGVy
cyAqLywKQEAgLTIxMTI1LDYgKzIxMTQxLDcgQEAKIAkJCWlzYSA9IFBCWFByb2plY3Q7CiAJCQli
dWlsZENvbmZpZ3VyYXRpb25MaXN0ID0gMTQ5QzI4NDMwODkwMkIxMTAwOEE5RUZDIC8qIEJ1aWxk
IGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYUHJvamVjdCAiV2ViQ29yZSIgKi87CiAJCQljb21w
YXRpYmlsaXR5VmVyc2lvbiA9ICJYY29kZSAyLjQiOworCQkJZGV2ZWxvcG1lbnRSZWdpb24gPSBF
bmdsaXNoOwogCQkJaGFzU2Nhbm5lZEZvckVuY29kaW5ncyA9IDE7CiAJCQlrbm93blJlZ2lvbnMg
PSAoCiAJCQkJRW5nbGlzaCwKQEAgLTIzNTk2LDYgKzIzNjEzLDggQEAKIAkJCQkwODE2NjhEOTEy
NTYwM0Q1MDA2RjI1REUgLyogU1ZHVGV4dExheW91dEVuZ2luZS5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQkxQUY4RTEzMzEyNTY1QTQ0MDAyMzBGRjcgLyogUHJveHlTZXJ2ZXIuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJMUFGOEUxQzMxMjU2NzNFMDAwMjMwRkY3IC8qIFByb3h5U2VydmVyQ0ZOZXQu
Y3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMjlERDIxMTIxMjVCQzcxRjAwMTYzQzBDIC8qIFVJUmVx
dWVzdEV2ZW50LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTI5REQyMjlDMTI1QzAyMEEwMDE2M0Mw
QyAvKiBKU1VJUmVxdWVzdEV2ZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTg5M0M0ODAwMTI0
OEJEM0EwMDJCM0Q4NiAvKiBEaXJlY3RvcnlFbnRyeVN5bmMuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJODkzQzQ4MDIxMjQ4QkQzQTAwMkIzRDg2IC8qIERpcmVjdG9yeVJlYWRlclN5bmMuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJODkzQzQ4MDQxMjQ4QkQzQTAwMkIzRDg2IC8qIERPTUZpbGVTeXN0
ZW1CYXNlLmNwcCBpbiBTb3VyY2VzICovLApJbmRleDogV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0Fj
Y2Vzc2liaWxpdHlPYmplY3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYWNjZXNzaWJpbGl0
eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcAkocmV2aXNpb24gNjkyMzkpCisrKyBXZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUw
LDYgKzUwLDcgQEAKICNpbmNsdWRlICJSZW5kZXJXaWRnZXQuaCIKICNpbmNsdWRlICJTZWxlY3Rp
b25Db250cm9sbGVyLmgiCiAjaW5jbHVkZSAiVGV4dEl0ZXJhdG9yLmgiCisjaW5jbHVkZSAiVUlS
ZXF1ZXN0RXZlbnQuaCIKICNpbmNsdWRlICJodG1sZWRpdGluZy5oIgogI2luY2x1ZGUgInZpc2li
bGVfdW5pdHMuaCIKICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CkBAIC05OTgsNCArOTk5
LDMxIEBAIEFjY2Vzc2liaWxpdHlCdXR0b25TdGF0ZSBBY2Nlc3NpYmlsaXR5T2IKICAgICByZXR1
cm4gQnV0dG9uU3RhdGVPZmY7CiB9CiAgICAgCit2b2lkIEFjY2Vzc2liaWxpdHlPYmplY3Q6OmRp
c3BhdGNoVUlSZXF1ZXN0RXZlbnQoVUlSZXF1ZXN0RXZlbnRUeXBlIHR5cGUpCit7CisgICAgTm9k
ZSogbiA9IG5vZGUoKTsKKyAgICBpZiAoIW4gfHwgbi0+ZGlzYWJsZWQoKSkKKyAgICAgICAgcmV0
dXJuOworICAgIAorICAgIEF0b21pY1N0cmluZyBldmVudFR5cGU7CisgICAgc3dpdGNoICh0eXBl
KSB7CisgICAgY2FzZSBVTkRPOgorICAgICAgICBldmVudFR5cGUgPSBldmVudE5hbWVzKCkudW5k
b3JlcXVlc3RFdmVudDsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBSRURPOgorICAgICAgICBl
dmVudFR5cGUgPSBldmVudE5hbWVzKCkucmVkb3JlcXVlc3RFdmVudDsKKyAgICAgICAgYnJlYWs7
CisgICAgY2FzZSBFU0NBUEU6CisgICAgICAgIGV2ZW50VHlwZSA9IGV2ZW50TmFtZXMoKS5lc2Nh
cGVyZXF1ZXN0RXZlbnQ7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgREVMRVRFOgorICAgICAg
ICBldmVudFR5cGUgPSBldmVudE5hbWVzKCkuZGVsZXRlcmVxdWVzdEV2ZW50OworICAgICAgICBi
cmVhazsKKyAgICB9CisgICAgCisgICAgUmVmUHRyPFVJUmVxdWVzdEV2ZW50PiB1aVJlcXVlc3RF
dmVudCA9IFVJUmVxdWVzdEV2ZW50OjpjcmVhdGUoZXZlbnRUeXBlLCB0cnVlLCB0cnVlLCBuLT5k
b2N1bWVudCgpLT5kZWZhdWx0VmlldygpLCAwKTsKKyAgICBuLT5kaXNwYXRjaEV2ZW50KHVpUmVx
dWVzdEV2ZW50KTsKK30KKworICAgIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oCShyZXZpc2lvbiA2OTIz
OSkKKysrIFdlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmgJKHdvcmtp
bmcgY29weSkKQEAgLTUxOSw2ICs1MTksMTAgQEAgcHVibGljOgogICAgIHZpcnR1YWwgU3RyaW5n
IGRlc2NyaXB0aW9uRm9yTVNBQSgpIGNvbnN0IHsgcmV0dXJuIFN0cmluZygpOyB9CiAgICAgdmly
dHVhbCBBY2Nlc3NpYmlsaXR5Um9sZSByb2xlVmFsdWVGb3JNU0FBKCkgY29uc3QgeyByZXR1cm4g
cm9sZVZhbHVlKCk7IH0KIAorICAgIC8vIFVJUmVxdWVzdEV2ZW50IHN1cHBvcnQKKyAgICBlbnVt
IFVJUmVxdWVzdEV2ZW50VHlwZSB7IFVORE8gPSAxLCBSRURPID0gMiwgRVNDQVBFID0gMywgREVM
RVRFID0gNCB9OworICAgIHZvaWQgZGlzcGF0Y2hVSVJlcXVlc3RFdmVudChVSVJlcXVlc3RFdmVu
dFR5cGUpOworICAgIAogICAgIC8vIFVzZWQgYnkgYW4gQVJJQSB0cmVlIHRvIGdldCBhbGwgaXRz
IHJvd3MuCiAgICAgdm9pZCBhcmlhVHJlZVJvd3MoQWNjZXNzaWJpbGl0eUNoaWxkcmVuVmVjdG9y
Jik7CiAgICAgLy8gVXNlZCBieSBhbiBBUklBIHRyZWUgaXRlbSB0byBnZXQgYWxsIG9mIGl0cyBk
aXJlY3Qgcm93cyB0aGF0IGl0IGNhbiBkaXNjbG9zZS4KSW5kZXg6IFdlYkNvcmUvYWNjZXNzaWJp
bGl0eS9VSVJlcXVlc3RFdmVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L1VJUmVxdWVzdEV2ZW50LmNwcAkocmV2aXNpb24gMCkKKysrIFdlYkNvcmUvYWNjZXNzaWJp
bGl0eS9VSVJlcXVlc3RFdmVudC5jcHAJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNDkgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUsIElOQy4g
YGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBP
UgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqCisgKi8K
KworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlVJUmVxdWVzdEV2ZW50LmgiCisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKKyAgICAKK1VJUmVxdWVzdEV2ZW50OjpVSVJlcXVlc3RFdmVudCgp
Cit7Cit9CisgICAgCitVSVJlcXVlc3RFdmVudDo6VUlSZXF1ZXN0RXZlbnQoY29uc3QgQXRvbWlj
U3RyaW5nJiB0eXBlLCBib29sIGNhbkJ1YmJsZSwgYm9vbCBjYW5jZWxhYmxlLCBQYXNzUmVmUHRy
PEFic3RyYWN0Vmlldz4gdmlldywgaW50IGRldGFpbCkKKyAgICA6IFVJRXZlbnQodHlwZSwgY2Fu
QnViYmxlLCBjYW5jZWxhYmxlLCB2aWV3LCBkZXRhaWwpCit7Cit9CisKK3ZvaWQgVUlSZXF1ZXN0
RXZlbnQ6OmluaXRVSVJlcXVlc3RFdmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGJvb2wg
Y2FuQnViYmxlLCBib29sIGNhbmNlbGFibGUsIFBhc3NSZWZQdHI8QWJzdHJhY3RWaWV3PiB2aWV3
LCBpbnQgZGV0YWlsKQoreworICAgIGlmIChkaXNwYXRjaGVkKCkpCisgICAgICAgIHJldHVybjsK
KyAgICAKKyAgICBpbml0VUlFdmVudCh0eXBlLCBjYW5CdWJibGUsIGNhbmNlbGFibGUsIHZpZXcs
IGRldGFpbCk7Cit9ICAgCisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFdlYkNvcmUv
YWNjZXNzaWJpbGl0eS9VSVJlcXVlc3RFdmVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9VSVJlcXVlc3RFdmVudC5oCShyZXZpc2lvbiAwKQorKysgV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L1VJUmVxdWVzdEV2ZW50LmgJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNjIgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUsIElO
Qy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5D
LiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqCisg
Ki8KKworI2lmbmRlZiBVSVJlcXVlc3RFdmVudF9oCisjZGVmaW5lIFVJUmVxdWVzdEV2ZW50X2gK
KworI2luY2x1ZGUgIlVJRXZlbnQuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworICAgIAorLy8g
IlVzZXIgSW50ZXJmYWNlIEluZGVwZW5kZW5jZSBmb3IgQWNjZXNzaWJsZSBSaWNoIEludGVybmV0
IEFwcGxpY2F0aW9ucyIgVzNDIFByb3Bvc2FsCitjbGFzcyBVSVJlcXVlc3RFdmVudCA6IHB1Ymxp
YyBVSUV2ZW50IHsKK3B1YmxpYzoKKyAgICAKKyAgICBlbnVtIHsKKyAgICAgICAgCisgICAgfTsK
KyAgICAKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxVSVJlcXVlc3RFdmVudD4gY3JlYXRlKCkKKyAg
ICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgVUlSZXF1ZXN0RXZlbnQpOworICAgIH0K
KyAgICBzdGF0aWMgUGFzc1JlZlB0cjxVSVJlcXVlc3RFdmVudD4gY3JlYXRlKGNvbnN0IEF0b21p
Y1N0cmluZyYgdHlwZSwgYm9vbCBjYW5CdWJibGUsIGJvb2wgY2FuY2VsYWJsZSwgUGFzc1JlZlB0
cjxBYnN0cmFjdFZpZXc+IHZpZXcsIGludCBkZXRhaWwpCisgICAgeworICAgICAgICByZXR1cm4g
YWRvcHRSZWYobmV3IFVJUmVxdWVzdEV2ZW50KHR5cGUsIGNhbkJ1YmJsZSwgY2FuY2VsYWJsZSwg
dmlldywgZGV0YWlsKSk7CisgICAgfQorICAgIAorICAgIHZvaWQgaW5pdFVJUmVxdWVzdEV2ZW50
KGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgYm9vbCBjYW5CdWJibGUsIGJvb2wgY2FuY2VsYWJs
ZSwgUGFzc1JlZlB0cjxBYnN0cmFjdFZpZXc+LCBpbnQgZGV0YWlsKTsKKworICAgIHZpcnR1YWwg
Ym9vbCBpc1VJUmVxdWVzdEV2ZW50KCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQorICAgIAorcHJp
dmF0ZToKKyAgICBVSVJlcXVlc3RFdmVudCgpOworICAgIFVJUmVxdWVzdEV2ZW50KGNvbnN0IEF0
b21pY1N0cmluZyYgdHlwZSwgYm9vbCBjYW5CdWJibGUsIGJvb2wgY2FuY2VsYWJsZSwgUGFzc1Jl
ZlB0cjxBYnN0cmFjdFZpZXc+LCBpbnQgZGV0YWlsKTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKKworI2VuZGlmIC8vIFVJUmVxdWVzdEV2ZW50X2gKSW5kZXg6IFdlYkNvcmUvYWNjZXNz
aWJpbGl0eS9VSVJlcXVlc3RFdmVudC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L1VJUmVxdWVzdEV2ZW50LmlkbAkocmV2aXNpb24gMCkKKysrIFdlYkNvcmUvYWNjZXNz
aWJpbGl0eS9VSVJlcXVlc3RFdmVudC5pZGwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNDAgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUsIElO
Qy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5D
LiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqCisg
Ki8KKworbW9kdWxlIGV2ZW50cyB7CisKKyAgICAvLyAiVXNlciBJbnRlcmZhY2UgSW5kZXBlbmRl
bmNlIGZvciBBY2Nlc3NpYmxlIFJpY2ggSW50ZXJuZXQgQXBwbGljYXRpb25zIiBXM0MgUHJvcG9z
YWwKKyAgICBpbnRlcmZhY2UgVUlSZXF1ZXN0RXZlbnQgOiBVSUV2ZW50IHsKKyAgICAgICAgCisg
ICAgICAgIHZvaWQgaW5pdFVJUmVxdWVzdEV2ZW50KGluIERPTVN0cmluZyB0eXBlLCAKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIGJvb2xlYW4gY2FuQnViYmxlLCAKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIGJvb2xlYW4gY2FuY2VsYWJsZSwg
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBET01XaW5kb3cgdmlldywg
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBsb25nIGRldGFpbCk7CisK
KyAgICB9OworCit9CkluZGV4OiBXZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvR05VbWFrZWZpbGUu
YW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L0dOVW1ha2VmaWxlLmFt
CShyZXZpc2lvbiA2OTIzOSkKKysrIFdlYkNvcmUvYmluZGluZ3MvZ29iamVjdC9HTlVtYWtlZmls
ZS5hbQkod29ya2luZyBjb3B5KQpAQCAtMjMyLDYgKzIzMiw3IEBAIHdlYmtpdGd0a19nZG9tX2J1
aWx0X3NvdXJjZXMgKz0gXAogCURlcml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRET01UaW1lUmFu
Z2VzUHJpdmF0ZS5oIFwKIAlEZXJpdmVkU291cmNlcy93ZWJraXQvV2ViS2l0RE9NVHJlZVdhbGtl
ci5jcHAgXAogCURlcml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRET01UcmVlV2Fsa2VyUHJpdmF0
ZS5oIFwKKwlEZXJpdmVkU291cmNlcy93ZWJraXQvV2ViS2l0RE9NVUlSZXF1ZXN0RXZlbnQuY3Bw
IFwKIAlEZXJpdmVkU291cmNlcy93ZWJraXQvV2ViS2l0RE9NVUlFdmVudC5jcHAgXAogCURlcml2
ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRET01VSUV2ZW50UHJpdmF0ZS5oIFwKIAlEZXJpdmVkU291
cmNlcy93ZWJraXQvV2ViS2l0RE9NVmFsaWRpdHlTdGF0ZS5jcHAgXApAQCAtMjgwLDYgKzI4MSw3
IEBAIHdlYmtpdGd0a19idWlsdF9oX2FwaSArPSBcCiAJRGVyaXZlZFNvdXJjZXMvd2Via2l0L1dl
YktpdERPTVJhbmdlLmggXAogCURlcml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRET01UZXh0Lmgg
XAogCURlcml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRET01UcmVlV2Fsa2VyLmggXAorCURlcml2
ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRET01VSVJlcXVlc3RFdmVudC5oIFwKIAlEZXJpdmVkU291
cmNlcy93ZWJraXQvV2ViS2l0RE9NVUlFdmVudC5oIFwKIAlEZXJpdmVkU291cmNlcy93ZWJraXQv
V2ViS2l0RE9NQmxvYi5oIFwKIAlEZXJpdmVkU291cmNlcy93ZWJraXQvV2ViS2l0RE9NRmlsZS5o
IFwKSW5kZXg6IFdlYkNvcmUvYmluZGluZ3MvanMvSlNFdmVudEN1c3RvbS5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50Q3VzdG9tLmNwcAkocmV2aXNpb24gNjky
MzkpCisrKyBXZWJDb3JlL2JpbmRpbmdzL2pzL0pTRXZlbnRDdXN0b20uY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC01Myw2ICs1Myw3IEBACiAjaW5jbHVkZSAiSlNQcm9ncmVzc0V2ZW50LmgiCiAjaW5j
bHVkZSAiSlNUZXh0RXZlbnQuaCIKICNpbmNsdWRlICJKU1VJRXZlbnQuaCIKKyNpbmNsdWRlICJK
U1VJUmVxdWVzdEV2ZW50LmgiCiAjaW5jbHVkZSAiSlNXZWJLaXRBbmltYXRpb25FdmVudC5oIgog
I2luY2x1ZGUgIkpTV2ViS2l0VHJhbnNpdGlvbkV2ZW50LmgiCiAjaW5jbHVkZSAiSlNXaGVlbEV2
ZW50LmgiCkBAIC03MCw2ICs3MSw3IEBACiAjaW5jbHVkZSAiUHJvZ3Jlc3NFdmVudC5oIgogI2lu
Y2x1ZGUgIlRleHRFdmVudC5oIgogI2luY2x1ZGUgIlVJRXZlbnQuaCIKKyNpbmNsdWRlICJVSVJl
cXVlc3RFdmVudC5oIgogI2luY2x1ZGUgIldlYktpdEFuaW1hdGlvbkV2ZW50LmgiCiAjaW5jbHVk
ZSAiV2ViS2l0VHJhbnNpdGlvbkV2ZW50LmgiCiAjaW5jbHVkZSAiV2hlZWxFdmVudC5oIgpAQCAt
MTM3LDYgKzEzOSw4IEBAIEpTVmFsdWUgdG9KUyhFeGVjU3RhdGUqIGV4ZWMsIEpTRE9NR2xvYmEK
ICAgICAgICAgZWxzZSBpZiAoZXZlbnQtPmlzVG91Y2hFdmVudCgpKQogICAgICAgICAgICAgd3Jh
cHBlciA9IENSRUFURV9ET01fT0JKRUNUX1dSQVBQRVIoZXhlYywgZ2xvYmFsT2JqZWN0LCBUb3Vj
aEV2ZW50LCBldmVudCk7CiAjZW5kaWYKKyAgICAgICAgZWxzZSBpZiAoZXZlbnQtPmlzVUlSZXF1
ZXN0RXZlbnQoKSkKKyAgICAgICAgICAgIHdyYXBwZXIgPSBDUkVBVEVfRE9NX09CSkVDVF9XUkFQ
UEVSKGV4ZWMsIGdsb2JhbE9iamVjdCwgVUlSZXF1ZXN0RXZlbnQsIGV2ZW50KTsKICAgICAgICAg
ZWxzZQogICAgICAgICAgICAgd3JhcHBlciA9IENSRUFURV9ET01fT0JKRUNUX1dSQVBQRVIoZXhl
YywgZ2xvYmFsT2JqZWN0LCBVSUV2ZW50LCBldmVudCk7CiAgICAgfSBlbHNlIGlmIChldmVudC0+
aXNNdXRhdGlvbkV2ZW50KCkpCkluZGV4OiBXZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCShyZXZpc2lvbiA2OTIzOSkKKysrIFdl
YkNvcmUvZG9tL0RvY3VtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTI4LDYgKzEyOCw3IEBA
CiAjaW5jbHVkZSAiVHJhbnNmb3JtU291cmNlLmgiCiAjaW5jbHVkZSAiVHJlZVdhbGtlci5oIgog
I2luY2x1ZGUgIlVJRXZlbnQuaCIKKyNpbmNsdWRlICJVSVJlcXVlc3RFdmVudC5oIgogI2luY2x1
ZGUgIlVzZXJDb250ZW50VVJMUGF0dGVybi5oIgogI2luY2x1ZGUgIldlYktpdEFuaW1hdGlvbkV2
ZW50LmgiCiAjaW5jbHVkZSAiV2ViS2l0VHJhbnNpdGlvbkV2ZW50LmgiCkBAIC0zNDY2LDYgKzM0
NjcsOCBAQCBQYXNzUmVmUHRyPEV2ZW50PiBEb2N1bWVudDo6Y3JlYXRlRXZlbnQoCiAgICAgZWxz
ZSBpZiAoZXZlbnRUeXBlID09ICJEZXZpY2VPcmllbnRhdGlvbkV2ZW50IikKICAgICAgICAgZXZl
bnQgPSBEZXZpY2VPcmllbnRhdGlvbkV2ZW50OjpjcmVhdGUoKTsKICNlbmRpZgorICAgIGVsc2Ug
aWYgKGV2ZW50VHlwZSA9PSAiVUlSZXF1ZXN0RXZlbnQiKQorICAgICAgICBldmVudCA9IFVJUmVx
dWVzdEV2ZW50OjpjcmVhdGUoKTsKICAgICBpZiAoZXZlbnQpCiAgICAgICAgIHJldHVybiBldmVu
dC5yZWxlYXNlKCk7CiAKSW5kZXg6IFdlYkNvcmUvZG9tL0RvY3VtZW50LmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9kb20vRG9jdW1lbnQuaAkocmV2aXNpb24gNjkyMzkpCisrKyBXZWJDb3JlL2Rv
bS9Eb2N1bWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNzYsNyArMjc2LDExIEBAIHB1YmxpYzoK
ICNpZiBFTkFCTEUoRlVMTFNDUkVFTl9BUEkpCiAgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9M
SVNURU5FUih3ZWJraXRmdWxsc2NyZWVuY2hhbmdlKTsKICNlbmRpZgotCisgICAgREVGSU5FX0FU
VFJJQlVURV9FVkVOVF9MSVNURU5FUih1bmRvcmVxdWVzdCk7CisgICAgREVGSU5FX0FUVFJJQlVU
RV9FVkVOVF9MSVNURU5FUihyZWRvcmVxdWVzdCk7CisgICAgREVGSU5FX0FUVFJJQlVURV9FVkVO
VF9MSVNURU5FUihlc2NhcGVyZXF1ZXN0KTsKKyAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJ
U1RFTkVSKGRlbGV0ZXJlcXVlc3QpOworICAgIAogICAgIFZpZXdwb3J0QXJndW1lbnRzIHZpZXdw
b3J0QXJndW1lbnRzKCkgY29uc3QgeyByZXR1cm4gbV92aWV3cG9ydEFyZ3VtZW50czsgfQogCiAg
ICAgRG9jdW1lbnRUeXBlKiBkb2N0eXBlKCkgY29uc3QgeyByZXR1cm4gbV9kb2NUeXBlLmdldCgp
OyB9CkluZGV4OiBXZWJDb3JlL2RvbS9Eb2N1bWVudC5pZGwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9kb20vRG9jdW1lbnQuaWRsCShyZXZpc2lvbiA2OTIzOSkKKysrIFdlYkNvcmUvZG9tL0RvY3Vt
ZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzA3LDYgKzMwNywxMSBAQCBtb2R1bGUgY29yZSB7
CiAgICAgICAgIC8vIGF0dHJpYnV0ZSBbRG9udEVudW1dIEV2ZW50TGlzdGVuZXIgb252b2x1bWVj
aGFuZ2U7CiAgICAgICAgIC8vIGF0dHJpYnV0ZSBbRG9udEVudW1dIEV2ZW50TGlzdGVuZXIgb253
YWl0aW5nOwogCisgICAgICAgIGF0dHJpYnV0ZSBbRG9udEVudW1dIEV2ZW50TGlzdGVuZXIgb251
bmRvcmVxdWVzdDsKKyAgICAgICAgYXR0cmlidXRlIFtEb250RW51bV0gRXZlbnRMaXN0ZW5lciBv
bnJlZG9yZXF1ZXN0OworICAgICAgICBhdHRyaWJ1dGUgW0RvbnRFbnVtXSBFdmVudExpc3RlbmVy
IG9uZXNjYXBlcmVxdWVzdDsKKyAgICAgICAgYXR0cmlidXRlIFtEb250RW51bV0gRXZlbnRMaXN0
ZW5lciBvbmRlbGV0ZXJlcXVlc3Q7CisKICAgICAgICAgLy8gV2ViS2l0IGV4dGVuc2lvbnMKICAg
ICAgICAgYXR0cmlidXRlIFtEb250RW51bV0gRXZlbnRMaXN0ZW5lciBvbmJlZm9yZWN1dDsKICAg
ICAgICAgYXR0cmlidXRlIFtEb250RW51bV0gRXZlbnRMaXN0ZW5lciBvbmN1dDsKSW5kZXg6IFdl
YkNvcmUvZG9tL0VsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2RvbS9FbGVtZW50LmgJ
KHJldmlzaW9uIDY5MjM5KQorKysgV2ViQ29yZS9kb20vRWxlbWVudC5oCSh3b3JraW5nIGNvcHkp
CkBAIC05OCw2ICs5OCwxMCBAQCBwdWJsaWM6CiAjaWYgRU5BQkxFKEZVTExTQ1JFRU5fQVBJKQog
ICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIod2Via2l0ZnVsbHNjcmVlbmNoYW5n
ZSk7CiAjZW5kaWYKKyAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHVuZG9yZXF1
ZXN0KTsKKyAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHJlZG9yZXF1ZXN0KTsK
KyAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGVzY2FwZXJlcXVlc3QpOworICAg
IERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoZGVsZXRlcmVxdWVzdCk7CiAKICAgICB2
aXJ0dWFsIFBhc3NSZWZQdHI8RG9jdW1lbnRGcmFnbWVudD4gZGVwcmVjYXRlZENyZWF0ZUNvbnRl
eHR1YWxGcmFnbWVudChjb25zdCBTdHJpbmcmLCBGcmFnbWVudFNjcmlwdGluZ1Blcm1pc3Npb24g
PSBGcmFnbWVudFNjcmlwdGluZ0FsbG93ZWQpOwogCkluZGV4OiBXZWJDb3JlL2RvbS9FbGVtZW50
LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2RvbS9FbGVtZW50LmlkbAkocmV2aXNpb24gNjky
MzkpCisrKyBXZWJDb3JlL2RvbS9FbGVtZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMTkzLDYg
KzE5MywxMSBAQCBtb2R1bGUgY29yZSB7CiAgICAgICAgIC8vIGF0dHJpYnV0ZSBbRG9udEVudW1d
IEV2ZW50TGlzdGVuZXIgb250aW1ldXBkYXRlOwogICAgICAgICAvLyBhdHRyaWJ1dGUgW0RvbnRF
bnVtXSBFdmVudExpc3RlbmVyIG9udm9sdW1lY2hhbmdlOwogICAgICAgICAvLyBhdHRyaWJ1dGUg
W0RvbnRFbnVtXSBFdmVudExpc3RlbmVyIG9ud2FpdGluZzsKKyAgICAgICAgCisgICAgICAgIGF0
dHJpYnV0ZSBbRG9udEVudW1dIEV2ZW50TGlzdGVuZXIgb251bmRvcmVxdWVzdDsKKyAgICAgICAg
YXR0cmlidXRlIFtEb250RW51bV0gRXZlbnRMaXN0ZW5lciBvbnJlZG9yZXF1ZXN0OworICAgICAg
ICBhdHRyaWJ1dGUgW0RvbnRFbnVtXSBFdmVudExpc3RlbmVyIG9uZXNjYXBlcmVxdWVzdDsKKyAg
ICAgICAgYXR0cmlidXRlIFtEb250RW51bV0gRXZlbnRMaXN0ZW5lciBvbmRlbGV0ZXJlcXVlc3Q7
CiAKICAgICAgICAgLy8gV2ViS2l0IGV4dGVuc2lvbnMKICAgICAgICAgYXR0cmlidXRlIFtEb250
RW51bV0gRXZlbnRMaXN0ZW5lciBvbmJlZm9yZWN1dDsKSW5kZXg6IFdlYkNvcmUvZG9tL0V2ZW50
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2RvbS9FdmVudC5jcHAJKHJldmlzaW9uIDY5MjM5
KQorKysgV2ViQ29yZS9kb20vRXZlbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMjksNiArMjI5
LDExIEBAIGJvb2wgRXZlbnQ6OmlzRGV2aWNlT3JpZW50YXRpb25FdmVudCgpIGMKIH0KICNlbmRp
ZgogCitib29sIEV2ZW50Ojppc1VJUmVxdWVzdEV2ZW50KCkgY29uc3QKK3sKKyAgICByZXR1cm4g
ZmFsc2U7Cit9CisgICAgCiBib29sIEV2ZW50Ojpmcm9tVXNlckdlc3R1cmUoKQogewogICAgIGlm
ICghVXNlckdlc3R1cmVJbmRpY2F0b3I6OnByb2Nlc3NpbmdVc2VyR2VzdHVyZSgpKQpJbmRleDog
V2ViQ29yZS9kb20vRXZlbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2RvbS9FdmVudC5oCShy
ZXZpc2lvbiA2OTIzOSkKKysrIFdlYkNvcmUvZG9tL0V2ZW50LmgJKHdvcmtpbmcgY29weSkKQEAg
LTE0MSw2ICsxNDEsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZpcnR1YWwgYm9v
bCBpc0RldmljZU1vdGlvbkV2ZW50KCkgY29uc3Q7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBpc0Rl
dmljZU9yaWVudGF0aW9uRXZlbnQoKSBjb25zdDsKICNlbmRpZgorICAgICAgICB2aXJ0dWFsIGJv
b2wgaXNVSVJlcXVlc3RFdmVudCgpIGNvbnN0OworICAgICAgICAKICAgICAgICAgYm9vbCBmcm9t
VXNlckdlc3R1cmUoKTsKICAgICAgICAgCiAgICAgICAgIGJvb2wgcHJvcGFnYXRpb25TdG9wcGVk
KCkgY29uc3QgeyByZXR1cm4gbV9wcm9wYWdhdGlvblN0b3BwZWQgfHwgbV9pbW1lZGlhdGVQcm9w
YWdhdGlvblN0b3BwZWQ7IH0KSW5kZXg6IFdlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgJKHJldmlzaW9uIDY5MjM5KQorKysgV2Vi
Q29yZS9kb20vRXZlbnROYW1lcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNjgsNyArMTY4LDEyIEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBcCiAgICAgbWFjcm8od2Via2l0ZnVsbHNjcmVlbmNo
YW5nZSkgXAogICAgIFwKLSAgICBtYWNybyh3ZWJraXRzcGVlY2hjaGFuZ2UpCisgICAgbWFjcm8o
d2Via2l0c3BlZWNoY2hhbmdlKSBcCisgICAgXAorICAgIG1hY3JvKHVuZG9yZXF1ZXN0KSBcCisg
ICAgbWFjcm8ocmVkb3JlcXVlc3QpIFwKKyAgICBtYWNybyhlc2NhcGVyZXF1ZXN0KSBcCisgICAg
bWFjcm8oZGVsZXRlcmVxdWVzdCkKICAgICBcCiAvLyBlbmQgb2YgRE9NX0VWRU5UX05BTUVTX0ZP
Ul9FQUNICiAKSW5kZXg6IFdlYkNvcmUvaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW4KPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbgkocmV2aXNpb24gNjky
MzkpCisrKyBXZWJDb3JlL2h0bWwvSFRNTEF0dHJpYnV0ZU5hbWVzLmluCSh3b3JraW5nIGNvcHkp
CkBAIC0xNTYsNiArMTU2LDcgQEAgb25jb250ZXh0bWVudQogb25jb3B5CiBvbmN1dAogb25kYmxj
bGljaworb25kZWxldGVyZXF1ZXN0CiBvbmRyYWcKIG9uZHJhZ2VuZAogb25kcmFnZW50ZXIKQEAg
LTE2Nyw2ICsxNjgsNyBAQCBvbmR1cmF0aW9uY2hhbmdlCiBvbmVtcHRpZWQKIG9uZW5kZWQKIG9u
ZXJyb3IKK29uZXNjYXBlcmVxdWVzdAogb25mb2N1cwogb25mb2N1c2luCiBvbmZvY3Vzb3V0CkBA
IC0xOTgsNiArMjAwLDcgQEAgb25wbGF5aW5nCiBvbnBvcHN0YXRlCiBvbnByb2dyZXNzCiBvbnJh
dGVjaGFuZ2UKK29ucmVkb3JlcXVlc3QKIG9ucmVzZXQKIG9ucmVzaXplCiBvbnNjcm9sbApAQCAt
MjE2LDYgKzIxOSw3IEBAIG9udG91Y2hzdGFydAogb250b3VjaG1vdmUKIG9udG91Y2hlbmQKIG9u
dG91Y2hjYW5jZWwKK29udW5kb3JlcXVlc3QKIG9udW5sb2FkCiBvbnZvbHVtZWNoYW5nZQogb253
YWl0aW5nCkluZGV4OiBXZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5jcHAJKHJldmlzaW9uIDY5MjM5KQorKysgV2ViQ29y
ZS9odG1sL0hUTUxFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjUzLDYgKzI1MywxNCBA
QCB2b2lkIEhUTUxFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShBCiAgICAgfSBlbHNlIGlm
IChhdHRyLT5uYW1lKCkgPT0gb253ZWJraXRmdWxsc2NyZWVuY2hhbmdlQXR0cikgewogICAgICAg
ICBzZXRBdHRyaWJ1dGVFdmVudExpc3RlbmVyKGV2ZW50TmFtZXMoKS53ZWJraXRmdWxsc2NyZWVu
Y2hhbmdlRXZlbnQsIGNyZWF0ZUF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIodGhpcywgYXR0cikpOwog
I2VuZGlmCisgICAgfSBlbHNlIGlmIChhdHRyLT5uYW1lKCkgPT0gb251bmRvcmVxdWVzdEF0dHIp
IHsKKyAgICAgICAgc2V0QXR0cmlidXRlRXZlbnRMaXN0ZW5lcihldmVudE5hbWVzKCkudW5kb3Jl
cXVlc3RFdmVudCwgY3JlYXRlQXR0cmlidXRlRXZlbnRMaXN0ZW5lcih0aGlzLCBhdHRyKSk7Cisg
ICAgfSBlbHNlIGlmIChhdHRyLT5uYW1lKCkgPT0gb25yZWRvcmVxdWVzdEF0dHIpIHsKKyAgICAg
ICAgc2V0QXR0cmlidXRlRXZlbnRMaXN0ZW5lcihldmVudE5hbWVzKCkucmVkb3JlcXVlc3RFdmVu
dCwgY3JlYXRlQXR0cmlidXRlRXZlbnRMaXN0ZW5lcih0aGlzLCBhdHRyKSk7CisgICAgfSBlbHNl
IGlmIChhdHRyLT5uYW1lKCkgPT0gb25lc2NhcGVyZXF1ZXN0QXR0cikgeworICAgICAgICBzZXRB
dHRyaWJ1dGVFdmVudExpc3RlbmVyKGV2ZW50TmFtZXMoKS5lc2NhcGVyZXF1ZXN0RXZlbnQsIGNy
ZWF0ZUF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIodGhpcywgYXR0cikpOworICAgIH0gZWxzZSBpZiAo
YXR0ci0+bmFtZSgpID09IG9uZGVsZXRlcmVxdWVzdEF0dHIpIHsKKyAgICAgICAgc2V0QXR0cmli
dXRlRXZlbnRMaXN0ZW5lcihldmVudE5hbWVzKCkuZGVsZXRlcmVxdWVzdEV2ZW50LCBjcmVhdGVB
dHRyaWJ1dGVFdmVudExpc3RlbmVyKHRoaXMsIGF0dHIpKTsKICAgICB9CiB9CiAKSW5kZXg6IFdl
YkNvcmUvcGFnZS9ET01XaW5kb3cuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BhZ2UvRE9NV2lu
ZG93LmgJKHJldmlzaW9uIDY5MjM5KQorKysgV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zNjQsNiArMzY0LDExIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAg
ICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUih0b3VjaGVuZCk7CiAgICAgICAgIERF
RklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIodG91Y2hjYW5jZWwpOwogI2VuZGlmCisgICAg
ICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIodW5kb3JlcXVlc3QpOworICAgICAg
ICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHJlZG9yZXF1ZXN0KTsKKyAgICAgICAg
REVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihlc2NhcGVyZXF1ZXN0KTsKKyAgICAgICAg
REVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihkZWxldGVyZXF1ZXN0KTsKKyAgICAgICAg
CiAgICAgICAgIHZvaWQgY2FwdHVyZUV2ZW50cygpOwogICAgICAgICB2b2lkIHJlbGVhc2VFdmVu
dHMoKTsKIApJbmRleDogV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwJKHJldmlzaW9uIDY5MjM5KQorKysgV2ViQ29yZS9w
YWdlL0RPTVdpbmRvdy5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMzMCw2ICszMzAsMTEgQEAgbW9k
dWxlIHdpbmRvdyB7CiAgICAgICAgIGF0dHJpYnV0ZSBbQ29uZGl0aW9uYWw9REVWSUNFX09SSUVO
VEFUSU9OLEVuYWJsZWRBdFJ1bnRpbWVdIERldmljZU9yaWVudGF0aW9uRXZlbnRDb25zdHJ1Y3Rv
ciBEZXZpY2VPcmllbnRhdGlvbkV2ZW50OwogICAgICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFs
PURFVklDRV9PUklFTlRBVElPTixFbmFibGVkQXRSdW50aW1lXSBFdmVudExpc3RlbmVyIG9uZGV2
aWNlb3JpZW50YXRpb247CiAKKyAgICAgICAgYXR0cmlidXRlIEV2ZW50TGlzdGVuZXIgb251bmRv
cmVxdWVzdDsKKyAgICAgICAgYXR0cmlidXRlIEV2ZW50TGlzdGVuZXIgb25yZWRvcmVxdWVzdDsK
KyAgICAgICAgYXR0cmlidXRlIEV2ZW50TGlzdGVuZXIgb25lc2NhcGVyZXF1ZXN0OworICAgICAg
ICBhdHRyaWJ1dGUgRXZlbnRMaXN0ZW5lciBvbmRlbGV0ZXJlcXVlc3Q7CisKICAgICAgICAgLy8g
RXZlbnRUYXJnZXQgaW50ZXJmYWNlCiAgICAgICAgIFtDdXN0b21dIHZvaWQgYWRkRXZlbnRMaXN0
ZW5lcihpbiBET01TdHJpbmcgdHlwZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW4gRXZlbnRMaXN0ZW5lciBsaXN0ZW5lciwKQEAgLTUxMiw2ICs1MTcsNyBAQCBtb2R1
bGUgd2luZG93IHsKICAgICAgICAgYXR0cmlidXRlIFdoZWVsRXZlbnRDb25zdHJ1Y3RvciBXaGVl
bEV2ZW50OwogICAgICAgICBhdHRyaWJ1dGUgTWVzc2FnZUV2ZW50Q29uc3RydWN0b3IgTWVzc2Fn
ZUV2ZW50OwogICAgICAgICBhdHRyaWJ1dGUgRXZlbnRFeGNlcHRpb25Db25zdHJ1Y3RvciBFdmVu
dEV4Y2VwdGlvbjsKKyAgICAgICAgYXR0cmlidXRlIFVJUmVxdWVzdEV2ZW50Q29uc3RydWN0b3Ig
VUlSZXF1ZXN0RXZlbnQ7CiAKICAgICAgICAgYXR0cmlidXRlIFdlYktpdENTU0tleWZyYW1lUnVs
ZUNvbnN0cnVjdG9yIFdlYktpdENTU0tleWZyYW1lUnVsZTsKICAgICAgICAgYXR0cmlidXRlIFdl
YktpdENTU0tleWZyYW1lc1J1bGVDb25zdHJ1Y3RvciBXZWJLaXRDU1NLZXlmcmFtZXNSdWxlOwpJ
bmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0No
YW5nZUxvZwkocmV2aXNpb24gNjkyMzkpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtp
bmcgY29weSkKQEAgLTEsMyArMSwxNiBAQAorMjAxMC0xMC0wNiAgQ2hyaXMgRmxlaXphY2ggIDxj
ZmxlaXphY2hAYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEFYOiBTdXBwb3J0IFVJUmVxdWVzdEV2ZW50cyBmcm9tIG5ldyBXM0MgUHJv
cG9zYWwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ3
MzAxCisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L3VpcmVxdWVzdC1ldmVudHMtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L3VpcmVxdWVzdC1ldmVudHMuaHRt
bDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2RvbS9wcm90b3R5cGUtaW5oZXJpdGFuY2UtZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvanMvZ2xvYmFsLWNvbnN0cnVjdG9ycy1leHBlY3Rl
ZC50eHQ6CisKIDIwMTAtMTAtMDYgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNoQGFwcGxlLmNv
bT4KIAogICAgICAgICBSZXZpZXdlZCBieSBCZXRoIERha2luLgpJbmRleDogTGF5b3V0VGVzdHMv
YWNjZXNzaWJpbGl0eS91aXJlcXVlc3QtZXZlbnRzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L3VpcmVxdWVzdC1ldmVudHMtZXhwZWN0ZWQudHh0
CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS91aXJlcXVlc3QtZXZl
bnRzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwzMyBAQAorT25lCisKK1R3
bworCitUaHJlZQorCitGb3VyCisKK0ZpdmUKKworU2l4CisKK1NldmVuCisKK0VpZ2h0CisKK1Ro
aXMgdGVzdHMgdGhhdCBVSVJlcXVlc3RFdmVudHMgd29yayBhcyBkZXNjcmliZWQuCisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIGV2ZW50UmVjZWl2ZWQudHlwZSBpcyBleHBl
Y3RlZFR5cGUKK1BBU1MgZXZlbnRSZWNlaXZlZC50eXBlIGlzIGV4cGVjdGVkVHlwZQorUEFTUyBl
dmVudFJlY2VpdmVkLnR5cGUgaXMgZXhwZWN0ZWRUeXBlCitQQVNTIGV2ZW50UmVjZWl2ZWQudHlw
ZSBpcyBleHBlY3RlZFR5cGUKK1BBU1MgZXZlbnQudHlwZSBpcyAnZGVsZXRlcmVxdWVzdCcKK1BB
U1MgZXZlbnQudHlwZSBpcyAnZXNjYXBlcmVxdWVzdCcKK1BBU1MgZXZlbnQudHlwZSBpcyAncmVk
b3JlcXVlc3QnCitQQVNTIGV2ZW50LnR5cGUgaXMgJ3VuZG9yZXF1ZXN0JworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKSW5kZXg6IExheW91dFRlc3Rz
L2FjY2Vzc2liaWxpdHkvdWlyZXF1ZXN0LWV2ZW50cy5odG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2FjY2Vzc2liaWxpdHkvdWlyZXF1ZXN0LWV2ZW50cy5odG1sCShyZXZpc2lvbiAwKQor
KysgTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS91aXJlcXVlc3QtZXZlbnRzLmh0bWwJKHJldmlz
aW9uIDApCkBAIC0wLDAgKzEsMTA0IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYv
L0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBo
cmVmPSIuLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0Pgor
dmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IGZhbHNlOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHkgaWQ9ImJvZHkiPgorCis8ZGl2IGlkPSJvbmUiIG9udW5kb3JlcXVlc3Q9InJldHVybiBo
YW5kbGVFdmVudChldmVudCwgJ3VuZG9yZXF1ZXN0Jyk7Ij5PbmU8L2Rpdj48YnI+Cis8ZGl2IGlk
PSJ0d28iIG9ucmVkb3JlcXVlc3Q9InJldHVybiBoYW5kbGVFdmVudChldmVudCwgJ3JlZG9yZXF1
ZXN0Jyk7Ij5Ud288L2Rpdj48YnI+Cis8ZGl2IGlkPSJ0aHJlZSIgb25lc2NhcGVyZXF1ZXN0PSJy
ZXR1cm4gaGFuZGxlRXZlbnQoZXZlbnQsICdlc2NhcGVyZXF1ZXN0Jyk7Ij5UaHJlZTwvZGl2Pjxi
cj4KKzxkaXYgaWQ9ImZvdXIiIG9uZGVsZXRlcmVxdWVzdD0icmV0dXJuIGhhbmRsZUV2ZW50KGV2
ZW50LCAnZGVsZXRlcmVxdWVzdCcpOyI+Rm91cjwvZGl2Pjxicj4KKworPGRpdiBpZD0iZml2ZSI+
Rml2ZTwvZGl2Pjxicj4KKzxkaXYgaWQ9InNpeCI+U2l4PC9kaXY+PGJyPgorPGRpdiBpZD0ic2V2
ZW4iPlNldmVuPC9kaXY+PGJyPgorPGRpdiBpZD0iZWlnaHQiPkVpZ2h0PC9kaXY+PGJyPgorCis8
cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8c2Ny
aXB0PgorCisgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdHMgdGhhdCBVSVJlcXVlc3RFdmVudHMg
d29yayBhcyBkZXNjcmliZWQuIik7CisKKyAgICB2YXIgZXZlbnRSZWNlaXZlZCA9IDA7CisgICAg
dmFyIGV4cGVjdGVkVHlwZQorICAgIGZ1bmN0aW9uIGhhbmRsZUV2ZW50KGUsIGV4cGVjdGVkKSB7
CisgICAgICAgIGV2ZW50UmVjZWl2ZWQgPSBlOworICAgICAgICBleHBlY3RlZFR5cGUgPSBleHBl
Y3RlZDsKKyAgICAgICAgc2hvdWxkQmUoImV2ZW50UmVjZWl2ZWQudHlwZSIsICJleHBlY3RlZFR5
cGUiKTsKKyAgICB9CisKKyAgICB2YXIgY291bnQgPSAwOworICAgIGZ1bmN0aW9uIGluc3RhbGxl
ZEV2ZW50SGFuZGxlcihlKSB7CisgICAgICAgaWYgKGNvdW50ID09IDApIHsKKyAgICAgICAgICBz
aG91bGRCZSgiZXZlbnQudHlwZSIsICInZGVsZXRlcmVxdWVzdCciKTsKKyAgICAgICB9CisgICAg
ICAgZWxzZSBpZiAoY291bnQgPT0gMSkgeworICAgICAgICAgIHNob3VsZEJlKCJldmVudC50eXBl
IiwgIidlc2NhcGVyZXF1ZXN0JyIpOworICAgICAgIH0KKyAgICAgICBlbHNlIGlmIChjb3VudCA9
PSAyKSB7CisgICAgICAgICAgc2hvdWxkQmUoImV2ZW50LnR5cGUiLCAiJ3JlZG9yZXF1ZXN0JyIp
OworICAgICAgIH0KKyAgICAgICBlbHNlIGlmIChjb3VudCA9PSAzKSB7CisgICAgICAgICAgc2hv
dWxkQmUoImV2ZW50LnR5cGUiLCAiJ3VuZG9yZXF1ZXN0JyIpOworICAgICAgICAgIGlmICh3aW5k
b3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRy
b2xsZXIubm90aWZ5RG9uZSgpOworICAgICAgICAgIH0KKyAgICAgICB9CisgICAgICAgY291bnQr
KzsKKyAgICB9CisKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAg
ICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworICAgIH0KKyAgICAg
ICAgICAvLyBTZW5kIHRoZSBldmVudHMgdG8gdGhlIHNwZWNpZmljIG5vZGUgdG8gbWFrZSBzdXJl
IHRoZSBvbiogaGFuZGxlcnMgaGFuZGxlIHRoZSBldmVudC4KKyAgICAgICAgICB2YXIgZXZ0ID0g
ZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ1VJUmVxdWVzdEV2ZW50Jyk7CisgICAgICAgICAgZXZ0Lmlu
aXRVSVJlcXVlc3RFdmVudCgidW5kb3JlcXVlc3QiLCB0cnVlLCB0cnVlLCBkb2N1bWVudC5kZWZh
dWx0VmlldywgMCk7CisgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm9uZSIpLmRp
c3BhdGNoRXZlbnQoZXZ0KTsKKworICAgICAgICAgIGV2dCA9IGRvY3VtZW50LmNyZWF0ZUV2ZW50
KCdVSVJlcXVlc3RFdmVudCcpOworICAgICAgICAgIGV2dC5pbml0VUlSZXF1ZXN0RXZlbnQoInJl
ZG9yZXF1ZXN0IiwgdHJ1ZSwgdHJ1ZSwgZG9jdW1lbnQuZGVmYXVsdFZpZXcsIDApOworICAgICAg
ICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0d28iKS5kaXNwYXRjaEV2ZW50KGV2dCk7CisK
KyAgICAgICAgICBldnQgPSBkb2N1bWVudC5jcmVhdGVFdmVudCgnVUlSZXF1ZXN0RXZlbnQnKTsK
KyAgICAgICAgICBldnQuaW5pdFVJUmVxdWVzdEV2ZW50KCJlc2NhcGVyZXF1ZXN0IiwgdHJ1ZSwg
dHJ1ZSwgZG9jdW1lbnQuZGVmYXVsdFZpZXcsIDApOworICAgICAgICAgIGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJ0aHJlZSIpLmRpc3BhdGNoRXZlbnQoZXZ0KTsKKworICAgICAgICAgIGV2dCA9
IGRvY3VtZW50LmNyZWF0ZUV2ZW50KCdVSVJlcXVlc3RFdmVudCcpOworICAgICAgICAgIGV2dC5p
bml0VUlSZXF1ZXN0RXZlbnQoImRlbGV0ZXJlcXVlc3QiLCB0cnVlLCB0cnVlLCBkb2N1bWVudC5k
ZWZhdWx0VmlldywgMCk7CisgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZvdXIi
KS5kaXNwYXRjaEV2ZW50KGV2dCk7CisKKyAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZml2ZSIpLmFkZEV2ZW50TGlzdGVuZXIoJ2RlbGV0ZXJlcXVlc3QnLCBpbnN0YWxsZWRFdmVu
dEhhbmRsZXIpOworICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzaXgiKS5hZGRF
dmVudExpc3RlbmVyKCdlc2NhcGVyZXF1ZXN0JywgaW5zdGFsbGVkRXZlbnRIYW5kbGVyKTsKKyAg
ICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2V2ZW4iKS5hZGRFdmVudExpc3RlbmVy
KCdyZWRvcmVxdWVzdCcsIGluc3RhbGxlZEV2ZW50SGFuZGxlcik7CisgICAgICAgICAgZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImVpZ2h0IikuYWRkRXZlbnRMaXN0ZW5lcigndW5kb3JlcXVlc3Qn
LCBpbnN0YWxsZWRFdmVudEhhbmRsZXIpOworCisgICAgICAgICAgLy8gU2VuZCB0aGUgZXZlbnQg
dG8gdGhlIHNwZWNpZmljIG5vZGVzIHRvIG1ha2Ugc3VyZSB0aGUgYWRkRXZlbnRMaXN0ZW5lcnMg
d29yaworICAgICAgICAgIGV2dCA9IGRvY3VtZW50LmNyZWF0ZUV2ZW50KCdVSVJlcXVlc3RFdmVu
dCcpOworICAgICAgICAgIGV2dC5pbml0VUlSZXF1ZXN0RXZlbnQoImRlbGV0ZXJlcXVlc3QiLCB0
cnVlLCB0cnVlLCBkb2N1bWVudC5kZWZhdWx0VmlldywgMCk7CisgICAgICAgICAgZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImZpdmUiKS5kaXNwYXRjaEV2ZW50KGV2dCk7CisKKyAgICAgICAgICBl
dnQgPSBkb2N1bWVudC5jcmVhdGVFdmVudCgnVUlSZXF1ZXN0RXZlbnQnKTsKKyAgICAgICAgICBl
dnQuaW5pdFVJUmVxdWVzdEV2ZW50KCJlc2NhcGVyZXF1ZXN0IiwgdHJ1ZSwgdHJ1ZSwgZG9jdW1l
bnQuZGVmYXVsdFZpZXcsIDApOworICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
aXgiKS5kaXNwYXRjaEV2ZW50KGV2dCk7CisKKyAgICAgICAgICBldnQgPSBkb2N1bWVudC5jcmVh
dGVFdmVudCgnVUlSZXF1ZXN0RXZlbnQnKTsKKyAgICAgICAgICBldnQuaW5pdFVJUmVxdWVzdEV2
ZW50KCJyZWRvcmVxdWVzdCIsIHRydWUsIHRydWUsIGRvY3VtZW50LmRlZmF1bHRWaWV3LCAwKTsK
KyAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2V2ZW4iKS5kaXNwYXRjaEV2ZW50
KGV2dCk7CisKKyAgICAgICAgICBldnQgPSBkb2N1bWVudC5jcmVhdGVFdmVudCgnVUlSZXF1ZXN0
RXZlbnQnKTsKKyAgICAgICAgICBldnQuaW5pdFVJUmVxdWVzdEV2ZW50KCJ1bmRvcmVxdWVzdCIs
IHRydWUsIHRydWUsIGRvY3VtZW50LmRlZmF1bHRWaWV3LCAwKTsKKyAgICAgICAgICBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZWlnaHQiKS5kaXNwYXRjaEV2ZW50KGV2dCk7CisKKyAgICBzdWNj
ZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+CisKKzxzY3JpcHQgc3JjPSIuLi9mYXN0
L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9kb20vcHJvdG90eXBlLWluaGVyaXRhbmNlLWV4cGVj
dGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2RvbS9wcm90b3R5cGUtaW5o
ZXJpdGFuY2UtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA2OTIzOSkKKysrIExheW91dFRlc3RzL2Zh
c3QvZG9tL3Byb3RvdHlwZS1pbmhlcml0YW5jZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkK
QEAgLTYxMyw2ICs2MTMsOCBAQCBQQVNTIGlubmVyLlR5cGVFcnJvci5pc0lubmVyIGlzIHRydWUK
IFBBU1MgaW5uZXIuVHlwZUVycm9yLmNvbnN0cnVjdG9yLmlzSW5uZXIgaXMgdHJ1ZQogUEFTUyBp
bm5lci5VSUV2ZW50LmlzSW5uZXIgaXMgdHJ1ZQogUEFTUyBpbm5lci5VSUV2ZW50LmNvbnN0cnVj
dG9yLmlzSW5uZXIgaXMgdHJ1ZQorUEFTUyBpbm5lci5VSVJlcXVlc3RFdmVudC5pc0lubmVyIGlz
IHRydWUKK1BBU1MgaW5uZXIuVUlSZXF1ZXN0RXZlbnQuY29uc3RydWN0b3IuaXNJbm5lciBpcyB0
cnVlCiBQQVNTIGlubmVyLlVSSUVycm9yLmlzSW5uZXIgaXMgdHJ1ZQogUEFTUyBpbm5lci5VUklF
cnJvci5jb25zdHJ1Y3Rvci5pc0lubmVyIGlzIHRydWUKIFBBU1MgaW5uZXIuV2ViS2l0QW5pbWF0
aW9uRXZlbnQuaXNJbm5lciBpcyB0cnVlCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5k
b3cvd2luZG93LXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGllcy1leHBlY3RlZC50eHQJKHJldmlz
aW9uIDY5MjM5KQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0
aWVzLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMTk2NSw2ICsxOTY1LDggQEAgd2lu
ZG93LlRpbWVSYW5nZXMucHJvdG90eXBlLnN0YXJ0IFtmdW5jdAogd2luZG93LlR5cGVFcnJvciBb
ZnVuY3Rpb25dCiB3aW5kb3cuVUlFdmVudCBbb2JqZWN0IFVJRXZlbnRDb25zdHJ1Y3Rvcl0KIHdp
bmRvdy5VSUV2ZW50LnByb3RvdHlwZSBbcHJpbnRlZCBhYm92ZSBhcyB3aW5kb3cuRXZlbnQucHJv
dG90eXBlXQord2luZG93LlVJUmVxdWVzdEV2ZW50IFtvYmplY3QgVUlSZXF1ZXN0RXZlbnRDb25z
dHJ1Y3Rvcl0KK3dpbmRvdy5VSVJlcXVlc3RFdmVudC5wcm90b3R5cGUgW3ByaW50ZWQgYWJvdmUg
YXMgd2luZG93LkV2ZW50LnByb3RvdHlwZV0KIHdpbmRvdy5VUklFcnJvciBbZnVuY3Rpb25dCiB3
aW5kb3cuV2ViS2l0QW5pbWF0aW9uRXZlbnQgW29iamVjdCBXZWJLaXRBbmltYXRpb25FdmVudENv
bnN0cnVjdG9yXQogd2luZG93LldlYktpdEFuaW1hdGlvbkV2ZW50LnByb3RvdHlwZSBbcHJpbnRl
ZCBhYm92ZSBhcyB3aW5kb3cuRXZlbnQucHJvdG90eXBlXQpAQCAtMjI2MSw2ICsyMjYzLDcgQEAg
d2luZG93Lm9uY2hhbmdlIFtudWxsXQogd2luZG93Lm9uY2xpY2sgW251bGxdCiB3aW5kb3cub25j
b250ZXh0bWVudSBbbnVsbF0KIHdpbmRvdy5vbmRibGNsaWNrIFtudWxsXQord2luZG93Lm9uZGVs
ZXRlcmVxdWVzdCBbbnVsbF0KIHdpbmRvdy5vbmRyYWcgW251bGxdCiB3aW5kb3cub25kcmFnZW5k
IFtudWxsXQogd2luZG93Lm9uZHJhZ2VudGVyIFtudWxsXQpAQCAtMjI3Miw2ICsyMjc1LDcgQEAg
d2luZG93Lm9uZHVyYXRpb25jaGFuZ2UgW251bGxdCiB3aW5kb3cub25lbXB0aWVkIFtudWxsXQog
d2luZG93Lm9uZW5kZWQgW251bGxdCiB3aW5kb3cub25lcnJvciBbbnVsbF0KK3dpbmRvdy5vbmVz
Y2FwZXJlcXVlc3QgW251bGxdCiB3aW5kb3cub25mb2N1cyBbbnVsbF0KIHdpbmRvdy5vbmhhc2hj
aGFuZ2UgW251bGxdCiB3aW5kb3cub25pbnB1dCBbbnVsbF0KQEAgLTIzMDAsNiArMjMwNCw3IEBA
IHdpbmRvdy5vbnBsYXlpbmcgW251bGxdCiB3aW5kb3cub25wb3BzdGF0ZSBbbnVsbF0KIHdpbmRv
dy5vbnByb2dyZXNzIFtudWxsXQogd2luZG93Lm9ucmF0ZWNoYW5nZSBbbnVsbF0KK3dpbmRvdy5v
bnJlZG9yZXF1ZXN0IFtudWxsXQogd2luZG93Lm9ucmVzZXQgW251bGxdCiB3aW5kb3cub25yZXNp
emUgW251bGxdCiB3aW5kb3cub25zY3JvbGwgW251bGxdCkBAIC0yMzEyLDYgKzIzMTcsNyBAQCB3
aW5kb3cub25zdG9yYWdlIFtudWxsXQogd2luZG93Lm9uc3VibWl0IFtudWxsXQogd2luZG93Lm9u
c3VzcGVuZCBbbnVsbF0KIHdpbmRvdy5vbnRpbWV1cGRhdGUgW251bGxdCit3aW5kb3cub251bmRv
cmVxdWVzdCBbbnVsbF0KIHdpbmRvdy5vbnVubG9hZCBbbnVsbF0KIHdpbmRvdy5vbnZvbHVtZWNo
YW5nZSBbbnVsbF0KIHdpbmRvdy5vbndhaXRpbmcgW251bGxdCkluZGV4OiBMYXlvdXRUZXN0cy9m
YXN0L2pzL2dsb2JhbC1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2Zhc3QvanMvZ2xvYmFsLWNvbnN0cnVjdG9ycy1leHBlY3RlZC50eHQJKHJldmlz
aW9uIDY5MjM5KQorKysgTGF5b3V0VGVzdHMvZmFzdC9qcy9nbG9iYWwtY29uc3RydWN0b3JzLWV4
cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMjkwLDYgKzI5MCw3IEBAIFBBU1MgVGV4dEV2
ZW50LnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgVGUKIFBBU1MgVGV4dE1ldHJpY3MudG9TdHJpbmco
KSBpcyAnW29iamVjdCBUZXh0TWV0cmljc0NvbnN0cnVjdG9yXScKIFBBU1MgVGltZVJhbmdlcy50
b1N0cmluZygpIGlzICdbb2JqZWN0IFRpbWVSYW5nZXNDb25zdHJ1Y3Rvcl0nCiBQQVNTIFVJRXZl
bnQudG9TdHJpbmcoKSBpcyAnW29iamVjdCBVSUV2ZW50Q29uc3RydWN0b3JdJworUEFTUyBVSVJl
cXVlc3RFdmVudC50b1N0cmluZygpIGlzICdbb2JqZWN0IFVJUmVxdWVzdEV2ZW50Q29uc3RydWN0
b3JdJwogUEFTUyBXZWJLaXRBbmltYXRpb25FdmVudC50b1N0cmluZygpIGlzICdbb2JqZWN0IFdl
YktpdEFuaW1hdGlvbkV2ZW50Q29uc3RydWN0b3JdJwogUEFTUyBXZWJLaXRDU1NLZXlmcmFtZVJ1
bGUudG9TdHJpbmcoKSBpcyAnW29iamVjdCBXZWJLaXRDU1NLZXlmcmFtZVJ1bGVDb25zdHJ1Y3Rv
cl0nCiBQQVNTIFdlYktpdENTU0tleWZyYW1lc1J1bGUudG9TdHJpbmcoKSBpcyAnW29iamVjdCBX
ZWJLaXRDU1NLZXlmcmFtZXNSdWxlQ29uc3RydWN0b3JdJwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>70011</attachid>
            <date>2010-10-06 16:45:43 -0700</date>
            <delta_ts>2010-10-07 10:46:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-47301-20101006164542.patch</filename>
            <type>text/plain</type>
            <size>48951</size>
            <attacher name="chris fleizach">cfleizach</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2OTIzOSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNjAgQEAKKzIwMTAtMTAtMDYgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNoQGFw
cGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBBWDogU3VwcG9ydCBVSVJlcXVlc3RFdmVudHMgZnJvbSBuZXcgVzNDIFByb3Bvc2FsCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NzMwMQorCisgICAg
ICAgIFN1cHBvcnQgdGhlIG5ldyBVSVJlcXVlc3RFdmVudCBhcyBvdXRsaW5lIGluCisgICAgICAg
ICJVc2VyIEludGVyZmFjZSBJbmRlcGVuZGVuY2UgZm9yIEFjY2Vzc2libGUgUmljaCBJbnRlcm5l
dCBBcHBsaWNhdGlvbnMiCisgICAgICAgIGh0dHA6Ly9saXN0cy53My5vcmcvQXJjaGl2ZXMvUHVi
bGljL3dhaS14dGVjaC8yMDEwQXVnL2F0dC0wMDc5L1VzZXJJbnRlcmZhY2VJbmRlcGVuZGVuY2Uu
aHRtbAorCisgICAgICAgIEl0IGFkZHMgYSBuZXcgZXZlbnQgdGhhdCBjYW4gYmUgbGlzdGVuZWQg
dG8gYW5kIHNlbnQgdGhhdCBkZWNvdXBsZXMgYWN0aW9ucyBmcm9tIGEgc3BlY2lmaWMKKyAgICAg
ICAgdHlwZSBvZiBpbnB1dCwgYWxsb3dpbmcgYW4gYXNzaXN0aXZlIHRlY2hub2xvZ3kgdG8gc2Vu
ZCBhbiAiZXNjYXBlLCB1bmRvLCByZWRvLCBvciBkZWxldGUiIGFjdGlvbgorICAgICAgICB3aGVu
ZXZlciBpdCBuZWVkcyB0byBiYXNlZCBvbiBpdHMgb3duIGlucHV0LiAgICAgICAgCisKKyAgICAg
ICAgVGVzdDogYWNjZXNzaWJpbGl0eS91aXJlcXVlc3QtZXZlbnRzLmh0bWwKKworICAgICAgICAq
IEFuZHJvaWQuZGVyaXZlZC52OGJpbmRpbmdzLm1rOgorICAgICAgICAqIEFuZHJvaWQuanNjYmlu
ZGluZ3MubWs6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMuY3BwOgorICAgICAgICAqIERlcml2
ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogR05VbWFrZWZpbGUuYW06CisgICAgICAgICogV2Vi
Q29yZS5leHAuaW46CisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIFdlYkNvcmUu
cHJpOgorICAgICAgICAqIFdlYkNvcmUucHJvOgorICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dl
YkNvcmUudmNwcm9qOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ajoKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdDo6ZGlzcGF0Y2hVSVJlcXVlc3RFdmVu
dCk6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0Lmg6CisgICAg
ICAgICogYWNjZXNzaWJpbGl0eS9VSVJlcXVlc3RFdmVudC5jcHA6IEFkZGVkLgorICAgICAgICAo
V2ViQ29yZTo6VUlSZXF1ZXN0RXZlbnQ6OlVJUmVxdWVzdEV2ZW50KToKKyAgICAgICAgKFdlYkNv
cmU6OlVJUmVxdWVzdEV2ZW50Ojppbml0VUlSZXF1ZXN0RXZlbnQpOgorICAgICAgICAqIGFjY2Vz
c2liaWxpdHkvVUlSZXF1ZXN0RXZlbnQuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpVSVJl
cXVlc3RFdmVudDo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlVJUmVxdWVzdEV2ZW50Ojpp
c1VJUmVxdWVzdEV2ZW50KToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L1VJUmVxdWVzdEV2ZW50
LmlkbDogQWRkZWQuCisgICAgICAgICogYmluZGluZ3MvZ29iamVjdC9HTlVtYWtlZmlsZS5hbToK
KyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0V2ZW50Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OnRvSlMpOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpEb2N1bWVudDo6Y3JlYXRlRXZlbnQpOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5oOgorICAg
ICAgICAqIGRvbS9Eb2N1bWVudC5pZGw6CisgICAgICAgICogZG9tL0VsZW1lbnQuaDoKKyAgICAg
ICAgKiBkb20vRWxlbWVudC5pZGw6CisgICAgICAgICogZG9tL0V2ZW50LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkV2ZW50Ojppc1VJUmVxdWVzdEV2ZW50KToKKyAgICAgICAgKiBkb20vRXZlbnQu
aDoKKyAgICAgICAgKiBkb20vRXZlbnROYW1lcy5oOgorICAgICAgICAqIGh0bWwvSFRNTEF0dHJp
YnV0ZU5hbWVzLmluOgorICAgICAgICAqIGh0bWwvSFRNTEVsZW1lbnQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6SFRNTEVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKToKKyAgICAgICAgKiBw
YWdlL0RPTVdpbmRvdy5oOgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmlkbDoKKwogMjAxMC0x
MC0wNiAgRGF2aWQgSHlhdHQgIDxoeWF0dEBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQg
YnkgRGFuIEJlcm5zdGVpbi4KSW5kZXg6IFdlYkNvcmUvQW5kcm9pZC5kZXJpdmVkLnY4YmluZGlu
Z3MubWsKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9BbmRyb2lkLmRlcml2ZWQudjhiaW5kaW5ncy5t
awkocmV2aXNpb24gNjkyMzkpCisrKyBXZWJDb3JlL0FuZHJvaWQuZGVyaXZlZC52OGJpbmRpbmdz
Lm1rCSh3b3JraW5nIGNvcHkpCkBAIC0yNjQsNiArMjY0LDIwIEBAIExPQ0FMX0dFTkVSQVRFRF9T
T1VSQ0VTICs9ICQoR0VOKQogIyBhYm92ZSBydWxlcy4gIFNwZWNpZnlpbmcgdGhpcyBleHBsaWNp
dGx5IG1ha2VzIC1qMiB3b3JrLgogJChwYXRzdWJzdCAlLmgsJS5jcHAsJChHRU4pKTogJChpbnRl
cm1lZGlhdGVzKS9iaW5kaW5ncy8lLmNwcCA6ICQoaW50ZXJtZWRpYXRlcykvYmluZGluZ3MvJS5o
CiAKKyMgQWNjZXNzaWJpbGl0eQorR0VOIDo9IFwKKyAgICAkKGludGVybWVkaWF0ZXMpL2JpbmRp
bmdzL1Y4VUlSZXF1ZXN0RXZlbnQuaAorIAorJChHRU4pOiBQUklWQVRFX1BBVEggOj0gJChMT0NB
TF9QQVRIKQorJChHRU4pOiBQUklWQVRFX0NVU1RPTV9UT09MID0gU09VUkNFX1JPT1Q9JChQUklW
QVRFX1BBVEgpIHBlcmwgLUkkKFBSSVZBVEVfUEFUSCkvYmluZGluZ3Mvc2NyaXB0cyAkKFBSSVZB
VEVfUEFUSCkvYmluZGluZ3Mvc2NyaXB0cy9nZW5lcmF0ZS1iaW5kaW5ncy5wbCAtLWRlZmluZXMg
IiQoRkVBVFVSRV9ERUZJTkVTKSBMQU5HVUFHRV9KQVZBU0NSSVBUIiAtLWdlbmVyYXRvciBWOCAt
LWluY2x1ZGUgZG9tIC0taW5jbHVkZSBodG1sIC0tb3V0cHV0ZGlyICQoZGlyICRAKSAkPAorJChH
RU4pOiAkKGludGVybWVkaWF0ZXMpL2JpbmRpbmdzL1Y4JS5oIDogJChMT0NBTF9QQVRIKS9hY2Nl
c3NpYmlsaXR5LyUuaWRsICQoanNfYmluZGluZ19zY3JpcHRzKQorCSQodHJhbnNmb3JtLWdlbmVy
YXRlZC1zb3VyY2UpCitMT0NBTF9HRU5FUkFURURfU09VUkNFUyArPSAkKEdFTikKKworIyBXZSBh
bHNvIG5lZWQgdGhlIC5jcHAgZmlsZXMsIHdoaWNoIGFyZSBnZW5lcmF0ZWQgYXMgc2lkZSBlZmZl
Y3RzIG9mIHRoZQorIyBhYm92ZSBydWxlcy4gIFNwZWNpZnlpbmcgdGhpcyBleHBsaWNpdGx5IG1h
a2VzIC1qMiB3b3JrLgorJChwYXRzdWJzdCAlLmgsJS5jcHAsJChHRU4pKTogJChpbnRlcm1lZGlh
dGVzKS9iaW5kaW5ncy8lLmNwcCA6ICQoaW50ZXJtZWRpYXRlcykvYmluZGluZ3MvJS5oCisKICMg
UGFnZQogR0VOIDo9IFwKICAgICAkKGludGVybWVkaWF0ZXMpL2JpbmRpbmdzL1Y4QmFySW5mby5o
IFwKSW5kZXg6IFdlYkNvcmUvQW5kcm9pZC5qc2NiaW5kaW5ncy5tawo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL0FuZHJvaWQuanNjYmluZGluZ3MubWsJKHJldmlzaW9uIDY5MjM5KQorKysgV2ViQ29y
ZS9BbmRyb2lkLmpzY2JpbmRpbmdzLm1rCSh3b3JraW5nIGNvcHkpCkBAIC00NSw2ICs0NSw3IEBA
IEJJTkRJTkdfQ19JTkNMVURFUyA6PSBcCiAJJChKQVZBU0NSSVBUQ09SRV9QQVRIKS93cmVjIFwK
IAkkKEpBVkFTQ1JJUFRDT1JFX1BBVEgpL0ZvcndhcmRpbmdIZWFkZXJzIFwKIAlcCisJJChiYXNl
X2ludGVybWVkaWF0ZXMpL1dlYkNvcmUvYWNjZXNzaWJpbGl0eSBcCiAJJChiYXNlX2ludGVybWVk
aWF0ZXMpL1dlYkNvcmUvYmluZGluZ3MvanMgXAogCSQoYmFzZV9pbnRlcm1lZGlhdGVzKS9XZWJD
b3JlL2RvbSBcCiAJJChiYXNlX2ludGVybWVkaWF0ZXMpL1dlYkNvcmUvaHRtbC9jYW52YXMgXApJ
bmRleDogV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy5jcHAJKHJldmlzaW9uIDY5MjM5KQorKysgV2ViQ29yZS9EZXJpdmVkU291
cmNlcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQxOCw2ICs0MTgsNyBAQAogI2luY2x1ZGUgIkpT
VG91Y2hMaXN0LmNwcCIKICNpbmNsdWRlICJKU1RyZWVXYWxrZXIuY3BwIgogI2luY2x1ZGUgIkpT
VUlFdmVudC5jcHAiCisjaW5jbHVkZSAiSlNVSVJlcXVlc3RFdmVudC5jcHAiCiAjaW5jbHVkZSAi
SlNWYWxpZGl0eVN0YXRlLmNwcCIKICNpbmNsdWRlICJKU1dlYktpdEFuaW1hdGlvbkV2ZW50LmNw
cCIKICNpbmNsdWRlICJKU1dlYktpdENTU0tleWZyYW1lUnVsZS5jcHAiCkluZGV4OiBXZWJDb3Jl
L0Rlcml2ZWRTb3VyY2VzLm1ha2UKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9EZXJpdmVkU291cmNl
cy5tYWtlCShyZXZpc2lvbiA2OTIzOSkKKysrIFdlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQko
d29ya2luZyBjb3B5KQpAQCAtMjgsNiArMjgsNyBAQAogCiBWUEFUSCA9IFwKICAgICAkKFdlYkNv
cmUpIFwKKyAgICAkKFdlYkNvcmUpL2FjY2Vzc2liaWxpdHkgXAogICAgICQoV2ViQ29yZSkvYmlu
ZGluZ3MvZ2VuZXJpYyBcCiAgICAgJChXZWJDb3JlKS9iaW5kaW5ncy9qcyBcCiAgICAgJChXZWJD
b3JlKS9iaW5kaW5ncy9vYmpjIFwKQEAgLTQ3NCw2ICs0NzUsNyBAQCBET01fQ0xBU1NFUyA9IFwK
ICAgICBUb3VjaExpc3QgXAogICAgIFRyZWVXYWxrZXIgXAogICAgIFVJRXZlbnQgXAorICAgIFVJ
UmVxdWVzdEV2ZW50IFwKICAgICBWYWxpZGl0eVN0YXRlIFwKICAgICBXZWJLaXRBbmltYXRpb25F
dmVudCBcCiAgICAgV2ViS2l0Q1NTS2V5ZnJhbWVSdWxlIFwKSW5kZXg6IFdlYkNvcmUvR05VbWFr
ZWZpbGUuYW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQkocmV2aXNpb24g
NjkyMzkpCisrKyBXZWJDb3JlL0dOVW1ha2VmaWxlLmFtCSh3b3JraW5nIGNvcHkpCkBAIC01MTQs
NiArNTE0LDggQEAgd2ViY29yZV9idWlsdF9zb3VyY2VzICs9IFwKIAlEZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTVHJlZVdhbGtlci5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTVUlFdmVu
dC5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNVSUV2ZW50LmggXAorCURlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNVSVJlcXVlc3RFdmVudC5jcHAgXAorCURlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNVSVJlcXVlc3RFdmVudC5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTVWlu
dDE2QXJyYXkuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTVWludDE2QXJyYXkuaCBc
CiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1VpbnQzMkFycmF5LmNwcCBcCkBAIC02MjEsNiAr
NjIzLDggQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlXZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNj
ZXNzaWJpbGl0eVRhYmxlUm93LmggXAogCVdlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENh
Y2hlLmNwcCBcCiAJV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaCBcCisJV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L1VJUmVxdWVzdEV2ZW50LmNwcCBcCisJV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L1VJUmVxdWVzdEV2ZW50LmggXAogCVdlYkNvcmUvYmluZGluZ3MvZ2VuZXJpYy9BY3Rp
dmVET01DYWxsYmFjay5jcHAgXAogCVdlYkNvcmUvYmluZGluZ3MvZ2VuZXJpYy9BY3RpdmVET01D
YWxsYmFjay5oIFwKIAlXZWJDb3JlL2JpbmRpbmdzL2dlbmVyaWMvQmluZGluZ0ZyYW1lLmggXApA
QCAtNDUxMSw2ICs0NTE1LDcgQEAgRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbnNwZWN0b3JGcm9u
dGVuZAogCSQoQU1fVl9HRU4pJChQRVJMKSAtSSQoV2ViQ29yZSkvYmluZGluZ3Mvc2NyaXB0cyAt
SSQoV2ViQ29yZSkvaW5zcGVjdG9yICQoV2ViQ29yZSkvYmluZGluZ3Mvc2NyaXB0cy9nZW5lcmF0
ZS1iaW5kaW5ncy5wbCAkKElETF9QQVRIOiU9LS1pbmNsdWRlICIlIikgLS1vdXRwdXREaXIgIiQo
R0VOU09VUkNFU19XRUJDT1JFKSIgLS1kZWZpbmVzICJMQU5HVUFHRV9KQVZBU0NSSVBUPTEgJChG
RUFUVVJFX0RFRklORVMpIiAtLWdlbmVyYXRvciBJbnNwZWN0b3IgJDwKIAogSURMX1BBVEggOj0g
XAorICAgICQoV2ViQ29yZSkvYWNjZXNzaWJpbGl0eSBcCiAgICAgJChXZWJDb3JlKS9iaW5kaW5n
cy9qcyBcCiAgICAgJChXZWJDb3JlKS9jc3MgXAogICAgICQoV2ViQ29yZSkvZG9tIFwKSW5kZXg6
IFdlYkNvcmUvV2ViQ29yZS5leHAuaW4KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9XZWJDb3JlLmV4
cC5pbgkocmV2aXNpb24gNjkyMzkpCisrKyBXZWJDb3JlL1dlYkNvcmUuZXhwLmluCSh3b3JraW5n
IGNvcHkpCkBAIC0xMDQsNiArMTA0LDcgQEAKIC5vYmpjX2NsYXNzX25hbWVfRE9NVGV4dEV2ZW50
CiAub2JqY19jbGFzc19uYW1lX0RPTVRyZWVXYWxrZXIKIC5vYmpjX2NsYXNzX25hbWVfRE9NVUlF
dmVudAorLm9iamNfY2xhc3NfbmFtZV9ET01VSVJlcXVlc3RFdmVudAogLm9iamNfY2xhc3NfbmFt
ZV9ET01XaGVlbEV2ZW50CiAub2JqY19jbGFzc19uYW1lX1dlYkNvcmVLZXlHZW5lcmF0b3IKIC5v
YmpjX2NsYXNzX25hbWVfV2ViQ29yZVZpZXdGYWN0b3J5CkluZGV4OiBXZWJDb3JlL1dlYkNvcmUu
Z3lwaQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL1dlYkNvcmUuZ3lwaQkocmV2aXNpb24gNjkyMzkp
CisrKyBXZWJDb3JlL1dlYkNvcmUuZ3lwaQkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDcgQEAK
IHsKICAgICAndmFyaWFibGVzJzogewogICAgICAgICAnd2ViY29yZV9iaW5kaW5nc19pZGxfZmls
ZXMnOiBbCisgICAgICAgICAgICAnYWNjZXNzaWJpbGl0eS9VSVJlcXVlc3RFdmVudC5pZGwnLAog
ICAgICAgICAgICAgJ2Nzcy9DU1NDaGFyc2V0UnVsZS5pZGwnLAogICAgICAgICAgICAgJ2Nzcy9D
U1NGb250RmFjZVJ1bGUuaWRsJywKICAgICAgICAgICAgICdjc3MvQ1NTSW1wb3J0UnVsZS5pZGwn
LApAQCAtNTAzLDYgKzUwNCw4IEBACiAgICAgICAgICAgICAnYWNjZXNzaWJpbGl0eS9BY2Nlc3Np
YmlsaXR5VGFibGVIZWFkZXJDb250YWluZXIuaCcsCiAgICAgICAgICAgICAnYWNjZXNzaWJpbGl0
eS9BY2Nlc3NpYmlsaXR5VGFibGVSb3cuY3BwJywKICAgICAgICAgICAgICdhY2Nlc3NpYmlsaXR5
L0FjY2Vzc2liaWxpdHlUYWJsZVJvdy5oJywKKyAgICAgICAgICAgICdhY2Nlc3NpYmlsaXR5L1VJ
UmVxdWVzdEV2ZW50LmNwcCcsCisgICAgICAgICAgICAnYWNjZXNzaWJpbGl0eS9VSVJlcXVlc3RF
dmVudC5oJywKICAgICAgICAgICAgICdhY2Nlc3NpYmlsaXR5L2Nocm9taXVtL0FYT2JqZWN0Q2Fj
aGVDaHJvbWl1bS5jcHAnLAogICAgICAgICAgICAgJ2FjY2Vzc2liaWxpdHkvY2hyb21pdW0vQWNj
ZXNzaWJpbGl0eU9iamVjdENocm9taXVtLmNwcCcsCiAgICAgICAgICAgICAnYWNjZXNzaWJpbGl0
eS9jaHJvbWl1bS9BY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlci5oJywKSW5kZXg6IFdlYkNvcmUv
V2ViQ29yZS5wcmkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9XZWJDb3JlLnByaQkocmV2aXNpb24g
NjkyMzkpCisrKyBXZWJDb3JlL1dlYkNvcmUucHJpCSh3b3JraW5nIGNvcHkpCkBAIC02OSw2ICs2
OSw3IEBAIHY4IHsKIH0KIAogSURMX0JJTkRJTkdTICs9IFwKKyAgICBhY2Nlc3NpYmlsaXR5L1VJ
UmVxdWVzdEV2ZW50LmlkbCBcCiAgICAgY3NzL0NvdW50ZXIuaWRsIFwKICAgICBjc3MvQ1NTQ2hh
cnNldFJ1bGUuaWRsIFwKICAgICBjc3MvQ1NTRm9udEZhY2VSdWxlLmlkbCBcCkluZGV4OiBXZWJD
b3JlL1dlYkNvcmUucHJvCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvV2ViQ29yZS5wcm8JKHJldmlz
aW9uIDY5MjM5KQorKysgV2ViQ29yZS9XZWJDb3JlLnBybwkod29ya2luZyBjb3B5KQpAQCAtMzE4
LDYgKzMxOCw3IEBAIFNPVVJDRVMgKz0gXAogICAgIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0
eVRhYmxlSGVhZGVyQ29udGFpbmVyLmNwcCBcICAgIAogICAgIGFjY2Vzc2liaWxpdHkvQWNjZXNz
aWJpbGl0eVRhYmxlUm93LmNwcCBcICAgIAogICAgIGFjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNo
ZS5jcHAgXAorICAgIGFjY2Vzc2liaWxpdHkvVUlSZXF1ZXN0RXZlbnQuY3BwIFwKICAgICBiaW5k
aW5ncy9nZW5lcmljL0FjdGl2ZURPTUNhbGxiYWNrLmNwcAogCiB2OCB7CkluZGV4OiBXZWJDb3Jl
L1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvV2Vi
Q29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oJKHJldmlzaW9uIDY5MjM5KQorKysgV2ViQ29yZS9X
ZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagkod29ya2luZyBjb3B5KQpAQCAtMjAyNzUsNiAr
MjAyNzUsNjIgQEAKIAkJCQk+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQorCQkJCVJlbGF0aXZl
UGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNl
c1xKU1VJUmVxdWVzdEV2ZW50LmNwcCINCisJCQkJPg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24N
CisJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIg0KKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUi
DQorCQkJCQk+DQorCQkJCQk8VG9vbA0KKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQor
CQkJCQkvPg0KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRp
b24NCisJCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0i
dHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9v
bCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxGaWxlQ29uZmln
dXJhdGlvbg0KKwkJCQkJTmFtZT0iRGVidWdfSW50ZXJuYWx8V2luMzIiDQorCQkJCQlFeGNsdWRl
ZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkND
TENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJ
CTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0iRGVidWdfQ2Fpcm98V2luMzIiDQorCQkJ
CQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJ
TmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRp
b24+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0iUmVsZWFzZV9DYWlyb3xX
aW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJCQkJPFRv
b2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJPC9GaWxl
Q29uZmlndXJhdGlvbj4NCisJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQlOYW1lPSJEZWJ1
Z19BbGx8V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJ
CQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJ
CTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0
aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291
cmNlc1xKU1VJUmVxdWVzdEV2ZW50LmgiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUN
CiAJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUp
XERlcml2ZWRTb3VyY2VzXEpTVmFsaWRpdHlTdGF0ZS5jcHAiDQogCQkJCT4NCiAJCQkJPEZpbGVD
b25maWd1cmF0aW9uDQpAQCAtMjMwMTQsNiArMjMwNzAsNjIgQEAKIAkJCQlSZWxhdGl2ZVBhdGg9
Ii4uXGFjY2Vzc2liaWxpdHlcQVhPYmplY3RDYWNoZS5oIg0KIAkJCQk+DQogCQkJPC9GaWxlPg0K
KwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cYWNjZXNzaWJpbGl0eVxVSVJlcXVlc3RF
dmVudC5jcHAiDQorCQkJCT4NCisJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQlOYW1lPSJE
ZWJ1Z3xXaW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJ
CQkJPFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJ
PC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQlOYW1l
PSJSZWxlYXNlfFdpbjMyIg0KKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQk+
DQorCQkJCQk8VG9vbA0KKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkvPg0K
KwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJ
CU5hbWU9IkRlYnVnX0ludGVybmFsfFdpbjMyIg0KKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRy
dWUiDQorCQkJCQk+DQorCQkJCQk8VG9vbA0KKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wi
DQorCQkJCQkvPg0KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQk8RmlsZUNvbmZpZ3Vy
YXRpb24NCisJCQkJCU5hbWU9IkRlYnVnX0NhaXJvfFdpbjMyIg0KKwkJCQkJRXhjbHVkZWRGcm9t
QnVpbGQ9InRydWUiDQorCQkJCQk+DQorCQkJCQk8VG9vbA0KKwkJCQkJCU5hbWU9IlZDQ0xDb21w
aWxlclRvb2wiDQorCQkJCQkvPg0KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQk8Rmls
ZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9IlJlbGVhc2VfQ2Fpcm98V2luMzIiDQorCQkJCQlF
eGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFt
ZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+
DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0iRGVidWdfQWxsfFdpbjMyIg0K
KwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQk+DQorCQkJCQk8VG9vbA0KKwkJ
CQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkvPg0KKwkJCQk8L0ZpbGVDb25maWd1
cmF0aW9uPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGFj
Y2Vzc2liaWxpdHlcVUlSZXF1ZXN0RXZlbnQuaCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCiAJCQk8
RmlsdGVyDQogCQkJCU5hbWU9IndpbiINCiAJCQkJPg0KSW5kZXg6IFdlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiA2OTIzOSkKKysrIFdlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC02OTcsNiAr
Njk3LDEwIEBACiAJCTI5QTgxMjQ5MEZCQjlDQTkwMDUxMDI5MyAvKiBBY2Nlc3NpYmlsaXR5T2Jq
ZWN0V3JhcHBlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMjlBODEyNDUwRkJCOUNBOTAwNTEwMjkzIC8qIEFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVy
LmggKi87IH07CiAJCTI5QTgxMjRBMEZCQjlDQTkwMDUxMDI5MyAvKiBBY2Nlc3NpYmlsaXR5T2Jq
ZWN0V3JhcHBlci5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDI5QTgxMjQ2MEZCQjlDQTkwMDUxMDI5MyAvKiBBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBl
ci5tbSAqLzsgfTsKIAkJMjlBODEyNEIwRkJCOUNBOTAwNTEwMjkzIC8qIEFYT2JqZWN0Q2FjaGVN
YWMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyOUE4
MTI0NzBGQkI5Q0E5MDA1MTAyOTMgLyogQVhPYmplY3RDYWNoZU1hYy5tbSAqLzsgfTsKKwkJMjlE
RDIxMTExMjVCQzcxRjAwMTYzQzBDIC8qIFVJUmVxdWVzdEV2ZW50LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyOUREMjEwRjEyNUJDNzFGMDAxNjNDMEMg
LyogVUlSZXF1ZXN0RXZlbnQuaCAqLzsgfTsKKwkJMjlERDIxMTIxMjVCQzcxRjAwMTYzQzBDIC8q
IFVJUmVxdWVzdEV2ZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDI5REQyMTEwMTI1QkM3MUYwMDE2M0MwQyAvKiBVSVJlcXVlc3RFdmVudC5jcHAg
Ki87IH07CisJCTI5REQyMjlDMTI1QzAyMEEwMDE2M0MwQyAvKiBKU1VJUmVxdWVzdEV2ZW50LmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE4NjYyOURB
MDlEQTJCNDcwMDk2MzNBNSAvKiBKU1VJUmVxdWVzdEV2ZW50LmNwcCAqLzsgfTsKKwkJMjlERDIy
OUQxMjVDMDIwRTAwMTYzQzBDIC8qIEpTVUlSZXF1ZXN0RXZlbnQuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE4NjYyOUQ5MDlEQTJCNDcwMDk2MzNBNSAv
KiBKU1VJUmVxdWVzdEV2ZW50LmggKi87IH07CiAJCTJEOTA2NjA2MEJFMTQxRDQwMDk1Njk5OCAv
KiBMYXlvdXRTdGF0ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAyRDkwNjYwNDBCRTE0MUQ0MDA5NTY5OTggLyogTGF5b3V0U3RhdGUuY3BwICovOyB9
OwogCQkyRDkwNjYwNzBCRTE0MUQ0MDA5NTY5OTggLyogTGF5b3V0U3RhdGUuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEOTA2NjA1MEJFMTQxRDQwMDk1
Njk5OCAvKiBMYXlvdXRTdGF0ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCTJFMDg4OEQ0MTE0ODg0OEEwMEFGNDI2NSAvKiBKU0RPTUZvcm1EYXRh
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJFMDg4
OEQyMTE0ODg0OEEwMEFGNDI2NSAvKiBKU0RPTUZvcm1EYXRhLmNwcCAqLzsgfTsKQEAgLTY3MDIs
NiArNjcwNiw5IEBACiAJCTI5QTgxMjQ1MEZCQjlDQTkwMDUxMDI5MyAvKiBBY2Nlc3NpYmlsaXR5
T2JqZWN0V3JhcHBlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBY2Nlc3Np
YmlsaXR5T2JqZWN0V3JhcHBlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyOUE4
MTI0NjBGQkI5Q0E5MDA1MTAyOTMgLyogQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIubW0gKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBBY2Nlc3NpYmlsaXR5T2JqZWN0
V3JhcHBlci5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMjlBODEyNDcwRkJCOUNB
OTAwNTEwMjkzIC8qIEFYT2JqZWN0Q2FjaGVNYWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5vYmpjcHA7IHBhdGggPSBBWE9iamVjdENhY2hlTWFjLm1tOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQkyOUREMjEwRjEyNUJDNzFGMDAxNjNDMEMgLyogVUlSZXF1ZXN0RXZlbnQuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVUlSZXF1ZXN0RXZlbnQuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMjlERDIxMTAxMjVCQzcxRjAwMTYzQzBDIC8qIFVJUmVx
dWVzdEV2ZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFVJUmVx
dWVzdEV2ZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMjlERDIxMTMxMjVC
QzczRTAwMTYzQzBDIC8qIFVJUmVxdWVzdEV2ZW50LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGgg
PSBVSVJlcXVlc3RFdmVudC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJEOTA2
NjA0MEJFMTQxRDQwMDk1Njk5OCAvKiBMYXlvdXRTdGF0ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gTGF5b3V0U3RhdGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQkyRDkwNjYwNTBCRTE0MUQ0MDA5NTY5OTggLyogTGF5b3V0U3RhdGUuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExheW91dFN0YXRlLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTJEOTA2NjBCMDY2NUQ5MzcwMDZCNkYxQSAvKiBDbGlwYm9hcmRN
YWMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgaW5k
ZW50V2lkdGggPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
Q2xpcGJvYXJkTWFjLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHRhYldpZHRoID0gODsgdXNl
c1RhYnMgPSAwOyB9OwpAQCAtOTI1NCw2ICs5MjYxLDggQEAKIAkJQTg2NjI5Q0MwOURBMkI0NzAw
OTYzM0E1IC8qIEpTTW91c2VFdmVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gSlNNb3VzZUV2ZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
QTg2NjI5Q0QwOURBMkI0NzAwOTYzM0E1IC8qIEpTS2V5Ym9hcmRFdmVudC5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNLZXlib2FyZEV2ZW50Lmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUE4NjYyOUNFMDlEQTJCNDcwMDk2MzNBNSAvKiBKU0tleWJvYXJkRXZl
bnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTS2V5Ym9hcmRF
dmVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE4NjYyOUQ5MDlEQTJCNDcw
MDk2MzNBNSAvKiBKU1VJUmVxdWVzdEV2ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBKU1VJUmVxdWVzdEV2ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CUE4NjYyOURBMDlEQTJCNDcwMDk2MzNBNSAvKiBKU1VJUmVxdWVzdEV2ZW50LmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1VJUmVxdWVzdEV2ZW50LmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTg3MUQ0NEMwQTEyN0NCQzAwQjEyQTY4IC8qIEhU
TUxQbHVnSW5FbGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBIVE1M
UGx1Z0luRWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBODcxRDQ0RDBB
MTI3Q0JDMDBCMTJBNjggLyogSFRNTFBsdWdJbkVsZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEhUTUxQbHVnSW5FbGVtZW50LmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQTg3MUQ0NEUwQTEyN0NCQzAwQjEyQTY4IC8qIEhUTUxQYXJhbUVs
ZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEhUTUxQYXJhbUVsZW1l
bnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEyMjcwLDYgKzEyMjc5LDkgQEAK
IAkJCQkyOUE4MTIxMzBGQkI5QzFEMDA1MTAyOTMgLyogQWNjZXNzaWJpbGl0eVRhYmxlUm93Lmgg
Ki8sCiAJCQkJMjlBODEyMTkwRkJCOUMxRDAwNTEwMjkzIC8qIEFYT2JqZWN0Q2FjaGUuY3BwICov
LAogCQkJCTI5QTgxMjFBMEZCQjlDMUQwMDUxMDI5MyAvKiBBWE9iamVjdENhY2hlLmggKi8sCisJ
CQkJMjlERDIxMTAxMjVCQzcxRjAwMTYzQzBDIC8qIFVJUmVxdWVzdEV2ZW50LmNwcCAqLywKKwkJ
CQkyOUREMjEwRjEyNUJDNzFGMDAxNjNDMEMgLyogVUlSZXF1ZXN0RXZlbnQuaCAqLywKKwkJCQky
OUREMjExMzEyNUJDNzNFMDAxNjNDMEMgLyogVUlSZXF1ZXN0RXZlbnQuaWRsICovLAogCQkJKTsK
IAkJCXBhdGggPSBhY2Nlc3NpYmlsaXR5OwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKQEAg
LTE1NzI2LDYgKzE1NzM4LDggQEAKIAkJCQk5MzNBMTRCNzBCN0QxRDUyMDBBNTNGRkQgLyogSlNU
ZXh0RXZlbnQuaCAqLywKIAkJCQlBODY2MjlDQTA5REEyQjQ3MDA5NjMzQTUgLyogSlNVSUV2ZW50
LmNwcCAqLywKIAkJCQlBODY2MjlDOTA5REEyQjQ3MDA5NjMzQTUgLyogSlNVSUV2ZW50LmggKi8s
CisJCQkJQTg2NjI5REEwOURBMkI0NzAwOTYzM0E1IC8qIEpTVUlSZXF1ZXN0RXZlbnQuY3BwICov
LAorCQkJCUE4NjYyOUQ5MDlEQTJCNDcwMDk2MzNBNSAvKiBKU1VJUmVxdWVzdEV2ZW50LmggKi8s
CiAJCQkJMzFDMEZGMzkwRTRDRUZBQzAwN0Q2RkU1IC8qIEpTV2ViS2l0QW5pbWF0aW9uRXZlbnQu
Y3BwICovLAogCQkJCTMxQzBGRjNBMEU0Q0VGQUMwMDdENkZFNSAvKiBKU1dlYktpdEFuaW1hdGlv
bkV2ZW50LmggKi8sCiAJCQkJMzFDMEZGM0IwRTRDRUZBQzAwN0Q2RkU1IC8qIEpTV2ViS2l0VHJh
bnNpdGlvbkV2ZW50LmNwcCAqLywKQEAgLTIxMDUxLDYgKzIxMDY1LDggQEAKIAkJCQkwODE2NjhE
NDEyNTYwM0JGMDA2RjI1REUgLyogU1ZHVGV4dENodW5rQnVpbGRlci5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJMDgxNjY4REExMjU2MDNENTAwNkYyNURFIC8qIFNWR1RleHRMYXlvdXRFbmdpbmUuaCBp
biBIZWFkZXJzICovLAogCQkJCTFBRjhFMTFBMTI1NjU5MjYwMDIzMEZGNyAvKiBQcm94eVNlcnZl
ci5oIGluIEhlYWRlcnMgKi8sCisJCQkJMjlERDIxMTExMjVCQzcxRjAwMTYzQzBDIC8qIFVJUmVx
dWVzdEV2ZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQkyOUREMjI5RDEyNUMwMjBFMDAxNjNDMEMg
LyogSlNVSVJlcXVlc3RFdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODkzQzQ4MDExMjQ4QkQz
QTAwMkIzRDg2IC8qIERpcmVjdG9yeUVudHJ5U3luYy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODkz
QzQ4MDMxMjQ4QkQzQTAwMkIzRDg2IC8qIERpcmVjdG9yeVJlYWRlclN5bmMuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTg5M0M0ODA1MTI0OEJEM0EwMDJCM0Q4NiAvKiBET01GaWxlU3lzdGVtQmFzZS5o
IGluIEhlYWRlcnMgKi8sCkBAIC0yMTEyNSw2ICsyMTE0MSw3IEBACiAJCQlpc2EgPSBQQlhQcm9q
ZWN0OwogCQkJYnVpbGRDb25maWd1cmF0aW9uTGlzdCA9IDE0OUMyODQzMDg5MDJCMTEwMDhBOUVG
QyAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWFByb2plY3QgIldlYkNvcmUiICov
OwogCQkJY29tcGF0aWJpbGl0eVZlcnNpb24gPSAiWGNvZGUgMi40IjsKKwkJCWRldmVsb3BtZW50
UmVnaW9uID0gRW5nbGlzaDsKIAkJCWhhc1NjYW5uZWRGb3JFbmNvZGluZ3MgPSAxOwogCQkJa25v
d25SZWdpb25zID0gKAogCQkJCUVuZ2xpc2gsCkBAIC0yMzU5Niw2ICsyMzYxMyw4IEBACiAJCQkJ
MDgxNjY4RDkxMjU2MDNENTAwNkYyNURFIC8qIFNWR1RleHRMYXlvdXRFbmdpbmUuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJMUFGOEUxMzMxMjU2NUE0NDAwMjMwRkY3IC8qIFByb3h5U2VydmVyLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTFBRjhFMUMzMTI1NjczRTAwMDIzMEZGNyAvKiBQcm94eVNl
cnZlckNGTmV0LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTI5REQyMTEyMTI1QkM3MUYwMDE2M0Mw
QyAvKiBVSVJlcXVlc3RFdmVudC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkyOUREMjI5QzEyNUMw
MjBBMDAxNjNDMEMgLyogSlNVSVJlcXVlc3RFdmVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk4
OTNDNDgwMDEyNDhCRDNBMDAyQjNEODYgLyogRGlyZWN0b3J5RW50cnlTeW5jLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTg5M0M0ODAyMTI0OEJEM0EwMDJCM0Q4NiAvKiBEaXJlY3RvcnlSZWFkZXJT
eW5jLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTg5M0M0ODA0MTI0OEJEM0EwMDJCM0Q4NiAvKiBE
T01GaWxlU3lzdGVtQmFzZS5jcHAgaW4gU291cmNlcyAqLywKSW5kZXg6IFdlYkNvcmUvYWNjZXNz
aWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAJKHJldmlzaW9uIDY5MjM5KQorKysg
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC01MCw2ICs1MCw3IEBACiAjaW5jbHVkZSAiUmVuZGVyV2lkZ2V0LmgiCiAjaW5jbHVk
ZSAiU2VsZWN0aW9uQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIlRleHRJdGVyYXRvci5oIgorI2lu
Y2x1ZGUgIlVJUmVxdWVzdEV2ZW50LmgiCiAjaW5jbHVkZSAiaHRtbGVkaXRpbmcuaCIKICNpbmNs
dWRlICJ2aXNpYmxlX3VuaXRzLmgiCiAjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgpAQCAt
OTk4LDQgKzk5OSwzMSBAQCBBY2Nlc3NpYmlsaXR5QnV0dG9uU3RhdGUgQWNjZXNzaWJpbGl0eU9i
CiAgICAgcmV0dXJuIEJ1dHRvblN0YXRlT2ZmOwogfQogICAgIAordm9pZCBBY2Nlc3NpYmlsaXR5
T2JqZWN0OjpkaXNwYXRjaFVJUmVxdWVzdEV2ZW50KFVJUmVxdWVzdEV2ZW50VHlwZSB0eXBlKQor
eworICAgIE5vZGUqIG4gPSBub2RlKCk7CisgICAgaWYgKCFuIHx8IG4tPmRpc2FibGVkKCkpCisg
ICAgICAgIHJldHVybjsKKyAgICAKKyAgICBBdG9taWNTdHJpbmcgZXZlbnRUeXBlOworICAgIHN3
aXRjaCAodHlwZSkgeworICAgIGNhc2UgVU5ETzoKKyAgICAgICAgZXZlbnRUeXBlID0gZXZlbnRO
YW1lcygpLnVuZG9yZXF1ZXN0RXZlbnQ7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgUkVETzoK
KyAgICAgICAgZXZlbnRUeXBlID0gZXZlbnROYW1lcygpLnJlZG9yZXF1ZXN0RXZlbnQ7CisgICAg
ICAgIGJyZWFrOworICAgIGNhc2UgRVNDQVBFOgorICAgICAgICBldmVudFR5cGUgPSBldmVudE5h
bWVzKCkuZXNjYXBlcmVxdWVzdEV2ZW50OworICAgICAgICBicmVhazsKKyAgICBjYXNlIERFTEVU
RToKKyAgICAgICAgZXZlbnRUeXBlID0gZXZlbnROYW1lcygpLmRlbGV0ZXJlcXVlc3RFdmVudDsK
KyAgICAgICAgYnJlYWs7CisgICAgfQorICAgIAorICAgIFJlZlB0cjxVSVJlcXVlc3RFdmVudD4g
dWlSZXF1ZXN0RXZlbnQgPSBVSVJlcXVlc3RFdmVudDo6Y3JlYXRlKGV2ZW50VHlwZSwgdHJ1ZSwg
dHJ1ZSwgbi0+ZG9jdW1lbnQoKS0+ZGVmYXVsdFZpZXcoKSwgMCk7CisgICAgbi0+ZGlzcGF0Y2hF
dmVudCh1aVJlcXVlc3RFdmVudCk7Cit9CisKKyAgICAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
SW5kZXg6IFdlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaAkocmV2
aXNpb24gNjkyMzkpCisrKyBXZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVj
dC5oCSh3b3JraW5nIGNvcHkpCkBAIC01MTksNiArNTE5LDEwIEBAIHB1YmxpYzoKICAgICB2aXJ0
dWFsIFN0cmluZyBkZXNjcmlwdGlvbkZvck1TQUEoKSBjb25zdCB7IHJldHVybiBTdHJpbmcoKTsg
fQogICAgIHZpcnR1YWwgQWNjZXNzaWJpbGl0eVJvbGUgcm9sZVZhbHVlRm9yTVNBQSgpIGNvbnN0
IHsgcmV0dXJuIHJvbGVWYWx1ZSgpOyB9CiAKKyAgICAvLyBVSVJlcXVlc3RFdmVudCBzdXBwb3J0
CisgICAgZW51bSBVSVJlcXVlc3RFdmVudFR5cGUgeyBVTkRPID0gMSwgUkVETyA9IDIsIEVTQ0FQ
RSA9IDMsIERFTEVURSA9IDQgfTsKKyAgICB2b2lkIGRpc3BhdGNoVUlSZXF1ZXN0RXZlbnQoVUlS
ZXF1ZXN0RXZlbnRUeXBlKTsKKyAgICAKICAgICAvLyBVc2VkIGJ5IGFuIEFSSUEgdHJlZSB0byBn
ZXQgYWxsIGl0cyByb3dzLgogICAgIHZvaWQgYXJpYVRyZWVSb3dzKEFjY2Vzc2liaWxpdHlDaGls
ZHJlblZlY3RvciYpOwogICAgIC8vIFVzZWQgYnkgYW4gQVJJQSB0cmVlIGl0ZW0gdG8gZ2V0IGFs
bCBvZiBpdHMgZGlyZWN0IHJvd3MgdGhhdCBpdCBjYW4gZGlzY2xvc2UuCkluZGV4OiBXZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvVUlSZXF1ZXN0RXZlbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
YWNjZXNzaWJpbGl0eS9VSVJlcXVlc3RFdmVudC5jcHAJKHJldmlzaW9uIDApCisrKyBXZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvVUlSZXF1ZXN0RXZlbnQuY3BwCShyZXZpc2lvbiAwKQpAQCAtMCwwICsx
LDQ5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIFJpZ2h0cyBS
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVU
RVIsIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
CisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4g
CisgKgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJVSVJlcXVlc3RFdmVu
dC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisgICAgCitVSVJlcXVlc3RFdmVudDo6VUlSZXF1
ZXN0RXZlbnQoKQoreworfQorICAgIAorVUlSZXF1ZXN0RXZlbnQ6OlVJUmVxdWVzdEV2ZW50KGNv
bnN0IEF0b21pY1N0cmluZyYgdHlwZSwgYm9vbCBjYW5CdWJibGUsIGJvb2wgY2FuY2VsYWJsZSwg
UGFzc1JlZlB0cjxBYnN0cmFjdFZpZXc+IHZpZXcsIGludCBkZXRhaWwpCisgICAgOiBVSUV2ZW50
KHR5cGUsIGNhbkJ1YmJsZSwgY2FuY2VsYWJsZSwgdmlldywgZGV0YWlsKQoreworfQorCit2b2lk
IFVJUmVxdWVzdEV2ZW50Ojppbml0VUlSZXF1ZXN0RXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0
eXBlLCBib29sIGNhbkJ1YmJsZSwgYm9vbCBjYW5jZWxhYmxlLCBQYXNzUmVmUHRyPEFic3RyYWN0
Vmlldz4gdmlldywgaW50IGRldGFpbCkKK3sKKyAgICBpZiAoZGlzcGF0Y2hlZCgpKQorICAgICAg
ICByZXR1cm47CisgICAgCisgICAgaW5pdFVJRXZlbnQodHlwZSwgY2FuQnViYmxlLCBjYW5jZWxh
YmxlLCB2aWV3LCBkZXRhaWwpOworfSAgIAorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4
OiBXZWJDb3JlL2FjY2Vzc2liaWxpdHkvVUlSZXF1ZXN0RXZlbnQuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvVUlSZXF1ZXN0RXZlbnQuaAkocmV2aXNpb24gMCkKKysrIFdl
YkNvcmUvYWNjZXNzaWJpbGl0eS9VSVJlcXVlc3RFdmVudC5oCShyZXZpc2lvbiAwKQpAQCAtMCww
ICsxLDYyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIFJpZ2h0
cyBSZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09N
UFVURVIsIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4gCisgKgorICovCisKKyNpZm5kZWYgVUlSZXF1ZXN0RXZlbnRfaAorI2RlZmluZSBVSVJlcXVl
c3RFdmVudF9oCisKKyNpbmNsdWRlICJVSUV2ZW50LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
KyAgICAKKy8vICJVc2VyIEludGVyZmFjZSBJbmRlcGVuZGVuY2UgZm9yIEFjY2Vzc2libGUgUmlj
aCBJbnRlcm5ldCBBcHBsaWNhdGlvbnMiIFczQyBQcm9wb3NhbAorY2xhc3MgVUlSZXF1ZXN0RXZl
bnQgOiBwdWJsaWMgVUlFdmVudCB7CitwdWJsaWM6CisgICAgCisgICAgZW51bSB7CisgICAgICAg
IAorICAgIH07CisgICAgCisgICAgc3RhdGljIFBhc3NSZWZQdHI8VUlSZXF1ZXN0RXZlbnQ+IGNy
ZWF0ZSgpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFVJUmVxdWVzdEV2ZW50
KTsKKyAgICB9CisgICAgc3RhdGljIFBhc3NSZWZQdHI8VUlSZXF1ZXN0RXZlbnQ+IGNyZWF0ZShj
b25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGJvb2wgY2FuQnViYmxlLCBib29sIGNhbmNlbGFibGUs
IFBhc3NSZWZQdHI8QWJzdHJhY3RWaWV3PiB2aWV3LCBpbnQgZGV0YWlsKQorICAgIHsKKyAgICAg
ICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBVSVJlcXVlc3RFdmVudCh0eXBlLCBjYW5CdWJibGUsIGNh
bmNlbGFibGUsIHZpZXcsIGRldGFpbCkpOworICAgIH0KKyAgICAKKyAgICB2b2lkIGluaXRVSVJl
cXVlc3RFdmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGJvb2wgY2FuQnViYmxlLCBib29s
IGNhbmNlbGFibGUsIFBhc3NSZWZQdHI8QWJzdHJhY3RWaWV3PiwgaW50IGRldGFpbCk7CisKKyAg
ICB2aXJ0dWFsIGJvb2wgaXNVSVJlcXVlc3RFdmVudCgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0K
KyAgICAKK3ByaXZhdGU6CisgICAgVUlSZXF1ZXN0RXZlbnQoKTsKKyAgICBVSVJlcXVlc3RFdmVu
dChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGJvb2wgY2FuQnViYmxlLCBib29sIGNhbmNlbGFi
bGUsIFBhc3NSZWZQdHI8QWJzdHJhY3RWaWV3PiwgaW50IGRldGFpbCk7Cit9OworCit9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBVSVJlcXVlc3RFdmVudF9oCkluZGV4OiBXZWJD
b3JlL2FjY2Vzc2liaWxpdHkvVUlSZXF1ZXN0RXZlbnQuaWRsCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvYWNjZXNzaWJpbGl0eS9VSVJlcXVlc3RFdmVudC5pZGwJKHJldmlzaW9uIDApCisrKyBXZWJD
b3JlL2FjY2Vzc2liaWxpdHkvVUlSZXF1ZXN0RXZlbnQuaWRsCShyZXZpc2lvbiAwKQpAQCAtMCww
ICsxLDQwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIFJpZ2h0
cyBSZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09N
UFVURVIsIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4gCisgKgorICovCisKK21vZHVsZSBldmVudHMgeworCisgICAgLy8gIlVzZXIgSW50ZXJmYWNl
IEluZGVwZW5kZW5jZSBmb3IgQWNjZXNzaWJsZSBSaWNoIEludGVybmV0IEFwcGxpY2F0aW9ucyIg
VzNDIFByb3Bvc2FsCisgICAgaW50ZXJmYWNlIFVJUmVxdWVzdEV2ZW50IDogVUlFdmVudCB7Cisg
ICAgICAgIAorICAgICAgICB2b2lkIGluaXRVSVJlcXVlc3RFdmVudChpbiBET01TdHJpbmcgdHlw
ZSwgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBib29sZWFuIGNhbkJ1
YmJsZSwgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBib29sZWFuIGNh
bmNlbGFibGUsIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gRE9NV2lu
ZG93IHZpZXcsIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gbG9uZyBk
ZXRhaWwpOworCisgICAgfTsKKworfQpJbmRleDogV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L0dO
VW1ha2VmaWxlLmFtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYmluZGluZ3MvZ29iamVjdC9HTlVt
YWtlZmlsZS5hbQkocmV2aXNpb24gNjkyMzkpCisrKyBXZWJDb3JlL2JpbmRpbmdzL2dvYmplY3Qv
R05VbWFrZWZpbGUuYW0JKHdvcmtpbmcgY29weSkKQEAgLTIzMiw2ICsyMzIsNyBAQCB3ZWJraXRn
dGtfZ2RvbV9idWlsdF9zb3VyY2VzICs9IFwKIAlEZXJpdmVkU291cmNlcy93ZWJraXQvV2ViS2l0
RE9NVGltZVJhbmdlc1ByaXZhdGUuaCBcCiAJRGVyaXZlZFNvdXJjZXMvd2Via2l0L1dlYktpdERP
TVRyZWVXYWxrZXIuY3BwIFwKIAlEZXJpdmVkU291cmNlcy93ZWJraXQvV2ViS2l0RE9NVHJlZVdh
bGtlclByaXZhdGUuaCBcCisJRGVyaXZlZFNvdXJjZXMvd2Via2l0L1dlYktpdERPTVVJUmVxdWVz
dEV2ZW50LmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvd2Via2l0L1dlYktpdERPTVVJRXZlbnQuY3Bw
IFwKIAlEZXJpdmVkU291cmNlcy93ZWJraXQvV2ViS2l0RE9NVUlFdmVudFByaXZhdGUuaCBcCiAJ
RGVyaXZlZFNvdXJjZXMvd2Via2l0L1dlYktpdERPTVZhbGlkaXR5U3RhdGUuY3BwIFwKQEAgLTI4
MCw2ICsyODEsNyBAQCB3ZWJraXRndGtfYnVpbHRfaF9hcGkgKz0gXAogCURlcml2ZWRTb3VyY2Vz
L3dlYmtpdC9XZWJLaXRET01SYW5nZS5oIFwKIAlEZXJpdmVkU291cmNlcy93ZWJraXQvV2ViS2l0
RE9NVGV4dC5oIFwKIAlEZXJpdmVkU291cmNlcy93ZWJraXQvV2ViS2l0RE9NVHJlZVdhbGtlci5o
IFwKKwlEZXJpdmVkU291cmNlcy93ZWJraXQvV2ViS2l0RE9NVUlSZXF1ZXN0RXZlbnQuaCBcCiAJ
RGVyaXZlZFNvdXJjZXMvd2Via2l0L1dlYktpdERPTVVJRXZlbnQuaCBcCiAJRGVyaXZlZFNvdXJj
ZXMvd2Via2l0L1dlYktpdERPTUJsb2IuaCBcCiAJRGVyaXZlZFNvdXJjZXMvd2Via2l0L1dlYktp
dERPTUZpbGUuaCBcCkluZGV4OiBXZWJDb3JlL2JpbmRpbmdzL2pzL0pTRXZlbnRDdXN0b20uY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYmluZGluZ3MvanMvSlNFdmVudEN1c3RvbS5jcHAJKHJl
dmlzaW9uIDY5MjM5KQorKysgV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50Q3VzdG9tLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNTMsNiArNTMsNyBAQAogI2luY2x1ZGUgIkpTUHJvZ3Jlc3NFdmVu
dC5oIgogI2luY2x1ZGUgIkpTVGV4dEV2ZW50LmgiCiAjaW5jbHVkZSAiSlNVSUV2ZW50LmgiCisj
aW5jbHVkZSAiSlNVSVJlcXVlc3RFdmVudC5oIgogI2luY2x1ZGUgIkpTV2ViS2l0QW5pbWF0aW9u
RXZlbnQuaCIKICNpbmNsdWRlICJKU1dlYktpdFRyYW5zaXRpb25FdmVudC5oIgogI2luY2x1ZGUg
IkpTV2hlZWxFdmVudC5oIgpAQCAtNzAsNiArNzEsNyBAQAogI2luY2x1ZGUgIlByb2dyZXNzRXZl
bnQuaCIKICNpbmNsdWRlICJUZXh0RXZlbnQuaCIKICNpbmNsdWRlICJVSUV2ZW50LmgiCisjaW5j
bHVkZSAiVUlSZXF1ZXN0RXZlbnQuaCIKICNpbmNsdWRlICJXZWJLaXRBbmltYXRpb25FdmVudC5o
IgogI2luY2x1ZGUgIldlYktpdFRyYW5zaXRpb25FdmVudC5oIgogI2luY2x1ZGUgIldoZWVsRXZl
bnQuaCIKQEAgLTEzNyw2ICsxMzksOCBAQCBKU1ZhbHVlIHRvSlMoRXhlY1N0YXRlKiBleGVjLCBK
U0RPTUdsb2JhCiAgICAgICAgIGVsc2UgaWYgKGV2ZW50LT5pc1RvdWNoRXZlbnQoKSkKICAgICAg
ICAgICAgIHdyYXBwZXIgPSBDUkVBVEVfRE9NX09CSkVDVF9XUkFQUEVSKGV4ZWMsIGdsb2JhbE9i
amVjdCwgVG91Y2hFdmVudCwgZXZlbnQpOwogI2VuZGlmCisgICAgICAgIGVsc2UgaWYgKGV2ZW50
LT5pc1VJUmVxdWVzdEV2ZW50KCkpCisgICAgICAgICAgICB3cmFwcGVyID0gQ1JFQVRFX0RPTV9P
QkpFQ1RfV1JBUFBFUihleGVjLCBnbG9iYWxPYmplY3QsIFVJUmVxdWVzdEV2ZW50LCBldmVudCk7
CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIHdyYXBwZXIgPSBDUkVBVEVfRE9NX09CSkVDVF9X
UkFQUEVSKGV4ZWMsIGdsb2JhbE9iamVjdCwgVUlFdmVudCwgZXZlbnQpOwogICAgIH0gZWxzZSBp
ZiAoZXZlbnQtPmlzTXV0YXRpb25FdmVudCgpKQpJbmRleDogV2ViQ29yZS9kb20vRG9jdW1lbnQu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAkocmV2aXNpb24gNjky
MzkpCisrKyBXZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEyOCw2
ICsxMjgsNyBAQAogI2luY2x1ZGUgIlRyYW5zZm9ybVNvdXJjZS5oIgogI2luY2x1ZGUgIlRyZWVX
YWxrZXIuaCIKICNpbmNsdWRlICJVSUV2ZW50LmgiCisjaW5jbHVkZSAiVUlSZXF1ZXN0RXZlbnQu
aCIKICNpbmNsdWRlICJVc2VyQ29udGVudFVSTFBhdHRlcm4uaCIKICNpbmNsdWRlICJXZWJLaXRB
bmltYXRpb25FdmVudC5oIgogI2luY2x1ZGUgIldlYktpdFRyYW5zaXRpb25FdmVudC5oIgpAQCAt
MzQ2Niw2ICszNDY3LDggQEAgUGFzc1JlZlB0cjxFdmVudD4gRG9jdW1lbnQ6OmNyZWF0ZUV2ZW50
KAogICAgIGVsc2UgaWYgKGV2ZW50VHlwZSA9PSAiRGV2aWNlT3JpZW50YXRpb25FdmVudCIpCiAg
ICAgICAgIGV2ZW50ID0gRGV2aWNlT3JpZW50YXRpb25FdmVudDo6Y3JlYXRlKCk7CiAjZW5kaWYK
KyAgICBlbHNlIGlmIChldmVudFR5cGUgPT0gIlVJUmVxdWVzdEV2ZW50IikKKyAgICAgICAgZXZl
bnQgPSBVSVJlcXVlc3RFdmVudDo6Y3JlYXRlKCk7CiAgICAgaWYgKGV2ZW50KQogICAgICAgICBy
ZXR1cm4gZXZlbnQucmVsZWFzZSgpOwogCkluZGV4OiBXZWJDb3JlL2RvbS9Eb2N1bWVudC5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvZG9tL0RvY3VtZW50LmgJKHJldmlzaW9uIDY5MjM5KQorKysg
V2ViQ29yZS9kb20vRG9jdW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMjc2LDcgKzI3NiwxMSBA
QCBwdWJsaWM6CiAjaWYgRU5BQkxFKEZVTExTQ1JFRU5fQVBJKQogICAgIERFRklORV9BVFRSSUJV
VEVfRVZFTlRfTElTVEVORVIod2Via2l0ZnVsbHNjcmVlbmNoYW5nZSk7CiAjZW5kaWYKLQorICAg
IERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIodW5kb3JlcXVlc3QpOworICAgIERFRklO
RV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIocmVkb3JlcXVlc3QpOworICAgIERFRklORV9BVFRS
SUJVVEVfRVZFTlRfTElTVEVORVIoZXNjYXBlcmVxdWVzdCk7CisgICAgREVGSU5FX0FUVFJJQlVU
RV9FVkVOVF9MSVNURU5FUihkZWxldGVyZXF1ZXN0KTsKKyAgICAKICAgICBWaWV3cG9ydEFyZ3Vt
ZW50cyB2aWV3cG9ydEFyZ3VtZW50cygpIGNvbnN0IHsgcmV0dXJuIG1fdmlld3BvcnRBcmd1bWVu
dHM7IH0KIAogICAgIERvY3VtZW50VHlwZSogZG9jdHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fZG9j
VHlwZS5nZXQoKTsgfQpJbmRleDogV2ViQ29yZS9kb20vRG9jdW1lbnQuaWRsCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvZG9tL0RvY3VtZW50LmlkbAkocmV2aXNpb24gNjkyMzkpCisrKyBXZWJDb3Jl
L2RvbS9Eb2N1bWVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMwNyw2ICszMDcsMTEgQEAgbW9k
dWxlIGNvcmUgewogICAgICAgICAvLyBhdHRyaWJ1dGUgW0RvbnRFbnVtXSBFdmVudExpc3RlbmVy
IG9udm9sdW1lY2hhbmdlOwogICAgICAgICAvLyBhdHRyaWJ1dGUgW0RvbnRFbnVtXSBFdmVudExp
c3RlbmVyIG9ud2FpdGluZzsKIAorICAgICAgICBhdHRyaWJ1dGUgW0RvbnRFbnVtXSBFdmVudExp
c3RlbmVyIG9udW5kb3JlcXVlc3Q7CisgICAgICAgIGF0dHJpYnV0ZSBbRG9udEVudW1dIEV2ZW50
TGlzdGVuZXIgb25yZWRvcmVxdWVzdDsKKyAgICAgICAgYXR0cmlidXRlIFtEb250RW51bV0gRXZl
bnRMaXN0ZW5lciBvbmVzY2FwZXJlcXVlc3Q7CisgICAgICAgIGF0dHJpYnV0ZSBbRG9udEVudW1d
IEV2ZW50TGlzdGVuZXIgb25kZWxldGVyZXF1ZXN0OworCiAgICAgICAgIC8vIFdlYktpdCBleHRl
bnNpb25zCiAgICAgICAgIGF0dHJpYnV0ZSBbRG9udEVudW1dIEV2ZW50TGlzdGVuZXIgb25iZWZv
cmVjdXQ7CiAgICAgICAgIGF0dHJpYnV0ZSBbRG9udEVudW1dIEV2ZW50TGlzdGVuZXIgb25jdXQ7
CkluZGV4OiBXZWJDb3JlL2RvbS9FbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9kb20v
RWxlbWVudC5oCShyZXZpc2lvbiA2OTIzOSkKKysrIFdlYkNvcmUvZG9tL0VsZW1lbnQuaAkod29y
a2luZyBjb3B5KQpAQCAtOTgsNiArOTgsMTAgQEAgcHVibGljOgogI2lmIEVOQUJMRShGVUxMU0NS
RUVOX0FQSSkKICAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHdlYmtpdGZ1bGxz
Y3JlZW5jaGFuZ2UpOwogI2VuZGlmCisgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5F
Uih1bmRvcmVxdWVzdCk7CisgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihyZWRv
cmVxdWVzdCk7CisgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihlc2NhcGVyZXF1
ZXN0KTsKKyAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGRlbGV0ZXJlcXVlc3Qp
OwogCiAgICAgdmlydHVhbCBQYXNzUmVmUHRyPERvY3VtZW50RnJhZ21lbnQ+IGRlcHJlY2F0ZWRD
cmVhdGVDb250ZXh0dWFsRnJhZ21lbnQoY29uc3QgU3RyaW5nJiwgRnJhZ21lbnRTY3JpcHRpbmdQ
ZXJtaXNzaW9uID0gRnJhZ21lbnRTY3JpcHRpbmdBbGxvd2VkKTsKIApJbmRleDogV2ViQ29yZS9k
b20vRWxlbWVudC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9kb20vRWxlbWVudC5pZGwJKHJl
dmlzaW9uIDY5MjM5KQorKysgV2ViQ29yZS9kb20vRWxlbWVudC5pZGwJKHdvcmtpbmcgY29weSkK
QEAgLTE5Myw2ICsxOTMsMTEgQEAgbW9kdWxlIGNvcmUgewogICAgICAgICAvLyBhdHRyaWJ1dGUg
W0RvbnRFbnVtXSBFdmVudExpc3RlbmVyIG9udGltZXVwZGF0ZTsKICAgICAgICAgLy8gYXR0cmli
dXRlIFtEb250RW51bV0gRXZlbnRMaXN0ZW5lciBvbnZvbHVtZWNoYW5nZTsKICAgICAgICAgLy8g
YXR0cmlidXRlIFtEb250RW51bV0gRXZlbnRMaXN0ZW5lciBvbndhaXRpbmc7CisgICAgICAgIAor
ICAgICAgICBhdHRyaWJ1dGUgW0RvbnRFbnVtXSBFdmVudExpc3RlbmVyIG9udW5kb3JlcXVlc3Q7
CisgICAgICAgIGF0dHJpYnV0ZSBbRG9udEVudW1dIEV2ZW50TGlzdGVuZXIgb25yZWRvcmVxdWVz
dDsKKyAgICAgICAgYXR0cmlidXRlIFtEb250RW51bV0gRXZlbnRMaXN0ZW5lciBvbmVzY2FwZXJl
cXVlc3Q7CisgICAgICAgIGF0dHJpYnV0ZSBbRG9udEVudW1dIEV2ZW50TGlzdGVuZXIgb25kZWxl
dGVyZXF1ZXN0OwogCiAgICAgICAgIC8vIFdlYktpdCBleHRlbnNpb25zCiAgICAgICAgIGF0dHJp
YnV0ZSBbRG9udEVudW1dIEV2ZW50TGlzdGVuZXIgb25iZWZvcmVjdXQ7CkluZGV4OiBXZWJDb3Jl
L2RvbS9FdmVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9kb20vRXZlbnQuY3BwCShyZXZp
c2lvbiA2OTIzOSkKKysrIFdlYkNvcmUvZG9tL0V2ZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MjI5LDYgKzIyOSwxMSBAQCBib29sIEV2ZW50Ojppc0RldmljZU9yaWVudGF0aW9uRXZlbnQoKSBj
CiB9CiAjZW5kaWYKIAorYm9vbCBFdmVudDo6aXNVSVJlcXVlc3RFdmVudCgpIGNvbnN0Cit7Cisg
ICAgcmV0dXJuIGZhbHNlOworfQorICAgIAogYm9vbCBFdmVudDo6ZnJvbVVzZXJHZXN0dXJlKCkK
IHsKICAgICBpZiAoIVVzZXJHZXN0dXJlSW5kaWNhdG9yOjpwcm9jZXNzaW5nVXNlckdlc3R1cmUo
KSkKSW5kZXg6IFdlYkNvcmUvZG9tL0V2ZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9kb20v
RXZlbnQuaAkocmV2aXNpb24gNjkyMzkpCisrKyBXZWJDb3JlL2RvbS9FdmVudC5oCSh3b3JraW5n
IGNvcHkpCkBAIC0xNDEsNiArMTQxLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2
aXJ0dWFsIGJvb2wgaXNEZXZpY2VNb3Rpb25FdmVudCgpIGNvbnN0OwogICAgICAgICB2aXJ0dWFs
IGJvb2wgaXNEZXZpY2VPcmllbnRhdGlvbkV2ZW50KCkgY29uc3Q7CiAjZW5kaWYKKyAgICAgICAg
dmlydHVhbCBib29sIGlzVUlSZXF1ZXN0RXZlbnQoKSBjb25zdDsKKyAgICAgICAgCiAgICAgICAg
IGJvb2wgZnJvbVVzZXJHZXN0dXJlKCk7CiAgICAgICAgIAogICAgICAgICBib29sIHByb3BhZ2F0
aW9uU3RvcHBlZCgpIGNvbnN0IHsgcmV0dXJuIG1fcHJvcGFnYXRpb25TdG9wcGVkIHx8IG1faW1t
ZWRpYXRlUHJvcGFnYXRpb25TdG9wcGVkOyB9CkluZGV4OiBXZWJDb3JlL2RvbS9FdmVudE5hbWVz
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9kb20vRXZlbnROYW1lcy5oCShyZXZpc2lvbiA2OTIz
OSkKKysrIFdlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaAkod29ya2luZyBjb3B5KQpAQCAtMTY4LDcg
KzE2OCwxMiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgXAogICAgIG1hY3JvKHdlYmtpdGZ1
bGxzY3JlZW5jaGFuZ2UpIFwKICAgICBcCi0gICAgbWFjcm8od2Via2l0c3BlZWNoY2hhbmdlKQor
ICAgIG1hY3JvKHdlYmtpdHNwZWVjaGNoYW5nZSkgXAorICAgIFwKKyAgICBtYWNybyh1bmRvcmVx
dWVzdCkgXAorICAgIG1hY3JvKHJlZG9yZXF1ZXN0KSBcCisgICAgbWFjcm8oZXNjYXBlcmVxdWVz
dCkgXAorICAgIG1hY3JvKGRlbGV0ZXJlcXVlc3QpCiAgICAgXAogLy8gZW5kIG9mIERPTV9FVkVO
VF9OQU1FU19GT1JfRUFDSAogCkluZGV4OiBXZWJDb3JlL2h0bWwvSFRNTEF0dHJpYnV0ZU5hbWVz
LmluCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW4JKHJl
dmlzaW9uIDY5MjM5KQorKysgV2ViQ29yZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbgkod29y
a2luZyBjb3B5KQpAQCAtMTU2LDYgKzE1Niw3IEBAIG9uY29udGV4dG1lbnUKIG9uY29weQogb25j
dXQKIG9uZGJsY2xpY2sKK29uZGVsZXRlcmVxdWVzdAogb25kcmFnCiBvbmRyYWdlbmQKIG9uZHJh
Z2VudGVyCkBAIC0xNjcsNiArMTY4LDcgQEAgb25kdXJhdGlvbmNoYW5nZQogb25lbXB0aWVkCiBv
bmVuZGVkCiBvbmVycm9yCitvbmVzY2FwZXJlcXVlc3QKIG9uZm9jdXMKIG9uZm9jdXNpbgogb25m
b2N1c291dApAQCAtMTk4LDYgKzIwMCw3IEBAIG9ucGxheWluZwogb25wb3BzdGF0ZQogb25wcm9n
cmVzcwogb25yYXRlY2hhbmdlCitvbnJlZG9yZXF1ZXN0CiBvbnJlc2V0CiBvbnJlc2l6ZQogb25z
Y3JvbGwKQEAgLTIxNiw2ICsyMTksNyBAQCBvbnRvdWNoc3RhcnQKIG9udG91Y2htb3ZlCiBvbnRv
dWNoZW5kCiBvbnRvdWNoY2FuY2VsCitvbnVuZG9yZXF1ZXN0CiBvbnVubG9hZAogb252b2x1bWVj
aGFuZ2UKIG9ud2FpdGluZwpJbmRleDogV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50LmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQuY3BwCShyZXZpc2lvbiA2OTIzOSkK
KysrIFdlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI1Myw2
ICsyNTMsMTQgQEAgdm9pZCBIVE1MRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoQQogICAg
IH0gZWxzZSBpZiAoYXR0ci0+bmFtZSgpID09IG9ud2Via2l0ZnVsbHNjcmVlbmNoYW5nZUF0dHIp
IHsKICAgICAgICAgc2V0QXR0cmlidXRlRXZlbnRMaXN0ZW5lcihldmVudE5hbWVzKCkud2Via2l0
ZnVsbHNjcmVlbmNoYW5nZUV2ZW50LCBjcmVhdGVBdHRyaWJ1dGVFdmVudExpc3RlbmVyKHRoaXMs
IGF0dHIpKTsKICNlbmRpZgorICAgIH0gZWxzZSBpZiAoYXR0ci0+bmFtZSgpID09IG9udW5kb3Jl
cXVlc3RBdHRyKSB7CisgICAgICAgIHNldEF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1l
cygpLnVuZG9yZXF1ZXN0RXZlbnQsIGNyZWF0ZUF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIodGhpcywg
YXR0cikpOworICAgIH0gZWxzZSBpZiAoYXR0ci0+bmFtZSgpID09IG9ucmVkb3JlcXVlc3RBdHRy
KSB7CisgICAgICAgIHNldEF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1lcygpLnJlZG9y
ZXF1ZXN0RXZlbnQsIGNyZWF0ZUF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIodGhpcywgYXR0cikpOwor
ICAgIH0gZWxzZSBpZiAoYXR0ci0+bmFtZSgpID09IG9uZXNjYXBlcmVxdWVzdEF0dHIpIHsKKyAg
ICAgICAgc2V0QXR0cmlidXRlRXZlbnRMaXN0ZW5lcihldmVudE5hbWVzKCkuZXNjYXBlcmVxdWVz
dEV2ZW50LCBjcmVhdGVBdHRyaWJ1dGVFdmVudExpc3RlbmVyKHRoaXMsIGF0dHIpKTsKKyAgICB9
IGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBvbmRlbGV0ZXJlcXVlc3RBdHRyKSB7CisgICAgICAg
IHNldEF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1lcygpLmRlbGV0ZXJlcXVlc3RFdmVu
dCwgY3JlYXRlQXR0cmlidXRlRXZlbnRMaXN0ZW5lcih0aGlzLCBhdHRyKSk7CiAgICAgfQogfQog
CkluZGV4OiBXZWJDb3JlL3BhZ2UvRE9NV2luZG93LmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9w
YWdlL0RPTVdpbmRvdy5oCShyZXZpc2lvbiA2OTIzOSkKKysrIFdlYkNvcmUvcGFnZS9ET01XaW5k
b3cuaAkod29ya2luZyBjb3B5KQpAQCAtMzY0LDYgKzM2NCwxMSBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAgICAgICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIodG91Y2hlbmQpOwog
ICAgICAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHRvdWNoY2FuY2VsKTsKICNl
bmRpZgorICAgICAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHVuZG9yZXF1ZXN0
KTsKKyAgICAgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihyZWRvcmVxdWVzdCk7
CisgICAgICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoZXNjYXBlcmVxdWVzdCk7
CisgICAgICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoZGVsZXRlcmVxdWVzdCk7
CisgICAgICAgIAogICAgICAgICB2b2lkIGNhcHR1cmVFdmVudHMoKTsKICAgICAgICAgdm9pZCBy
ZWxlYXNlRXZlbnRzKCk7CiAKSW5kZXg6IFdlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCShyZXZpc2lvbiA2OTIzOSkKKysr
IFdlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zMzAsNiArMzMw
LDExIEBAIG1vZHVsZSB3aW5kb3cgewogICAgICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFsPURF
VklDRV9PUklFTlRBVElPTixFbmFibGVkQXRSdW50aW1lXSBEZXZpY2VPcmllbnRhdGlvbkV2ZW50
Q29uc3RydWN0b3IgRGV2aWNlT3JpZW50YXRpb25FdmVudDsKICAgICAgICAgYXR0cmlidXRlIFtD
b25kaXRpb25hbD1ERVZJQ0VfT1JJRU5UQVRJT04sRW5hYmxlZEF0UnVudGltZV0gRXZlbnRMaXN0
ZW5lciBvbmRldmljZW9yaWVudGF0aW9uOwogCisgICAgICAgIGF0dHJpYnV0ZSBFdmVudExpc3Rl
bmVyIG9udW5kb3JlcXVlc3Q7CisgICAgICAgIGF0dHJpYnV0ZSBFdmVudExpc3RlbmVyIG9ucmVk
b3JlcXVlc3Q7CisgICAgICAgIGF0dHJpYnV0ZSBFdmVudExpc3RlbmVyIG9uZXNjYXBlcmVxdWVz
dDsKKyAgICAgICAgYXR0cmlidXRlIEV2ZW50TGlzdGVuZXIgb25kZWxldGVyZXF1ZXN0OworCiAg
ICAgICAgIC8vIEV2ZW50VGFyZ2V0IGludGVyZmFjZQogICAgICAgICBbQ3VzdG9tXSB2b2lkIGFk
ZEV2ZW50TGlzdGVuZXIoaW4gRE9NU3RyaW5nIHR5cGUsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGluIEV2ZW50TGlzdGVuZXIgbGlzdGVuZXIsCkBAIC01MTIsNiArNTE3
LDcgQEAgbW9kdWxlIHdpbmRvdyB7CiAgICAgICAgIGF0dHJpYnV0ZSBXaGVlbEV2ZW50Q29uc3Ry
dWN0b3IgV2hlZWxFdmVudDsKICAgICAgICAgYXR0cmlidXRlIE1lc3NhZ2VFdmVudENvbnN0cnVj
dG9yIE1lc3NhZ2VFdmVudDsKICAgICAgICAgYXR0cmlidXRlIEV2ZW50RXhjZXB0aW9uQ29uc3Ry
dWN0b3IgRXZlbnRFeGNlcHRpb247CisgICAgICAgIGF0dHJpYnV0ZSBVSVJlcXVlc3RFdmVudENv
bnN0cnVjdG9yIFVJUmVxdWVzdEV2ZW50OwogCiAgICAgICAgIGF0dHJpYnV0ZSBXZWJLaXRDU1NL
ZXlmcmFtZVJ1bGVDb25zdHJ1Y3RvciBXZWJLaXRDU1NLZXlmcmFtZVJ1bGU7CiAgICAgICAgIGF0
dHJpYnV0ZSBXZWJLaXRDU1NLZXlmcmFtZXNSdWxlQ29uc3RydWN0b3IgV2ViS2l0Q1NTS2V5ZnJh
bWVzUnVsZTsKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDY5MjM5KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTAtMTAtMDYgIENocmlzIEZs
ZWl6YWNoICA8Y2ZsZWl6YWNoQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBBWDogU3VwcG9ydCBVSVJlcXVlc3RFdmVudHMgZnJvbSBu
ZXcgVzNDIFByb3Bvc2FsCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD00NzMwMQorCisgICAgICAgICogYWNjZXNzaWJpbGl0eS91aXJlcXVlc3QtZXZlbnRz
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogYWNjZXNzaWJpbGl0eS91aXJlcXVlc3Qt
ZXZlbnRzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJv
cGVydGllcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9kb20vcHJvdG90eXBlLWluaGVy
aXRhbmNlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2pzL2dsb2JhbC1jb25zdHJ1Y3Rv
cnMtZXhwZWN0ZWQudHh0OgorCiAyMDEwLTEwLTA2ICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFj
aEBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQmV0aCBEYWtpbi4KSW5kZXg6IExh
eW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvdWlyZXF1ZXN0LWV2ZW50cy1leHBlY3RlZC50eHQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS91aXJlcXVlc3QtZXZlbnRzLWV4
cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvdWly
ZXF1ZXN0LWV2ZW50cy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMzMgQEAK
K09uZQorCitUd28KKworVGhyZWUKKworRm91cgorCitGaXZlCisKK1NpeAorCitTZXZlbgorCitF
aWdodAorCitUaGlzIHRlc3RzIHRoYXQgVUlSZXF1ZXN0RXZlbnRzIHdvcmsgYXMgZGVzY3JpYmVk
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBldmVudFJlY2VpdmVkLnR5
cGUgaXMgZXhwZWN0ZWRUeXBlCitQQVNTIGV2ZW50UmVjZWl2ZWQudHlwZSBpcyBleHBlY3RlZFR5
cGUKK1BBU1MgZXZlbnRSZWNlaXZlZC50eXBlIGlzIGV4cGVjdGVkVHlwZQorUEFTUyBldmVudFJl
Y2VpdmVkLnR5cGUgaXMgZXhwZWN0ZWRUeXBlCitQQVNTIGV2ZW50LnR5cGUgaXMgJ2RlbGV0ZXJl
cXVlc3QnCitQQVNTIGV2ZW50LnR5cGUgaXMgJ2VzY2FwZXJlcXVlc3QnCitQQVNTIGV2ZW50LnR5
cGUgaXMgJ3JlZG9yZXF1ZXN0JworUEFTUyBldmVudC50eXBlIGlzICd1bmRvcmVxdWVzdCcKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCkluZGV4OiBM
YXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L3VpcmVxdWVzdC1ldmVudHMuaHRtbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L3VpcmVxdWVzdC1ldmVudHMuaHRtbAkocmV2
aXNpb24gMCkKKysrIExheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvdWlyZXF1ZXN0LWV2ZW50cy5o
dG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDEwNCBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5
bGVzaGVldCIgaHJlZj0iLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgor
PHNjcmlwdD4KK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSBmYWxzZTsKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5IGlkPSJib2R5Ij4KKworPGRpdiBpZD0ib25lIiBvbnVuZG9yZXF1ZXN0
PSJyZXR1cm4gaGFuZGxlRXZlbnQoZXZlbnQsICd1bmRvcmVxdWVzdCcpOyI+T25lPC9kaXY+PGJy
PgorPGRpdiBpZD0idHdvIiBvbnJlZG9yZXF1ZXN0PSJyZXR1cm4gaGFuZGxlRXZlbnQoZXZlbnQs
ICdyZWRvcmVxdWVzdCcpOyI+VHdvPC9kaXY+PGJyPgorPGRpdiBpZD0idGhyZWUiIG9uZXNjYXBl
cmVxdWVzdD0icmV0dXJuIGhhbmRsZUV2ZW50KGV2ZW50LCAnZXNjYXBlcmVxdWVzdCcpOyI+VGhy
ZWU8L2Rpdj48YnI+Cis8ZGl2IGlkPSJmb3VyIiBvbmRlbGV0ZXJlcXVlc3Q9InJldHVybiBoYW5k
bGVFdmVudChldmVudCwgJ2RlbGV0ZXJlcXVlc3QnKTsiPkZvdXI8L2Rpdj48YnI+CisKKzxkaXYg
aWQ9ImZpdmUiPkZpdmU8L2Rpdj48YnI+Cis8ZGl2IGlkPSJzaXgiPlNpeDwvZGl2Pjxicj4KKzxk
aXYgaWQ9InNldmVuIj5TZXZlbjwvZGl2Pjxicj4KKzxkaXYgaWQ9ImVpZ2h0Ij5FaWdodDwvZGl2
Pjxicj4KKworPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKworPHNjcmlwdD4KKworICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3RzIHRoYXQgVUlSZXF1
ZXN0RXZlbnRzIHdvcmsgYXMgZGVzY3JpYmVkLiIpOworCisgICAgdmFyIGV2ZW50UmVjZWl2ZWQg
PSAwOworICAgIHZhciBleHBlY3RlZFR5cGUKKyAgICBmdW5jdGlvbiBoYW5kbGVFdmVudChlLCBl
eHBlY3RlZCkgeworICAgICAgICBldmVudFJlY2VpdmVkID0gZTsKKyAgICAgICAgZXhwZWN0ZWRU
eXBlID0gZXhwZWN0ZWQ7CisgICAgICAgIHNob3VsZEJlKCJldmVudFJlY2VpdmVkLnR5cGUiLCAi
ZXhwZWN0ZWRUeXBlIik7CisgICAgfQorCisgICAgdmFyIGNvdW50ID0gMDsKKyAgICBmdW5jdGlv
biBpbnN0YWxsZWRFdmVudEhhbmRsZXIoZSkgeworICAgICAgIGlmIChjb3VudCA9PSAwKSB7Cisg
ICAgICAgICAgc2hvdWxkQmUoImV2ZW50LnR5cGUiLCAiJ2RlbGV0ZXJlcXVlc3QnIik7CisgICAg
ICAgfQorICAgICAgIGVsc2UgaWYgKGNvdW50ID09IDEpIHsKKyAgICAgICAgICBzaG91bGRCZSgi
ZXZlbnQudHlwZSIsICInZXNjYXBlcmVxdWVzdCciKTsKKyAgICAgICB9CisgICAgICAgZWxzZSBp
ZiAoY291bnQgPT0gMikgeworICAgICAgICAgIHNob3VsZEJlKCJldmVudC50eXBlIiwgIidyZWRv
cmVxdWVzdCciKTsKKyAgICAgICB9CisgICAgICAgZWxzZSBpZiAoY291bnQgPT0gMykgeworICAg
ICAgICAgIHNob3VsZEJlKCJldmVudC50eXBlIiwgIid1bmRvcmVxdWVzdCciKTsKKyAgICAgICAg
ICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAgICAgICAgIGxheW91
dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKKyAgICAgICAgICB9CisgICAgICAgfQorICAg
ICAgIGNvdW50Kys7CisgICAgfQorCisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxl
cikgeworICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKyAg
ICB9CisgICAgICAgICAgLy8gU2VuZCB0aGUgZXZlbnRzIHRvIHRoZSBzcGVjaWZpYyBub2RlIHRv
IG1ha2Ugc3VyZSB0aGUgb24qIGhhbmRsZXJzIGhhbmRsZSB0aGUgZXZlbnQuCisgICAgICAgICAg
dmFyIGV2dCA9IGRvY3VtZW50LmNyZWF0ZUV2ZW50KCdVSVJlcXVlc3RFdmVudCcpOworICAgICAg
ICAgIGV2dC5pbml0VUlSZXF1ZXN0RXZlbnQoInVuZG9yZXF1ZXN0IiwgdHJ1ZSwgdHJ1ZSwgZG9j
dW1lbnQuZGVmYXVsdFZpZXcsIDApOworICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJvbmUiKS5kaXNwYXRjaEV2ZW50KGV2dCk7CisKKyAgICAgICAgICBldnQgPSBkb2N1bWVudC5j
cmVhdGVFdmVudCgnVUlSZXF1ZXN0RXZlbnQnKTsKKyAgICAgICAgICBldnQuaW5pdFVJUmVxdWVz
dEV2ZW50KCJyZWRvcmVxdWVzdCIsIHRydWUsIHRydWUsIGRvY3VtZW50LmRlZmF1bHRWaWV3LCAw
KTsKKyAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidHdvIikuZGlzcGF0Y2hFdmVu
dChldnQpOworCisgICAgICAgICAgZXZ0ID0gZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ1VJUmVxdWVz
dEV2ZW50Jyk7CisgICAgICAgICAgZXZ0LmluaXRVSVJlcXVlc3RFdmVudCgiZXNjYXBlcmVxdWVz
dCIsIHRydWUsIHRydWUsIGRvY3VtZW50LmRlZmF1bHRWaWV3LCAwKTsKKyAgICAgICAgICBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgidGhyZWUiKS5kaXNwYXRjaEV2ZW50KGV2dCk7CisKKyAgICAg
ICAgICBldnQgPSBkb2N1bWVudC5jcmVhdGVFdmVudCgnVUlSZXF1ZXN0RXZlbnQnKTsKKyAgICAg
ICAgICBldnQuaW5pdFVJUmVxdWVzdEV2ZW50KCJkZWxldGVyZXF1ZXN0IiwgdHJ1ZSwgdHJ1ZSwg
ZG9jdW1lbnQuZGVmYXVsdFZpZXcsIDApOworICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJmb3VyIikuZGlzcGF0Y2hFdmVudChldnQpOworCisgICAgICAgICAgZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImZpdmUiKS5hZGRFdmVudExpc3RlbmVyKCdkZWxldGVyZXF1ZXN0JywgaW5z
dGFsbGVkRXZlbnRIYW5kbGVyKTsKKyAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
c2l4IikuYWRkRXZlbnRMaXN0ZW5lcignZXNjYXBlcmVxdWVzdCcsIGluc3RhbGxlZEV2ZW50SGFu
ZGxlcik7CisgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNldmVuIikuYWRkRXZl
bnRMaXN0ZW5lcigncmVkb3JlcXVlc3QnLCBpbnN0YWxsZWRFdmVudEhhbmRsZXIpOworICAgICAg
ICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlaWdodCIpLmFkZEV2ZW50TGlzdGVuZXIoJ3Vu
ZG9yZXF1ZXN0JywgaW5zdGFsbGVkRXZlbnRIYW5kbGVyKTsKKworICAgICAgICAgIC8vIFNlbmQg
dGhlIGV2ZW50IHRvIHRoZSBzcGVjaWZpYyBub2RlcyB0byBtYWtlIHN1cmUgdGhlIGFkZEV2ZW50
TGlzdGVuZXJzIHdvcmsKKyAgICAgICAgICBldnQgPSBkb2N1bWVudC5jcmVhdGVFdmVudCgnVUlS
ZXF1ZXN0RXZlbnQnKTsKKyAgICAgICAgICBldnQuaW5pdFVJUmVxdWVzdEV2ZW50KCJkZWxldGVy
ZXF1ZXN0IiwgdHJ1ZSwgdHJ1ZSwgZG9jdW1lbnQuZGVmYXVsdFZpZXcsIDApOworICAgICAgICAg
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmaXZlIikuZGlzcGF0Y2hFdmVudChldnQpOworCisg
ICAgICAgICAgZXZ0ID0gZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ1VJUmVxdWVzdEV2ZW50Jyk7Cisg
ICAgICAgICAgZXZ0LmluaXRVSVJlcXVlc3RFdmVudCgiZXNjYXBlcmVxdWVzdCIsIHRydWUsIHRy
dWUsIGRvY3VtZW50LmRlZmF1bHRWaWV3LCAwKTsKKyAgICAgICAgICBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic2l4IikuZGlzcGF0Y2hFdmVudChldnQpOworCisgICAgICAgICAgZXZ0ID0gZG9j
dW1lbnQuY3JlYXRlRXZlbnQoJ1VJUmVxdWVzdEV2ZW50Jyk7CisgICAgICAgICAgZXZ0LmluaXRV
SVJlcXVlc3RFdmVudCgicmVkb3JlcXVlc3QiLCB0cnVlLCB0cnVlLCBkb2N1bWVudC5kZWZhdWx0
VmlldywgMCk7CisgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNldmVuIikuZGlz
cGF0Y2hFdmVudChldnQpOworCisgICAgICAgICAgZXZ0ID0gZG9jdW1lbnQuY3JlYXRlRXZlbnQo
J1VJUmVxdWVzdEV2ZW50Jyk7CisgICAgICAgICAgZXZ0LmluaXRVSVJlcXVlc3RFdmVudCgidW5k
b3JlcXVlc3QiLCB0cnVlLCB0cnVlLCBkb2N1bWVudC5kZWZhdWx0VmlldywgMCk7CisgICAgICAg
ICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVpZ2h0IikuZGlzcGF0Y2hFdmVudChldnQpOwor
CisgICAgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorCis8c2NyaXB0IHNy
Yz0iLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL3Byb3RvdHlwZS1pbmhlcml0
YW5jZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9kb20vcHJv
dG90eXBlLWluaGVyaXRhbmNlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNjkyMzkpCisrKyBMYXlv
dXRUZXN0cy9mYXN0L2RvbS9wcm90b3R5cGUtaW5oZXJpdGFuY2UtZXhwZWN0ZWQudHh0CSh3b3Jr
aW5nIGNvcHkpCkBAIC02MTMsNiArNjEzLDggQEAgUEFTUyBpbm5lci5UeXBlRXJyb3IuaXNJbm5l
ciBpcyB0cnVlCiBQQVNTIGlubmVyLlR5cGVFcnJvci5jb25zdHJ1Y3Rvci5pc0lubmVyIGlzIHRy
dWUKIFBBU1MgaW5uZXIuVUlFdmVudC5pc0lubmVyIGlzIHRydWUKIFBBU1MgaW5uZXIuVUlFdmVu
dC5jb25zdHJ1Y3Rvci5pc0lubmVyIGlzIHRydWUKK1BBU1MgaW5uZXIuVUlSZXF1ZXN0RXZlbnQu
aXNJbm5lciBpcyB0cnVlCitQQVNTIGlubmVyLlVJUmVxdWVzdEV2ZW50LmNvbnN0cnVjdG9yLmlz
SW5uZXIgaXMgdHJ1ZQogUEFTUyBpbm5lci5VUklFcnJvci5pc0lubmVyIGlzIHRydWUKIFBBU1Mg
aW5uZXIuVVJJRXJyb3IuY29uc3RydWN0b3IuaXNJbm5lciBpcyB0cnVlCiBQQVNTIGlubmVyLldl
YktpdEFuaW1hdGlvbkV2ZW50LmlzSW5uZXIgaXMgdHJ1ZQpJbmRleDogTGF5b3V0VGVzdHMvZmFz
dC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMtZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiA2OTIzOSkKKysrIExheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5k
b3ctcHJvcGVydGllcy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTE5NjUsNiArMTk2
NSw4IEBAIHdpbmRvdy5UaW1lUmFuZ2VzLnByb3RvdHlwZS5zdGFydCBbZnVuY3QKIHdpbmRvdy5U
eXBlRXJyb3IgW2Z1bmN0aW9uXQogd2luZG93LlVJRXZlbnQgW29iamVjdCBVSUV2ZW50Q29uc3Ry
dWN0b3JdCiB3aW5kb3cuVUlFdmVudC5wcm90b3R5cGUgW3ByaW50ZWQgYWJvdmUgYXMgd2luZG93
LkV2ZW50LnByb3RvdHlwZV0KK3dpbmRvdy5VSVJlcXVlc3RFdmVudCBbb2JqZWN0IFVJUmVxdWVz
dEV2ZW50Q29uc3RydWN0b3JdCit3aW5kb3cuVUlSZXF1ZXN0RXZlbnQucHJvdG90eXBlIFtwcmlu
dGVkIGFib3ZlIGFzIHdpbmRvdy5FdmVudC5wcm90b3R5cGVdCiB3aW5kb3cuVVJJRXJyb3IgW2Z1
bmN0aW9uXQogd2luZG93LldlYktpdEFuaW1hdGlvbkV2ZW50IFtvYmplY3QgV2ViS2l0QW5pbWF0
aW9uRXZlbnRDb25zdHJ1Y3Rvcl0KIHdpbmRvdy5XZWJLaXRBbmltYXRpb25FdmVudC5wcm90b3R5
cGUgW3ByaW50ZWQgYWJvdmUgYXMgd2luZG93LkV2ZW50LnByb3RvdHlwZV0KQEAgLTIyNjEsNiAr
MjI2Myw3IEBAIHdpbmRvdy5vbmNoYW5nZSBbbnVsbF0KIHdpbmRvdy5vbmNsaWNrIFtudWxsXQog
d2luZG93Lm9uY29udGV4dG1lbnUgW251bGxdCiB3aW5kb3cub25kYmxjbGljayBbbnVsbF0KK3dp
bmRvdy5vbmRlbGV0ZXJlcXVlc3QgW251bGxdCiB3aW5kb3cub25kcmFnIFtudWxsXQogd2luZG93
Lm9uZHJhZ2VuZCBbbnVsbF0KIHdpbmRvdy5vbmRyYWdlbnRlciBbbnVsbF0KQEAgLTIyNzIsNiAr
MjI3NSw3IEBAIHdpbmRvdy5vbmR1cmF0aW9uY2hhbmdlIFtudWxsXQogd2luZG93Lm9uZW1wdGll
ZCBbbnVsbF0KIHdpbmRvdy5vbmVuZGVkIFtudWxsXQogd2luZG93Lm9uZXJyb3IgW251bGxdCit3
aW5kb3cub25lc2NhcGVyZXF1ZXN0IFtudWxsXQogd2luZG93Lm9uZm9jdXMgW251bGxdCiB3aW5k
b3cub25oYXNoY2hhbmdlIFtudWxsXQogd2luZG93Lm9uaW5wdXQgW251bGxdCkBAIC0yMzAwLDYg
KzIzMDQsNyBAQCB3aW5kb3cub25wbGF5aW5nIFtudWxsXQogd2luZG93Lm9ucG9wc3RhdGUgW251
bGxdCiB3aW5kb3cub25wcm9ncmVzcyBbbnVsbF0KIHdpbmRvdy5vbnJhdGVjaGFuZ2UgW251bGxd
Cit3aW5kb3cub25yZWRvcmVxdWVzdCBbbnVsbF0KIHdpbmRvdy5vbnJlc2V0IFtudWxsXQogd2lu
ZG93Lm9ucmVzaXplIFtudWxsXQogd2luZG93Lm9uc2Nyb2xsIFtudWxsXQpAQCAtMjMxMiw2ICsy
MzE3LDcgQEAgd2luZG93Lm9uc3RvcmFnZSBbbnVsbF0KIHdpbmRvdy5vbnN1Ym1pdCBbbnVsbF0K
IHdpbmRvdy5vbnN1c3BlbmQgW251bGxdCiB3aW5kb3cub250aW1ldXBkYXRlIFtudWxsXQord2lu
ZG93Lm9udW5kb3JlcXVlc3QgW251bGxdCiB3aW5kb3cub251bmxvYWQgW251bGxdCiB3aW5kb3cu
b252b2x1bWVjaGFuZ2UgW251bGxdCiB3aW5kb3cub253YWl0aW5nIFtudWxsXQpJbmRleDogTGF5
b3V0VGVzdHMvZmFzdC9qcy9nbG9iYWwtY29uc3RydWN0b3JzLWV4cGVjdGVkLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2pzL2dsb2JhbC1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiA2OTIzOSkKKysrIExheW91dFRlc3RzL2Zhc3QvanMvZ2xvYmFsLWNvbnN0
cnVjdG9ycy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTI5MCw2ICsyOTAsNyBAQCBQ
QVNTIFRleHRFdmVudC50b1N0cmluZygpIGlzICdbb2JqZWN0IFRlCiBQQVNTIFRleHRNZXRyaWNz
LnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgVGV4dE1ldHJpY3NDb25zdHJ1Y3Rvcl0nCiBQQVNTIFRp
bWVSYW5nZXMudG9TdHJpbmcoKSBpcyAnW29iamVjdCBUaW1lUmFuZ2VzQ29uc3RydWN0b3JdJwog
UEFTUyBVSUV2ZW50LnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgVUlFdmVudENvbnN0cnVjdG9yXScK
K1BBU1MgVUlSZXF1ZXN0RXZlbnQudG9TdHJpbmcoKSBpcyAnW29iamVjdCBVSVJlcXVlc3RFdmVu
dENvbnN0cnVjdG9yXScKIFBBU1MgV2ViS2l0QW5pbWF0aW9uRXZlbnQudG9TdHJpbmcoKSBpcyAn
W29iamVjdCBXZWJLaXRBbmltYXRpb25FdmVudENvbnN0cnVjdG9yXScKIFBBU1MgV2ViS2l0Q1NT
S2V5ZnJhbWVSdWxlLnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgV2ViS2l0Q1NTS2V5ZnJhbWVSdWxl
Q29uc3RydWN0b3JdJwogUEFTUyBXZWJLaXRDU1NLZXlmcmFtZXNSdWxlLnRvU3RyaW5nKCkgaXMg
J1tvYmplY3QgV2ViS2l0Q1NTS2V5ZnJhbWVzUnVsZUNvbnN0cnVjdG9yXScK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>70115</attachid>
            <date>2010-10-07 10:46:10 -0700</date>
            <delta_ts>2010-10-26 12:00:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-47301-20101007104609.patch</filename>
            <type>text/plain</type>
            <size>48652</size>
            <attacher name="chris fleizach">cfleizach</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2OTMxOSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNjAgQEAKKzIwMTAtMTAtMDYgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNoQGFw
cGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBBWDogU3VwcG9ydCBVSVJlcXVlc3RFdmVudHMgZnJvbSBuZXcgVzNDIFByb3Bvc2FsCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NzMwMQorCisgICAg
ICAgIFN1cHBvcnQgdGhlIG5ldyBVSVJlcXVlc3RFdmVudCBhcyBvdXRsaW5lIGluCisgICAgICAg
ICJVc2VyIEludGVyZmFjZSBJbmRlcGVuZGVuY2UgZm9yIEFjY2Vzc2libGUgUmljaCBJbnRlcm5l
dCBBcHBsaWNhdGlvbnMiCisgICAgICAgIGh0dHA6Ly9saXN0cy53My5vcmcvQXJjaGl2ZXMvUHVi
bGljL3dhaS14dGVjaC8yMDEwQXVnL2F0dC0wMDc5L1VzZXJJbnRlcmZhY2VJbmRlcGVuZGVuY2Uu
aHRtbAorCisgICAgICAgIEl0IGFkZHMgYSBuZXcgZXZlbnQgdGhhdCBjYW4gYmUgbGlzdGVuZWQg
dG8gYW5kIHNlbnQgdGhhdCBkZWNvdXBsZXMgYWN0aW9ucyBmcm9tIGEgc3BlY2lmaWMKKyAgICAg
ICAgdHlwZSBvZiBpbnB1dCwgYWxsb3dpbmcgYW4gYXNzaXN0aXZlIHRlY2hub2xvZ3kgdG8gc2Vu
ZCBhbiAiZXNjYXBlLCB1bmRvLCByZWRvLCBvciBkZWxldGUiIGFjdGlvbgorICAgICAgICB3aGVu
ZXZlciBpdCBuZWVkcyB0byBiYXNlZCBvbiBpdHMgb3duIGlucHV0LiAgICAgICAgCisKKyAgICAg
ICAgVGVzdDogYWNjZXNzaWJpbGl0eS91aXJlcXVlc3QtZXZlbnRzLmh0bWwKKworICAgICAgICAq
IEFuZHJvaWQuZGVyaXZlZC52OGJpbmRpbmdzLm1rOgorICAgICAgICAqIEFuZHJvaWQuanNjYmlu
ZGluZ3MubWs6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMuY3BwOgorICAgICAgICAqIERlcml2
ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogR05VbWFrZWZpbGUuYW06CisgICAgICAgICogV2Vi
Q29yZS5leHAuaW46CisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIFdlYkNvcmUu
cHJpOgorICAgICAgICAqIFdlYkNvcmUucHJvOgorICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dl
YkNvcmUudmNwcm9qOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ajoKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdDo6ZGlzcGF0Y2hVSVJlcXVlc3RFdmVu
dCk6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0Lmg6CisgICAg
ICAgICogYWNjZXNzaWJpbGl0eS9VSVJlcXVlc3RFdmVudC5jcHA6IEFkZGVkLgorICAgICAgICAo
V2ViQ29yZTo6VUlSZXF1ZXN0RXZlbnQ6OlVJUmVxdWVzdEV2ZW50KToKKyAgICAgICAgKFdlYkNv
cmU6OlVJUmVxdWVzdEV2ZW50Ojppbml0VUlSZXF1ZXN0RXZlbnQpOgorICAgICAgICAqIGFjY2Vz
c2liaWxpdHkvVUlSZXF1ZXN0RXZlbnQuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpVSVJl
cXVlc3RFdmVudDo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlVJUmVxdWVzdEV2ZW50Ojpp
c1VJUmVxdWVzdEV2ZW50KToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L1VJUmVxdWVzdEV2ZW50
LmlkbDogQWRkZWQuCisgICAgICAgICogYmluZGluZ3MvZ29iamVjdC9HTlVtYWtlZmlsZS5hbToK
KyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0V2ZW50Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OnRvSlMpOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpEb2N1bWVudDo6Y3JlYXRlRXZlbnQpOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5oOgorICAg
ICAgICAqIGRvbS9Eb2N1bWVudC5pZGw6CisgICAgICAgICogZG9tL0VsZW1lbnQuaDoKKyAgICAg
ICAgKiBkb20vRWxlbWVudC5pZGw6CisgICAgICAgICogZG9tL0V2ZW50LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkV2ZW50Ojppc1VJUmVxdWVzdEV2ZW50KToKKyAgICAgICAgKiBkb20vRXZlbnQu
aDoKKyAgICAgICAgKiBkb20vRXZlbnROYW1lcy5oOgorICAgICAgICAqIGh0bWwvSFRNTEF0dHJp
YnV0ZU5hbWVzLmluOgorICAgICAgICAqIGh0bWwvSFRNTEVsZW1lbnQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6SFRNTEVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKToKKyAgICAgICAgKiBw
YWdlL0RPTVdpbmRvdy5oOgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmlkbDoKKwogMjAxMC0x
MC0wNyAgRGF2aWQgSHlhdHQgIDxoeWF0dEBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQg
YnkgRGFuIEJlcm5zdGVpbi4KSW5kZXg6IFdlYkNvcmUvQW5kcm9pZC5kZXJpdmVkLnY4YmluZGlu
Z3MubWsKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9BbmRyb2lkLmRlcml2ZWQudjhiaW5kaW5ncy5t
awkocmV2aXNpb24gNjkzMTkpCisrKyBXZWJDb3JlL0FuZHJvaWQuZGVyaXZlZC52OGJpbmRpbmdz
Lm1rCSh3b3JraW5nIGNvcHkpCkBAIC0yNjQsNiArMjY0LDIwIEBAIExPQ0FMX0dFTkVSQVRFRF9T
T1VSQ0VTICs9ICQoR0VOKQogIyBhYm92ZSBydWxlcy4gIFNwZWNpZnlpbmcgdGhpcyBleHBsaWNp
dGx5IG1ha2VzIC1qMiB3b3JrLgogJChwYXRzdWJzdCAlLmgsJS5jcHAsJChHRU4pKTogJChpbnRl
cm1lZGlhdGVzKS9iaW5kaW5ncy8lLmNwcCA6ICQoaW50ZXJtZWRpYXRlcykvYmluZGluZ3MvJS5o
CiAKKyMgQWNjZXNzaWJpbGl0eQorR0VOIDo9IFwKKyAgICAkKGludGVybWVkaWF0ZXMpL2JpbmRp
bmdzL1Y4VUlSZXF1ZXN0RXZlbnQuaAorIAorJChHRU4pOiBQUklWQVRFX1BBVEggOj0gJChMT0NB
TF9QQVRIKQorJChHRU4pOiBQUklWQVRFX0NVU1RPTV9UT09MID0gU09VUkNFX1JPT1Q9JChQUklW
QVRFX1BBVEgpIHBlcmwgLUkkKFBSSVZBVEVfUEFUSCkvYmluZGluZ3Mvc2NyaXB0cyAkKFBSSVZB
VEVfUEFUSCkvYmluZGluZ3Mvc2NyaXB0cy9nZW5lcmF0ZS1iaW5kaW5ncy5wbCAtLWRlZmluZXMg
IiQoRkVBVFVSRV9ERUZJTkVTKSBMQU5HVUFHRV9KQVZBU0NSSVBUIiAtLWdlbmVyYXRvciBWOCAt
LWluY2x1ZGUgZG9tIC0taW5jbHVkZSBodG1sIC0tb3V0cHV0ZGlyICQoZGlyICRAKSAkPAorJChH
RU4pOiAkKGludGVybWVkaWF0ZXMpL2JpbmRpbmdzL1Y4JS5oIDogJChMT0NBTF9QQVRIKS9hY2Nl
c3NpYmlsaXR5LyUuaWRsICQoanNfYmluZGluZ19zY3JpcHRzKQorCSQodHJhbnNmb3JtLWdlbmVy
YXRlZC1zb3VyY2UpCitMT0NBTF9HRU5FUkFURURfU09VUkNFUyArPSAkKEdFTikKKworIyBXZSBh
bHNvIG5lZWQgdGhlIC5jcHAgZmlsZXMsIHdoaWNoIGFyZSBnZW5lcmF0ZWQgYXMgc2lkZSBlZmZl
Y3RzIG9mIHRoZQorIyBhYm92ZSBydWxlcy4gIFNwZWNpZnlpbmcgdGhpcyBleHBsaWNpdGx5IG1h
a2VzIC1qMiB3b3JrLgorJChwYXRzdWJzdCAlLmgsJS5jcHAsJChHRU4pKTogJChpbnRlcm1lZGlh
dGVzKS9iaW5kaW5ncy8lLmNwcCA6ICQoaW50ZXJtZWRpYXRlcykvYmluZGluZ3MvJS5oCisKICMg
UGFnZQogR0VOIDo9IFwKICAgICAkKGludGVybWVkaWF0ZXMpL2JpbmRpbmdzL1Y4QmFySW5mby5o
IFwKSW5kZXg6IFdlYkNvcmUvQW5kcm9pZC5qc2NiaW5kaW5ncy5tawo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL0FuZHJvaWQuanNjYmluZGluZ3MubWsJKHJldmlzaW9uIDY5MzE5KQorKysgV2ViQ29y
ZS9BbmRyb2lkLmpzY2JpbmRpbmdzLm1rCSh3b3JraW5nIGNvcHkpCkBAIC00NSw2ICs0NSw3IEBA
IEJJTkRJTkdfQ19JTkNMVURFUyA6PSBcCiAJJChKQVZBU0NSSVBUQ09SRV9QQVRIKS93cmVjIFwK
IAkkKEpBVkFTQ1JJUFRDT1JFX1BBVEgpL0ZvcndhcmRpbmdIZWFkZXJzIFwKIAlcCisJJChiYXNl
X2ludGVybWVkaWF0ZXMpL1dlYkNvcmUvYWNjZXNzaWJpbGl0eSBcCiAJJChiYXNlX2ludGVybWVk
aWF0ZXMpL1dlYkNvcmUvYmluZGluZ3MvanMgXAogCSQoYmFzZV9pbnRlcm1lZGlhdGVzKS9XZWJD
b3JlL2RvbSBcCiAJJChiYXNlX2ludGVybWVkaWF0ZXMpL1dlYkNvcmUvaHRtbC9jYW52YXMgXApJ
bmRleDogV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy5jcHAJKHJldmlzaW9uIDY5MzE5KQorKysgV2ViQ29yZS9EZXJpdmVkU291
cmNlcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQxOCw2ICs0MTgsNyBAQAogI2luY2x1ZGUgIkpT
VG91Y2hMaXN0LmNwcCIKICNpbmNsdWRlICJKU1RyZWVXYWxrZXIuY3BwIgogI2luY2x1ZGUgIkpT
VUlFdmVudC5jcHAiCisjaW5jbHVkZSAiSlNVSVJlcXVlc3RFdmVudC5jcHAiCiAjaW5jbHVkZSAi
SlNWYWxpZGl0eVN0YXRlLmNwcCIKICNpbmNsdWRlICJKU1dlYktpdEFuaW1hdGlvbkV2ZW50LmNw
cCIKICNpbmNsdWRlICJKU1dlYktpdENTU0tleWZyYW1lUnVsZS5jcHAiCkluZGV4OiBXZWJDb3Jl
L0Rlcml2ZWRTb3VyY2VzLm1ha2UKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9EZXJpdmVkU291cmNl
cy5tYWtlCShyZXZpc2lvbiA2OTMxOSkKKysrIFdlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQko
d29ya2luZyBjb3B5KQpAQCAtMjgsNiArMjgsNyBAQAogCiBWUEFUSCA9IFwKICAgICAkKFdlYkNv
cmUpIFwKKyAgICAkKFdlYkNvcmUpL2FjY2Vzc2liaWxpdHkgXAogICAgICQoV2ViQ29yZSkvYmlu
ZGluZ3MvZ2VuZXJpYyBcCiAgICAgJChXZWJDb3JlKS9iaW5kaW5ncy9qcyBcCiAgICAgJChXZWJD
b3JlKS9iaW5kaW5ncy9vYmpjIFwKQEAgLTQ3NCw2ICs0NzUsNyBAQCBET01fQ0xBU1NFUyA9IFwK
ICAgICBUb3VjaExpc3QgXAogICAgIFRyZWVXYWxrZXIgXAogICAgIFVJRXZlbnQgXAorICAgIFVJ
UmVxdWVzdEV2ZW50IFwKICAgICBWYWxpZGl0eVN0YXRlIFwKICAgICBXZWJLaXRBbmltYXRpb25F
dmVudCBcCiAgICAgV2ViS2l0Q1NTS2V5ZnJhbWVSdWxlIFwKSW5kZXg6IFdlYkNvcmUvR05VbWFr
ZWZpbGUuYW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQkocmV2aXNpb24g
NjkzMTkpCisrKyBXZWJDb3JlL0dOVW1ha2VmaWxlLmFtCSh3b3JraW5nIGNvcHkpCkBAIC01MTQs
NiArNTE0LDggQEAgd2ViY29yZV9idWlsdF9zb3VyY2VzICs9IFwKIAlEZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTVHJlZVdhbGtlci5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTVUlFdmVu
dC5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNVSUV2ZW50LmggXAorCURlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNVSVJlcXVlc3RFdmVudC5jcHAgXAorCURlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNVSVJlcXVlc3RFdmVudC5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTVWlu
dDE2QXJyYXkuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTVWludDE2QXJyYXkuaCBc
CiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1VpbnQzMkFycmF5LmNwcCBcCkBAIC02MjEsNiAr
NjIzLDggQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlXZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNj
ZXNzaWJpbGl0eVRhYmxlUm93LmggXAogCVdlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENh
Y2hlLmNwcCBcCiAJV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaCBcCisJV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L1VJUmVxdWVzdEV2ZW50LmNwcCBcCisJV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L1VJUmVxdWVzdEV2ZW50LmggXAogCVdlYkNvcmUvYmluZGluZ3MvZ2VuZXJpYy9BY3Rp
dmVET01DYWxsYmFjay5jcHAgXAogCVdlYkNvcmUvYmluZGluZ3MvZ2VuZXJpYy9BY3RpdmVET01D
YWxsYmFjay5oIFwKIAlXZWJDb3JlL2JpbmRpbmdzL2dlbmVyaWMvQmluZGluZ0ZyYW1lLmggXApA
QCAtNDUxNyw2ICs0NTIxLDcgQEAgRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9JbnNwZWN0b3JGcm9u
dGVuZAogCSQoQU1fVl9HRU4pJChQRVJMKSAtSSQoV2ViQ29yZSkvYmluZGluZ3Mvc2NyaXB0cyAt
SSQoV2ViQ29yZSkvaW5zcGVjdG9yICQoV2ViQ29yZSkvYmluZGluZ3Mvc2NyaXB0cy9nZW5lcmF0
ZS1iaW5kaW5ncy5wbCAkKElETF9QQVRIOiU9LS1pbmNsdWRlICIlIikgLS1vdXRwdXREaXIgIiQo
R0VOU09VUkNFU19XRUJDT1JFKSIgLS1kZWZpbmVzICJMQU5HVUFHRV9KQVZBU0NSSVBUPTEgJChG
RUFUVVJFX0RFRklORVMpIiAtLWdlbmVyYXRvciBJbnNwZWN0b3IgJDwKIAogSURMX1BBVEggOj0g
XAorICAgICQoV2ViQ29yZSkvYWNjZXNzaWJpbGl0eSBcCiAgICAgJChXZWJDb3JlKS9iaW5kaW5n
cy9qcyBcCiAgICAgJChXZWJDb3JlKS9jc3MgXAogICAgICQoV2ViQ29yZSkvZG9tIFwKSW5kZXg6
IFdlYkNvcmUvV2ViQ29yZS5leHAuaW4KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9XZWJDb3JlLmV4
cC5pbgkocmV2aXNpb24gNjkzMTkpCisrKyBXZWJDb3JlL1dlYkNvcmUuZXhwLmluCSh3b3JraW5n
IGNvcHkpCkBAIC0xMDQsNiArMTA0LDcgQEAKIC5vYmpjX2NsYXNzX25hbWVfRE9NVGV4dEV2ZW50
CiAub2JqY19jbGFzc19uYW1lX0RPTVRyZWVXYWxrZXIKIC5vYmpjX2NsYXNzX25hbWVfRE9NVUlF
dmVudAorLm9iamNfY2xhc3NfbmFtZV9ET01VSVJlcXVlc3RFdmVudAogLm9iamNfY2xhc3NfbmFt
ZV9ET01XaGVlbEV2ZW50CiAub2JqY19jbGFzc19uYW1lX1dlYkNvcmVLZXlHZW5lcmF0b3IKIC5v
YmpjX2NsYXNzX25hbWVfV2ViQ29yZVZpZXdGYWN0b3J5CkluZGV4OiBXZWJDb3JlL1dlYkNvcmUu
Z3lwaQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL1dlYkNvcmUuZ3lwaQkocmV2aXNpb24gNjkzMTkp
CisrKyBXZWJDb3JlL1dlYkNvcmUuZ3lwaQkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDcgQEAK
IHsKICAgICAndmFyaWFibGVzJzogewogICAgICAgICAnd2ViY29yZV9iaW5kaW5nc19pZGxfZmls
ZXMnOiBbCisgICAgICAgICAgICAnYWNjZXNzaWJpbGl0eS9VSVJlcXVlc3RFdmVudC5pZGwnLAog
ICAgICAgICAgICAgJ2Nzcy9DU1NDaGFyc2V0UnVsZS5pZGwnLAogICAgICAgICAgICAgJ2Nzcy9D
U1NGb250RmFjZVJ1bGUuaWRsJywKICAgICAgICAgICAgICdjc3MvQ1NTSW1wb3J0UnVsZS5pZGwn
LApAQCAtNTAzLDYgKzUwNCw4IEBACiAgICAgICAgICAgICAnYWNjZXNzaWJpbGl0eS9BY2Nlc3Np
YmlsaXR5VGFibGVIZWFkZXJDb250YWluZXIuaCcsCiAgICAgICAgICAgICAnYWNjZXNzaWJpbGl0
eS9BY2Nlc3NpYmlsaXR5VGFibGVSb3cuY3BwJywKICAgICAgICAgICAgICdhY2Nlc3NpYmlsaXR5
L0FjY2Vzc2liaWxpdHlUYWJsZVJvdy5oJywKKyAgICAgICAgICAgICdhY2Nlc3NpYmlsaXR5L1VJ
UmVxdWVzdEV2ZW50LmNwcCcsCisgICAgICAgICAgICAnYWNjZXNzaWJpbGl0eS9VSVJlcXVlc3RF
dmVudC5oJywKICAgICAgICAgICAgICdhY2Nlc3NpYmlsaXR5L2Nocm9taXVtL0FYT2JqZWN0Q2Fj
aGVDaHJvbWl1bS5jcHAnLAogICAgICAgICAgICAgJ2FjY2Vzc2liaWxpdHkvY2hyb21pdW0vQWNj
ZXNzaWJpbGl0eU9iamVjdENocm9taXVtLmNwcCcsCiAgICAgICAgICAgICAnYWNjZXNzaWJpbGl0
eS9jaHJvbWl1bS9BY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlci5oJywKSW5kZXg6IFdlYkNvcmUv
V2ViQ29yZS5wcmkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9XZWJDb3JlLnByaQkocmV2aXNpb24g
NjkzMTkpCisrKyBXZWJDb3JlL1dlYkNvcmUucHJpCSh3b3JraW5nIGNvcHkpCkBAIC02OSw2ICs2
OSw3IEBAIHY4IHsKIH0KIAogSURMX0JJTkRJTkdTICs9IFwKKyAgICBhY2Nlc3NpYmlsaXR5L1VJ
UmVxdWVzdEV2ZW50LmlkbCBcCiAgICAgY3NzL0NvdW50ZXIuaWRsIFwKICAgICBjc3MvQ1NTQ2hh
cnNldFJ1bGUuaWRsIFwKICAgICBjc3MvQ1NTRm9udEZhY2VSdWxlLmlkbCBcCkluZGV4OiBXZWJD
b3JlL1dlYkNvcmUucHJvCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvV2ViQ29yZS5wcm8JKHJldmlz
aW9uIDY5MzE5KQorKysgV2ViQ29yZS9XZWJDb3JlLnBybwkod29ya2luZyBjb3B5KQpAQCAtMzE4
LDYgKzMxOCw3IEBAIFNPVVJDRVMgKz0gXAogICAgIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0
eVRhYmxlSGVhZGVyQ29udGFpbmVyLmNwcCBcICAgIAogICAgIGFjY2Vzc2liaWxpdHkvQWNjZXNz
aWJpbGl0eVRhYmxlUm93LmNwcCBcICAgIAogICAgIGFjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNo
ZS5jcHAgXAorICAgIGFjY2Vzc2liaWxpdHkvVUlSZXF1ZXN0RXZlbnQuY3BwIFwKICAgICBiaW5k
aW5ncy9nZW5lcmljL0FjdGl2ZURPTUNhbGxiYWNrLmNwcAogCiB2OCB7CkluZGV4OiBXZWJDb3Jl
L1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvV2Vi
Q29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oJKHJldmlzaW9uIDY5MzE5KQorKysgV2ViQ29yZS9X
ZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagkod29ya2luZyBjb3B5KQpAQCAtMjAyNzUsNiAr
MjAyNzUsNjIgQEAKIAkJCQk+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQorCQkJCVJlbGF0aXZl
UGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNl
c1xKU1VJUmVxdWVzdEV2ZW50LmNwcCINCisJCQkJPg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24N
CisJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIg0KKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUi
DQorCQkJCQk+DQorCQkJCQk8VG9vbA0KKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQor
CQkJCQkvPg0KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRp
b24NCisJCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0i
dHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9v
bCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxGaWxlQ29uZmln
dXJhdGlvbg0KKwkJCQkJTmFtZT0iRGVidWdfSW50ZXJuYWx8V2luMzIiDQorCQkJCQlFeGNsdWRl
ZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkND
TENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJ
CTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0iRGVidWdfQ2Fpcm98V2luMzIiDQorCQkJ
CQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJ
TmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRp
b24+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0iUmVsZWFzZV9DYWlyb3xX
aW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJCQkJPFRv
b2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJPC9GaWxl
Q29uZmlndXJhdGlvbj4NCisJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQlOYW1lPSJEZWJ1
Z19BbGx8V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJ
CQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJ
CTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0
aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291
cmNlc1xKU1VJUmVxdWVzdEV2ZW50LmgiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUN
CiAJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUp
XERlcml2ZWRTb3VyY2VzXEpTVmFsaWRpdHlTdGF0ZS5jcHAiDQogCQkJCT4NCiAJCQkJPEZpbGVD
b25maWd1cmF0aW9uDQpAQCAtMjMwMTQsNiArMjMwNzAsNjIgQEAKIAkJCQlSZWxhdGl2ZVBhdGg9
Ii4uXGFjY2Vzc2liaWxpdHlcQVhPYmplY3RDYWNoZS5oIg0KIAkJCQk+DQogCQkJPC9GaWxlPg0K
KwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cYWNjZXNzaWJpbGl0eVxVSVJlcXVlc3RF
dmVudC5jcHAiDQorCQkJCT4NCisJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQlOYW1lPSJE
ZWJ1Z3xXaW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJ
CQkJPFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJ
PC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQlOYW1l
PSJSZWxlYXNlfFdpbjMyIg0KKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQk+
DQorCQkJCQk8VG9vbA0KKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkvPg0K
KwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJ
CU5hbWU9IkRlYnVnX0ludGVybmFsfFdpbjMyIg0KKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRy
dWUiDQorCQkJCQk+DQorCQkJCQk8VG9vbA0KKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wi
DQorCQkJCQkvPg0KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQk8RmlsZUNvbmZpZ3Vy
YXRpb24NCisJCQkJCU5hbWU9IkRlYnVnX0NhaXJvfFdpbjMyIg0KKwkJCQkJRXhjbHVkZWRGcm9t
QnVpbGQ9InRydWUiDQorCQkJCQk+DQorCQkJCQk8VG9vbA0KKwkJCQkJCU5hbWU9IlZDQ0xDb21w
aWxlclRvb2wiDQorCQkJCQkvPg0KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQk8Rmls
ZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9IlJlbGVhc2VfQ2Fpcm98V2luMzIiDQorCQkJCQlF
eGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFt
ZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+
DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0iRGVidWdfQWxsfFdpbjMyIg0K
KwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQk+DQorCQkJCQk8VG9vbA0KKwkJ
CQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkvPg0KKwkJCQk8L0ZpbGVDb25maWd1
cmF0aW9uPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGFj
Y2Vzc2liaWxpdHlcVUlSZXF1ZXN0RXZlbnQuaCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCiAJCQk8
RmlsdGVyDQogCQkJCU5hbWU9IndpbiINCiAJCQkJPg0KSW5kZXg6IFdlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiA2OTMxOSkKKysrIFdlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC02OTcsNiAr
Njk3LDEwIEBACiAJCTI5QTgxMjQ5MEZCQjlDQTkwMDUxMDI5MyAvKiBBY2Nlc3NpYmlsaXR5T2Jq
ZWN0V3JhcHBlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMjlBODEyNDUwRkJCOUNBOTAwNTEwMjkzIC8qIEFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVy
LmggKi87IH07CiAJCTI5QTgxMjRBMEZCQjlDQTkwMDUxMDI5MyAvKiBBY2Nlc3NpYmlsaXR5T2Jq
ZWN0V3JhcHBlci5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDI5QTgxMjQ2MEZCQjlDQTkwMDUxMDI5MyAvKiBBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBl
ci5tbSAqLzsgfTsKIAkJMjlBODEyNEIwRkJCOUNBOTAwNTEwMjkzIC8qIEFYT2JqZWN0Q2FjaGVN
YWMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyOUE4
MTI0NzBGQkI5Q0E5MDA1MTAyOTMgLyogQVhPYmplY3RDYWNoZU1hYy5tbSAqLzsgfTsKKwkJMjlE
RDIxMTExMjVCQzcxRjAwMTYzQzBDIC8qIFVJUmVxdWVzdEV2ZW50LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyOUREMjEwRjEyNUJDNzFGMDAxNjNDMEMg
LyogVUlSZXF1ZXN0RXZlbnQuaCAqLzsgfTsKKwkJMjlERDIxMTIxMjVCQzcxRjAwMTYzQzBDIC8q
IFVJUmVxdWVzdEV2ZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDI5REQyMTEwMTI1QkM3MUYwMDE2M0MwQyAvKiBVSVJlcXVlc3RFdmVudC5jcHAg
Ki87IH07CisJCTI5REQyMjlDMTI1QzAyMEEwMDE2M0MwQyAvKiBKU1VJUmVxdWVzdEV2ZW50LmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE4NjYyOURB
MDlEQTJCNDcwMDk2MzNBNSAvKiBKU1VJUmVxdWVzdEV2ZW50LmNwcCAqLzsgfTsKKwkJMjlERDIy
OUQxMjVDMDIwRTAwMTYzQzBDIC8qIEpTVUlSZXF1ZXN0RXZlbnQuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE4NjYyOUQ5MDlEQTJCNDcwMDk2MzNBNSAv
KiBKU1VJUmVxdWVzdEV2ZW50LmggKi87IH07CiAJCTJEOTA2NjA2MEJFMTQxRDQwMDk1Njk5OCAv
KiBMYXlvdXRTdGF0ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAyRDkwNjYwNDBCRTE0MUQ0MDA5NTY5OTggLyogTGF5b3V0U3RhdGUuY3BwICovOyB9
OwogCQkyRDkwNjYwNzBCRTE0MUQ0MDA5NTY5OTggLyogTGF5b3V0U3RhdGUuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEOTA2NjA1MEJFMTQxRDQwMDk1
Njk5OCAvKiBMYXlvdXRTdGF0ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCTJFMDg4OEQ0MTE0ODg0OEEwMEFGNDI2NSAvKiBKU0RPTUZvcm1EYXRh
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJFMDg4
OEQyMTE0ODg0OEEwMEFGNDI2NSAvKiBKU0RPTUZvcm1EYXRhLmNwcCAqLzsgfTsKQEAgLTY3MDks
NiArNjcxMyw5IEBACiAJCTI5QTgxMjQ1MEZCQjlDQTkwMDUxMDI5MyAvKiBBY2Nlc3NpYmlsaXR5
T2JqZWN0V3JhcHBlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBY2Nlc3Np
YmlsaXR5T2JqZWN0V3JhcHBlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyOUE4
MTI0NjBGQkI5Q0E5MDA1MTAyOTMgLyogQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIubW0gKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBBY2Nlc3NpYmlsaXR5T2JqZWN0
V3JhcHBlci5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMjlBODEyNDcwRkJCOUNB
OTAwNTEwMjkzIC8qIEFYT2JqZWN0Q2FjaGVNYWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5vYmpjcHA7IHBhdGggPSBBWE9iamVjdENhY2hlTWFjLm1tOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQkyOUREMjEwRjEyNUJDNzFGMDAxNjNDMEMgLyogVUlSZXF1ZXN0RXZlbnQuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVUlSZXF1ZXN0RXZlbnQuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMjlERDIxMTAxMjVCQzcxRjAwMTYzQzBDIC8qIFVJUmVx
dWVzdEV2ZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFVJUmVx
dWVzdEV2ZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMjlERDIxMTMxMjVC
QzczRTAwMTYzQzBDIC8qIFVJUmVxdWVzdEV2ZW50LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGgg
PSBVSVJlcXVlc3RFdmVudC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJEOTA2
NjA0MEJFMTQxRDQwMDk1Njk5OCAvKiBMYXlvdXRTdGF0ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gTGF5b3V0U3RhdGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQkyRDkwNjYwNTBCRTE0MUQ0MDA5NTY5OTggLyogTGF5b3V0U3RhdGUuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExheW91dFN0YXRlLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTJEOTA2NjBCMDY2NUQ5MzcwMDZCNkYxQSAvKiBDbGlwYm9hcmRN
YWMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgaW5k
ZW50V2lkdGggPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
Q2xpcGJvYXJkTWFjLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHRhYldpZHRoID0gODsgdXNl
c1RhYnMgPSAwOyB9OwpAQCAtOTI2Niw2ICs5MjczLDggQEAKIAkJQTg2NjI5Q0MwOURBMkI0NzAw
OTYzM0E1IC8qIEpTTW91c2VFdmVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gSlNNb3VzZUV2ZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
QTg2NjI5Q0QwOURBMkI0NzAwOTYzM0E1IC8qIEpTS2V5Ym9hcmRFdmVudC5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNLZXlib2FyZEV2ZW50Lmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUE4NjYyOUNFMDlEQTJCNDcwMDk2MzNBNSAvKiBKU0tleWJvYXJkRXZl
bnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTS2V5Ym9hcmRF
dmVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE4NjYyOUQ5MDlEQTJCNDcw
MDk2MzNBNSAvKiBKU1VJUmVxdWVzdEV2ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBKU1VJUmVxdWVzdEV2ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CUE4NjYyOURBMDlEQTJCNDcwMDk2MzNBNSAvKiBKU1VJUmVxdWVzdEV2ZW50LmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1VJUmVxdWVzdEV2ZW50LmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTg3MUQ0NEMwQTEyN0NCQzAwQjEyQTY4IC8qIEhU
TUxQbHVnSW5FbGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBIVE1M
UGx1Z0luRWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBODcxRDQ0RDBB
MTI3Q0JDMDBCMTJBNjggLyogSFRNTFBsdWdJbkVsZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEhUTUxQbHVnSW5FbGVtZW50LmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQTg3MUQ0NEUwQTEyN0NCQzAwQjEyQTY4IC8qIEhUTUxQYXJhbUVs
ZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEhUTUxQYXJhbUVsZW1l
bnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEyMjkyLDYgKzEyMzAxLDkgQEAK
IAkJCQkyOUE4MTIxMzBGQkI5QzFEMDA1MTAyOTMgLyogQWNjZXNzaWJpbGl0eVRhYmxlUm93Lmgg
Ki8sCiAJCQkJMjlBODEyMTkwRkJCOUMxRDAwNTEwMjkzIC8qIEFYT2JqZWN0Q2FjaGUuY3BwICov
LAogCQkJCTI5QTgxMjFBMEZCQjlDMUQwMDUxMDI5MyAvKiBBWE9iamVjdENhY2hlLmggKi8sCisJ
CQkJMjlERDIxMTAxMjVCQzcxRjAwMTYzQzBDIC8qIFVJUmVxdWVzdEV2ZW50LmNwcCAqLywKKwkJ
CQkyOUREMjEwRjEyNUJDNzFGMDAxNjNDMEMgLyogVUlSZXF1ZXN0RXZlbnQuaCAqLywKKwkJCQky
OUREMjExMzEyNUJDNzNFMDAxNjNDMEMgLyogVUlSZXF1ZXN0RXZlbnQuaWRsICovLAogCQkJKTsK
IAkJCXBhdGggPSBhY2Nlc3NpYmlsaXR5OwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKQEAg
LTE1NzQ4LDYgKzE1NzYwLDggQEAKIAkJCQk5MzNBMTRCNzBCN0QxRDUyMDBBNTNGRkQgLyogSlNU
ZXh0RXZlbnQuaCAqLywKIAkJCQlBODY2MjlDQTA5REEyQjQ3MDA5NjMzQTUgLyogSlNVSUV2ZW50
LmNwcCAqLywKIAkJCQlBODY2MjlDOTA5REEyQjQ3MDA5NjMzQTUgLyogSlNVSUV2ZW50LmggKi8s
CisJCQkJQTg2NjI5REEwOURBMkI0NzAwOTYzM0E1IC8qIEpTVUlSZXF1ZXN0RXZlbnQuY3BwICov
LAorCQkJCUE4NjYyOUQ5MDlEQTJCNDcwMDk2MzNBNSAvKiBKU1VJUmVxdWVzdEV2ZW50LmggKi8s
CiAJCQkJMzFDMEZGMzkwRTRDRUZBQzAwN0Q2RkU1IC8qIEpTV2ViS2l0QW5pbWF0aW9uRXZlbnQu
Y3BwICovLAogCQkJCTMxQzBGRjNBMEU0Q0VGQUMwMDdENkZFNSAvKiBKU1dlYktpdEFuaW1hdGlv
bkV2ZW50LmggKi8sCiAJCQkJMzFDMEZGM0IwRTRDRUZBQzAwN0Q2RkU1IC8qIEpTV2ViS2l0VHJh
bnNpdGlvbkV2ZW50LmNwcCAqLywKQEAgLTIxMDcyLDYgKzIxMDg2LDggQEAKIAkJCQkwODE2NjhE
NDEyNTYwM0JGMDA2RjI1REUgLyogU1ZHVGV4dENodW5rQnVpbGRlci5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJMDgxNjY4REExMjU2MDNENTAwNkYyNURFIC8qIFNWR1RleHRMYXlvdXRFbmdpbmUuaCBp
biBIZWFkZXJzICovLAogCQkJCTFBRjhFMTFBMTI1NjU5MjYwMDIzMEZGNyAvKiBQcm94eVNlcnZl
ci5oIGluIEhlYWRlcnMgKi8sCisJCQkJMjlERDIxMTExMjVCQzcxRjAwMTYzQzBDIC8qIFVJUmVx
dWVzdEV2ZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQkyOUREMjI5RDEyNUMwMjBFMDAxNjNDMEMg
LyogSlNVSVJlcXVlc3RFdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQURERjFBRDcxMjU3Q0Q5
QTAwMDNBNzU5IC8qIFJlbmRlclNWR1BhdGguaCBpbiBIZWFkZXJzICovLAogCQkJCTkzNDkwN0U0
MTI1QkJCQzgwMDdGMjNBMCAvKiBHcmFwaGljc0NvbnRleHRDRy5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJODkzQzQ4MDExMjQ4QkQzQTAwMkIzRDg2IC8qIERpcmVjdG9yeUVudHJ5U3luYy5oIGluIEhl
YWRlcnMgKi8sCkBAIC0yMzYyMiw2ICsyMzYzOCw4IEBACiAJCQkJMDgxNjY4RDkxMjU2MDNENTAw
NkYyNURFIC8qIFNWR1RleHRMYXlvdXRFbmdpbmUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUFG
OEUxMzMxMjU2NUE0NDAwMjMwRkY3IC8qIFByb3h5U2VydmVyLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTFBRjhFMUMzMTI1NjczRTAwMDIzMEZGNyAvKiBQcm94eVNlcnZlckNGTmV0LmNwcCBpbiBT
b3VyY2VzICovLAorCQkJCTI5REQyMTEyMTI1QkM3MUYwMDE2M0MwQyAvKiBVSVJlcXVlc3RFdmVu
dC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkyOUREMjI5QzEyNUMwMjBBMDAxNjNDMEMgLyogSlNV
SVJlcXVlc3RFdmVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBRERGMUFENjEyNTdDRDlBMDAw
M0E3NTkgLyogUmVuZGVyU1ZHUGF0aC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk4OTNDNDgwMDEy
NDhCRDNBMDAyQjNEODYgLyogRGlyZWN0b3J5RW50cnlTeW5jLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTg5M0M0ODAyMTI0OEJEM0EwMDJCM0Q4NiAvKiBEaXJlY3RvcnlSZWFkZXJTeW5jLmNwcCBp
biBTb3VyY2VzICovLApJbmRleDogV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlP
YmplY3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5T2JqZWN0LmNwcAkocmV2aXNpb24gNjkzMTkpCisrKyBXZWJDb3JlL2FjY2Vzc2liaWxpdHkv
QWNjZXNzaWJpbGl0eU9iamVjdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUwLDYgKzUwLDcgQEAK
ICNpbmNsdWRlICJSZW5kZXJXaWRnZXQuaCIKICNpbmNsdWRlICJTZWxlY3Rpb25Db250cm9sbGVy
LmgiCiAjaW5jbHVkZSAiVGV4dEl0ZXJhdG9yLmgiCisjaW5jbHVkZSAiVUlSZXF1ZXN0RXZlbnQu
aCIKICNpbmNsdWRlICJodG1sZWRpdGluZy5oIgogI2luY2x1ZGUgInZpc2libGVfdW5pdHMuaCIK
ICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CkBAIC05OTgsNCArOTk5LDMxIEBAIEFjY2Vz
c2liaWxpdHlCdXR0b25TdGF0ZSBBY2Nlc3NpYmlsaXR5T2IKICAgICByZXR1cm4gQnV0dG9uU3Rh
dGVPZmY7CiB9CiAgICAgCit2b2lkIEFjY2Vzc2liaWxpdHlPYmplY3Q6OmRpc3BhdGNoVUlSZXF1
ZXN0RXZlbnQoVUlSZXF1ZXN0RXZlbnRUeXBlIHR5cGUpCit7CisgICAgTm9kZSogbiA9IG5vZGUo
KTsKKyAgICBpZiAoIW4gfHwgbi0+ZGlzYWJsZWQoKSkKKyAgICAgICAgcmV0dXJuOworICAgIAor
ICAgIEF0b21pY1N0cmluZyBldmVudFR5cGU7CisgICAgc3dpdGNoICh0eXBlKSB7CisgICAgY2Fz
ZSBVTkRPOgorICAgICAgICBldmVudFR5cGUgPSBldmVudE5hbWVzKCkudW5kb3JlcXVlc3RFdmVu
dDsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBSRURPOgorICAgICAgICBldmVudFR5cGUgPSBl
dmVudE5hbWVzKCkucmVkb3JlcXVlc3RFdmVudDsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBF
U0NBUEU6CisgICAgICAgIGV2ZW50VHlwZSA9IGV2ZW50TmFtZXMoKS5lc2NhcGVyZXF1ZXN0RXZl
bnQ7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgREVMRVRFOgorICAgICAgICBldmVudFR5cGUg
PSBldmVudE5hbWVzKCkuZGVsZXRlcmVxdWVzdEV2ZW50OworICAgICAgICBicmVhazsKKyAgICB9
CisgICAgCisgICAgUmVmUHRyPFVJUmVxdWVzdEV2ZW50PiB1aVJlcXVlc3RFdmVudCA9IFVJUmVx
dWVzdEV2ZW50OjpjcmVhdGUoZXZlbnRUeXBlLCB0cnVlLCB0cnVlLCBuLT5kb2N1bWVudCgpLT5k
ZWZhdWx0VmlldygpLCAwKTsKKyAgICBuLT5kaXNwYXRjaEV2ZW50KHVpUmVxdWVzdEV2ZW50KTsK
K30KKworICAgIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2FjY2Vz
c2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oCShyZXZpc2lvbiA2OTMxOSkKKysrIFdlYkNv
cmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmgJKHdvcmtpbmcgY29weSkKQEAg
LTUxOSw2ICs1MTksMTAgQEAgcHVibGljOgogICAgIHZpcnR1YWwgU3RyaW5nIGRlc2NyaXB0aW9u
Rm9yTVNBQSgpIGNvbnN0IHsgcmV0dXJuIFN0cmluZygpOyB9CiAgICAgdmlydHVhbCBBY2Nlc3Np
YmlsaXR5Um9sZSByb2xlVmFsdWVGb3JNU0FBKCkgY29uc3QgeyByZXR1cm4gcm9sZVZhbHVlKCk7
IH0KIAorICAgIC8vIFVJUmVxdWVzdEV2ZW50IHN1cHBvcnQKKyAgICBlbnVtIFVJUmVxdWVzdEV2
ZW50VHlwZSB7IFVORE8gPSAxLCBSRURPID0gMiwgRVNDQVBFID0gMywgREVMRVRFID0gNCB9Owor
ICAgIHZvaWQgZGlzcGF0Y2hVSVJlcXVlc3RFdmVudChVSVJlcXVlc3RFdmVudFR5cGUpOworICAg
IAogICAgIC8vIFVzZWQgYnkgYW4gQVJJQSB0cmVlIHRvIGdldCBhbGwgaXRzIHJvd3MuCiAgICAg
dm9pZCBhcmlhVHJlZVJvd3MoQWNjZXNzaWJpbGl0eUNoaWxkcmVuVmVjdG9yJik7CiAgICAgLy8g
VXNlZCBieSBhbiBBUklBIHRyZWUgaXRlbSB0byBnZXQgYWxsIG9mIGl0cyBkaXJlY3Qgcm93cyB0
aGF0IGl0IGNhbiBkaXNjbG9zZS4KSW5kZXg6IFdlYkNvcmUvYWNjZXNzaWJpbGl0eS9VSVJlcXVl
c3RFdmVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L1VJUmVxdWVz
dEV2ZW50LmNwcAkocmV2aXNpb24gMCkKKysrIFdlYkNvcmUvYWNjZXNzaWJpbGl0eS9VSVJlcXVl
c3RFdmVudC5jcHAJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNDkgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUsIElOQy4gYGBBUyBJUycnIEFO
RCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgorICogQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqCisgKi8KKworI2luY2x1ZGUg
ImNvbmZpZy5oIgorI2luY2x1ZGUgIlVJUmVxdWVzdEV2ZW50LmgiCisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKyAgICAKK1VJUmVxdWVzdEV2ZW50OjpVSVJlcXVlc3RFdmVudCgpCit7Cit9CisgICAg
CitVSVJlcXVlc3RFdmVudDo6VUlSZXF1ZXN0RXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBl
LCBib29sIGNhbkJ1YmJsZSwgYm9vbCBjYW5jZWxhYmxlLCBQYXNzUmVmUHRyPEFic3RyYWN0Vmll
dz4gdmlldywgaW50IGRldGFpbCkKKyAgICA6IFVJRXZlbnQodHlwZSwgY2FuQnViYmxlLCBjYW5j
ZWxhYmxlLCB2aWV3LCBkZXRhaWwpCit7Cit9CisKK3ZvaWQgVUlSZXF1ZXN0RXZlbnQ6OmluaXRV
SVJlcXVlc3RFdmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGJvb2wgY2FuQnViYmxlLCBi
b29sIGNhbmNlbGFibGUsIFBhc3NSZWZQdHI8QWJzdHJhY3RWaWV3PiB2aWV3LCBpbnQgZGV0YWls
KQoreworICAgIGlmIChkaXNwYXRjaGVkKCkpCisgICAgICAgIHJldHVybjsKKyAgICAKKyAgICBp
bml0VUlFdmVudCh0eXBlLCBjYW5CdWJibGUsIGNhbmNlbGFibGUsIHZpZXcsIGRldGFpbCk7Cit9
ICAgCisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFdlYkNvcmUvYWNjZXNzaWJpbGl0
eS9VSVJlcXVlc3RFdmVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYWNjZXNzaWJpbGl0eS9V
SVJlcXVlc3RFdmVudC5oCShyZXZpc2lvbiAwKQorKysgV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L1VJ
UmVxdWVzdEV2ZW50LmgJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNjIgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUsIElOQy4gYGBBUyBJUycn
IEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgorICogQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAq
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqCisgKi8KKworI2lmbmRl
ZiBVSVJlcXVlc3RFdmVudF9oCisjZGVmaW5lIFVJUmVxdWVzdEV2ZW50X2gKKworI2luY2x1ZGUg
IlVJRXZlbnQuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworICAgIAorLy8gIlVzZXIgSW50ZXJm
YWNlIEluZGVwZW5kZW5jZSBmb3IgQWNjZXNzaWJsZSBSaWNoIEludGVybmV0IEFwcGxpY2F0aW9u
cyIgVzNDIFByb3Bvc2FsCitjbGFzcyBVSVJlcXVlc3RFdmVudCA6IHB1YmxpYyBVSUV2ZW50IHsK
K3B1YmxpYzoKKyAgICAKKyAgICBlbnVtIHsKKyAgICAgICAgCisgICAgfTsKKyAgICAKKyAgICBz
dGF0aWMgUGFzc1JlZlB0cjxVSVJlcXVlc3RFdmVudD4gY3JlYXRlKCkKKyAgICB7CisgICAgICAg
IHJldHVybiBhZG9wdFJlZihuZXcgVUlSZXF1ZXN0RXZlbnQpOworICAgIH0KKyAgICBzdGF0aWMg
UGFzc1JlZlB0cjxVSVJlcXVlc3RFdmVudD4gY3JlYXRlKGNvbnN0IEF0b21pY1N0cmluZyYgdHlw
ZSwgYm9vbCBjYW5CdWJibGUsIGJvb2wgY2FuY2VsYWJsZSwgUGFzc1JlZlB0cjxBYnN0cmFjdFZp
ZXc+IHZpZXcsIGludCBkZXRhaWwpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3
IFVJUmVxdWVzdEV2ZW50KHR5cGUsIGNhbkJ1YmJsZSwgY2FuY2VsYWJsZSwgdmlldywgZGV0YWls
KSk7CisgICAgfQorICAgIAorICAgIHZvaWQgaW5pdFVJUmVxdWVzdEV2ZW50KGNvbnN0IEF0b21p
Y1N0cmluZyYgdHlwZSwgYm9vbCBjYW5CdWJibGUsIGJvb2wgY2FuY2VsYWJsZSwgUGFzc1JlZlB0
cjxBYnN0cmFjdFZpZXc+LCBpbnQgZGV0YWlsKTsKKworICAgIHZpcnR1YWwgYm9vbCBpc1VJUmVx
dWVzdEV2ZW50KCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQorICAgIAorcHJpdmF0ZToKKyAgICBV
SVJlcXVlc3RFdmVudCgpOworICAgIFVJUmVxdWVzdEV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYg
dHlwZSwgYm9vbCBjYW5CdWJibGUsIGJvb2wgY2FuY2VsYWJsZSwgUGFzc1JlZlB0cjxBYnN0cmFj
dFZpZXc+LCBpbnQgZGV0YWlsKTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2Vu
ZGlmIC8vIFVJUmVxdWVzdEV2ZW50X2gKSW5kZXg6IFdlYkNvcmUvYWNjZXNzaWJpbGl0eS9VSVJl
cXVlc3RFdmVudC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L1VJUmVx
dWVzdEV2ZW50LmlkbAkocmV2aXNpb24gMCkKKysrIFdlYkNvcmUvYWNjZXNzaWJpbGl0eS9VSVJl
cXVlc3RFdmVudC5pZGwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNDAgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUsIElOQy4gYGBBUyBJUycn
IEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgorICogQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAq
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqCisgKi8KKworbW9kdWxl
IGV2ZW50cyB7CisKKyAgICAvLyAiVXNlciBJbnRlcmZhY2UgSW5kZXBlbmRlbmNlIGZvciBBY2Nl
c3NpYmxlIFJpY2ggSW50ZXJuZXQgQXBwbGljYXRpb25zIiBXM0MgUHJvcG9zYWwKKyAgICBpbnRl
cmZhY2UgVUlSZXF1ZXN0RXZlbnQgOiBVSUV2ZW50IHsKKyAgICAgICAgCisgICAgICAgIHZvaWQg
aW5pdFVJUmVxdWVzdEV2ZW50KGluIERPTVN0cmluZyB0eXBlLCAKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGluIGJvb2xlYW4gY2FuQnViYmxlLCAKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGluIGJvb2xlYW4gY2FuY2VsYWJsZSwgCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBET01XaW5kb3cgdmlldywgCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBsb25nIGRldGFpbCk7CisKKyAgICB9OworCit9
CkluZGV4OiBXZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvR05VbWFrZWZpbGUuYW0KPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L0dOVW1ha2VmaWxlLmFtCShyZXZpc2lvbiA2
OTMxOSkKKysrIFdlYkNvcmUvYmluZGluZ3MvZ29iamVjdC9HTlVtYWtlZmlsZS5hbQkod29ya2lu
ZyBjb3B5KQpAQCAtMjMyLDYgKzIzMiw3IEBAIHdlYmtpdGd0a19nZG9tX2J1aWx0X3NvdXJjZXMg
Kz0gXAogCURlcml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRET01UaW1lUmFuZ2VzUHJpdmF0ZS5o
IFwKIAlEZXJpdmVkU291cmNlcy93ZWJraXQvV2ViS2l0RE9NVHJlZVdhbGtlci5jcHAgXAogCURl
cml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRET01UcmVlV2Fsa2VyUHJpdmF0ZS5oIFwKKwlEZXJp
dmVkU291cmNlcy93ZWJraXQvV2ViS2l0RE9NVUlSZXF1ZXN0RXZlbnQuY3BwIFwKIAlEZXJpdmVk
U291cmNlcy93ZWJraXQvV2ViS2l0RE9NVUlFdmVudC5jcHAgXAogCURlcml2ZWRTb3VyY2VzL3dl
YmtpdC9XZWJLaXRET01VSUV2ZW50UHJpdmF0ZS5oIFwKIAlEZXJpdmVkU291cmNlcy93ZWJraXQv
V2ViS2l0RE9NVmFsaWRpdHlTdGF0ZS5jcHAgXApAQCAtMjgwLDYgKzI4MSw3IEBAIHdlYmtpdGd0
a19idWlsdF9oX2FwaSArPSBcCiAJRGVyaXZlZFNvdXJjZXMvd2Via2l0L1dlYktpdERPTVJhbmdl
LmggXAogCURlcml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRET01UZXh0LmggXAogCURlcml2ZWRT
b3VyY2VzL3dlYmtpdC9XZWJLaXRET01UcmVlV2Fsa2VyLmggXAorCURlcml2ZWRTb3VyY2VzL3dl
YmtpdC9XZWJLaXRET01VSVJlcXVlc3RFdmVudC5oIFwKIAlEZXJpdmVkU291cmNlcy93ZWJraXQv
V2ViS2l0RE9NVUlFdmVudC5oIFwKIAlEZXJpdmVkU291cmNlcy93ZWJraXQvV2ViS2l0RE9NQmxv
Yi5oIFwKIAlEZXJpdmVkU291cmNlcy93ZWJraXQvV2ViS2l0RE9NRmlsZS5oIFwKSW5kZXg6IFdl
YkNvcmUvYmluZGluZ3MvanMvSlNFdmVudEN1c3RvbS5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU0V2ZW50Q3VzdG9tLmNwcAkocmV2aXNpb24gNjkzMTkpCisrKyBXZWJD
b3JlL2JpbmRpbmdzL2pzL0pTRXZlbnRDdXN0b20uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01Myw2
ICs1Myw3IEBACiAjaW5jbHVkZSAiSlNQcm9ncmVzc0V2ZW50LmgiCiAjaW5jbHVkZSAiSlNUZXh0
RXZlbnQuaCIKICNpbmNsdWRlICJKU1VJRXZlbnQuaCIKKyNpbmNsdWRlICJKU1VJUmVxdWVzdEV2
ZW50LmgiCiAjaW5jbHVkZSAiSlNXZWJLaXRBbmltYXRpb25FdmVudC5oIgogI2luY2x1ZGUgIkpT
V2ViS2l0VHJhbnNpdGlvbkV2ZW50LmgiCiAjaW5jbHVkZSAiSlNXaGVlbEV2ZW50LmgiCkBAIC03
MCw2ICs3MSw3IEBACiAjaW5jbHVkZSAiUHJvZ3Jlc3NFdmVudC5oIgogI2luY2x1ZGUgIlRleHRF
dmVudC5oIgogI2luY2x1ZGUgIlVJRXZlbnQuaCIKKyNpbmNsdWRlICJVSVJlcXVlc3RFdmVudC5o
IgogI2luY2x1ZGUgIldlYktpdEFuaW1hdGlvbkV2ZW50LmgiCiAjaW5jbHVkZSAiV2ViS2l0VHJh
bnNpdGlvbkV2ZW50LmgiCiAjaW5jbHVkZSAiV2hlZWxFdmVudC5oIgpAQCAtMTM3LDYgKzEzOSw4
IEBAIEpTVmFsdWUgdG9KUyhFeGVjU3RhdGUqIGV4ZWMsIEpTRE9NR2xvYmEKICAgICAgICAgZWxz
ZSBpZiAoZXZlbnQtPmlzVG91Y2hFdmVudCgpKQogICAgICAgICAgICAgd3JhcHBlciA9IENSRUFU
RV9ET01fT0JKRUNUX1dSQVBQRVIoZXhlYywgZ2xvYmFsT2JqZWN0LCBUb3VjaEV2ZW50LCBldmVu
dCk7CiAjZW5kaWYKKyAgICAgICAgZWxzZSBpZiAoZXZlbnQtPmlzVUlSZXF1ZXN0RXZlbnQoKSkK
KyAgICAgICAgICAgIHdyYXBwZXIgPSBDUkVBVEVfRE9NX09CSkVDVF9XUkFQUEVSKGV4ZWMsIGds
b2JhbE9iamVjdCwgVUlSZXF1ZXN0RXZlbnQsIGV2ZW50KTsKICAgICAgICAgZWxzZQogICAgICAg
ICAgICAgd3JhcHBlciA9IENSRUFURV9ET01fT0JKRUNUX1dSQVBQRVIoZXhlYywgZ2xvYmFsT2Jq
ZWN0LCBVSUV2ZW50LCBldmVudCk7CiAgICAgfSBlbHNlIGlmIChldmVudC0+aXNNdXRhdGlvbkV2
ZW50KCkpCkluZGV4OiBXZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9kb20vRG9jdW1lbnQuY3BwCShyZXZpc2lvbiA2OTMxOSkKKysrIFdlYkNvcmUvZG9tL0Rv
Y3VtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTI4LDYgKzEyOCw3IEBACiAjaW5jbHVkZSAi
VHJhbnNmb3JtU291cmNlLmgiCiAjaW5jbHVkZSAiVHJlZVdhbGtlci5oIgogI2luY2x1ZGUgIlVJ
RXZlbnQuaCIKKyNpbmNsdWRlICJVSVJlcXVlc3RFdmVudC5oIgogI2luY2x1ZGUgIlVzZXJDb250
ZW50VVJMUGF0dGVybi5oIgogI2luY2x1ZGUgIldlYktpdEFuaW1hdGlvbkV2ZW50LmgiCiAjaW5j
bHVkZSAiV2ViS2l0VHJhbnNpdGlvbkV2ZW50LmgiCkBAIC0zNDYwLDYgKzM0NjEsOCBAQCBQYXNz
UmVmUHRyPEV2ZW50PiBEb2N1bWVudDo6Y3JlYXRlRXZlbnQoCiAgICAgZWxzZSBpZiAoZXZlbnRU
eXBlID09ICJEZXZpY2VPcmllbnRhdGlvbkV2ZW50IikKICAgICAgICAgZXZlbnQgPSBEZXZpY2VP
cmllbnRhdGlvbkV2ZW50OjpjcmVhdGUoKTsKICNlbmRpZgorICAgIGVsc2UgaWYgKGV2ZW50VHlw
ZSA9PSAiVUlSZXF1ZXN0RXZlbnQiKQorICAgICAgICBldmVudCA9IFVJUmVxdWVzdEV2ZW50Ojpj
cmVhdGUoKTsKICAgICBpZiAoZXZlbnQpCiAgICAgICAgIHJldHVybiBldmVudC5yZWxlYXNlKCk7
CiAKSW5kZXg6IFdlYkNvcmUvZG9tL0RvY3VtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9k
b20vRG9jdW1lbnQuaAkocmV2aXNpb24gNjkzMTkpCisrKyBXZWJDb3JlL2RvbS9Eb2N1bWVudC5o
CSh3b3JraW5nIGNvcHkpCkBAIC0yNzYsNyArMjc2LDExIEBAIHB1YmxpYzoKICNpZiBFTkFCTEUo
RlVMTFNDUkVFTl9BUEkpCiAgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUih3ZWJr
aXRmdWxsc2NyZWVuY2hhbmdlKTsKICNlbmRpZgotCisgICAgREVGSU5FX0FUVFJJQlVURV9FVkVO
VF9MSVNURU5FUih1bmRvcmVxdWVzdCk7CisgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNU
RU5FUihyZWRvcmVxdWVzdCk7CisgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihl
c2NhcGVyZXF1ZXN0KTsKKyAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGRlbGV0
ZXJlcXVlc3QpOworICAgIAogICAgIFZpZXdwb3J0QXJndW1lbnRzIHZpZXdwb3J0QXJndW1lbnRz
KCkgY29uc3QgeyByZXR1cm4gbV92aWV3cG9ydEFyZ3VtZW50czsgfQogCiAgICAgRG9jdW1lbnRU
eXBlKiBkb2N0eXBlKCkgY29uc3QgeyByZXR1cm4gbV9kb2NUeXBlLmdldCgpOyB9CkluZGV4OiBX
ZWJDb3JlL2RvbS9Eb2N1bWVudC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9kb20vRG9jdW1l
bnQuaWRsCShyZXZpc2lvbiA2OTMxOSkKKysrIFdlYkNvcmUvZG9tL0RvY3VtZW50LmlkbAkod29y
a2luZyBjb3B5KQpAQCAtMzA3LDYgKzMwNywxMSBAQCBtb2R1bGUgY29yZSB7CiAgICAgICAgIC8v
IGF0dHJpYnV0ZSBbRG9udEVudW1dIEV2ZW50TGlzdGVuZXIgb252b2x1bWVjaGFuZ2U7CiAgICAg
ICAgIC8vIGF0dHJpYnV0ZSBbRG9udEVudW1dIEV2ZW50TGlzdGVuZXIgb253YWl0aW5nOwogCisg
ICAgICAgIGF0dHJpYnV0ZSBbRG9udEVudW1dIEV2ZW50TGlzdGVuZXIgb251bmRvcmVxdWVzdDsK
KyAgICAgICAgYXR0cmlidXRlIFtEb250RW51bV0gRXZlbnRMaXN0ZW5lciBvbnJlZG9yZXF1ZXN0
OworICAgICAgICBhdHRyaWJ1dGUgW0RvbnRFbnVtXSBFdmVudExpc3RlbmVyIG9uZXNjYXBlcmVx
dWVzdDsKKyAgICAgICAgYXR0cmlidXRlIFtEb250RW51bV0gRXZlbnRMaXN0ZW5lciBvbmRlbGV0
ZXJlcXVlc3Q7CisKICAgICAgICAgLy8gV2ViS2l0IGV4dGVuc2lvbnMKICAgICAgICAgYXR0cmli
dXRlIFtEb250RW51bV0gRXZlbnRMaXN0ZW5lciBvbmJlZm9yZWN1dDsKICAgICAgICAgYXR0cmli
dXRlIFtEb250RW51bV0gRXZlbnRMaXN0ZW5lciBvbmN1dDsKSW5kZXg6IFdlYkNvcmUvZG9tL0Vs
ZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2RvbS9FbGVtZW50LmgJKHJldmlzaW9uIDY5
MzE5KQorKysgV2ViQ29yZS9kb20vRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC05OCw2ICs5
OCwxMCBAQCBwdWJsaWM6CiAjaWYgRU5BQkxFKEZVTExTQ1JFRU5fQVBJKQogICAgIERFRklORV9B
VFRSSUJVVEVfRVZFTlRfTElTVEVORVIod2Via2l0ZnVsbHNjcmVlbmNoYW5nZSk7CiAjZW5kaWYK
KyAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHVuZG9yZXF1ZXN0KTsKKyAgICBE
RUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHJlZG9yZXF1ZXN0KTsKKyAgICBERUZJTkVf
QVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGVzY2FwZXJlcXVlc3QpOworICAgIERFRklORV9BVFRS
SUJVVEVfRVZFTlRfTElTVEVORVIoZGVsZXRlcmVxdWVzdCk7CiAKICAgICB2aXJ0dWFsIFBhc3NS
ZWZQdHI8RG9jdW1lbnRGcmFnbWVudD4gZGVwcmVjYXRlZENyZWF0ZUNvbnRleHR1YWxGcmFnbWVu
dChjb25zdCBTdHJpbmcmLCBGcmFnbWVudFNjcmlwdGluZ1Blcm1pc3Npb24gPSBGcmFnbWVudFNj
cmlwdGluZ0FsbG93ZWQpOwogCkluZGV4OiBXZWJDb3JlL2RvbS9FbGVtZW50LmlkbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL2RvbS9FbGVtZW50LmlkbAkocmV2aXNpb24gNjkzMTkpCisrKyBXZWJD
b3JlL2RvbS9FbGVtZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMTkzLDYgKzE5MywxMSBAQCBt
b2R1bGUgY29yZSB7CiAgICAgICAgIC8vIGF0dHJpYnV0ZSBbRG9udEVudW1dIEV2ZW50TGlzdGVu
ZXIgb250aW1ldXBkYXRlOwogICAgICAgICAvLyBhdHRyaWJ1dGUgW0RvbnRFbnVtXSBFdmVudExp
c3RlbmVyIG9udm9sdW1lY2hhbmdlOwogICAgICAgICAvLyBhdHRyaWJ1dGUgW0RvbnRFbnVtXSBF
dmVudExpc3RlbmVyIG9ud2FpdGluZzsKKyAgICAgICAgCisgICAgICAgIGF0dHJpYnV0ZSBbRG9u
dEVudW1dIEV2ZW50TGlzdGVuZXIgb251bmRvcmVxdWVzdDsKKyAgICAgICAgYXR0cmlidXRlIFtE
b250RW51bV0gRXZlbnRMaXN0ZW5lciBvbnJlZG9yZXF1ZXN0OworICAgICAgICBhdHRyaWJ1dGUg
W0RvbnRFbnVtXSBFdmVudExpc3RlbmVyIG9uZXNjYXBlcmVxdWVzdDsKKyAgICAgICAgYXR0cmli
dXRlIFtEb250RW51bV0gRXZlbnRMaXN0ZW5lciBvbmRlbGV0ZXJlcXVlc3Q7CiAKICAgICAgICAg
Ly8gV2ViS2l0IGV4dGVuc2lvbnMKICAgICAgICAgYXR0cmlidXRlIFtEb250RW51bV0gRXZlbnRM
aXN0ZW5lciBvbmJlZm9yZWN1dDsKSW5kZXg6IFdlYkNvcmUvZG9tL0V2ZW50LmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL2RvbS9FdmVudC5jcHAJKHJldmlzaW9uIDY5MzE5KQorKysgV2ViQ29y
ZS9kb20vRXZlbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMjksNiArMjI5LDExIEBAIGJvb2wg
RXZlbnQ6OmlzRGV2aWNlT3JpZW50YXRpb25FdmVudCgpIGMKIH0KICNlbmRpZgogCitib29sIEV2
ZW50Ojppc1VJUmVxdWVzdEV2ZW50KCkgY29uc3QKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9Cisg
ICAgCiBib29sIEV2ZW50Ojpmcm9tVXNlckdlc3R1cmUoKQogewogICAgIGlmICghVXNlckdlc3R1
cmVJbmRpY2F0b3I6OnByb2Nlc3NpbmdVc2VyR2VzdHVyZSgpKQpJbmRleDogV2ViQ29yZS9kb20v
RXZlbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2RvbS9FdmVudC5oCShyZXZpc2lvbiA2OTMx
OSkKKysrIFdlYkNvcmUvZG9tL0V2ZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTE0MSw2ICsxNDEs
OCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBpc0RldmljZU1v
dGlvbkV2ZW50KCkgY29uc3Q7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBpc0RldmljZU9yaWVudGF0
aW9uRXZlbnQoKSBjb25zdDsKICNlbmRpZgorICAgICAgICB2aXJ0dWFsIGJvb2wgaXNVSVJlcXVl
c3RFdmVudCgpIGNvbnN0OworICAgICAgICAKICAgICAgICAgYm9vbCBmcm9tVXNlckdlc3R1cmUo
KTsKICAgICAgICAgCiAgICAgICAgIGJvb2wgcHJvcGFnYXRpb25TdG9wcGVkKCkgY29uc3QgeyBy
ZXR1cm4gbV9wcm9wYWdhdGlvblN0b3BwZWQgfHwgbV9pbW1lZGlhdGVQcm9wYWdhdGlvblN0b3Bw
ZWQ7IH0KSW5kZXg6IFdlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL2RvbS9FdmVudE5hbWVzLmgJKHJldmlzaW9uIDY5MzE5KQorKysgV2ViQ29yZS9kb20vRXZl
bnROYW1lcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNjgsNyArMTY4LDEyIEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICBcCiAgICAgbWFjcm8od2Via2l0ZnVsbHNjcmVlbmNoYW5nZSkgXAogICAg
IFwKLSAgICBtYWNybyh3ZWJraXRzcGVlY2hjaGFuZ2UpCisgICAgbWFjcm8od2Via2l0c3BlZWNo
Y2hhbmdlKSBcCisgICAgXAorICAgIG1hY3JvKHVuZG9yZXF1ZXN0KSBcCisgICAgbWFjcm8ocmVk
b3JlcXVlc3QpIFwKKyAgICBtYWNybyhlc2NhcGVyZXF1ZXN0KSBcCisgICAgbWFjcm8oZGVsZXRl
cmVxdWVzdCkKICAgICBcCiAvLyBlbmQgb2YgRE9NX0VWRU5UX05BTUVTX0ZPUl9FQUNICiAKSW5k
ZXg6IFdlYkNvcmUvaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW4KPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbgkocmV2aXNpb24gNjkzMTkpCisrKyBXZWJD
b3JlL2h0bWwvSFRNTEF0dHJpYnV0ZU5hbWVzLmluCSh3b3JraW5nIGNvcHkpCkBAIC0xNTYsNiAr
MTU2LDcgQEAgb25jb250ZXh0bWVudQogb25jb3B5CiBvbmN1dAogb25kYmxjbGljaworb25kZWxl
dGVyZXF1ZXN0CiBvbmRyYWcKIG9uZHJhZ2VuZAogb25kcmFnZW50ZXIKQEAgLTE2Nyw2ICsxNjgs
NyBAQCBvbmR1cmF0aW9uY2hhbmdlCiBvbmVtcHRpZWQKIG9uZW5kZWQKIG9uZXJyb3IKK29uZXNj
YXBlcmVxdWVzdAogb25mb2N1cwogb25mb2N1c2luCiBvbmZvY3Vzb3V0CkBAIC0xOTgsNiArMjAw
LDcgQEAgb25wbGF5aW5nCiBvbnBvcHN0YXRlCiBvbnByb2dyZXNzCiBvbnJhdGVjaGFuZ2UKK29u
cmVkb3JlcXVlc3QKIG9ucmVzZXQKIG9ucmVzaXplCiBvbnNjcm9sbApAQCAtMjE2LDYgKzIxOSw3
IEBAIG9udG91Y2hzdGFydAogb250b3VjaG1vdmUKIG9udG91Y2hlbmQKIG9udG91Y2hjYW5jZWwK
K29udW5kb3JlcXVlc3QKIG9udW5sb2FkCiBvbnZvbHVtZWNoYW5nZQogb253YWl0aW5nCkluZGV4
OiBXZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRt
bC9IVE1MRWxlbWVudC5jcHAJKHJldmlzaW9uIDY5MzE5KQorKysgV2ViQ29yZS9odG1sL0hUTUxF
bGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjUzLDYgKzI1MywxNCBAQCB2b2lkIEhUTUxF
bGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShBCiAgICAgfSBlbHNlIGlmIChhdHRyLT5uYW1l
KCkgPT0gb253ZWJraXRmdWxsc2NyZWVuY2hhbmdlQXR0cikgewogICAgICAgICBzZXRBdHRyaWJ1
dGVFdmVudExpc3RlbmVyKGV2ZW50TmFtZXMoKS53ZWJraXRmdWxsc2NyZWVuY2hhbmdlRXZlbnQs
IGNyZWF0ZUF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIodGhpcywgYXR0cikpOwogI2VuZGlmCisgICAg
fSBlbHNlIGlmIChhdHRyLT5uYW1lKCkgPT0gb251bmRvcmVxdWVzdEF0dHIpIHsKKyAgICAgICAg
c2V0QXR0cmlidXRlRXZlbnRMaXN0ZW5lcihldmVudE5hbWVzKCkudW5kb3JlcXVlc3RFdmVudCwg
Y3JlYXRlQXR0cmlidXRlRXZlbnRMaXN0ZW5lcih0aGlzLCBhdHRyKSk7CisgICAgfSBlbHNlIGlm
IChhdHRyLT5uYW1lKCkgPT0gb25yZWRvcmVxdWVzdEF0dHIpIHsKKyAgICAgICAgc2V0QXR0cmli
dXRlRXZlbnRMaXN0ZW5lcihldmVudE5hbWVzKCkucmVkb3JlcXVlc3RFdmVudCwgY3JlYXRlQXR0
cmlidXRlRXZlbnRMaXN0ZW5lcih0aGlzLCBhdHRyKSk7CisgICAgfSBlbHNlIGlmIChhdHRyLT5u
YW1lKCkgPT0gb25lc2NhcGVyZXF1ZXN0QXR0cikgeworICAgICAgICBzZXRBdHRyaWJ1dGVFdmVu
dExpc3RlbmVyKGV2ZW50TmFtZXMoKS5lc2NhcGVyZXF1ZXN0RXZlbnQsIGNyZWF0ZUF0dHJpYnV0
ZUV2ZW50TGlzdGVuZXIodGhpcywgYXR0cikpOworICAgIH0gZWxzZSBpZiAoYXR0ci0+bmFtZSgp
ID09IG9uZGVsZXRlcmVxdWVzdEF0dHIpIHsKKyAgICAgICAgc2V0QXR0cmlidXRlRXZlbnRMaXN0
ZW5lcihldmVudE5hbWVzKCkuZGVsZXRlcmVxdWVzdEV2ZW50LCBjcmVhdGVBdHRyaWJ1dGVFdmVu
dExpc3RlbmVyKHRoaXMsIGF0dHIpKTsKICAgICB9CiB9CiAKSW5kZXg6IFdlYkNvcmUvcGFnZS9E
T01XaW5kb3cuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BhZ2UvRE9NV2luZG93LmgJKHJldmlz
aW9uIDY5MzE5KQorKysgV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5oCSh3b3JraW5nIGNvcHkpCkBA
IC0zNjMsNiArMzYzLDExIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgREVGSU5FX0FU
VFJJQlVURV9FVkVOVF9MSVNURU5FUih0b3VjaGVuZCk7CiAgICAgICAgIERFRklORV9BVFRSSUJV
VEVfRVZFTlRfTElTVEVORVIodG91Y2hjYW5jZWwpOwogI2VuZGlmCisgICAgICAgIERFRklORV9B
VFRSSUJVVEVfRVZFTlRfTElTVEVORVIodW5kb3JlcXVlc3QpOworICAgICAgICBERUZJTkVfQVRU
UklCVVRFX0VWRU5UX0xJU1RFTkVSKHJlZG9yZXF1ZXN0KTsKKyAgICAgICAgREVGSU5FX0FUVFJJ
QlVURV9FVkVOVF9MSVNURU5FUihlc2NhcGVyZXF1ZXN0KTsKKyAgICAgICAgREVGSU5FX0FUVFJJ
QlVURV9FVkVOVF9MSVNURU5FUihkZWxldGVyZXF1ZXN0KTsKKyAgICAgICAgCiAgICAgICAgIHZv
aWQgY2FwdHVyZUV2ZW50cygpOwogICAgICAgICB2b2lkIHJlbGVhc2VFdmVudHMoKTsKIApJbmRl
eDogV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wYWdl
L0RPTVdpbmRvdy5pZGwJKHJldmlzaW9uIDY5MzE5KQorKysgV2ViQ29yZS9wYWdlL0RPTVdpbmRv
dy5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMzMCw2ICszMzAsMTEgQEAgbW9kdWxlIHdpbmRvdyB7
CiAgICAgICAgIGF0dHJpYnV0ZSBbQ29uZGl0aW9uYWw9REVWSUNFX09SSUVOVEFUSU9OLEVuYWJs
ZWRBdFJ1bnRpbWVdIERldmljZU9yaWVudGF0aW9uRXZlbnRDb25zdHJ1Y3RvciBEZXZpY2VPcmll
bnRhdGlvbkV2ZW50OwogICAgICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFsPURFVklDRV9PUklF
TlRBVElPTixFbmFibGVkQXRSdW50aW1lXSBFdmVudExpc3RlbmVyIG9uZGV2aWNlb3JpZW50YXRp
b247CiAKKyAgICAgICAgYXR0cmlidXRlIEV2ZW50TGlzdGVuZXIgb251bmRvcmVxdWVzdDsKKyAg
ICAgICAgYXR0cmlidXRlIEV2ZW50TGlzdGVuZXIgb25yZWRvcmVxdWVzdDsKKyAgICAgICAgYXR0
cmlidXRlIEV2ZW50TGlzdGVuZXIgb25lc2NhcGVyZXF1ZXN0OworICAgICAgICBhdHRyaWJ1dGUg
RXZlbnRMaXN0ZW5lciBvbmRlbGV0ZXJlcXVlc3Q7CisKICAgICAgICAgLy8gRXZlbnRUYXJnZXQg
aW50ZXJmYWNlCiAgICAgICAgIFtDdXN0b21dIHZvaWQgYWRkRXZlbnRMaXN0ZW5lcihpbiBET01T
dHJpbmcgdHlwZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gRXZl
bnRMaXN0ZW5lciBsaXN0ZW5lciwKQEAgLTUxMiw2ICs1MTcsNyBAQCBtb2R1bGUgd2luZG93IHsK
ICAgICAgICAgYXR0cmlidXRlIFdoZWVsRXZlbnRDb25zdHJ1Y3RvciBXaGVlbEV2ZW50OwogICAg
ICAgICBhdHRyaWJ1dGUgTWVzc2FnZUV2ZW50Q29uc3RydWN0b3IgTWVzc2FnZUV2ZW50OwogICAg
ICAgICBhdHRyaWJ1dGUgRXZlbnRFeGNlcHRpb25Db25zdHJ1Y3RvciBFdmVudEV4Y2VwdGlvbjsK
KyAgICAgICAgYXR0cmlidXRlIFVJUmVxdWVzdEV2ZW50Q29uc3RydWN0b3IgVUlSZXF1ZXN0RXZl
bnQ7CiAKICAgICAgICAgYXR0cmlidXRlIFdlYktpdENTU0tleWZyYW1lUnVsZUNvbnN0cnVjdG9y
IFdlYktpdENTU0tleWZyYW1lUnVsZTsKICAgICAgICAgYXR0cmlidXRlIFdlYktpdENTU0tleWZy
YW1lc1J1bGVDb25zdHJ1Y3RvciBXZWJLaXRDU1NLZXlmcmFtZXNSdWxlOwpJbmRleDogTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2
aXNpb24gNjkzMTkpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAg
LTEsMyArMSwxNiBAQAorMjAxMC0xMC0wNiAgQ2hyaXMgRmxlaXphY2ggIDxjZmxlaXphY2hAYXBw
bGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEFYOiBTdXBwb3J0IFVJUmVxdWVzdEV2ZW50cyBmcm9tIG5ldyBXM0MgUHJvcG9zYWwKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ3MzAxCisKKyAgICAg
ICAgKiBhY2Nlc3NpYmlsaXR5L3VpcmVxdWVzdC1ldmVudHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L3VpcmVxdWVzdC1ldmVudHMuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiBmYXN0L2RvbS9wcm90b3R5cGUtaW5oZXJpdGFuY2UtZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIGZhc3QvanMvZ2xvYmFsLWNvbnN0cnVjdG9ycy1leHBlY3RlZC50eHQ6CisKIDIw
MTAtMTAtMDcgIEFsYmVydCBKLiBXb25nICA8YWp3b25nQGNocm9taXVtLm9yZz4KIAogICAgICAg
ICBVbnJldmlld2VkLiBDaHJvbWl1bSBidWlsZCBmaXguCkluZGV4OiBMYXlvdXRUZXN0cy9hY2Nl
c3NpYmlsaXR5L3VpcmVxdWVzdC1ldmVudHMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvdWlyZXF1ZXN0LWV2ZW50cy1leHBlY3RlZC50eHQJKHJl
dmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L3VpcmVxdWVzdC1ldmVudHMt
ZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDMzIEBACitPbmUKKworVHdvCisK
K1RocmVlCisKK0ZvdXIKKworRml2ZQorCitTaXgKKworU2V2ZW4KKworRWlnaHQKKworVGhpcyB0
ZXN0cyB0aGF0IFVJUmVxdWVzdEV2ZW50cyB3b3JrIGFzIGRlc2NyaWJlZC4KKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgZXZlbnRSZWNlaXZlZC50eXBlIGlzIGV4cGVjdGVk
VHlwZQorUEFTUyBldmVudFJlY2VpdmVkLnR5cGUgaXMgZXhwZWN0ZWRUeXBlCitQQVNTIGV2ZW50
UmVjZWl2ZWQudHlwZSBpcyBleHBlY3RlZFR5cGUKK1BBU1MgZXZlbnRSZWNlaXZlZC50eXBlIGlz
IGV4cGVjdGVkVHlwZQorUEFTUyBldmVudC50eXBlIGlzICdkZWxldGVyZXF1ZXN0JworUEFTUyBl
dmVudC50eXBlIGlzICdlc2NhcGVyZXF1ZXN0JworUEFTUyBldmVudC50eXBlIGlzICdyZWRvcmVx
dWVzdCcKK1BBU1MgZXZlbnQudHlwZSBpcyAndW5kb3JlcXVlc3QnCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpJbmRleDogTGF5b3V0VGVzdHMvYWNj
ZXNzaWJpbGl0eS91aXJlcXVlc3QtZXZlbnRzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvYWNjZXNzaWJpbGl0eS91aXJlcXVlc3QtZXZlbnRzLmh0bWwJKHJldmlzaW9uIDApCisrKyBM
YXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L3VpcmVxdWVzdC1ldmVudHMuaHRtbAkocmV2aXNpb24g
MCkKQEAgLTAsMCArMSwxMDQgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9
Ii4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQ+Cit2YXIg
c3VjY2Vzc2Z1bGx5UGFyc2VkID0gZmFsc2U7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9m
YXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eSBpZD0iYm9keSI+CisKKzxkaXYgaWQ9Im9uZSIgb251bmRvcmVxdWVzdD0icmV0dXJuIGhhbmRs
ZUV2ZW50KGV2ZW50LCAndW5kb3JlcXVlc3QnKTsiPk9uZTwvZGl2Pjxicj4KKzxkaXYgaWQ9InR3
byIgb25yZWRvcmVxdWVzdD0icmV0dXJuIGhhbmRsZUV2ZW50KGV2ZW50LCAncmVkb3JlcXVlc3Qn
KTsiPlR3bzwvZGl2Pjxicj4KKzxkaXYgaWQ9InRocmVlIiBvbmVzY2FwZXJlcXVlc3Q9InJldHVy
biBoYW5kbGVFdmVudChldmVudCwgJ2VzY2FwZXJlcXVlc3QnKTsiPlRocmVlPC9kaXY+PGJyPgor
PGRpdiBpZD0iZm91ciIgb25kZWxldGVyZXF1ZXN0PSJyZXR1cm4gaGFuZGxlRXZlbnQoZXZlbnQs
ICdkZWxldGVyZXF1ZXN0Jyk7Ij5Gb3VyPC9kaXY+PGJyPgorCis8ZGl2IGlkPSJmaXZlIj5GaXZl
PC9kaXY+PGJyPgorPGRpdiBpZD0ic2l4Ij5TaXg8L2Rpdj48YnI+Cis8ZGl2IGlkPSJzZXZlbiI+
U2V2ZW48L2Rpdj48YnI+Cis8ZGl2IGlkPSJlaWdodCI+RWlnaHQ8L2Rpdj48YnI+CisKKzxwIGlk
PSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisKKzxzY3JpcHQ+
CisKKyAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0cyB0aGF0IFVJUmVxdWVzdEV2ZW50cyB3b3Jr
IGFzIGRlc2NyaWJlZC4iKTsKKworICAgIHZhciBldmVudFJlY2VpdmVkID0gMDsKKyAgICB2YXIg
ZXhwZWN0ZWRUeXBlCisgICAgZnVuY3Rpb24gaGFuZGxlRXZlbnQoZSwgZXhwZWN0ZWQpIHsKKyAg
ICAgICAgZXZlbnRSZWNlaXZlZCA9IGU7CisgICAgICAgIGV4cGVjdGVkVHlwZSA9IGV4cGVjdGVk
OworICAgICAgICBzaG91bGRCZSgiZXZlbnRSZWNlaXZlZC50eXBlIiwgImV4cGVjdGVkVHlwZSIp
OworICAgIH0KKworICAgIHZhciBjb3VudCA9IDA7CisgICAgZnVuY3Rpb24gaW5zdGFsbGVkRXZl
bnRIYW5kbGVyKGUpIHsKKyAgICAgICBpZiAoY291bnQgPT0gMCkgeworICAgICAgICAgIHNob3Vs
ZEJlKCJldmVudC50eXBlIiwgIidkZWxldGVyZXF1ZXN0JyIpOworICAgICAgIH0KKyAgICAgICBl
bHNlIGlmIChjb3VudCA9PSAxKSB7CisgICAgICAgICAgc2hvdWxkQmUoImV2ZW50LnR5cGUiLCAi
J2VzY2FwZXJlcXVlc3QnIik7CisgICAgICAgfQorICAgICAgIGVsc2UgaWYgKGNvdW50ID09IDIp
IHsKKyAgICAgICAgICBzaG91bGRCZSgiZXZlbnQudHlwZSIsICIncmVkb3JlcXVlc3QnIik7Cisg
ICAgICAgfQorICAgICAgIGVsc2UgaWYgKGNvdW50ID09IDMpIHsKKyAgICAgICAgICBzaG91bGRC
ZSgiZXZlbnQudHlwZSIsICIndW5kb3JlcXVlc3QnIik7CisgICAgICAgICAgaWYgKHdpbmRvdy5s
YXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxl
ci5ub3RpZnlEb25lKCk7CisgICAgICAgICAgfQorICAgICAgIH0KKyAgICAgICBjb3VudCsrOwor
ICAgIH0KKworICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAg
ICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CisgICAgfQorICAgICAgICAg
IC8vIFNlbmQgdGhlIGV2ZW50cyB0byB0aGUgc3BlY2lmaWMgbm9kZSB0byBtYWtlIHN1cmUgdGhl
IG9uKiBoYW5kbGVycyBoYW5kbGUgdGhlIGV2ZW50LgorICAgICAgICAgIHZhciBldnQgPSBkb2N1
bWVudC5jcmVhdGVFdmVudCgnVUlSZXF1ZXN0RXZlbnQnKTsKKyAgICAgICAgICBldnQuaW5pdFVJ
UmVxdWVzdEV2ZW50KCJ1bmRvcmVxdWVzdCIsIHRydWUsIHRydWUsIGRvY3VtZW50LmRlZmF1bHRW
aWV3LCAwKTsKKyAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgib25lIikuZGlzcGF0
Y2hFdmVudChldnQpOworCisgICAgICAgICAgZXZ0ID0gZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ1VJ
UmVxdWVzdEV2ZW50Jyk7CisgICAgICAgICAgZXZ0LmluaXRVSVJlcXVlc3RFdmVudCgicmVkb3Jl
cXVlc3QiLCB0cnVlLCB0cnVlLCBkb2N1bWVudC5kZWZhdWx0VmlldywgMCk7CisgICAgICAgICAg
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInR3byIpLmRpc3BhdGNoRXZlbnQoZXZ0KTsKKworICAg
ICAgICAgIGV2dCA9IGRvY3VtZW50LmNyZWF0ZUV2ZW50KCdVSVJlcXVlc3RFdmVudCcpOworICAg
ICAgICAgIGV2dC5pbml0VUlSZXF1ZXN0RXZlbnQoImVzY2FwZXJlcXVlc3QiLCB0cnVlLCB0cnVl
LCBkb2N1bWVudC5kZWZhdWx0VmlldywgMCk7CisgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInRocmVlIikuZGlzcGF0Y2hFdmVudChldnQpOworCisgICAgICAgICAgZXZ0ID0gZG9j
dW1lbnQuY3JlYXRlRXZlbnQoJ1VJUmVxdWVzdEV2ZW50Jyk7CisgICAgICAgICAgZXZ0LmluaXRV
SVJlcXVlc3RFdmVudCgiZGVsZXRlcmVxdWVzdCIsIHRydWUsIHRydWUsIGRvY3VtZW50LmRlZmF1
bHRWaWV3LCAwKTsKKyAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZm91ciIpLmRp
c3BhdGNoRXZlbnQoZXZ0KTsKKworICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJm
aXZlIikuYWRkRXZlbnRMaXN0ZW5lcignZGVsZXRlcmVxdWVzdCcsIGluc3RhbGxlZEV2ZW50SGFu
ZGxlcik7CisgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNpeCIpLmFkZEV2ZW50
TGlzdGVuZXIoJ2VzY2FwZXJlcXVlc3QnLCBpbnN0YWxsZWRFdmVudEhhbmRsZXIpOworICAgICAg
ICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzZXZlbiIpLmFkZEV2ZW50TGlzdGVuZXIoJ3Jl
ZG9yZXF1ZXN0JywgaW5zdGFsbGVkRXZlbnRIYW5kbGVyKTsKKyAgICAgICAgICBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZWlnaHQiKS5hZGRFdmVudExpc3RlbmVyKCd1bmRvcmVxdWVzdCcsIGlu
c3RhbGxlZEV2ZW50SGFuZGxlcik7CisKKyAgICAgICAgICAvLyBTZW5kIHRoZSBldmVudCB0byB0
aGUgc3BlY2lmaWMgbm9kZXMgdG8gbWFrZSBzdXJlIHRoZSBhZGRFdmVudExpc3RlbmVycyB3b3Jr
CisgICAgICAgICAgZXZ0ID0gZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ1VJUmVxdWVzdEV2ZW50Jyk7
CisgICAgICAgICAgZXZ0LmluaXRVSVJlcXVlc3RFdmVudCgiZGVsZXRlcmVxdWVzdCIsIHRydWUs
IHRydWUsIGRvY3VtZW50LmRlZmF1bHRWaWV3LCAwKTsKKyAgICAgICAgICBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZml2ZSIpLmRpc3BhdGNoRXZlbnQoZXZ0KTsKKworICAgICAgICAgIGV2dCA9
IGRvY3VtZW50LmNyZWF0ZUV2ZW50KCdVSVJlcXVlc3RFdmVudCcpOworICAgICAgICAgIGV2dC5p
bml0VUlSZXF1ZXN0RXZlbnQoImVzY2FwZXJlcXVlc3QiLCB0cnVlLCB0cnVlLCBkb2N1bWVudC5k
ZWZhdWx0VmlldywgMCk7CisgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNpeCIp
LmRpc3BhdGNoRXZlbnQoZXZ0KTsKKworICAgICAgICAgIGV2dCA9IGRvY3VtZW50LmNyZWF0ZUV2
ZW50KCdVSVJlcXVlc3RFdmVudCcpOworICAgICAgICAgIGV2dC5pbml0VUlSZXF1ZXN0RXZlbnQo
InJlZG9yZXF1ZXN0IiwgdHJ1ZSwgdHJ1ZSwgZG9jdW1lbnQuZGVmYXVsdFZpZXcsIDApOworICAg
ICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzZXZlbiIpLmRpc3BhdGNoRXZlbnQoZXZ0
KTsKKworICAgICAgICAgIGV2dCA9IGRvY3VtZW50LmNyZWF0ZUV2ZW50KCdVSVJlcXVlc3RFdmVu
dCcpOworICAgICAgICAgIGV2dC5pbml0VUlSZXF1ZXN0RXZlbnQoInVuZG9yZXF1ZXN0IiwgdHJ1
ZSwgdHJ1ZSwgZG9jdW1lbnQuZGVmYXVsdFZpZXcsIDApOworICAgICAgICAgIGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJlaWdodCIpLmRpc3BhdGNoRXZlbnQoZXZ0KTsKKworICAgIHN1Y2Nlc3Nm
dWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9Ii4uL2Zhc3QvanMv
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cklu
ZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2RvbS9wcm90b3R5cGUtaW5oZXJpdGFuY2UtZXhwZWN0ZWQu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZG9tL3Byb3RvdHlwZS1pbmhlcml0
YW5jZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDY5MzE5KQorKysgTGF5b3V0VGVzdHMvZmFzdC9k
b20vcHJvdG90eXBlLWluaGVyaXRhbmNlLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAt
NjEzLDYgKzYxMyw4IEBAIFBBU1MgaW5uZXIuVHlwZUVycm9yLmlzSW5uZXIgaXMgdHJ1ZQogUEFT
UyBpbm5lci5UeXBlRXJyb3IuY29uc3RydWN0b3IuaXNJbm5lciBpcyB0cnVlCiBQQVNTIGlubmVy
LlVJRXZlbnQuaXNJbm5lciBpcyB0cnVlCiBQQVNTIGlubmVyLlVJRXZlbnQuY29uc3RydWN0b3Iu
aXNJbm5lciBpcyB0cnVlCitQQVNTIGlubmVyLlVJUmVxdWVzdEV2ZW50LmlzSW5uZXIgaXMgdHJ1
ZQorUEFTUyBpbm5lci5VSVJlcXVlc3RFdmVudC5jb25zdHJ1Y3Rvci5pc0lubmVyIGlzIHRydWUK
IFBBU1MgaW5uZXIuVVJJRXJyb3IuaXNJbm5lciBpcyB0cnVlCiBQQVNTIGlubmVyLlVSSUVycm9y
LmNvbnN0cnVjdG9yLmlzSW5uZXIgaXMgdHJ1ZQogUEFTUyBpbm5lci5XZWJLaXRBbmltYXRpb25F
dmVudC5pc0lubmVyIGlzIHRydWUKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93
aW5kb3ctcHJvcGVydGllcy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
ZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24g
NjkzMTkpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMt
ZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xOTY1LDYgKzE5NjUsOCBAQCB3aW5kb3cu
VGltZVJhbmdlcy5wcm90b3R5cGUuc3RhcnQgW2Z1bmN0CiB3aW5kb3cuVHlwZUVycm9yIFtmdW5j
dGlvbl0KIHdpbmRvdy5VSUV2ZW50IFtvYmplY3QgVUlFdmVudENvbnN0cnVjdG9yXQogd2luZG93
LlVJRXZlbnQucHJvdG90eXBlIFtwcmludGVkIGFib3ZlIGFzIHdpbmRvdy5FdmVudC5wcm90b3R5
cGVdCit3aW5kb3cuVUlSZXF1ZXN0RXZlbnQgW29iamVjdCBVSVJlcXVlc3RFdmVudENvbnN0cnVj
dG9yXQord2luZG93LlVJUmVxdWVzdEV2ZW50LnByb3RvdHlwZSBbcHJpbnRlZCBhYm92ZSBhcyB3
aW5kb3cuRXZlbnQucHJvdG90eXBlXQogd2luZG93LlVSSUVycm9yIFtmdW5jdGlvbl0KIHdpbmRv
dy5XZWJLaXRBbmltYXRpb25FdmVudCBbb2JqZWN0IFdlYktpdEFuaW1hdGlvbkV2ZW50Q29uc3Ry
dWN0b3JdCiB3aW5kb3cuV2ViS2l0QW5pbWF0aW9uRXZlbnQucHJvdG90eXBlIFtwcmludGVkIGFi
b3ZlIGFzIHdpbmRvdy5FdmVudC5wcm90b3R5cGVdCkBAIC0yMjYxLDYgKzIyNjMsNyBAQCB3aW5k
b3cub25jaGFuZ2UgW251bGxdCiB3aW5kb3cub25jbGljayBbbnVsbF0KIHdpbmRvdy5vbmNvbnRl
eHRtZW51IFtudWxsXQogd2luZG93Lm9uZGJsY2xpY2sgW251bGxdCit3aW5kb3cub25kZWxldGVy
ZXF1ZXN0IFtudWxsXQogd2luZG93Lm9uZHJhZyBbbnVsbF0KIHdpbmRvdy5vbmRyYWdlbmQgW251
bGxdCiB3aW5kb3cub25kcmFnZW50ZXIgW251bGxdCkBAIC0yMjcyLDYgKzIyNzUsNyBAQCB3aW5k
b3cub25kdXJhdGlvbmNoYW5nZSBbbnVsbF0KIHdpbmRvdy5vbmVtcHRpZWQgW251bGxdCiB3aW5k
b3cub25lbmRlZCBbbnVsbF0KIHdpbmRvdy5vbmVycm9yIFtudWxsXQord2luZG93Lm9uZXNjYXBl
cmVxdWVzdCBbbnVsbF0KIHdpbmRvdy5vbmZvY3VzIFtudWxsXQogd2luZG93Lm9uaGFzaGNoYW5n
ZSBbbnVsbF0KIHdpbmRvdy5vbmlucHV0IFtudWxsXQpAQCAtMjMwMCw2ICsyMzA0LDcgQEAgd2lu
ZG93Lm9ucGxheWluZyBbbnVsbF0KIHdpbmRvdy5vbnBvcHN0YXRlIFtudWxsXQogd2luZG93Lm9u
cHJvZ3Jlc3MgW251bGxdCiB3aW5kb3cub25yYXRlY2hhbmdlIFtudWxsXQord2luZG93Lm9ucmVk
b3JlcXVlc3QgW251bGxdCiB3aW5kb3cub25yZXNldCBbbnVsbF0KIHdpbmRvdy5vbnJlc2l6ZSBb
bnVsbF0KIHdpbmRvdy5vbnNjcm9sbCBbbnVsbF0KQEAgLTIzMTIsNiArMjMxNyw3IEBAIHdpbmRv
dy5vbnN0b3JhZ2UgW251bGxdCiB3aW5kb3cub25zdWJtaXQgW251bGxdCiB3aW5kb3cub25zdXNw
ZW5kIFtudWxsXQogd2luZG93Lm9udGltZXVwZGF0ZSBbbnVsbF0KK3dpbmRvdy5vbnVuZG9yZXF1
ZXN0IFtudWxsXQogd2luZG93Lm9udW5sb2FkIFtudWxsXQogd2luZG93Lm9udm9sdW1lY2hhbmdl
IFtudWxsXQogd2luZG93Lm9ud2FpdGluZyBbbnVsbF0KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qv
anMvZ2xvYmFsLWNvbnN0cnVjdG9ycy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvZmFzdC9qcy9nbG9iYWwtY29uc3RydWN0b3JzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24g
NjkzMTkpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2pzL2dsb2JhbC1jb25zdHJ1Y3RvcnMtZXhwZWN0
ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0yOTAsNiArMjkwLDcgQEAgUEFTUyBUZXh0RXZlbnQu
dG9TdHJpbmcoKSBpcyAnW29iamVjdCBUZQogUEFTUyBUZXh0TWV0cmljcy50b1N0cmluZygpIGlz
ICdbb2JqZWN0IFRleHRNZXRyaWNzQ29uc3RydWN0b3JdJwogUEFTUyBUaW1lUmFuZ2VzLnRvU3Ry
aW5nKCkgaXMgJ1tvYmplY3QgVGltZVJhbmdlc0NvbnN0cnVjdG9yXScKIFBBU1MgVUlFdmVudC50
b1N0cmluZygpIGlzICdbb2JqZWN0IFVJRXZlbnRDb25zdHJ1Y3Rvcl0nCitQQVNTIFVJUmVxdWVz
dEV2ZW50LnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgVUlSZXF1ZXN0RXZlbnRDb25zdHJ1Y3Rvcl0n
CiBQQVNTIFdlYktpdEFuaW1hdGlvbkV2ZW50LnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgV2ViS2l0
QW5pbWF0aW9uRXZlbnRDb25zdHJ1Y3Rvcl0nCiBQQVNTIFdlYktpdENTU0tleWZyYW1lUnVsZS50
b1N0cmluZygpIGlzICdbb2JqZWN0IFdlYktpdENTU0tleWZyYW1lUnVsZUNvbnN0cnVjdG9yXScK
IFBBU1MgV2ViS2l0Q1NTS2V5ZnJhbWVzUnVsZS50b1N0cmluZygpIGlzICdbb2JqZWN0IFdlYktp
dENTU0tleWZyYW1lc1J1bGVDb25zdHJ1Y3Rvcl0nCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>71922</attachid>
            <date>2010-10-26 12:00:56 -0700</date>
            <delta_ts>2010-11-02 12:56:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-47301-20101026120054.patch</filename>
            <type>text/plain</type>
            <size>63092</size>
            <attacher name="chris fleizach">cfleizach</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA3MDU0OSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNjUgQEAKKzIwMTAtMTAtMjYgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNoQGFw
cGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBBWDogU3VwcG9ydCBVSVJlcXVlc3RFdmVudHMgZnJvbSBuZXcgVzNDIFByb3Bvc2FsCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NzMwMQorCisgICAg
ICAgIFN1cHBvcnQgdGhlIG5ldyBVSVJlcXVlc3RFdmVudCBhcyBvdXRsaW5lIGluCisgICAgICAg
IlVzZXIgSW50ZXJmYWNlIEluZGVwZW5kZW5jZSBmb3IgQWNjZXNzaWJsZSBSaWNoIEludGVybmV0
IEFwcGxpY2F0aW9ucyIKKyAgICAgICAgaHR0cDovL2xpc3RzLnczLm9yZy9BcmNoaXZlcy9QdWJs
aWMvd2FpLXh0ZWNoLzIwMTBBdWcvYXR0LTAwNzkvVXNlckludGVyZmFjZUluZGVwZW5kZW5jZS5o
dG1sCisgCisgICAgICAgIEl0IGFkZHMgYSBuZXcgZXZlbnQgdGhhdCBjYW4gYmUgbGlzdGVuZWQg
dG8gYW5kIHNlbnQgdGhhdCBkZWNvdXBsZXMgYWN0aW9ucyBmcm9tIGEgc3BlY2lmaWMKKyAgICAg
ICAgdHlwZSBvZiBpbnB1dCwgYWxsb3dpbmcgYW4gYXNzaXN0aXZlIHRlY2hub2xvZ3kgdG8gc2Vu
ZCBhbiAiZXNjYXBlLCB1bmRvLCByZWRvLCBvciBkZWxldGUiIGFjdGlvbgorICAgICAgICB3aGVu
ZXZlciBpdCBuZWVkcyB0byBiYXNlZCBvbiBpdHMgb3duIGlucHV0LgorCisgICAgICAgIFRlc3Rz
OiBhY2Nlc3NpYmlsaXR5L3VpcmVxdWVzdC1ldmVudHMtZGlzcGF0Y2gtZnJvbS1heC5odG1sCisg
ICAgICAgICAgICAgICBhY2Nlc3NpYmlsaXR5L3VpcmVxdWVzdC1ldmVudHMuaHRtbAorCisgICAg
ICAgICogQW5kcm9pZC5kZXJpdmVkLnY4YmluZGluZ3MubWs6CisgICAgICAgICogQW5kcm9pZC5q
c2NiaW5kaW5ncy5tazoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5jcHA6CisgICAgICAgICog
RGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbToKKyAgICAgICAg
KiBXZWJDb3JlLmV4cC5pbjoKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogV2Vi
Q29yZS5wcmk6CisgICAgICAgICogV2ViQ29yZS5wcm86CisgICAgICAgICogV2ViQ29yZS52Y3By
b2ovV2ViQ29yZS52Y3Byb2o6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHA6CisgICAg
ICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3Q6OmRpc3BhdGNoV2Via2l0VUlSZXF1ZXN0RXZlbnQp
OgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oOgorICAgICAg
ICAqIGFjY2Vzc2liaWxpdHkvV2Via2l0VUlSZXF1ZXN0RXZlbnQuY3BwOiBBZGRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OldlYmtpdFVJUmVxdWVzdEV2ZW50OjpXZWJraXRVSVJlcXVlc3RFdmVudCk6
CisgICAgICAgIChXZWJDb3JlOjpXZWJraXRVSVJlcXVlc3RFdmVudDo6aW5pdFdlYmtpdFVJUmVx
dWVzdEV2ZW50KToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L1dlYmtpdFVJUmVxdWVzdEV2ZW50
Lmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6V2Via2l0VUlSZXF1ZXN0RXZlbnQ6OmNyZWF0
ZSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJraXRVSVJlcXVlc3RFdmVudDo6aXNXZWJraXRVSVJl
cXVlc3RFdmVudCk6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9XZWJraXRVSVJlcXVlc3RFdmVu
dC5pZGw6IEFkZGVkLgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvbWFjL0FjY2Vzc2liaWxpdHlP
YmplY3RXcmFwcGVyLm1tOgorICAgICAgICAoLVtBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlciBh
Y2Nlc3NpYmlsaXR5UGVyZm9ybUFjdGlvbjpdKToKKyAgICAgICAgKiBiaW5kaW5ncy9nb2JqZWN0
L0dOVW1ha2VmaWxlLmFtOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRXZlbnRDdXN0b20uY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6dG9KUyk6CisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpjcmVhdGVFdmVudCk6CisgICAgICAgICogZG9t
L0RvY3VtZW50Lmg6CisgICAgICAgICogZG9tL0RvY3VtZW50LmlkbDoKKyAgICAgICAgKiBkb20v
RWxlbWVudC5oOgorICAgICAgICAqIGRvbS9FbGVtZW50LmlkbDoKKyAgICAgICAgKiBkb20vRXZl
bnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnQ6OmlzV2Via2l0VUlSZXF1ZXN0RXZlbnQp
OgorICAgICAgICAqIGRvbS9FdmVudC5oOgorICAgICAgICAqIGRvbS9FdmVudC5pZGw6CisgICAg
ICAgICogZG9tL0V2ZW50TmFtZXMuaDoKKyAgICAgICAgKiBodG1sL0hUTUxBdHRyaWJ1dGVOYW1l
cy5pbjoKKyAgICAgICAgKiBodG1sL0hUTUxFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkhUTUxFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZSk6CisgICAgICAgICogcGFnZS9ET01X
aW5kb3cuaDoKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5pZGw6CisKIDIwMTAtMTAtMjYgIERh
aSBNaWt1cnViZSAgPGRtaWt1cnViZUBnb29nbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5
IEtlbnQgVGFtdXJhLgpJbmRleDogV2ViQ29yZS9BbmRyb2lkLmRlcml2ZWQudjhiaW5kaW5ncy5t
awo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL0FuZHJvaWQuZGVyaXZlZC52OGJpbmRpbmdzLm1rCShy
ZXZpc2lvbiA3MDUzNSkKKysrIFdlYkNvcmUvQW5kcm9pZC5kZXJpdmVkLnY4YmluZGluZ3MubWsJ
KHdvcmtpbmcgY29weSkKQEAgLTI2NCw2ICsyNjQsMjAgQEAgTE9DQUxfR0VORVJBVEVEX1NPVVJD
RVMgKz0gJChHRU4pCiAjIGFib3ZlIHJ1bGVzLiAgU3BlY2lmeWluZyB0aGlzIGV4cGxpY2l0bHkg
bWFrZXMgLWoyIHdvcmsuCiAkKHBhdHN1YnN0ICUuaCwlLmNwcCwkKEdFTikpOiAkKGludGVybWVk
aWF0ZXMpL2JpbmRpbmdzLyUuY3BwIDogJChpbnRlcm1lZGlhdGVzKS9iaW5kaW5ncy8lLmgKIAor
IyBBY2Nlc3NpYmlsaXR5CitHRU4gOj0gXAorICAgICQoaW50ZXJtZWRpYXRlcykvYmluZGluZ3Mv
VjhXZWJLaXRVSVJlcXVlc3RFdmVudC5oCisgCiskKEdFTik6IFBSSVZBVEVfUEFUSCA6PSAkKExP
Q0FMX1BBVEgpCiskKEdFTik6IFBSSVZBVEVfQ1VTVE9NX1RPT0wgPSBTT1VSQ0VfUk9PVD0kKFBS
SVZBVEVfUEFUSCkgcGVybCAtSSQoUFJJVkFURV9QQVRIKS9iaW5kaW5ncy9zY3JpcHRzICQoUFJJ
VkFURV9QQVRIKS9iaW5kaW5ncy9zY3JpcHRzL2dlbmVyYXRlLWJpbmRpbmdzLnBsIC0tZGVmaW5l
cyAiJChGRUFUVVJFX0RFRklORVMpIExBTkdVQUdFX0pBVkFTQ1JJUFQiIC0tZ2VuZXJhdG9yIFY4
IC0taW5jbHVkZSBkb20gLS1pbmNsdWRlIGh0bWwgLS1vdXRwdXRkaXIgJChkaXIgJEApICQ8Cisk
KEdFTik6ICQoaW50ZXJtZWRpYXRlcykvYmluZGluZ3MvVjglLmggOiAkKExPQ0FMX1BBVEgpL2Fj
Y2Vzc2liaWxpdHkvJS5pZGwgJChqc19iaW5kaW5nX3NjcmlwdHMpCisJJCh0cmFuc2Zvcm0tZ2Vu
ZXJhdGVkLXNvdXJjZSkKK0xPQ0FMX0dFTkVSQVRFRF9TT1VSQ0VTICs9ICQoR0VOKQorCisjIFdl
IGFsc28gbmVlZCB0aGUgLmNwcCBmaWxlcywgd2hpY2ggYXJlIGdlbmVyYXRlZCBhcyBzaWRlIGVm
ZmVjdHMgb2YgdGhlCisjIGFib3ZlIHJ1bGVzLiAgU3BlY2lmeWluZyB0aGlzIGV4cGxpY2l0bHkg
bWFrZXMgLWoyIHdvcmsuCiskKHBhdHN1YnN0ICUuaCwlLmNwcCwkKEdFTikpOiAkKGludGVybWVk
aWF0ZXMpL2JpbmRpbmdzLyUuY3BwIDogJChpbnRlcm1lZGlhdGVzKS9iaW5kaW5ncy8lLmgKKwog
IyBQYWdlCiBHRU4gOj0gXAogICAgICQoaW50ZXJtZWRpYXRlcykvYmluZGluZ3MvVjhCYXJJbmZv
LmggXApJbmRleDogV2ViQ29yZS9BbmRyb2lkLmpzY2JpbmRpbmdzLm1rCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvQW5kcm9pZC5qc2NiaW5kaW5ncy5tawkocmV2aXNpb24gNzA1MzUpCisrKyBXZWJD
b3JlL0FuZHJvaWQuanNjYmluZGluZ3MubWsJKHdvcmtpbmcgY29weSkKQEAgLTQ1LDYgKzQ1LDcg
QEAgQklORElOR19DX0lOQ0xVREVTIDo9IFwKIAkkKEpBVkFTQ1JJUFRDT1JFX1BBVEgpL3dyZWMg
XAogCSQoSkFWQVNDUklQVENPUkVfUEFUSCkvRm9yd2FyZGluZ0hlYWRlcnMgXAogCVwKKwkkKGJh
c2VfaW50ZXJtZWRpYXRlcykvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5IFwKIAkkKGJhc2VfaW50ZXJt
ZWRpYXRlcykvV2ViQ29yZS9iaW5kaW5ncy9qcyBcCiAJJChiYXNlX2ludGVybWVkaWF0ZXMpL1dl
YkNvcmUvZG9tIFwKIAkkKGJhc2VfaW50ZXJtZWRpYXRlcykvV2ViQ29yZS9odG1sL2NhbnZhcyBc
CkluZGV4OiBXZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L0Rlcml2ZWRTb3VyY2VzLmNwcAkocmV2aXNpb24gNzA1MzUpCisrKyBXZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDI2LDYgKzQyNiw3IEBACiAjaW5jbHVkZSAi
SlNXZWJLaXRDU1NNYXRyaXguY3BwIgogI2luY2x1ZGUgIkpTV2ViS2l0UG9pbnQuY3BwIgogI2lu
Y2x1ZGUgIkpTV2ViS2l0VHJhbnNpdGlvbkV2ZW50LmNwcCIKKyNpbmNsdWRlICJKU1dlYmtpdFVJ
UmVxdWVzdEV2ZW50LmNwcCIKICNpbmNsdWRlICJKU1dlYlNvY2tldC5jcHAiCiAjaW5jbHVkZSAi
SlNXaGVlbEV2ZW50LmNwcCIKICNpbmNsdWRlICJKU1dvcmtlci5jcHAiCkluZGV4OiBXZWJDb3Jl
L0Rlcml2ZWRTb3VyY2VzLm1ha2UKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9EZXJpdmVkU291cmNl
cy5tYWtlCShyZXZpc2lvbiA3MDUzNSkKKysrIFdlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQko
d29ya2luZyBjb3B5KQpAQCAtMjgsNiArMjgsNyBAQAogCiBWUEFUSCA9IFwKICAgICAkKFdlYkNv
cmUpIFwKKyAgICAkKFdlYkNvcmUpL2FjY2Vzc2liaWxpdHkgXAogICAgICQoV2ViQ29yZSkvYmlu
ZGluZ3MvZ2VuZXJpYyBcCiAgICAgJChXZWJDb3JlKS9iaW5kaW5ncy9qcyBcCiAgICAgJChXZWJD
b3JlKS9iaW5kaW5ncy9vYmpjIFwKQEAgLTQ3NCw2ICs0NzUsNyBAQCBET01fQ0xBU1NFUyA9IFwK
ICAgICBUb3VjaExpc3QgXAogICAgIFRyZWVXYWxrZXIgXAogICAgIFVJRXZlbnQgXAorICAgIFdl
YmtpdFVJUmVxdWVzdEV2ZW50IFwKICAgICBWYWxpZGl0eVN0YXRlIFwKICAgICBXZWJLaXRBbmlt
YXRpb25FdmVudCBcCiAgICAgV2ViS2l0Q1NTS2V5ZnJhbWVSdWxlIFwKSW5kZXg6IFdlYkNvcmUv
R05VbWFrZWZpbGUuYW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQkocmV2
aXNpb24gNzA1MzUpCisrKyBXZWJDb3JlL0dOVW1ha2VmaWxlLmFtCSh3b3JraW5nIGNvcHkpCkBA
IC01NDUsNiArNTQ1LDggQEAgd2ViY29yZV9idWlsdF9zb3VyY2VzICs9IFwKIAlEZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTV2ViS2l0UG9pbnQuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U1dlYktpdFRyYW5zaXRpb25FdmVudC5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNX
ZWJLaXRUcmFuc2l0aW9uRXZlbnQuaCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dlYktp
dFVJUmVxdWVzdEV2ZW50LmNwcCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dlYktpdFVJ
UmVxdWVzdEV2ZW50LmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXaGVlbEV2ZW50LmNw
cCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1doZWVsRXZlbnQuaCBcCiAJRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU1dvcmtlckNvbnRleHQuY3BwIFwKQEAgLTYyNiw2ICs2MjgsOCBAQCB3
ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVdlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
VGFibGVSb3cuaCBcCiAJV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwIFwK
IAlXZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oIFwKKwlXZWJDb3JlL2FjY2Vz
c2liaWxpdHkvV2Via2l0VUlSZXF1ZXN0RXZlbnQuY3BwIFwKKwlXZWJDb3JlL2FjY2Vzc2liaWxp
dHkvV2Via2l0VUlSZXF1ZXN0RXZlbnQuaCBcCiAJV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL0Fj
dGl2ZURPTUNhbGxiYWNrLmNwcCBcCiAJV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL0FjdGl2ZURP
TUNhbGxiYWNrLmggXAogCVdlYkNvcmUvYmluZGluZ3MvZ2VuZXJpYy9CaW5kaW5nRnJhbWUuaCBc
CkBAIC00NTY3LDYgKzQ1NzEsNyBAQCBEZXJpdmVkU291cmNlcy9XZWJDb3JlL0luc3BlY3RvckZy
b250ZW5kCiAJJChBTV9WX0dFTikkKFBFUkwpIC1JJChXZWJDb3JlKS9iaW5kaW5ncy9zY3JpcHRz
IC1JJChXZWJDb3JlKS9pbnNwZWN0b3IgJChXZWJDb3JlKS9iaW5kaW5ncy9zY3JpcHRzL2dlbmVy
YXRlLWJpbmRpbmdzLnBsICQoSURMX1BBVEg6JT0tLWluY2x1ZGUgIiUiKSAtLW91dHB1dERpciAi
JChHRU5TT1VSQ0VTX1dFQkNPUkUpIiAtLWRlZmluZXMgIkxBTkdVQUdFX0pBVkFTQ1JJUFQ9MSAk
KEZFQVRVUkVfREVGSU5FUykiIC0tZ2VuZXJhdG9yIEluc3BlY3RvciAkPAogCiBJRExfUEFUSCA6
PSBcCisgICAgJChXZWJDb3JlKS9hY2Nlc3NpYmlsaXR5IFwKICAgICAkKFdlYkNvcmUpL2JpbmRp
bmdzL2pzIFwKICAgICAkKFdlYkNvcmUpL2NzcyBcCiAgICAgJChXZWJDb3JlKS9kb20gXApJbmRl
eDogV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL1dlYkNvcmUu
ZXhwLmluCShyZXZpc2lvbiA3MDUzNSkKKysrIFdlYkNvcmUvV2ViQ29yZS5leHAuaW4JKHdvcmtp
bmcgY29weSkKQEAgLTEwNCw2ICsxMDQsNyBAQAogLm9iamNfY2xhc3NfbmFtZV9ET01UZXh0RXZl
bnQKIC5vYmpjX2NsYXNzX25hbWVfRE9NVHJlZVdhbGtlcgogLm9iamNfY2xhc3NfbmFtZV9ET01V
SUV2ZW50Cisub2JqY19jbGFzc19uYW1lX0RPTVVJUmVxdWVzdEV2ZW50CiAub2JqY19jbGFzc19u
YW1lX0RPTVdoZWVsRXZlbnQKIC5vYmpjX2NsYXNzX25hbWVfV2ViQ29yZUtleUdlbmVyYXRvcgog
Lm9iamNfY2xhc3NfbmFtZV9XZWJDb3JlVmlld0ZhY3RvcnkKSW5kZXg6IFdlYkNvcmUvV2ViQ29y
ZS5neXBpCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvV2ViQ29yZS5neXBpCShyZXZpc2lvbiA3MDUz
NSkKKysrIFdlYkNvcmUvV2ViQ29yZS5neXBpCSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNyBA
QAogewogICAgICd2YXJpYWJsZXMnOiB7CiAgICAgICAgICd3ZWJjb3JlX2JpbmRpbmdzX2lkbF9m
aWxlcyc6IFsKKyAgICAgICAgICAgICdhY2Nlc3NpYmlsaXR5L1dlYmtpdFVJUmVxdWVzdEV2ZW50
LmlkbCcsCiAgICAgICAgICAgICAnY3NzL0NTU0NoYXJzZXRSdWxlLmlkbCcsCiAgICAgICAgICAg
ICAnY3NzL0NTU0ZvbnRGYWNlUnVsZS5pZGwnLAogICAgICAgICAgICAgJ2Nzcy9DU1NJbXBvcnRS
dWxlLmlkbCcsCkBAIC01MDMsNiArNTA0LDggQEAKICAgICAgICAgICAgICdhY2Nlc3NpYmlsaXR5
L0FjY2Vzc2liaWxpdHlUYWJsZUhlYWRlckNvbnRhaW5lci5oJywKICAgICAgICAgICAgICdhY2Nl
c3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUYWJsZVJvdy5jcHAnLAogICAgICAgICAgICAgJ2FjY2Vz
c2liaWxpdHkvQWNjZXNzaWJpbGl0eVRhYmxlUm93LmgnLAorICAgICAgICAgICAgJ2FjY2Vzc2li
aWxpdHkvV2Via2l0VUlSZXF1ZXN0RXZlbnQuY3BwJywKKyAgICAgICAgICAgICdhY2Nlc3NpYmls
aXR5L1dlYmtpdFVJUmVxdWVzdEV2ZW50LmgnLAogICAgICAgICAgICAgJ2FjY2Vzc2liaWxpdHkv
Y2hyb21pdW0vQVhPYmplY3RDYWNoZUNocm9taXVtLmNwcCcsCiAgICAgICAgICAgICAnYWNjZXNz
aWJpbGl0eS9jaHJvbWl1bS9BY2Nlc3NpYmlsaXR5T2JqZWN0Q2hyb21pdW0uY3BwJywKICAgICAg
ICAgICAgICdhY2Nlc3NpYmlsaXR5L2Nocm9taXVtL0FjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVy
LmgnLApJbmRleDogV2ViQ29yZS9XZWJDb3JlLnByaQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL1dl
YkNvcmUucHJpCShyZXZpc2lvbiA3MDUzNSkKKysrIFdlYkNvcmUvV2ViQ29yZS5wcmkJKHdvcmtp
bmcgY29weSkKQEAgLTY5LDYgKzY5LDcgQEAgdjggewogfQogCiBJRExfQklORElOR1MgKz0gXAor
ICAgIGFjY2Vzc2liaWxpdHkvV2Via2l0VUlSZXF1ZXN0RXZlbnQuaWRsIFwKICAgICBjc3MvQ291
bnRlci5pZGwgXAogICAgIGNzcy9DU1NDaGFyc2V0UnVsZS5pZGwgXAogICAgIGNzcy9DU1NGb250
RmFjZVJ1bGUuaWRsIFwKSW5kZXg6IFdlYkNvcmUvV2ViQ29yZS5wcm8KPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9XZWJDb3JlLnBybwkocmV2aXNpb24gNzA1MzUpCisrKyBXZWJDb3JlL1dlYkNvcmUu
cHJvCSh3b3JraW5nIGNvcHkpCkBAIC0zMTksNiArMzE5LDcgQEAgU09VUkNFUyArPSBcCiAgICAg
YWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5VGFibGVIZWFkZXJDb250YWluZXIuY3BwIFwgICAg
CiAgICAgYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5VGFibGVSb3cuY3BwIFwgICAgCiAgICAg
YWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcCBcCisgICAgYWNjZXNzaWJpbGl0eS9XZWJr
aXRVSVJlcXVlc3RFdmVudC5jcHAgXAogICAgIGJpbmRpbmdzL2dlbmVyaWMvQWN0aXZlRE9NQ2Fs
bGJhY2suY3BwCiAKIHY4IHsKSW5kZXg6IFdlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52
Y3Byb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJv
agkocmV2aXNpb24gNzA1MzUpCisrKyBXZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNw
cm9qCSh3b3JraW5nIGNvcHkpCkBAIC0yMDI3NSw2ICsyMDI3NSw2MiBAQAogCQkJCT4NCiAJCQk8
L0ZpbGU+DQogCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilc
b2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTV2Via2l0VUlSZXF1ZXN0RXZlbnQu
Y3BwIg0KKwkJCQk+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0iRGVidWd8
V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxU
b29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmls
ZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0iUmVs
ZWFzZXxXaW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJ
CQkJPFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJ
PC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQlOYW1l
PSJEZWJ1Z19JbnRlcm5hbHxXaW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0K
KwkJCQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJ
CQkJLz4NCisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJPEZpbGVDb25maWd1cmF0aW9u
DQorCQkJCQlOYW1lPSJEZWJ1Z19DYWlyb3xXaW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxk
PSJ0cnVlIg0KKwkJCQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJU
b29sIg0KKwkJCQkJLz4NCisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJPEZpbGVDb25m
aWd1cmF0aW9uDQorCQkJCQlOYW1lPSJSZWxlYXNlX0NhaXJvfFdpbjMyIg0KKwkJCQkJRXhjbHVk
ZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQk+DQorCQkJCQk8VG9vbA0KKwkJCQkJCU5hbWU9IlZD
Q0xDb21waWxlclRvb2wiDQorCQkJCQkvPg0KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJ
CQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9IkRlYnVnX0FsbHxXaW4zMiINCisJCQkJ
CUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJCQlO
YW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJPC9GaWxlQ29uZmlndXJhdGlv
bj4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91
dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTV2Via2l0VUlSZXF1
ZXN0RXZlbnQuaCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KIAkJCQlSZWxhdGl2
ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJj
ZXNcSlNWYWxpZGl0eVN0YXRlLmNwcCINCiAJCQkJPg0KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24N
CkBAIC0yMzAxNCw2ICsyMzA3MCw2MiBAQAogCQkJCVJlbGF0aXZlUGF0aD0iLi5cYWNjZXNzaWJp
bGl0eVxBWE9iamVjdENhY2hlLmgiDQogCQkJCT4NCiAJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJ
CQkJUmVsYXRpdmVQYXRoPSIuLlxhY2Nlc3NpYmlsaXR5XFdlYmtpdFVJUmVxdWVzdEV2ZW50LmNw
cCINCisJCQkJPg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9IkRlYnVnfFdp
bjMyIg0KKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQk+DQorCQkJCQk8VG9v
bA0KKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkvPg0KKwkJCQk8L0ZpbGVD
b25maWd1cmF0aW9uPg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9IlJlbGVh
c2V8V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJ
CTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwv
RmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0i
RGVidWdfSW50ZXJuYWx8V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJ
CQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJ
CS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0K
KwkJCQkJTmFtZT0iRGVidWdfQ2Fpcm98V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0i
dHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9v
bCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxGaWxlQ29uZmln
dXJhdGlvbg0KKwkJCQkJTmFtZT0iUmVsZWFzZV9DYWlyb3xXaW4zMiINCisJCQkJCUV4Y2x1ZGVk
RnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NM
Q29tcGlsZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJ
PEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIiDQorCQkJCQlF
eGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFt
ZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+
DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cYWNjZXNzaWJp
bGl0eVxXZWJraXRVSVJlcXVlc3RFdmVudC5oIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KIAkJCTxG
aWx0ZXINCiAJCQkJTmFtZT0id2luIg0KIAkJCQk+DQpJbmRleDogV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDcwNTM1KQorKysgV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTcwOCw2ICs3
MDgsMTAgQEAKIAkJMjlBODEyNDkwRkJCOUNBOTAwNTEwMjkzIC8qIEFjY2Vzc2liaWxpdHlPYmpl
Y3RXcmFwcGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAyOUE4MTI0NTBGQkI5Q0E5MDA1MTAyOTMgLyogQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIu
aCAqLzsgfTsKIAkJMjlBODEyNEEwRkJCOUNBOTAwNTEwMjkzIC8qIEFjY2Vzc2liaWxpdHlPYmpl
Y3RXcmFwcGVyLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMjlBODEyNDYwRkJCOUNBOTAwNTEwMjkzIC8qIEFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVy
Lm1tICovOyB9OwogCQkyOUE4MTI0QjBGQkI5Q0E5MDA1MTAyOTMgLyogQVhPYmplY3RDYWNoZU1h
Yy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI5QTgx
MjQ3MEZCQjlDQTkwMDUxMDI5MyAvKiBBWE9iamVjdENhY2hlTWFjLm1tICovOyB9OworCQkyOURE
MjExMTEyNUJDNzFGMDAxNjNDMEMgLyogV2Via2l0VUlSZXF1ZXN0RXZlbnQuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI5REQyMTBGMTI1QkM3MUYwMDE2
M0MwQyAvKiBXZWJraXRVSVJlcXVlc3RFdmVudC5oICovOyB9OworCQkyOUREMjExMjEyNUJDNzFG
MDAxNjNDMEMgLyogV2Via2l0VUlSZXF1ZXN0RXZlbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjlERDIxMTAxMjVCQzcxRjAwMTYzQzBDIC8qIFdl
YmtpdFVJUmVxdWVzdEV2ZW50LmNwcCAqLzsgfTsKKwkJMjlERDIyOUMxMjVDMDIwQTAwMTYzQzBD
IC8qIEpTV2Via2l0VUlSZXF1ZXN0RXZlbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQTg2NjI5REEwOURBMkI0NzAwOTYzM0E1IC8qIEpTV2Via2l0
VUlSZXF1ZXN0RXZlbnQuY3BwICovOyB9OworCQkyOUREMjI5RDEyNUMwMjBFMDAxNjNDMEMgLyog
SlNXZWJraXRVSVJlcXVlc3RFdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQTg2NjI5RDkwOURBMkI0NzAwOTYzM0E1IC8qIEpTV2Via2l0VUlSZXF1
ZXN0RXZlbnQuaCAqLzsgfTsKIAkJMkQ5MDY2MDYwQkUxNDFENDAwOTU2OTk4IC8qIExheW91dFN0
YXRlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJE
OTA2NjA0MEJFMTQxRDQwMDk1Njk5OCAvKiBMYXlvdXRTdGF0ZS5jcHAgKi87IH07CiAJCTJEOTA2
NjA3MEJFMTQxRDQwMDk1Njk5OCAvKiBMYXlvdXRTdGF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ5MDY2MDUwQkUxNDFENDAwOTU2OTk4IC8qIExh
eW91dFN0YXRlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKIAkJMkUwODg4RDQxMTQ4ODQ4QTAwQUY0MjY1IC8qIEpTRE9NRm9ybURhdGEuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkUwODg4RDIxMTQ4ODQ4
QTAwQUY0MjY1IC8qIEpTRE9NRm9ybURhdGEuY3BwICovOyB9OwpAQCAtNjc0MSw2ICs2NzQ1LDkg
QEAKIAkJMjlBODEyNDUwRkJCOUNBOTAwNTEwMjkzIC8qIEFjY2Vzc2liaWxpdHlPYmplY3RXcmFw
cGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFjY2Vzc2liaWxpdHlPYmpl
Y3RXcmFwcGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTI5QTgxMjQ2MEZCQjlD
QTkwMDUxMDI5MyAvKiBBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlci5tbSAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyLm1t
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyOUE4MTI0NzBGQkI5Q0E5MDA1MTAyOTMg
LyogQVhPYmplY3RDYWNoZU1hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsg
cGF0aCA9IEFYT2JqZWN0Q2FjaGVNYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTI5REQyMTBGMTI1QkM3MUYwMDE2M0MwQyAvKiBXZWJraXRVSVJlcXVlc3RFdmVudC5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJraXRVSVJlcXVlc3RFdmVudC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyOUREMjExMDEyNUJDNzFGMDAxNjNDMEMgLyogV2Vi
a2l0VUlSZXF1ZXN0RXZlbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gV2Via2l0VUlSZXF1ZXN0RXZlbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQkyOUREMjExMzEyNUJDNzNFMDAxNjNDMEMgLyogV2Via2l0VUlSZXF1ZXN0RXZlbnQuaWRsICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gdGV4dDsgcGF0aCA9IFdlYmtpdFVJUmVxdWVzdEV2ZW50LmlkbDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkQ5MDY2MDQwQkUxNDFENDAwOTU2OTk4IC8qIExheW91dFN0
YXRlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBMYXlvdXRTdGF0
ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJEOTA2NjA1MEJFMTQxRDQwMDk1
Njk5OCAvKiBMYXlvdXRTdGF0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
TGF5b3V0U3RhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkQ5MDY2MEIwNjY1
RDkzNzAwNkI2RjFBIC8qIENsaXBib2FyZE1hYy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDMwOyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDbGlwYm9hcmRNYWMuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB1c2VzVGFicyA9IDA7IH07CkBAIC05MzA4LDYgKzkzMTUs
OCBAQAogCQlBODY2MjlDQzA5REEyQjQ3MDA5NjMzQTUgLyogSlNNb3VzZUV2ZW50LmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU01vdXNlRXZlbnQuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBODY2MjlDRDA5REEyQjQ3MDA5NjMzQTUgLyogSlNL
ZXlib2FyZEV2ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0tleWJv
YXJkRXZlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTg2NjI5Q0UwOURBMkI0
NzAwOTYzM0E1IC8qIEpTS2V5Ym9hcmRFdmVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gSlNLZXlib2FyZEV2ZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJQTg2NjI5RDkwOURBMkI0NzAwOTYzM0E1IC8qIEpTV2Via2l0VUlSZXF1ZXN0RXZl
bnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTV2Via2l0VUlSZXF1ZXN0
RXZlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTg2NjI5REEwOURBMkI0NzAw
OTYzM0E1IC8qIEpTV2Via2l0VUlSZXF1ZXN0RXZlbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IEpTV2Via2l0VUlSZXF1ZXN0RXZlbnQuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlBODcxRDQ0QzBBMTI3Q0JDMDBCMTJBNjggLyogSFRNTFBsdWdJ
bkVsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAz
MDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEhUTUxQbHVnSW5F
bGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE4NzFENDREMEExMjdDQkMw
MEIxMkE2OCAvKiBIVE1MUGx1Z0luRWxlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gSFRNTFBsdWdJbkVsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlBODcxRDQ0RTBBMTI3Q0JDMDBCMTJBNjggLyogSFRNTFBhcmFtRWxlbWVudC5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSFRNTFBhcmFtRWxlbWVudC5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTIzNTMsNiArMTIzNjIsOSBAQAogCQkJCTI5
QTgxMjEzMEZCQjlDMUQwMDUxMDI5MyAvKiBBY2Nlc3NpYmlsaXR5VGFibGVSb3cuaCAqLywKIAkJ
CQkyOUE4MTIxOTBGQkI5QzFEMDA1MTAyOTMgLyogQVhPYmplY3RDYWNoZS5jcHAgKi8sCiAJCQkJ
MjlBODEyMUEwRkJCOUMxRDAwNTEwMjkzIC8qIEFYT2JqZWN0Q2FjaGUuaCAqLywKKwkJCQkyOURE
MjExMDEyNUJDNzFGMDAxNjNDMEMgLyogV2Via2l0VUlSZXF1ZXN0RXZlbnQuY3BwICovLAorCQkJ
CTI5REQyMTBGMTI1QkM3MUYwMDE2M0MwQyAvKiBXZWJraXRVSVJlcXVlc3RFdmVudC5oICovLAor
CQkJCTI5REQyMTEzMTI1QkM3M0UwMDE2M0MwQyAvKiBXZWJraXRVSVJlcXVlc3RFdmVudC5pZGwg
Ki8sCiAJCQkpOwogCQkJcGF0aCA9IGFjY2Vzc2liaWxpdHk7CiAJCQlzb3VyY2VUcmVlID0gIjxn
cm91cD4iOwpAQCAtMTU4MTcsNiArMTU4MjksOCBAQAogCQkJCTkzM0ExNEI3MEI3RDFENTIwMEE1
M0ZGRCAvKiBKU1RleHRFdmVudC5oICovLAogCQkJCUE4NjYyOUNBMDlEQTJCNDcwMDk2MzNBNSAv
KiBKU1VJRXZlbnQuY3BwICovLAogCQkJCUE4NjYyOUM5MDlEQTJCNDcwMDk2MzNBNSAvKiBKU1VJ
RXZlbnQuaCAqLywKKwkJCQlBODY2MjlEQTA5REEyQjQ3MDA5NjMzQTUgLyogSlNXZWJraXRVSVJl
cXVlc3RFdmVudC5jcHAgKi8sCisJCQkJQTg2NjI5RDkwOURBMkI0NzAwOTYzM0E1IC8qIEpTV2Vi
a2l0VUlSZXF1ZXN0RXZlbnQuaCAqLywKIAkJCQkzMUMwRkYzOTBFNENFRkFDMDA3RDZGRTUgLyog
SlNXZWJLaXRBbmltYXRpb25FdmVudC5jcHAgKi8sCiAJCQkJMzFDMEZGM0EwRTRDRUZBQzAwN0Q2
RkU1IC8qIEpTV2ViS2l0QW5pbWF0aW9uRXZlbnQuaCAqLywKIAkJCQkzMUMwRkYzQjBFNENFRkFD
MDA3RDZGRTUgLyogSlNXZWJLaXRUcmFuc2l0aW9uRXZlbnQuY3BwICovLApAQCAtMjExNzYsNiAr
MjExOTAsOCBAQAogCQkJCThBQjRCQzc3MTI2RkRCNzEwMERFQjcyNyAvKiBJZ25vcmVEZXN0cnVj
dGl2ZVdyaXRlQ291bnRJbmNyZW1lbnRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDg3Qjg0OTYx
MjcyQ0VDODAwQTE0NDE3IC8qIFNWR0FuaW1hdGVkQW5nbGUuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTc1ODk3OEVEMTI3MDkwRDYwMDc2RDVBOSAvKiBTcGVlY2hJbnB1dFJlc3VsdC5oIGluIEhlYWRl
cnMgKi8sCisJCQkJMjlERDIxMTExMjVCQzcxRjAwMTYzQzBDIC8qIFdlYmtpdFVJUmVxdWVzdEV2
ZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQkyOUREMjI5RDEyNUMwMjBFMDAxNjNDMEMgLyogSlNX
ZWJraXRVSVJlcXVlc3RFdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZv
ckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkBAIC0yMzczMiw2ICsyMzc0OCw4
IEBACiAJCQkJN0ExRjJCNTIxMjZDNjFCMjAwMDZBN0U2IC8qIEluc3BlY3RvckNsaWVudC5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQlFMTNGMDFGMTEyNzBFMTkwMDBERkJBNzEgLyogQ29va2llU3Rv
cmFnZU1hYy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTc1ODk3OEVDMTI3MDkwRDYwMDc2RDVBOSAv
KiBTcGVlY2hJbnB1dFJlc3VsdC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkyOUREMjExMjEyNUJD
NzFGMDAxNjNDMEMgLyogV2Via2l0VUlSZXF1ZXN0RXZlbnQuY3BwIGluIFNvdXJjZXMgKi8sCisJ
CQkJMjlERDIyOUMxMjVDMDIwQTAwMTYzQzBDIC8qIEpTV2Via2l0VUlSZXF1ZXN0RXZlbnQuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vz
c2luZyA9IDA7CiAJCX07CkluZGV4OiBXZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNo
ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUu
Y3BwCShyZXZpc2lvbiA3MDUzNSkKKysrIFdlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENh
Y2hlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjEsMTEgKzYxLDExIEBACiAjaW5jbHVkZSAiUGFn
ZS5oIgogI2luY2x1ZGUgIlJlbmRlckxpc3RCb3guaCIKICNpbmNsdWRlICJSZW5kZXJNZW51TGlz
dC5oIgorI2luY2x1ZGUgIlJlbmRlclByb2dyZXNzLmgiCisjaW5jbHVkZSAiUmVuZGVyU2xpZGVy
LmgiCiAjaW5jbHVkZSAiUmVuZGVyVGFibGUuaCIKICNpbmNsdWRlICJSZW5kZXJUYWJsZUNlbGwu
aCIKICNpbmNsdWRlICJSZW5kZXJUYWJsZVJvdy5oIgotI2luY2x1ZGUgIlJlbmRlclByb2dyZXNz
LmgiCi0jaW5jbHVkZSAiUmVuZGVyU2xpZGVyLmgiCiAjaW5jbHVkZSAiUmVuZGVyVmlldy5oIgog
CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KSW5kZXg6IFdlYkNvcmUvYWNjZXNzaWJpbGl0
eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2FjY2Vzc2li
aWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAJKHJldmlzaW9uIDcwNTM1KQorKysgV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC01MCw2ICs1MCw3IEBACiAjaW5jbHVkZSAiUmVuZGVyV2lkZ2V0LmgiCiAjaW5jbHVkZSAiU2Vs
ZWN0aW9uQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIlRleHRJdGVyYXRvci5oIgorI2luY2x1ZGUg
IldlYmtpdFVJUmVxdWVzdEV2ZW50LmgiCiAjaW5jbHVkZSAiaHRtbGVkaXRpbmcuaCIKICNpbmNs
dWRlICJ2aXNpYmxlX3VuaXRzLmgiCiAjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgpAQCAt
OTk4LDQgKzk5OSwzMSBAQCBBY2Nlc3NpYmlsaXR5QnV0dG9uU3RhdGUgQWNjZXNzaWJpbGl0eU9i
CiAgICAgcmV0dXJuIEJ1dHRvblN0YXRlT2ZmOwogfQogICAgIAordm9pZCBBY2Nlc3NpYmlsaXR5
T2JqZWN0OjpkaXNwYXRjaFdlYmtpdFVJUmVxdWVzdEV2ZW50KFdlYmtpdFVJUmVxdWVzdEV2ZW50
VHlwZSB0eXBlKQoreworICAgIE5vZGUqIG4gPSBub2RlKCk7CisgICAgaWYgKCFuIHx8IG4tPmRp
c2FibGVkKCkpCisgICAgICAgIHJldHVybjsKKyAgICAKKyAgICBBdG9taWNTdHJpbmcgZXZlbnRU
eXBlOworICAgIHN3aXRjaCAodHlwZSkgeworICAgIGNhc2UgVU5ETzoKKyAgICAgICAgZXZlbnRU
eXBlID0gZXZlbnROYW1lcygpLndlYmtpdHVuZG9yZXF1ZXN0RXZlbnQ7CisgICAgICAgIGJyZWFr
OworICAgIGNhc2UgUkVETzoKKyAgICAgICAgZXZlbnRUeXBlID0gZXZlbnROYW1lcygpLndlYmtp
dHJlZG9yZXF1ZXN0RXZlbnQ7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgRVNDQVBFOgorICAg
ICAgICBldmVudFR5cGUgPSBldmVudE5hbWVzKCkud2Via2l0ZXNjYXBlcmVxdWVzdEV2ZW50Owor
ICAgICAgICBicmVhazsKKyAgICBjYXNlIERFTEVURToKKyAgICAgICAgZXZlbnRUeXBlID0gZXZl
bnROYW1lcygpLndlYmtpdGRlbGV0ZXJlcXVlc3RFdmVudDsKKyAgICAgICAgYnJlYWs7CisgICAg
fQorICAgIAorICAgIFJlZlB0cjxXZWJraXRVSVJlcXVlc3RFdmVudD4gdWlSZXF1ZXN0RXZlbnQg
PSBXZWJraXRVSVJlcXVlc3RFdmVudDo6Y3JlYXRlKGV2ZW50VHlwZSwgdHJ1ZSwgdHJ1ZSwgbi0+
ZG9jdW1lbnQoKS0+ZGVmYXVsdFZpZXcoKSwgMCk7CisgICAgbi0+ZGlzcGF0Y2hFdmVudCh1aVJl
cXVlc3RFdmVudCk7Cit9CisKKyAgICAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFdl
YkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaAkocmV2aXNpb24gNzA1
MzUpCisrKyBXZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC01MTgsNiArNTE4LDEwIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIFN0cmlu
ZyBkZXNjcmlwdGlvbkZvck1TQUEoKSBjb25zdCB7IHJldHVybiBTdHJpbmcoKTsgfQogICAgIHZp
cnR1YWwgQWNjZXNzaWJpbGl0eVJvbGUgcm9sZVZhbHVlRm9yTVNBQSgpIGNvbnN0IHsgcmV0dXJu
IHJvbGVWYWx1ZSgpOyB9CiAKKyAgICAvLyBVSVJlcXVlc3RFdmVudCBzdXBwb3J0CisgICAgZW51
bSBXZWJraXRVSVJlcXVlc3RFdmVudFR5cGUgeyBVTkRPID0gMSwgUkVETyA9IDIsIEVTQ0FQRSA9
IDMsIERFTEVURSA9IDQgfTsKKyAgICB2b2lkIGRpc3BhdGNoV2Via2l0VUlSZXF1ZXN0RXZlbnQo
V2Via2l0VUlSZXF1ZXN0RXZlbnRUeXBlKTsKKyAgICAKICAgICAvLyBVc2VkIGJ5IGFuIEFSSUEg
dHJlZSB0byBnZXQgYWxsIGl0cyByb3dzLgogICAgIHZvaWQgYXJpYVRyZWVSb3dzKEFjY2Vzc2li
aWxpdHlDaGlsZHJlblZlY3RvciYpOwogICAgIC8vIFVzZWQgYnkgYW4gQVJJQSB0cmVlIGl0ZW0g
dG8gZ2V0IGFsbCBvZiBpdHMgZGlyZWN0IHJvd3MgdGhhdCBpdCBjYW4gZGlzY2xvc2UuCkluZGV4
OiBXZWJDb3JlL2FjY2Vzc2liaWxpdHkvV2Via2l0VUlSZXF1ZXN0RXZlbnQuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvYWNjZXNzaWJpbGl0eS9XZWJraXRVSVJlcXVlc3RFdmVudC5jcHAJKHJl
dmlzaW9uIDApCisrKyBXZWJDb3JlL2FjY2Vzc2liaWxpdHkvV2Via2l0VUlSZXF1ZXN0RXZlbnQu
Y3BwCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDQ5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDEwIEFwcGxlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisg
KiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAor
ICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKgorICovCisKKyNpbmNsdWRlICJjb25maWcu
aCIKKyNpbmNsdWRlICJXZWJraXRVSVJlcXVlc3RFdmVudC5oIgorCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisgICAgCitXZWJraXRVSVJlcXVlc3RFdmVudDo6V2Via2l0VUlSZXF1ZXN0RXZlbnQoKQor
eworfQorICAgIAorV2Via2l0VUlSZXF1ZXN0RXZlbnQ6OldlYmtpdFVJUmVxdWVzdEV2ZW50KGNv
bnN0IEF0b21pY1N0cmluZyYgdHlwZSwgYm9vbCBjYW5CdWJibGUsIGJvb2wgY2FuY2VsYWJsZSwg
UGFzc1JlZlB0cjxBYnN0cmFjdFZpZXc+IHZpZXcsIGludCBkZXRhaWwpCisgICAgOiBVSUV2ZW50
KHR5cGUsIGNhbkJ1YmJsZSwgY2FuY2VsYWJsZSwgdmlldywgZGV0YWlsKQoreworfQorCit2b2lk
IFdlYmtpdFVJUmVxdWVzdEV2ZW50Ojppbml0V2Via2l0VUlSZXF1ZXN0RXZlbnQoY29uc3QgQXRv
bWljU3RyaW5nJiB0eXBlLCBib29sIGNhbkJ1YmJsZSwgYm9vbCBjYW5jZWxhYmxlLCBQYXNzUmVm
UHRyPEFic3RyYWN0Vmlldz4gdmlldywgaW50IGRldGFpbCkKK3sKKyAgICBpZiAoZGlzcGF0Y2hl
ZCgpKQorICAgICAgICByZXR1cm47CisgICAgCisgICAgaW5pdFVJRXZlbnQodHlwZSwgY2FuQnVi
YmxlLCBjYW5jZWxhYmxlLCB2aWV3LCBkZXRhaWwpOworfSAgIAorCit9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCkluZGV4OiBXZWJDb3JlL2FjY2Vzc2liaWxpdHkvV2Via2l0VUlSZXF1ZXN0RXZlbnQu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2FjY2Vzc2liaWxpdHkvV2Via2l0VUlSZXF1ZXN0RXZl
bnQuaAkocmV2aXNpb24gMCkKKysrIFdlYkNvcmUvYWNjZXNzaWJpbGl0eS9XZWJraXRVSVJlcXVl
c3RFdmVudC5oCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDU4IEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFLCBJTkMuIGBgQVMgSVMnJyBBTkQg
QU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
KyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKgorICovCisKKyNpZm5kZWYgV2Vi
a2l0VUlSZXF1ZXN0RXZlbnRfaAorI2RlZmluZSBXZWJraXRVSVJlcXVlc3RFdmVudF9oCisKKyNp
bmNsdWRlICJVSUV2ZW50LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKyAgICAKKy8vICJVc2Vy
IEludGVyZmFjZSBJbmRlcGVuZGVuY2UgZm9yIEFjY2Vzc2libGUgUmljaCBJbnRlcm5ldCBBcHBs
aWNhdGlvbnMiIFczQyBQcm9wb3NhbAorY2xhc3MgV2Via2l0VUlSZXF1ZXN0RXZlbnQgOiBwdWJs
aWMgVUlFdmVudCB7CitwdWJsaWM6CisgICAgCisgICAgc3RhdGljIFBhc3NSZWZQdHI8V2Via2l0
VUlSZXF1ZXN0RXZlbnQ+IGNyZWF0ZSgpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYo
bmV3IFdlYmtpdFVJUmVxdWVzdEV2ZW50KTsKKyAgICB9CisgICAgc3RhdGljIFBhc3NSZWZQdHI8
V2Via2l0VUlSZXF1ZXN0RXZlbnQ+IGNyZWF0ZShjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGJv
b2wgY2FuQnViYmxlLCBib29sIGNhbmNlbGFibGUsIFBhc3NSZWZQdHI8QWJzdHJhY3RWaWV3PiB2
aWV3LCBpbnQgZGV0YWlsKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBXZWJr
aXRVSVJlcXVlc3RFdmVudCh0eXBlLCBjYW5CdWJibGUsIGNhbmNlbGFibGUsIHZpZXcsIGRldGFp
bCkpOworICAgIH0KKyAgICAKKyAgICB2b2lkIGluaXRXZWJraXRVSVJlcXVlc3RFdmVudChjb25z
dCBBdG9taWNTdHJpbmcmIHR5cGUsIGJvb2wgY2FuQnViYmxlLCBib29sIGNhbmNlbGFibGUsIFBh
c3NSZWZQdHI8QWJzdHJhY3RWaWV3PiwgaW50IGRldGFpbCk7CisKKyAgICB2aXJ0dWFsIGJvb2wg
aXNXZWJraXRVSVJlcXVlc3RFdmVudCgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KKyAgICAKK3By
aXZhdGU6CisgICAgV2Via2l0VUlSZXF1ZXN0RXZlbnQoKTsKKyAgICBXZWJraXRVSVJlcXVlc3RF
dmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGJvb2wgY2FuQnViYmxlLCBib29sIGNhbmNl
bGFibGUsIFBhc3NSZWZQdHI8QWJzdHJhY3RWaWV3PiwgaW50IGRldGFpbCk7Cit9OworCit9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBXZWJraXRVSVJlcXVlc3RFdmVudF9oCklu
ZGV4OiBXZWJDb3JlL2FjY2Vzc2liaWxpdHkvV2Via2l0VUlSZXF1ZXN0RXZlbnQuaWRsCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvYWNjZXNzaWJpbGl0eS9XZWJraXRVSVJlcXVlc3RFdmVudC5pZGwJ
KHJldmlzaW9uIDApCisrKyBXZWJDb3JlL2FjY2Vzc2liaWxpdHkvV2Via2l0VUlSZXF1ZXN0RXZl
bnQuaWRsCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDQwIEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDEwIEFwcGxlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5Z
CisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAg
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKgorICovCisKK21vZHVsZSBldmVudHMg
eworCisgICAgLy8gIlVzZXIgSW50ZXJmYWNlIEluZGVwZW5kZW5jZSBmb3IgQWNjZXNzaWJsZSBS
aWNoIEludGVybmV0IEFwcGxpY2F0aW9ucyIgVzNDIFByb3Bvc2FsCisgICAgaW50ZXJmYWNlIFdl
YmtpdFVJUmVxdWVzdEV2ZW50IDogVUlFdmVudCB7CisgICAgICAgIAorICAgICAgICB2b2lkIGlu
aXRXZWJraXRVSVJlcXVlc3RFdmVudChpbiBET01TdHJpbmcgdHlwZSwgCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbiBib29sZWFuIGNhbkJ1YmJsZSwgCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBib29sZWFuIGNhbmNlbGFibGUsIAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gRE9NV2luZG93IHZpZXcsIAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gbG9uZyBkZXRhaWwpOworCisgICAgfTsK
KworfQpJbmRleDogV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9BY2Nlc3NpYmlsaXR5T2JqZWN0
V3JhcHBlci5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL0FjY2Vz
c2liaWxpdHlPYmplY3RXcmFwcGVyLm1tCShyZXZpc2lvbiA3MDUzNSkKKysrIFdlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9tYWMvQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIubW0JKHdvcmtpbmcgY29w
eSkKQEAgLTIxODQsNiArMjE4NCwxOCBAQCAtICh2b2lkKWFjY2Vzc2liaWxpdHlQZXJmb3JtQWN0
aW9uOihOU1N0CiAKICAgICBlbHNlIGlmIChbYWN0aW9uIGlzRXF1YWxUb1N0cmluZzpOU0FjY2Vz
c2liaWxpdHlEZWNyZW1lbnRBY3Rpb25dKQogICAgICAgICBbc2VsZiBhY2Nlc3NpYmlsaXR5UGVy
Zm9ybURlY3JlbWVudEFjdGlvbl07CisKKyAgICBlbHNlIGlmIChbYWN0aW9uIGlzRXF1YWxUb1N0
cmluZzpAIkFYRXNjYXBlIl0pCisgICAgICAgIG1fb2JqZWN0LT5kaXNwYXRjaFdlYmtpdFVJUmVx
dWVzdEV2ZW50KEFjY2Vzc2liaWxpdHlPYmplY3Q6OkVTQ0FQRSk7CisgICAgCisgICAgZWxzZSBp
ZiAoW2FjdGlvbiBpc0VxdWFsVG9TdHJpbmc6QCJBWERlbGV0ZSJdKQorICAgICAgICBtX29iamVj
dC0+ZGlzcGF0Y2hXZWJraXRVSVJlcXVlc3RFdmVudChBY2Nlc3NpYmlsaXR5T2JqZWN0OjpERUxF
VEUpOworICAgIAorICAgIGVsc2UgaWYgKFthY3Rpb24gaXNFcXVhbFRvU3RyaW5nOkAiQVhVbmRv
Il0pCisgICAgICAgIG1fb2JqZWN0LT5kaXNwYXRjaFdlYmtpdFVJUmVxdWVzdEV2ZW50KEFjY2Vz
c2liaWxpdHlPYmplY3Q6OlVORE8pOworICAgIAorICAgIGVsc2UgaWYgKFthY3Rpb24gaXNFcXVh
bFRvU3RyaW5nOkAiQVhSZWRvIl0pCisgICAgICAgIG1fb2JqZWN0LT5kaXNwYXRjaFdlYmtpdFVJ
UmVxdWVzdEV2ZW50KEFjY2Vzc2liaWxpdHlPYmplY3Q6OlJFRE8gKTsKIH0KIAogLSAodm9pZClh
Y2Nlc3NpYmlsaXR5U2V0VmFsdWU6KGlkKXZhbHVlIGZvckF0dHJpYnV0ZTooTlNTdHJpbmcqKWF0
dHJpYnV0ZU5hbWUKSW5kZXg6IFdlYkNvcmUvYmluZGluZ3MvZ29iamVjdC9HTlVtYWtlZmlsZS5h
bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvR05VbWFrZWZpbGUuYW0J
KHJldmlzaW9uIDcwNTM1KQorKysgV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L0dOVW1ha2VmaWxl
LmFtCSh3b3JraW5nIGNvcHkpCkBAIC0yMzIsNiArMjMyLDcgQEAgd2Via2l0Z3RrX2dkb21fYnVp
bHRfc291cmNlcyArPSBcCiAJRGVyaXZlZFNvdXJjZXMvd2Via2l0L1dlYktpdERPTVRpbWVSYW5n
ZXNQcml2YXRlLmggXAogCURlcml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRET01UcmVlV2Fsa2Vy
LmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvd2Via2l0L1dlYktpdERPTVRyZWVXYWxrZXJQcml2YXRl
LmggXAorCURlcml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRET01XZWJraXRVSVJlcXVlc3RFdmVu
dC5jcHAgXAogCURlcml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRET01VSUV2ZW50LmNwcCBcCiAJ
RGVyaXZlZFNvdXJjZXMvd2Via2l0L1dlYktpdERPTVVJRXZlbnRQcml2YXRlLmggXAogCURlcml2
ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRET01WYWxpZGl0eVN0YXRlLmNwcCBcCkBAIC0yODAsNiAr
MjgxLDcgQEAgd2Via2l0Z3RrX2J1aWx0X2hfYXBpICs9IFwKIAlEZXJpdmVkU291cmNlcy93ZWJr
aXQvV2ViS2l0RE9NUmFuZ2UuaCBcCiAJRGVyaXZlZFNvdXJjZXMvd2Via2l0L1dlYktpdERPTVRl
eHQuaCBcCiAJRGVyaXZlZFNvdXJjZXMvd2Via2l0L1dlYktpdERPTVRyZWVXYWxrZXIuaCBcCisJ
RGVyaXZlZFNvdXJjZXMvd2Via2l0L1dlYktpdERPTVdlYmtpdFVJUmVxdWVzdEV2ZW50LmggXAog
CURlcml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRET01VSUV2ZW50LmggXAogCURlcml2ZWRTb3Vy
Y2VzL3dlYmtpdC9XZWJLaXRET01CbG9iLmggXAogCURlcml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJL
aXRET01GaWxlLmggXApJbmRleDogV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50Q3VzdG9tLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2JpbmRpbmdzL2pzL0pTRXZlbnRDdXN0b20uY3BwCShy
ZXZpc2lvbiA3MDUzNSkKKysrIFdlYkNvcmUvYmluZGluZ3MvanMvSlNFdmVudEN1c3RvbS5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTU1LDYgKzU1LDcgQEAKICNpbmNsdWRlICJKU1VJRXZlbnQuaCIK
ICNpbmNsdWRlICJKU1dlYktpdEFuaW1hdGlvbkV2ZW50LmgiCiAjaW5jbHVkZSAiSlNXZWJLaXRU
cmFuc2l0aW9uRXZlbnQuaCIKKyNpbmNsdWRlICJKU1dlYmtpdFVJUmVxdWVzdEV2ZW50LmgiCiAj
aW5jbHVkZSAiSlNXaGVlbEV2ZW50LmgiCiAjaW5jbHVkZSAiSlNYTUxIdHRwUmVxdWVzdFByb2dy
ZXNzRXZlbnQuaCIKICNpbmNsdWRlICJCZWZvcmVMb2FkRXZlbnQuaCIKQEAgLTcyLDYgKzczLDcg
QEAKICNpbmNsdWRlICJVSUV2ZW50LmgiCiAjaW5jbHVkZSAiV2ViS2l0QW5pbWF0aW9uRXZlbnQu
aCIKICNpbmNsdWRlICJXZWJLaXRUcmFuc2l0aW9uRXZlbnQuaCIKKyNpbmNsdWRlICJXZWJraXRV
SVJlcXVlc3RFdmVudC5oIgogI2luY2x1ZGUgIldoZWVsRXZlbnQuaCIKICNpbmNsdWRlICJYTUxI
dHRwUmVxdWVzdFByb2dyZXNzRXZlbnQuaCIKICNpbmNsdWRlIDxydW50aW1lL0pTTG9jay5oPgpA
QCAtMTM3LDYgKzEzOSw4IEBAIEpTVmFsdWUgdG9KUyhFeGVjU3RhdGUqIGV4ZWMsIEpTRE9NR2xv
YmEKICAgICAgICAgZWxzZSBpZiAoZXZlbnQtPmlzVG91Y2hFdmVudCgpKQogICAgICAgICAgICAg
d3JhcHBlciA9IENSRUFURV9ET01fT0JKRUNUX1dSQVBQRVIoZXhlYywgZ2xvYmFsT2JqZWN0LCBU
b3VjaEV2ZW50LCBldmVudCk7CiAjZW5kaWYKKyAgICAgICAgZWxzZSBpZiAoZXZlbnQtPmlzV2Vi
a2l0VUlSZXF1ZXN0RXZlbnQoKSkKKyAgICAgICAgICAgIHdyYXBwZXIgPSBDUkVBVEVfRE9NX09C
SkVDVF9XUkFQUEVSKGV4ZWMsIGdsb2JhbE9iamVjdCwgV2Via2l0VUlSZXF1ZXN0RXZlbnQsIGV2
ZW50KTsKICAgICAgICAgZWxzZQogICAgICAgICAgICAgd3JhcHBlciA9IENSRUFURV9ET01fT0JK
RUNUX1dSQVBQRVIoZXhlYywgZ2xvYmFsT2JqZWN0LCBVSUV2ZW50LCBldmVudCk7CiAgICAgfSBl
bHNlIGlmIChldmVudC0+aXNNdXRhdGlvbkV2ZW50KCkpCkluZGV4OiBXZWJDb3JlL2RvbS9Eb2N1
bWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCShyZXZpc2lv
biA3MDUzNSkKKysrIFdlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MTMxLDYgKzEzMSw3IEBACiAjaW5jbHVkZSAiVXNlckNvbnRlbnRVUkxQYXR0ZXJuLmgiCiAjaW5j
bHVkZSAiV2ViS2l0QW5pbWF0aW9uRXZlbnQuaCIKICNpbmNsdWRlICJXZWJLaXRUcmFuc2l0aW9u
RXZlbnQuaCIKKyNpbmNsdWRlICJXZWJraXRVSVJlcXVlc3RFdmVudC5oIgogI2luY2x1ZGUgIldo
ZWVsRXZlbnQuaCIKICNpbmNsdWRlICJYTUxEb2N1bWVudFBhcnNlci5oIgogI2luY2x1ZGUgIlhN
TEh0dHBSZXF1ZXN0LmgiCkBAIC0zNDYxLDYgKzM0NjIsOCBAQCBQYXNzUmVmUHRyPEV2ZW50PiBE
b2N1bWVudDo6Y3JlYXRlRXZlbnQoCiAgICAgZWxzZSBpZiAoZXZlbnRUeXBlID09ICJEZXZpY2VP
cmllbnRhdGlvbkV2ZW50IikKICAgICAgICAgZXZlbnQgPSBEZXZpY2VPcmllbnRhdGlvbkV2ZW50
OjpjcmVhdGUoKTsKICNlbmRpZgorICAgIGVsc2UgaWYgKGV2ZW50VHlwZSA9PSAiV2Via2l0VUlS
ZXF1ZXN0RXZlbnQiKQorICAgICAgICBldmVudCA9IFdlYmtpdFVJUmVxdWVzdEV2ZW50OjpjcmVh
dGUoKTsKICNpZiBFTkFCTEUoT1JJRU5UQVRJT05fRVZFTlRTKQogICAgIGVsc2UgaWYgKGV2ZW50
VHlwZSA9PSAiT3JpZW50YXRpb25FdmVudCIpCiAgICAgICAgIGV2ZW50ID0gRXZlbnQ6OmNyZWF0
ZSgpOwpJbmRleDogV2ViQ29yZS9kb20vRG9jdW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L2RvbS9Eb2N1bWVudC5oCShyZXZpc2lvbiA3MDUzNSkKKysrIFdlYkNvcmUvZG9tL0RvY3VtZW50
LmgJKHdvcmtpbmcgY29weSkKQEAgLTI4Miw3ICsyODIsMTEgQEAgcHVibGljOgogI2lmIEVOQUJM
RShGVUxMU0NSRUVOX0FQSSkKICAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHdl
YmtpdGZ1bGxzY3JlZW5jaGFuZ2UpOwogI2VuZGlmCi0KKyAgICBERUZJTkVfQVRUUklCVVRFX0VW
RU5UX0xJU1RFTkVSKHdlYmtpdHVuZG9yZXF1ZXN0KTsKKyAgICBERUZJTkVfQVRUUklCVVRFX0VW
RU5UX0xJU1RFTkVSKHdlYmtpdHJlZG9yZXF1ZXN0KTsKKyAgICBERUZJTkVfQVRUUklCVVRFX0VW
RU5UX0xJU1RFTkVSKHdlYmtpdGVzY2FwZXJlcXVlc3QpOworICAgIERFRklORV9BVFRSSUJVVEVf
RVZFTlRfTElTVEVORVIod2Via2l0ZGVsZXRlcmVxdWVzdCk7CisgICAgCiAgICAgVmlld3BvcnRB
cmd1bWVudHMgdmlld3BvcnRBcmd1bWVudHMoKSBjb25zdCB7IHJldHVybiBtX3ZpZXdwb3J0QXJn
dW1lbnRzOyB9CiAKICAgICBEb2N1bWVudFR5cGUqIGRvY3R5cGUoKSBjb25zdCB7IHJldHVybiBt
X2RvY1R5cGUuZ2V0KCk7IH0KSW5kZXg6IFdlYkNvcmUvZG9tL0RvY3VtZW50LmlkbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL2RvbS9Eb2N1bWVudC5pZGwJKHJldmlzaW9uIDcwNTM1KQorKysgV2Vi
Q29yZS9kb20vRG9jdW1lbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zMDcsNiArMzA3LDExIEBA
IG1vZHVsZSBjb3JlIHsKICAgICAgICAgLy8gYXR0cmlidXRlIFtEb250RW51bV0gRXZlbnRMaXN0
ZW5lciBvbnZvbHVtZWNoYW5nZTsKICAgICAgICAgLy8gYXR0cmlidXRlIFtEb250RW51bV0gRXZl
bnRMaXN0ZW5lciBvbndhaXRpbmc7CiAKKyAgICAgICAgYXR0cmlidXRlIFtEb250RW51bV0gRXZl
bnRMaXN0ZW5lciBvbndlYmtpdHVuZG9yZXF1ZXN0OworICAgICAgICBhdHRyaWJ1dGUgW0RvbnRF
bnVtXSBFdmVudExpc3RlbmVyIG9ud2Via2l0cmVkb3JlcXVlc3Q7CisgICAgICAgIGF0dHJpYnV0
ZSBbRG9udEVudW1dIEV2ZW50TGlzdGVuZXIgb253ZWJraXRlc2NhcGVyZXF1ZXN0OworICAgICAg
ICBhdHRyaWJ1dGUgW0RvbnRFbnVtXSBFdmVudExpc3RlbmVyIG9ud2Via2l0ZGVsZXRlcmVxdWVz
dDsKKwogICAgICAgICAvLyBXZWJLaXQgZXh0ZW5zaW9ucwogICAgICAgICBhdHRyaWJ1dGUgW0Rv
bnRFbnVtXSBFdmVudExpc3RlbmVyIG9uYmVmb3JlY3V0OwogICAgICAgICBhdHRyaWJ1dGUgW0Rv
bnRFbnVtXSBFdmVudExpc3RlbmVyIG9uY3V0OwpJbmRleDogV2ViQ29yZS9kb20vRWxlbWVudC5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZG9tL0VsZW1lbnQuaAkocmV2aXNpb24gNzA1MzUpCisr
KyBXZWJDb3JlL2RvbS9FbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTk4LDYgKzk4LDEwIEBA
IHB1YmxpYzoKICNpZiBFTkFCTEUoRlVMTFNDUkVFTl9BUEkpCiAgICAgREVGSU5FX0FUVFJJQlVU
RV9FVkVOVF9MSVNURU5FUih3ZWJraXRmdWxsc2NyZWVuY2hhbmdlKTsKICNlbmRpZgorICAgIERF
RklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIod2Via2l0dW5kb3JlcXVlc3QpOworICAgIERF
RklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIod2Via2l0cmVkb3JlcXVlc3QpOworICAgIERF
RklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIod2Via2l0ZXNjYXBlcmVxdWVzdCk7CisgICAg
REVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUih3ZWJraXRkZWxldGVyZXF1ZXN0KTsKIAog
ICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxEb2N1bWVudEZyYWdtZW50PiBkZXByZWNhdGVkQ3JlYXRl
Q29udGV4dHVhbEZyYWdtZW50KGNvbnN0IFN0cmluZyYsIEZyYWdtZW50U2NyaXB0aW5nUGVybWlz
c2lvbiA9IEZyYWdtZW50U2NyaXB0aW5nQWxsb3dlZCk7CiAKSW5kZXg6IFdlYkNvcmUvZG9tL0Vs
ZW1lbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZG9tL0VsZW1lbnQuaWRsCShyZXZpc2lv
biA3MDUzNSkKKysrIFdlYkNvcmUvZG9tL0VsZW1lbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0x
OTMsNiArMTkzLDExIEBAIG1vZHVsZSBjb3JlIHsKICAgICAgICAgLy8gYXR0cmlidXRlIFtEb250
RW51bV0gRXZlbnRMaXN0ZW5lciBvbnRpbWV1cGRhdGU7CiAgICAgICAgIC8vIGF0dHJpYnV0ZSBb
RG9udEVudW1dIEV2ZW50TGlzdGVuZXIgb252b2x1bWVjaGFuZ2U7CiAgICAgICAgIC8vIGF0dHJp
YnV0ZSBbRG9udEVudW1dIEV2ZW50TGlzdGVuZXIgb253YWl0aW5nOworICAgICAgICAKKyAgICAg
ICAgYXR0cmlidXRlIFtEb250RW51bV0gRXZlbnRMaXN0ZW5lciBvbndlYmtpdHVuZG9yZXF1ZXN0
OworICAgICAgICBhdHRyaWJ1dGUgW0RvbnRFbnVtXSBFdmVudExpc3RlbmVyIG9ud2Via2l0cmVk
b3JlcXVlc3Q7CisgICAgICAgIGF0dHJpYnV0ZSBbRG9udEVudW1dIEV2ZW50TGlzdGVuZXIgb253
ZWJraXRlc2NhcGVyZXF1ZXN0OworICAgICAgICBhdHRyaWJ1dGUgW0RvbnRFbnVtXSBFdmVudExp
c3RlbmVyIG9ud2Via2l0ZGVsZXRlcmVxdWVzdDsKIAogICAgICAgICAvLyBXZWJLaXQgZXh0ZW5z
aW9ucwogICAgICAgICBhdHRyaWJ1dGUgW0RvbnRFbnVtXSBFdmVudExpc3RlbmVyIG9uYmVmb3Jl
Y3V0OwpJbmRleDogV2ViQ29yZS9kb20vRXZlbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
ZG9tL0V2ZW50LmNwcAkocmV2aXNpb24gNzA1MzUpCisrKyBXZWJDb3JlL2RvbS9FdmVudC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTIyOSw2ICsyMjksMTEgQEAgYm9vbCBFdmVudDo6aXNEZXZpY2VP
cmllbnRhdGlvbkV2ZW50KCkgYwogfQogI2VuZGlmCiAKK2Jvb2wgRXZlbnQ6OmlzV2Via2l0VUlS
ZXF1ZXN0RXZlbnQoKSBjb25zdAoreworICAgIHJldHVybiBmYWxzZTsKK30KKyAgICAKIGJvb2wg
RXZlbnQ6OmZyb21Vc2VyR2VzdHVyZSgpCiB7CiAgICAgaWYgKCFVc2VyR2VzdHVyZUluZGljYXRv
cjo6cHJvY2Vzc2luZ1VzZXJHZXN0dXJlKCkpCkluZGV4OiBXZWJDb3JlL2RvbS9FdmVudC5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvZG9tL0V2ZW50LmgJKHJldmlzaW9uIDcwNTM1KQorKysgV2Vi
Q29yZS9kb20vRXZlbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMTQxLDYgKzE0MSw4IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICAgICAgdmlydHVhbCBib29sIGlzRGV2aWNlTW90aW9uRXZlbnQo
KSBjb25zdDsKICAgICAgICAgdmlydHVhbCBib29sIGlzRGV2aWNlT3JpZW50YXRpb25FdmVudCgp
IGNvbnN0OwogI2VuZGlmCisgICAgICAgIHZpcnR1YWwgYm9vbCBpc1dlYmtpdFVJUmVxdWVzdEV2
ZW50KCkgY29uc3Q7CisgICAgICAgIAogICAgICAgICBib29sIGZyb21Vc2VyR2VzdHVyZSgpOwog
ICAgICAgICAKICAgICAgICAgYm9vbCBwcm9wYWdhdGlvblN0b3BwZWQoKSBjb25zdCB7IHJldHVy
biBtX3Byb3BhZ2F0aW9uU3RvcHBlZCB8fCBtX2ltbWVkaWF0ZVByb3BhZ2F0aW9uU3RvcHBlZDsg
fQpJbmRleDogV2ViQ29yZS9kb20vRXZlbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZG9t
L0V2ZW50LmlkbAkocmV2aXNpb24gNzA1MzUpCisrKyBXZWJDb3JlL2RvbS9FdmVudC5pZGwJKHdv
cmtpbmcgY29weSkKQEAgLTgzLDcgKzgzLDcgQEAgbW9kdWxlIGV2ZW50cyB7CiAgICAgICAgIC8v
IEV4dHJhIFdlYkNvcmUgbWV0aG9kcyBleHBvc2VkIHRvIGFsbG93IGNvbXBpbGUtdGltZSBjYXN0
aW5nIGluIEMrKwogICAgICAgICBib29sZWFuIGlzTXV0YXRpb25FdmVudCgpOwogICAgICAgICBi
b29sZWFuIGlzTW91c2VFdmVudCgpOwotICAgICAgICBib29sZWFuIGlzVUlFdmVudCgpOworICAg
ICAgICBib29sZWFuIGlzV2Via2l0VUlFdmVudCgpOwogI2VuZGlmCiAKICAgICB9OwpJbmRleDog
V2ViQ29yZS9kb20vRXZlbnROYW1lcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZG9tL0V2ZW50
TmFtZXMuaAkocmV2aXNpb24gNzA1MzUpCisrKyBXZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgJKHdv
cmtpbmcgY29weSkKQEAgLTE2OCw3ICsxNjgsMTIgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAg
IFwKICAgICBtYWNybyh3ZWJraXRmdWxsc2NyZWVuY2hhbmdlKSBcCiAgICAgXAotICAgIG1hY3Jv
KHdlYmtpdHNwZWVjaGNoYW5nZSkKKyAgICBtYWNybyh3ZWJraXRzcGVlY2hjaGFuZ2UpIFwKKyAg
ICBcCisgICAgbWFjcm8od2Via2l0dW5kb3JlcXVlc3QpIFwKKyAgICBtYWNybyh3ZWJraXRyZWRv
cmVxdWVzdCkgXAorICAgIG1hY3JvKHdlYmtpdGVzY2FwZXJlcXVlc3QpIFwKKyAgICBtYWNybyh3
ZWJraXRkZWxldGVyZXF1ZXN0KQogICAgIFwKIC8vIGVuZCBvZiBET01fRVZFTlRfTkFNRVNfRk9S
X0VBQ0gKIApJbmRleDogV2ViQ29yZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbgo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL2h0bWwvSFRNTEF0dHJpYnV0ZU5hbWVzLmluCShyZXZpc2lvbiA3MDUz
NSkKKysrIFdlYkNvcmUvaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW4JKHdvcmtpbmcgY29weSkK
QEAgLTE1Niw2ICsxNTYsNyBAQCBvbmNvbnRleHRtZW51CiBvbmNvcHkKIG9uY3V0CiBvbmRibGNs
aWNrCitvbndlYmtpdGRlbGV0ZXJlcXVlc3QKIG9uZHJhZwogb25kcmFnZW5kCiBvbmRyYWdlbnRl
cgpAQCAtMTY3LDYgKzE2OCw3IEBAIG9uZHVyYXRpb25jaGFuZ2UKIG9uZW1wdGllZAogb25lbmRl
ZAogb25lcnJvcgorb253ZWJraXRlc2NhcGVyZXF1ZXN0CiBvbmZvY3VzCiBvbmZvY3VzaW4KIG9u
Zm9jdXNvdXQKQEAgLTE5OCw2ICsyMDAsNyBAQCBvbnBsYXlpbmcKIG9ucG9wc3RhdGUKIG9ucHJv
Z3Jlc3MKIG9ucmF0ZWNoYW5nZQorb253ZWJraXRyZWRvcmVxdWVzdAogb25yZXNldAogb25yZXNp
emUKIG9uc2Nyb2xsCkBAIC0yMTYsNiArMjE5LDcgQEAgb250b3VjaHN0YXJ0CiBvbnRvdWNobW92
ZQogb250b3VjaGVuZAogb250b3VjaGNhbmNlbAorb253ZWJraXR1bmRvcmVxdWVzdAogb251bmxv
YWQKIG9udm9sdW1lY2hhbmdlCiBvbndhaXRpbmcKSW5kZXg6IFdlYkNvcmUvaHRtbC9IVE1MRWxl
bWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50LmNwcAkocmV2
aXNpb24gNzA1MzUpCisrKyBXZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0yNTMsNiArMjUzLDE0IEBAIHZvaWQgSFRNTEVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0
cmlidXRlKEEKICAgICB9IGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBvbndlYmtpdGZ1bGxzY3Jl
ZW5jaGFuZ2VBdHRyKSB7CiAgICAgICAgIHNldEF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIoZXZlbnRO
YW1lcygpLndlYmtpdGZ1bGxzY3JlZW5jaGFuZ2VFdmVudCwgY3JlYXRlQXR0cmlidXRlRXZlbnRM
aXN0ZW5lcih0aGlzLCBhdHRyKSk7CiAjZW5kaWYKKyAgICB9IGVsc2UgaWYgKGF0dHItPm5hbWUo
KSA9PSBvbndlYmtpdHVuZG9yZXF1ZXN0QXR0cikgeworICAgICAgICBzZXRBdHRyaWJ1dGVFdmVu
dExpc3RlbmVyKGV2ZW50TmFtZXMoKS53ZWJraXR1bmRvcmVxdWVzdEV2ZW50LCBjcmVhdGVBdHRy
aWJ1dGVFdmVudExpc3RlbmVyKHRoaXMsIGF0dHIpKTsKKyAgICB9IGVsc2UgaWYgKGF0dHItPm5h
bWUoKSA9PSBvbndlYmtpdHJlZG9yZXF1ZXN0QXR0cikgeworICAgICAgICBzZXRBdHRyaWJ1dGVF
dmVudExpc3RlbmVyKGV2ZW50TmFtZXMoKS53ZWJraXRyZWRvcmVxdWVzdEV2ZW50LCBjcmVhdGVB
dHRyaWJ1dGVFdmVudExpc3RlbmVyKHRoaXMsIGF0dHIpKTsKKyAgICB9IGVsc2UgaWYgKGF0dHIt
Pm5hbWUoKSA9PSBvbndlYmtpdGVzY2FwZXJlcXVlc3RBdHRyKSB7CisgICAgICAgIHNldEF0dHJp
YnV0ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1lcygpLndlYmtpdGVzY2FwZXJlcXVlc3RFdmVudCwg
Y3JlYXRlQXR0cmlidXRlRXZlbnRMaXN0ZW5lcih0aGlzLCBhdHRyKSk7CisgICAgfSBlbHNlIGlm
IChhdHRyLT5uYW1lKCkgPT0gb253ZWJraXRkZWxldGVyZXF1ZXN0QXR0cikgeworICAgICAgICBz
ZXRBdHRyaWJ1dGVFdmVudExpc3RlbmVyKGV2ZW50TmFtZXMoKS53ZWJraXRkZWxldGVyZXF1ZXN0
RXZlbnQsIGNyZWF0ZUF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIodGhpcywgYXR0cikpOwogICAgIH0K
IH0KIApJbmRleDogV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvcGFnZS9ET01XaW5kb3cuaAkocmV2aXNpb24gNzA1MzUpCisrKyBXZWJDb3JlL3BhZ2UvRE9N
V2luZG93LmgJKHdvcmtpbmcgY29weSkKQEAgLTM2Myw2ICszNjMsMTEgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgICAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHRvdWNoZW5k
KTsKICAgICAgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUih0b3VjaGNhbmNlbCk7
CiAjZW5kaWYKKyAgICAgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUih3ZWJraXR1
bmRvcmVxdWVzdCk7CisgICAgICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIod2Vi
a2l0cmVkb3JlcXVlc3QpOworICAgICAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVS
KHdlYmtpdGVzY2FwZXJlcXVlc3QpOworICAgICAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJ
U1RFTkVSKHdlYmtpdGRlbGV0ZXJlcXVlc3QpOworICAgICAgICAKICAgICAgICAgdm9pZCBjYXB0
dXJlRXZlbnRzKCk7CiAgICAgICAgIHZvaWQgcmVsZWFzZUV2ZW50cygpOwogCkluZGV4OiBXZWJD
b3JlL3BhZ2UvRE9NV2luZG93LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BhZ2UvRE9NV2lu
ZG93LmlkbAkocmV2aXNpb24gNzA1MzUpCisrKyBXZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbAko
d29ya2luZyBjb3B5KQpAQCAtMzMxLDYgKzMzMSwxMSBAQCBtb2R1bGUgd2luZG93IHsKICAgICAg
ICAgYXR0cmlidXRlIFtDb25kaXRpb25hbD1ERVZJQ0VfT1JJRU5UQVRJT04sRW5hYmxlZEF0UnVu
dGltZV0gRGV2aWNlT3JpZW50YXRpb25FdmVudENvbnN0cnVjdG9yIERldmljZU9yaWVudGF0aW9u
RXZlbnQ7CiAgICAgICAgIGF0dHJpYnV0ZSBbQ29uZGl0aW9uYWw9REVWSUNFX09SSUVOVEFUSU9O
LEVuYWJsZWRBdFJ1bnRpbWVdIEV2ZW50TGlzdGVuZXIgb25kZXZpY2VvcmllbnRhdGlvbjsKIAor
ICAgICAgICBhdHRyaWJ1dGUgRXZlbnRMaXN0ZW5lciBvbndlYmtpdHVuZG9yZXF1ZXN0OworICAg
ICAgICBhdHRyaWJ1dGUgRXZlbnRMaXN0ZW5lciBvbndlYmtpdHJlZG9yZXF1ZXN0OworICAgICAg
ICBhdHRyaWJ1dGUgRXZlbnRMaXN0ZW5lciBvbndlYmtpdGVzY2FwZXJlcXVlc3Q7CisgICAgICAg
IGF0dHJpYnV0ZSBFdmVudExpc3RlbmVyIG9ud2Via2l0ZGVsZXRlcmVxdWVzdDsKKwogICAgICAg
ICAvLyBFdmVudFRhcmdldCBpbnRlcmZhY2UKICAgICAgICAgW0N1c3RvbV0gdm9pZCBhZGRFdmVu
dExpc3RlbmVyKGluIERPTVN0cmluZyB0eXBlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbiBFdmVudExpc3RlbmVyIGxpc3RlbmVyLApAQCAtNTEzLDYgKzUxOCw3IEBA
IG1vZHVsZSB3aW5kb3cgewogICAgICAgICBhdHRyaWJ1dGUgV2hlZWxFdmVudENvbnN0cnVjdG9y
IFdoZWVsRXZlbnQ7CiAgICAgICAgIGF0dHJpYnV0ZSBNZXNzYWdlRXZlbnRDb25zdHJ1Y3RvciBN
ZXNzYWdlRXZlbnQ7CiAgICAgICAgIGF0dHJpYnV0ZSBFdmVudEV4Y2VwdGlvbkNvbnN0cnVjdG9y
IEV2ZW50RXhjZXB0aW9uOworICAgICAgICBhdHRyaWJ1dGUgV2Via2l0VUlSZXF1ZXN0RXZlbnRD
b25zdHJ1Y3RvciBXZWJraXRVSVJlcXVlc3RFdmVudDsKIAogICAgICAgICBhdHRyaWJ1dGUgV2Vi
S2l0Q1NTS2V5ZnJhbWVSdWxlQ29uc3RydWN0b3IgV2ViS2l0Q1NTS2V5ZnJhbWVSdWxlOwogICAg
ICAgICBhdHRyaWJ1dGUgV2ViS2l0Q1NTS2V5ZnJhbWVzUnVsZUNvbnN0cnVjdG9yIFdlYktpdENT
U0tleWZyYW1lc1J1bGU7CkluZGV4OiBXZWJLaXRUb29scy9DaGFuZ2VMb2cKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA3MDU0OSkKKysrIFdlYktpdFRvb2xz
L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI3IEBACisyMDEwLTEwLTI2ICBD
aHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQVg6IFN1cHBvcnQgVUlSZXF1ZXN0RXZlbnRz
IGZyb20gbmV3IFczQyBQcm9wb3NhbAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NDczMDEKKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL0FjY2Vzc2li
aWxpdHlVSUVsZW1lbnQuY3BwOgorICAgICAgICAocGVyZm9ybUVzY2FwZUNhbGxiYWNrKToKKyAg
ICAgICAgKHBlcmZvcm1EZWxldGVDYWxsYmFjayk6CisgICAgICAgIChwZXJmb3JtVW5kb0NhbGxi
YWNrKToKKyAgICAgICAgKHBlcmZvcm1SZWRvQ2FsbGJhY2spOgorICAgICAgICAoQWNjZXNzaWJp
bGl0eVVJRWxlbWVudDo6cGVyZm9ybUVzY2FwZSk6CisgICAgICAgIChBY2Nlc3NpYmlsaXR5VUlF
bGVtZW50OjpwZXJmb3JtRGVsZXRlKToKKyAgICAgICAgKEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6
OnBlcmZvcm1VbmRvKToKKyAgICAgICAgKEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnBlcmZvcm1S
ZWRvKToKKyAgICAgICAgKEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmdldEpTQ2xhc3MpOgorICAg
ICAgICAqIER1bXBSZW5kZXJUcmVlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuaDoKKyAgICAgICAg
KiBEdW1wUmVuZGVyVHJlZS9tYWMvQWNjZXNzaWJpbGl0eVVJRWxlbWVudE1hYy5tbToKKyAgICAg
ICAgKEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnBlcmZvcm1Fc2NhcGUpOgorICAgICAgICAoQWNj
ZXNzaWJpbGl0eVVJRWxlbWVudDo6cGVyZm9ybURlbGV0ZSk6CisgICAgICAgIChBY2Nlc3NpYmls
aXR5VUlFbGVtZW50OjpwZXJmb3JtVW5kbyk6CisgICAgICAgIChBY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50OjpwZXJmb3JtUmVkbyk6CisKIDIwMTAtMTAtMjYgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZy
YXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgU2FtIFdlaW5pZy4KSW5kZXg6
IFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0FjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQuY3BwCShyZXZpc2lvbiA3MDUzNSkKKysrIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVl
L0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zOTIsNiArMzky
LDMwIEBAIHN0YXRpYyBKU1ZhbHVlUmVmIHByZXNzQ2FsbGJhY2soSlNDb250ZXgKICAgICByZXR1
cm4gSlNWYWx1ZU1ha2VVbmRlZmluZWQoY29udGV4dCk7CiB9CiAKK3N0YXRpYyBKU1ZhbHVlUmVm
IHBlcmZvcm1Fc2NhcGVDYWxsYmFjayhKU0NvbnRleHRSZWYgY29udGV4dCwgSlNPYmplY3RSZWYg
ZnVuY3Rpb24sIEpTT2JqZWN0UmVmIHRoaXNPYmplY3QsIHNpemVfdCBhcmd1bWVudENvdW50LCBj
b25zdCBKU1ZhbHVlUmVmIGFyZ3VtZW50c1tdLCBKU1ZhbHVlUmVmKiBleGNlcHRpb24pCit7Cisg
ICAgdG9BWEVsZW1lbnQodGhpc09iamVjdCktPnBlcmZvcm1Fc2NhcGUoKTsKKyAgICByZXR1cm4g
SlNWYWx1ZU1ha2VVbmRlZmluZWQoY29udGV4dCk7Cit9CisKK3N0YXRpYyBKU1ZhbHVlUmVmIHBl
cmZvcm1EZWxldGVDYWxsYmFjayhKU0NvbnRleHRSZWYgY29udGV4dCwgSlNPYmplY3RSZWYgZnVu
Y3Rpb24sIEpTT2JqZWN0UmVmIHRoaXNPYmplY3QsIHNpemVfdCBhcmd1bWVudENvdW50LCBjb25z
dCBKU1ZhbHVlUmVmIGFyZ3VtZW50c1tdLCBKU1ZhbHVlUmVmKiBleGNlcHRpb24pCit7CisgICAg
dG9BWEVsZW1lbnQodGhpc09iamVjdCktPnBlcmZvcm1EZWxldGUoKTsKKyAgICByZXR1cm4gSlNW
YWx1ZU1ha2VVbmRlZmluZWQoY29udGV4dCk7Cit9CisKK3N0YXRpYyBKU1ZhbHVlUmVmIHBlcmZv
cm1VbmRvQ2FsbGJhY2soSlNDb250ZXh0UmVmIGNvbnRleHQsIEpTT2JqZWN0UmVmIGZ1bmN0aW9u
LCBKU09iamVjdFJlZiB0aGlzT2JqZWN0LCBzaXplX3QgYXJndW1lbnRDb3VudCwgY29uc3QgSlNW
YWx1ZVJlZiBhcmd1bWVudHNbXSwgSlNWYWx1ZVJlZiogZXhjZXB0aW9uKQoreworICAgIHRvQVhF
bGVtZW50KHRoaXNPYmplY3QpLT5wZXJmb3JtVW5kbygpOworICAgIHJldHVybiBKU1ZhbHVlTWFr
ZVVuZGVmaW5lZChjb250ZXh0KTsKK30KKworc3RhdGljIEpTVmFsdWVSZWYgcGVyZm9ybVJlZG9D
YWxsYmFjayhKU0NvbnRleHRSZWYgY29udGV4dCwgSlNPYmplY3RSZWYgZnVuY3Rpb24sIEpTT2Jq
ZWN0UmVmIHRoaXNPYmplY3QsIHNpemVfdCBhcmd1bWVudENvdW50LCBjb25zdCBKU1ZhbHVlUmVm
IGFyZ3VtZW50c1tdLCBKU1ZhbHVlUmVmKiBleGNlcHRpb24pCit7CisgICAgdG9BWEVsZW1lbnQo
dGhpc09iamVjdCktPnBlcmZvcm1SZWRvKCk7CisgICAgcmV0dXJuIEpTVmFsdWVNYWtlVW5kZWZp
bmVkKGNvbnRleHQpOworfQorCiBzdGF0aWMgSlNWYWx1ZVJlZiB0YWtlRm9jdXNDYWxsYmFjayhK
U0NvbnRleHRSZWYgY29udGV4dCwgSlNPYmplY3RSZWYgZnVuY3Rpb24sIEpTT2JqZWN0UmVmIHRo
aXNPYmplY3QsIHNpemVfdCBhcmd1bWVudENvdW50LCBjb25zdCBKU1ZhbHVlUmVmIGFyZ3VtZW50
c1tdLCBKU1ZhbHVlUmVmKiBleGNlcHRpb24pCiB7CiAgICAgdG9BWEVsZW1lbnQodGhpc09iamVj
dCktPnRha2VGb2N1cygpOwpAQCAtNzU3LDYgKzc4MSwxMCBAQCBzdGF0aWMgSlNWYWx1ZVJlZiBy
ZW1vdmVOb3RpZmljYXRpb25MaXN0CiAjaWYgIVBMQVRGT1JNKE1BQykKIEpTU3RyaW5nUmVmIEFj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnNwZWFrKCkgeyByZXR1cm4gMDsgfQogSlNTdHJpbmdSZWYg
QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6cmFuZ2VGb3JMaW5lKGludCBsaW5lKSB7IHJldHVybiAw
OyB9Cit2b2lkIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnBlcmZvcm1Fc2NhcGUoKSB7IH0KK3Zv
aWQgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6cGVyZm9ybURlbGV0ZSgpIHsgfQordm9pZCBBY2Nl
c3NpYmlsaXR5VUlFbGVtZW50OjpwZXJmb3JtVW5kbygpIHsgfQordm9pZCBBY2Nlc3NpYmlsaXR5
VUlFbGVtZW50OjpwZXJmb3JtUmVkbygpIHsgfQogI2VuZGlmCiAKICNpZiAhU1VQUE9SVFNfQVhf
VEVYVE1BUktFUlMKQEAgLTkwMiw2ICs5MzAsMTAgQEAgSlNDbGFzc1JlZiBBY2Nlc3NpYmlsaXR5
VUlFbGVtZW50OjpnZXRKUwogICAgICAgICB7ICJkZWNyZW1lbnQiLCBkZWNyZW1lbnRDYWxsYmFj
aywga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9u
dERlbGV0ZSB9LAogICAgICAgICB7ICJzaG93TWVudSIsIHNob3dNZW51Q2FsbGJhY2ssIGtKU1By
b3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUg
fSwKICAgICAgICAgeyAicHJlc3MiLCBwcmVzc0NhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0
ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCisgICAgICAgIHsg
InBlcmZvcm1Fc2NhcGUiLCBwZXJmb3JtRXNjYXBlQ2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmli
dXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwKKyAgICAgICAg
eyAicGVyZm9ybVVuZG8iLCBwZXJmb3JtVW5kb0NhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0
ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCisgICAgICAgIHsg
InBlcmZvcm1SZWRvIiwgcGVyZm9ybVJlZG9DYWxsYmFjaywga0pTUHJvcGVydHlBdHRyaWJ1dGVS
ZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LAorICAgICAgICB7ICJw
ZXJmb3JtRGVsZXRlIiwgcGVyZm9ybURlbGV0ZUNhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0
ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCiAgICAgICAgIHsg
ImRpc2Nsb3NlZFJvd0F0SW5kZXgiLCBkaXNjbG9zZWRSb3dBdEluZGV4Q2FsbGJhY2ssIGtKU1By
b3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUg
fSwKICAgICAgICAgeyAiYXJpYU93bnNFbGVtZW50QXRJbmRleCIsIGFyaWFPd25zRWxlbWVudEF0
SW5kZXhDYWxsYmFjaywga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5
QXR0cmlidXRlRG9udERlbGV0ZSB9LAogICAgICAgICB7ICJhcmlhRmxvd1RvRWxlbWVudEF0SW5k
ZXgiLCBhcmlhRmxvd1RvRWxlbWVudEF0SW5kZXhDYWxsYmFjaywga0pTUHJvcGVydHlBdHRyaWJ1
dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LApJbmRleDogV2Vi
S2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQu
aAkocmV2aXNpb24gNzA1MzUpCisrKyBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9BY2Nlc3Np
YmlsaXR5VUlFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTEwMiw2ICsxMDIsMTIgQEAgcHVi
bGljOgogICAgIHZvaWQgc2hvd01lbnUoKTsKICAgICB2b2lkIHByZXNzKCk7CiAKKyAgICAvLyAi
VXNlciBJbnRlcmZhY2UgSW5kZXBlbmRlbmNlIGZvciBBY2Nlc3NpYmxlIFJpY2ggSW50ZXJuZXQg
QXBwbGljYXRpb25zIiBXM0MgUHJvcG9zYWwKKyAgICB2b2lkIHBlcmZvcm1Fc2NhcGUoKTsKKyAg
ICB2b2lkIHBlcmZvcm1EZWxldGUoKTsKKyAgICB2b2lkIHBlcmZvcm1VbmRvKCk7CisgICAgdm9p
ZCBwZXJmb3JtUmVkbygpOworICAgIAogICAgIC8vIEF0dHJpYnV0ZXMgLSBwbGF0Zm9ybS1pbmRl
cGVuZGVudCBpbXBsZW1lbnRhdGlvbnMKICAgICBKU1N0cmluZ1JlZiBzdHJpbmdBdHRyaWJ1dGVW
YWx1ZShKU1N0cmluZ1JlZiBhdHRyaWJ1dGUpOwogICAgIGJvb2wgYm9vbEF0dHJpYnV0ZVZhbHVl
KEpTU3RyaW5nUmVmIGF0dHJpYnV0ZSk7CkluZGV4OiBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJl
ZS9tYWMvQWNjZXNzaWJpbGl0eVVJRWxlbWVudE1hYy5tbQo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRU
b29scy9EdW1wUmVuZGVyVHJlZS9tYWMvQWNjZXNzaWJpbGl0eVVJRWxlbWVudE1hYy5tbQkocmV2
aXNpb24gNzA1MzUpCisrKyBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9tYWMvQWNjZXNzaWJp
bGl0eVVJRWxlbWVudE1hYy5tbQkod29ya2luZyBjb3B5KQpAQCAtMTEwMyw2ICsxMTAzLDM0IEBA
IHZvaWQgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6cHJlc3MoKQogICAgIEVORF9BWF9PQkpDX0VY
Q0VQVElPTlMKIH0KIAordm9pZCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpwZXJmb3JtRXNjYXBl
KCkKK3sKKyAgICBCRUdJTl9BWF9PQkpDX0VYQ0VQVElPTlMKKyAgICBbbV9lbGVtZW50IGFjY2Vz
c2liaWxpdHlQZXJmb3JtQWN0aW9uOkAiQVhFc2NhcGUiXTsKKyAgICBFTkRfQVhfT0JKQ19FWENF
UFRJT05TCit9CisKK3ZvaWQgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6cGVyZm9ybURlbGV0ZSgp
IAoreworICAgIEJFR0lOX0FYX09CSkNfRVhDRVBUSU9OUworICAgIFttX2VsZW1lbnQgYWNjZXNz
aWJpbGl0eVBlcmZvcm1BY3Rpb246QCJBWERlbGV0ZSJdOworICAgIEVORF9BWF9PQkpDX0VYQ0VQ
VElPTlMKK30KKwordm9pZCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpwZXJmb3JtVW5kbygpCit7
CisgICAgQkVHSU5fQVhfT0JKQ19FWENFUFRJT05TCisgICAgW21fZWxlbWVudCBhY2Nlc3NpYmls
aXR5UGVyZm9ybUFjdGlvbjpAIkFYVW5kbyJdOworICAgIEVORF9BWF9PQkpDX0VYQ0VQVElPTlMK
K30KKwordm9pZCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpwZXJmb3JtUmVkbygpCit7CisgICAg
QkVHSU5fQVhfT0JKQ19FWENFUFRJT05TCisgICAgW21fZWxlbWVudCBhY2Nlc3NpYmlsaXR5UGVy
Zm9ybUFjdGlvbjpAIkFYUmVkbyJdOworICAgIEVORF9BWF9PQkpDX0VYQ0VQVElPTlMgICAgCit9
CisKIEpTU3RyaW5nUmVmIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmFjY2Vzc2liaWxpdHlWYWx1
ZSgpIGNvbnN0CiB7CiAgICAgLy8gRklYTUU6IGltcGxlbWVudApJbmRleDogTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24g
NzA1NDkpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyAr
MSwxOSBAQAorMjAxMC0xMC0yNiAgQ2hyaXMgRmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29t
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFYOiBT
dXBwb3J0IFVJUmVxdWVzdEV2ZW50cyBmcm9tIG5ldyBXM0MgUHJvcG9zYWwKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ3MzAxCisKKyAgICAgICAgKiBh
Y2Nlc3NpYmlsaXR5L3VpcmVxdWVzdC1ldmVudHMtZGlzcGF0Y2gtZnJvbS1heC1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvdWlyZXF1ZXN0LWV2ZW50cy1kaXNw
YXRjaC1mcm9tLWF4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvdWlyZXF1
ZXN0LWV2ZW50cy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkv
dWlyZXF1ZXN0LWV2ZW50cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9XaW5kb3cv
d2luZG93LXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvZG9tL1dpbmRv
dy93aW5kb3ctcHJvcGVydHktZGVzY3JpcHRvcnMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZh
c3QvZG9tL3Byb3RvdHlwZS1pbmhlcml0YW5jZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFz
dC9qcy9nbG9iYWwtY29uc3RydWN0b3JzLWV4cGVjdGVkLnR4dDoKKwogMjAxMC0xMC0yNiAgRGFp
IE1pa3VydWJlICA8ZG1pa3VydWJlQGdvb2dsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkg
S2VudCBUYW11cmEuCkluZGV4OiBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L3VpcmVxdWVzdC1l
dmVudHMtZGlzcGF0Y2gtZnJvbS1heC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvYWNjZXNzaWJpbGl0eS91aXJlcXVlc3QtZXZlbnRzLWRpc3BhdGNoLWZyb20tYXgtZXhw
ZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS91aXJl
cXVlc3QtZXZlbnRzLWRpc3BhdGNoLWZyb20tYXgtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpA
QCAtMCwwICsxLDIxIEBACitPbmUKKworVHdvCisKK1RocmVlCisKK0ZvdXIKKworVGhpcyB0ZXN0
cyB0aGF0IGEgVUlSZXF1ZXN0RXZlbnQgY2FuIGJlIGRpc3BhdGNoZWQgZnJvbSB0aGUgYWNjZXNz
aWJpbGl0eSBkaXNwYXRjaCBtZWNoYW5pc20uCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworCitQQVNTIGV2ZW50UmVjZWl2ZWQudHlwZSBpcyBleHBlY3RlZFR5cGUKK1BBU1MgZXZlbnRS
ZWNlaXZlZC50eXBlIGlzIGV4cGVjdGVkVHlwZQorUEFTUyBldmVudFJlY2VpdmVkLnR5cGUgaXMg
ZXhwZWN0ZWRUeXBlCitQQVNTIGV2ZW50UmVjZWl2ZWQudHlwZSBpcyBleHBlY3RlZFR5cGUKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCkluZGV4OiBM
YXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L3VpcmVxdWVzdC1ldmVudHMtZGlzcGF0Y2gtZnJvbS1h
eC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvdWlyZXF1ZXN0
LWV2ZW50cy1kaXNwYXRjaC1mcm9tLWF4Lmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0
cy9hY2Nlc3NpYmlsaXR5L3VpcmVxdWVzdC1ldmVudHMtZGlzcGF0Y2gtZnJvbS1heC5odG1sCShy
ZXZpc2lvbiAwKQpAQCAtMCwwICsxLDU2IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lF
VEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0
IiBocmVmPSIuLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0
PgordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IGZhbHNlOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHkgaWQ9ImJvZHkiPgorCis8ZGl2IHRhYmluZGV4PSIwIiBpZD0ib25lIiBvbndlYmtp
dHVuZG9yZXF1ZXN0PSJyZXR1cm4gaGFuZGxlRXZlbnQoZXZlbnQsICd3ZWJraXR1bmRvcmVxdWVz
dCcpOyI+T25lPC9kaXY+PGJyPgorPGRpdiB0YWJpbmRleD0iMCIgaWQ9InR3byIgb253ZWJraXRy
ZWRvcmVxdWVzdD0icmV0dXJuIGhhbmRsZUV2ZW50KGV2ZW50LCAnd2Via2l0cmVkb3JlcXVlc3Qn
KTsiPlR3bzwvZGl2Pjxicj4KKzxkaXYgdGFiaW5kZXg9IjAiIGlkPSJ0aHJlZSIgb253ZWJraXRl
c2NhcGVyZXF1ZXN0PSJyZXR1cm4gaGFuZGxlRXZlbnQoZXZlbnQsICd3ZWJraXRlc2NhcGVyZXF1
ZXN0Jyk7Ij5UaHJlZTwvZGl2Pjxicj4KKzxkaXYgdGFiaW5kZXg9IjAiIGlkPSJmb3VyIiBvbndl
YmtpdGRlbGV0ZXJlcXVlc3Q9InJldHVybiBoYW5kbGVFdmVudChldmVudCwgJ3dlYmtpdGRlbGV0
ZXJlcXVlc3QnKTsiPkZvdXI8L2Rpdj48YnI+CisKKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisKKzxzY3JpcHQ+CisKKyAgICBkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0cyB0aGF0IGEgVUlSZXF1ZXN0RXZlbnQgY2FuIGJlIGRpc3BhdGNoZWQgZnJvbSB0
aGUgYWNjZXNzaWJpbGl0eSBkaXNwYXRjaCBtZWNoYW5pc20uIik7CisKKyAgICB2YXIgZXZlbnRS
ZWNlaXZlZCA9IDA7CisgICAgdmFyIGV4cGVjdGVkVHlwZQorICAgIGZ1bmN0aW9uIGhhbmRsZUV2
ZW50KGUsIGV4cGVjdGVkKSB7CisgICAgICAgIGV2ZW50UmVjZWl2ZWQgPSBlOworICAgICAgICBl
eHBlY3RlZFR5cGUgPSBleHBlY3RlZDsKKyAgICAgICAgc2hvdWxkQmUoImV2ZW50UmVjZWl2ZWQu
dHlwZSIsICJleHBlY3RlZFR5cGUiKTsKKyAgICAgICAgaWYgKGV4cGVjdGVkVHlwZSA9PSAid2Vi
a2l0ZGVsZXRlcmVxdWVzdCIpIHsKKyAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5v
dGlmeURvbmUoKTsKKyAgICAgICAgfQorICAgIH0KKworICAgIGlmICh3aW5kb3cubGF5b3V0VGVz
dENvbnRyb2xsZXIpIHsKKyAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxE
b25lKCk7CisgICAgfQorICAgIAorICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJvbmUiKS5m
b2N1cygpOworICAgIGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmZvY3VzZWRFbGVtZW50LnBlcmZv
cm1VbmRvKCk7CisKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidHdvIikuZm9jdXMoKTsK
KyAgICBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5mb2N1c2VkRWxlbWVudC5wZXJmb3JtUmVkbygp
OworCisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRocmVlIikuZm9jdXMoKTsKKyAgICBh
Y2Nlc3NpYmlsaXR5Q29udHJvbGxlci5mb2N1c2VkRWxlbWVudC5wZXJmb3JtRXNjYXBlKCk7CisK
KyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZm91ciIpLmZvY3VzKCk7CisgICAgYWNjZXNz
aWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQucGVyZm9ybURlbGV0ZSgpOworICAgCisg
ICAgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0i
Li4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvdWlyZXF1ZXN0LWV2ZW50
cy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS91
aXJlcXVlc3QtZXZlbnRzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3Rz
L2FjY2Vzc2liaWxpdHkvdWlyZXF1ZXN0LWV2ZW50cy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDAp
CkBAIC0wLDAgKzEsMzMgQEAKK09uZQorCitUd28KKworVGhyZWUKKworRm91cgorCitGaXZlCisK
K1NpeAorCitTZXZlbgorCitFaWdodAorCitUaGlzIHRlc3RzIHRoYXQgVUlSZXF1ZXN0RXZlbnRz
IHdvcmsgYXMgZGVzY3JpYmVkLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFT
UyBldmVudFJlY2VpdmVkLnR5cGUgaXMgZXhwZWN0ZWRUeXBlCitQQVNTIGV2ZW50UmVjZWl2ZWQu
dHlwZSBpcyBleHBlY3RlZFR5cGUKK1BBU1MgZXZlbnRSZWNlaXZlZC50eXBlIGlzIGV4cGVjdGVk
VHlwZQorUEFTUyBldmVudFJlY2VpdmVkLnR5cGUgaXMgZXhwZWN0ZWRUeXBlCitQQVNTIGV2ZW50
LnR5cGUgaXMgJ3dlYmtpdGRlbGV0ZXJlcXVlc3QnCitQQVNTIGV2ZW50LnR5cGUgaXMgJ3dlYmtp
dGVzY2FwZXJlcXVlc3QnCitQQVNTIGV2ZW50LnR5cGUgaXMgJ3dlYmtpdHJlZG9yZXF1ZXN0Jwor
UEFTUyBldmVudC50eXBlIGlzICd3ZWJraXR1bmRvcmVxdWVzdCcKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCkluZGV4OiBMYXlvdXRUZXN0cy9hY2Nl
c3NpYmlsaXR5L3VpcmVxdWVzdC1ldmVudHMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9hY2Nlc3NpYmlsaXR5L3VpcmVxdWVzdC1ldmVudHMuaHRtbAkocmV2aXNpb24gMCkKKysrIExh
eW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvdWlyZXF1ZXN0LWV2ZW50cy5odG1sCShyZXZpc2lvbiAw
KQpAQCAtMCwwICsxLDEwNSBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0i
Li4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdD4KK3ZhciBz
dWNjZXNzZnVsbHlQYXJzZWQgPSBmYWxzZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL2Zh
c3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
IGlkPSJib2R5Ij4KKworPGRpdiBpZD0ib25lIiBvbndlYmtpdHVuZG9yZXF1ZXN0PSJyZXR1cm4g
aGFuZGxlRXZlbnQoZXZlbnQsICd3ZWJraXR1bmRvcmVxdWVzdCcpOyI+T25lPC9kaXY+PGJyPgor
PGRpdiBpZD0idHdvIiBvbndlYmtpdHJlZG9yZXF1ZXN0PSJyZXR1cm4gaGFuZGxlRXZlbnQoZXZl
bnQsICd3ZWJraXRyZWRvcmVxdWVzdCcpOyI+VHdvPC9kaXY+PGJyPgorPGRpdiBpZD0idGhyZWUi
IG9ud2Via2l0ZXNjYXBlcmVxdWVzdD0icmV0dXJuIGhhbmRsZUV2ZW50KGV2ZW50LCAnd2Via2l0
ZXNjYXBlcmVxdWVzdCcpOyI+VGhyZWU8L2Rpdj48YnI+Cis8ZGl2IGlkPSJmb3VyIiBvbndlYmtp
dGRlbGV0ZXJlcXVlc3Q9InJldHVybiBoYW5kbGVFdmVudChldmVudCwgJ3dlYmtpdGRlbGV0ZXJl
cXVlc3QnKTsiPkZvdXI8L2Rpdj48YnI+CisKKzxkaXYgaWQ9ImZpdmUiPkZpdmU8L2Rpdj48YnI+
Cis8ZGl2IGlkPSJzaXgiPlNpeDwvZGl2Pjxicj4KKzxkaXYgaWQ9InNldmVuIj5TZXZlbjwvZGl2
Pjxicj4KKzxkaXYgaWQ9ImVpZ2h0Ij5FaWdodDwvZGl2Pjxicj4KKworPHAgaWQ9ImRlc2NyaXB0
aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKworPHNjcmlwdD4KKworICAgIGRl
c2NyaXB0aW9uKCJUaGlzIHRlc3RzIHRoYXQgVUlSZXF1ZXN0RXZlbnRzIHdvcmsgYXMgZGVzY3Jp
YmVkLiIpOworCisgICAgdmFyIGV2ZW50UmVjZWl2ZWQgPSAwOworICAgIHZhciBleHBlY3RlZFR5
cGUKKyAgICBmdW5jdGlvbiBoYW5kbGVFdmVudChlLCBleHBlY3RlZCkgeworICAgICAgICBldmVu
dFJlY2VpdmVkID0gZTsKKyAgICAgICAgZXhwZWN0ZWRUeXBlID0gZXhwZWN0ZWQ7CisgICAgICAg
IHNob3VsZEJlKCJldmVudFJlY2VpdmVkLnR5cGUiLCAiZXhwZWN0ZWRUeXBlIik7CisgICAgfQor
CisgICAgdmFyIGNvdW50ID0gMDsKKyAgICBmdW5jdGlvbiBpbnN0YWxsZWRFdmVudEhhbmRsZXIo
ZSkgeworICAgICAgIGlmIChjb3VudCA9PSAwKSB7CisgICAgICAgICAgc2hvdWxkQmUoImV2ZW50
LnR5cGUiLCAiJ3dlYmtpdGRlbGV0ZXJlcXVlc3QnIik7CisgICAgICAgfQorICAgICAgIGVsc2Ug
aWYgKGNvdW50ID09IDEpIHsKKyAgICAgICAgICBzaG91bGRCZSgiZXZlbnQudHlwZSIsICInd2Vi
a2l0ZXNjYXBlcmVxdWVzdCciKTsKKyAgICAgICB9CisgICAgICAgZWxzZSBpZiAoY291bnQgPT0g
MikgeworICAgICAgICAgIHNob3VsZEJlKCJldmVudC50eXBlIiwgIid3ZWJraXRyZWRvcmVxdWVz
dCciKTsKKyAgICAgICB9CisgICAgICAgZWxzZSBpZiAoY291bnQgPT0gMykgeworICAgICAgICAg
IHNob3VsZEJlKCJldmVudC50eXBlIiwgIid3ZWJraXR1bmRvcmVxdWVzdCciKTsKKyAgICAgICAg
ICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAgICAgICAgIGxheW91
dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKKyAgICAgICAgICB9CisgICAgICAgfQorICAg
ICAgIGNvdW50Kys7CisgICAgfQorCisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxl
cikgeworICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKyAg
ICB9CisgICAgCisgICAgLy8gU2VuZCB0aGUgZXZlbnRzIHRvIHRoZSBzcGVjaWZpYyBub2RlIHRv
IG1ha2Ugc3VyZSB0aGUgb24qIGhhbmRsZXJzIGhhbmRsZSB0aGUgZXZlbnQuCisgICAgdmFyIGV2
dCA9IGRvY3VtZW50LmNyZWF0ZUV2ZW50KCdXZWJraXRVSVJlcXVlc3RFdmVudCcpOworICAgIGV2
dC5pbml0V2Via2l0VUlSZXF1ZXN0RXZlbnQoIndlYmtpdHVuZG9yZXF1ZXN0IiwgdHJ1ZSwgdHJ1
ZSwgZG9jdW1lbnQuZGVmYXVsdFZpZXcsIDApOworICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJvbmUiKS5kaXNwYXRjaEV2ZW50KGV2dCk7CisKKyAgICBldnQgPSBkb2N1bWVudC5jcmVhdGVF
dmVudCgnV2Via2l0VUlSZXF1ZXN0RXZlbnQnKTsKKyAgICBldnQuaW5pdFdlYmtpdFVJUmVxdWVz
dEV2ZW50KCJ3ZWJraXRyZWRvcmVxdWVzdCIsIHRydWUsIHRydWUsIGRvY3VtZW50LmRlZmF1bHRW
aWV3LCAwKTsKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidHdvIikuZGlzcGF0Y2hFdmVu
dChldnQpOworCisgICAgZXZ0ID0gZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ1dlYmtpdFVJUmVxdWVz
dEV2ZW50Jyk7CisgICAgZXZ0LmluaXRXZWJraXRVSVJlcXVlc3RFdmVudCgid2Via2l0ZXNjYXBl
cmVxdWVzdCIsIHRydWUsIHRydWUsIGRvY3VtZW50LmRlZmF1bHRWaWV3LCAwKTsKKyAgICBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgidGhyZWUiKS5kaXNwYXRjaEV2ZW50KGV2dCk7CisKKyAgICBl
dnQgPSBkb2N1bWVudC5jcmVhdGVFdmVudCgnV2Via2l0VUlSZXF1ZXN0RXZlbnQnKTsKKyAgICBl
dnQuaW5pdFdlYmtpdFVJUmVxdWVzdEV2ZW50KCJ3ZWJraXRkZWxldGVyZXF1ZXN0IiwgdHJ1ZSwg
dHJ1ZSwgZG9jdW1lbnQuZGVmYXVsdFZpZXcsIDApOworICAgIGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJmb3VyIikuZGlzcGF0Y2hFdmVudChldnQpOworCisgICAgZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImZpdmUiKS5hZGRFdmVudExpc3RlbmVyKCd3ZWJraXRkZWxldGVyZXF1ZXN0JywgaW5z
dGFsbGVkRXZlbnRIYW5kbGVyKTsKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2l4Iiku
YWRkRXZlbnRMaXN0ZW5lcignd2Via2l0ZXNjYXBlcmVxdWVzdCcsIGluc3RhbGxlZEV2ZW50SGFu
ZGxlcik7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNldmVuIikuYWRkRXZlbnRMaXN0
ZW5lcignd2Via2l0cmVkb3JlcXVlc3QnLCBpbnN0YWxsZWRFdmVudEhhbmRsZXIpOworICAgIGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJlaWdodCIpLmFkZEV2ZW50TGlzdGVuZXIoJ3dlYmtpdHVu
ZG9yZXF1ZXN0JywgaW5zdGFsbGVkRXZlbnRIYW5kbGVyKTsKKworICAgIC8vIFNlbmQgdGhlIGV2
ZW50IHRvIHRoZSBzcGVjaWZpYyBub2RlcyB0byBtYWtlIHN1cmUgdGhlIGFkZEV2ZW50TGlzdGVu
ZXJzIHdvcmsKKyAgICBldnQgPSBkb2N1bWVudC5jcmVhdGVFdmVudCgnV2Via2l0VUlSZXF1ZXN0
RXZlbnQnKTsKKyAgICBldnQuaW5pdFdlYmtpdFVJUmVxdWVzdEV2ZW50KCJ3ZWJraXRkZWxldGVy
ZXF1ZXN0IiwgdHJ1ZSwgdHJ1ZSwgZG9jdW1lbnQuZGVmYXVsdFZpZXcsIDApOworICAgIGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJmaXZlIikuZGlzcGF0Y2hFdmVudChldnQpOworCisgICAgZXZ0
ID0gZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ1dlYmtpdFVJUmVxdWVzdEV2ZW50Jyk7CisgICAgZXZ0
LmluaXRXZWJraXRVSVJlcXVlc3RFdmVudCgid2Via2l0ZXNjYXBlcmVxdWVzdCIsIHRydWUsIHRy
dWUsIGRvY3VtZW50LmRlZmF1bHRWaWV3LCAwKTsKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgic2l4IikuZGlzcGF0Y2hFdmVudChldnQpOworCisgICAgZXZ0ID0gZG9jdW1lbnQuY3JlYXRl
RXZlbnQoJ1dlYmtpdFVJUmVxdWVzdEV2ZW50Jyk7CisgICAgZXZ0LmluaXRXZWJraXRVSVJlcXVl
c3RFdmVudCgid2Via2l0cmVkb3JlcXVlc3QiLCB0cnVlLCB0cnVlLCBkb2N1bWVudC5kZWZhdWx0
VmlldywgMCk7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNldmVuIikuZGlzcGF0Y2hF
dmVudChldnQpOworCisgICAgZXZ0ID0gZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ1dlYmtpdFVJUmVx
dWVzdEV2ZW50Jyk7CisgICAgZXZ0LmluaXRXZWJraXRVSVJlcXVlc3RFdmVudCgid2Via2l0dW5k
b3JlcXVlc3QiLCB0cnVlLCB0cnVlLCBkb2N1bWVudC5kZWZhdWx0VmlldywgMCk7CisgICAgZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVpZ2h0IikuZGlzcGF0Y2hFdmVudChldnQpOworCisgICAg
c3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4v
ZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL3Byb3RvdHlwZS1pbmhlcml0YW5jZS1l
eHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9kb20vcHJvdG90eXBl
LWluaGVyaXRhbmNlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzA1MzUpCisrKyBMYXlvdXRUZXN0
cy9mYXN0L2RvbS9wcm90b3R5cGUtaW5oZXJpdGFuY2UtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNv
cHkpCkBAIC02MzEsNiArNjMxLDggQEAgUEFTUyBpbm5lci5XZWJLaXRUcmFuc2l0aW9uRXZlbnQu
aXNJbm5lcgogUEFTUyBpbm5lci5XZWJLaXRUcmFuc2l0aW9uRXZlbnQuY29uc3RydWN0b3IuaXNJ
bm5lciBpcyB0cnVlCiBQQVNTIGlubmVyLldlYlNvY2tldC5pc0lubmVyIGlzIHRydWUKIFBBU1Mg
aW5uZXIuV2ViU29ja2V0LmNvbnN0cnVjdG9yLmlzSW5uZXIgaXMgdHJ1ZQorUEFTUyBpbm5lci5X
ZWJraXRVSVJlcXVlc3RFdmVudC5pc0lubmVyIGlzIHRydWUKK1BBU1MgaW5uZXIuV2Via2l0VUlS
ZXF1ZXN0RXZlbnQuY29uc3RydWN0b3IuaXNJbm5lciBpcyB0cnVlCiBQQVNTIGlubmVyLldoZWVs
RXZlbnQuaXNJbm5lciBpcyB0cnVlCiBQQVNTIGlubmVyLldoZWVsRXZlbnQuY29uc3RydWN0b3Iu
aXNJbm5lciBpcyB0cnVlCiBQQVNTIGlubmVyLldvcmtlci5pc0lubmVyIGlzIHRydWUKSW5kZXg6
IExheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGllcy1leHBlY3RlZC50
eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9w
ZXJ0aWVzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzA1MzUpCisrKyBMYXlvdXRUZXN0cy9mYXN0
L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkp
CkBAIC0yMDI1LDYgKzIwMjUsOCBAQCB3aW5kb3cuV2ViU29ja2V0LnByb3RvdHlwZS5jbG9zZSBb
ZnVuY3RpCiB3aW5kb3cuV2ViU29ja2V0LnByb3RvdHlwZS5kaXNwYXRjaEV2ZW50IFtmdW5jdGlv
bl0KIHdpbmRvdy5XZWJTb2NrZXQucHJvdG90eXBlLnJlbW92ZUV2ZW50TGlzdGVuZXIgW2Z1bmN0
aW9uXQogd2luZG93LldlYlNvY2tldC5wcm90b3R5cGUuc2VuZCBbZnVuY3Rpb25dCit3aW5kb3cu
V2Via2l0VUlSZXF1ZXN0RXZlbnQgW29iamVjdCBXZWJraXRVSVJlcXVlc3RFdmVudENvbnN0cnVj
dG9yXQord2luZG93LldlYmtpdFVJUmVxdWVzdEV2ZW50LnByb3RvdHlwZSBbcHJpbnRlZCBhYm92
ZSBhcyB3aW5kb3cuRXZlbnQucHJvdG90eXBlXQogd2luZG93LldoZWVsRXZlbnQgW29iamVjdCBX
aGVlbEV2ZW50Q29uc3RydWN0b3JdCiB3aW5kb3cuV2hlZWxFdmVudC5wcm90b3R5cGUgW3ByaW50
ZWQgYWJvdmUgYXMgd2luZG93LkV2ZW50LnByb3RvdHlwZV0KIHdpbmRvdy5Xb3JrZXIgW29iamVj
dCBXb3JrZXJDb25zdHJ1Y3Rvcl0KQEAgLTIzNTksNyArMjM2MSwxMSBAQCB3aW5kb3cub253YWl0
aW5nIFtudWxsXQogd2luZG93Lm9ud2Via2l0YW5pbWF0aW9uZW5kIFtudWxsXQogd2luZG93Lm9u
d2Via2l0YW5pbWF0aW9uaXRlcmF0aW9uIFtudWxsXQogd2luZG93Lm9ud2Via2l0YW5pbWF0aW9u
c3RhcnQgW251bGxdCit3aW5kb3cub253ZWJraXRkZWxldGVyZXF1ZXN0IFtudWxsXQord2luZG93
Lm9ud2Via2l0ZXNjYXBlcmVxdWVzdCBbbnVsbF0KK3dpbmRvdy5vbndlYmtpdHJlZG9yZXF1ZXN0
IFtudWxsXQogd2luZG93Lm9ud2Via2l0dHJhbnNpdGlvbmVuZCBbbnVsbF0KK3dpbmRvdy5vbndl
YmtpdHVuZG9yZXF1ZXN0IFtudWxsXQogd2luZG93Lm9wZW4gW2Z1bmN0aW9uXQogd2luZG93Lm9w
ZW5EYXRhYmFzZSBbZnVuY3Rpb25dCiB3aW5kb3cub3V0ZXJIZWlnaHQgW251bWJlcl0KSW5kZXg6
IExheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydHktZGVzY3JpcHRvcnMt
ZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93
aW5kb3ctcHJvcGVydHktZGVzY3JpcHRvcnMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MDUzNSkK
KysrIExheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydHktZGVzY3JpcHRv
cnMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0zMTcsNiArMzE3LDcgQEAgUEFTUyB0
eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcAogUEFTUyB0eXBlb2YgT2JqZWN0Lmdl
dE93blByb3BlcnR5RGVzY3JpcHRvcih3aW5kb3csICdXZWJLaXRQb2ludCcpIGlzICdvYmplY3Qn
CiBQQVNTIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywgJ1dl
YktpdFRyYW5zaXRpb25FdmVudCcpIGlzICdvYmplY3QnCiBQQVNTIHR5cGVvZiBPYmplY3QuZ2V0
T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywgJ1dlYlNvY2tldCcpIGlzICdvYmplY3QnCitQ
QVNTIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywgJ1dlYmtp
dFVJUmVxdWVzdEV2ZW50JykgaXMgJ29iamVjdCcKIFBBU1MgdHlwZW9mIE9iamVjdC5nZXRPd25Q
cm9wZXJ0eURlc2NyaXB0b3Iod2luZG93LCAnV2hlZWxFdmVudCcpIGlzICdvYmplY3QnCiBQQVNT
IHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywgJ1dvcmtlcicp
IGlzICdvYmplY3QnCiBQQVNTIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9y
KHdpbmRvdywgJ1hNTERvY3VtZW50JykgaXMgJ29iamVjdCcKQEAgLTQzOCw3ICs0MzksMTEgQEAg
UEFTUyB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcAogUEFTUyB0eXBlb2YgT2Jq
ZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3aW5kb3csICdvbndlYmtpdGFuaW1hdGlvbmVu
ZCcpIGlzICdvYmplY3QnCiBQQVNTIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlw
dG9yKHdpbmRvdywgJ29ud2Via2l0YW5pbWF0aW9uaXRlcmF0aW9uJykgaXMgJ29iamVjdCcKIFBB
U1MgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2luZG93LCAnb253ZWJr
aXRhbmltYXRpb25zdGFydCcpIGlzICdvYmplY3QnCitQQVNTIHR5cGVvZiBPYmplY3QuZ2V0T3du
UHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywgJ29ud2Via2l0ZGVsZXRlcmVxdWVzdCcpIGlzICdv
YmplY3QnCitQQVNTIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRv
dywgJ29ud2Via2l0ZXNjYXBlcmVxdWVzdCcpIGlzICdvYmplY3QnCitQQVNTIHR5cGVvZiBPYmpl
Y3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywgJ29ud2Via2l0cmVkb3JlcXVlc3Qn
KSBpcyAnb2JqZWN0JwogUEFTUyB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRv
cih3aW5kb3csICdvbndlYmtpdHRyYW5zaXRpb25lbmQnKSBpcyAnb2JqZWN0JworUEFTUyB0eXBl
b2YgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3aW5kb3csICdvbndlYmtpdHVuZG9y
ZXF1ZXN0JykgaXMgJ29iamVjdCcKIFBBU1MgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURl
c2NyaXB0b3Iod2luZG93LCAnb3V0ZXJIZWlnaHQnKSBpcyAnb2JqZWN0JwogUEFTUyB0eXBlb2Yg
T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3aW5kb3csICdvdXRlcldpZHRoJykgaXMg
J29iamVjdCcKIFBBU1MgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2lu
ZG93LCAncGFnZVhPZmZzZXQnKSBpcyAnb2JqZWN0JwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9q
cy9nbG9iYWwtY29uc3RydWN0b3JzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9mYXN0L2pzL2dsb2JhbC1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3
MDUzNSkKKysrIExheW91dFRlc3RzL2Zhc3QvanMvZ2xvYmFsLWNvbnN0cnVjdG9ycy1leHBlY3Rl
ZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTI5OCw2ICsyOTgsNyBAQCBQQVNTIFdlYktpdENTU1Ry
YW5zZm9ybVZhbHVlLnRvU3RyaW5nKCkgCiBQQVNTIFdlYktpdFBvaW50LnRvU3RyaW5nKCkgaXMg
J1tvYmplY3QgV2ViS2l0UG9pbnRDb25zdHJ1Y3Rvcl0nCiBQQVNTIFdlYktpdFRyYW5zaXRpb25F
dmVudC50b1N0cmluZygpIGlzICdbb2JqZWN0IFdlYktpdFRyYW5zaXRpb25FdmVudENvbnN0cnVj
dG9yXScKIFBBU1MgV2ViU29ja2V0LnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgV2ViU29ja2V0Q29u
c3RydWN0b3JdJworUEFTUyBXZWJraXRVSVJlcXVlc3RFdmVudC50b1N0cmluZygpIGlzICdbb2Jq
ZWN0IFdlYmtpdFVJUmVxdWVzdEV2ZW50Q29uc3RydWN0b3JdJwogUEFTUyBXaGVlbEV2ZW50LnRv
U3RyaW5nKCkgaXMgJ1tvYmplY3QgV2hlZWxFdmVudENvbnN0cnVjdG9yXScKIFBBU1MgV29ya2Vy
LnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgV29ya2VyQ29uc3RydWN0b3JdJwogUEFTUyBYTUxEb2N1
bWVudC50b1N0cmluZygpIGlzICdbb2JqZWN0IERvY3VtZW50Q29uc3RydWN0b3JdJwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>72719</attachid>
            <date>2010-11-02 12:56:53 -0700</date>
            <delta_ts>2010-11-02 14:50:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-47301-20101102125652.patch</filename>
            <type>text/plain</type>
            <size>55780</size>
            <attacher name="chris fleizach">cfleizach</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA3MTE0NCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNjUgQEAKKzIwMTAtMTAtMjYgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNoQGFw
cGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBBWDogU3VwcG9ydCBVSVJlcXVlc3RFdmVudHMgZnJvbSBuZXcgVzNDIFByb3Bvc2FsCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NzMwMQorCisgICAg
ICAgIFN1cHBvcnQgdGhlIG5ldyBVSVJlcXVlc3RFdmVudCBhcyBvdXRsaW5lIGluCisgICAgICAg
IlVzZXIgSW50ZXJmYWNlIEluZGVwZW5kZW5jZSBmb3IgQWNjZXNzaWJsZSBSaWNoIEludGVybmV0
IEFwcGxpY2F0aW9ucyIKKyAgICAgICAgaHR0cDovL2xpc3RzLnczLm9yZy9BcmNoaXZlcy9QdWJs
aWMvd2FpLXh0ZWNoLzIwMTBBdWcvYXR0LTAwNzkvVXNlckludGVyZmFjZUluZGVwZW5kZW5jZS5o
dG1sCisgCisgICAgICAgIEl0IGFkZHMgYSBuZXcgZXZlbnQgdGhhdCBjYW4gYmUgbGlzdGVuZWQg
dG8gYW5kIHNlbnQgdGhhdCBkZWNvdXBsZXMgYWN0aW9ucyBmcm9tIGEgc3BlY2lmaWMKKyAgICAg
ICAgdHlwZSBvZiBpbnB1dCwgYWxsb3dpbmcgYW4gYXNzaXN0aXZlIHRlY2hub2xvZ3kgdG8gc2Vu
ZCBhbiAiZXNjYXBlLCB1bmRvLCByZWRvLCBvciBkZWxldGUiIGFjdGlvbgorICAgICAgICB3aGVu
ZXZlciBpdCBuZWVkcyB0byBiYXNlZCBvbiBpdHMgb3duIGlucHV0LgorCisgICAgICAgIFRlc3Rz
OiBhY2Nlc3NpYmlsaXR5L3VpcmVxdWVzdC1ldmVudHMtZGlzcGF0Y2gtZnJvbS1heC5odG1sCisg
ICAgICAgICAgICAgICBhY2Nlc3NpYmlsaXR5L3VpcmVxdWVzdC1ldmVudHMuaHRtbAorCisgICAg
ICAgICogQW5kcm9pZC5kZXJpdmVkLnY4YmluZGluZ3MubWs6CisgICAgICAgICogQW5kcm9pZC5q
c2NiaW5kaW5ncy5tazoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5jcHA6CisgICAgICAgICog
RGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbToKKyAgICAgICAg
KiBXZWJDb3JlLmV4cC5pbjoKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogV2Vi
Q29yZS5wcmk6CisgICAgICAgICogV2ViQ29yZS5wcm86CisgICAgICAgICogV2ViQ29yZS52Y3By
b2ovV2ViQ29yZS52Y3Byb2o6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHA6CisgICAg
ICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3Q6OmRpc3BhdGNoV2Via2l0VUlSZXF1ZXN0RXZlbnQp
OgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oOgorICAgICAg
ICAqIGFjY2Vzc2liaWxpdHkvV2Via2l0VUlSZXF1ZXN0RXZlbnQuY3BwOiBBZGRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OldlYmtpdFVJUmVxdWVzdEV2ZW50OjpXZWJraXRVSVJlcXVlc3RFdmVudCk6
CisgICAgICAgIChXZWJDb3JlOjpXZWJraXRVSVJlcXVlc3RFdmVudDo6aW5pdFdlYmtpdFVJUmVx
dWVzdEV2ZW50KToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L1dlYmtpdFVJUmVxdWVzdEV2ZW50
Lmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6V2Via2l0VUlSZXF1ZXN0RXZlbnQ6OmNyZWF0
ZSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJraXRVSVJlcXVlc3RFdmVudDo6aXNXZWJraXRVSVJl
cXVlc3RFdmVudCk6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9XZWJraXRVSVJlcXVlc3RFdmVu
dC5pZGw6IEFkZGVkLgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvbWFjL0FjY2Vzc2liaWxpdHlP
YmplY3RXcmFwcGVyLm1tOgorICAgICAgICAoLVtBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlciBh
Y2Nlc3NpYmlsaXR5UGVyZm9ybUFjdGlvbjpdKToKKyAgICAgICAgKiBiaW5kaW5ncy9nb2JqZWN0
L0dOVW1ha2VmaWxlLmFtOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRXZlbnRDdXN0b20uY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6dG9KUyk6CisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpjcmVhdGVFdmVudCk6CisgICAgICAgICogZG9t
L0RvY3VtZW50Lmg6CisgICAgICAgICogZG9tL0RvY3VtZW50LmlkbDoKKyAgICAgICAgKiBkb20v
RWxlbWVudC5oOgorICAgICAgICAqIGRvbS9FbGVtZW50LmlkbDoKKyAgICAgICAgKiBkb20vRXZl
bnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnQ6OmlzV2Via2l0VUlSZXF1ZXN0RXZlbnQp
OgorICAgICAgICAqIGRvbS9FdmVudC5oOgorICAgICAgICAqIGRvbS9FdmVudC5pZGw6CisgICAg
ICAgICogZG9tL0V2ZW50TmFtZXMuaDoKKyAgICAgICAgKiBodG1sL0hUTUxBdHRyaWJ1dGVOYW1l
cy5pbjoKKyAgICAgICAgKiBodG1sL0hUTUxFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkhUTUxFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZSk6CisgICAgICAgICogcGFnZS9ET01X
aW5kb3cuaDoKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5pZGw6CisKIDIwMTAtMTEtMDIgIFBh
dmVsIEZlbGRtYW4gIDxwZmVsZG1hbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQg
YnkgVGltb3RoeSBIYXRjaGVyLgpJbmRleDogV2ViQ29yZS9BbmRyb2lkLmRlcml2ZWQudjhiaW5k
aW5ncy5tawo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL0FuZHJvaWQuZGVyaXZlZC52OGJpbmRpbmdz
Lm1rCShyZXZpc2lvbiA3MTE0NCkKKysrIFdlYkNvcmUvQW5kcm9pZC5kZXJpdmVkLnY4YmluZGlu
Z3MubWsJKHdvcmtpbmcgY29weSkKQEAgLTI2NSw2ICsyNjUsMjAgQEAgTE9DQUxfR0VORVJBVEVE
X1NPVVJDRVMgKz0gJChHRU4pCiAjIGFib3ZlIHJ1bGVzLiAgU3BlY2lmeWluZyB0aGlzIGV4cGxp
Y2l0bHkgbWFrZXMgLWoyIHdvcmsuCiAkKHBhdHN1YnN0ICUuaCwlLmNwcCwkKEdFTikpOiAkKGlu
dGVybWVkaWF0ZXMpL2JpbmRpbmdzLyUuY3BwIDogJChpbnRlcm1lZGlhdGVzKS9iaW5kaW5ncy8l
LmgKIAorIyBBY2Nlc3NpYmlsaXR5CitHRU4gOj0gXAorICAgICQoaW50ZXJtZWRpYXRlcykvYmlu
ZGluZ3MvVjhXZWJLaXRVSVJlcXVlc3RFdmVudC5oCisgCiskKEdFTik6IFBSSVZBVEVfUEFUSCA6
PSAkKExPQ0FMX1BBVEgpCiskKEdFTik6IFBSSVZBVEVfQ1VTVE9NX1RPT0wgPSBTT1VSQ0VfUk9P
VD0kKFBSSVZBVEVfUEFUSCkgcGVybCAtSSQoUFJJVkFURV9QQVRIKS9iaW5kaW5ncy9zY3JpcHRz
ICQoUFJJVkFURV9QQVRIKS9iaW5kaW5ncy9zY3JpcHRzL2dlbmVyYXRlLWJpbmRpbmdzLnBsIC0t
ZGVmaW5lcyAiJChGRUFUVVJFX0RFRklORVMpIExBTkdVQUdFX0pBVkFTQ1JJUFQiIC0tZ2VuZXJh
dG9yIFY4IC0taW5jbHVkZSBkb20gLS1pbmNsdWRlIGh0bWwgLS1vdXRwdXRkaXIgJChkaXIgJEAp
ICQ8CiskKEdFTik6ICQoaW50ZXJtZWRpYXRlcykvYmluZGluZ3MvVjglLmggOiAkKExPQ0FMX1BB
VEgpL2FjY2Vzc2liaWxpdHkvJS5pZGwgJChqc19iaW5kaW5nX3NjcmlwdHMpCisJJCh0cmFuc2Zv
cm0tZ2VuZXJhdGVkLXNvdXJjZSkKK0xPQ0FMX0dFTkVSQVRFRF9TT1VSQ0VTICs9ICQoR0VOKQor
CisjIFdlIGFsc28gbmVlZCB0aGUgLmNwcCBmaWxlcywgd2hpY2ggYXJlIGdlbmVyYXRlZCBhcyBz
aWRlIGVmZmVjdHMgb2YgdGhlCisjIGFib3ZlIHJ1bGVzLiAgU3BlY2lmeWluZyB0aGlzIGV4cGxp
Y2l0bHkgbWFrZXMgLWoyIHdvcmsuCiskKHBhdHN1YnN0ICUuaCwlLmNwcCwkKEdFTikpOiAkKGlu
dGVybWVkaWF0ZXMpL2JpbmRpbmdzLyUuY3BwIDogJChpbnRlcm1lZGlhdGVzKS9iaW5kaW5ncy8l
LmgKKwogIyBQYWdlCiBHRU4gOj0gXAogICAgICQoaW50ZXJtZWRpYXRlcykvYmluZGluZ3MvVjhC
YXJJbmZvLmggXApJbmRleDogV2ViQ29yZS9BbmRyb2lkLmpzY2JpbmRpbmdzLm1rCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvQW5kcm9pZC5qc2NiaW5kaW5ncy5tawkocmV2aXNpb24gNzExNDQpCisr
KyBXZWJDb3JlL0FuZHJvaWQuanNjYmluZGluZ3MubWsJKHdvcmtpbmcgY29weSkKQEAgLTQ1LDYg
KzQ1LDcgQEAgQklORElOR19DX0lOQ0xVREVTIDo9IFwKIAkkKEpBVkFTQ1JJUFRDT1JFX1BBVEgp
L3dyZWMgXAogCSQoSkFWQVNDUklQVENPUkVfUEFUSCkvRm9yd2FyZGluZ0hlYWRlcnMgXAogCVwK
KwkkKGJhc2VfaW50ZXJtZWRpYXRlcykvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5IFwKIAkkKGJhc2Vf
aW50ZXJtZWRpYXRlcykvV2ViQ29yZS9iaW5kaW5ncy9qcyBcCiAJJChiYXNlX2ludGVybWVkaWF0
ZXMpL1dlYkNvcmUvZG9tIFwKIAkkKGJhc2VfaW50ZXJtZWRpYXRlcykvV2ViQ29yZS9odG1sL2Nh
bnZhcyBcCkluZGV4OiBXZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcAkocmV2aXNpb24gNzExNDQpCisrKyBXZWJDb3JlL0Rl
cml2ZWRTb3VyY2VzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDI3LDYgKzQyNyw3IEBACiAjaW5j
bHVkZSAiSlNXZWJLaXRDU1NNYXRyaXguY3BwIgogI2luY2x1ZGUgIkpTV2ViS2l0UG9pbnQuY3Bw
IgogI2luY2x1ZGUgIkpTV2ViS2l0VHJhbnNpdGlvbkV2ZW50LmNwcCIKKyNpbmNsdWRlICJKU1dl
YktpdFVJUmVxdWVzdEV2ZW50LmNwcCIKICNpbmNsdWRlICJKU1dlYlNvY2tldC5jcHAiCiAjaW5j
bHVkZSAiSlNXaGVlbEV2ZW50LmNwcCIKICNpbmNsdWRlICJKU1dvcmtlci5jcHAiCkluZGV4OiBX
ZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9EZXJpdmVk
U291cmNlcy5tYWtlCShyZXZpc2lvbiA3MTE0NCkKKysrIFdlYkNvcmUvRGVyaXZlZFNvdXJjZXMu
bWFrZQkod29ya2luZyBjb3B5KQpAQCAtMjgsNiArMjgsNyBAQAogCiBWUEFUSCA9IFwKICAgICAk
KFdlYkNvcmUpIFwKKyAgICAkKFdlYkNvcmUpL2FjY2Vzc2liaWxpdHkgXAogICAgICQoV2ViQ29y
ZSkvYmluZGluZ3MvZ2VuZXJpYyBcCiAgICAgJChXZWJDb3JlKS9iaW5kaW5ncy9qcyBcCiAgICAg
JChXZWJDb3JlKS9iaW5kaW5ncy9vYmpjIFwKQEAgLTQ4MSw2ICs0ODIsNyBAQCBET01fQ0xBU1NF
UyA9IFwKICAgICBXZWJLaXRDU1NLZXlmcmFtZXNSdWxlIFwKICAgICBXZWJLaXRDU1NNYXRyaXgg
XAogICAgIFdlYktpdENTU1RyYW5zZm9ybVZhbHVlIFwKKyAgICBXZWJLaXRVSVJlcXVlc3RFdmVu
dCBcCiAgICAgV2ViS2l0UG9pbnQgXAogICAgIFdlYktpdFRyYW5zaXRpb25FdmVudCBcCiAgICAg
V2ViU29ja2V0IFwKSW5kZXg6IFdlYkNvcmUvR05VbWFrZWZpbGUuYW0KPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9HTlVtYWtlZmlsZS5hbQkocmV2aXNpb24gNzExNDQpCisrKyBXZWJDb3JlL0dOVW1h
a2VmaWxlLmFtCSh3b3JraW5nIGNvcHkpCkBAIC01NDcsNiArNTQ3LDggQEAgd2ViY29yZV9idWls
dF9zb3VyY2VzICs9IFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViS2l0UG9pbnQuaCBc
CiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dlYktpdFRyYW5zaXRpb25FdmVudC5jcHAgXAog
CURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXZWJLaXRUcmFuc2l0aW9uRXZlbnQuaCBcCisJRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dlYktpdFVJUmVxdWVzdEV2ZW50LmNwcCBcCisJRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU1dlYktpdFVJUmVxdWVzdEV2ZW50LmggXAogCURlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNXaGVlbEV2ZW50LmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U1doZWVsRXZlbnQuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dvcmtlckNvbnRleHQu
Y3BwIFwKQEAgLTYyOCw2ICs2MzAsOCBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVdlYkNvcmUv
YWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5VGFibGVSb3cuaCBcCiAJV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwIFwKIAlXZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmpl
Y3RDYWNoZS5oIFwKKwlXZWJDb3JlL2FjY2Vzc2liaWxpdHkvV2ViS2l0VUlSZXF1ZXN0RXZlbnQu
Y3BwIFwKKwlXZWJDb3JlL2FjY2Vzc2liaWxpdHkvV2ViS2l0VUlSZXF1ZXN0RXZlbnQuaCBcCiAJ
V2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL0FjdGl2ZURPTUNhbGxiYWNrLmNwcCBcCiAJV2ViQ29y
ZS9iaW5kaW5ncy9nZW5lcmljL0FjdGl2ZURPTUNhbGxiYWNrLmggXAogCVdlYkNvcmUvYmluZGlu
Z3MvZ2VuZXJpYy9CaW5kaW5nRnJhbWUuaCBcCkBAIC00NTkxLDYgKzQ1OTUsNyBAQCBEZXJpdmVk
U291cmNlcy9XZWJDb3JlL0luc3BlY3RvckZyb250ZW5kCiAJJChBTV9WX0dFTikkKFBFUkwpIC1J
JChXZWJDb3JlKS9iaW5kaW5ncy9zY3JpcHRzIC1JJChXZWJDb3JlKS9pbnNwZWN0b3IgJChXZWJD
b3JlKS9iaW5kaW5ncy9zY3JpcHRzL2dlbmVyYXRlLWJpbmRpbmdzLnBsICQoSURMX1BBVEg6JT0t
LWluY2x1ZGUgIiUiKSAtLW91dHB1dERpciAiJChHRU5TT1VSQ0VTX1dFQkNPUkUpIiAtLWRlZmlu
ZXMgIkxBTkdVQUdFX0pBVkFTQ1JJUFQ9MSAkKEZFQVRVUkVfREVGSU5FUykiIC0tZ2VuZXJhdG9y
IEluc3BlY3RvciAkPAogCiBJRExfUEFUSCA6PSBcCisgICAgJChXZWJDb3JlKS9hY2Nlc3NpYmls
aXR5IFwKICAgICAkKFdlYkNvcmUpL2JpbmRpbmdzL2pzIFwKICAgICAkKFdlYkNvcmUpL2NzcyBc
CiAgICAgJChXZWJDb3JlKS9kb20gXApJbmRleDogV2ViQ29yZS9XZWJDb3JlLmd5cGkKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9XZWJDb3JlLmd5cGkJKHJldmlzaW9uIDcxMTQ0KQorKysgV2ViQ29y
ZS9XZWJDb3JlLmd5cGkJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw3IEBACiB7CiAgICAgJ3Zh
cmlhYmxlcyc6IHsKICAgICAgICAgJ3dlYmNvcmVfYmluZGluZ3NfaWRsX2ZpbGVzJzogWworICAg
ICAgICAgICAgJ2FjY2Vzc2liaWxpdHkvV2ViS2l0VUlSZXF1ZXN0RXZlbnQuaWRsJywKICAgICAg
ICAgICAgICdjc3MvQ1NTQ2hhcnNldFJ1bGUuaWRsJywKICAgICAgICAgICAgICdjc3MvQ1NTRm9u
dEZhY2VSdWxlLmlkbCcsCiAgICAgICAgICAgICAnY3NzL0NTU0ltcG9ydFJ1bGUuaWRsJywKQEAg
LTUwNCw2ICs1MDUsOCBAQAogICAgICAgICAgICAgJ2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0
eVRhYmxlSGVhZGVyQ29udGFpbmVyLmgnLAogICAgICAgICAgICAgJ2FjY2Vzc2liaWxpdHkvQWNj
ZXNzaWJpbGl0eVRhYmxlUm93LmNwcCcsCiAgICAgICAgICAgICAnYWNjZXNzaWJpbGl0eS9BY2Nl
c3NpYmlsaXR5VGFibGVSb3cuaCcsCisgICAgICAgICAgICAnYWNjZXNzaWJpbGl0eS9XZWJLaXRV
SVJlcXVlc3RFdmVudC5jcHAnLAorICAgICAgICAgICAgJ2FjY2Vzc2liaWxpdHkvV2ViS2l0VUlS
ZXF1ZXN0RXZlbnQuaCcsCiAgICAgICAgICAgICAnYWNjZXNzaWJpbGl0eS9jaHJvbWl1bS9BWE9i
amVjdENhY2hlQ2hyb21pdW0uY3BwJywKICAgICAgICAgICAgICdhY2Nlc3NpYmlsaXR5L2Nocm9t
aXVtL0FjY2Vzc2liaWxpdHlPYmplY3RDaHJvbWl1bS5jcHAnLAogICAgICAgICAgICAgJ2FjY2Vz
c2liaWxpdHkvY2hyb21pdW0vQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIuaCcsCkluZGV4OiBX
ZWJDb3JlL1dlYkNvcmUucHJpCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvV2ViQ29yZS5wcmkJKHJl
dmlzaW9uIDcxMTQ0KQorKysgV2ViQ29yZS9XZWJDb3JlLnByaQkod29ya2luZyBjb3B5KQpAQCAt
NjksNiArNjksNyBAQCB2OCB7CiB9CiAKIElETF9CSU5ESU5HUyArPSBcCisgICAgYWNjZXNzaWJp
bGl0eS9XZWJLaXRVSVJlcXVlc3RFdmVudC5pZGwgXAogICAgIGNzcy9Db3VudGVyLmlkbCBcCiAg
ICAgY3NzL0NTU0NoYXJzZXRSdWxlLmlkbCBcCiAgICAgY3NzL0NTU0ZvbnRGYWNlUnVsZS5pZGwg
XApJbmRleDogV2ViQ29yZS9XZWJDb3JlLnBybwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL1dlYkNv
cmUucHJvCShyZXZpc2lvbiA3MTE0NCkKKysrIFdlYkNvcmUvV2ViQ29yZS5wcm8JKHdvcmtpbmcg
Y29weSkKQEAgLTMxOSw2ICszMTksNyBAQCBTT1VSQ0VTICs9IFwKICAgICBhY2Nlc3NpYmlsaXR5
L0FjY2Vzc2liaWxpdHlUYWJsZUhlYWRlckNvbnRhaW5lci5jcHAgXCAgICAKICAgICBhY2Nlc3Np
YmlsaXR5L0FjY2Vzc2liaWxpdHlUYWJsZVJvdy5jcHAgXCAgICAKICAgICBhY2Nlc3NpYmlsaXR5
L0FYT2JqZWN0Q2FjaGUuY3BwIFwKKyAgICBhY2Nlc3NpYmlsaXR5L1dlYktpdFVJUmVxdWVzdEV2
ZW50LmNwcCBcCiAgICAgYmluZGluZ3MvZ2VuZXJpYy9BY3RpdmVET01DYWxsYmFjay5jcHAKIAog
djggewpJbmRleDogV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvago9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCShyZXZpc2lvbiA3
MTE0NCkKKysrIFdlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oJKHdvcmtpbmcg
Y29weSkKQEAgLTIwMzMyLDYgKzIwMzMyLDYyIEBACiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8
RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0
TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNXZWJLaXRVSVJlcXVlc3RFdmVudC5jcHAiDQorCQkJCT4N
CisJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiINCisJCQkJ
CUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJCQlO
YW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJPC9GaWxlQ29uZmlndXJhdGlv
bj4NCisJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIg0K
KwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQk+DQorCQkJCQk8VG9vbA0KKwkJ
CQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkvPg0KKwkJCQk8L0ZpbGVDb25maWd1
cmF0aW9uPg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9IkRlYnVnX0ludGVy
bmFsfFdpbjMyIg0KKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQk+DQorCQkJ
CQk8VG9vbA0KKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkvPg0KKwkJCQk8
L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9
IkRlYnVnX0NhaXJvfFdpbjMyIg0KKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJ
CQk+DQorCQkJCQk8VG9vbA0KKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkv
Pg0KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJ
CQkJCU5hbWU9IlJlbGVhc2VfQ2Fpcm98V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0i
dHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9v
bCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxGaWxlQ29uZmln
dXJhdGlvbg0KKwkJCQkJTmFtZT0iRGVidWdfQWxsfFdpbjMyIg0KKwkJCQkJRXhjbHVkZWRGcm9t
QnVpbGQ9InRydWUiDQorCQkJCQk+DQorCQkJCQk8VG9vbA0KKwkJCQkJCU5hbWU9IlZDQ0xDb21w
aWxlclRvb2wiDQorCQkJCQkvPg0KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCTwvRmls
ZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpc
JChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNXZWJLaXRVSVJlcXVlc3RFdmVudC5oIg0K
KwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQogCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJL
aXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU1ZhbGlkaXR5
U3RhdGUuY3BwIg0KIAkJCQk+DQogCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KQEAgLTIzMDcxLDYg
KzIzMTI3LDYyIEBACiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxhY2Nlc3NpYmlsaXR5XEFYT2JqZWN0
Q2FjaGUuaCINCiAJCQkJPg0KIAkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBh
dGg9Ii4uXGFjY2Vzc2liaWxpdHlcV2ViS2l0VUlSZXF1ZXN0RXZlbnQuY3BwIg0KKwkJCQk+DQor
CQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0iRGVidWd8V2luMzIiDQorCQkJCQlF
eGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFt
ZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+
DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiINCisJ
CQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJ
CQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJPC9GaWxlQ29uZmlndXJh
dGlvbj4NCisJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQlOYW1lPSJEZWJ1Z19JbnRlcm5h
bHxXaW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJCQkJ
PFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJPC9G
aWxlQ29uZmlndXJhdGlvbj4NCisJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQlOYW1lPSJE
ZWJ1Z19DYWlyb3xXaW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJ
Pg0KKwkJCQkJPFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJLz4N
CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJ
CQlOYW1lPSJSZWxlYXNlX0NhaXJvfFdpbjMyIg0KKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRy
dWUiDQorCQkJCQk+DQorCQkJCQk8VG9vbA0KKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wi
DQorCQkJCQkvPg0KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQk8RmlsZUNvbmZpZ3Vy
YXRpb24NCisJCQkJCU5hbWU9IkRlYnVnX0FsbHxXaW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1
aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGls
ZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQk8L0ZpbGU+
DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxhY2Nlc3NpYmlsaXR5XFdlYktpdFVJ
UmVxdWVzdEV2ZW50LmgiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQogCQkJPEZpbHRlcg0KIAkJCQlO
YW1lPSJ3aW4iDQogCQkJCT4NCkluZGV4OiBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagkocmV2aXNpb24gNzExNDQpCisrKyBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtNzE2LDYgKzcxNiwxMCBAQAogCQky
OUE4MTI0OTBGQkI5Q0E5MDA1MTAyOTMgLyogQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI5QTgxMjQ1MEZC
QjlDQTkwMDUxMDI5MyAvKiBBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlci5oICovOyB9OwogCQky
OUE4MTI0QTBGQkI5Q0E5MDA1MTAyOTMgLyogQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIubW0g
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyOUE4MTI0NjBG
QkI5Q0E5MDA1MTAyOTMgLyogQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIubW0gKi87IH07CiAJ
CTI5QTgxMjRCMEZCQjlDQTkwMDUxMDI5MyAvKiBBWE9iamVjdENhY2hlTWFjLm1tIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjlBODEyNDcwRkJCOUNBOTAw
NTEwMjkzIC8qIEFYT2JqZWN0Q2FjaGVNYWMubW0gKi87IH07CisJCTI5REQyMTExMTI1QkM3MUYw
MDE2M0MwQyAvKiBXZWJLaXRVSVJlcXVlc3RFdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjlERDIxMEYxMjVCQzcxRjAwMTYzQzBDIC8qIFdlYktp
dFVJUmVxdWVzdEV2ZW50LmggKi87IH07CisJCTI5REQyMTEyMTI1QkM3MUYwMDE2M0MwQyAvKiBX
ZWJLaXRVSVJlcXVlc3RFdmVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAyOUREMjExMDEyNUJDNzFGMDAxNjNDMEMgLyogV2ViS2l0VUlSZXF1ZXN0
RXZlbnQuY3BwICovOyB9OworCQkyOUREMjI5QzEyNUMwMjBBMDAxNjNDMEMgLyogSlNXZWJLaXRV
SVJlcXVlc3RFdmVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBBODY2MjlEQTA5REEyQjQ3MDA5NjMzQTUgLyogSlNXZWJLaXRVSVJlcXVlc3RFdmVu
dC5jcHAgKi87IH07CisJCTI5REQyMjlEMTI1QzAyMEUwMDE2M0MwQyAvKiBKU1dlYktpdFVJUmVx
dWVzdEV2ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBBODY2MjlEOTA5REEyQjQ3MDA5NjMzQTUgLyogSlNXZWJLaXRVSVJlcXVlc3RFdmVudC5oICov
OyB9OwogCQkyRDkwNjYwNjBCRTE0MUQ0MDA5NTY5OTggLyogTGF5b3V0U3RhdGUuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ5MDY2MDQwQkUxNDFE
NDAwOTU2OTk4IC8qIExheW91dFN0YXRlLmNwcCAqLzsgfTsKIAkJMkQ5MDY2MDcwQkUxNDFENDAw
OTU2OTk4IC8qIExheW91dFN0YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAyRDkwNjYwNTBCRTE0MUQ0MDA5NTY5OTggLyogTGF5b3V0U3RhdGUuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkyRTA4ODhE
NDExNDg4NDhBMDBBRjQyNjUgLyogSlNET01Gb3JtRGF0YS5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRTA4ODhEMjExNDg4NDhBMDBBRjQyNjUgLyog
SlNET01Gb3JtRGF0YS5jcHAgKi87IH07CkBAIC02NzY2LDYgKzY3NzAsOSBAQAogCQkyOUE4MTI0
NTBGQkI5Q0E5MDA1MTAyOTMgLyogQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMjlBODEyNDYwRkJCOUNBOTAwNTEwMjkzIC8q
IEFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
b2JqY3BwOyBwYXRoID0gQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIubW07IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTI5QTgxMjQ3MEZCQjlDQTkwMDUxMDI5MyAvKiBBWE9iamVjdENh
Y2hlTWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gQVhPYmpl
Y3RDYWNoZU1hYy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMjlERDIxMEYxMjVC
QzcxRjAwMTYzQzBDIC8qIFdlYktpdFVJUmVxdWVzdEV2ZW50LmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFdlYktpdFVJUmVxdWVzdEV2ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTI5REQyMTEwMTI1QkM3MUYwMDE2M0MwQyAvKiBXZWJLaXRVSVJlcXVlc3RF
dmVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJLaXRVSVJl
cXVlc3RFdmVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTI5REQyMTEzMTI1
QkM3M0UwMDE2M0MwQyAvKiBXZWJLaXRVSVJlcXVlc3RFdmVudC5pZGwgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0
OyBwYXRoID0gV2ViS2l0VUlSZXF1ZXN0RXZlbnQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQkyRDkwNjYwNDBCRTE0MUQ0MDA5NTY5OTggLyogTGF5b3V0U3RhdGUuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IExheW91dFN0YXRlLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkQ5MDY2MDUwQkUxNDFENDAwOTU2OTk4IC8qIExheW91
dFN0YXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBMYXlvdXRTdGF0ZS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyRDkwNjYwQjA2NjVEOTM3MDA2QjZGMUEg
LyogQ2xpcGJvYXJkTWFjLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gMzA7IGluZGVudFdpZHRoID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IENsaXBib2FyZE1hYy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB0YWJX
aWR0aCA9IDg7IHVzZXNUYWJzID0gMDsgfTsKQEAgLTkzNDUsNiArOTM1Miw4IEBACiAJCUE4NjYy
OUNDMDlEQTJCNDcwMDk2MzNBNSAvKiBKU01vdXNlRXZlbnQuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTTW91c2VFdmVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUE4NjYyOUNEMDlEQTJCNDcwMDk2MzNBNSAvKiBKU0tleWJvYXJkRXZlbnQu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTS2V5Ym9hcmRFdmVudC5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBODY2MjlDRTA5REEyQjQ3MDA5NjMzQTUgLyog
SlNLZXlib2FyZEV2ZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBKU0tleWJvYXJkRXZlbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBODY2
MjlEOTA5REEyQjQ3MDA5NjMzQTUgLyogSlNXZWJLaXRVSVJlcXVlc3RFdmVudC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNXZWJLaXRVSVJlcXVlc3RFdmVudC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBODY2MjlEQTA5REEyQjQ3MDA5NjMzQTUgLyogSlNX
ZWJLaXRVSVJlcXVlc3RFdmVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gSlNXZWJLaXRVSVJlcXVlc3RFdmVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUE4NzFENDRDMEExMjdDQkMwMEIxMkE2OCAvKiBIVE1MUGx1Z0luRWxlbWVudC5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSFRNTFBsdWdJbkVsZW1lbnQuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTg3MUQ0NEQwQTEyN0NCQzAwQjEyQTY4IC8qIEhU
TUxQbHVnSW5FbGVtZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBIVE1MUGx1Z0luRWxlbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE4
NzFENDRFMEExMjdDQkMwMEIxMkE2OCAvKiBIVE1MUGFyYW1FbGVtZW50LmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBIVE1MUGFyYW1FbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CkBAIC0xMjM4OCw2ICsxMjM5Nyw5IEBACiAJCQkJMjlBODEyMTMwRkJCOUMx
RDAwNTEwMjkzIC8qIEFjY2Vzc2liaWxpdHlUYWJsZVJvdy5oICovLAogCQkJCTI5QTgxMjE5MEZC
QjlDMUQwMDUxMDI5MyAvKiBBWE9iamVjdENhY2hlLmNwcCAqLywKIAkJCQkyOUE4MTIxQTBGQkI5
QzFEMDA1MTAyOTMgLyogQVhPYmplY3RDYWNoZS5oICovLAorCQkJCTI5REQyMTEwMTI1QkM3MUYw
MDE2M0MwQyAvKiBXZWJLaXRVSVJlcXVlc3RFdmVudC5jcHAgKi8sCisJCQkJMjlERDIxMEYxMjVC
QzcxRjAwMTYzQzBDIC8qIFdlYktpdFVJUmVxdWVzdEV2ZW50LmggKi8sCisJCQkJMjlERDIxMTMx
MjVCQzczRTAwMTYzQzBDIC8qIFdlYktpdFVJUmVxdWVzdEV2ZW50LmlkbCAqLywKIAkJCSk7CiAJ
CQlwYXRoID0gYWNjZXNzaWJpbGl0eTsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CkBAIC0x
NTg2NCw2ICsxNTg3Niw4IEBACiAJCQkJOTMzQTE0QjcwQjdEMUQ1MjAwQTUzRkZEIC8qIEpTVGV4
dEV2ZW50LmggKi8sCiAJCQkJQTg2NjI5Q0EwOURBMkI0NzAwOTYzM0E1IC8qIEpTVUlFdmVudC5j
cHAgKi8sCiAJCQkJQTg2NjI5QzkwOURBMkI0NzAwOTYzM0E1IC8qIEpTVUlFdmVudC5oICovLAor
CQkJCUE4NjYyOURBMDlEQTJCNDcwMDk2MzNBNSAvKiBKU1dlYktpdFVJUmVxdWVzdEV2ZW50LmNw
cCAqLywKKwkJCQlBODY2MjlEOTA5REEyQjQ3MDA5NjMzQTUgLyogSlNXZWJLaXRVSVJlcXVlc3RF
dmVudC5oICovLAogCQkJCTMxQzBGRjM5MEU0Q0VGQUMwMDdENkZFNSAvKiBKU1dlYktpdEFuaW1h
dGlvbkV2ZW50LmNwcCAqLywKIAkJCQkzMUMwRkYzQTBFNENFRkFDMDA3RDZGRTUgLyogSlNXZWJL
aXRBbmltYXRpb25FdmVudC5oICovLAogCQkJCTMxQzBGRjNCMEU0Q0VGQUMwMDdENkZFNSAvKiBK
U1dlYktpdFRyYW5zaXRpb25FdmVudC5jcHAgKi8sCkBAIC0yMTI0Myw2ICsyMTI1Nyw4IEBACiAJ
CQkJOTNGMTk5RUQwODI0NUU1OTAwMUU5QUJDIC8qIFhTTFRQcm9jZXNzb3IuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUUxQkU1MTJFMENGNkM1MTIwMDJFQTk1OSAvKiBYU0xUVW5pY29kZVNvcnQuaCBp
biBIZWFkZXJzICovLAogCQkJCTk3REQ0RDg3MEZERjRENkUwMEVDRjlBNCAvKiBYU1NBdWRpdG9y
LmggaW4gSGVhZGVycyAqLywKKwkJCQkyOUREMjExMTEyNUJDNzFGMDAxNjNDMEMgLyogV2ViS2l0
VUlSZXF1ZXN0RXZlbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCTI5REQyMjlEMTI1QzAyMEUwMDE2
M0MwQyAvKiBKU1dlYktpdFVJUmVxdWVzdEV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJ
CQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKQEAgLTIzODA0
LDYgKzIzODIwLDggQEAKIAkJCQk5M0YxOUIwNTA4MjQ1RTU5MDAxRTlBQkMgLyogWFNMVFByb2Nl
c3NvckxpYnhzbHQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTFCRTUxMkQwQ0Y2QzUxMjAwMkVB
OTU5IC8qIFhTTFRVbmljb2RlU29ydC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5N0RENEQ4NjBG
REY0RDZFMDBFQ0Y5QTQgLyogWFNTQXVkaXRvci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkyOURE
MjExMjEyNUJDNzFGMDAxNjNDMEMgLyogV2ViS2l0VUlSZXF1ZXN0RXZlbnQuY3BwIGluIFNvdXJj
ZXMgKi8sCisJCQkJMjlERDIyOUMxMjVDMDIwQTAwMTYzQzBDIC8qIEpTV2ViS2l0VUlSZXF1ZXN0
RXZlbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQ
b3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkluZGV4OiBXZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhP
YmplY3RDYWNoZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2Jq
ZWN0Q2FjaGUuY3BwCShyZXZpc2lvbiA3MTE0NCkKKysrIFdlYkNvcmUvYWNjZXNzaWJpbGl0eS9B
WE9iamVjdENhY2hlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjEsMTEgKzYxLDExIEBACiAjaW5j
bHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIlJlbmRlckxpc3RCb3guaCIKICNpbmNsdWRlICJSZW5k
ZXJNZW51TGlzdC5oIgorI2luY2x1ZGUgIlJlbmRlclByb2dyZXNzLmgiCisjaW5jbHVkZSAiUmVu
ZGVyU2xpZGVyLmgiCiAjaW5jbHVkZSAiUmVuZGVyVGFibGUuaCIKICNpbmNsdWRlICJSZW5kZXJU
YWJsZUNlbGwuaCIKICNpbmNsdWRlICJSZW5kZXJUYWJsZVJvdy5oIgotI2luY2x1ZGUgIlJlbmRl
clByb2dyZXNzLmgiCi0jaW5jbHVkZSAiUmVuZGVyU2xpZGVyLmgiCiAjaW5jbHVkZSAiUmVuZGVy
Vmlldy5oIgogCiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KSW5kZXg6IFdlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAJKHJldmlzaW9uIDcxMTQ0KQor
KysgV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC01MCw2ICs1MCw3IEBACiAjaW5jbHVkZSAiUmVuZGVyV2lkZ2V0LmgiCiAjaW5j
bHVkZSAiU2VsZWN0aW9uQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIlRleHRJdGVyYXRvci5oIgor
I2luY2x1ZGUgIldlYktpdFVJUmVxdWVzdEV2ZW50LmgiCiAjaW5jbHVkZSAiaHRtbGVkaXRpbmcu
aCIKICNpbmNsdWRlICJ2aXNpYmxlX3VuaXRzLmgiCiAjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJh
cy5oPgpAQCAtOTk4LDQgKzk5OSwzMSBAQCBBY2Nlc3NpYmlsaXR5QnV0dG9uU3RhdGUgQWNjZXNz
aWJpbGl0eU9iCiAgICAgcmV0dXJuIEJ1dHRvblN0YXRlT2ZmOwogfQogICAgIAordm9pZCBBY2Nl
c3NpYmlsaXR5T2JqZWN0OjpkaXNwYXRjaFdlYktpdFVJUmVxdWVzdEV2ZW50KFdlYktpdFVJUmVx
dWVzdEV2ZW50VHlwZSB0eXBlKQoreworICAgIE5vZGUqIG4gPSBub2RlKCk7CisgICAgaWYgKCFu
IHx8IG4tPmRpc2FibGVkKCkpCisgICAgICAgIHJldHVybjsKKyAgICAKKyAgICBBdG9taWNTdHJp
bmcgZXZlbnRUeXBlOworICAgIHN3aXRjaCAodHlwZSkgeworICAgIGNhc2UgVU5ETzoKKyAgICAg
ICAgZXZlbnRUeXBlID0gZXZlbnROYW1lcygpLndlYmtpdHVuZG9yZXF1ZXN0RXZlbnQ7CisgICAg
ICAgIGJyZWFrOworICAgIGNhc2UgUkVETzoKKyAgICAgICAgZXZlbnRUeXBlID0gZXZlbnROYW1l
cygpLndlYmtpdHJlZG9yZXF1ZXN0RXZlbnQ7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgRVND
QVBFOgorICAgICAgICBldmVudFR5cGUgPSBldmVudE5hbWVzKCkud2Via2l0ZXNjYXBlcmVxdWVz
dEV2ZW50OworICAgICAgICBicmVhazsKKyAgICBjYXNlIERFTEVURToKKyAgICAgICAgZXZlbnRU
eXBlID0gZXZlbnROYW1lcygpLndlYmtpdGRlbGV0ZXJlcXVlc3RFdmVudDsKKyAgICAgICAgYnJl
YWs7CisgICAgfQorICAgIAorICAgIFJlZlB0cjxXZWJLaXRVSVJlcXVlc3RFdmVudD4gdWlSZXF1
ZXN0RXZlbnQgPSBXZWJLaXRVSVJlcXVlc3RFdmVudDo6Y3JlYXRlKGV2ZW50VHlwZSwgdHJ1ZSwg
dHJ1ZSwgbi0+ZG9jdW1lbnQoKS0+ZGVmYXVsdFZpZXcoKSwgMCk7CisgICAgbi0+ZGlzcGF0Y2hF
dmVudCh1aVJlcXVlc3RFdmVudCk7Cit9CisKKyAgICAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
SW5kZXg6IFdlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaAkocmV2
aXNpb24gNzExNDQpCisrKyBXZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVj
dC5oCSh3b3JraW5nIGNvcHkpCkBAIC01MTksNiArNTE5LDEwIEBAIHB1YmxpYzoKICAgICB2aXJ0
dWFsIFN0cmluZyBkZXNjcmlwdGlvbkZvck1TQUEoKSBjb25zdCB7IHJldHVybiBTdHJpbmcoKTsg
fQogICAgIHZpcnR1YWwgQWNjZXNzaWJpbGl0eVJvbGUgcm9sZVZhbHVlRm9yTVNBQSgpIGNvbnN0
IHsgcmV0dXJuIHJvbGVWYWx1ZSgpOyB9CiAKKyAgICAvLyBVSVJlcXVlc3RFdmVudCBzdXBwb3J0
CisgICAgZW51bSBXZWJLaXRVSVJlcXVlc3RFdmVudFR5cGUgeyBVTkRPID0gMSwgUkVETyA9IDIs
IEVTQ0FQRSA9IDMsIERFTEVURSA9IDQgfTsKKyAgICB2b2lkIGRpc3BhdGNoV2ViS2l0VUlSZXF1
ZXN0RXZlbnQoV2ViS2l0VUlSZXF1ZXN0RXZlbnRUeXBlKTsKKyAgICAKICAgICAvLyBVc2VkIGJ5
IGFuIEFSSUEgdHJlZSB0byBnZXQgYWxsIGl0cyByb3dzLgogICAgIHZvaWQgYXJpYVRyZWVSb3dz
KEFjY2Vzc2liaWxpdHlDaGlsZHJlblZlY3RvciYpOwogICAgIC8vIFVzZWQgYnkgYW4gQVJJQSB0
cmVlIGl0ZW0gdG8gZ2V0IGFsbCBvZiBpdHMgZGlyZWN0IHJvd3MgdGhhdCBpdCBjYW4gZGlzY2xv
c2UuCkluZGV4OiBXZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL0FjY2Vzc2liaWxpdHlPYmplY3RX
cmFwcGVyLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvQWNjZXNz
aWJpbGl0eU9iamVjdFdyYXBwZXIubW0JKHJldmlzaW9uIDcxMTQ0KQorKysgV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L21hYy9BY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlci5tbQkod29ya2luZyBjb3B5
KQpAQCAtMjE4NCw2ICsyMTg0LDE4IEBAIC0gKHZvaWQpYWNjZXNzaWJpbGl0eVBlcmZvcm1BY3Rp
b246KE5TU3QKIAogICAgIGVsc2UgaWYgKFthY3Rpb24gaXNFcXVhbFRvU3RyaW5nOk5TQWNjZXNz
aWJpbGl0eURlY3JlbWVudEFjdGlvbl0pCiAgICAgICAgIFtzZWxmIGFjY2Vzc2liaWxpdHlQZXJm
b3JtRGVjcmVtZW50QWN0aW9uXTsKKworICAgIGVsc2UgaWYgKFthY3Rpb24gaXNFcXVhbFRvU3Ry
aW5nOkAiQVhFc2NhcGUiXSkKKyAgICAgICAgbV9vYmplY3QtPmRpc3BhdGNoV2ViS2l0VUlSZXF1
ZXN0RXZlbnQoQWNjZXNzaWJpbGl0eU9iamVjdDo6RVNDQVBFKTsKKyAgICAKKyAgICBlbHNlIGlm
IChbYWN0aW9uIGlzRXF1YWxUb1N0cmluZzpAIkFYRGVsZXRlIl0pCisgICAgICAgIG1fb2JqZWN0
LT5kaXNwYXRjaFdlYktpdFVJUmVxdWVzdEV2ZW50KEFjY2Vzc2liaWxpdHlPYmplY3Q6OkRFTEVU
RSk7CisgICAgCisgICAgZWxzZSBpZiAoW2FjdGlvbiBpc0VxdWFsVG9TdHJpbmc6QCJBWFVuZG8i
XSkKKyAgICAgICAgbV9vYmplY3QtPmRpc3BhdGNoV2ViS2l0VUlSZXF1ZXN0RXZlbnQoQWNjZXNz
aWJpbGl0eU9iamVjdDo6VU5ETyk7CisgICAgCisgICAgZWxzZSBpZiAoW2FjdGlvbiBpc0VxdWFs
VG9TdHJpbmc6QCJBWFJlZG8iXSkKKyAgICAgICAgbV9vYmplY3QtPmRpc3BhdGNoV2ViS2l0VUlS
ZXF1ZXN0RXZlbnQoQWNjZXNzaWJpbGl0eU9iamVjdDo6UkVETyk7CiB9CiAKIC0gKHZvaWQpYWNj
ZXNzaWJpbGl0eVNldFZhbHVlOihpZCl2YWx1ZSBmb3JBdHRyaWJ1dGU6KE5TU3RyaW5nKilhdHRy
aWJ1dGVOYW1lCkluZGV4OiBXZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvR05VbWFrZWZpbGUuYW0K
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L0dOVW1ha2VmaWxlLmFtCShy
ZXZpc2lvbiA3MTE0NCkKKysrIFdlYkNvcmUvYmluZGluZ3MvZ29iamVjdC9HTlVtYWtlZmlsZS5h
bQkod29ya2luZyBjb3B5KQpAQCAtMjM0LDYgKzIzNCw3IEBAIHdlYmtpdGd0a19nZG9tX2J1aWx0
X3NvdXJjZXMgKz0gXAogCURlcml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRET01UaW1lUmFuZ2Vz
UHJpdmF0ZS5oIFwKIAlEZXJpdmVkU291cmNlcy93ZWJraXQvV2ViS2l0RE9NVHJlZVdhbGtlci5j
cHAgXAogCURlcml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRET01UcmVlV2Fsa2VyUHJpdmF0ZS5o
IFwKKwlEZXJpdmVkU291cmNlcy93ZWJraXQvV2ViS2l0RE9NV2ViS2l0VUlSZXF1ZXN0RXZlbnQu
Y3BwIFwKIAlEZXJpdmVkU291cmNlcy93ZWJraXQvV2ViS2l0RE9NVUlFdmVudC5jcHAgXAogCURl
cml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRET01VSUV2ZW50UHJpdmF0ZS5oIFwKIAlEZXJpdmVk
U291cmNlcy93ZWJraXQvV2ViS2l0RE9NVmFsaWRpdHlTdGF0ZS5jcHAgXApAQCAtMzUxLDYgKzM1
Miw3IEBAIHdlYmtpdGd0a19idWlsdF9oX2FwaSArPSBcCiAJRGVyaXZlZFNvdXJjZXMvd2Via2l0
L1dlYktpdERPTU1lZGlhRXJyb3IuaCBcCiAJRGVyaXZlZFNvdXJjZXMvd2Via2l0L1dlYktpdERP
TVRpbWVSYW5nZXMuaCBcCiAJRGVyaXZlZFNvdXJjZXMvd2Via2l0L1dlYktpdERPTVZhbGlkaXR5
U3RhdGUuaCBcCisJRGVyaXZlZFNvdXJjZXMvd2Via2l0L1dlYktpdERPTVdlYktpdFVJUmVxdWVz
dEV2ZW50LmggXAogCURlcml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRET01ET01BcHBsaWNhdGlv
bkNhY2hlLmggXAogCURlcml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRET01CYXJJbmZvLmggXAog
CURlcml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRET01Db25zb2xlLmggXApJbmRleDogV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU0V2ZW50Q3VzdG9tLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTRXZlbnRDdXN0b20uY3BwCShyZXZpc2lvbiA3MTE0NCkKKysrIFdlYkNvcmUv
YmluZGluZ3MvanMvSlNFdmVudEN1c3RvbS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU1LDYgKzU1
LDcgQEAKICNpbmNsdWRlICJKU1VJRXZlbnQuaCIKICNpbmNsdWRlICJKU1dlYktpdEFuaW1hdGlv
bkV2ZW50LmgiCiAjaW5jbHVkZSAiSlNXZWJLaXRUcmFuc2l0aW9uRXZlbnQuaCIKKyNpbmNsdWRl
ICJKU1dlYktpdFVJUmVxdWVzdEV2ZW50LmgiCiAjaW5jbHVkZSAiSlNXaGVlbEV2ZW50LmgiCiAj
aW5jbHVkZSAiSlNYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQuaCIKICNpbmNsdWRlICJCZWZv
cmVMb2FkRXZlbnQuaCIKQEAgLTcyLDYgKzczLDcgQEAKICNpbmNsdWRlICJVSUV2ZW50LmgiCiAj
aW5jbHVkZSAiV2ViS2l0QW5pbWF0aW9uRXZlbnQuaCIKICNpbmNsdWRlICJXZWJLaXRUcmFuc2l0
aW9uRXZlbnQuaCIKKyNpbmNsdWRlICJXZWJLaXRVSVJlcXVlc3RFdmVudC5oIgogI2luY2x1ZGUg
IldoZWVsRXZlbnQuaCIKICNpbmNsdWRlICJYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQuaCIK
ICNpbmNsdWRlIDxydW50aW1lL0pTTG9jay5oPgpAQCAtMTM3LDYgKzEzOSw4IEBAIEpTVmFsdWUg
dG9KUyhFeGVjU3RhdGUqIGV4ZWMsIEpTRE9NR2xvYmEKICAgICAgICAgZWxzZSBpZiAoZXZlbnQt
PmlzVG91Y2hFdmVudCgpKQogICAgICAgICAgICAgd3JhcHBlciA9IENSRUFURV9ET01fT0JKRUNU
X1dSQVBQRVIoZXhlYywgZ2xvYmFsT2JqZWN0LCBUb3VjaEV2ZW50LCBldmVudCk7CiAjZW5kaWYK
KyAgICAgICAgZWxzZSBpZiAoZXZlbnQtPmlzV2ViS2l0VUlSZXF1ZXN0RXZlbnQoKSkKKyAgICAg
ICAgICAgIHdyYXBwZXIgPSBDUkVBVEVfRE9NX09CSkVDVF9XUkFQUEVSKGV4ZWMsIGdsb2JhbE9i
amVjdCwgV2ViS2l0VUlSZXF1ZXN0RXZlbnQsIGV2ZW50KTsKICAgICAgICAgZWxzZQogICAgICAg
ICAgICAgd3JhcHBlciA9IENSRUFURV9ET01fT0JKRUNUX1dSQVBQRVIoZXhlYywgZ2xvYmFsT2Jq
ZWN0LCBVSUV2ZW50LCBldmVudCk7CiAgICAgfSBlbHNlIGlmIChldmVudC0+aXNNdXRhdGlvbkV2
ZW50KCkpCkluZGV4OiBXZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9kb20vRG9jdW1lbnQuY3BwCShyZXZpc2lvbiA3MTE0NCkKKysrIFdlYkNvcmUvZG9tL0Rv
Y3VtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTMyLDYgKzEzMiw3IEBACiAjaW5jbHVkZSAi
VXNlckNvbnRlbnRVUkxQYXR0ZXJuLmgiCiAjaW5jbHVkZSAiV2ViS2l0QW5pbWF0aW9uRXZlbnQu
aCIKICNpbmNsdWRlICJXZWJLaXRUcmFuc2l0aW9uRXZlbnQuaCIKKyNpbmNsdWRlICJXZWJLaXRV
SVJlcXVlc3RFdmVudC5oIgogI2luY2x1ZGUgIldoZWVsRXZlbnQuaCIKICNpbmNsdWRlICJYTUxE
b2N1bWVudFBhcnNlci5oIgogI2luY2x1ZGUgIlhNTEh0dHBSZXF1ZXN0LmgiCkBAIC0zNDY0LDYg
KzM0NjUsOCBAQCBQYXNzUmVmUHRyPEV2ZW50PiBEb2N1bWVudDo6Y3JlYXRlRXZlbnQoCiAgICAg
ZWxzZSBpZiAoZXZlbnRUeXBlID09ICJEZXZpY2VPcmllbnRhdGlvbkV2ZW50IikKICAgICAgICAg
ZXZlbnQgPSBEZXZpY2VPcmllbnRhdGlvbkV2ZW50OjpjcmVhdGUoKTsKICNlbmRpZgorICAgIGVs
c2UgaWYgKGV2ZW50VHlwZSA9PSAiV2ViS2l0VUlSZXF1ZXN0RXZlbnQiKQorICAgICAgICBldmVu
dCA9IFdlYktpdFVJUmVxdWVzdEV2ZW50OjpjcmVhdGUoKTsKICNpZiBFTkFCTEUoT1JJRU5UQVRJ
T05fRVZFTlRTKQogICAgIGVsc2UgaWYgKGV2ZW50VHlwZSA9PSAiT3JpZW50YXRpb25FdmVudCIp
CiAgICAgICAgIGV2ZW50ID0gRXZlbnQ6OmNyZWF0ZSgpOwpJbmRleDogV2ViQ29yZS9kb20vRG9j
dW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2RvbS9Eb2N1bWVudC5oCShyZXZpc2lvbiA3
MTE0NCkKKysrIFdlYkNvcmUvZG9tL0RvY3VtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTI4Miw3
ICsyODIsMTEgQEAgcHVibGljOgogI2lmIEVOQUJMRShGVUxMU0NSRUVOX0FQSSkKICAgICBERUZJ
TkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHdlYmtpdGZ1bGxzY3JlZW5jaGFuZ2UpOwogI2Vu
ZGlmCi0KKyAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHdlYmtpdHVuZG9yZXF1
ZXN0KTsKKyAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHdlYmtpdHJlZG9yZXF1
ZXN0KTsKKyAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHdlYmtpdGVzY2FwZXJl
cXVlc3QpOworICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIod2Via2l0ZGVsZXRl
cmVxdWVzdCk7CisgICAgCiAgICAgVmlld3BvcnRBcmd1bWVudHMgdmlld3BvcnRBcmd1bWVudHMo
KSBjb25zdCB7IHJldHVybiBtX3ZpZXdwb3J0QXJndW1lbnRzOyB9CiAKICAgICBEb2N1bWVudFR5
cGUqIGRvY3R5cGUoKSBjb25zdCB7IHJldHVybiBtX2RvY1R5cGUuZ2V0KCk7IH0KSW5kZXg6IFdl
YkNvcmUvZG9tL0RvY3VtZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2RvbS9Eb2N1bWVu
dC5pZGwJKHJldmlzaW9uIDcxMTQ0KQorKysgV2ViQ29yZS9kb20vRG9jdW1lbnQuaWRsCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zMDcsNiArMzA3LDExIEBAIG1vZHVsZSBjb3JlIHsKICAgICAgICAgLy8g
YXR0cmlidXRlIFtEb250RW51bV0gRXZlbnRMaXN0ZW5lciBvbnZvbHVtZWNoYW5nZTsKICAgICAg
ICAgLy8gYXR0cmlidXRlIFtEb250RW51bV0gRXZlbnRMaXN0ZW5lciBvbndhaXRpbmc7CiAKKyAg
ICAgICAgYXR0cmlidXRlIFtEb250RW51bV0gRXZlbnRMaXN0ZW5lciBvbndlYmtpdHVuZG9yZXF1
ZXN0OworICAgICAgICBhdHRyaWJ1dGUgW0RvbnRFbnVtXSBFdmVudExpc3RlbmVyIG9ud2Via2l0
cmVkb3JlcXVlc3Q7CisgICAgICAgIGF0dHJpYnV0ZSBbRG9udEVudW1dIEV2ZW50TGlzdGVuZXIg
b253ZWJraXRlc2NhcGVyZXF1ZXN0OworICAgICAgICBhdHRyaWJ1dGUgW0RvbnRFbnVtXSBFdmVu
dExpc3RlbmVyIG9ud2Via2l0ZGVsZXRlcmVxdWVzdDsKKwogICAgICAgICAvLyBXZWJLaXQgZXh0
ZW5zaW9ucwogICAgICAgICBhdHRyaWJ1dGUgW0RvbnRFbnVtXSBFdmVudExpc3RlbmVyIG9uYmVm
b3JlY3V0OwogICAgICAgICBhdHRyaWJ1dGUgW0RvbnRFbnVtXSBFdmVudExpc3RlbmVyIG9uY3V0
OwpJbmRleDogV2ViQ29yZS9kb20vRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZG9t
L0VsZW1lbnQuaAkocmV2aXNpb24gNzExNDQpCisrKyBXZWJDb3JlL2RvbS9FbGVtZW50LmgJKHdv
cmtpbmcgY29weSkKQEAgLTEwNCw2ICsxMDQsMTAgQEAgcHVibGljOgogI2lmIEVOQUJMRShGVUxM
U0NSRUVOX0FQSSkKICAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHdlYmtpdGZ1
bGxzY3JlZW5jaGFuZ2UpOwogI2VuZGlmCisgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNU
RU5FUih3ZWJraXR1bmRvcmVxdWVzdCk7CisgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNU
RU5FUih3ZWJraXRyZWRvcmVxdWVzdCk7CisgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNU
RU5FUih3ZWJraXRlc2NhcGVyZXF1ZXN0KTsKKyAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJ
U1RFTkVSKHdlYmtpdGRlbGV0ZXJlcXVlc3QpOwogCiAgICAgdmlydHVhbCBQYXNzUmVmUHRyPERv
Y3VtZW50RnJhZ21lbnQ+IGRlcHJlY2F0ZWRDcmVhdGVDb250ZXh0dWFsRnJhZ21lbnQoY29uc3Qg
U3RyaW5nJiwgRnJhZ21lbnRTY3JpcHRpbmdQZXJtaXNzaW9uID0gRnJhZ21lbnRTY3JpcHRpbmdB
bGxvd2VkKTsKIApJbmRleDogV2ViQ29yZS9kb20vRWxlbWVudC5pZGwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9kb20vRWxlbWVudC5pZGwJKHJldmlzaW9uIDcxMTQ0KQorKysgV2ViQ29yZS9kb20v
RWxlbWVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTE5Myw2ICsxOTMsMTEgQEAgbW9kdWxlIGNv
cmUgewogICAgICAgICAvLyBhdHRyaWJ1dGUgW0RvbnRFbnVtXSBFdmVudExpc3RlbmVyIG9udGlt
ZXVwZGF0ZTsKICAgICAgICAgLy8gYXR0cmlidXRlIFtEb250RW51bV0gRXZlbnRMaXN0ZW5lciBv
bnZvbHVtZWNoYW5nZTsKICAgICAgICAgLy8gYXR0cmlidXRlIFtEb250RW51bV0gRXZlbnRMaXN0
ZW5lciBvbndhaXRpbmc7CisgICAgICAgIAorICAgICAgICBhdHRyaWJ1dGUgW0RvbnRFbnVtXSBF
dmVudExpc3RlbmVyIG9ud2Via2l0dW5kb3JlcXVlc3Q7CisgICAgICAgIGF0dHJpYnV0ZSBbRG9u
dEVudW1dIEV2ZW50TGlzdGVuZXIgb253ZWJraXRyZWRvcmVxdWVzdDsKKyAgICAgICAgYXR0cmli
dXRlIFtEb250RW51bV0gRXZlbnRMaXN0ZW5lciBvbndlYmtpdGVzY2FwZXJlcXVlc3Q7CisgICAg
ICAgIGF0dHJpYnV0ZSBbRG9udEVudW1dIEV2ZW50TGlzdGVuZXIgb253ZWJraXRkZWxldGVyZXF1
ZXN0OwogCiAgICAgICAgIC8vIFdlYktpdCBleHRlbnNpb25zCiAgICAgICAgIGF0dHJpYnV0ZSBb
RG9udEVudW1dIEV2ZW50TGlzdGVuZXIgb25iZWZvcmVjdXQ7CkluZGV4OiBXZWJDb3JlL2RvbS9F
dmVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9kb20vRXZlbnQuY3BwCShyZXZpc2lvbiA3
MTE0NCkKKysrIFdlYkNvcmUvZG9tL0V2ZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjI5LDYg
KzIyOSwxMSBAQCBib29sIEV2ZW50Ojppc0RldmljZU9yaWVudGF0aW9uRXZlbnQoKSBjCiB9CiAj
ZW5kaWYKIAorYm9vbCBFdmVudDo6aXNXZWJLaXRVSVJlcXVlc3RFdmVudCgpIGNvbnN0Cit7Cisg
ICAgcmV0dXJuIGZhbHNlOworfQorICAgIAogYm9vbCBFdmVudDo6ZnJvbVVzZXJHZXN0dXJlKCkK
IHsKICAgICBpZiAoIVVzZXJHZXN0dXJlSW5kaWNhdG9yOjpwcm9jZXNzaW5nVXNlckdlc3R1cmUo
KSkKSW5kZXg6IFdlYkNvcmUvZG9tL0V2ZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9kb20v
RXZlbnQuaAkocmV2aXNpb24gNzExNDQpCisrKyBXZWJDb3JlL2RvbS9FdmVudC5oCSh3b3JraW5n
IGNvcHkpCkBAIC0xNDEsNiArMTQxLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2
aXJ0dWFsIGJvb2wgaXNEZXZpY2VNb3Rpb25FdmVudCgpIGNvbnN0OwogICAgICAgICB2aXJ0dWFs
IGJvb2wgaXNEZXZpY2VPcmllbnRhdGlvbkV2ZW50KCkgY29uc3Q7CiAjZW5kaWYKKyAgICAgICAg
dmlydHVhbCBib29sIGlzV2ViS2l0VUlSZXF1ZXN0RXZlbnQoKSBjb25zdDsKKyAgICAgICAgCiAg
ICAgICAgIGJvb2wgZnJvbVVzZXJHZXN0dXJlKCk7CiAgICAgICAgIAogICAgICAgICBib29sIHBy
b3BhZ2F0aW9uU3RvcHBlZCgpIGNvbnN0IHsgcmV0dXJuIG1fcHJvcGFnYXRpb25TdG9wcGVkIHx8
IG1faW1tZWRpYXRlUHJvcGFnYXRpb25TdG9wcGVkOyB9CkluZGV4OiBXZWJDb3JlL2RvbS9FdmVu
dC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9kb20vRXZlbnQuaWRsCShyZXZpc2lvbiA3MTE0
NCkKKysrIFdlYkNvcmUvZG9tL0V2ZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtODMsNyArODMs
NyBAQCBtb2R1bGUgZXZlbnRzIHsKICAgICAgICAgLy8gRXh0cmEgV2ViQ29yZSBtZXRob2RzIGV4
cG9zZWQgdG8gYWxsb3cgY29tcGlsZS10aW1lIGNhc3RpbmcgaW4gQysrCiAgICAgICAgIGJvb2xl
YW4gaXNNdXRhdGlvbkV2ZW50KCk7CiAgICAgICAgIGJvb2xlYW4gaXNNb3VzZUV2ZW50KCk7Ci0g
ICAgICAgIGJvb2xlYW4gaXNVSUV2ZW50KCk7CisgICAgICAgIGJvb2xlYW4gaXNXZWJLaXRVSUV2
ZW50KCk7CiAjZW5kaWYKIAogICAgIH07CkluZGV4OiBXZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9kb20vRXZlbnROYW1lcy5oCShyZXZpc2lvbiA3MTE0NCkK
KysrIFdlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaAkod29ya2luZyBjb3B5KQpAQCAtMTY4LDcgKzE2
OCwxMiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgXAogICAgIG1hY3JvKHdlYmtpdGZ1bGxz
Y3JlZW5jaGFuZ2UpIFwKICAgICBcCi0gICAgbWFjcm8od2Via2l0c3BlZWNoY2hhbmdlKQorICAg
IG1hY3JvKHdlYmtpdHNwZWVjaGNoYW5nZSkgXAorICAgIFwKKyAgICBtYWNybyh3ZWJraXR1bmRv
cmVxdWVzdCkgXAorICAgIG1hY3JvKHdlYmtpdHJlZG9yZXF1ZXN0KSBcCisgICAgbWFjcm8od2Vi
a2l0ZXNjYXBlcmVxdWVzdCkgXAorICAgIG1hY3JvKHdlYmtpdGRlbGV0ZXJlcXVlc3QpCiAgICAg
XAogLy8gZW5kIG9mIERPTV9FVkVOVF9OQU1FU19GT1JfRUFDSAogCkluZGV4OiBXZWJDb3JlL2h0
bWwvSFRNTEF0dHJpYnV0ZU5hbWVzLmluCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9IVE1M
QXR0cmlidXRlTmFtZXMuaW4JKHJldmlzaW9uIDcxMTQ0KQorKysgV2ViQ29yZS9odG1sL0hUTUxB
dHRyaWJ1dGVOYW1lcy5pbgkod29ya2luZyBjb3B5KQpAQCAtMTU2LDYgKzE1Niw3IEBAIG9uY29u
dGV4dG1lbnUKIG9uY29weQogb25jdXQKIG9uZGJsY2xpY2sKK29ud2Via2l0ZGVsZXRlcmVxdWVz
dAogb25kcmFnCiBvbmRyYWdlbmQKIG9uZHJhZ2VudGVyCkBAIC0xNjcsNiArMTY4LDcgQEAgb25k
dXJhdGlvbmNoYW5nZQogb25lbXB0aWVkCiBvbmVuZGVkCiBvbmVycm9yCitvbndlYmtpdGVzY2Fw
ZXJlcXVlc3QKIG9uZm9jdXMKIG9uZm9jdXNpbgogb25mb2N1c291dApAQCAtMTk4LDYgKzIwMCw3
IEBAIG9ucGxheWluZwogb25wb3BzdGF0ZQogb25wcm9ncmVzcwogb25yYXRlY2hhbmdlCitvbndl
YmtpdHJlZG9yZXF1ZXN0CiBvbnJlc2V0CiBvbnJlc2l6ZQogb25zY3JvbGwKQEAgLTIxNiw2ICsy
MTksNyBAQCBvbnRvdWNoc3RhcnQKIG9udG91Y2htb3ZlCiBvbnRvdWNoZW5kCiBvbnRvdWNoY2Fu
Y2VsCitvbndlYmtpdHVuZG9yZXF1ZXN0CiBvbnVubG9hZAogb252b2x1bWVjaGFuZ2UKIG9ud2Fp
dGluZwpJbmRleDogV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQuY3BwCShyZXZpc2lvbiA3MTE0NCkKKysrIFdlYkNvcmUv
aHRtbC9IVE1MRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI1Myw2ICsyNTMsMTQgQEAg
dm9pZCBIVE1MRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoQQogICAgIH0gZWxzZSBpZiAo
YXR0ci0+bmFtZSgpID09IG9ud2Via2l0ZnVsbHNjcmVlbmNoYW5nZUF0dHIpIHsKICAgICAgICAg
c2V0QXR0cmlidXRlRXZlbnRMaXN0ZW5lcihldmVudE5hbWVzKCkud2Via2l0ZnVsbHNjcmVlbmNo
YW5nZUV2ZW50LCBjcmVhdGVBdHRyaWJ1dGVFdmVudExpc3RlbmVyKHRoaXMsIGF0dHIpKTsKICNl
bmRpZgorICAgIH0gZWxzZSBpZiAoYXR0ci0+bmFtZSgpID09IG9ud2Via2l0dW5kb3JlcXVlc3RB
dHRyKSB7CisgICAgICAgIHNldEF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1lcygpLndl
YmtpdHVuZG9yZXF1ZXN0RXZlbnQsIGNyZWF0ZUF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIodGhpcywg
YXR0cikpOworICAgIH0gZWxzZSBpZiAoYXR0ci0+bmFtZSgpID09IG9ud2Via2l0cmVkb3JlcXVl
c3RBdHRyKSB7CisgICAgICAgIHNldEF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1lcygp
LndlYmtpdHJlZG9yZXF1ZXN0RXZlbnQsIGNyZWF0ZUF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIodGhp
cywgYXR0cikpOworICAgIH0gZWxzZSBpZiAoYXR0ci0+bmFtZSgpID09IG9ud2Via2l0ZXNjYXBl
cmVxdWVzdEF0dHIpIHsKKyAgICAgICAgc2V0QXR0cmlidXRlRXZlbnRMaXN0ZW5lcihldmVudE5h
bWVzKCkud2Via2l0ZXNjYXBlcmVxdWVzdEV2ZW50LCBjcmVhdGVBdHRyaWJ1dGVFdmVudExpc3Rl
bmVyKHRoaXMsIGF0dHIpKTsKKyAgICB9IGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBvbndlYmtp
dGRlbGV0ZXJlcXVlc3RBdHRyKSB7CisgICAgICAgIHNldEF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIo
ZXZlbnROYW1lcygpLndlYmtpdGRlbGV0ZXJlcXVlc3RFdmVudCwgY3JlYXRlQXR0cmlidXRlRXZl
bnRMaXN0ZW5lcih0aGlzLCBhdHRyKSk7CiAgICAgfQogfQogCkluZGV4OiBXZWJDb3JlL3BhZ2Uv
RE9NV2luZG93LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5oCShyZXZp
c2lvbiA3MTE0NCkKKysrIFdlYkNvcmUvcGFnZS9ET01XaW5kb3cuaAkod29ya2luZyBjb3B5KQpA
QCAtMzYzLDYgKzM2MywxMSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIERFRklORV9B
VFRSSUJVVEVfRVZFTlRfTElTVEVORVIodG91Y2hlbmQpOwogICAgICAgICBERUZJTkVfQVRUUklC
VVRFX0VWRU5UX0xJU1RFTkVSKHRvdWNoY2FuY2VsKTsKICNlbmRpZgorICAgICAgICBERUZJTkVf
QVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHdlYmtpdHVuZG9yZXF1ZXN0KTsKKyAgICAgICAgREVG
SU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUih3ZWJraXRyZWRvcmVxdWVzdCk7CisgICAgICAg
IERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIod2Via2l0ZXNjYXBlcmVxdWVzdCk7Cisg
ICAgICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIod2Via2l0ZGVsZXRlcmVxdWVz
dCk7CisgICAgICAgIAogICAgICAgICB2b2lkIGNhcHR1cmVFdmVudHMoKTsKICAgICAgICAgdm9p
ZCByZWxlYXNlRXZlbnRzKCk7CiAKSW5kZXg6IFdlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCShyZXZpc2lvbiA3MTE0NCkK
KysrIFdlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zMzEsNiAr
MzMxLDExIEBAIG1vZHVsZSB3aW5kb3cgewogICAgICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFs
PURFVklDRV9PUklFTlRBVElPTixFbmFibGVkQXRSdW50aW1lXSBEZXZpY2VPcmllbnRhdGlvbkV2
ZW50Q29uc3RydWN0b3IgRGV2aWNlT3JpZW50YXRpb25FdmVudDsKICAgICAgICAgYXR0cmlidXRl
IFtDb25kaXRpb25hbD1ERVZJQ0VfT1JJRU5UQVRJT04sRW5hYmxlZEF0UnVudGltZV0gRXZlbnRM
aXN0ZW5lciBvbmRldmljZW9yaWVudGF0aW9uOwogCisgICAgICAgIGF0dHJpYnV0ZSBFdmVudExp
c3RlbmVyIG9ud2Via2l0dW5kb3JlcXVlc3Q7CisgICAgICAgIGF0dHJpYnV0ZSBFdmVudExpc3Rl
bmVyIG9ud2Via2l0cmVkb3JlcXVlc3Q7CisgICAgICAgIGF0dHJpYnV0ZSBFdmVudExpc3RlbmVy
IG9ud2Via2l0ZXNjYXBlcmVxdWVzdDsKKyAgICAgICAgYXR0cmlidXRlIEV2ZW50TGlzdGVuZXIg
b253ZWJraXRkZWxldGVyZXF1ZXN0OworCiAgICAgICAgIC8vIEV2ZW50VGFyZ2V0IGludGVyZmFj
ZQogICAgICAgICBbQ3VzdG9tXSB2b2lkIGFkZEV2ZW50TGlzdGVuZXIoaW4gRE9NU3RyaW5nIHR5
cGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIEV2ZW50TGlzdGVu
ZXIgbGlzdGVuZXIsCkBAIC01MTQsNiArNTE5LDcgQEAgbW9kdWxlIHdpbmRvdyB7CiAgICAgICAg
IGF0dHJpYnV0ZSBXaGVlbEV2ZW50Q29uc3RydWN0b3IgV2hlZWxFdmVudDsKICAgICAgICAgYXR0
cmlidXRlIE1lc3NhZ2VFdmVudENvbnN0cnVjdG9yIE1lc3NhZ2VFdmVudDsKICAgICAgICAgYXR0
cmlidXRlIEV2ZW50RXhjZXB0aW9uQ29uc3RydWN0b3IgRXZlbnRFeGNlcHRpb247CisgICAgICAg
IGF0dHJpYnV0ZSBXZWJLaXRVSVJlcXVlc3RFdmVudENvbnN0cnVjdG9yIFdlYktpdFVJUmVxdWVz
dEV2ZW50OwogCiAgICAgICAgIGF0dHJpYnV0ZSBXZWJLaXRDU1NLZXlmcmFtZVJ1bGVDb25zdHJ1
Y3RvciBXZWJLaXRDU1NLZXlmcmFtZVJ1bGU7CiAgICAgICAgIGF0dHJpYnV0ZSBXZWJLaXRDU1NL
ZXlmcmFtZXNSdWxlQ29uc3RydWN0b3IgV2ViS2l0Q1NTS2V5ZnJhbWVzUnVsZTsKSW5kZXg6IFdl
YktpdFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9DaGFuZ2VMb2cJ
KHJldmlzaW9uIDcxMTQ0KQorKysgV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDMgKzEsMjcgQEAKKzIwMTAtMTAtMjYgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNo
QGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBBWDogU3VwcG9ydCBVSVJlcXVlc3RFdmVudHMgZnJvbSBuZXcgVzNDIFByb3Bvc2FsCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NzMwMQorCisg
ICAgICAgICogRHVtcFJlbmRlclRyZWUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5jcHA6CisgICAg
ICAgIChwZXJmb3JtRXNjYXBlQ2FsbGJhY2spOgorICAgICAgICAocGVyZm9ybURlbGV0ZUNhbGxi
YWNrKToKKyAgICAgICAgKHBlcmZvcm1VbmRvQ2FsbGJhY2spOgorICAgICAgICAocGVyZm9ybVJl
ZG9DYWxsYmFjayk6CisgICAgICAgIChBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpwZXJmb3JtRXNj
YXBlKToKKyAgICAgICAgKEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnBlcmZvcm1EZWxldGUpOgor
ICAgICAgICAoQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6cGVyZm9ybVVuZG8pOgorICAgICAgICAo
QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6cGVyZm9ybVJlZG8pOgorICAgICAgICAoQWNjZXNzaWJp
bGl0eVVJRWxlbWVudDo6Z2V0SlNDbGFzcyk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvQWNj
ZXNzaWJpbGl0eVVJRWxlbWVudC5oOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL21hYy9BY2Nl
c3NpYmlsaXR5VUlFbGVtZW50TWFjLm1tOgorICAgICAgICAoQWNjZXNzaWJpbGl0eVVJRWxlbWVu
dDo6cGVyZm9ybUVzY2FwZSk6CisgICAgICAgIChBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpwZXJm
b3JtRGVsZXRlKToKKyAgICAgICAgKEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnBlcmZvcm1VbmRv
KToKKyAgICAgICAgKEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnBlcmZvcm1SZWRvKToKKwogMjAx
MC0xMS0wMiAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmll
d2VkIGJ5IEVyaWMgU2VpZGVsLgpJbmRleDogV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvQWNj
ZXNzaWJpbGl0eVVJRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0VG9vbHMvRHVtcFJl
bmRlclRyZWUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5jcHAJKHJldmlzaW9uIDcxMTQ0KQorKysg
V2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTQxMiw2ICs0MTIsMzAgQEAgc3RhdGljIEpTVmFsdWVSZWYgcHJlc3ND
YWxsYmFjayhKU0NvbnRleAogICAgIHJldHVybiBKU1ZhbHVlTWFrZVVuZGVmaW5lZChjb250ZXh0
KTsKIH0KIAorc3RhdGljIEpTVmFsdWVSZWYgcGVyZm9ybUVzY2FwZUNhbGxiYWNrKEpTQ29udGV4
dFJlZiBjb250ZXh0LCBKU09iamVjdFJlZiBmdW5jdGlvbiwgSlNPYmplY3RSZWYgdGhpc09iamVj
dCwgc2l6ZV90IGFyZ3VtZW50Q291bnQsIGNvbnN0IEpTVmFsdWVSZWYgYXJndW1lbnRzW10sIEpT
VmFsdWVSZWYqIGV4Y2VwdGlvbikKK3sKKyAgICB0b0FYRWxlbWVudCh0aGlzT2JqZWN0KS0+cGVy
Zm9ybUVzY2FwZSgpOworICAgIHJldHVybiBKU1ZhbHVlTWFrZVVuZGVmaW5lZChjb250ZXh0KTsK
K30KKworc3RhdGljIEpTVmFsdWVSZWYgcGVyZm9ybURlbGV0ZUNhbGxiYWNrKEpTQ29udGV4dFJl
ZiBjb250ZXh0LCBKU09iamVjdFJlZiBmdW5jdGlvbiwgSlNPYmplY3RSZWYgdGhpc09iamVjdCwg
c2l6ZV90IGFyZ3VtZW50Q291bnQsIGNvbnN0IEpTVmFsdWVSZWYgYXJndW1lbnRzW10sIEpTVmFs
dWVSZWYqIGV4Y2VwdGlvbikKK3sKKyAgICB0b0FYRWxlbWVudCh0aGlzT2JqZWN0KS0+cGVyZm9y
bURlbGV0ZSgpOworICAgIHJldHVybiBKU1ZhbHVlTWFrZVVuZGVmaW5lZChjb250ZXh0KTsKK30K
Kworc3RhdGljIEpTVmFsdWVSZWYgcGVyZm9ybVVuZG9DYWxsYmFjayhKU0NvbnRleHRSZWYgY29u
dGV4dCwgSlNPYmplY3RSZWYgZnVuY3Rpb24sIEpTT2JqZWN0UmVmIHRoaXNPYmplY3QsIHNpemVf
dCBhcmd1bWVudENvdW50LCBjb25zdCBKU1ZhbHVlUmVmIGFyZ3VtZW50c1tdLCBKU1ZhbHVlUmVm
KiBleGNlcHRpb24pCit7CisgICAgdG9BWEVsZW1lbnQodGhpc09iamVjdCktPnBlcmZvcm1VbmRv
KCk7CisgICAgcmV0dXJuIEpTVmFsdWVNYWtlVW5kZWZpbmVkKGNvbnRleHQpOworfQorCitzdGF0
aWMgSlNWYWx1ZVJlZiBwZXJmb3JtUmVkb0NhbGxiYWNrKEpTQ29udGV4dFJlZiBjb250ZXh0LCBK
U09iamVjdFJlZiBmdW5jdGlvbiwgSlNPYmplY3RSZWYgdGhpc09iamVjdCwgc2l6ZV90IGFyZ3Vt
ZW50Q291bnQsIGNvbnN0IEpTVmFsdWVSZWYgYXJndW1lbnRzW10sIEpTVmFsdWVSZWYqIGV4Y2Vw
dGlvbikKK3sKKyAgICB0b0FYRWxlbWVudCh0aGlzT2JqZWN0KS0+cGVyZm9ybVJlZG8oKTsKKyAg
ICByZXR1cm4gSlNWYWx1ZU1ha2VVbmRlZmluZWQoY29udGV4dCk7Cit9CisKIHN0YXRpYyBKU1Zh
bHVlUmVmIHRha2VGb2N1c0NhbGxiYWNrKEpTQ29udGV4dFJlZiBjb250ZXh0LCBKU09iamVjdFJl
ZiBmdW5jdGlvbiwgSlNPYmplY3RSZWYgdGhpc09iamVjdCwgc2l6ZV90IGFyZ3VtZW50Q291bnQs
IGNvbnN0IEpTVmFsdWVSZWYgYXJndW1lbnRzW10sIEpTVmFsdWVSZWYqIGV4Y2VwdGlvbikKIHsK
ICAgICB0b0FYRWxlbWVudCh0aGlzT2JqZWN0KS0+dGFrZUZvY3VzKCk7CkBAIC03ODIsNiArODA2
LDEwIEBAIHN0YXRpYyBKU1ZhbHVlUmVmIHJlbW92ZU5vdGlmaWNhdGlvbkxpc3QKICNpZiAhUExB
VEZPUk0oTUFDKQogSlNTdHJpbmdSZWYgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c3BlYWsoKSB7
IHJldHVybiAwOyB9CiBKU1N0cmluZ1JlZiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpyYW5nZUZv
ckxpbmUoaW50IGxpbmUpIHsgcmV0dXJuIDA7IH0KK3ZvaWQgQWNjZXNzaWJpbGl0eVVJRWxlbWVu
dDo6cGVyZm9ybUVzY2FwZSgpIHsgfQordm9pZCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpwZXJm
b3JtRGVsZXRlKCkgeyB9Cit2b2lkIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnBlcmZvcm1VbmRv
KCkgeyB9Cit2b2lkIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnBlcmZvcm1SZWRvKCkgeyB9CiB2
b2lkIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnNldFNlbGVjdGVkQ2hpbGQoQWNjZXNzaWJpbGl0
eVVJRWxlbWVudCopIGNvbnN0IHsgfQogdW5zaWduZWQgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6
c2VsZWN0ZWRDaGlsZHJlbkNvdW50KCkgY29uc3QgeyByZXR1cm4gMDsgfQogQWNjZXNzaWJpbGl0
eVVJRWxlbWVudCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzZWxlY3RlZENoaWxkQXRJbmRleCh1
bnNpZ25lZCkgY29uc3QgeyByZXR1cm4gMDsgfQpAQCAtOTMxLDYgKzk1OSwxMCBAQCBKU0NsYXNz
UmVmIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmdldEpTCiAgICAgICAgIHsgImRlY3JlbWVudCIs
IGRlY3JlbWVudENhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJv
cGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCiAgICAgICAgIHsgInNob3dNZW51Iiwgc2hvd01l
bnVDYWxsYmFjaywga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0
cmlidXRlRG9udERlbGV0ZSB9LAogICAgICAgICB7ICJwcmVzcyIsIHByZXNzQ2FsbGJhY2ssIGtK
U1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxl
dGUgfSwKKyAgICAgICAgeyAicGVyZm9ybUVzY2FwZSIsIHBlcmZvcm1Fc2NhcGVDYWxsYmFjaywg
a0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERl
bGV0ZSB9LAorICAgICAgICB7ICJwZXJmb3JtVW5kbyIsIHBlcmZvcm1VbmRvQ2FsbGJhY2ssIGtK
U1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxl
dGUgfSwKKyAgICAgICAgeyAicGVyZm9ybVJlZG8iLCBwZXJmb3JtUmVkb0NhbGxiYWNrLCBrSlNQ
cm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRl
IH0sCisgICAgICAgIHsgInBlcmZvcm1EZWxldGUiLCBwZXJmb3JtRGVsZXRlQ2FsbGJhY2ssIGtK
U1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxl
dGUgfSwKICAgICAgICAgeyAiZGlzY2xvc2VkUm93QXRJbmRleCIsIGRpc2Nsb3NlZFJvd0F0SW5k
ZXhDYWxsYmFjaywga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0
cmlidXRlRG9udERlbGV0ZSB9LAogICAgICAgICB7ICJhcmlhT3duc0VsZW1lbnRBdEluZGV4Iiwg
YXJpYU93bnNFbGVtZW50QXRJbmRleENhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRP
bmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCiAgICAgICAgIHsgImFyaWFG
bG93VG9FbGVtZW50QXRJbmRleCIsIGFyaWFGbG93VG9FbGVtZW50QXRJbmRleENhbGxiYWNrLCBr
SlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVs
ZXRlIH0sCkluZGV4OiBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9BY2Nlc3NpYmlsaXR5VUlF
bGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvQWNjZXNz
aWJpbGl0eVVJRWxlbWVudC5oCShyZXZpc2lvbiA3MTE0NCkKKysrIFdlYktpdFRvb2xzL0R1bXBS
ZW5kZXJUcmVlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMTAy
LDYgKzEwMiwxMiBAQCBwdWJsaWM6CiAgICAgdm9pZCBzaG93TWVudSgpOwogICAgIHZvaWQgcHJl
c3MoKTsKIAorICAgIC8vICJVc2VyIEludGVyZmFjZSBJbmRlcGVuZGVuY2UgZm9yIEFjY2Vzc2li
bGUgUmljaCBJbnRlcm5ldCBBcHBsaWNhdGlvbnMiIFczQyBQcm9wb3NhbAorICAgIHZvaWQgcGVy
Zm9ybUVzY2FwZSgpOworICAgIHZvaWQgcGVyZm9ybURlbGV0ZSgpOworICAgIHZvaWQgcGVyZm9y
bVVuZG8oKTsKKyAgICB2b2lkIHBlcmZvcm1SZWRvKCk7CisgICAgCiAgICAgLy8gQXR0cmlidXRl
cyAtIHBsYXRmb3JtLWluZGVwZW5kZW50IGltcGxlbWVudGF0aW9ucwogICAgIEpTU3RyaW5nUmVm
IHN0cmluZ0F0dHJpYnV0ZVZhbHVlKEpTU3RyaW5nUmVmIGF0dHJpYnV0ZSk7CiAgICAgYm9vbCBi
b29sQXR0cmlidXRlVmFsdWUoSlNTdHJpbmdSZWYgYXR0cmlidXRlKTsKSW5kZXg6IFdlYktpdFRv
b2xzL0R1bXBSZW5kZXJUcmVlL21hYy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50TWFjLm1tCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9BY2Nlc3NpYmlsaXR5VUlF
bGVtZW50TWFjLm1tCShyZXZpc2lvbiA3MTE0NCkKKysrIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJU
cmVlL21hYy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50TWFjLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0x
MTIzLDYgKzExMjMsMzQgQEAgdm9pZCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpwcmVzcygpCiAg
ICAgRU5EX0FYX09CSkNfRVhDRVBUSU9OUwogfQogCit2b2lkIEFjY2Vzc2liaWxpdHlVSUVsZW1l
bnQ6OnBlcmZvcm1Fc2NhcGUoKQoreworICAgIEJFR0lOX0FYX09CSkNfRVhDRVBUSU9OUworICAg
IFttX2VsZW1lbnQgYWNjZXNzaWJpbGl0eVBlcmZvcm1BY3Rpb246QCJBWEVzY2FwZSJdOworICAg
IEVORF9BWF9PQkpDX0VYQ0VQVElPTlMKK30KKwordm9pZCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50
OjpwZXJmb3JtRGVsZXRlKCkgCit7CisgICAgQkVHSU5fQVhfT0JKQ19FWENFUFRJT05TCisgICAg
W21fZWxlbWVudCBhY2Nlc3NpYmlsaXR5UGVyZm9ybUFjdGlvbjpAIkFYRGVsZXRlIl07CisgICAg
RU5EX0FYX09CSkNfRVhDRVBUSU9OUworfQorCit2b2lkIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6
OnBlcmZvcm1VbmRvKCkKK3sKKyAgICBCRUdJTl9BWF9PQkpDX0VYQ0VQVElPTlMKKyAgICBbbV9l
bGVtZW50IGFjY2Vzc2liaWxpdHlQZXJmb3JtQWN0aW9uOkAiQVhVbmRvIl07CisgICAgRU5EX0FY
X09CSkNfRVhDRVBUSU9OUworfQorCit2b2lkIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnBlcmZv
cm1SZWRvKCkKK3sKKyAgICBCRUdJTl9BWF9PQkpDX0VYQ0VQVElPTlMKKyAgICBbbV9lbGVtZW50
IGFjY2Vzc2liaWxpdHlQZXJmb3JtQWN0aW9uOkAiQVhSZWRvIl07CisgICAgRU5EX0FYX09CSkNf
RVhDRVBUSU9OUyAgICAKK30KKwogdm9pZCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzZXRTZWxl
Y3RlZENoaWxkKEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQqIGVsZW1lbnQpIGNvbnN0CiB7CiAgICAg
QkVHSU5fQVhfT0JKQ19FWENFUFRJT05TCkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA3MTE0NCkKKysrIExh
eW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5IEBACisyMDEw
LTEwLTI2ICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQVg6IFN1cHBvcnQgVUlSZXF1
ZXN0RXZlbnRzIGZyb20gbmV3IFczQyBQcm9wb3NhbAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDczMDEKKworICAgICAgICAqIGFjY2Vzc2liaWxpdHkv
dWlyZXF1ZXN0LWV2ZW50cy1kaXNwYXRjaC1mcm9tLWF4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogYWNjZXNzaWJpbGl0eS91aXJlcXVlc3QtZXZlbnRzLWRpc3BhdGNoLWZyb20tYXgu
aHRtbDogQWRkZWQuCisgICAgICAgICogYWNjZXNzaWJpbGl0eS91aXJlcXVlc3QtZXZlbnRzLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogYWNjZXNzaWJpbGl0eS91aXJlcXVlc3QtZXZl
bnRzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVy
dGllcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9w
ZXJ0eS1kZXNjcmlwdG9ycy1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9kb20vcHJvdG90
eXBlLWluaGVyaXRhbmNlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2pzL2dsb2JhbC1j
b25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0OgorCiAyMDEwLTExLTAyICBBZGVsZSBQZXRlcnNvbiAg
PGFkZWxlQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBLZW50IFRhbXVyYS4KSW5k
ZXg6IExheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvdWlyZXF1ZXN0LWV2ZW50cy1kaXNwYXRjaC1m
cm9tLWF4LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9hY2Nlc3NpYmls
aXR5L3VpcmVxdWVzdC1ldmVudHMtZGlzcGF0Y2gtZnJvbS1heC1leHBlY3RlZC50eHQJKHJldmlz
aW9uIDApCisrKyBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L3VpcmVxdWVzdC1ldmVudHMtZGlz
cGF0Y2gtZnJvbS1heC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMjEgQEAK
K09uZQorCitUd28KKworVGhyZWUKKworRm91cgorCitUaGlzIHRlc3RzIHRoYXQgYSBVSVJlcXVl
c3RFdmVudCBjYW4gYmUgZGlzcGF0Y2hlZCBmcm9tIHRoZSBhY2Nlc3NpYmlsaXR5IGRpc3BhdGNo
IG1lY2hhbmlzbS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgZXZlbnRS
ZWNlaXZlZC50eXBlIGlzIGV4cGVjdGVkVHlwZQorUEFTUyBldmVudFJlY2VpdmVkLnR5cGUgaXMg
ZXhwZWN0ZWRUeXBlCitQQVNTIGV2ZW50UmVjZWl2ZWQudHlwZSBpcyBleHBlY3RlZFR5cGUKK1BB
U1MgZXZlbnRSZWNlaXZlZC50eXBlIGlzIGV4cGVjdGVkVHlwZQorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKSW5kZXg6IExheW91dFRlc3RzL2FjY2Vz
c2liaWxpdHkvdWlyZXF1ZXN0LWV2ZW50cy1kaXNwYXRjaC1mcm9tLWF4Lmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS91aXJlcXVlc3QtZXZlbnRzLWRpc3BhdGNo
LWZyb20tYXguaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkv
dWlyZXF1ZXN0LWV2ZW50cy1kaXNwYXRjaC1mcm9tLWF4Lmh0bWwJKHJldmlzaW9uIDApCkBAIC0w
LDAgKzEsNTYgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uL2Zhc3Qv
anMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQ+Cit2YXIgc3VjY2Vzc2Z1
bGx5UGFyc2VkID0gZmFsc2U7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9mYXN0L2pzL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBpZD0iYm9k
eSI+CisKKzxkaXYgdGFiaW5kZXg9IjAiIGlkPSJvbmUiIG9ud2Via2l0dW5kb3JlcXVlc3Q9InJl
dHVybiBoYW5kbGVFdmVudChldmVudCwgJ3dlYmtpdHVuZG9yZXF1ZXN0Jyk7Ij5PbmU8L2Rpdj48
YnI+Cis8ZGl2IHRhYmluZGV4PSIwIiBpZD0idHdvIiBvbndlYmtpdHJlZG9yZXF1ZXN0PSJyZXR1
cm4gaGFuZGxlRXZlbnQoZXZlbnQsICd3ZWJraXRyZWRvcmVxdWVzdCcpOyI+VHdvPC9kaXY+PGJy
PgorPGRpdiB0YWJpbmRleD0iMCIgaWQ9InRocmVlIiBvbndlYmtpdGVzY2FwZXJlcXVlc3Q9InJl
dHVybiBoYW5kbGVFdmVudChldmVudCwgJ3dlYmtpdGVzY2FwZXJlcXVlc3QnKTsiPlRocmVlPC9k
aXY+PGJyPgorPGRpdiB0YWJpbmRleD0iMCIgaWQ9ImZvdXIiIG9ud2Via2l0ZGVsZXRlcmVxdWVz
dD0icmV0dXJuIGhhbmRsZUV2ZW50KGV2ZW50LCAnd2Via2l0ZGVsZXRlcmVxdWVzdCcpOyI+Rm91
cjwvZGl2Pjxicj4KKworPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKworPHNjcmlwdD4KKworICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3RzIHRoYXQg
YSBVSVJlcXVlc3RFdmVudCBjYW4gYmUgZGlzcGF0Y2hlZCBmcm9tIHRoZSBhY2Nlc3NpYmlsaXR5
IGRpc3BhdGNoIG1lY2hhbmlzbS4iKTsKKworICAgIHZhciBldmVudFJlY2VpdmVkID0gMDsKKyAg
ICB2YXIgZXhwZWN0ZWRUeXBlCisgICAgZnVuY3Rpb24gaGFuZGxlRXZlbnQoZSwgZXhwZWN0ZWQp
IHsKKyAgICAgICAgZXZlbnRSZWNlaXZlZCA9IGU7CisgICAgICAgIGV4cGVjdGVkVHlwZSA9IGV4
cGVjdGVkOworICAgICAgICBzaG91bGRCZSgiZXZlbnRSZWNlaXZlZC50eXBlIiwgImV4cGVjdGVk
VHlwZSIpOworICAgICAgICBpZiAoZXhwZWN0ZWRUeXBlID09ICJ3ZWJraXRkZWxldGVyZXF1ZXN0
IikgeworICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworICAg
ICAgICB9CisgICAgfQorCisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgewor
ICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKyAgICB9Cisg
ICAgCisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm9uZSIpLmZvY3VzKCk7CisgICAgYWNj
ZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQucGVyZm9ybVVuZG8oKTsKKworICAg
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0d28iKS5mb2N1cygpOworICAgIGFjY2Vzc2liaWxp
dHlDb250cm9sbGVyLmZvY3VzZWRFbGVtZW50LnBlcmZvcm1SZWRvKCk7CisKKyAgICBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgidGhyZWUiKS5mb2N1cygpOworICAgIGFjY2Vzc2liaWxpdHlDb250
cm9sbGVyLmZvY3VzZWRFbGVtZW50LnBlcmZvcm1Fc2NhcGUoKTsKKworICAgIGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJmb3VyIikuZm9jdXMoKTsKKyAgICBhY2Nlc3NpYmlsaXR5Q29udHJvbGxl
ci5mb2N1c2VkRWxlbWVudC5wZXJmb3JtRGVsZXRlKCk7CisgICAKKyAgICBzdWNjZXNzZnVsbHlQ
YXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+CisKKzxzY3JpcHQgc3JjPSIuLi9mYXN0L2pzL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDog
TGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS91aXJlcXVlc3QtZXZlbnRzLWV4cGVjdGVkLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L3VpcmVxdWVzdC1ldmVudHMt
ZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS91
aXJlcXVlc3QtZXZlbnRzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwzMyBA
QAorT25lCisKK1R3bworCitUaHJlZQorCitGb3VyCisKK0ZpdmUKKworU2l4CisKK1NldmVuCisK
K0VpZ2h0CisKK1RoaXMgdGVzdHMgdGhhdCBVSVJlcXVlc3RFdmVudHMgd29yayBhcyBkZXNjcmli
ZWQuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIGV2ZW50UmVjZWl2ZWQu
dHlwZSBpcyBleHBlY3RlZFR5cGUKK1BBU1MgZXZlbnRSZWNlaXZlZC50eXBlIGlzIGV4cGVjdGVk
VHlwZQorUEFTUyBldmVudFJlY2VpdmVkLnR5cGUgaXMgZXhwZWN0ZWRUeXBlCitQQVNTIGV2ZW50
UmVjZWl2ZWQudHlwZSBpcyBleHBlY3RlZFR5cGUKK1BBU1MgZXZlbnQudHlwZSBpcyAnd2Via2l0
ZGVsZXRlcmVxdWVzdCcKK1BBU1MgZXZlbnQudHlwZSBpcyAnd2Via2l0ZXNjYXBlcmVxdWVzdCcK
K1BBU1MgZXZlbnQudHlwZSBpcyAnd2Via2l0cmVkb3JlcXVlc3QnCitQQVNTIGV2ZW50LnR5cGUg
aXMgJ3dlYmtpdHVuZG9yZXF1ZXN0JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKSW5kZXg6IExheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvdWlyZXF1
ZXN0LWV2ZW50cy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkv
dWlyZXF1ZXN0LWV2ZW50cy5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvYWNjZXNz
aWJpbGl0eS91aXJlcXVlc3QtZXZlbnRzLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTA1
IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRt
bD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi9mYXN0L2pzL3Jlc291
cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0PgordmFyIHN1Y2Nlc3NmdWxseVBhcnNl
ZCA9IGZhbHNlOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vZmFzdC9qcy9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgaWQ9ImJvZHkiPgorCis8
ZGl2IGlkPSJvbmUiIG9ud2Via2l0dW5kb3JlcXVlc3Q9InJldHVybiBoYW5kbGVFdmVudChldmVu
dCwgJ3dlYmtpdHVuZG9yZXF1ZXN0Jyk7Ij5PbmU8L2Rpdj48YnI+Cis8ZGl2IGlkPSJ0d28iIG9u
d2Via2l0cmVkb3JlcXVlc3Q9InJldHVybiBoYW5kbGVFdmVudChldmVudCwgJ3dlYmtpdHJlZG9y
ZXF1ZXN0Jyk7Ij5Ud288L2Rpdj48YnI+Cis8ZGl2IGlkPSJ0aHJlZSIgb253ZWJraXRlc2NhcGVy
ZXF1ZXN0PSJyZXR1cm4gaGFuZGxlRXZlbnQoZXZlbnQsICd3ZWJraXRlc2NhcGVyZXF1ZXN0Jyk7
Ij5UaHJlZTwvZGl2Pjxicj4KKzxkaXYgaWQ9ImZvdXIiIG9ud2Via2l0ZGVsZXRlcmVxdWVzdD0i
cmV0dXJuIGhhbmRsZUV2ZW50KGV2ZW50LCAnd2Via2l0ZGVsZXRlcmVxdWVzdCcpOyI+Rm91cjwv
ZGl2Pjxicj4KKworPGRpdiBpZD0iZml2ZSI+Rml2ZTwvZGl2Pjxicj4KKzxkaXYgaWQ9InNpeCI+
U2l4PC9kaXY+PGJyPgorPGRpdiBpZD0ic2V2ZW4iPlNldmVuPC9kaXY+PGJyPgorPGRpdiBpZD0i
ZWlnaHQiPkVpZ2h0PC9kaXY+PGJyPgorCis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8c2NyaXB0PgorCisgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdHMgdGhhdCBVSVJlcXVlc3RFdmVudHMgd29yayBhcyBkZXNjcmliZWQuIik7CisKKyAgICB2
YXIgZXZlbnRSZWNlaXZlZCA9IDA7CisgICAgdmFyIGV4cGVjdGVkVHlwZQorICAgIGZ1bmN0aW9u
IGhhbmRsZUV2ZW50KGUsIGV4cGVjdGVkKSB7CisgICAgICAgIGV2ZW50UmVjZWl2ZWQgPSBlOwor
ICAgICAgICBleHBlY3RlZFR5cGUgPSBleHBlY3RlZDsKKyAgICAgICAgc2hvdWxkQmUoImV2ZW50
UmVjZWl2ZWQudHlwZSIsICJleHBlY3RlZFR5cGUiKTsKKyAgICB9CisKKyAgICB2YXIgY291bnQg
PSAwOworICAgIGZ1bmN0aW9uIGluc3RhbGxlZEV2ZW50SGFuZGxlcihlKSB7CisgICAgICAgaWYg
KGNvdW50ID09IDApIHsKKyAgICAgICAgICBzaG91bGRCZSgiZXZlbnQudHlwZSIsICInd2Via2l0
ZGVsZXRlcmVxdWVzdCciKTsKKyAgICAgICB9CisgICAgICAgZWxzZSBpZiAoY291bnQgPT0gMSkg
eworICAgICAgICAgIHNob3VsZEJlKCJldmVudC50eXBlIiwgIid3ZWJraXRlc2NhcGVyZXF1ZXN0
JyIpOworICAgICAgIH0KKyAgICAgICBlbHNlIGlmIChjb3VudCA9PSAyKSB7CisgICAgICAgICAg
c2hvdWxkQmUoImV2ZW50LnR5cGUiLCAiJ3dlYmtpdHJlZG9yZXF1ZXN0JyIpOworICAgICAgIH0K
KyAgICAgICBlbHNlIGlmIChjb3VudCA9PSAzKSB7CisgICAgICAgICAgc2hvdWxkQmUoImV2ZW50
LnR5cGUiLCAiJ3dlYmtpdHVuZG9yZXF1ZXN0JyIpOworICAgICAgICAgIGlmICh3aW5kb3cubGF5
b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIu
bm90aWZ5RG9uZSgpOworICAgICAgICAgIH0KKyAgICAgICB9CisgICAgICAgY291bnQrKzsKKyAg
ICB9CisKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAgICAg
bGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworICAgIH0KKyAgICAKKyAgICAv
LyBTZW5kIHRoZSBldmVudHMgdG8gdGhlIHNwZWNpZmljIG5vZGUgdG8gbWFrZSBzdXJlIHRoZSBv
biogaGFuZGxlcnMgaGFuZGxlIHRoZSBldmVudC4KKyAgICB2YXIgZXZ0ID0gZG9jdW1lbnQuY3Jl
YXRlRXZlbnQoJ1dlYktpdFVJUmVxdWVzdEV2ZW50Jyk7CisgICAgZXZ0LmluaXRXZWJLaXRVSVJl
cXVlc3RFdmVudCgid2Via2l0dW5kb3JlcXVlc3QiLCB0cnVlLCB0cnVlLCBkb2N1bWVudC5kZWZh
dWx0VmlldywgMCk7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm9uZSIpLmRpc3BhdGNo
RXZlbnQoZXZ0KTsKKworICAgIGV2dCA9IGRvY3VtZW50LmNyZWF0ZUV2ZW50KCdXZWJLaXRVSVJl
cXVlc3RFdmVudCcpOworICAgIGV2dC5pbml0V2ViS2l0VUlSZXF1ZXN0RXZlbnQoIndlYmtpdHJl
ZG9yZXF1ZXN0IiwgdHJ1ZSwgdHJ1ZSwgZG9jdW1lbnQuZGVmYXVsdFZpZXcsIDApOworICAgIGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0d28iKS5kaXNwYXRjaEV2ZW50KGV2dCk7CisKKyAgICBl
dnQgPSBkb2N1bWVudC5jcmVhdGVFdmVudCgnV2ViS2l0VUlSZXF1ZXN0RXZlbnQnKTsKKyAgICBl
dnQuaW5pdFdlYktpdFVJUmVxdWVzdEV2ZW50KCJ3ZWJraXRlc2NhcGVyZXF1ZXN0IiwgdHJ1ZSwg
dHJ1ZSwgZG9jdW1lbnQuZGVmYXVsdFZpZXcsIDApOworICAgIGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJ0aHJlZSIpLmRpc3BhdGNoRXZlbnQoZXZ0KTsKKworICAgIGV2dCA9IGRvY3VtZW50LmNy
ZWF0ZUV2ZW50KCdXZWJLaXRVSVJlcXVlc3RFdmVudCcpOworICAgIGV2dC5pbml0V2ViS2l0VUlS
ZXF1ZXN0RXZlbnQoIndlYmtpdGRlbGV0ZXJlcXVlc3QiLCB0cnVlLCB0cnVlLCBkb2N1bWVudC5k
ZWZhdWx0VmlldywgMCk7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZvdXIiKS5kaXNw
YXRjaEV2ZW50KGV2dCk7CisKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZml2ZSIpLmFk
ZEV2ZW50TGlzdGVuZXIoJ3dlYmtpdGRlbGV0ZXJlcXVlc3QnLCBpbnN0YWxsZWRFdmVudEhhbmRs
ZXIpOworICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzaXgiKS5hZGRFdmVudExpc3RlbmVy
KCd3ZWJraXRlc2NhcGVyZXF1ZXN0JywgaW5zdGFsbGVkRXZlbnRIYW5kbGVyKTsKKyAgICBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgic2V2ZW4iKS5hZGRFdmVudExpc3RlbmVyKCd3ZWJraXRyZWRv
cmVxdWVzdCcsIGluc3RhbGxlZEV2ZW50SGFuZGxlcik7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVpZ2h0IikuYWRkRXZlbnRMaXN0ZW5lcignd2Via2l0dW5kb3JlcXVlc3QnLCBpbnN0
YWxsZWRFdmVudEhhbmRsZXIpOworCisgICAgLy8gU2VuZCB0aGUgZXZlbnQgdG8gdGhlIHNwZWNp
ZmljIG5vZGVzIHRvIG1ha2Ugc3VyZSB0aGUgYWRkRXZlbnRMaXN0ZW5lcnMgd29yaworICAgIGV2
dCA9IGRvY3VtZW50LmNyZWF0ZUV2ZW50KCdXZWJLaXRVSVJlcXVlc3RFdmVudCcpOworICAgIGV2
dC5pbml0V2ViS2l0VUlSZXF1ZXN0RXZlbnQoIndlYmtpdGRlbGV0ZXJlcXVlc3QiLCB0cnVlLCB0
cnVlLCBkb2N1bWVudC5kZWZhdWx0VmlldywgMCk7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImZpdmUiKS5kaXNwYXRjaEV2ZW50KGV2dCk7CisKKyAgICBldnQgPSBkb2N1bWVudC5jcmVh
dGVFdmVudCgnV2ViS2l0VUlSZXF1ZXN0RXZlbnQnKTsKKyAgICBldnQuaW5pdFdlYktpdFVJUmVx
dWVzdEV2ZW50KCJ3ZWJraXRlc2NhcGVyZXF1ZXN0IiwgdHJ1ZSwgdHJ1ZSwgZG9jdW1lbnQuZGVm
YXVsdFZpZXcsIDApOworICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzaXgiKS5kaXNwYXRj
aEV2ZW50KGV2dCk7CisKKyAgICBldnQgPSBkb2N1bWVudC5jcmVhdGVFdmVudCgnV2ViS2l0VUlS
ZXF1ZXN0RXZlbnQnKTsKKyAgICBldnQuaW5pdFdlYktpdFVJUmVxdWVzdEV2ZW50KCJ3ZWJraXRy
ZWRvcmVxdWVzdCIsIHRydWUsIHRydWUsIGRvY3VtZW50LmRlZmF1bHRWaWV3LCAwKTsKKyAgICBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2V2ZW4iKS5kaXNwYXRjaEV2ZW50KGV2dCk7CisKKyAg
ICBldnQgPSBkb2N1bWVudC5jcmVhdGVFdmVudCgnV2ViS2l0VUlSZXF1ZXN0RXZlbnQnKTsKKyAg
ICBldnQuaW5pdFdlYktpdFVJUmVxdWVzdEV2ZW50KCJ3ZWJraXR1bmRvcmVxdWVzdCIsIHRydWUs
IHRydWUsIGRvY3VtZW50LmRlZmF1bHRWaWV3LCAwKTsKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZWlnaHQiKS5kaXNwYXRjaEV2ZW50KGV2dCk7CisKKyAgICBzdWNjZXNzZnVsbHlQYXJz
ZWQgPSB0cnVlOworPC9zY3JpcHQ+CisKKzxzY3JpcHQgc3JjPSIuLi9mYXN0L2pzL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5
b3V0VGVzdHMvZmFzdC9kb20vcHJvdG90eXBlLWluaGVyaXRhbmNlLWV4cGVjdGVkLnR4dAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2RvbS9wcm90b3R5cGUtaW5oZXJpdGFuY2UtZXhw
ZWN0ZWQudHh0CShyZXZpc2lvbiA3MTE0NCkKKysrIExheW91dFRlc3RzL2Zhc3QvZG9tL3Byb3Rv
dHlwZS1pbmhlcml0YW5jZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTYzMyw2ICs2
MzMsOCBAQCBQQVNTIGlubmVyLldlYktpdFRyYW5zaXRpb25FdmVudC5pc0lubmVyCiBQQVNTIGlu
bmVyLldlYktpdFRyYW5zaXRpb25FdmVudC5jb25zdHJ1Y3Rvci5pc0lubmVyIGlzIHRydWUKIFBB
U1MgaW5uZXIuV2ViU29ja2V0LmlzSW5uZXIgaXMgdHJ1ZQogUEFTUyBpbm5lci5XZWJTb2NrZXQu
Y29uc3RydWN0b3IuaXNJbm5lciBpcyB0cnVlCitQQVNTIGlubmVyLldlYktpdFVJUmVxdWVzdEV2
ZW50LmlzSW5uZXIgaXMgdHJ1ZQorUEFTUyBpbm5lci5XZWJLaXRVSVJlcXVlc3RFdmVudC5jb25z
dHJ1Y3Rvci5pc0lubmVyIGlzIHRydWUKIFBBU1MgaW5uZXIuV2hlZWxFdmVudC5pc0lubmVyIGlz
IHRydWUKIFBBU1MgaW5uZXIuV2hlZWxFdmVudC5jb25zdHJ1Y3Rvci5pc0lubmVyIGlzIHRydWUK
IFBBU1MgaW5uZXIuV29ya2VyLmlzSW5uZXIgaXMgdHJ1ZQpJbmRleDogTGF5b3V0VGVzdHMvZmFz
dC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMtZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiA3MTE0NCkKKysrIExheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5k
b3ctcHJvcGVydGllcy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTIwMzMsNiArMjAz
Myw4IEBAIHdpbmRvdy5XZWJTb2NrZXQucHJvdG90eXBlLmNsb3NlIFtmdW5jdGkKIHdpbmRvdy5X
ZWJTb2NrZXQucHJvdG90eXBlLmRpc3BhdGNoRXZlbnQgW2Z1bmN0aW9uXQogd2luZG93LldlYlNv
Y2tldC5wcm90b3R5cGUucmVtb3ZlRXZlbnRMaXN0ZW5lciBbZnVuY3Rpb25dCiB3aW5kb3cuV2Vi
U29ja2V0LnByb3RvdHlwZS5zZW5kIFtmdW5jdGlvbl0KK3dpbmRvdy5XZWJLaXRVSVJlcXVlc3RF
dmVudCBbb2JqZWN0IFdlYktpdFVJUmVxdWVzdEV2ZW50Q29uc3RydWN0b3JdCit3aW5kb3cuV2Vi
S2l0VUlSZXF1ZXN0RXZlbnQucHJvdG90eXBlIFtwcmludGVkIGFib3ZlIGFzIHdpbmRvdy5FdmVu
dC5wcm90b3R5cGVdCiB3aW5kb3cuV2hlZWxFdmVudCBbb2JqZWN0IFdoZWVsRXZlbnRDb25zdHJ1
Y3Rvcl0KIHdpbmRvdy5XaGVlbEV2ZW50LnByb3RvdHlwZSBbcHJpbnRlZCBhYm92ZSBhcyB3aW5k
b3cuRXZlbnQucHJvdG90eXBlXQogd2luZG93LldvcmtlciBbb2JqZWN0IFdvcmtlckNvbnN0cnVj
dG9yXQpAQCAtMjM2Nyw3ICsyMzY5LDExIEBAIHdpbmRvdy5vbndhaXRpbmcgW251bGxdCiB3aW5k
b3cub253ZWJraXRhbmltYXRpb25lbmQgW251bGxdCiB3aW5kb3cub253ZWJraXRhbmltYXRpb25p
dGVyYXRpb24gW251bGxdCiB3aW5kb3cub253ZWJraXRhbmltYXRpb25zdGFydCBbbnVsbF0KK3dp
bmRvdy5vbndlYmtpdGRlbGV0ZXJlcXVlc3QgW251bGxdCit3aW5kb3cub253ZWJraXRlc2NhcGVy
ZXF1ZXN0IFtudWxsXQord2luZG93Lm9ud2Via2l0cmVkb3JlcXVlc3QgW251bGxdCiB3aW5kb3cu
b253ZWJraXR0cmFuc2l0aW9uZW5kIFtudWxsXQord2luZG93Lm9ud2Via2l0dW5kb3JlcXVlc3Qg
W251bGxdCiB3aW5kb3cub3BlbiBbZnVuY3Rpb25dCiB3aW5kb3cub3BlbkRhdGFiYXNlIFtmdW5j
dGlvbl0KIHdpbmRvdy5vdXRlckhlaWdodCBbbnVtYmVyXQpJbmRleDogTGF5b3V0VGVzdHMvZmFz
dC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0eS1kZXNjcmlwdG9ycy1leHBlY3RlZC50eHQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0eS1k
ZXNjcmlwdG9ycy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDcxMTQ0KQorKysgTGF5b3V0VGVzdHMv
ZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0eS1kZXNjcmlwdG9ycy1leHBlY3RlZC50eHQJ
KHdvcmtpbmcgY29weSkKQEAgLTMxOCw2ICszMTgsNyBAQCBQQVNTIHR5cGVvZiBPYmplY3QuZ2V0
T3duUHJvcGVydHlEZXNjcmlwCiBQQVNTIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNj
cmlwdG9yKHdpbmRvdywgJ1dlYktpdFBvaW50JykgaXMgJ29iamVjdCcKIFBBU1MgdHlwZW9mIE9i
amVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2luZG93LCAnV2ViS2l0VHJhbnNpdGlvbkV2
ZW50JykgaXMgJ29iamVjdCcKIFBBU1MgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2Ny
aXB0b3Iod2luZG93LCAnV2ViU29ja2V0JykgaXMgJ29iamVjdCcKK1BBU1MgdHlwZW9mIE9iamVj
dC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2luZG93LCAnV2ViS2l0VUlSZXF1ZXN0RXZlbnQn
KSBpcyAnb2JqZWN0JwogUEFTUyB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRv
cih3aW5kb3csICdXaGVlbEV2ZW50JykgaXMgJ29iamVjdCcKIFBBU1MgdHlwZW9mIE9iamVjdC5n
ZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2luZG93LCAnV29ya2VyJykgaXMgJ29iamVjdCcKIFBB
U1MgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2luZG93LCAnWE1MRG9j
dW1lbnQnKSBpcyAnb2JqZWN0JwpAQCAtNDM5LDcgKzQ0MCwxMSBAQCBQQVNTIHR5cGVvZiBPYmpl
Y3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwCiBQQVNTIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVy
dHlEZXNjcmlwdG9yKHdpbmRvdywgJ29ud2Via2l0YW5pbWF0aW9uZW5kJykgaXMgJ29iamVjdCcK
IFBBU1MgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2luZG93LCAnb253
ZWJraXRhbmltYXRpb25pdGVyYXRpb24nKSBpcyAnb2JqZWN0JwogUEFTUyB0eXBlb2YgT2JqZWN0
LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3aW5kb3csICdvbndlYmtpdGFuaW1hdGlvbnN0YXJ0
JykgaXMgJ29iamVjdCcKK1BBU1MgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0
b3Iod2luZG93LCAnb253ZWJraXRkZWxldGVyZXF1ZXN0JykgaXMgJ29iamVjdCcKK1BBU1MgdHlw
ZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2luZG93LCAnb253ZWJraXRlc2Nh
cGVyZXF1ZXN0JykgaXMgJ29iamVjdCcKK1BBU1MgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0
eURlc2NyaXB0b3Iod2luZG93LCAnb253ZWJraXRyZWRvcmVxdWVzdCcpIGlzICdvYmplY3QnCiBQ
QVNTIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywgJ29ud2Vi
a2l0dHJhbnNpdGlvbmVuZCcpIGlzICdvYmplY3QnCitQQVNTIHR5cGVvZiBPYmplY3QuZ2V0T3du
UHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywgJ29ud2Via2l0dW5kb3JlcXVlc3QnKSBpcyAnb2Jq
ZWN0JwogUEFTUyB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3aW5kb3cs
ICdvdXRlckhlaWdodCcpIGlzICdvYmplY3QnCiBQQVNTIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJv
cGVydHlEZXNjcmlwdG9yKHdpbmRvdywgJ291dGVyV2lkdGgnKSBpcyAnb2JqZWN0JwogUEFTUyB0
eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3aW5kb3csICdwYWdlWE9mZnNl
dCcpIGlzICdvYmplY3QnCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2pzL2dsb2JhbC1jb25zdHJ1
Y3RvcnMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvanMvZ2xv
YmFsLWNvbnN0cnVjdG9ycy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDcxMTQ0KQorKysgTGF5b3V0
VGVzdHMvZmFzdC9qcy9nbG9iYWwtY29uc3RydWN0b3JzLWV4cGVjdGVkLnR4dAkod29ya2luZyBj
b3B5KQpAQCAtMjk5LDYgKzI5OSw3IEBAIFBBU1MgV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUudG9T
dHJpbmcoKSAKIFBBU1MgV2ViS2l0UG9pbnQudG9TdHJpbmcoKSBpcyAnW29iamVjdCBXZWJLaXRQ
b2ludENvbnN0cnVjdG9yXScKIFBBU1MgV2ViS2l0VHJhbnNpdGlvbkV2ZW50LnRvU3RyaW5nKCkg
aXMgJ1tvYmplY3QgV2ViS2l0VHJhbnNpdGlvbkV2ZW50Q29uc3RydWN0b3JdJwogUEFTUyBXZWJT
b2NrZXQudG9TdHJpbmcoKSBpcyAnW29iamVjdCBXZWJTb2NrZXRDb25zdHJ1Y3Rvcl0nCitQQVNT
IFdlYktpdFVJUmVxdWVzdEV2ZW50LnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgV2Via2l0VUlSZXF1
ZXN0RXZlbnRDb25zdHJ1Y3Rvcl0nCiBQQVNTIFdoZWVsRXZlbnQudG9TdHJpbmcoKSBpcyAnW29i
amVjdCBXaGVlbEV2ZW50Q29uc3RydWN0b3JdJwogUEFTUyBXb3JrZXIudG9TdHJpbmcoKSBpcyAn
W29iamVjdCBXb3JrZXJDb25zdHJ1Y3Rvcl0nCiBQQVNTIFhNTERvY3VtZW50LnRvU3RyaW5nKCkg
aXMgJ1tvYmplY3QgRG9jdW1lbnRDb25zdHJ1Y3Rvcl0nCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>72742</attachid>
            <date>2010-11-02 14:50:23 -0700</date>
            <delta_ts>2010-11-05 16:07:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-47301-20101102145021.patch</filename>
            <type>text/plain</type>
            <size>62915</size>
            <attacher name="chris fleizach">cfleizach</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA3MTE0NCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNjUgQEAKKzIwMTAtMTAtMjYgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNoQGFw
cGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBBWDogU3VwcG9ydCBVSVJlcXVlc3RFdmVudHMgZnJvbSBuZXcgVzNDIFByb3Bvc2FsCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NzMwMQorCisgICAg
ICAgIFN1cHBvcnQgdGhlIG5ldyBVSVJlcXVlc3RFdmVudCBhcyBvdXRsaW5lIGluCisgICAgICAg
IlVzZXIgSW50ZXJmYWNlIEluZGVwZW5kZW5jZSBmb3IgQWNjZXNzaWJsZSBSaWNoIEludGVybmV0
IEFwcGxpY2F0aW9ucyIKKyAgICAgICAgaHR0cDovL2xpc3RzLnczLm9yZy9BcmNoaXZlcy9QdWJs
aWMvd2FpLXh0ZWNoLzIwMTBBdWcvYXR0LTAwNzkvVXNlckludGVyZmFjZUluZGVwZW5kZW5jZS5o
dG1sCisgCisgICAgICAgIEl0IGFkZHMgYSBuZXcgZXZlbnQgdGhhdCBjYW4gYmUgbGlzdGVuZWQg
dG8gYW5kIHNlbnQgdGhhdCBkZWNvdXBsZXMgYWN0aW9ucyBmcm9tIGEgc3BlY2lmaWMKKyAgICAg
ICAgdHlwZSBvZiBpbnB1dCwgYWxsb3dpbmcgYW4gYXNzaXN0aXZlIHRlY2hub2xvZ3kgdG8gc2Vu
ZCBhbiAiZXNjYXBlLCB1bmRvLCByZWRvLCBvciBkZWxldGUiIGFjdGlvbgorICAgICAgICB3aGVu
ZXZlciBpdCBuZWVkcyB0byBiYXNlZCBvbiBpdHMgb3duIGlucHV0LgorCisgICAgICAgIFRlc3Rz
OiBhY2Nlc3NpYmlsaXR5L3VpcmVxdWVzdC1ldmVudHMtZGlzcGF0Y2gtZnJvbS1heC5odG1sCisg
ICAgICAgICAgICAgICBhY2Nlc3NpYmlsaXR5L3VpcmVxdWVzdC1ldmVudHMuaHRtbAorCisgICAg
ICAgICogQW5kcm9pZC5kZXJpdmVkLnY4YmluZGluZ3MubWs6CisgICAgICAgICogQW5kcm9pZC5q
c2NiaW5kaW5ncy5tazoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5jcHA6CisgICAgICAgICog
RGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbToKKyAgICAgICAg
KiBXZWJDb3JlLmV4cC5pbjoKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogV2Vi
Q29yZS5wcmk6CisgICAgICAgICogV2ViQ29yZS5wcm86CisgICAgICAgICogV2ViQ29yZS52Y3By
b2ovV2ViQ29yZS52Y3Byb2o6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHA6CisgICAg
ICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3Q6OmRpc3BhdGNoV2Via2l0VUlSZXF1ZXN0RXZlbnQp
OgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oOgorICAgICAg
ICAqIGFjY2Vzc2liaWxpdHkvV2Via2l0VUlSZXF1ZXN0RXZlbnQuY3BwOiBBZGRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OldlYmtpdFVJUmVxdWVzdEV2ZW50OjpXZWJraXRVSVJlcXVlc3RFdmVudCk6
CisgICAgICAgIChXZWJDb3JlOjpXZWJraXRVSVJlcXVlc3RFdmVudDo6aW5pdFdlYmtpdFVJUmVx
dWVzdEV2ZW50KToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L1dlYmtpdFVJUmVxdWVzdEV2ZW50
Lmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6V2Via2l0VUlSZXF1ZXN0RXZlbnQ6OmNyZWF0
ZSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJraXRVSVJlcXVlc3RFdmVudDo6aXNXZWJraXRVSVJl
cXVlc3RFdmVudCk6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9XZWJraXRVSVJlcXVlc3RFdmVu
dC5pZGw6IEFkZGVkLgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvbWFjL0FjY2Vzc2liaWxpdHlP
YmplY3RXcmFwcGVyLm1tOgorICAgICAgICAoLVtBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlciBh
Y2Nlc3NpYmlsaXR5UGVyZm9ybUFjdGlvbjpdKToKKyAgICAgICAgKiBiaW5kaW5ncy9nb2JqZWN0
L0dOVW1ha2VmaWxlLmFtOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRXZlbnRDdXN0b20uY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6dG9KUyk6CisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpjcmVhdGVFdmVudCk6CisgICAgICAgICogZG9t
L0RvY3VtZW50Lmg6CisgICAgICAgICogZG9tL0RvY3VtZW50LmlkbDoKKyAgICAgICAgKiBkb20v
RWxlbWVudC5oOgorICAgICAgICAqIGRvbS9FbGVtZW50LmlkbDoKKyAgICAgICAgKiBkb20vRXZl
bnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnQ6OmlzV2Via2l0VUlSZXF1ZXN0RXZlbnQp
OgorICAgICAgICAqIGRvbS9FdmVudC5oOgorICAgICAgICAqIGRvbS9FdmVudC5pZGw6CisgICAg
ICAgICogZG9tL0V2ZW50TmFtZXMuaDoKKyAgICAgICAgKiBodG1sL0hUTUxBdHRyaWJ1dGVOYW1l
cy5pbjoKKyAgICAgICAgKiBodG1sL0hUTUxFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkhUTUxFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZSk6CisgICAgICAgICogcGFnZS9ET01X
aW5kb3cuaDoKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5pZGw6CisKIDIwMTAtMTEtMDIgIFBh
dmVsIEZlbGRtYW4gIDxwZmVsZG1hbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQg
YnkgVGltb3RoeSBIYXRjaGVyLgpJbmRleDogV2ViQ29yZS9BbmRyb2lkLmRlcml2ZWQudjhiaW5k
aW5ncy5tawo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL0FuZHJvaWQuZGVyaXZlZC52OGJpbmRpbmdz
Lm1rCShyZXZpc2lvbiA3MTE0NCkKKysrIFdlYkNvcmUvQW5kcm9pZC5kZXJpdmVkLnY4YmluZGlu
Z3MubWsJKHdvcmtpbmcgY29weSkKQEAgLTI2NSw2ICsyNjUsMjAgQEAgTE9DQUxfR0VORVJBVEVE
X1NPVVJDRVMgKz0gJChHRU4pCiAjIGFib3ZlIHJ1bGVzLiAgU3BlY2lmeWluZyB0aGlzIGV4cGxp
Y2l0bHkgbWFrZXMgLWoyIHdvcmsuCiAkKHBhdHN1YnN0ICUuaCwlLmNwcCwkKEdFTikpOiAkKGlu
dGVybWVkaWF0ZXMpL2JpbmRpbmdzLyUuY3BwIDogJChpbnRlcm1lZGlhdGVzKS9iaW5kaW5ncy8l
LmgKIAorIyBBY2Nlc3NpYmlsaXR5CitHRU4gOj0gXAorICAgICQoaW50ZXJtZWRpYXRlcykvYmlu
ZGluZ3MvVjhXZWJLaXRVSVJlcXVlc3RFdmVudC5oCisgCiskKEdFTik6IFBSSVZBVEVfUEFUSCA6
PSAkKExPQ0FMX1BBVEgpCiskKEdFTik6IFBSSVZBVEVfQ1VTVE9NX1RPT0wgPSBTT1VSQ0VfUk9P
VD0kKFBSSVZBVEVfUEFUSCkgcGVybCAtSSQoUFJJVkFURV9QQVRIKS9iaW5kaW5ncy9zY3JpcHRz
ICQoUFJJVkFURV9QQVRIKS9iaW5kaW5ncy9zY3JpcHRzL2dlbmVyYXRlLWJpbmRpbmdzLnBsIC0t
ZGVmaW5lcyAiJChGRUFUVVJFX0RFRklORVMpIExBTkdVQUdFX0pBVkFTQ1JJUFQiIC0tZ2VuZXJh
dG9yIFY4IC0taW5jbHVkZSBkb20gLS1pbmNsdWRlIGh0bWwgLS1vdXRwdXRkaXIgJChkaXIgJEAp
ICQ8CiskKEdFTik6ICQoaW50ZXJtZWRpYXRlcykvYmluZGluZ3MvVjglLmggOiAkKExPQ0FMX1BB
VEgpL2FjY2Vzc2liaWxpdHkvJS5pZGwgJChqc19iaW5kaW5nX3NjcmlwdHMpCisJJCh0cmFuc2Zv
cm0tZ2VuZXJhdGVkLXNvdXJjZSkKK0xPQ0FMX0dFTkVSQVRFRF9TT1VSQ0VTICs9ICQoR0VOKQor
CisjIFdlIGFsc28gbmVlZCB0aGUgLmNwcCBmaWxlcywgd2hpY2ggYXJlIGdlbmVyYXRlZCBhcyBz
aWRlIGVmZmVjdHMgb2YgdGhlCisjIGFib3ZlIHJ1bGVzLiAgU3BlY2lmeWluZyB0aGlzIGV4cGxp
Y2l0bHkgbWFrZXMgLWoyIHdvcmsuCiskKHBhdHN1YnN0ICUuaCwlLmNwcCwkKEdFTikpOiAkKGlu
dGVybWVkaWF0ZXMpL2JpbmRpbmdzLyUuY3BwIDogJChpbnRlcm1lZGlhdGVzKS9iaW5kaW5ncy8l
LmgKKwogIyBQYWdlCiBHRU4gOj0gXAogICAgICQoaW50ZXJtZWRpYXRlcykvYmluZGluZ3MvVjhC
YXJJbmZvLmggXApJbmRleDogV2ViQ29yZS9BbmRyb2lkLmpzY2JpbmRpbmdzLm1rCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvQW5kcm9pZC5qc2NiaW5kaW5ncy5tawkocmV2aXNpb24gNzExNDQpCisr
KyBXZWJDb3JlL0FuZHJvaWQuanNjYmluZGluZ3MubWsJKHdvcmtpbmcgY29weSkKQEAgLTQ1LDYg
KzQ1LDcgQEAgQklORElOR19DX0lOQ0xVREVTIDo9IFwKIAkkKEpBVkFTQ1JJUFRDT1JFX1BBVEgp
L3dyZWMgXAogCSQoSkFWQVNDUklQVENPUkVfUEFUSCkvRm9yd2FyZGluZ0hlYWRlcnMgXAogCVwK
KwkkKGJhc2VfaW50ZXJtZWRpYXRlcykvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5IFwKIAkkKGJhc2Vf
aW50ZXJtZWRpYXRlcykvV2ViQ29yZS9iaW5kaW5ncy9qcyBcCiAJJChiYXNlX2ludGVybWVkaWF0
ZXMpL1dlYkNvcmUvZG9tIFwKIAkkKGJhc2VfaW50ZXJtZWRpYXRlcykvV2ViQ29yZS9odG1sL2Nh
bnZhcyBcCkluZGV4OiBXZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcAkocmV2aXNpb24gNzExNDQpCisrKyBXZWJDb3JlL0Rl
cml2ZWRTb3VyY2VzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDI3LDYgKzQyNyw3IEBACiAjaW5j
bHVkZSAiSlNXZWJLaXRDU1NNYXRyaXguY3BwIgogI2luY2x1ZGUgIkpTV2ViS2l0UG9pbnQuY3Bw
IgogI2luY2x1ZGUgIkpTV2ViS2l0VHJhbnNpdGlvbkV2ZW50LmNwcCIKKyNpbmNsdWRlICJKU1dl
YktpdFVJUmVxdWVzdEV2ZW50LmNwcCIKICNpbmNsdWRlICJKU1dlYlNvY2tldC5jcHAiCiAjaW5j
bHVkZSAiSlNXaGVlbEV2ZW50LmNwcCIKICNpbmNsdWRlICJKU1dvcmtlci5jcHAiCkluZGV4OiBX
ZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9EZXJpdmVk
U291cmNlcy5tYWtlCShyZXZpc2lvbiA3MTE0NCkKKysrIFdlYkNvcmUvRGVyaXZlZFNvdXJjZXMu
bWFrZQkod29ya2luZyBjb3B5KQpAQCAtMjgsNiArMjgsNyBAQAogCiBWUEFUSCA9IFwKICAgICAk
KFdlYkNvcmUpIFwKKyAgICAkKFdlYkNvcmUpL2FjY2Vzc2liaWxpdHkgXAogICAgICQoV2ViQ29y
ZSkvYmluZGluZ3MvZ2VuZXJpYyBcCiAgICAgJChXZWJDb3JlKS9iaW5kaW5ncy9qcyBcCiAgICAg
JChXZWJDb3JlKS9iaW5kaW5ncy9vYmpjIFwKQEAgLTQ4MSw2ICs0ODIsNyBAQCBET01fQ0xBU1NF
UyA9IFwKICAgICBXZWJLaXRDU1NLZXlmcmFtZXNSdWxlIFwKICAgICBXZWJLaXRDU1NNYXRyaXgg
XAogICAgIFdlYktpdENTU1RyYW5zZm9ybVZhbHVlIFwKKyAgICBXZWJLaXRVSVJlcXVlc3RFdmVu
dCBcCiAgICAgV2ViS2l0UG9pbnQgXAogICAgIFdlYktpdFRyYW5zaXRpb25FdmVudCBcCiAgICAg
V2ViU29ja2V0IFwKSW5kZXg6IFdlYkNvcmUvR05VbWFrZWZpbGUuYW0KPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9HTlVtYWtlZmlsZS5hbQkocmV2aXNpb24gNzExNDQpCisrKyBXZWJDb3JlL0dOVW1h
a2VmaWxlLmFtCSh3b3JraW5nIGNvcHkpCkBAIC01NDcsNiArNTQ3LDggQEAgd2ViY29yZV9idWls
dF9zb3VyY2VzICs9IFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViS2l0UG9pbnQuaCBc
CiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dlYktpdFRyYW5zaXRpb25FdmVudC5jcHAgXAog
CURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXZWJLaXRUcmFuc2l0aW9uRXZlbnQuaCBcCisJRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dlYktpdFVJUmVxdWVzdEV2ZW50LmNwcCBcCisJRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU1dlYktpdFVJUmVxdWVzdEV2ZW50LmggXAogCURlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNXaGVlbEV2ZW50LmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U1doZWVsRXZlbnQuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dvcmtlckNvbnRleHQu
Y3BwIFwKQEAgLTYyOCw2ICs2MzAsOCBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVdlYkNvcmUv
YWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5VGFibGVSb3cuaCBcCiAJV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwIFwKIAlXZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmpl
Y3RDYWNoZS5oIFwKKwlXZWJDb3JlL2FjY2Vzc2liaWxpdHkvV2ViS2l0VUlSZXF1ZXN0RXZlbnQu
Y3BwIFwKKwlXZWJDb3JlL2FjY2Vzc2liaWxpdHkvV2ViS2l0VUlSZXF1ZXN0RXZlbnQuaCBcCiAJ
V2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL0FjdGl2ZURPTUNhbGxiYWNrLmNwcCBcCiAJV2ViQ29y
ZS9iaW5kaW5ncy9nZW5lcmljL0FjdGl2ZURPTUNhbGxiYWNrLmggXAogCVdlYkNvcmUvYmluZGlu
Z3MvZ2VuZXJpYy9CaW5kaW5nRnJhbWUuaCBcCkBAIC00NTkxLDYgKzQ1OTUsNyBAQCBEZXJpdmVk
U291cmNlcy9XZWJDb3JlL0luc3BlY3RvckZyb250ZW5kCiAJJChBTV9WX0dFTikkKFBFUkwpIC1J
JChXZWJDb3JlKS9iaW5kaW5ncy9zY3JpcHRzIC1JJChXZWJDb3JlKS9pbnNwZWN0b3IgJChXZWJD
b3JlKS9iaW5kaW5ncy9zY3JpcHRzL2dlbmVyYXRlLWJpbmRpbmdzLnBsICQoSURMX1BBVEg6JT0t
LWluY2x1ZGUgIiUiKSAtLW91dHB1dERpciAiJChHRU5TT1VSQ0VTX1dFQkNPUkUpIiAtLWRlZmlu
ZXMgIkxBTkdVQUdFX0pBVkFTQ1JJUFQ9MSAkKEZFQVRVUkVfREVGSU5FUykiIC0tZ2VuZXJhdG9y
IEluc3BlY3RvciAkPAogCiBJRExfUEFUSCA6PSBcCisgICAgJChXZWJDb3JlKS9hY2Nlc3NpYmls
aXR5IFwKICAgICAkKFdlYkNvcmUpL2JpbmRpbmdzL2pzIFwKICAgICAkKFdlYkNvcmUpL2NzcyBc
CiAgICAgJChXZWJDb3JlKS9kb20gXApJbmRleDogV2ViQ29yZS9XZWJDb3JlLmd5cGkKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9XZWJDb3JlLmd5cGkJKHJldmlzaW9uIDcxMTQ0KQorKysgV2ViQ29y
ZS9XZWJDb3JlLmd5cGkJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw3IEBACiB7CiAgICAgJ3Zh
cmlhYmxlcyc6IHsKICAgICAgICAgJ3dlYmNvcmVfYmluZGluZ3NfaWRsX2ZpbGVzJzogWworICAg
ICAgICAgICAgJ2FjY2Vzc2liaWxpdHkvV2ViS2l0VUlSZXF1ZXN0RXZlbnQuaWRsJywKICAgICAg
ICAgICAgICdjc3MvQ1NTQ2hhcnNldFJ1bGUuaWRsJywKICAgICAgICAgICAgICdjc3MvQ1NTRm9u
dEZhY2VSdWxlLmlkbCcsCiAgICAgICAgICAgICAnY3NzL0NTU0ltcG9ydFJ1bGUuaWRsJywKQEAg
LTUwNCw2ICs1MDUsOCBAQAogICAgICAgICAgICAgJ2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0
eVRhYmxlSGVhZGVyQ29udGFpbmVyLmgnLAogICAgICAgICAgICAgJ2FjY2Vzc2liaWxpdHkvQWNj
ZXNzaWJpbGl0eVRhYmxlUm93LmNwcCcsCiAgICAgICAgICAgICAnYWNjZXNzaWJpbGl0eS9BY2Nl
c3NpYmlsaXR5VGFibGVSb3cuaCcsCisgICAgICAgICAgICAnYWNjZXNzaWJpbGl0eS9XZWJLaXRV
SVJlcXVlc3RFdmVudC5jcHAnLAorICAgICAgICAgICAgJ2FjY2Vzc2liaWxpdHkvV2ViS2l0VUlS
ZXF1ZXN0RXZlbnQuaCcsCiAgICAgICAgICAgICAnYWNjZXNzaWJpbGl0eS9jaHJvbWl1bS9BWE9i
amVjdENhY2hlQ2hyb21pdW0uY3BwJywKICAgICAgICAgICAgICdhY2Nlc3NpYmlsaXR5L2Nocm9t
aXVtL0FjY2Vzc2liaWxpdHlPYmplY3RDaHJvbWl1bS5jcHAnLAogICAgICAgICAgICAgJ2FjY2Vz
c2liaWxpdHkvY2hyb21pdW0vQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIuaCcsCkluZGV4OiBX
ZWJDb3JlL1dlYkNvcmUucHJpCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvV2ViQ29yZS5wcmkJKHJl
dmlzaW9uIDcxMTQ0KQorKysgV2ViQ29yZS9XZWJDb3JlLnByaQkod29ya2luZyBjb3B5KQpAQCAt
NjksNiArNjksNyBAQCB2OCB7CiB9CiAKIElETF9CSU5ESU5HUyArPSBcCisgICAgYWNjZXNzaWJp
bGl0eS9XZWJLaXRVSVJlcXVlc3RFdmVudC5pZGwgXAogICAgIGNzcy9Db3VudGVyLmlkbCBcCiAg
ICAgY3NzL0NTU0NoYXJzZXRSdWxlLmlkbCBcCiAgICAgY3NzL0NTU0ZvbnRGYWNlUnVsZS5pZGwg
XApJbmRleDogV2ViQ29yZS9XZWJDb3JlLnBybwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL1dlYkNv
cmUucHJvCShyZXZpc2lvbiA3MTE0NCkKKysrIFdlYkNvcmUvV2ViQ29yZS5wcm8JKHdvcmtpbmcg
Y29weSkKQEAgLTMxOSw2ICszMTksNyBAQCBTT1VSQ0VTICs9IFwKICAgICBhY2Nlc3NpYmlsaXR5
L0FjY2Vzc2liaWxpdHlUYWJsZUhlYWRlckNvbnRhaW5lci5jcHAgXCAgICAKICAgICBhY2Nlc3Np
YmlsaXR5L0FjY2Vzc2liaWxpdHlUYWJsZVJvdy5jcHAgXCAgICAKICAgICBhY2Nlc3NpYmlsaXR5
L0FYT2JqZWN0Q2FjaGUuY3BwIFwKKyAgICBhY2Nlc3NpYmlsaXR5L1dlYktpdFVJUmVxdWVzdEV2
ZW50LmNwcCBcCiAgICAgYmluZGluZ3MvZ2VuZXJpYy9BY3RpdmVET01DYWxsYmFjay5jcHAKIAog
djggewpJbmRleDogV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvago9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCShyZXZpc2lvbiA3
MTE0NCkKKysrIFdlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oJKHdvcmtpbmcg
Y29weSkKQEAgLTIwMzMyLDYgKzIwMzMyLDYyIEBACiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8
RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0
TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNXZWJLaXRVSVJlcXVlc3RFdmVudC5jcHAiDQorCQkJCT4N
CisJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiINCisJCQkJ
CUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJCQlO
YW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJPC9GaWxlQ29uZmlndXJhdGlv
bj4NCisJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIg0K
KwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQk+DQorCQkJCQk8VG9vbA0KKwkJ
CQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkvPg0KKwkJCQk8L0ZpbGVDb25maWd1
cmF0aW9uPg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9IkRlYnVnX0ludGVy
bmFsfFdpbjMyIg0KKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJCQk+DQorCQkJ
CQk8VG9vbA0KKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkvPg0KKwkJCQk8
L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9
IkRlYnVnX0NhaXJvfFdpbjMyIg0KKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQorCQkJ
CQk+DQorCQkJCQk8VG9vbA0KKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQkv
Pg0KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJ
CQkJCU5hbWU9IlJlbGVhc2VfQ2Fpcm98V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0i
dHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9v
bCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxGaWxlQ29uZmln
dXJhdGlvbg0KKwkJCQkJTmFtZT0iRGVidWdfQWxsfFdpbjMyIg0KKwkJCQkJRXhjbHVkZWRGcm9t
QnVpbGQ9InRydWUiDQorCQkJCQk+DQorCQkJCQk8VG9vbA0KKwkJCQkJCU5hbWU9IlZDQ0xDb21w
aWxlclRvb2wiDQorCQkJCQkvPg0KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCTwvRmls
ZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpc
JChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNXZWJLaXRVSVJlcXVlc3RFdmVudC5oIg0K
KwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQogCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJL
aXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU1ZhbGlkaXR5
U3RhdGUuY3BwIg0KIAkJCQk+DQogCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KQEAgLTIzMDcxLDYg
KzIzMTI3LDYyIEBACiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxhY2Nlc3NpYmlsaXR5XEFYT2JqZWN0
Q2FjaGUuaCINCiAJCQkJPg0KIAkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBh
dGg9Ii4uXGFjY2Vzc2liaWxpdHlcV2ViS2l0VUlSZXF1ZXN0RXZlbnQuY3BwIg0KKwkJCQk+DQor
CQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0iRGVidWd8V2luMzIiDQorCQkJCQlF
eGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFt
ZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+
DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiINCisJ
CQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJ
CQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJPC9GaWxlQ29uZmlndXJh
dGlvbj4NCisJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQlOYW1lPSJEZWJ1Z19JbnRlcm5h
bHxXaW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJCQkJ
PFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJPC9G
aWxlQ29uZmlndXJhdGlvbj4NCisJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQlOYW1lPSJE
ZWJ1Z19DYWlyb3xXaW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJ
Pg0KKwkJCQkJPFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJLz4N
CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJ
CQlOYW1lPSJSZWxlYXNlX0NhaXJvfFdpbjMyIg0KKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRy
dWUiDQorCQkJCQk+DQorCQkJCQk8VG9vbA0KKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wi
DQorCQkJCQkvPg0KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQk8RmlsZUNvbmZpZ3Vy
YXRpb24NCisJCQkJCU5hbWU9IkRlYnVnX0FsbHxXaW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1
aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGls
ZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQk8L0ZpbGU+
DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxhY2Nlc3NpYmlsaXR5XFdlYktpdFVJ
UmVxdWVzdEV2ZW50LmgiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQogCQkJPEZpbHRlcg0KIAkJCQlO
YW1lPSJ3aW4iDQogCQkJCT4NCkluZGV4OiBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagkocmV2aXNpb24gNzExNDQpCisrKyBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtNzE2LDYgKzcxNiwxMCBAQAogCQky
OUE4MTI0OTBGQkI5Q0E5MDA1MTAyOTMgLyogQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI5QTgxMjQ1MEZC
QjlDQTkwMDUxMDI5MyAvKiBBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlci5oICovOyB9OwogCQky
OUE4MTI0QTBGQkI5Q0E5MDA1MTAyOTMgLyogQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIubW0g
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyOUE4MTI0NjBG
QkI5Q0E5MDA1MTAyOTMgLyogQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIubW0gKi87IH07CiAJ
CTI5QTgxMjRCMEZCQjlDQTkwMDUxMDI5MyAvKiBBWE9iamVjdENhY2hlTWFjLm1tIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjlBODEyNDcwRkJCOUNBOTAw
NTEwMjkzIC8qIEFYT2JqZWN0Q2FjaGVNYWMubW0gKi87IH07CisJCTI5REQyMTExMTI1QkM3MUYw
MDE2M0MwQyAvKiBXZWJLaXRVSVJlcXVlc3RFdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjlERDIxMEYxMjVCQzcxRjAwMTYzQzBDIC8qIFdlYktp
dFVJUmVxdWVzdEV2ZW50LmggKi87IH07CisJCTI5REQyMTEyMTI1QkM3MUYwMDE2M0MwQyAvKiBX
ZWJLaXRVSVJlcXVlc3RFdmVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAyOUREMjExMDEyNUJDNzFGMDAxNjNDMEMgLyogV2ViS2l0VUlSZXF1ZXN0
RXZlbnQuY3BwICovOyB9OworCQkyOUREMjI5QzEyNUMwMjBBMDAxNjNDMEMgLyogSlNXZWJLaXRV
SVJlcXVlc3RFdmVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBBODY2MjlEQTA5REEyQjQ3MDA5NjMzQTUgLyogSlNXZWJLaXRVSVJlcXVlc3RFdmVu
dC5jcHAgKi87IH07CisJCTI5REQyMjlEMTI1QzAyMEUwMDE2M0MwQyAvKiBKU1dlYktpdFVJUmVx
dWVzdEV2ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBBODY2MjlEOTA5REEyQjQ3MDA5NjMzQTUgLyogSlNXZWJLaXRVSVJlcXVlc3RFdmVudC5oICov
OyB9OwogCQkyRDkwNjYwNjBCRTE0MUQ0MDA5NTY5OTggLyogTGF5b3V0U3RhdGUuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ5MDY2MDQwQkUxNDFE
NDAwOTU2OTk4IC8qIExheW91dFN0YXRlLmNwcCAqLzsgfTsKIAkJMkQ5MDY2MDcwQkUxNDFENDAw
OTU2OTk4IC8qIExheW91dFN0YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAyRDkwNjYwNTBCRTE0MUQ0MDA5NTY5OTggLyogTGF5b3V0U3RhdGUuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkyRTA4ODhE
NDExNDg4NDhBMDBBRjQyNjUgLyogSlNET01Gb3JtRGF0YS5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRTA4ODhEMjExNDg4NDhBMDBBRjQyNjUgLyog
SlNET01Gb3JtRGF0YS5jcHAgKi87IH07CkBAIC02NzY2LDYgKzY3NzAsOSBAQAogCQkyOUE4MTI0
NTBGQkI5Q0E5MDA1MTAyOTMgLyogQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMjlBODEyNDYwRkJCOUNBOTAwNTEwMjkzIC8q
IEFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
b2JqY3BwOyBwYXRoID0gQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIubW07IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTI5QTgxMjQ3MEZCQjlDQTkwMDUxMDI5MyAvKiBBWE9iamVjdENh
Y2hlTWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gQVhPYmpl
Y3RDYWNoZU1hYy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMjlERDIxMEYxMjVC
QzcxRjAwMTYzQzBDIC8qIFdlYktpdFVJUmVxdWVzdEV2ZW50LmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFdlYktpdFVJUmVxdWVzdEV2ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTI5REQyMTEwMTI1QkM3MUYwMDE2M0MwQyAvKiBXZWJLaXRVSVJlcXVlc3RF
dmVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJLaXRVSVJl
cXVlc3RFdmVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTI5REQyMTEzMTI1
QkM3M0UwMDE2M0MwQyAvKiBXZWJLaXRVSVJlcXVlc3RFdmVudC5pZGwgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0
OyBwYXRoID0gV2ViS2l0VUlSZXF1ZXN0RXZlbnQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQkyRDkwNjYwNDBCRTE0MUQ0MDA5NTY5OTggLyogTGF5b3V0U3RhdGUuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IExheW91dFN0YXRlLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkQ5MDY2MDUwQkUxNDFENDAwOTU2OTk4IC8qIExheW91
dFN0YXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBMYXlvdXRTdGF0ZS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyRDkwNjYwQjA2NjVEOTM3MDA2QjZGMUEg
LyogQ2xpcGJvYXJkTWFjLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gMzA7IGluZGVudFdpZHRoID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IENsaXBib2FyZE1hYy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB0YWJX
aWR0aCA9IDg7IHVzZXNUYWJzID0gMDsgfTsKQEAgLTkzNDUsNiArOTM1Miw4IEBACiAJCUE4NjYy
OUNDMDlEQTJCNDcwMDk2MzNBNSAvKiBKU01vdXNlRXZlbnQuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTTW91c2VFdmVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUE4NjYyOUNEMDlEQTJCNDcwMDk2MzNBNSAvKiBKU0tleWJvYXJkRXZlbnQu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTS2V5Ym9hcmRFdmVudC5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBODY2MjlDRTA5REEyQjQ3MDA5NjMzQTUgLyog
SlNLZXlib2FyZEV2ZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBKU0tleWJvYXJkRXZlbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBODY2
MjlEOTA5REEyQjQ3MDA5NjMzQTUgLyogSlNXZWJLaXRVSVJlcXVlc3RFdmVudC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNXZWJLaXRVSVJlcXVlc3RFdmVudC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBODY2MjlEQTA5REEyQjQ3MDA5NjMzQTUgLyogSlNX
ZWJLaXRVSVJlcXVlc3RFdmVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gSlNXZWJLaXRVSVJlcXVlc3RFdmVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUE4NzFENDRDMEExMjdDQkMwMEIxMkE2OCAvKiBIVE1MUGx1Z0luRWxlbWVudC5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSFRNTFBsdWdJbkVsZW1lbnQuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTg3MUQ0NEQwQTEyN0NCQzAwQjEyQTY4IC8qIEhU
TUxQbHVnSW5FbGVtZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBIVE1MUGx1Z0luRWxlbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE4
NzFENDRFMEExMjdDQkMwMEIxMkE2OCAvKiBIVE1MUGFyYW1FbGVtZW50LmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBIVE1MUGFyYW1FbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CkBAIC0xMjM4OCw2ICsxMjM5Nyw5IEBACiAJCQkJMjlBODEyMTMwRkJCOUMx
RDAwNTEwMjkzIC8qIEFjY2Vzc2liaWxpdHlUYWJsZVJvdy5oICovLAogCQkJCTI5QTgxMjE5MEZC
QjlDMUQwMDUxMDI5MyAvKiBBWE9iamVjdENhY2hlLmNwcCAqLywKIAkJCQkyOUE4MTIxQTBGQkI5
QzFEMDA1MTAyOTMgLyogQVhPYmplY3RDYWNoZS5oICovLAorCQkJCTI5REQyMTEwMTI1QkM3MUYw
MDE2M0MwQyAvKiBXZWJLaXRVSVJlcXVlc3RFdmVudC5jcHAgKi8sCisJCQkJMjlERDIxMEYxMjVC
QzcxRjAwMTYzQzBDIC8qIFdlYktpdFVJUmVxdWVzdEV2ZW50LmggKi8sCisJCQkJMjlERDIxMTMx
MjVCQzczRTAwMTYzQzBDIC8qIFdlYktpdFVJUmVxdWVzdEV2ZW50LmlkbCAqLywKIAkJCSk7CiAJ
CQlwYXRoID0gYWNjZXNzaWJpbGl0eTsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CkBAIC0x
NTg2NCw2ICsxNTg3Niw4IEBACiAJCQkJOTMzQTE0QjcwQjdEMUQ1MjAwQTUzRkZEIC8qIEpTVGV4
dEV2ZW50LmggKi8sCiAJCQkJQTg2NjI5Q0EwOURBMkI0NzAwOTYzM0E1IC8qIEpTVUlFdmVudC5j
cHAgKi8sCiAJCQkJQTg2NjI5QzkwOURBMkI0NzAwOTYzM0E1IC8qIEpTVUlFdmVudC5oICovLAor
CQkJCUE4NjYyOURBMDlEQTJCNDcwMDk2MzNBNSAvKiBKU1dlYktpdFVJUmVxdWVzdEV2ZW50LmNw
cCAqLywKKwkJCQlBODY2MjlEOTA5REEyQjQ3MDA5NjMzQTUgLyogSlNXZWJLaXRVSVJlcXVlc3RF
dmVudC5oICovLAogCQkJCTMxQzBGRjM5MEU0Q0VGQUMwMDdENkZFNSAvKiBKU1dlYktpdEFuaW1h
dGlvbkV2ZW50LmNwcCAqLywKIAkJCQkzMUMwRkYzQTBFNENFRkFDMDA3RDZGRTUgLyogSlNXZWJL
aXRBbmltYXRpb25FdmVudC5oICovLAogCQkJCTMxQzBGRjNCMEU0Q0VGQUMwMDdENkZFNSAvKiBK
U1dlYktpdFRyYW5zaXRpb25FdmVudC5jcHAgKi8sCkBAIC0yMTI0Myw2ICsyMTI1Nyw4IEBACiAJ
CQkJOTNGMTk5RUQwODI0NUU1OTAwMUU5QUJDIC8qIFhTTFRQcm9jZXNzb3IuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUUxQkU1MTJFMENGNkM1MTIwMDJFQTk1OSAvKiBYU0xUVW5pY29kZVNvcnQuaCBp
biBIZWFkZXJzICovLAogCQkJCTk3REQ0RDg3MEZERjRENkUwMEVDRjlBNCAvKiBYU1NBdWRpdG9y
LmggaW4gSGVhZGVycyAqLywKKwkJCQkyOUREMjExMTEyNUJDNzFGMDAxNjNDMEMgLyogV2ViS2l0
VUlSZXF1ZXN0RXZlbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCTI5REQyMjlEMTI1QzAyMEUwMDE2
M0MwQyAvKiBKU1dlYktpdFVJUmVxdWVzdEV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJ
CQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKQEAgLTIzODA0
LDYgKzIzODIwLDggQEAKIAkJCQk5M0YxOUIwNTA4MjQ1RTU5MDAxRTlBQkMgLyogWFNMVFByb2Nl
c3NvckxpYnhzbHQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTFCRTUxMkQwQ0Y2QzUxMjAwMkVB
OTU5IC8qIFhTTFRVbmljb2RlU29ydC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5N0RENEQ4NjBG
REY0RDZFMDBFQ0Y5QTQgLyogWFNTQXVkaXRvci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkyOURE
MjExMjEyNUJDNzFGMDAxNjNDMEMgLyogV2ViS2l0VUlSZXF1ZXN0RXZlbnQuY3BwIGluIFNvdXJj
ZXMgKi8sCisJCQkJMjlERDIyOUMxMjVDMDIwQTAwMTYzQzBDIC8qIEpTV2ViS2l0VUlSZXF1ZXN0
RXZlbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQ
b3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkluZGV4OiBXZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhP
YmplY3RDYWNoZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2Jq
ZWN0Q2FjaGUuY3BwCShyZXZpc2lvbiA3MTE0NCkKKysrIFdlYkNvcmUvYWNjZXNzaWJpbGl0eS9B
WE9iamVjdENhY2hlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjEsMTEgKzYxLDExIEBACiAjaW5j
bHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIlJlbmRlckxpc3RCb3guaCIKICNpbmNsdWRlICJSZW5k
ZXJNZW51TGlzdC5oIgorI2luY2x1ZGUgIlJlbmRlclByb2dyZXNzLmgiCisjaW5jbHVkZSAiUmVu
ZGVyU2xpZGVyLmgiCiAjaW5jbHVkZSAiUmVuZGVyVGFibGUuaCIKICNpbmNsdWRlICJSZW5kZXJU
YWJsZUNlbGwuaCIKICNpbmNsdWRlICJSZW5kZXJUYWJsZVJvdy5oIgotI2luY2x1ZGUgIlJlbmRl
clByb2dyZXNzLmgiCi0jaW5jbHVkZSAiUmVuZGVyU2xpZGVyLmgiCiAjaW5jbHVkZSAiUmVuZGVy
Vmlldy5oIgogCiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KSW5kZXg6IFdlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAJKHJldmlzaW9uIDcxMTQ0KQor
KysgV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC01MCw2ICs1MCw3IEBACiAjaW5jbHVkZSAiUmVuZGVyV2lkZ2V0LmgiCiAjaW5j
bHVkZSAiU2VsZWN0aW9uQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIlRleHRJdGVyYXRvci5oIgor
I2luY2x1ZGUgIldlYktpdFVJUmVxdWVzdEV2ZW50LmgiCiAjaW5jbHVkZSAiaHRtbGVkaXRpbmcu
aCIKICNpbmNsdWRlICJ2aXNpYmxlX3VuaXRzLmgiCiAjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJh
cy5oPgpAQCAtOTk4LDQgKzk5OSwzMSBAQCBBY2Nlc3NpYmlsaXR5QnV0dG9uU3RhdGUgQWNjZXNz
aWJpbGl0eU9iCiAgICAgcmV0dXJuIEJ1dHRvblN0YXRlT2ZmOwogfQogICAgIAordm9pZCBBY2Nl
c3NpYmlsaXR5T2JqZWN0OjpkaXNwYXRjaFdlYktpdFVJUmVxdWVzdEV2ZW50KFdlYktpdFVJUmVx
dWVzdEV2ZW50VHlwZSB0eXBlKQoreworICAgIE5vZGUqIG4gPSBub2RlKCk7CisgICAgaWYgKCFu
IHx8IG4tPmRpc2FibGVkKCkpCisgICAgICAgIHJldHVybjsKKyAgICAKKyAgICBBdG9taWNTdHJp
bmcgZXZlbnRUeXBlOworICAgIHN3aXRjaCAodHlwZSkgeworICAgIGNhc2UgVU5ETzoKKyAgICAg
ICAgZXZlbnRUeXBlID0gZXZlbnROYW1lcygpLndlYmtpdHVuZG9yZXF1ZXN0RXZlbnQ7CisgICAg
ICAgIGJyZWFrOworICAgIGNhc2UgUkVETzoKKyAgICAgICAgZXZlbnRUeXBlID0gZXZlbnROYW1l
cygpLndlYmtpdHJlZG9yZXF1ZXN0RXZlbnQ7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgRVND
QVBFOgorICAgICAgICBldmVudFR5cGUgPSBldmVudE5hbWVzKCkud2Via2l0ZXNjYXBlcmVxdWVz
dEV2ZW50OworICAgICAgICBicmVhazsKKyAgICBjYXNlIERFTEVURToKKyAgICAgICAgZXZlbnRU
eXBlID0gZXZlbnROYW1lcygpLndlYmtpdGRlbGV0ZXJlcXVlc3RFdmVudDsKKyAgICAgICAgYnJl
YWs7CisgICAgfQorICAgIAorICAgIFJlZlB0cjxXZWJLaXRVSVJlcXVlc3RFdmVudD4gdWlSZXF1
ZXN0RXZlbnQgPSBXZWJLaXRVSVJlcXVlc3RFdmVudDo6Y3JlYXRlKGV2ZW50VHlwZSwgdHJ1ZSwg
dHJ1ZSwgbi0+ZG9jdW1lbnQoKS0+ZGVmYXVsdFZpZXcoKSwgMCk7CisgICAgbi0+ZGlzcGF0Y2hF
dmVudCh1aVJlcXVlc3RFdmVudCk7Cit9CisKKyAgICAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
SW5kZXg6IFdlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaAkocmV2
aXNpb24gNzExNDQpCisrKyBXZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVj
dC5oCSh3b3JraW5nIGNvcHkpCkBAIC01MTksNiArNTE5LDEwIEBAIHB1YmxpYzoKICAgICB2aXJ0
dWFsIFN0cmluZyBkZXNjcmlwdGlvbkZvck1TQUEoKSBjb25zdCB7IHJldHVybiBTdHJpbmcoKTsg
fQogICAgIHZpcnR1YWwgQWNjZXNzaWJpbGl0eVJvbGUgcm9sZVZhbHVlRm9yTVNBQSgpIGNvbnN0
IHsgcmV0dXJuIHJvbGVWYWx1ZSgpOyB9CiAKKyAgICAvLyBVSVJlcXVlc3RFdmVudCBzdXBwb3J0
CisgICAgZW51bSBXZWJLaXRVSVJlcXVlc3RFdmVudFR5cGUgeyBVTkRPID0gMSwgUkVETyA9IDIs
IEVTQ0FQRSA9IDMsIERFTEVURSA9IDQgfTsKKyAgICB2b2lkIGRpc3BhdGNoV2ViS2l0VUlSZXF1
ZXN0RXZlbnQoV2ViS2l0VUlSZXF1ZXN0RXZlbnRUeXBlKTsKKyAgICAKICAgICAvLyBVc2VkIGJ5
IGFuIEFSSUEgdHJlZSB0byBnZXQgYWxsIGl0cyByb3dzLgogICAgIHZvaWQgYXJpYVRyZWVSb3dz
KEFjY2Vzc2liaWxpdHlDaGlsZHJlblZlY3RvciYpOwogICAgIC8vIFVzZWQgYnkgYW4gQVJJQSB0
cmVlIGl0ZW0gdG8gZ2V0IGFsbCBvZiBpdHMgZGlyZWN0IHJvd3MgdGhhdCBpdCBjYW4gZGlzY2xv
c2UuCkluZGV4OiBXZWJDb3JlL2FjY2Vzc2liaWxpdHkvV2ViS2l0VUlSZXF1ZXN0RXZlbnQuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYWNjZXNzaWJpbGl0eS9XZWJLaXRVSVJlcXVlc3RFdmVu
dC5jcHAJKHJldmlzaW9uIDApCisrKyBXZWJDb3JlL2FjY2Vzc2liaWxpdHkvV2ViS2l0VUlSZXF1
ZXN0RXZlbnQuY3BwCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDQ5IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFLCBJTkMuIGBgQVMgSVMnJyBB
TkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKgorICovCisKKyNpbmNsdWRl
ICJjb25maWcuaCIKKyNpbmNsdWRlICJXZWJLaXRVSVJlcXVlc3RFdmVudC5oIgorCituYW1lc3Bh
Y2UgV2ViQ29yZSB7CisgICAgCitXZWJLaXRVSVJlcXVlc3RFdmVudDo6V2ViS2l0VUlSZXF1ZXN0
RXZlbnQoKQoreworfQorICAgIAorV2ViS2l0VUlSZXF1ZXN0RXZlbnQ6OldlYktpdFVJUmVxdWVz
dEV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgYm9vbCBjYW5CdWJibGUsIGJvb2wgY2Fu
Y2VsYWJsZSwgUGFzc1JlZlB0cjxBYnN0cmFjdFZpZXc+IHZpZXcsIGludCBkZXRhaWwpCisgICAg
OiBVSUV2ZW50KHR5cGUsIGNhbkJ1YmJsZSwgY2FuY2VsYWJsZSwgdmlldywgZGV0YWlsKQorewor
fQorCit2b2lkIFdlYktpdFVJUmVxdWVzdEV2ZW50Ojppbml0V2ViS2l0VUlSZXF1ZXN0RXZlbnQo
Y29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBib29sIGNhbkJ1YmJsZSwgYm9vbCBjYW5jZWxhYmxl
LCBQYXNzUmVmUHRyPEFic3RyYWN0Vmlldz4gdmlldywgaW50IGRldGFpbCkKK3sKKyAgICBpZiAo
ZGlzcGF0Y2hlZCgpKQorICAgICAgICByZXR1cm47CisgICAgCisgICAgaW5pdFVJRXZlbnQodHlw
ZSwgY2FuQnViYmxlLCBjYW5jZWxhYmxlLCB2aWV3LCBkZXRhaWwpOworfSAgIAorCit9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCkluZGV4OiBXZWJDb3JlL2FjY2Vzc2liaWxpdHkvV2ViS2l0VUlSZXF1
ZXN0RXZlbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2FjY2Vzc2liaWxpdHkvV2ViS2l0VUlS
ZXF1ZXN0RXZlbnQuaAkocmV2aXNpb24gMCkKKysrIFdlYkNvcmUvYWNjZXNzaWJpbGl0eS9XZWJL
aXRVSVJlcXVlc3RFdmVudC5oCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDU4IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFLCBJTkMuIGBgQVMg
SVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAq
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
CisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKgorICovCisKKyNp
Zm5kZWYgV2ViS2l0VUlSZXF1ZXN0RXZlbnRfaAorI2RlZmluZSBXZWJLaXRVSVJlcXVlc3RFdmVu
dF9oCisKKyNpbmNsdWRlICJVSUV2ZW50LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKyAgICAK
Ky8vICJVc2VyIEludGVyZmFjZSBJbmRlcGVuZGVuY2UgZm9yIEFjY2Vzc2libGUgUmljaCBJbnRl
cm5ldCBBcHBsaWNhdGlvbnMiIFczQyBQcm9wb3NhbAorY2xhc3MgV2ViS2l0VUlSZXF1ZXN0RXZl
bnQgOiBwdWJsaWMgVUlFdmVudCB7CitwdWJsaWM6CisgICAgCisgICAgc3RhdGljIFBhc3NSZWZQ
dHI8V2ViS2l0VUlSZXF1ZXN0RXZlbnQ+IGNyZWF0ZSgpCisgICAgeworICAgICAgICByZXR1cm4g
YWRvcHRSZWYobmV3IFdlYktpdFVJUmVxdWVzdEV2ZW50KTsKKyAgICB9CisgICAgc3RhdGljIFBh
c3NSZWZQdHI8V2ViS2l0VUlSZXF1ZXN0RXZlbnQ+IGNyZWF0ZShjb25zdCBBdG9taWNTdHJpbmcm
IHR5cGUsIGJvb2wgY2FuQnViYmxlLCBib29sIGNhbmNlbGFibGUsIFBhc3NSZWZQdHI8QWJzdHJh
Y3RWaWV3PiB2aWV3LCBpbnQgZGV0YWlsKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVm
KG5ldyBXZWJLaXRVSVJlcXVlc3RFdmVudCh0eXBlLCBjYW5CdWJibGUsIGNhbmNlbGFibGUsIHZp
ZXcsIGRldGFpbCkpOworICAgIH0KKyAgICAKKyAgICB2b2lkIGluaXRXZWJLaXRVSVJlcXVlc3RF
dmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGJvb2wgY2FuQnViYmxlLCBib29sIGNhbmNl
bGFibGUsIFBhc3NSZWZQdHI8QWJzdHJhY3RWaWV3PiwgaW50IGRldGFpbCk7CisKKyAgICB2aXJ0
dWFsIGJvb2wgaXNXZWJLaXRVSVJlcXVlc3RFdmVudCgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0K
KyAgICAKK3ByaXZhdGU6CisgICAgV2ViS2l0VUlSZXF1ZXN0RXZlbnQoKTsKKyAgICBXZWJLaXRV
SVJlcXVlc3RFdmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGJvb2wgY2FuQnViYmxlLCBi
b29sIGNhbmNlbGFibGUsIFBhc3NSZWZQdHI8QWJzdHJhY3RWaWV3PiwgaW50IGRldGFpbCk7Cit9
OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBXZWJLaXRVSVJlcXVlc3RF
dmVudF9oCkluZGV4OiBXZWJDb3JlL2FjY2Vzc2liaWxpdHkvV2ViS2l0VUlSZXF1ZXN0RXZlbnQu
aWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYWNjZXNzaWJpbGl0eS9XZWJLaXRVSVJlcXVlc3RF
dmVudC5pZGwJKHJldmlzaW9uIDApCisrKyBXZWJDb3JlL2FjY2Vzc2liaWxpdHkvV2ViS2l0VUlS
ZXF1ZXN0RXZlbnQuaWRsCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDQwIEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFLCBJTkMuIGBgQVMgSVMn
JyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisg
KiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKgorICovCisKK21vZHVs
ZSBldmVudHMgeworCisgICAgLy8gIlVzZXIgSW50ZXJmYWNlIEluZGVwZW5kZW5jZSBmb3IgQWNj
ZXNzaWJsZSBSaWNoIEludGVybmV0IEFwcGxpY2F0aW9ucyIgVzNDIFByb3Bvc2FsCisgICAgaW50
ZXJmYWNlIFdlYktpdFVJUmVxdWVzdEV2ZW50IDogVUlFdmVudCB7CisgICAgICAgIAorICAgICAg
ICB2b2lkIGluaXRXZWJLaXRVSVJlcXVlc3RFdmVudChpbiBET01TdHJpbmcgdHlwZSwgCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBib29sZWFuIGNhbkJ1YmJsZSwgCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBib29sZWFuIGNhbmNlbGFibGUs
IAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gRE9NV2luZG93IHZpZXcs
IAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gbG9uZyBkZXRhaWwpOwor
CisgICAgfTsKKworfQpJbmRleDogV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9BY2Nlc3NpYmls
aXR5T2JqZWN0V3JhcHBlci5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2FjY2Vzc2liaWxpdHkv
bWFjL0FjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyLm1tCShyZXZpc2lvbiA3MTE0NCkKKysrIFdl
YkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIubW0JKHdv
cmtpbmcgY29weSkKQEAgLTIxODQsNiArMjE4NCwxOCBAQCAtICh2b2lkKWFjY2Vzc2liaWxpdHlQ
ZXJmb3JtQWN0aW9uOihOU1N0CiAKICAgICBlbHNlIGlmIChbYWN0aW9uIGlzRXF1YWxUb1N0cmlu
ZzpOU0FjY2Vzc2liaWxpdHlEZWNyZW1lbnRBY3Rpb25dKQogICAgICAgICBbc2VsZiBhY2Nlc3Np
YmlsaXR5UGVyZm9ybURlY3JlbWVudEFjdGlvbl07CisKKyAgICBlbHNlIGlmIChbYWN0aW9uIGlz
RXF1YWxUb1N0cmluZzpAIkFYRXNjYXBlIl0pCisgICAgICAgIG1fb2JqZWN0LT5kaXNwYXRjaFdl
YktpdFVJUmVxdWVzdEV2ZW50KEFjY2Vzc2liaWxpdHlPYmplY3Q6OkVTQ0FQRSk7CisgICAgCisg
ICAgZWxzZSBpZiAoW2FjdGlvbiBpc0VxdWFsVG9TdHJpbmc6QCJBWERlbGV0ZSJdKQorICAgICAg
ICBtX29iamVjdC0+ZGlzcGF0Y2hXZWJLaXRVSVJlcXVlc3RFdmVudChBY2Nlc3NpYmlsaXR5T2Jq
ZWN0OjpERUxFVEUpOworICAgIAorICAgIGVsc2UgaWYgKFthY3Rpb24gaXNFcXVhbFRvU3RyaW5n
OkAiQVhVbmRvIl0pCisgICAgICAgIG1fb2JqZWN0LT5kaXNwYXRjaFdlYktpdFVJUmVxdWVzdEV2
ZW50KEFjY2Vzc2liaWxpdHlPYmplY3Q6OlVORE8pOworICAgIAorICAgIGVsc2UgaWYgKFthY3Rp
b24gaXNFcXVhbFRvU3RyaW5nOkAiQVhSZWRvIl0pCisgICAgICAgIG1fb2JqZWN0LT5kaXNwYXRj
aFdlYktpdFVJUmVxdWVzdEV2ZW50KEFjY2Vzc2liaWxpdHlPYmplY3Q6OlJFRE8pOwogfQogCiAt
ICh2b2lkKWFjY2Vzc2liaWxpdHlTZXRWYWx1ZTooaWQpdmFsdWUgZm9yQXR0cmlidXRlOihOU1N0
cmluZyopYXR0cmlidXRlTmFtZQpJbmRleDogV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L0dOVW1h
a2VmaWxlLmFtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYmluZGluZ3MvZ29iamVjdC9HTlVtYWtl
ZmlsZS5hbQkocmV2aXNpb24gNzExNDQpCisrKyBXZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvR05V
bWFrZWZpbGUuYW0JKHdvcmtpbmcgY29weSkKQEAgLTIzNCw2ICsyMzQsNyBAQCB3ZWJraXRndGtf
Z2RvbV9idWlsdF9zb3VyY2VzICs9IFwKIAlEZXJpdmVkU291cmNlcy93ZWJraXQvV2ViS2l0RE9N
VGltZVJhbmdlc1ByaXZhdGUuaCBcCiAJRGVyaXZlZFNvdXJjZXMvd2Via2l0L1dlYktpdERPTVRy
ZWVXYWxrZXIuY3BwIFwKIAlEZXJpdmVkU291cmNlcy93ZWJraXQvV2ViS2l0RE9NVHJlZVdhbGtl
clByaXZhdGUuaCBcCisJRGVyaXZlZFNvdXJjZXMvd2Via2l0L1dlYktpdERPTVdlYktpdFVJUmVx
dWVzdEV2ZW50LmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvd2Via2l0L1dlYktpdERPTVVJRXZlbnQu
Y3BwIFwKIAlEZXJpdmVkU291cmNlcy93ZWJraXQvV2ViS2l0RE9NVUlFdmVudFByaXZhdGUuaCBc
CiAJRGVyaXZlZFNvdXJjZXMvd2Via2l0L1dlYktpdERPTVZhbGlkaXR5U3RhdGUuY3BwIFwKQEAg
LTM1MSw2ICszNTIsNyBAQCB3ZWJraXRndGtfYnVpbHRfaF9hcGkgKz0gXAogCURlcml2ZWRTb3Vy
Y2VzL3dlYmtpdC9XZWJLaXRET01NZWRpYUVycm9yLmggXAogCURlcml2ZWRTb3VyY2VzL3dlYmtp
dC9XZWJLaXRET01UaW1lUmFuZ2VzLmggXAogCURlcml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRE
T01WYWxpZGl0eVN0YXRlLmggXAorCURlcml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRET01XZWJL
aXRVSVJlcXVlc3RFdmVudC5oIFwKIAlEZXJpdmVkU291cmNlcy93ZWJraXQvV2ViS2l0RE9NRE9N
QXBwbGljYXRpb25DYWNoZS5oIFwKIAlEZXJpdmVkU291cmNlcy93ZWJraXQvV2ViS2l0RE9NQmFy
SW5mby5oIFwKIAlEZXJpdmVkU291cmNlcy93ZWJraXQvV2ViS2l0RE9NQ29uc29sZS5oIFwKSW5k
ZXg6IFdlYkNvcmUvYmluZGluZ3MvanMvSlNFdmVudEN1c3RvbS5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50Q3VzdG9tLmNwcAkocmV2aXNpb24gNzExNDQpCisr
KyBXZWJDb3JlL2JpbmRpbmdzL2pzL0pTRXZlbnRDdXN0b20uY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC01NSw2ICs1NSw3IEBACiAjaW5jbHVkZSAiSlNVSUV2ZW50LmgiCiAjaW5jbHVkZSAiSlNXZWJL
aXRBbmltYXRpb25FdmVudC5oIgogI2luY2x1ZGUgIkpTV2ViS2l0VHJhbnNpdGlvbkV2ZW50Lmgi
CisjaW5jbHVkZSAiSlNXZWJLaXRVSVJlcXVlc3RFdmVudC5oIgogI2luY2x1ZGUgIkpTV2hlZWxF
dmVudC5oIgogI2luY2x1ZGUgIkpTWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50LmgiCiAjaW5j
bHVkZSAiQmVmb3JlTG9hZEV2ZW50LmgiCkBAIC03Miw2ICs3Myw3IEBACiAjaW5jbHVkZSAiVUlF
dmVudC5oIgogI2luY2x1ZGUgIldlYktpdEFuaW1hdGlvbkV2ZW50LmgiCiAjaW5jbHVkZSAiV2Vi
S2l0VHJhbnNpdGlvbkV2ZW50LmgiCisjaW5jbHVkZSAiV2ViS2l0VUlSZXF1ZXN0RXZlbnQuaCIK
ICNpbmNsdWRlICJXaGVlbEV2ZW50LmgiCiAjaW5jbHVkZSAiWE1MSHR0cFJlcXVlc3RQcm9ncmVz
c0V2ZW50LmgiCiAjaW5jbHVkZSA8cnVudGltZS9KU0xvY2suaD4KQEAgLTEzNyw2ICsxMzksOCBA
QCBKU1ZhbHVlIHRvSlMoRXhlY1N0YXRlKiBleGVjLCBKU0RPTUdsb2JhCiAgICAgICAgIGVsc2Ug
aWYgKGV2ZW50LT5pc1RvdWNoRXZlbnQoKSkKICAgICAgICAgICAgIHdyYXBwZXIgPSBDUkVBVEVf
RE9NX09CSkVDVF9XUkFQUEVSKGV4ZWMsIGdsb2JhbE9iamVjdCwgVG91Y2hFdmVudCwgZXZlbnQp
OwogI2VuZGlmCisgICAgICAgIGVsc2UgaWYgKGV2ZW50LT5pc1dlYktpdFVJUmVxdWVzdEV2ZW50
KCkpCisgICAgICAgICAgICB3cmFwcGVyID0gQ1JFQVRFX0RPTV9PQkpFQ1RfV1JBUFBFUihleGVj
LCBnbG9iYWxPYmplY3QsIFdlYktpdFVJUmVxdWVzdEV2ZW50LCBldmVudCk7CiAgICAgICAgIGVs
c2UKICAgICAgICAgICAgIHdyYXBwZXIgPSBDUkVBVEVfRE9NX09CSkVDVF9XUkFQUEVSKGV4ZWMs
IGdsb2JhbE9iamVjdCwgVUlFdmVudCwgZXZlbnQpOwogICAgIH0gZWxzZSBpZiAoZXZlbnQtPmlz
TXV0YXRpb25FdmVudCgpKQpJbmRleDogV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAkocmV2aXNpb24gNzExNDQpCisrKyBXZWJD
b3JlL2RvbS9Eb2N1bWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEzMiw2ICsxMzIsNyBAQAog
I2luY2x1ZGUgIlVzZXJDb250ZW50VVJMUGF0dGVybi5oIgogI2luY2x1ZGUgIldlYktpdEFuaW1h
dGlvbkV2ZW50LmgiCiAjaW5jbHVkZSAiV2ViS2l0VHJhbnNpdGlvbkV2ZW50LmgiCisjaW5jbHVk
ZSAiV2ViS2l0VUlSZXF1ZXN0RXZlbnQuaCIKICNpbmNsdWRlICJXaGVlbEV2ZW50LmgiCiAjaW5j
bHVkZSAiWE1MRG9jdW1lbnRQYXJzZXIuaCIKICNpbmNsdWRlICJYTUxIdHRwUmVxdWVzdC5oIgpA
QCAtMzQ2NCw2ICszNDY1LDggQEAgUGFzc1JlZlB0cjxFdmVudD4gRG9jdW1lbnQ6OmNyZWF0ZUV2
ZW50KAogICAgIGVsc2UgaWYgKGV2ZW50VHlwZSA9PSAiRGV2aWNlT3JpZW50YXRpb25FdmVudCIp
CiAgICAgICAgIGV2ZW50ID0gRGV2aWNlT3JpZW50YXRpb25FdmVudDo6Y3JlYXRlKCk7CiAjZW5k
aWYKKyAgICBlbHNlIGlmIChldmVudFR5cGUgPT0gIldlYktpdFVJUmVxdWVzdEV2ZW50IikKKyAg
ICAgICAgZXZlbnQgPSBXZWJLaXRVSVJlcXVlc3RFdmVudDo6Y3JlYXRlKCk7CiAjaWYgRU5BQkxF
KE9SSUVOVEFUSU9OX0VWRU5UUykKICAgICBlbHNlIGlmIChldmVudFR5cGUgPT0gIk9yaWVudGF0
aW9uRXZlbnQiKQogICAgICAgICBldmVudCA9IEV2ZW50OjpjcmVhdGUoKTsKSW5kZXg6IFdlYkNv
cmUvZG9tL0RvY3VtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9kb20vRG9jdW1lbnQuaAko
cmV2aXNpb24gNzExNDQpCisrKyBXZWJDb3JlL2RvbS9Eb2N1bWVudC5oCSh3b3JraW5nIGNvcHkp
CkBAIC0yODIsNyArMjgyLDExIEBAIHB1YmxpYzoKICNpZiBFTkFCTEUoRlVMTFNDUkVFTl9BUEkp
CiAgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUih3ZWJraXRmdWxsc2NyZWVuY2hh
bmdlKTsKICNlbmRpZgotCisgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUih3ZWJr
aXR1bmRvcmVxdWVzdCk7CisgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUih3ZWJr
aXRyZWRvcmVxdWVzdCk7CisgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUih3ZWJr
aXRlc2NhcGVyZXF1ZXN0KTsKKyAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHdl
YmtpdGRlbGV0ZXJlcXVlc3QpOworICAgIAogICAgIFZpZXdwb3J0QXJndW1lbnRzIHZpZXdwb3J0
QXJndW1lbnRzKCkgY29uc3QgeyByZXR1cm4gbV92aWV3cG9ydEFyZ3VtZW50czsgfQogCiAgICAg
RG9jdW1lbnRUeXBlKiBkb2N0eXBlKCkgY29uc3QgeyByZXR1cm4gbV9kb2NUeXBlLmdldCgpOyB9
CkluZGV4OiBXZWJDb3JlL2RvbS9Eb2N1bWVudC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9k
b20vRG9jdW1lbnQuaWRsCShyZXZpc2lvbiA3MTE0NCkKKysrIFdlYkNvcmUvZG9tL0RvY3VtZW50
LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzA3LDYgKzMwNywxMSBAQCBtb2R1bGUgY29yZSB7CiAg
ICAgICAgIC8vIGF0dHJpYnV0ZSBbRG9udEVudW1dIEV2ZW50TGlzdGVuZXIgb252b2x1bWVjaGFu
Z2U7CiAgICAgICAgIC8vIGF0dHJpYnV0ZSBbRG9udEVudW1dIEV2ZW50TGlzdGVuZXIgb253YWl0
aW5nOwogCisgICAgICAgIGF0dHJpYnV0ZSBbRG9udEVudW1dIEV2ZW50TGlzdGVuZXIgb253ZWJr
aXR1bmRvcmVxdWVzdDsKKyAgICAgICAgYXR0cmlidXRlIFtEb250RW51bV0gRXZlbnRMaXN0ZW5l
ciBvbndlYmtpdHJlZG9yZXF1ZXN0OworICAgICAgICBhdHRyaWJ1dGUgW0RvbnRFbnVtXSBFdmVu
dExpc3RlbmVyIG9ud2Via2l0ZXNjYXBlcmVxdWVzdDsKKyAgICAgICAgYXR0cmlidXRlIFtEb250
RW51bV0gRXZlbnRMaXN0ZW5lciBvbndlYmtpdGRlbGV0ZXJlcXVlc3Q7CisKICAgICAgICAgLy8g
V2ViS2l0IGV4dGVuc2lvbnMKICAgICAgICAgYXR0cmlidXRlIFtEb250RW51bV0gRXZlbnRMaXN0
ZW5lciBvbmJlZm9yZWN1dDsKICAgICAgICAgYXR0cmlidXRlIFtEb250RW51bV0gRXZlbnRMaXN0
ZW5lciBvbmN1dDsKSW5kZXg6IFdlYkNvcmUvZG9tL0VsZW1lbnQuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL2RvbS9FbGVtZW50LmgJKHJldmlzaW9uIDcxMTQ0KQorKysgV2ViQ29yZS9kb20vRWxl
bWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMDQsNiArMTA0LDEwIEBAIHB1YmxpYzoKICNpZiBF
TkFCTEUoRlVMTFNDUkVFTl9BUEkpCiAgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5F
Uih3ZWJraXRmdWxsc2NyZWVuY2hhbmdlKTsKICNlbmRpZgorICAgIERFRklORV9BVFRSSUJVVEVf
RVZFTlRfTElTVEVORVIod2Via2l0dW5kb3JlcXVlc3QpOworICAgIERFRklORV9BVFRSSUJVVEVf
RVZFTlRfTElTVEVORVIod2Via2l0cmVkb3JlcXVlc3QpOworICAgIERFRklORV9BVFRSSUJVVEVf
RVZFTlRfTElTVEVORVIod2Via2l0ZXNjYXBlcmVxdWVzdCk7CisgICAgREVGSU5FX0FUVFJJQlVU
RV9FVkVOVF9MSVNURU5FUih3ZWJraXRkZWxldGVyZXF1ZXN0KTsKIAogICAgIHZpcnR1YWwgUGFz
c1JlZlB0cjxEb2N1bWVudEZyYWdtZW50PiBkZXByZWNhdGVkQ3JlYXRlQ29udGV4dHVhbEZyYWdt
ZW50KGNvbnN0IFN0cmluZyYsIEZyYWdtZW50U2NyaXB0aW5nUGVybWlzc2lvbiA9IEZyYWdtZW50
U2NyaXB0aW5nQWxsb3dlZCk7CiAKSW5kZXg6IFdlYkNvcmUvZG9tL0VsZW1lbnQuaWRsCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvZG9tL0VsZW1lbnQuaWRsCShyZXZpc2lvbiA3MTE0NCkKKysrIFdl
YkNvcmUvZG9tL0VsZW1lbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0xOTMsNiArMTkzLDExIEBA
IG1vZHVsZSBjb3JlIHsKICAgICAgICAgLy8gYXR0cmlidXRlIFtEb250RW51bV0gRXZlbnRMaXN0
ZW5lciBvbnRpbWV1cGRhdGU7CiAgICAgICAgIC8vIGF0dHJpYnV0ZSBbRG9udEVudW1dIEV2ZW50
TGlzdGVuZXIgb252b2x1bWVjaGFuZ2U7CiAgICAgICAgIC8vIGF0dHJpYnV0ZSBbRG9udEVudW1d
IEV2ZW50TGlzdGVuZXIgb253YWl0aW5nOworICAgICAgICAKKyAgICAgICAgYXR0cmlidXRlIFtE
b250RW51bV0gRXZlbnRMaXN0ZW5lciBvbndlYmtpdHVuZG9yZXF1ZXN0OworICAgICAgICBhdHRy
aWJ1dGUgW0RvbnRFbnVtXSBFdmVudExpc3RlbmVyIG9ud2Via2l0cmVkb3JlcXVlc3Q7CisgICAg
ICAgIGF0dHJpYnV0ZSBbRG9udEVudW1dIEV2ZW50TGlzdGVuZXIgb253ZWJraXRlc2NhcGVyZXF1
ZXN0OworICAgICAgICBhdHRyaWJ1dGUgW0RvbnRFbnVtXSBFdmVudExpc3RlbmVyIG9ud2Via2l0
ZGVsZXRlcmVxdWVzdDsKIAogICAgICAgICAvLyBXZWJLaXQgZXh0ZW5zaW9ucwogICAgICAgICBh
dHRyaWJ1dGUgW0RvbnRFbnVtXSBFdmVudExpc3RlbmVyIG9uYmVmb3JlY3V0OwpJbmRleDogV2Vi
Q29yZS9kb20vRXZlbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZG9tL0V2ZW50LmNwcAko
cmV2aXNpb24gNzExNDQpCisrKyBXZWJDb3JlL2RvbS9FdmVudC5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTIyOSw2ICsyMjksMTEgQEAgYm9vbCBFdmVudDo6aXNEZXZpY2VPcmllbnRhdGlvbkV2ZW50
KCkgYwogfQogI2VuZGlmCiAKK2Jvb2wgRXZlbnQ6OmlzV2ViS2l0VUlSZXF1ZXN0RXZlbnQoKSBj
b25zdAoreworICAgIHJldHVybiBmYWxzZTsKK30KKyAgICAKIGJvb2wgRXZlbnQ6OmZyb21Vc2Vy
R2VzdHVyZSgpCiB7CiAgICAgaWYgKCFVc2VyR2VzdHVyZUluZGljYXRvcjo6cHJvY2Vzc2luZ1Vz
ZXJHZXN0dXJlKCkpCkluZGV4OiBXZWJDb3JlL2RvbS9FdmVudC5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUvZG9tL0V2ZW50LmgJKHJldmlzaW9uIDcxMTQ0KQorKysgV2ViQ29yZS9kb20vRXZlbnQu
aAkod29ya2luZyBjb3B5KQpAQCAtMTQxLDYgKzE0MSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICAgICAgdmlydHVhbCBib29sIGlzRGV2aWNlTW90aW9uRXZlbnQoKSBjb25zdDsKICAgICAg
ICAgdmlydHVhbCBib29sIGlzRGV2aWNlT3JpZW50YXRpb25FdmVudCgpIGNvbnN0OwogI2VuZGlm
CisgICAgICAgIHZpcnR1YWwgYm9vbCBpc1dlYktpdFVJUmVxdWVzdEV2ZW50KCkgY29uc3Q7Cisg
ICAgICAgIAogICAgICAgICBib29sIGZyb21Vc2VyR2VzdHVyZSgpOwogICAgICAgICAKICAgICAg
ICAgYm9vbCBwcm9wYWdhdGlvblN0b3BwZWQoKSBjb25zdCB7IHJldHVybiBtX3Byb3BhZ2F0aW9u
U3RvcHBlZCB8fCBtX2ltbWVkaWF0ZVByb3BhZ2F0aW9uU3RvcHBlZDsgfQpJbmRleDogV2ViQ29y
ZS9kb20vRXZlbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZG9tL0V2ZW50LmlkbAkocmV2
aXNpb24gNzExNDQpCisrKyBXZWJDb3JlL2RvbS9FdmVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAg
LTgzLDcgKzgzLDcgQEAgbW9kdWxlIGV2ZW50cyB7CiAgICAgICAgIC8vIEV4dHJhIFdlYkNvcmUg
bWV0aG9kcyBleHBvc2VkIHRvIGFsbG93IGNvbXBpbGUtdGltZSBjYXN0aW5nIGluIEMrKwogICAg
ICAgICBib29sZWFuIGlzTXV0YXRpb25FdmVudCgpOwogICAgICAgICBib29sZWFuIGlzTW91c2VF
dmVudCgpOwotICAgICAgICBib29sZWFuIGlzVUlFdmVudCgpOworICAgICAgICBib29sZWFuIGlz
V2ViS2l0VUlFdmVudCgpOwogI2VuZGlmCiAKICAgICB9OwpJbmRleDogV2ViQ29yZS9kb20vRXZl
bnROYW1lcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaAkocmV2aXNp
b24gNzExNDQpCisrKyBXZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgJKHdvcmtpbmcgY29weSkKQEAg
LTE2OCw3ICsxNjgsMTIgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIFwKICAgICBtYWNybyh3
ZWJraXRmdWxsc2NyZWVuY2hhbmdlKSBcCiAgICAgXAotICAgIG1hY3JvKHdlYmtpdHNwZWVjaGNo
YW5nZSkKKyAgICBtYWNybyh3ZWJraXRzcGVlY2hjaGFuZ2UpIFwKKyAgICBcCisgICAgbWFjcm8o
d2Via2l0dW5kb3JlcXVlc3QpIFwKKyAgICBtYWNybyh3ZWJraXRyZWRvcmVxdWVzdCkgXAorICAg
IG1hY3JvKHdlYmtpdGVzY2FwZXJlcXVlc3QpIFwKKyAgICBtYWNybyh3ZWJraXRkZWxldGVyZXF1
ZXN0KQogICAgIFwKIC8vIGVuZCBvZiBET01fRVZFTlRfTkFNRVNfRk9SX0VBQ0gKIApJbmRleDog
V2ViQ29yZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbgo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L2h0bWwvSFRNTEF0dHJpYnV0ZU5hbWVzLmluCShyZXZpc2lvbiA3MTE0NCkKKysrIFdlYkNvcmUv
aHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW4JKHdvcmtpbmcgY29weSkKQEAgLTE1Niw2ICsxNTYs
NyBAQCBvbmNvbnRleHRtZW51CiBvbmNvcHkKIG9uY3V0CiBvbmRibGNsaWNrCitvbndlYmtpdGRl
bGV0ZXJlcXVlc3QKIG9uZHJhZwogb25kcmFnZW5kCiBvbmRyYWdlbnRlcgpAQCAtMTY3LDYgKzE2
OCw3IEBAIG9uZHVyYXRpb25jaGFuZ2UKIG9uZW1wdGllZAogb25lbmRlZAogb25lcnJvcgorb253
ZWJraXRlc2NhcGVyZXF1ZXN0CiBvbmZvY3VzCiBvbmZvY3VzaW4KIG9uZm9jdXNvdXQKQEAgLTE5
OCw2ICsyMDAsNyBAQCBvbnBsYXlpbmcKIG9ucG9wc3RhdGUKIG9ucHJvZ3Jlc3MKIG9ucmF0ZWNo
YW5nZQorb253ZWJraXRyZWRvcmVxdWVzdAogb25yZXNldAogb25yZXNpemUKIG9uc2Nyb2xsCkBA
IC0yMTYsNiArMjE5LDcgQEAgb250b3VjaHN0YXJ0CiBvbnRvdWNobW92ZQogb250b3VjaGVuZAog
b250b3VjaGNhbmNlbAorb253ZWJraXR1bmRvcmVxdWVzdAogb251bmxvYWQKIG9udm9sdW1lY2hh
bmdlCiBvbndhaXRpbmcKSW5kZXg6IFdlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50LmNwcAkocmV2aXNpb24gNzExNDQpCisr
KyBXZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNTMsNiAr
MjUzLDE0IEBAIHZvaWQgSFRNTEVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKEEKICAgICB9
IGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBvbndlYmtpdGZ1bGxzY3JlZW5jaGFuZ2VBdHRyKSB7
CiAgICAgICAgIHNldEF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1lcygpLndlYmtpdGZ1
bGxzY3JlZW5jaGFuZ2VFdmVudCwgY3JlYXRlQXR0cmlidXRlRXZlbnRMaXN0ZW5lcih0aGlzLCBh
dHRyKSk7CiAjZW5kaWYKKyAgICB9IGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBvbndlYmtpdHVu
ZG9yZXF1ZXN0QXR0cikgeworICAgICAgICBzZXRBdHRyaWJ1dGVFdmVudExpc3RlbmVyKGV2ZW50
TmFtZXMoKS53ZWJraXR1bmRvcmVxdWVzdEV2ZW50LCBjcmVhdGVBdHRyaWJ1dGVFdmVudExpc3Rl
bmVyKHRoaXMsIGF0dHIpKTsKKyAgICB9IGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBvbndlYmtp
dHJlZG9yZXF1ZXN0QXR0cikgeworICAgICAgICBzZXRBdHRyaWJ1dGVFdmVudExpc3RlbmVyKGV2
ZW50TmFtZXMoKS53ZWJraXRyZWRvcmVxdWVzdEV2ZW50LCBjcmVhdGVBdHRyaWJ1dGVFdmVudExp
c3RlbmVyKHRoaXMsIGF0dHIpKTsKKyAgICB9IGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBvbndl
YmtpdGVzY2FwZXJlcXVlc3RBdHRyKSB7CisgICAgICAgIHNldEF0dHJpYnV0ZUV2ZW50TGlzdGVu
ZXIoZXZlbnROYW1lcygpLndlYmtpdGVzY2FwZXJlcXVlc3RFdmVudCwgY3JlYXRlQXR0cmlidXRl
RXZlbnRMaXN0ZW5lcih0aGlzLCBhdHRyKSk7CisgICAgfSBlbHNlIGlmIChhdHRyLT5uYW1lKCkg
PT0gb253ZWJraXRkZWxldGVyZXF1ZXN0QXR0cikgeworICAgICAgICBzZXRBdHRyaWJ1dGVFdmVu
dExpc3RlbmVyKGV2ZW50TmFtZXMoKS53ZWJraXRkZWxldGVyZXF1ZXN0RXZlbnQsIGNyZWF0ZUF0
dHJpYnV0ZUV2ZW50TGlzdGVuZXIodGhpcywgYXR0cikpOwogICAgIH0KIH0KIApJbmRleDogV2Vi
Q29yZS9wYWdlL0RPTVdpbmRvdy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGFnZS9ET01XaW5k
b3cuaAkocmV2aXNpb24gNzExNDQpCisrKyBXZWJDb3JlL3BhZ2UvRE9NV2luZG93LmgJKHdvcmtp
bmcgY29weSkKQEAgLTM2Myw2ICszNjMsMTEgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAg
ICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHRvdWNoZW5kKTsKICAgICAgICAgREVG
SU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUih0b3VjaGNhbmNlbCk7CiAjZW5kaWYKKyAgICAg
ICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUih3ZWJraXR1bmRvcmVxdWVzdCk7Cisg
ICAgICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIod2Via2l0cmVkb3JlcXVlc3Qp
OworICAgICAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHdlYmtpdGVzY2FwZXJl
cXVlc3QpOworICAgICAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHdlYmtpdGRl
bGV0ZXJlcXVlc3QpOworICAgICAgICAKICAgICAgICAgdm9pZCBjYXB0dXJlRXZlbnRzKCk7CiAg
ICAgICAgIHZvaWQgcmVsZWFzZUV2ZW50cygpOwogCkluZGV4OiBXZWJDb3JlL3BhZ2UvRE9NV2lu
ZG93LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbAkocmV2aXNp
b24gNzExNDQpCisrKyBXZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbAkod29ya2luZyBjb3B5KQpA
QCAtMzMxLDYgKzMzMSwxMSBAQCBtb2R1bGUgd2luZG93IHsKICAgICAgICAgYXR0cmlidXRlIFtD
b25kaXRpb25hbD1ERVZJQ0VfT1JJRU5UQVRJT04sRW5hYmxlZEF0UnVudGltZV0gRGV2aWNlT3Jp
ZW50YXRpb25FdmVudENvbnN0cnVjdG9yIERldmljZU9yaWVudGF0aW9uRXZlbnQ7CiAgICAgICAg
IGF0dHJpYnV0ZSBbQ29uZGl0aW9uYWw9REVWSUNFX09SSUVOVEFUSU9OLEVuYWJsZWRBdFJ1bnRp
bWVdIEV2ZW50TGlzdGVuZXIgb25kZXZpY2VvcmllbnRhdGlvbjsKIAorICAgICAgICBhdHRyaWJ1
dGUgRXZlbnRMaXN0ZW5lciBvbndlYmtpdHVuZG9yZXF1ZXN0OworICAgICAgICBhdHRyaWJ1dGUg
RXZlbnRMaXN0ZW5lciBvbndlYmtpdHJlZG9yZXF1ZXN0OworICAgICAgICBhdHRyaWJ1dGUgRXZl
bnRMaXN0ZW5lciBvbndlYmtpdGVzY2FwZXJlcXVlc3Q7CisgICAgICAgIGF0dHJpYnV0ZSBFdmVu
dExpc3RlbmVyIG9ud2Via2l0ZGVsZXRlcmVxdWVzdDsKKwogICAgICAgICAvLyBFdmVudFRhcmdl
dCBpbnRlcmZhY2UKICAgICAgICAgW0N1c3RvbV0gdm9pZCBhZGRFdmVudExpc3RlbmVyKGluIERP
TVN0cmluZyB0eXBlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBF
dmVudExpc3RlbmVyIGxpc3RlbmVyLApAQCAtNTE0LDYgKzUxOSw3IEBAIG1vZHVsZSB3aW5kb3cg
ewogICAgICAgICBhdHRyaWJ1dGUgV2hlZWxFdmVudENvbnN0cnVjdG9yIFdoZWVsRXZlbnQ7CiAg
ICAgICAgIGF0dHJpYnV0ZSBNZXNzYWdlRXZlbnRDb25zdHJ1Y3RvciBNZXNzYWdlRXZlbnQ7CiAg
ICAgICAgIGF0dHJpYnV0ZSBFdmVudEV4Y2VwdGlvbkNvbnN0cnVjdG9yIEV2ZW50RXhjZXB0aW9u
OworICAgICAgICBhdHRyaWJ1dGUgV2ViS2l0VUlSZXF1ZXN0RXZlbnRDb25zdHJ1Y3RvciBXZWJL
aXRVSVJlcXVlc3RFdmVudDsKIAogICAgICAgICBhdHRyaWJ1dGUgV2ViS2l0Q1NTS2V5ZnJhbWVS
dWxlQ29uc3RydWN0b3IgV2ViS2l0Q1NTS2V5ZnJhbWVSdWxlOwogICAgICAgICBhdHRyaWJ1dGUg
V2ViS2l0Q1NTS2V5ZnJhbWVzUnVsZUNvbnN0cnVjdG9yIFdlYktpdENTU0tleWZyYW1lc1J1bGU7
CkluZGV4OiBXZWJLaXRUb29scy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0VG9vbHMv
Q2hhbmdlTG9nCShyZXZpc2lvbiA3MTE0NCkKKysrIFdlYktpdFRvb2xzL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDI3IEBACisyMDEwLTEwLTI2ICBDaHJpcyBGbGVpemFjaCAg
PGNmbGVpemFjaEBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgQVg6IFN1cHBvcnQgVUlSZXF1ZXN0RXZlbnRzIGZyb20gbmV3IFczQyBQ
cm9wb3NhbAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NDczMDEKKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQu
Y3BwOgorICAgICAgICAocGVyZm9ybUVzY2FwZUNhbGxiYWNrKToKKyAgICAgICAgKHBlcmZvcm1E
ZWxldGVDYWxsYmFjayk6CisgICAgICAgIChwZXJmb3JtVW5kb0NhbGxiYWNrKToKKyAgICAgICAg
KHBlcmZvcm1SZWRvQ2FsbGJhY2spOgorICAgICAgICAoQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6
cGVyZm9ybUVzY2FwZSk6CisgICAgICAgIChBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpwZXJmb3Jt
RGVsZXRlKToKKyAgICAgICAgKEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnBlcmZvcm1VbmRvKToK
KyAgICAgICAgKEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnBlcmZvcm1SZWRvKToKKyAgICAgICAg
KEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmdldEpTQ2xhc3MpOgorICAgICAgICAqIER1bXBSZW5k
ZXJUcmVlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuaDoKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJl
ZS9tYWMvQWNjZXNzaWJpbGl0eVVJRWxlbWVudE1hYy5tbToKKyAgICAgICAgKEFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQ6OnBlcmZvcm1Fc2NhcGUpOgorICAgICAgICAoQWNjZXNzaWJpbGl0eVVJRWxl
bWVudDo6cGVyZm9ybURlbGV0ZSk6CisgICAgICAgIChBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpw
ZXJmb3JtVW5kbyk6CisgICAgICAgIChBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpwZXJmb3JtUmVk
byk6CisKIDIwMTAtMTEtMDIgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KIAogICAg
ICAgICBSZXZpZXdlZCBieSBFcmljIFNlaWRlbC4KSW5kZXg6IFdlYktpdFRvb2xzL0R1bXBSZW5k
ZXJUcmVlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdFRv
b2xzL0R1bXBSZW5kZXJUcmVlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuY3BwCShyZXZpc2lvbiA3
MTE0NCkKKysrIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0FjY2Vzc2liaWxpdHlVSUVsZW1l
bnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MTIsNiArNDEyLDMwIEBAIHN0YXRpYyBKU1ZhbHVl
UmVmIHByZXNzQ2FsbGJhY2soSlNDb250ZXgKICAgICByZXR1cm4gSlNWYWx1ZU1ha2VVbmRlZmlu
ZWQoY29udGV4dCk7CiB9CiAKK3N0YXRpYyBKU1ZhbHVlUmVmIHBlcmZvcm1Fc2NhcGVDYWxsYmFj
ayhKU0NvbnRleHRSZWYgY29udGV4dCwgSlNPYmplY3RSZWYgZnVuY3Rpb24sIEpTT2JqZWN0UmVm
IHRoaXNPYmplY3QsIHNpemVfdCBhcmd1bWVudENvdW50LCBjb25zdCBKU1ZhbHVlUmVmIGFyZ3Vt
ZW50c1tdLCBKU1ZhbHVlUmVmKiBleGNlcHRpb24pCit7CisgICAgdG9BWEVsZW1lbnQodGhpc09i
amVjdCktPnBlcmZvcm1Fc2NhcGUoKTsKKyAgICByZXR1cm4gSlNWYWx1ZU1ha2VVbmRlZmluZWQo
Y29udGV4dCk7Cit9CisKK3N0YXRpYyBKU1ZhbHVlUmVmIHBlcmZvcm1EZWxldGVDYWxsYmFjayhK
U0NvbnRleHRSZWYgY29udGV4dCwgSlNPYmplY3RSZWYgZnVuY3Rpb24sIEpTT2JqZWN0UmVmIHRo
aXNPYmplY3QsIHNpemVfdCBhcmd1bWVudENvdW50LCBjb25zdCBKU1ZhbHVlUmVmIGFyZ3VtZW50
c1tdLCBKU1ZhbHVlUmVmKiBleGNlcHRpb24pCit7CisgICAgdG9BWEVsZW1lbnQodGhpc09iamVj
dCktPnBlcmZvcm1EZWxldGUoKTsKKyAgICByZXR1cm4gSlNWYWx1ZU1ha2VVbmRlZmluZWQoY29u
dGV4dCk7Cit9CisKK3N0YXRpYyBKU1ZhbHVlUmVmIHBlcmZvcm1VbmRvQ2FsbGJhY2soSlNDb250
ZXh0UmVmIGNvbnRleHQsIEpTT2JqZWN0UmVmIGZ1bmN0aW9uLCBKU09iamVjdFJlZiB0aGlzT2Jq
ZWN0LCBzaXplX3QgYXJndW1lbnRDb3VudCwgY29uc3QgSlNWYWx1ZVJlZiBhcmd1bWVudHNbXSwg
SlNWYWx1ZVJlZiogZXhjZXB0aW9uKQoreworICAgIHRvQVhFbGVtZW50KHRoaXNPYmplY3QpLT5w
ZXJmb3JtVW5kbygpOworICAgIHJldHVybiBKU1ZhbHVlTWFrZVVuZGVmaW5lZChjb250ZXh0KTsK
K30KKworc3RhdGljIEpTVmFsdWVSZWYgcGVyZm9ybVJlZG9DYWxsYmFjayhKU0NvbnRleHRSZWYg
Y29udGV4dCwgSlNPYmplY3RSZWYgZnVuY3Rpb24sIEpTT2JqZWN0UmVmIHRoaXNPYmplY3QsIHNp
emVfdCBhcmd1bWVudENvdW50LCBjb25zdCBKU1ZhbHVlUmVmIGFyZ3VtZW50c1tdLCBKU1ZhbHVl
UmVmKiBleGNlcHRpb24pCit7CisgICAgdG9BWEVsZW1lbnQodGhpc09iamVjdCktPnBlcmZvcm1S
ZWRvKCk7CisgICAgcmV0dXJuIEpTVmFsdWVNYWtlVW5kZWZpbmVkKGNvbnRleHQpOworfQorCiBz
dGF0aWMgSlNWYWx1ZVJlZiB0YWtlRm9jdXNDYWxsYmFjayhKU0NvbnRleHRSZWYgY29udGV4dCwg
SlNPYmplY3RSZWYgZnVuY3Rpb24sIEpTT2JqZWN0UmVmIHRoaXNPYmplY3QsIHNpemVfdCBhcmd1
bWVudENvdW50LCBjb25zdCBKU1ZhbHVlUmVmIGFyZ3VtZW50c1tdLCBKU1ZhbHVlUmVmKiBleGNl
cHRpb24pCiB7CiAgICAgdG9BWEVsZW1lbnQodGhpc09iamVjdCktPnRha2VGb2N1cygpOwpAQCAt
NzgyLDYgKzgwNiwxMCBAQCBzdGF0aWMgSlNWYWx1ZVJlZiByZW1vdmVOb3RpZmljYXRpb25MaXN0
CiAjaWYgIVBMQVRGT1JNKE1BQykKIEpTU3RyaW5nUmVmIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6
OnNwZWFrKCkgeyByZXR1cm4gMDsgfQogSlNTdHJpbmdSZWYgQWNjZXNzaWJpbGl0eVVJRWxlbWVu
dDo6cmFuZ2VGb3JMaW5lKGludCBsaW5lKSB7IHJldHVybiAwOyB9Cit2b2lkIEFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQ6OnBlcmZvcm1Fc2NhcGUoKSB7IH0KK3ZvaWQgQWNjZXNzaWJpbGl0eVVJRWxl
bWVudDo6cGVyZm9ybURlbGV0ZSgpIHsgfQordm9pZCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpw
ZXJmb3JtVW5kbygpIHsgfQordm9pZCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpwZXJmb3JtUmVk
bygpIHsgfQogdm9pZCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzZXRTZWxlY3RlZENoaWxkKEFj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQqKSBjb25zdCB7IH0KIHVuc2lnbmVkIEFjY2Vzc2liaWxpdHlV
SUVsZW1lbnQ6OnNlbGVjdGVkQ2hpbGRyZW5Db3VudCgpIGNvbnN0IHsgcmV0dXJuIDA7IH0KIEFj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c2VsZWN0ZWRDaGls
ZEF0SW5kZXgodW5zaWduZWQpIGNvbnN0IHsgcmV0dXJuIDA7IH0KQEAgLTkzMSw2ICs5NTksMTAg
QEAgSlNDbGFzc1JlZiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpnZXRKUwogICAgICAgICB7ICJk
ZWNyZW1lbnQiLCBkZWNyZW1lbnRDYWxsYmFjaywga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25s
eSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LAogICAgICAgICB7ICJzaG93TWVu
dSIsIHNob3dNZW51Q2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQ
cm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwKICAgICAgICAgeyAicHJlc3MiLCBwcmVzc0Nh
bGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1
dGVEb250RGVsZXRlIH0sCisgICAgICAgIHsgInBlcmZvcm1Fc2NhcGUiLCBwZXJmb3JtRXNjYXBl
Q2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJp
YnV0ZURvbnREZWxldGUgfSwKKyAgICAgICAgeyAicGVyZm9ybVVuZG8iLCBwZXJmb3JtVW5kb0Nh
bGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1
dGVEb250RGVsZXRlIH0sCisgICAgICAgIHsgInBlcmZvcm1SZWRvIiwgcGVyZm9ybVJlZG9DYWxs
YmFjaywga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRl
RG9udERlbGV0ZSB9LAorICAgICAgICB7ICJwZXJmb3JtRGVsZXRlIiwgcGVyZm9ybURlbGV0ZUNh
bGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1
dGVEb250RGVsZXRlIH0sCiAgICAgICAgIHsgImRpc2Nsb3NlZFJvd0F0SW5kZXgiLCBkaXNjbG9z
ZWRSb3dBdEluZGV4Q2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQ
cm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwKICAgICAgICAgeyAiYXJpYU93bnNFbGVtZW50
QXRJbmRleCIsIGFyaWFPd25zRWxlbWVudEF0SW5kZXhDYWxsYmFjaywga0pTUHJvcGVydHlBdHRy
aWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LAogICAgICAg
ICB7ICJhcmlhRmxvd1RvRWxlbWVudEF0SW5kZXgiLCBhcmlhRmxvd1RvRWxlbWVudEF0SW5kZXhD
YWxsYmFjaywga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmli
dXRlRG9udERlbGV0ZSB9LApJbmRleDogV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvQWNjZXNz
aWJpbGl0eVVJRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJU
cmVlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuaAkocmV2aXNpb24gNzExNDQpCisrKyBXZWJLaXRU
b29scy9EdW1wUmVuZGVyVHJlZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmgJKHdvcmtpbmcgY29w
eSkKQEAgLTEwMiw2ICsxMDIsMTIgQEAgcHVibGljOgogICAgIHZvaWQgc2hvd01lbnUoKTsKICAg
ICB2b2lkIHByZXNzKCk7CiAKKyAgICAvLyAiVXNlciBJbnRlcmZhY2UgSW5kZXBlbmRlbmNlIGZv
ciBBY2Nlc3NpYmxlIFJpY2ggSW50ZXJuZXQgQXBwbGljYXRpb25zIiBXM0MgUHJvcG9zYWwKKyAg
ICB2b2lkIHBlcmZvcm1Fc2NhcGUoKTsKKyAgICB2b2lkIHBlcmZvcm1EZWxldGUoKTsKKyAgICB2
b2lkIHBlcmZvcm1VbmRvKCk7CisgICAgdm9pZCBwZXJmb3JtUmVkbygpOworICAgIAogICAgIC8v
IEF0dHJpYnV0ZXMgLSBwbGF0Zm9ybS1pbmRlcGVuZGVudCBpbXBsZW1lbnRhdGlvbnMKICAgICBK
U1N0cmluZ1JlZiBzdHJpbmdBdHRyaWJ1dGVWYWx1ZShKU1N0cmluZ1JlZiBhdHRyaWJ1dGUpOwog
ICAgIGJvb2wgYm9vbEF0dHJpYnV0ZVZhbHVlKEpTU3RyaW5nUmVmIGF0dHJpYnV0ZSk7CkluZGV4
OiBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9tYWMvQWNjZXNzaWJpbGl0eVVJRWxlbWVudE1h
Yy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9tYWMvQWNjZXNz
aWJpbGl0eVVJRWxlbWVudE1hYy5tbQkocmV2aXNpb24gNzExNDQpCisrKyBXZWJLaXRUb29scy9E
dW1wUmVuZGVyVHJlZS9tYWMvQWNjZXNzaWJpbGl0eVVJRWxlbWVudE1hYy5tbQkod29ya2luZyBj
b3B5KQpAQCAtMTEyMyw2ICsxMTIzLDM0IEBAIHZvaWQgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6
cHJlc3MoKQogICAgIEVORF9BWF9PQkpDX0VYQ0VQVElPTlMKIH0KIAordm9pZCBBY2Nlc3NpYmls
aXR5VUlFbGVtZW50OjpwZXJmb3JtRXNjYXBlKCkKK3sKKyAgICBCRUdJTl9BWF9PQkpDX0VYQ0VQ
VElPTlMKKyAgICBbbV9lbGVtZW50IGFjY2Vzc2liaWxpdHlQZXJmb3JtQWN0aW9uOkAiQVhFc2Nh
cGUiXTsKKyAgICBFTkRfQVhfT0JKQ19FWENFUFRJT05TCit9CisKK3ZvaWQgQWNjZXNzaWJpbGl0
eVVJRWxlbWVudDo6cGVyZm9ybURlbGV0ZSgpIAoreworICAgIEJFR0lOX0FYX09CSkNfRVhDRVBU
SU9OUworICAgIFttX2VsZW1lbnQgYWNjZXNzaWJpbGl0eVBlcmZvcm1BY3Rpb246QCJBWERlbGV0
ZSJdOworICAgIEVORF9BWF9PQkpDX0VYQ0VQVElPTlMKK30KKwordm9pZCBBY2Nlc3NpYmlsaXR5
VUlFbGVtZW50OjpwZXJmb3JtVW5kbygpCit7CisgICAgQkVHSU5fQVhfT0JKQ19FWENFUFRJT05T
CisgICAgW21fZWxlbWVudCBhY2Nlc3NpYmlsaXR5UGVyZm9ybUFjdGlvbjpAIkFYVW5kbyJdOwor
ICAgIEVORF9BWF9PQkpDX0VYQ0VQVElPTlMKK30KKwordm9pZCBBY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50OjpwZXJmb3JtUmVkbygpCit7CisgICAgQkVHSU5fQVhfT0JKQ19FWENFUFRJT05TCisgICAg
W21fZWxlbWVudCBhY2Nlc3NpYmlsaXR5UGVyZm9ybUFjdGlvbjpAIkFYUmVkbyJdOworICAgIEVO
RF9BWF9PQkpDX0VYQ0VQVElPTlMgICAgCit9CisKIHZvaWQgQWNjZXNzaWJpbGl0eVVJRWxlbWVu
dDo6c2V0U2VsZWN0ZWRDaGlsZChBY2Nlc3NpYmlsaXR5VUlFbGVtZW50KiBlbGVtZW50KSBjb25z
dAogewogICAgIEJFR0lOX0FYX09CSkNfRVhDRVBUSU9OUwpJbmRleDogTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gNzEx
NDQpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwx
OSBAQAorMjAxMC0xMC0yNiAgQ2hyaXMgRmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29tPgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFYOiBTdXBw
b3J0IFVJUmVxdWVzdEV2ZW50cyBmcm9tIG5ldyBXM0MgUHJvcG9zYWwKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ3MzAxCisKKyAgICAgICAgKiBhY2Nl
c3NpYmlsaXR5L3VpcmVxdWVzdC1ldmVudHMtZGlzcGF0Y2gtZnJvbS1heC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvdWlyZXF1ZXN0LWV2ZW50cy1kaXNwYXRj
aC1mcm9tLWF4Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvdWlyZXF1ZXN0
LWV2ZW50cy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvdWly
ZXF1ZXN0LWV2ZW50cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9XaW5kb3cvd2lu
ZG93LXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvZG9tL1dpbmRvdy93
aW5kb3ctcHJvcGVydHktZGVzY3JpcHRvcnMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3Qv
ZG9tL3Byb3RvdHlwZS1pbmhlcml0YW5jZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9q
cy9nbG9iYWwtY29uc3RydWN0b3JzLWV4cGVjdGVkLnR4dDoKKwogMjAxMC0xMS0wMiAgQWRlbGUg
UGV0ZXJzb24gIDxhZGVsZUBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgS2VudCBU
YW11cmEuCkluZGV4OiBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L3VpcmVxdWVzdC1ldmVudHMt
ZGlzcGF0Y2gtZnJvbS1heC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
YWNjZXNzaWJpbGl0eS91aXJlcXVlc3QtZXZlbnRzLWRpc3BhdGNoLWZyb20tYXgtZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS91aXJlcXVlc3Qt
ZXZlbnRzLWRpc3BhdGNoLWZyb20tYXgtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCww
ICsxLDIxIEBACitPbmUKKworVHdvCisKK1RocmVlCisKK0ZvdXIKKworVGhpcyB0ZXN0cyB0aGF0
IGEgVUlSZXF1ZXN0RXZlbnQgY2FuIGJlIGRpc3BhdGNoZWQgZnJvbSB0aGUgYWNjZXNzaWJpbGl0
eSBkaXNwYXRjaCBtZWNoYW5pc20uCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQ
QVNTIGV2ZW50UmVjZWl2ZWQudHlwZSBpcyBleHBlY3RlZFR5cGUKK1BBU1MgZXZlbnRSZWNlaXZl
ZC50eXBlIGlzIGV4cGVjdGVkVHlwZQorUEFTUyBldmVudFJlY2VpdmVkLnR5cGUgaXMgZXhwZWN0
ZWRUeXBlCitQQVNTIGV2ZW50UmVjZWl2ZWQudHlwZSBpcyBleHBlY3RlZFR5cGUKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCkluZGV4OiBMYXlvdXRU
ZXN0cy9hY2Nlc3NpYmlsaXR5L3VpcmVxdWVzdC1ldmVudHMtZGlzcGF0Y2gtZnJvbS1heC5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvdWlyZXF1ZXN0LWV2ZW50
cy1kaXNwYXRjaC1mcm9tLWF4Lmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9hY2Nl
c3NpYmlsaXR5L3VpcmVxdWVzdC1ldmVudHMtZGlzcGF0Y2gtZnJvbS1heC5odG1sCShyZXZpc2lv
biAwKQpAQCAtMCwwICsxLDU2IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RU
RCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVm
PSIuLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0PgordmFy
IHN1Y2Nlc3NmdWxseVBhcnNlZCA9IGZhbHNlOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
ZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHkgaWQ9ImJvZHkiPgorCis8ZGl2IHRhYmluZGV4PSIwIiBpZD0ib25lIiBvbndlYmtpdHVuZG9y
ZXF1ZXN0PSJyZXR1cm4gaGFuZGxlRXZlbnQoZXZlbnQsICd3ZWJraXR1bmRvcmVxdWVzdCcpOyI+
T25lPC9kaXY+PGJyPgorPGRpdiB0YWJpbmRleD0iMCIgaWQ9InR3byIgb253ZWJraXRyZWRvcmVx
dWVzdD0icmV0dXJuIGhhbmRsZUV2ZW50KGV2ZW50LCAnd2Via2l0cmVkb3JlcXVlc3QnKTsiPlR3
bzwvZGl2Pjxicj4KKzxkaXYgdGFiaW5kZXg9IjAiIGlkPSJ0aHJlZSIgb253ZWJraXRlc2NhcGVy
ZXF1ZXN0PSJyZXR1cm4gaGFuZGxlRXZlbnQoZXZlbnQsICd3ZWJraXRlc2NhcGVyZXF1ZXN0Jyk7
Ij5UaHJlZTwvZGl2Pjxicj4KKzxkaXYgdGFiaW5kZXg9IjAiIGlkPSJmb3VyIiBvbndlYmtpdGRl
bGV0ZXJlcXVlc3Q9InJldHVybiBoYW5kbGVFdmVudChldmVudCwgJ3dlYmtpdGRlbGV0ZXJlcXVl
c3QnKTsiPkZvdXI8L2Rpdj48YnI+CisKKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisKKzxzY3JpcHQ+CisKKyAgICBkZXNjcmlwdGlvbigiVGhpcyB0
ZXN0cyB0aGF0IGEgVUlSZXF1ZXN0RXZlbnQgY2FuIGJlIGRpc3BhdGNoZWQgZnJvbSB0aGUgYWNj
ZXNzaWJpbGl0eSBkaXNwYXRjaCBtZWNoYW5pc20uIik7CisKKyAgICB2YXIgZXZlbnRSZWNlaXZl
ZCA9IDA7CisgICAgdmFyIGV4cGVjdGVkVHlwZQorICAgIGZ1bmN0aW9uIGhhbmRsZUV2ZW50KGUs
IGV4cGVjdGVkKSB7CisgICAgICAgIGV2ZW50UmVjZWl2ZWQgPSBlOworICAgICAgICBleHBlY3Rl
ZFR5cGUgPSBleHBlY3RlZDsKKyAgICAgICAgc2hvdWxkQmUoImV2ZW50UmVjZWl2ZWQudHlwZSIs
ICJleHBlY3RlZFR5cGUiKTsKKyAgICAgICAgaWYgKGV4cGVjdGVkVHlwZSA9PSAid2Via2l0ZGVs
ZXRlcmVxdWVzdCIpIHsKKyAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURv
bmUoKTsKKyAgICAgICAgfQorICAgIH0KKworICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRy
b2xsZXIpIHsKKyAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7
CisgICAgfQorICAgIAorICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJvbmUiKS5mb2N1cygp
OworICAgIGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmZvY3VzZWRFbGVtZW50LnBlcmZvcm1VbmRv
KCk7CisKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidHdvIikuZm9jdXMoKTsKKyAgICBh
Y2Nlc3NpYmlsaXR5Q29udHJvbGxlci5mb2N1c2VkRWxlbWVudC5wZXJmb3JtUmVkbygpOworCisg
ICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRocmVlIikuZm9jdXMoKTsKKyAgICBhY2Nlc3Np
YmlsaXR5Q29udHJvbGxlci5mb2N1c2VkRWxlbWVudC5wZXJmb3JtRXNjYXBlKCk7CisKKyAgICBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZm91ciIpLmZvY3VzKCk7CisgICAgYWNjZXNzaWJpbGl0
eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQucGVyZm9ybURlbGV0ZSgpOworICAgCisgICAgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4vZmFz
dC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KSW5kZXg6IExheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvdWlyZXF1ZXN0LWV2ZW50cy1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS91aXJlcXVl
c3QtZXZlbnRzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2FjY2Vz
c2liaWxpdHkvdWlyZXF1ZXN0LWV2ZW50cy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0w
LDAgKzEsMzMgQEAKK09uZQorCitUd28KKworVGhyZWUKKworRm91cgorCitGaXZlCisKK1NpeAor
CitTZXZlbgorCitFaWdodAorCitUaGlzIHRlc3RzIHRoYXQgVUlSZXF1ZXN0RXZlbnRzIHdvcmsg
YXMgZGVzY3JpYmVkLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBldmVu
dFJlY2VpdmVkLnR5cGUgaXMgZXhwZWN0ZWRUeXBlCitQQVNTIGV2ZW50UmVjZWl2ZWQudHlwZSBp
cyBleHBlY3RlZFR5cGUKK1BBU1MgZXZlbnRSZWNlaXZlZC50eXBlIGlzIGV4cGVjdGVkVHlwZQor
UEFTUyBldmVudFJlY2VpdmVkLnR5cGUgaXMgZXhwZWN0ZWRUeXBlCitQQVNTIGV2ZW50LnR5cGUg
aXMgJ3dlYmtpdGRlbGV0ZXJlcXVlc3QnCitQQVNTIGV2ZW50LnR5cGUgaXMgJ3dlYmtpdGVzY2Fw
ZXJlcXVlc3QnCitQQVNTIGV2ZW50LnR5cGUgaXMgJ3dlYmtpdHJlZG9yZXF1ZXN0JworUEFTUyBl
dmVudC50eXBlIGlzICd3ZWJraXR1bmRvcmVxdWVzdCcKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCkluZGV4OiBMYXlvdXRUZXN0cy9hY2Nlc3NpYmls
aXR5L3VpcmVxdWVzdC1ldmVudHMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9hY2Nl
c3NpYmlsaXR5L3VpcmVxdWVzdC1ldmVudHMuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRl
c3RzL2FjY2Vzc2liaWxpdHkvdWlyZXF1ZXN0LWV2ZW50cy5odG1sCShyZXZpc2lvbiAwKQpAQCAt
MCwwICsxLDEwNSBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vZmFz
dC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdD4KK3ZhciBzdWNjZXNz
ZnVsbHlQYXJzZWQgPSBmYWxzZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL2Zhc3QvanMv
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IGlkPSJi
b2R5Ij4KKworPGRpdiBpZD0ib25lIiBvbndlYmtpdHVuZG9yZXF1ZXN0PSJyZXR1cm4gaGFuZGxl
RXZlbnQoZXZlbnQsICd3ZWJraXR1bmRvcmVxdWVzdCcpOyI+T25lPC9kaXY+PGJyPgorPGRpdiBp
ZD0idHdvIiBvbndlYmtpdHJlZG9yZXF1ZXN0PSJyZXR1cm4gaGFuZGxlRXZlbnQoZXZlbnQsICd3
ZWJraXRyZWRvcmVxdWVzdCcpOyI+VHdvPC9kaXY+PGJyPgorPGRpdiBpZD0idGhyZWUiIG9ud2Vi
a2l0ZXNjYXBlcmVxdWVzdD0icmV0dXJuIGhhbmRsZUV2ZW50KGV2ZW50LCAnd2Via2l0ZXNjYXBl
cmVxdWVzdCcpOyI+VGhyZWU8L2Rpdj48YnI+Cis8ZGl2IGlkPSJmb3VyIiBvbndlYmtpdGRlbGV0
ZXJlcXVlc3Q9InJldHVybiBoYW5kbGVFdmVudChldmVudCwgJ3dlYmtpdGRlbGV0ZXJlcXVlc3Qn
KTsiPkZvdXI8L2Rpdj48YnI+CisKKzxkaXYgaWQ9ImZpdmUiPkZpdmU8L2Rpdj48YnI+Cis8ZGl2
IGlkPSJzaXgiPlNpeDwvZGl2Pjxicj4KKzxkaXYgaWQ9InNldmVuIj5TZXZlbjwvZGl2Pjxicj4K
KzxkaXYgaWQ9ImVpZ2h0Ij5FaWdodDwvZGl2Pjxicj4KKworPHAgaWQ9ImRlc2NyaXB0aW9uIj48
L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKworPHNjcmlwdD4KKworICAgIGRlc2NyaXB0
aW9uKCJUaGlzIHRlc3RzIHRoYXQgVUlSZXF1ZXN0RXZlbnRzIHdvcmsgYXMgZGVzY3JpYmVkLiIp
OworCisgICAgdmFyIGV2ZW50UmVjZWl2ZWQgPSAwOworICAgIHZhciBleHBlY3RlZFR5cGUKKyAg
ICBmdW5jdGlvbiBoYW5kbGVFdmVudChlLCBleHBlY3RlZCkgeworICAgICAgICBldmVudFJlY2Vp
dmVkID0gZTsKKyAgICAgICAgZXhwZWN0ZWRUeXBlID0gZXhwZWN0ZWQ7CisgICAgICAgIHNob3Vs
ZEJlKCJldmVudFJlY2VpdmVkLnR5cGUiLCAiZXhwZWN0ZWRUeXBlIik7CisgICAgfQorCisgICAg
dmFyIGNvdW50ID0gMDsKKyAgICBmdW5jdGlvbiBpbnN0YWxsZWRFdmVudEhhbmRsZXIoZSkgewor
ICAgICAgIGlmIChjb3VudCA9PSAwKSB7CisgICAgICAgICAgc2hvdWxkQmUoImV2ZW50LnR5cGUi
LCAiJ3dlYmtpdGRlbGV0ZXJlcXVlc3QnIik7CisgICAgICAgfQorICAgICAgIGVsc2UgaWYgKGNv
dW50ID09IDEpIHsKKyAgICAgICAgICBzaG91bGRCZSgiZXZlbnQudHlwZSIsICInd2Via2l0ZXNj
YXBlcmVxdWVzdCciKTsKKyAgICAgICB9CisgICAgICAgZWxzZSBpZiAoY291bnQgPT0gMikgewor
ICAgICAgICAgIHNob3VsZEJlKCJldmVudC50eXBlIiwgIid3ZWJraXRyZWRvcmVxdWVzdCciKTsK
KyAgICAgICB9CisgICAgICAgZWxzZSBpZiAoY291bnQgPT0gMykgeworICAgICAgICAgIHNob3Vs
ZEJlKCJldmVudC50eXBlIiwgIid3ZWJraXR1bmRvcmVxdWVzdCciKTsKKyAgICAgICAgICBpZiAo
d2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAgICAgICAgIGxheW91dFRlc3RD
b250cm9sbGVyLm5vdGlmeURvbmUoKTsKKyAgICAgICAgICB9CisgICAgICAgfQorICAgICAgIGNv
dW50Kys7CisgICAgfQorCisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgewor
ICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKyAgICB9Cisg
ICAgCisgICAgLy8gU2VuZCB0aGUgZXZlbnRzIHRvIHRoZSBzcGVjaWZpYyBub2RlIHRvIG1ha2Ug
c3VyZSB0aGUgb24qIGhhbmRsZXJzIGhhbmRsZSB0aGUgZXZlbnQuCisgICAgdmFyIGV2dCA9IGRv
Y3VtZW50LmNyZWF0ZUV2ZW50KCdXZWJLaXRVSVJlcXVlc3RFdmVudCcpOworICAgIGV2dC5pbml0
V2ViS2l0VUlSZXF1ZXN0RXZlbnQoIndlYmtpdHVuZG9yZXF1ZXN0IiwgdHJ1ZSwgdHJ1ZSwgZG9j
dW1lbnQuZGVmYXVsdFZpZXcsIDApOworICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJvbmUi
KS5kaXNwYXRjaEV2ZW50KGV2dCk7CisKKyAgICBldnQgPSBkb2N1bWVudC5jcmVhdGVFdmVudCgn
V2ViS2l0VUlSZXF1ZXN0RXZlbnQnKTsKKyAgICBldnQuaW5pdFdlYktpdFVJUmVxdWVzdEV2ZW50
KCJ3ZWJraXRyZWRvcmVxdWVzdCIsIHRydWUsIHRydWUsIGRvY3VtZW50LmRlZmF1bHRWaWV3LCAw
KTsKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidHdvIikuZGlzcGF0Y2hFdmVudChldnQp
OworCisgICAgZXZ0ID0gZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ1dlYktpdFVJUmVxdWVzdEV2ZW50
Jyk7CisgICAgZXZ0LmluaXRXZWJLaXRVSVJlcXVlc3RFdmVudCgid2Via2l0ZXNjYXBlcmVxdWVz
dCIsIHRydWUsIHRydWUsIGRvY3VtZW50LmRlZmF1bHRWaWV3LCAwKTsKKyAgICBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgidGhyZWUiKS5kaXNwYXRjaEV2ZW50KGV2dCk7CisKKyAgICBldnQgPSBk
b2N1bWVudC5jcmVhdGVFdmVudCgnV2ViS2l0VUlSZXF1ZXN0RXZlbnQnKTsKKyAgICBldnQuaW5p
dFdlYktpdFVJUmVxdWVzdEV2ZW50KCJ3ZWJraXRkZWxldGVyZXF1ZXN0IiwgdHJ1ZSwgdHJ1ZSwg
ZG9jdW1lbnQuZGVmYXVsdFZpZXcsIDApOworICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJm
b3VyIikuZGlzcGF0Y2hFdmVudChldnQpOworCisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImZpdmUiKS5hZGRFdmVudExpc3RlbmVyKCd3ZWJraXRkZWxldGVyZXF1ZXN0JywgaW5zdGFsbGVk
RXZlbnRIYW5kbGVyKTsKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2l4IikuYWRkRXZl
bnRMaXN0ZW5lcignd2Via2l0ZXNjYXBlcmVxdWVzdCcsIGluc3RhbGxlZEV2ZW50SGFuZGxlcik7
CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNldmVuIikuYWRkRXZlbnRMaXN0ZW5lcign
d2Via2l0cmVkb3JlcXVlc3QnLCBpbnN0YWxsZWRFdmVudEhhbmRsZXIpOworICAgIGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlaWdodCIpLmFkZEV2ZW50TGlzdGVuZXIoJ3dlYmtpdHVuZG9yZXF1
ZXN0JywgaW5zdGFsbGVkRXZlbnRIYW5kbGVyKTsKKworICAgIC8vIFNlbmQgdGhlIGV2ZW50IHRv
IHRoZSBzcGVjaWZpYyBub2RlcyB0byBtYWtlIHN1cmUgdGhlIGFkZEV2ZW50TGlzdGVuZXJzIHdv
cmsKKyAgICBldnQgPSBkb2N1bWVudC5jcmVhdGVFdmVudCgnV2ViS2l0VUlSZXF1ZXN0RXZlbnQn
KTsKKyAgICBldnQuaW5pdFdlYktpdFVJUmVxdWVzdEV2ZW50KCJ3ZWJraXRkZWxldGVyZXF1ZXN0
IiwgdHJ1ZSwgdHJ1ZSwgZG9jdW1lbnQuZGVmYXVsdFZpZXcsIDApOworICAgIGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJmaXZlIikuZGlzcGF0Y2hFdmVudChldnQpOworCisgICAgZXZ0ID0gZG9j
dW1lbnQuY3JlYXRlRXZlbnQoJ1dlYktpdFVJUmVxdWVzdEV2ZW50Jyk7CisgICAgZXZ0LmluaXRX
ZWJLaXRVSVJlcXVlc3RFdmVudCgid2Via2l0ZXNjYXBlcmVxdWVzdCIsIHRydWUsIHRydWUsIGRv
Y3VtZW50LmRlZmF1bHRWaWV3LCAwKTsKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2l4
IikuZGlzcGF0Y2hFdmVudChldnQpOworCisgICAgZXZ0ID0gZG9jdW1lbnQuY3JlYXRlRXZlbnQo
J1dlYktpdFVJUmVxdWVzdEV2ZW50Jyk7CisgICAgZXZ0LmluaXRXZWJLaXRVSVJlcXVlc3RFdmVu
dCgid2Via2l0cmVkb3JlcXVlc3QiLCB0cnVlLCB0cnVlLCBkb2N1bWVudC5kZWZhdWx0Vmlldywg
MCk7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNldmVuIikuZGlzcGF0Y2hFdmVudChl
dnQpOworCisgICAgZXZ0ID0gZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ1dlYktpdFVJUmVxdWVzdEV2
ZW50Jyk7CisgICAgZXZ0LmluaXRXZWJLaXRVSVJlcXVlc3RFdmVudCgid2Via2l0dW5kb3JlcXVl
c3QiLCB0cnVlLCB0cnVlLCBkb2N1bWVudC5kZWZhdWx0VmlldywgMCk7CisgICAgZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVpZ2h0IikuZGlzcGF0Y2hFdmVudChldnQpOworCisgICAgc3VjY2Vz
c2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4vZmFzdC9q
cy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
SW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL3Byb3RvdHlwZS1pbmhlcml0YW5jZS1leHBlY3Rl
ZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9kb20vcHJvdG90eXBlLWluaGVy
aXRhbmNlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzExNDQpCisrKyBMYXlvdXRUZXN0cy9mYXN0
L2RvbS9wcm90b3R5cGUtaW5oZXJpdGFuY2UtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBA
IC02MzMsNiArNjMzLDggQEAgUEFTUyBpbm5lci5XZWJLaXRUcmFuc2l0aW9uRXZlbnQuaXNJbm5l
cgogUEFTUyBpbm5lci5XZWJLaXRUcmFuc2l0aW9uRXZlbnQuY29uc3RydWN0b3IuaXNJbm5lciBp
cyB0cnVlCiBQQVNTIGlubmVyLldlYlNvY2tldC5pc0lubmVyIGlzIHRydWUKIFBBU1MgaW5uZXIu
V2ViU29ja2V0LmNvbnN0cnVjdG9yLmlzSW5uZXIgaXMgdHJ1ZQorUEFTUyBpbm5lci5XZWJLaXRV
SVJlcXVlc3RFdmVudC5pc0lubmVyIGlzIHRydWUKK1BBU1MgaW5uZXIuV2ViS2l0VUlSZXF1ZXN0
RXZlbnQuY29uc3RydWN0b3IuaXNJbm5lciBpcyB0cnVlCiBQQVNTIGlubmVyLldoZWVsRXZlbnQu
aXNJbm5lciBpcyB0cnVlCiBQQVNTIGlubmVyLldoZWVsRXZlbnQuY29uc3RydWN0b3IuaXNJbm5l
ciBpcyB0cnVlCiBQQVNTIGlubmVyLldvcmtlci5pc0lubmVyIGlzIHRydWUKSW5kZXg6IExheW91
dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGllcy1leHBlY3RlZC50eHQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVz
LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzExNDQpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2RvbS9X
aW5kb3cvd2luZG93LXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0y
MDMzLDYgKzIwMzMsOCBAQCB3aW5kb3cuV2ViU29ja2V0LnByb3RvdHlwZS5jbG9zZSBbZnVuY3Rp
CiB3aW5kb3cuV2ViU29ja2V0LnByb3RvdHlwZS5kaXNwYXRjaEV2ZW50IFtmdW5jdGlvbl0KIHdp
bmRvdy5XZWJTb2NrZXQucHJvdG90eXBlLnJlbW92ZUV2ZW50TGlzdGVuZXIgW2Z1bmN0aW9uXQog
d2luZG93LldlYlNvY2tldC5wcm90b3R5cGUuc2VuZCBbZnVuY3Rpb25dCit3aW5kb3cuV2ViS2l0
VUlSZXF1ZXN0RXZlbnQgW29iamVjdCBXZWJLaXRVSVJlcXVlc3RFdmVudENvbnN0cnVjdG9yXQor
d2luZG93LldlYktpdFVJUmVxdWVzdEV2ZW50LnByb3RvdHlwZSBbcHJpbnRlZCBhYm92ZSBhcyB3
aW5kb3cuRXZlbnQucHJvdG90eXBlXQogd2luZG93LldoZWVsRXZlbnQgW29iamVjdCBXaGVlbEV2
ZW50Q29uc3RydWN0b3JdCiB3aW5kb3cuV2hlZWxFdmVudC5wcm90b3R5cGUgW3ByaW50ZWQgYWJv
dmUgYXMgd2luZG93LkV2ZW50LnByb3RvdHlwZV0KIHdpbmRvdy5Xb3JrZXIgW29iamVjdCBXb3Jr
ZXJDb25zdHJ1Y3Rvcl0KQEAgLTIzNjcsNyArMjM2OSwxMSBAQCB3aW5kb3cub253YWl0aW5nIFtu
dWxsXQogd2luZG93Lm9ud2Via2l0YW5pbWF0aW9uZW5kIFtudWxsXQogd2luZG93Lm9ud2Via2l0
YW5pbWF0aW9uaXRlcmF0aW9uIFtudWxsXQogd2luZG93Lm9ud2Via2l0YW5pbWF0aW9uc3RhcnQg
W251bGxdCit3aW5kb3cub253ZWJraXRkZWxldGVyZXF1ZXN0IFtudWxsXQord2luZG93Lm9ud2Vi
a2l0ZXNjYXBlcmVxdWVzdCBbbnVsbF0KK3dpbmRvdy5vbndlYmtpdHJlZG9yZXF1ZXN0IFtudWxs
XQogd2luZG93Lm9ud2Via2l0dHJhbnNpdGlvbmVuZCBbbnVsbF0KK3dpbmRvdy5vbndlYmtpdHVu
ZG9yZXF1ZXN0IFtudWxsXQogd2luZG93Lm9wZW4gW2Z1bmN0aW9uXQogd2luZG93Lm9wZW5EYXRh
YmFzZSBbZnVuY3Rpb25dCiB3aW5kb3cub3V0ZXJIZWlnaHQgW251bWJlcl0KSW5kZXg6IExheW91
dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydHktZGVzY3JpcHRvcnMtZXhwZWN0
ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ct
cHJvcGVydHktZGVzY3JpcHRvcnMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MTE0NCkKKysrIExh
eW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydHktZGVzY3JpcHRvcnMtZXhw
ZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0zMTgsNiArMzE4LDcgQEAgUEFTUyB0eXBlb2Yg
T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcAogUEFTUyB0eXBlb2YgT2JqZWN0LmdldE93blBy
b3BlcnR5RGVzY3JpcHRvcih3aW5kb3csICdXZWJLaXRQb2ludCcpIGlzICdvYmplY3QnCiBQQVNT
IHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywgJ1dlYktpdFRy
YW5zaXRpb25FdmVudCcpIGlzICdvYmplY3QnCiBQQVNTIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJv
cGVydHlEZXNjcmlwdG9yKHdpbmRvdywgJ1dlYlNvY2tldCcpIGlzICdvYmplY3QnCitQQVNTIHR5
cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywgJ1dlYktpdFVJUmVx
dWVzdEV2ZW50JykgaXMgJ29iamVjdCcKIFBBU1MgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0
eURlc2NyaXB0b3Iod2luZG93LCAnV2hlZWxFdmVudCcpIGlzICdvYmplY3QnCiBQQVNTIHR5cGVv
ZiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywgJ1dvcmtlcicpIGlzICdv
YmplY3QnCiBQQVNTIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRv
dywgJ1hNTERvY3VtZW50JykgaXMgJ29iamVjdCcKQEAgLTQzOSw3ICs0NDAsMTEgQEAgUEFTUyB0
eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcAogUEFTUyB0eXBlb2YgT2JqZWN0Lmdl
dE93blByb3BlcnR5RGVzY3JpcHRvcih3aW5kb3csICdvbndlYmtpdGFuaW1hdGlvbmVuZCcpIGlz
ICdvYmplY3QnCiBQQVNTIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdp
bmRvdywgJ29ud2Via2l0YW5pbWF0aW9uaXRlcmF0aW9uJykgaXMgJ29iamVjdCcKIFBBU1MgdHlw
ZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2luZG93LCAnb253ZWJraXRhbmlt
YXRpb25zdGFydCcpIGlzICdvYmplY3QnCitQQVNTIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVy
dHlEZXNjcmlwdG9yKHdpbmRvdywgJ29ud2Via2l0ZGVsZXRlcmVxdWVzdCcpIGlzICdvYmplY3Qn
CitQQVNTIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywgJ29u
d2Via2l0ZXNjYXBlcmVxdWVzdCcpIGlzICdvYmplY3QnCitQQVNTIHR5cGVvZiBPYmplY3QuZ2V0
T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywgJ29ud2Via2l0cmVkb3JlcXVlc3QnKSBpcyAn
b2JqZWN0JwogUEFTUyB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3aW5k
b3csICdvbndlYmtpdHRyYW5zaXRpb25lbmQnKSBpcyAnb2JqZWN0JworUEFTUyB0eXBlb2YgT2Jq
ZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3aW5kb3csICdvbndlYmtpdHVuZG9yZXF1ZXN0
JykgaXMgJ29iamVjdCcKIFBBU1MgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0
b3Iod2luZG93LCAnb3V0ZXJIZWlnaHQnKSBpcyAnb2JqZWN0JwogUEFTUyB0eXBlb2YgT2JqZWN0
LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3aW5kb3csICdvdXRlcldpZHRoJykgaXMgJ29iamVj
dCcKIFBBU1MgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2luZG93LCAn
cGFnZVhPZmZzZXQnKSBpcyAnb2JqZWN0JwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9qcy9nbG9i
YWwtY29uc3RydWN0b3JzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9m
YXN0L2pzL2dsb2JhbC1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3MTE0NCkK
KysrIExheW91dFRlc3RzL2Zhc3QvanMvZ2xvYmFsLWNvbnN0cnVjdG9ycy1leHBlY3RlZC50eHQJ
KHdvcmtpbmcgY29weSkKQEAgLTI5OSw2ICsyOTksNyBAQCBQQVNTIFdlYktpdENTU1RyYW5zZm9y
bVZhbHVlLnRvU3RyaW5nKCkgCiBQQVNTIFdlYktpdFBvaW50LnRvU3RyaW5nKCkgaXMgJ1tvYmpl
Y3QgV2ViS2l0UG9pbnRDb25zdHJ1Y3Rvcl0nCiBQQVNTIFdlYktpdFRyYW5zaXRpb25FdmVudC50
b1N0cmluZygpIGlzICdbb2JqZWN0IFdlYktpdFRyYW5zaXRpb25FdmVudENvbnN0cnVjdG9yXScK
IFBBU1MgV2ViU29ja2V0LnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgV2ViU29ja2V0Q29uc3RydWN0
b3JdJworUEFTUyBXZWJLaXRVSVJlcXVlc3RFdmVudC50b1N0cmluZygpIGlzICdbb2JqZWN0IFdl
YmtpdFVJUmVxdWVzdEV2ZW50Q29uc3RydWN0b3JdJwogUEFTUyBXaGVlbEV2ZW50LnRvU3RyaW5n
KCkgaXMgJ1tvYmplY3QgV2hlZWxFdmVudENvbnN0cnVjdG9yXScKIFBBU1MgV29ya2VyLnRvU3Ry
aW5nKCkgaXMgJ1tvYmplY3QgV29ya2VyQ29uc3RydWN0b3JdJwogUEFTUyBYTUxEb2N1bWVudC50
b1N0cmluZygpIGlzICdbb2JqZWN0IERvY3VtZW50Q29uc3RydWN0b3JdJwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>73133</attachid>
            <date>2010-11-05 16:07:45 -0700</date>
            <delta_ts>2011-04-26 15:55:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-47301-20101105160744.patch</filename>
            <type>text/plain</type>
            <size>64014</size>
            <attacher name="chris fleizach">cfleizach</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA3MTQ1NykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNjUgQEAKKzIwMTAtMTAtMjYgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNoQGFw
cGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBBWDogU3VwcG9ydCBVSVJlcXVlc3RFdmVudHMgZnJvbSBuZXcgVzNDIFByb3Bvc2FsCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NzMwMQorCisgICAg
ICAgIFN1cHBvcnQgdGhlIG5ldyBVSVJlcXVlc3RFdmVudCBhcyBvdXRsaW5lIGluCisgICAgICAg
IlVzZXIgSW50ZXJmYWNlIEluZGVwZW5kZW5jZSBmb3IgQWNjZXNzaWJsZSBSaWNoIEludGVybmV0
IEFwcGxpY2F0aW9ucyIKKyAgICAgICAgaHR0cDovL2xpc3RzLnczLm9yZy9BcmNoaXZlcy9QdWJs
aWMvd2FpLXh0ZWNoLzIwMTBBdWcvYXR0LTAwNzkvVXNlckludGVyZmFjZUluZGVwZW5kZW5jZS5o
dG1sCisgCisgICAgICAgIEl0IGFkZHMgYSBuZXcgZXZlbnQgdGhhdCBjYW4gYmUgbGlzdGVuZWQg
dG8gYW5kIHNlbnQgdGhhdCBkZWNvdXBsZXMgYWN0aW9ucyBmcm9tIGEgc3BlY2lmaWMKKyAgICAg
ICAgdHlwZSBvZiBpbnB1dCwgYWxsb3dpbmcgYW4gYXNzaXN0aXZlIHRlY2hub2xvZ3kgdG8gc2Vu
ZCBhbiAiZXNjYXBlLCB1bmRvLCByZWRvLCBvciBkZWxldGUiIGFjdGlvbgorICAgICAgICB3aGVu
ZXZlciBpdCBuZWVkcyB0byBiYXNlZCBvbiBpdHMgb3duIGlucHV0LgorCisgICAgICAgIFRlc3Rz
OiBhY2Nlc3NpYmlsaXR5L3VpcmVxdWVzdC1ldmVudHMtZGlzcGF0Y2gtZnJvbS1heC5odG1sCisg
ICAgICAgICAgICAgICBhY2Nlc3NpYmlsaXR5L3VpcmVxdWVzdC1ldmVudHMuaHRtbAorCisgICAg
ICAgICogQW5kcm9pZC5kZXJpdmVkLnY4YmluZGluZ3MubWs6CisgICAgICAgICogQW5kcm9pZC5q
c2NiaW5kaW5ncy5tazoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5jcHA6CisgICAgICAgICog
RGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbToKKyAgICAgICAg
KiBXZWJDb3JlLmV4cC5pbjoKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogV2Vi
Q29yZS5wcmk6CisgICAgICAgICogV2ViQ29yZS5wcm86CisgICAgICAgICogV2ViQ29yZS52Y3By
b2ovV2ViQ29yZS52Y3Byb2o6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHA6CisgICAg
ICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3Q6OmRpc3BhdGNoV2Via2l0VUlSZXF1ZXN0RXZlbnQp
OgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oOgorICAgICAg
ICAqIGFjY2Vzc2liaWxpdHkvV2Via2l0VUlSZXF1ZXN0RXZlbnQuY3BwOiBBZGRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OldlYmtpdFVJUmVxdWVzdEV2ZW50OjpXZWJraXRVSVJlcXVlc3RFdmVudCk6
CisgICAgICAgIChXZWJDb3JlOjpXZWJraXRVSVJlcXVlc3RFdmVudDo6aW5pdFdlYmtpdFVJUmVx
dWVzdEV2ZW50KToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L1dlYmtpdFVJUmVxdWVzdEV2ZW50
Lmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6V2Via2l0VUlSZXF1ZXN0RXZlbnQ6OmNyZWF0
ZSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJraXRVSVJlcXVlc3RFdmVudDo6aXNXZWJraXRVSVJl
cXVlc3RFdmVudCk6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9XZWJraXRVSVJlcXVlc3RFdmVu
dC5pZGw6IEFkZGVkLgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvbWFjL0FjY2Vzc2liaWxpdHlP
YmplY3RXcmFwcGVyLm1tOgorICAgICAgICAoLVtBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlciBh
Y2Nlc3NpYmlsaXR5UGVyZm9ybUFjdGlvbjpdKToKKyAgICAgICAgKiBiaW5kaW5ncy9nb2JqZWN0
L0dOVW1ha2VmaWxlLmFtOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRXZlbnRDdXN0b20uY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6dG9KUyk6CisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpjcmVhdGVFdmVudCk6CisgICAgICAgICogZG9t
L0RvY3VtZW50Lmg6CisgICAgICAgICogZG9tL0RvY3VtZW50LmlkbDoKKyAgICAgICAgKiBkb20v
RWxlbWVudC5oOgorICAgICAgICAqIGRvbS9FbGVtZW50LmlkbDoKKyAgICAgICAgKiBkb20vRXZl
bnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnQ6OmlzV2Via2l0VUlSZXF1ZXN0RXZlbnQp
OgorICAgICAgICAqIGRvbS9FdmVudC5oOgorICAgICAgICAqIGRvbS9FdmVudC5pZGw6CisgICAg
ICAgICogZG9tL0V2ZW50TmFtZXMuaDoKKyAgICAgICAgKiBodG1sL0hUTUxBdHRyaWJ1dGVOYW1l
cy5pbjoKKyAgICAgICAgKiBodG1sL0hUTUxFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkhUTUxFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZSk6CisgICAgICAgICogcGFnZS9ET01X
aW5kb3cuaDoKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5pZGw6CisKIDIwMTAtMTEtMDUgIFJ5
b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGF2
aWQgTGV2aW4uCkluZGV4OiBXZWJDb3JlL0FuZHJvaWQuZGVyaXZlZC52OGJpbmRpbmdzLm1rCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvQW5kcm9pZC5kZXJpdmVkLnY4YmluZGluZ3MubWsJKHJldmlz
aW9uIDcxNDU3KQorKysgV2ViQ29yZS9BbmRyb2lkLmRlcml2ZWQudjhiaW5kaW5ncy5tawkod29y
a2luZyBjb3B5KQpAQCAtMjY2LDYgKzI2NiwyMCBAQCBMT0NBTF9HRU5FUkFURURfU09VUkNFUyAr
PSAkKEdFTikKICMgYWJvdmUgcnVsZXMuICBTcGVjaWZ5aW5nIHRoaXMgZXhwbGljaXRseSBtYWtl
cyAtajIgd29yay4KICQocGF0c3Vic3QgJS5oLCUuY3BwLCQoR0VOKSk6ICQoaW50ZXJtZWRpYXRl
cykvYmluZGluZ3MvJS5jcHAgOiAkKGludGVybWVkaWF0ZXMpL2JpbmRpbmdzLyUuaAogCisjIEFj
Y2Vzc2liaWxpdHkKK0dFTiA6PSBcCisgICAgJChpbnRlcm1lZGlhdGVzKS9iaW5kaW5ncy9WOFdl
YktpdFVJUmVxdWVzdEV2ZW50LmgKKyAKKyQoR0VOKTogUFJJVkFURV9QQVRIIDo9ICQoTE9DQUxf
UEFUSCkKKyQoR0VOKTogUFJJVkFURV9DVVNUT01fVE9PTCA9IFNPVVJDRV9ST09UPSQoUFJJVkFU
RV9QQVRIKSBwZXJsIC1JJChQUklWQVRFX1BBVEgpL2JpbmRpbmdzL3NjcmlwdHMgJChQUklWQVRF
X1BBVEgpL2JpbmRpbmdzL3NjcmlwdHMvZ2VuZXJhdGUtYmluZGluZ3MucGwgLS1kZWZpbmVzICIk
KEZFQVRVUkVfREVGSU5FUykgTEFOR1VBR0VfSkFWQVNDUklQVCIgLS1nZW5lcmF0b3IgVjggLS1p
bmNsdWRlIGRvbSAtLWluY2x1ZGUgaHRtbCAtLW91dHB1dGRpciAkKGRpciAkQCkgJDwKKyQoR0VO
KTogJChpbnRlcm1lZGlhdGVzKS9iaW5kaW5ncy9WOCUuaCA6ICQoTE9DQUxfUEFUSCkvYWNjZXNz
aWJpbGl0eS8lLmlkbCAkKGpzX2JpbmRpbmdfc2NyaXB0cykKKwkkKHRyYW5zZm9ybS1nZW5lcmF0
ZWQtc291cmNlKQorTE9DQUxfR0VORVJBVEVEX1NPVVJDRVMgKz0gJChHRU4pCisKKyMgV2UgYWxz
byBuZWVkIHRoZSAuY3BwIGZpbGVzLCB3aGljaCBhcmUgZ2VuZXJhdGVkIGFzIHNpZGUgZWZmZWN0
cyBvZiB0aGUKKyMgYWJvdmUgcnVsZXMuICBTcGVjaWZ5aW5nIHRoaXMgZXhwbGljaXRseSBtYWtl
cyAtajIgd29yay4KKyQocGF0c3Vic3QgJS5oLCUuY3BwLCQoR0VOKSk6ICQoaW50ZXJtZWRpYXRl
cykvYmluZGluZ3MvJS5jcHAgOiAkKGludGVybWVkaWF0ZXMpL2JpbmRpbmdzLyUuaAorCiAjIFBh
Z2UKIEdFTiA6PSBcCiAgICAgJChpbnRlcm1lZGlhdGVzKS9iaW5kaW5ncy9WOEJhckluZm8uaCBc
CkluZGV4OiBXZWJDb3JlL0FuZHJvaWQuanNjYmluZGluZ3MubWsKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9BbmRyb2lkLmpzY2JpbmRpbmdzLm1rCShyZXZpc2lvbiA3MTQ1NykKKysrIFdlYkNvcmUv
QW5kcm9pZC5qc2NiaW5kaW5ncy5tawkod29ya2luZyBjb3B5KQpAQCAtNDUsNiArNDUsNyBAQCBC
SU5ESU5HX0NfSU5DTFVERVMgOj0gXAogCSQoSkFWQVNDUklQVENPUkVfUEFUSCkvd3JlYyBcCiAJ
JChKQVZBU0NSSVBUQ09SRV9QQVRIKS9Gb3J3YXJkaW5nSGVhZGVycyBcCiAJXAorCSQoYmFzZV9p
bnRlcm1lZGlhdGVzKS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkgXAogCSQoYmFzZV9pbnRlcm1lZGlh
dGVzKS9XZWJDb3JlL2JpbmRpbmdzL2pzIFwKIAkkKGJhc2VfaW50ZXJtZWRpYXRlcykvV2ViQ29y
ZS9kb20gXAogCSQoYmFzZV9pbnRlcm1lZGlhdGVzKS9XZWJDb3JlL2h0bWwvY2FudmFzIFwKSW5k
ZXg6IFdlYkNvcmUvQ01ha2VMaXN0cy50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9DTWFrZUxp
c3RzLnR4dAkocmV2aXNpb24gNzE0NTcpCisrKyBXZWJDb3JlL0NNYWtlTGlzdHMudHh0CSh3b3Jr
aW5nIGNvcHkpCkBAIC03OSw2ICs3OSw3IEBAIFNFVChXZWJDb3JlX0lOQ0xVREVfRElSRUNUT1JJ
RVMKICkKIAogU0VUKFdlYkNvcmVfSURMX0lOQ0xVREVTCisgICAgYWNjZXNzaWJpbGl0eQogICAg
IGJpbmRpbmdzL2dlbmVyaWMKICAgICBiaW5kaW5ncy9qcwogICAgIGNzcwpAQCAtMTE0LDYgKzEx
NSw4IEBAIFNFVChXZWJDb3JlX0lETF9QVVJFX0ZJTEVTCiApCiAKIFNFVChXZWJDb3JlX0lETF9G
SUxFUworICAgIGFjY2Vzc2liaWxpdHkvV2ViS2l0VUlSZXF1ZXN0RXZlbnQuaWRsCisKICAgICBj
c3MvQ291bnRlci5pZGwKICAgICBjc3MvQ1NTQ2hhcnNldFJ1bGUuaWRsCiAgICAgY3NzL0NTU0Zv
bnRGYWNlUnVsZS5pZGwKQEAgLTU3MCw2ICs1NzMsNyBAQCBTRVQoV2ViQ29yZV9TT1VSQ0VTCiAg
ICAgYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5VGFibGVDb2x1bW4uY3BwCiAgICAgYWNjZXNz
aWJpbGl0eS9BY2Nlc3NpYmlsaXR5VGFibGVIZWFkZXJDb250YWluZXIuY3BwCiAgICAgYWNjZXNz
aWJpbGl0eS9BY2Nlc3NpYmlsaXR5VGFibGVSb3cuY3BwCisgICAgYWNjZXNzaWJpbGl0eS9XZWJL
aXRVSVJlcXVlc3RFdmVudC5jcHAKIAogICAgIGJpbmRpbmdzL2pzL3NwZWNpYWxpemF0aW9uL0pT
QmluZGluZ1N0YXRlLmNwcAogICAgIGJpbmRpbmdzL1NjcmlwdENvbnRyb2xsZXJCYXNlLmNwcApJ
bmRleDogV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy5jcHAJKHJldmlzaW9uIDcxNDU3KQorKysgV2ViQ29yZS9EZXJpdmVkU291
cmNlcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQyOCw2ICs0MjgsNyBAQAogI2luY2x1ZGUgIkpT
V2ViS2l0Q1NTTWF0cml4LmNwcCIKICNpbmNsdWRlICJKU1dlYktpdFBvaW50LmNwcCIKICNpbmNs
dWRlICJKU1dlYktpdFRyYW5zaXRpb25FdmVudC5jcHAiCisjaW5jbHVkZSAiSlNXZWJLaXRVSVJl
cXVlc3RFdmVudC5jcHAiCiAjaW5jbHVkZSAiSlNXZWJTb2NrZXQuY3BwIgogI2luY2x1ZGUgIkpT
V2hlZWxFdmVudC5jcHAiCiAjaW5jbHVkZSAiSlNXb3JrZXIuY3BwIgpJbmRleDogV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy5tYWtlCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvRGVyaXZlZFNvdXJjZXMu
bWFrZQkocmV2aXNpb24gNzE0NTcpCisrKyBXZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UJKHdv
cmtpbmcgY29weSkKQEAgLTI4LDYgKzI4LDcgQEAKIAogVlBBVEggPSBcCiAgICAgJChXZWJDb3Jl
KSBcCisgICAgJChXZWJDb3JlKS9hY2Nlc3NpYmlsaXR5IFwKICAgICAkKFdlYkNvcmUpL2JpbmRp
bmdzL2dlbmVyaWMgXAogICAgICQoV2ViQ29yZSkvYmluZGluZ3MvanMgXAogICAgICQoV2ViQ29y
ZSkvYmluZGluZ3Mvb2JqYyBcCkBAIC00ODIsNiArNDgzLDcgQEAgRE9NX0NMQVNTRVMgPSBcCiAg
ICAgV2ViS2l0Q1NTS2V5ZnJhbWVzUnVsZSBcCiAgICAgV2ViS2l0Q1NTTWF0cml4IFwKICAgICBX
ZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZSBcCisgICAgV2ViS2l0VUlSZXF1ZXN0RXZlbnQgXAogICAg
IFdlYktpdFBvaW50IFwKICAgICBXZWJLaXRUcmFuc2l0aW9uRXZlbnQgXAogICAgIFdlYlNvY2tl
dCBcCkluZGV4OiBXZWJDb3JlL0dOVW1ha2VmaWxlLmFtCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
R05VbWFrZWZpbGUuYW0JKHJldmlzaW9uIDcxNDU3KQorKysgV2ViQ29yZS9HTlVtYWtlZmlsZS5h
bQkod29ya2luZyBjb3B5KQpAQCAtNTQ5LDYgKzU0OSw4IEBAIHdlYmNvcmVfYnVpbHRfc291cmNl
cyArPSBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dlYktpdFBvaW50LmggXAogCURlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNXZWJLaXRUcmFuc2l0aW9uRXZlbnQuY3BwIFwKIAlEZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTV2ViS2l0VHJhbnNpdGlvbkV2ZW50LmggXAorCURlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNXZWJLaXRVSVJlcXVlc3RFdmVudC5jcHAgXAorCURlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNXZWJLaXRVSVJlcXVlc3RFdmVudC5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTV2hlZWxFdmVudC5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXaGVlbEV2
ZW50LmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXb3JrZXJDb250ZXh0LmNwcCBcCkBA
IC02MzAsNiArNjMyLDggQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlXZWJDb3JlL2FjY2Vzc2li
aWxpdHkvQWNjZXNzaWJpbGl0eVRhYmxlUm93LmggXAogCVdlYkNvcmUvYWNjZXNzaWJpbGl0eS9B
WE9iamVjdENhY2hlLmNwcCBcCiAJV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUu
aCBcCisJV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L1dlYktpdFVJUmVxdWVzdEV2ZW50LmNwcCBcCisJ
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L1dlYktpdFVJUmVxdWVzdEV2ZW50LmggXAogCVdlYkNvcmUv
YmluZGluZ3MvZ2VuZXJpYy9BY3RpdmVET01DYWxsYmFjay5jcHAgXAogCVdlYkNvcmUvYmluZGlu
Z3MvZ2VuZXJpYy9BY3RpdmVET01DYWxsYmFjay5oIFwKIAlXZWJDb3JlL2JpbmRpbmdzL2dlbmVy
aWMvQmluZGluZ0ZyYW1lLmggXApAQCAtNDYwMyw2ICs0NjA3LDcgQEAgRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9JbnNwZWN0b3JGcm9udGVuZAogCSQoQU1fVl9HRU4pJChQRVJMKSAtSSQoV2ViQ29y
ZSkvYmluZGluZ3Mvc2NyaXB0cyAtSSQoV2ViQ29yZSkvaW5zcGVjdG9yICQoV2ViQ29yZSkvYmlu
ZGluZ3Mvc2NyaXB0cy9nZW5lcmF0ZS1iaW5kaW5ncy5wbCAkKElETF9QQVRIOiU9LS1pbmNsdWRl
ICIlIikgLS1vdXRwdXREaXIgIiQoR0VOU09VUkNFU19XRUJDT1JFKSIgLS1kZWZpbmVzICJMQU5H
VUFHRV9KQVZBU0NSSVBUPTEgJChGRUFUVVJFX0RFRklORVMpIiAtLWdlbmVyYXRvciBJbnNwZWN0
b3IgJDwKIAogSURMX1BBVEggOj0gXAorICAgICQoV2ViQ29yZSkvYWNjZXNzaWJpbGl0eSBcCiAg
ICAgJChXZWJDb3JlKS9iaW5kaW5ncy9qcyBcCiAgICAgJChXZWJDb3JlKS9jc3MgXAogICAgICQo
V2ViQ29yZSkvZG9tIFwKSW5kZXg6IFdlYkNvcmUvV2ViQ29yZS5neXBpCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvV2ViQ29yZS5neXBpCShyZXZpc2lvbiA3MTQ1NykKKysrIFdlYkNvcmUvV2ViQ29y
ZS5neXBpCSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNyBAQAogewogICAgICd2YXJpYWJsZXMn
OiB7CiAgICAgICAgICd3ZWJjb3JlX2JpbmRpbmdzX2lkbF9maWxlcyc6IFsKKyAgICAgICAgICAg
ICdhY2Nlc3NpYmlsaXR5L1dlYktpdFVJUmVxdWVzdEV2ZW50LmlkbCcsCiAgICAgICAgICAgICAn
Y3NzL0NTU0NoYXJzZXRSdWxlLmlkbCcsCiAgICAgICAgICAgICAnY3NzL0NTU0ZvbnRGYWNlUnVs
ZS5pZGwnLAogICAgICAgICAgICAgJ2Nzcy9DU1NJbXBvcnRSdWxlLmlkbCcsCkBAIC01MDYsNiAr
NTA3LDggQEAKICAgICAgICAgICAgICdhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlUYWJsZUhl
YWRlckNvbnRhaW5lci5oJywKICAgICAgICAgICAgICdhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxp
dHlUYWJsZVJvdy5jcHAnLAogICAgICAgICAgICAgJ2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0
eVRhYmxlUm93LmgnLAorICAgICAgICAgICAgJ2FjY2Vzc2liaWxpdHkvV2ViS2l0VUlSZXF1ZXN0
RXZlbnQuY3BwJywKKyAgICAgICAgICAgICdhY2Nlc3NpYmlsaXR5L1dlYktpdFVJUmVxdWVzdEV2
ZW50LmgnLAogICAgICAgICAgICAgJ2FjY2Vzc2liaWxpdHkvY2hyb21pdW0vQVhPYmplY3RDYWNo
ZUNocm9taXVtLmNwcCcsCiAgICAgICAgICAgICAnYWNjZXNzaWJpbGl0eS9jaHJvbWl1bS9BY2Nl
c3NpYmlsaXR5T2JqZWN0Q2hyb21pdW0uY3BwJywKICAgICAgICAgICAgICdhY2Nlc3NpYmlsaXR5
L2Nocm9taXVtL0FjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyLmgnLApJbmRleDogV2ViQ29yZS9X
ZWJDb3JlLnByaQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL1dlYkNvcmUucHJpCShyZXZpc2lvbiA3
MTQ1NykKKysrIFdlYkNvcmUvV2ViQ29yZS5wcmkJKHdvcmtpbmcgY29weSkKQEAgLTY5LDYgKzY5
LDcgQEAgdjggewogfQogCiBJRExfQklORElOR1MgKz0gXAorICAgIGFjY2Vzc2liaWxpdHkvV2Vi
S2l0VUlSZXF1ZXN0RXZlbnQuaWRsIFwKICAgICBjc3MvQ291bnRlci5pZGwgXAogICAgIGNzcy9D
U1NDaGFyc2V0UnVsZS5pZGwgXAogICAgIGNzcy9DU1NGb250RmFjZVJ1bGUuaWRsIFwKSW5kZXg6
IFdlYkNvcmUvV2ViQ29yZS5wcm8KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9XZWJDb3JlLnBybwko
cmV2aXNpb24gNzE0NTcpCisrKyBXZWJDb3JlL1dlYkNvcmUucHJvCSh3b3JraW5nIGNvcHkpCkBA
IC0zMTksNiArMzE5LDcgQEAgU09VUkNFUyArPSBcCiAgICAgYWNjZXNzaWJpbGl0eS9BY2Nlc3Np
YmlsaXR5VGFibGVIZWFkZXJDb250YWluZXIuY3BwIFwgICAgCiAgICAgYWNjZXNzaWJpbGl0eS9B
Y2Nlc3NpYmlsaXR5VGFibGVSb3cuY3BwIFwgICAgCiAgICAgYWNjZXNzaWJpbGl0eS9BWE9iamVj
dENhY2hlLmNwcCBcCisgICAgYWNjZXNzaWJpbGl0eS9XZWJLaXRVSVJlcXVlc3RFdmVudC5jcHAg
XAogICAgIGJpbmRpbmdzL2dlbmVyaWMvQWN0aXZlRE9NQ2FsbGJhY2suY3BwCiAKIHY4IHsKSW5k
ZXg6IFdlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagkocmV2aXNpb24gNzE0NTcpCisr
KyBXZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCSh3b3JraW5nIGNvcHkpCkBA
IC0yMDM4OCw2ICsyMDM4OCw2MiBAQAogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCisJ
CQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERl
cml2ZWRTb3VyY2VzXEpTV2ViS2l0VUlSZXF1ZXN0RXZlbnQuY3BwIg0KKwkJCQk+DQorCQkJCTxG
aWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0iRGVidWd8V2luMzIiDQorCQkJCQlFeGNsdWRl
ZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkND
TENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJ
CTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiINCisJCQkJCUV4
Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJCQlOYW1l
PSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4N
CisJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQlOYW1lPSJEZWJ1Z19JbnRlcm5hbHxXaW4z
MiINCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJCQkJPFRvb2wN
CisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJPC9GaWxlQ29u
ZmlndXJhdGlvbj4NCisJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQlOYW1lPSJEZWJ1Z19D
YWlyb3xXaW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJCQkJPg0KKwkJ
CQkJPFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJLz4NCisJCQkJ
PC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCQlOYW1l
PSJSZWxlYXNlX0NhaXJvfFdpbjMyIg0KKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQor
CQkJCQk+DQorCQkJCQk8VG9vbA0KKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJ
CQkvPg0KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24N
CisJCQkJCU5hbWU9IkRlYnVnX0FsbHxXaW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0
cnVlIg0KKwkJCQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29s
Ig0KKwkJCQkJLz4NCisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQk8L0ZpbGU+DQorCQkJ
PEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVj
dE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTV2ViS2l0VUlSZXF1ZXN0RXZlbnQuaCINCisJCQkJPg0K
KwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KIAkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0
RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNWYWxpZGl0eVN0YXRlLmNw
cCINCiAJCQkJPg0KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCkBAIC0yMzEyNyw2ICsyMzE4Myw2
MiBAQAogCQkJCVJlbGF0aXZlUGF0aD0iLi5cYWNjZXNzaWJpbGl0eVxBWE9iamVjdENhY2hlLmgi
DQogCQkJCT4NCiAJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxh
Y2Nlc3NpYmlsaXR5XFdlYktpdFVJUmVxdWVzdEV2ZW50LmNwcCINCisJCQkJPg0KKwkJCQk8Rmls
ZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIg0KKwkJCQkJRXhjbHVkZWRG
cm9tQnVpbGQ9InRydWUiDQorCQkJCQk+DQorCQkJCQk8VG9vbA0KKwkJCQkJCU5hbWU9IlZDQ0xD
b21waWxlclRvb2wiDQorCQkJCQkvPg0KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCQk8
RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiDQorCQkJCQlFeGNs
dWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0i
VkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQor
CQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0iRGVidWdfSW50ZXJuYWx8V2luMzIi
DQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQor
CQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZp
Z3VyYXRpb24+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0iRGVidWdfQ2Fp
cm98V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCisJCQkJCT4NCisJCQkJ
CTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCisJCQkJCS8+DQorCQkJCTwv
RmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0i
UmVsZWFzZV9DYWlyb3xXaW4zMiINCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KKwkJ
CQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJ
Lz4NCisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQkJPEZpbGVDb25maWd1cmF0aW9uDQor
CQkJCQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIiDQorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1
ZSINCisJCQkJCT4NCisJCQkJCTxUb29sDQorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIN
CisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJPC9GaWxlPg0KKwkJCTxG
aWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cYWNjZXNzaWJpbGl0eVxXZWJLaXRVSVJlcXVlc3RF
dmVudC5oIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KIAkJCTxGaWx0ZXINCiAJCQkJTmFtZT0id2lu
Ig0KIAkJCQk+DQpJbmRleDogV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oJKHJldmlzaW9uIDcxNDU3KQorKysgV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTcxOSw2ICs3MTksMTAgQEAKIAkJMjlBODEyNDkw
RkJCOUNBOTAwNTEwMjkzIC8qIEFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyOUE4MTI0NTBGQkI5Q0E5MDA1
MTAyOTMgLyogQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIuaCAqLzsgfTsKIAkJMjlBODEyNEEw
RkJCOUNBOTAwNTEwMjkzIC8qIEFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyLm1tIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjlBODEyNDYwRkJCOUNBOTAw
NTEwMjkzIC8qIEFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyLm1tICovOyB9OwogCQkyOUE4MTI0
QjBGQkI5Q0E5MDA1MTAyOTMgLyogQVhPYmplY3RDYWNoZU1hYy5tbSBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI5QTgxMjQ3MEZCQjlDQTkwMDUxMDI5MyAv
KiBBWE9iamVjdENhY2hlTWFjLm1tICovOyB9OworCQkyOUREMjExMTEyNUJDNzFGMDAxNjNDMEMg
LyogV2ViS2l0VUlSZXF1ZXN0RXZlbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDI5REQyMTBGMTI1QkM3MUYwMDE2M0MwQyAvKiBXZWJLaXRVSVJlcXVl
c3RFdmVudC5oICovOyB9OworCQkyOUREMjExMjEyNUJDNzFGMDAxNjNDMEMgLyogV2ViS2l0VUlS
ZXF1ZXN0RXZlbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMjlERDIxMTAxMjVCQzcxRjAwMTYzQzBDIC8qIFdlYktpdFVJUmVxdWVzdEV2ZW50LmNw
cCAqLzsgfTsKKwkJMjlERDIyOUMxMjVDMDIwQTAwMTYzQzBDIC8qIEpTV2ViS2l0VUlSZXF1ZXN0
RXZlbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QTg2NjI5REEwOURBMkI0NzAwOTYzM0E1IC8qIEpTV2ViS2l0VUlSZXF1ZXN0RXZlbnQuY3BwICov
OyB9OworCQkyOUREMjI5RDEyNUMwMjBFMDAxNjNDMEMgLyogSlNXZWJLaXRVSVJlcXVlc3RFdmVu
dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTg2NjI5
RDkwOURBMkI0NzAwOTYzM0E1IC8qIEpTV2ViS2l0VUlSZXF1ZXN0RXZlbnQuaCAqLzsgfTsKIAkJ
MkQ5MDY2MDYwQkUxNDFENDAwOTU2OTk4IC8qIExheW91dFN0YXRlLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEOTA2NjA0MEJFMTQxRDQwMDk1Njk5
OCAvKiBMYXlvdXRTdGF0ZS5jcHAgKi87IH07CiAJCTJEOTA2NjA3MEJFMTQxRDQwMDk1Njk5OCAv
KiBMYXlvdXRTdGF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMkQ5MDY2MDUwQkUxNDFENDAwOTU2OTk4IC8qIExheW91dFN0YXRlLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMkUwODg4RDQxMTQ4ODQ4
QTAwQUY0MjY1IC8qIEpTRE9NRm9ybURhdGEuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMkUwODg4RDIxMTQ4ODQ4QTAwQUY0MjY1IC8qIEpTRE9NRm9y
bURhdGEuY3BwICovOyB9OwpAQCAtNjc4Nyw2ICs2NzkxLDkgQEAKIAkJMjlBODEyNDUwRkJCOUNB
OTAwNTEwMjkzIC8qIEFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTI5QTgxMjQ2MEZCQjlDQTkwMDUxMDI5MyAvKiBBY2Nlc3Np
YmlsaXR5T2JqZWN0V3JhcHBlci5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsg
cGF0aCA9IEFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyLm1tOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQkyOUE4MTI0NzBGQkI5Q0E5MDA1MTAyOTMgLyogQVhPYmplY3RDYWNoZU1hYy5t
bSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEFYT2JqZWN0Q2FjaGVN
YWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTI5REQyMTBGMTI1QkM3MUYwMDE2
M0MwQyAvKiBXZWJLaXRVSVJlcXVlc3RFdmVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBXZWJLaXRVSVJlcXVlc3RFdmVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQkyOUREMjExMDEyNUJDNzFGMDAxNjNDMEMgLyogV2ViS2l0VUlSZXF1ZXN0RXZlbnQuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViS2l0VUlSZXF1ZXN0RXZl
bnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyOUREMjExMzEyNUJDNzNFMDAx
NjNDMEMgLyogV2ViS2l0VUlSZXF1ZXN0RXZlbnQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9
IFdlYktpdFVJUmVxdWVzdEV2ZW50LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
MkQ5MDY2MDQwQkUxNDFENDAwOTU2OTk4IC8qIExheW91dFN0YXRlLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBMYXlvdXRTdGF0ZS5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTJEOTA2NjA1MEJFMTQxRDQwMDk1Njk5OCAvKiBMYXlvdXRTdGF0ZS5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTGF5b3V0U3RhdGUuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkQ5MDY2MEIwNjY1RDkzNzAwNkI2RjFBIC8qIENsaXBi
b2FyZE1hYy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMw
OyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBDbGlwYm9hcmRNYWMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4
OyB1c2VzVGFicyA9IDA7IH07CkBAIC05MzgwLDYgKzkzODcsOCBAQAogCQlBODY2MjlDQzA5REEy
QjQ3MDA5NjMzQTUgLyogSlNNb3VzZUV2ZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBKU01vdXNlRXZlbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlBODY2MjlDRDA5REEyQjQ3MDA5NjMzQTUgLyogSlNLZXlib2FyZEV2ZW50LmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0tleWJvYXJkRXZlbnQuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTg2NjI5Q0UwOURBMkI0NzAwOTYzM0E1IC8qIEpTS2V5Ym9h
cmRFdmVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
MzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNLZXli
b2FyZEV2ZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTg2NjI5RDkwOURB
MkI0NzAwOTYzM0E1IC8qIEpTV2ViS2l0VUlSZXF1ZXN0RXZlbnQuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEpTV2ViS2l0VUlSZXF1ZXN0RXZlbnQuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJQTg2NjI5REEwOURBMkI0NzAwOTYzM0E1IC8qIEpTV2ViS2l0VUlS
ZXF1ZXN0RXZlbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpT
V2ViS2l0VUlSZXF1ZXN0RXZlbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlB
ODcxRDQ0QzBBMTI3Q0JDMDBCMTJBNjggLyogSFRNTFBsdWdJbkVsZW1lbnQuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEhUTUxQbHVnSW5FbGVtZW50Lmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUE4NzFENDREMEExMjdDQkMwMEIxMkE2OCAvKiBIVE1MUGx1Z0lu
RWxlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
MzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSFRNTFBs
dWdJbkVsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBODcxRDQ0RTBB
MTI3Q0JDMDBCMTJBNjggLyogSFRNTFBhcmFtRWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gSFRNTFBhcmFtRWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwpAQCAtMTI0MjgsNiArMTI0MzcsOSBAQAogCQkJCTI5QTgxMjEzMEZCQjlDMUQwMDUxMDI5
MyAvKiBBY2Nlc3NpYmlsaXR5VGFibGVSb3cuaCAqLywKIAkJCQkyOUE4MTIxOTBGQkI5QzFEMDA1
MTAyOTMgLyogQVhPYmplY3RDYWNoZS5jcHAgKi8sCiAJCQkJMjlBODEyMUEwRkJCOUMxRDAwNTEw
MjkzIC8qIEFYT2JqZWN0Q2FjaGUuaCAqLywKKwkJCQkyOUREMjExMDEyNUJDNzFGMDAxNjNDMEMg
LyogV2ViS2l0VUlSZXF1ZXN0RXZlbnQuY3BwICovLAorCQkJCTI5REQyMTBGMTI1QkM3MUYwMDE2
M0MwQyAvKiBXZWJLaXRVSVJlcXVlc3RFdmVudC5oICovLAorCQkJCTI5REQyMTEzMTI1QkM3M0Uw
MDE2M0MwQyAvKiBXZWJLaXRVSVJlcXVlc3RFdmVudC5pZGwgKi8sCiAJCQkpOwogCQkJcGF0aCA9
IGFjY2Vzc2liaWxpdHk7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwpAQCAtMTU5MTUsNiAr
MTU5MjcsOCBAQAogCQkJCTkzM0ExNEI3MEI3RDFENTIwMEE1M0ZGRCAvKiBKU1RleHRFdmVudC5o
ICovLAogCQkJCUE4NjYyOUNBMDlEQTJCNDcwMDk2MzNBNSAvKiBKU1VJRXZlbnQuY3BwICovLAog
CQkJCUE4NjYyOUM5MDlEQTJCNDcwMDk2MzNBNSAvKiBKU1VJRXZlbnQuaCAqLywKKwkJCQlBODY2
MjlEQTA5REEyQjQ3MDA5NjMzQTUgLyogSlNXZWJLaXRVSVJlcXVlc3RFdmVudC5jcHAgKi8sCisJ
CQkJQTg2NjI5RDkwOURBMkI0NzAwOTYzM0E1IC8qIEpTV2ViS2l0VUlSZXF1ZXN0RXZlbnQuaCAq
LywKIAkJCQkzMUMwRkYzOTBFNENFRkFDMDA3RDZGRTUgLyogSlNXZWJLaXRBbmltYXRpb25FdmVu
dC5jcHAgKi8sCiAJCQkJMzFDMEZGM0EwRTRDRUZBQzAwN0Q2RkU1IC8qIEpTV2ViS2l0QW5pbWF0
aW9uRXZlbnQuaCAqLywKIAkJCQkzMUMwRkYzQjBFNENFRkFDMDA3RDZGRTUgLyogSlNXZWJLaXRU
cmFuc2l0aW9uRXZlbnQuY3BwICovLApAQCAtMjEzMDksNiArMjEzMjMsOCBAQAogCQkJCTkzRjE5
OUVEMDgyNDVFNTkwMDFFOUFCQyAvKiBYU0xUUHJvY2Vzc29yLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlFMUJFNTEyRTBDRjZDNTEyMDAyRUE5NTkgLyogWFNMVFVuaWNvZGVTb3J0LmggaW4gSGVhZGVy
cyAqLywKIAkJCQk5N0RENEQ4NzBGREY0RDZFMDBFQ0Y5QTQgLyogWFNTQXVkaXRvci5oIGluIEhl
YWRlcnMgKi8sCisJCQkJMjlERDIxMTExMjVCQzcxRjAwMTYzQzBDIC8qIFdlYktpdFVJUmVxdWVz
dEV2ZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQkyOUREMjI5RDEyNUMwMjBFMDAxNjNDMEMgLyog
SlNXZWJLaXRVSVJlcXVlc3RFdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNkU2N0QyQTcxMjgw
RThBNDAwODc1OEY3IC8qIEV4dGVuc2lvbnMzRE9wZW5HTC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
NkU2N0QyQTkxMjgwRThCRDAwODc1OEY3IC8qIEV4dGVuc2lvbnMzRC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJOTNGNkYxRUUxMjdGNzBCMTAwNTVDQjA2IC8qIFdlYkdMQ29udGV4dEV2ZW50LmggaW4g
SGVhZGVycyAqLywKQEAgLTIzODc4LDYgKzIzODk0LDggQEAKIAkJCQk5M0YxOUIwNTA4MjQ1RTU5
MDAxRTlBQkMgLyogWFNMVFByb2Nlc3NvckxpYnhzbHQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
RTFCRTUxMkQwQ0Y2QzUxMjAwMkVBOTU5IC8qIFhTTFRVbmljb2RlU29ydC5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQk5N0RENEQ4NjBGREY0RDZFMDBFQ0Y5QTQgLyogWFNTQXVkaXRvci5jcHAgaW4g
U291cmNlcyAqLywKKwkJCQkyOUREMjExMjEyNUJDNzFGMDAxNjNDMEMgLyogV2ViS2l0VUlSZXF1
ZXN0RXZlbnQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMjlERDIyOUMxMjVDMDIwQTAwMTYzQzBD
IC8qIEpTV2ViS2l0VUlSZXF1ZXN0RXZlbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNkU2N0Qy
QTYxMjgwRThBNDAwODc1OEY3IC8qIEV4dGVuc2lvbnMzRE9wZW5HTC5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQk5M0Y2RjFFRDEyN0Y3MEIxMDA1NUNCMDYgLyogV2ViR0xDb250ZXh0RXZlbnQuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkpOwpJbmRleDogV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2Jq
ZWN0Q2FjaGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVj
dENhY2hlLmNwcAkocmV2aXNpb24gNzE0NTcpCisrKyBXZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhP
YmplY3RDYWNoZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTYxLDExICs2MSwxMSBAQAogI2luY2x1
ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJSZW5kZXJMaXN0Qm94LmgiCiAjaW5jbHVkZSAiUmVuZGVy
TWVudUxpc3QuaCIKKyNpbmNsdWRlICJSZW5kZXJQcm9ncmVzcy5oIgorI2luY2x1ZGUgIlJlbmRl
clNsaWRlci5oIgogI2luY2x1ZGUgIlJlbmRlclRhYmxlLmgiCiAjaW5jbHVkZSAiUmVuZGVyVGFi
bGVDZWxsLmgiCiAjaW5jbHVkZSAiUmVuZGVyVGFibGVSb3cuaCIKLSNpbmNsdWRlICJSZW5kZXJQ
cm9ncmVzcy5oIgotI2luY2x1ZGUgIlJlbmRlclNsaWRlci5oIgogI2luY2x1ZGUgIlJlbmRlclZp
ZXcuaCIKIAogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CkluZGV4OiBXZWJDb3JlL2FjY2Vz
c2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwCShyZXZpc2lvbiA3MTQ1NykKKysr
IFdlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNTAsNiArNTAsNyBAQAogI2luY2x1ZGUgIlJlbmRlcldpZGdldC5oIgogI2luY2x1
ZGUgIlNlbGVjdGlvbkNvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJUZXh0SXRlcmF0b3IuaCIKKyNp
bmNsdWRlICJXZWJLaXRVSVJlcXVlc3RFdmVudC5oIgogI2luY2x1ZGUgImh0bWxlZGl0aW5nLmgi
CiAjaW5jbHVkZSAidmlzaWJsZV91bml0cy5oIgogI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMu
aD4KQEAgLTk5OCw0ICs5OTksMzEgQEAgQWNjZXNzaWJpbGl0eUJ1dHRvblN0YXRlIEFjY2Vzc2li
aWxpdHlPYgogICAgIHJldHVybiBCdXR0b25TdGF0ZU9mZjsKIH0KICAgICAKK3ZvaWQgQWNjZXNz
aWJpbGl0eU9iamVjdDo6ZGlzcGF0Y2hXZWJLaXRVSVJlcXVlc3RFdmVudChXZWJLaXRVSVJlcXVl
c3RFdmVudFR5cGUgdHlwZSkKK3sKKyAgICBOb2RlKiBuID0gbm9kZSgpOworICAgIGlmICghbiB8
fCBuLT5kaXNhYmxlZCgpKQorICAgICAgICByZXR1cm47CisgICAgCisgICAgQXRvbWljU3RyaW5n
IGV2ZW50VHlwZTsKKyAgICBzd2l0Y2ggKHR5cGUpIHsKKyAgICBjYXNlIFVORE86CisgICAgICAg
IGV2ZW50VHlwZSA9IGV2ZW50TmFtZXMoKS53ZWJraXR1bmRvcmVxdWVzdEV2ZW50OworICAgICAg
ICBicmVhazsKKyAgICBjYXNlIFJFRE86CisgICAgICAgIGV2ZW50VHlwZSA9IGV2ZW50TmFtZXMo
KS53ZWJraXRyZWRvcmVxdWVzdEV2ZW50OworICAgICAgICBicmVhazsKKyAgICBjYXNlIEVTQ0FQ
RToKKyAgICAgICAgZXZlbnRUeXBlID0gZXZlbnROYW1lcygpLndlYmtpdGVzY2FwZXJlcXVlc3RF
dmVudDsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBERUxFVEU6CisgICAgICAgIGV2ZW50VHlw
ZSA9IGV2ZW50TmFtZXMoKS53ZWJraXRkZWxldGVyZXF1ZXN0RXZlbnQ7CisgICAgICAgIGJyZWFr
OworICAgIH0KKyAgICAKKyAgICBSZWZQdHI8V2ViS2l0VUlSZXF1ZXN0RXZlbnQ+IHVpUmVxdWVz
dEV2ZW50ID0gV2ViS2l0VUlSZXF1ZXN0RXZlbnQ6OmNyZWF0ZShldmVudFR5cGUsIHRydWUsIHRy
dWUsIG4tPmRvY3VtZW50KCktPmRlZmF1bHRWaWV3KCksIDApOworICAgIG4tPmRpc3BhdGNoRXZl
bnQodWlSZXF1ZXN0RXZlbnQpOworfQorCisgICAgCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCklu
ZGV4OiBXZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmgJKHJldmlz
aW9uIDcxNDU3KQorKysgV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3Qu
aAkod29ya2luZyBjb3B5KQpAQCAtNTIwLDYgKzUyMCwxMCBAQCBwdWJsaWM6CiAgICAgdmlydHVh
bCBTdHJpbmcgZGVzY3JpcHRpb25Gb3JNU0FBKCkgY29uc3QgeyByZXR1cm4gU3RyaW5nKCk7IH0K
ICAgICB2aXJ0dWFsIEFjY2Vzc2liaWxpdHlSb2xlIHJvbGVWYWx1ZUZvck1TQUEoKSBjb25zdCB7
IHJldHVybiByb2xlVmFsdWUoKTsgfQogCisgICAgLy8gVUlSZXF1ZXN0RXZlbnQgc3VwcG9ydAor
ICAgIGVudW0gV2ViS2l0VUlSZXF1ZXN0RXZlbnRUeXBlIHsgVU5ETyA9IDEsIFJFRE8gPSAyLCBF
U0NBUEUgPSAzLCBERUxFVEUgPSA0IH07CisgICAgdm9pZCBkaXNwYXRjaFdlYktpdFVJUmVxdWVz
dEV2ZW50KFdlYktpdFVJUmVxdWVzdEV2ZW50VHlwZSk7CisgICAgCiAgICAgLy8gVXNlZCBieSBh
biBBUklBIHRyZWUgdG8gZ2V0IGFsbCBpdHMgcm93cy4KICAgICB2b2lkIGFyaWFUcmVlUm93cyhB
Y2Nlc3NpYmlsaXR5Q2hpbGRyZW5WZWN0b3ImKTsKICAgICAvLyBVc2VkIGJ5IGFuIEFSSUEgdHJl
ZSBpdGVtIHRvIGdldCBhbGwgb2YgaXRzIGRpcmVjdCByb3dzIHRoYXQgaXQgY2FuIGRpc2Nsb3Nl
LgpJbmRleDogV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L1dlYktpdFVJUmVxdWVzdEV2ZW50LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL2FjY2Vzc2liaWxpdHkvV2ViS2l0VUlSZXF1ZXN0RXZlbnQu
Y3BwCShyZXZpc2lvbiAwKQorKysgV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L1dlYktpdFVJUmVxdWVz
dEV2ZW50LmNwcAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw0OSBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSwgSU5DLiBgYEFTIElTJycgQU5E
IEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCisgKiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICoKKyAqLworCisjaW5jbHVkZSAi
Y29uZmlnLmgiCisjaW5jbHVkZSAiV2ViS2l0VUlSZXF1ZXN0RXZlbnQuaCIKKworbmFtZXNwYWNl
IFdlYkNvcmUgeworICAgIAorV2ViS2l0VUlSZXF1ZXN0RXZlbnQ6OldlYktpdFVJUmVxdWVzdEV2
ZW50KCkKK3sKK30KKyAgICAKK1dlYktpdFVJUmVxdWVzdEV2ZW50OjpXZWJLaXRVSVJlcXVlc3RF
dmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGJvb2wgY2FuQnViYmxlLCBib29sIGNhbmNl
bGFibGUsIFBhc3NSZWZQdHI8QWJzdHJhY3RWaWV3PiB2aWV3LCBpbnQgZGV0YWlsKQorICAgIDog
VUlFdmVudCh0eXBlLCBjYW5CdWJibGUsIGNhbmNlbGFibGUsIHZpZXcsIGRldGFpbCkKK3sKK30K
Kwordm9pZCBXZWJLaXRVSVJlcXVlc3RFdmVudDo6aW5pdFdlYktpdFVJUmVxdWVzdEV2ZW50KGNv
bnN0IEF0b21pY1N0cmluZyYgdHlwZSwgYm9vbCBjYW5CdWJibGUsIGJvb2wgY2FuY2VsYWJsZSwg
UGFzc1JlZlB0cjxBYnN0cmFjdFZpZXc+IHZpZXcsIGludCBkZXRhaWwpCit7CisgICAgaWYgKGRp
c3BhdGNoZWQoKSkKKyAgICAgICAgcmV0dXJuOworICAgIAorICAgIGluaXRVSUV2ZW50KHR5cGUs
IGNhbkJ1YmJsZSwgY2FuY2VsYWJsZSwgdmlldywgZGV0YWlsKTsKK30gICAKKworfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpJbmRleDogV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L1dlYktpdFVJUmVxdWVz
dEV2ZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L1dlYktpdFVJUmVx
dWVzdEV2ZW50LmgJKHJldmlzaW9uIDApCisrKyBXZWJDb3JlL2FjY2Vzc2liaWxpdHkvV2ViS2l0
VUlSZXF1ZXN0RXZlbnQuaAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw1OCBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSwgSU5DLiBgYEFTIElT
JycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCisgKiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQor
ICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICoKKyAqLworCisjaWZu
ZGVmIFdlYktpdFVJUmVxdWVzdEV2ZW50X2gKKyNkZWZpbmUgV2ViS2l0VUlSZXF1ZXN0RXZlbnRf
aAorCisjaW5jbHVkZSAiVUlFdmVudC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisgICAgCisv
LyAiVXNlciBJbnRlcmZhY2UgSW5kZXBlbmRlbmNlIGZvciBBY2Nlc3NpYmxlIFJpY2ggSW50ZXJu
ZXQgQXBwbGljYXRpb25zIiBXM0MgUHJvcG9zYWwKK2NsYXNzIFdlYktpdFVJUmVxdWVzdEV2ZW50
IDogcHVibGljIFVJRXZlbnQgeworcHVibGljOgorICAgIAorICAgIHN0YXRpYyBQYXNzUmVmUHRy
PFdlYktpdFVJUmVxdWVzdEV2ZW50PiBjcmVhdGUoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFk
b3B0UmVmKG5ldyBXZWJLaXRVSVJlcXVlc3RFdmVudCk7CisgICAgfQorICAgIHN0YXRpYyBQYXNz
UmVmUHRyPFdlYktpdFVJUmVxdWVzdEV2ZW50PiBjcmVhdGUoY29uc3QgQXRvbWljU3RyaW5nJiB0
eXBlLCBib29sIGNhbkJ1YmJsZSwgYm9vbCBjYW5jZWxhYmxlLCBQYXNzUmVmUHRyPEFic3RyYWN0
Vmlldz4gdmlldywgaW50IGRldGFpbCkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZihu
ZXcgV2ViS2l0VUlSZXF1ZXN0RXZlbnQodHlwZSwgY2FuQnViYmxlLCBjYW5jZWxhYmxlLCB2aWV3
LCBkZXRhaWwpKTsKKyAgICB9CisgICAgCisgICAgdm9pZCBpbml0V2ViS2l0VUlSZXF1ZXN0RXZl
bnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBib29sIGNhbkJ1YmJsZSwgYm9vbCBjYW5jZWxh
YmxlLCBQYXNzUmVmUHRyPEFic3RyYWN0Vmlldz4sIGludCBkZXRhaWwpOworCisgICAgdmlydHVh
bCBib29sIGlzV2ViS2l0VUlSZXF1ZXN0RXZlbnQoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9Cisg
ICAgCitwcml2YXRlOgorICAgIFdlYktpdFVJUmVxdWVzdEV2ZW50KCk7CisgICAgV2ViS2l0VUlS
ZXF1ZXN0RXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBib29sIGNhbkJ1YmJsZSwgYm9v
bCBjYW5jZWxhYmxlLCBQYXNzUmVmUHRyPEFic3RyYWN0Vmlldz4sIGludCBkZXRhaWwpOworfTsK
KworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gV2ViS2l0VUlSZXF1ZXN0RXZl
bnRfaApJbmRleDogV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L1dlYktpdFVJUmVxdWVzdEV2ZW50Lmlk
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2FjY2Vzc2liaWxpdHkvV2ViS2l0VUlSZXF1ZXN0RXZl
bnQuaWRsCShyZXZpc2lvbiAwKQorKysgV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L1dlYktpdFVJUmVx
dWVzdEV2ZW50LmlkbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw0MCBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSwgSU5DLiBgYEFTIElTJycg
QU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCisgKiBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICog
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICoKKyAqLworCittb2R1bGUg
ZXZlbnRzIHsKKworICAgIC8vICJVc2VyIEludGVyZmFjZSBJbmRlcGVuZGVuY2UgZm9yIEFjY2Vz
c2libGUgUmljaCBJbnRlcm5ldCBBcHBsaWNhdGlvbnMiIFczQyBQcm9wb3NhbAorICAgIGludGVy
ZmFjZSBXZWJLaXRVSVJlcXVlc3RFdmVudCA6IFVJRXZlbnQgeworICAgICAgICAKKyAgICAgICAg
dm9pZCBpbml0V2ViS2l0VUlSZXF1ZXN0RXZlbnQoaW4gRE9NU3RyaW5nIHR5cGUsIAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gYm9vbGVhbiBjYW5CdWJibGUsIAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gYm9vbGVhbiBjYW5jZWxhYmxlLCAK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIERPTVdpbmRvdyB2aWV3LCAK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIGxvbmcgZGV0YWlsKTsKKwor
ICAgIH07CisKK30KSW5kZXg6IFdlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvQWNjZXNzaWJpbGl0
eU9iamVjdFdyYXBwZXIubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21h
Yy9BY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlci5tbQkocmV2aXNpb24gNzE0NTcpCisrKyBXZWJD
b3JlL2FjY2Vzc2liaWxpdHkvbWFjL0FjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyLm1tCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yMTg0LDYgKzIxODQsMTggQEAgLSAodm9pZClhY2Nlc3NpYmlsaXR5UGVy
Zm9ybUFjdGlvbjooTlNTdAogCiAgICAgZWxzZSBpZiAoW2FjdGlvbiBpc0VxdWFsVG9TdHJpbmc6
TlNBY2Nlc3NpYmlsaXR5RGVjcmVtZW50QWN0aW9uXSkKICAgICAgICAgW3NlbGYgYWNjZXNzaWJp
bGl0eVBlcmZvcm1EZWNyZW1lbnRBY3Rpb25dOworCisgICAgZWxzZSBpZiAoW2FjdGlvbiBpc0Vx
dWFsVG9TdHJpbmc6QCJBWEVzY2FwZSJdKQorICAgICAgICBtX29iamVjdC0+ZGlzcGF0Y2hXZWJL
aXRVSVJlcXVlc3RFdmVudChBY2Nlc3NpYmlsaXR5T2JqZWN0OjpFU0NBUEUpOworICAgIAorICAg
IGVsc2UgaWYgKFthY3Rpb24gaXNFcXVhbFRvU3RyaW5nOkAiQVhEZWxldGUiXSkKKyAgICAgICAg
bV9vYmplY3QtPmRpc3BhdGNoV2ViS2l0VUlSZXF1ZXN0RXZlbnQoQWNjZXNzaWJpbGl0eU9iamVj
dDo6REVMRVRFKTsKKyAgICAKKyAgICBlbHNlIGlmIChbYWN0aW9uIGlzRXF1YWxUb1N0cmluZzpA
IkFYVW5kbyJdKQorICAgICAgICBtX29iamVjdC0+ZGlzcGF0Y2hXZWJLaXRVSVJlcXVlc3RFdmVu
dChBY2Nlc3NpYmlsaXR5T2JqZWN0OjpVTkRPKTsKKyAgICAKKyAgICBlbHNlIGlmIChbYWN0aW9u
IGlzRXF1YWxUb1N0cmluZzpAIkFYUmVkbyJdKQorICAgICAgICBtX29iamVjdC0+ZGlzcGF0Y2hX
ZWJLaXRVSVJlcXVlc3RFdmVudChBY2Nlc3NpYmlsaXR5T2JqZWN0OjpSRURPKTsKIH0KIAogLSAo
dm9pZClhY2Nlc3NpYmlsaXR5U2V0VmFsdWU6KGlkKXZhbHVlIGZvckF0dHJpYnV0ZTooTlNTdHJp
bmcqKWF0dHJpYnV0ZU5hbWUKSW5kZXg6IFdlYkNvcmUvYmluZGluZ3MvZ29iamVjdC9HTlVtYWtl
ZmlsZS5hbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvR05VbWFrZWZp
bGUuYW0JKHJldmlzaW9uIDcxNDU3KQorKysgV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L0dOVW1h
a2VmaWxlLmFtCSh3b3JraW5nIGNvcHkpCkBAIC0yMzQsNiArMjM0LDcgQEAgd2Via2l0Z3RrX2dk
b21fYnVpbHRfc291cmNlcyArPSBcCiAJRGVyaXZlZFNvdXJjZXMvd2Via2l0L1dlYktpdERPTVRp
bWVSYW5nZXNQcml2YXRlLmggXAogCURlcml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRET01UcmVl
V2Fsa2VyLmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvd2Via2l0L1dlYktpdERPTVRyZWVXYWxrZXJQ
cml2YXRlLmggXAorCURlcml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRET01XZWJLaXRVSVJlcXVl
c3RFdmVudC5jcHAgXAogCURlcml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRET01VSUV2ZW50LmNw
cCBcCiAJRGVyaXZlZFNvdXJjZXMvd2Via2l0L1dlYktpdERPTVVJRXZlbnRQcml2YXRlLmggXAog
CURlcml2ZWRTb3VyY2VzL3dlYmtpdC9XZWJLaXRET01WYWxpZGl0eVN0YXRlLmNwcCBcCkBAIC0z
NTEsNiArMzUyLDcgQEAgd2Via2l0Z3RrX2J1aWx0X2hfYXBpICs9IFwKIAlEZXJpdmVkU291cmNl
cy93ZWJraXQvV2ViS2l0RE9NTWVkaWFFcnJvci5oIFwKIAlEZXJpdmVkU291cmNlcy93ZWJraXQv
V2ViS2l0RE9NVGltZVJhbmdlcy5oIFwKIAlEZXJpdmVkU291cmNlcy93ZWJraXQvV2ViS2l0RE9N
VmFsaWRpdHlTdGF0ZS5oIFwKKwlEZXJpdmVkU291cmNlcy93ZWJraXQvV2ViS2l0RE9NV2ViS2l0
VUlSZXF1ZXN0RXZlbnQuaCBcCiAJRGVyaXZlZFNvdXJjZXMvd2Via2l0L1dlYktpdERPTURPTUFw
cGxpY2F0aW9uQ2FjaGUuaCBcCiAJRGVyaXZlZFNvdXJjZXMvd2Via2l0L1dlYktpdERPTUJhcklu
Zm8uaCBcCiAJRGVyaXZlZFNvdXJjZXMvd2Via2l0L1dlYktpdERPTUNvbnNvbGUuaCBcCkluZGV4
OiBXZWJDb3JlL2JpbmRpbmdzL2pzL0pTRXZlbnRDdXN0b20uY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUvYmluZGluZ3MvanMvSlNFdmVudEN1c3RvbS5jcHAJKHJldmlzaW9uIDcxNDU3KQorKysg
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V2ZW50Q3VzdG9tLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
NTUsNiArNTUsNyBAQAogI2luY2x1ZGUgIkpTVUlFdmVudC5oIgogI2luY2x1ZGUgIkpTV2ViS2l0
QW5pbWF0aW9uRXZlbnQuaCIKICNpbmNsdWRlICJKU1dlYktpdFRyYW5zaXRpb25FdmVudC5oIgor
I2luY2x1ZGUgIkpTV2ViS2l0VUlSZXF1ZXN0RXZlbnQuaCIKICNpbmNsdWRlICJKU1doZWVsRXZl
bnQuaCIKICNpbmNsdWRlICJKU1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudC5oIgogI2luY2x1
ZGUgIkJlZm9yZUxvYWRFdmVudC5oIgpAQCAtNzIsNiArNzMsNyBAQAogI2luY2x1ZGUgIlVJRXZl
bnQuaCIKICNpbmNsdWRlICJXZWJLaXRBbmltYXRpb25FdmVudC5oIgogI2luY2x1ZGUgIldlYktp
dFRyYW5zaXRpb25FdmVudC5oIgorI2luY2x1ZGUgIldlYktpdFVJUmVxdWVzdEV2ZW50LmgiCiAj
aW5jbHVkZSAiV2hlZWxFdmVudC5oIgogI2luY2x1ZGUgIlhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NF
dmVudC5oIgogI2luY2x1ZGUgPHJ1bnRpbWUvSlNMb2NrLmg+CkBAIC0xMzcsNiArMTM5LDggQEAg
SlNWYWx1ZSB0b0pTKEV4ZWNTdGF0ZSogZXhlYywgSlNET01HbG9iYQogICAgICAgICBlbHNlIGlm
IChldmVudC0+aXNUb3VjaEV2ZW50KCkpCiAgICAgICAgICAgICB3cmFwcGVyID0gQ1JFQVRFX0RP
TV9PQkpFQ1RfV1JBUFBFUihleGVjLCBnbG9iYWxPYmplY3QsIFRvdWNoRXZlbnQsIGV2ZW50KTsK
ICNlbmRpZgorICAgICAgICBlbHNlIGlmIChldmVudC0+aXNXZWJLaXRVSVJlcXVlc3RFdmVudCgp
KQorICAgICAgICAgICAgd3JhcHBlciA9IENSRUFURV9ET01fT0JKRUNUX1dSQVBQRVIoZXhlYywg
Z2xvYmFsT2JqZWN0LCBXZWJLaXRVSVJlcXVlc3RFdmVudCwgZXZlbnQpOwogICAgICAgICBlbHNl
CiAgICAgICAgICAgICB3cmFwcGVyID0gQ1JFQVRFX0RPTV9PQkpFQ1RfV1JBUFBFUihleGVjLCBn
bG9iYWxPYmplY3QsIFVJRXZlbnQsIGV2ZW50KTsKICAgICB9IGVsc2UgaWYgKGV2ZW50LT5pc011
dGF0aW9uRXZlbnQoKSkKSW5kZXg6IFdlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAJKHJldmlzaW9uIDcxNDU3KQorKysgV2ViQ29y
ZS9kb20vRG9jdW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMzIsNiArMTMyLDcgQEAKICNp
bmNsdWRlICJVc2VyQ29udGVudFVSTFBhdHRlcm4uaCIKICNpbmNsdWRlICJXZWJLaXRBbmltYXRp
b25FdmVudC5oIgogI2luY2x1ZGUgIldlYktpdFRyYW5zaXRpb25FdmVudC5oIgorI2luY2x1ZGUg
IldlYktpdFVJUmVxdWVzdEV2ZW50LmgiCiAjaW5jbHVkZSAiV2hlZWxFdmVudC5oIgogI2luY2x1
ZGUgIlhNTERvY3VtZW50UGFyc2VyLmgiCiAjaW5jbHVkZSAiWE1MSHR0cFJlcXVlc3QuaCIKQEAg
LTM0ODMsNiArMzQ4NCw4IEBAIFBhc3NSZWZQdHI8RXZlbnQ+IERvY3VtZW50OjpjcmVhdGVFdmVu
dCgKICAgICBlbHNlIGlmIChldmVudFR5cGUgPT0gIkRldmljZU9yaWVudGF0aW9uRXZlbnQiKQog
ICAgICAgICBldmVudCA9IERldmljZU9yaWVudGF0aW9uRXZlbnQ6OmNyZWF0ZSgpOwogI2VuZGlm
CisgICAgZWxzZSBpZiAoZXZlbnRUeXBlID09ICJXZWJLaXRVSVJlcXVlc3RFdmVudCIpCisgICAg
ICAgIGV2ZW50ID0gV2ViS2l0VUlSZXF1ZXN0RXZlbnQ6OmNyZWF0ZSgpOwogI2lmIEVOQUJMRShP
UklFTlRBVElPTl9FVkVOVFMpCiAgICAgZWxzZSBpZiAoZXZlbnRUeXBlID09ICJPcmllbnRhdGlv
bkV2ZW50IikKICAgICAgICAgZXZlbnQgPSBFdmVudDo6Y3JlYXRlKCk7CkluZGV4OiBXZWJDb3Jl
L2RvbS9Eb2N1bWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZG9tL0RvY3VtZW50LmgJKHJl
dmlzaW9uIDcxNDU3KQorKysgV2ViQ29yZS9kb20vRG9jdW1lbnQuaAkod29ya2luZyBjb3B5KQpA
QCAtMjgzLDcgKzI4MywxMSBAQCBwdWJsaWM6CiAjaWYgRU5BQkxFKEZVTExTQ1JFRU5fQVBJKQog
ICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIod2Via2l0ZnVsbHNjcmVlbmNoYW5n
ZSk7CiAjZW5kaWYKLQorICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIod2Via2l0
dW5kb3JlcXVlc3QpOworICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIod2Via2l0
cmVkb3JlcXVlc3QpOworICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIod2Via2l0
ZXNjYXBlcmVxdWVzdCk7CisgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUih3ZWJr
aXRkZWxldGVyZXF1ZXN0KTsKKyAgICAKICAgICBWaWV3cG9ydEFyZ3VtZW50cyB2aWV3cG9ydEFy
Z3VtZW50cygpIGNvbnN0IHsgcmV0dXJuIG1fdmlld3BvcnRBcmd1bWVudHM7IH0KIAogICAgIERv
Y3VtZW50VHlwZSogZG9jdHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fZG9jVHlwZS5nZXQoKTsgfQpJ
bmRleDogV2ViQ29yZS9kb20vRG9jdW1lbnQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZG9t
L0RvY3VtZW50LmlkbAkocmV2aXNpb24gNzE0NTcpCisrKyBXZWJDb3JlL2RvbS9Eb2N1bWVudC5p
ZGwJKHdvcmtpbmcgY29weSkKQEAgLTMwNyw2ICszMDcsMTEgQEAgbW9kdWxlIGNvcmUgewogICAg
ICAgICAvLyBhdHRyaWJ1dGUgW0RvbnRFbnVtXSBFdmVudExpc3RlbmVyIG9udm9sdW1lY2hhbmdl
OwogICAgICAgICAvLyBhdHRyaWJ1dGUgW0RvbnRFbnVtXSBFdmVudExpc3RlbmVyIG9ud2FpdGlu
ZzsKIAorICAgICAgICBhdHRyaWJ1dGUgW0RvbnRFbnVtXSBFdmVudExpc3RlbmVyIG9ud2Via2l0
dW5kb3JlcXVlc3Q7CisgICAgICAgIGF0dHJpYnV0ZSBbRG9udEVudW1dIEV2ZW50TGlzdGVuZXIg
b253ZWJraXRyZWRvcmVxdWVzdDsKKyAgICAgICAgYXR0cmlidXRlIFtEb250RW51bV0gRXZlbnRM
aXN0ZW5lciBvbndlYmtpdGVzY2FwZXJlcXVlc3Q7CisgICAgICAgIGF0dHJpYnV0ZSBbRG9udEVu
dW1dIEV2ZW50TGlzdGVuZXIgb253ZWJraXRkZWxldGVyZXF1ZXN0OworCiAgICAgICAgIC8vIFdl
YktpdCBleHRlbnNpb25zCiAgICAgICAgIGF0dHJpYnV0ZSBbRG9udEVudW1dIEV2ZW50TGlzdGVu
ZXIgb25iZWZvcmVjdXQ7CiAgICAgICAgIGF0dHJpYnV0ZSBbRG9udEVudW1dIEV2ZW50TGlzdGVu
ZXIgb25jdXQ7CkluZGV4OiBXZWJDb3JlL2RvbS9FbGVtZW50LmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9kb20vRWxlbWVudC5oCShyZXZpc2lvbiA3MTQ1NykKKysrIFdlYkNvcmUvZG9tL0VsZW1l
bnQuaAkod29ya2luZyBjb3B5KQpAQCAtMTA0LDYgKzEwNCwxMCBAQCBwdWJsaWM6CiAjaWYgRU5B
QkxFKEZVTExTQ1JFRU5fQVBJKQogICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIo
d2Via2l0ZnVsbHNjcmVlbmNoYW5nZSk7CiAjZW5kaWYKKyAgICBERUZJTkVfQVRUUklCVVRFX0VW
RU5UX0xJU1RFTkVSKHdlYmtpdHVuZG9yZXF1ZXN0KTsKKyAgICBERUZJTkVfQVRUUklCVVRFX0VW
RU5UX0xJU1RFTkVSKHdlYmtpdHJlZG9yZXF1ZXN0KTsKKyAgICBERUZJTkVfQVRUUklCVVRFX0VW
RU5UX0xJU1RFTkVSKHdlYmtpdGVzY2FwZXJlcXVlc3QpOworICAgIERFRklORV9BVFRSSUJVVEVf
RVZFTlRfTElTVEVORVIod2Via2l0ZGVsZXRlcmVxdWVzdCk7CiAKICAgICB2aXJ0dWFsIFBhc3NS
ZWZQdHI8RG9jdW1lbnRGcmFnbWVudD4gZGVwcmVjYXRlZENyZWF0ZUNvbnRleHR1YWxGcmFnbWVu
dChjb25zdCBTdHJpbmcmLCBGcmFnbWVudFNjcmlwdGluZ1Blcm1pc3Npb24gPSBGcmFnbWVudFNj
cmlwdGluZ0FsbG93ZWQpOwogCkluZGV4OiBXZWJDb3JlL2RvbS9FbGVtZW50LmlkbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL2RvbS9FbGVtZW50LmlkbAkocmV2aXNpb24gNzE0NTcpCisrKyBXZWJD
b3JlL2RvbS9FbGVtZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMTkzLDYgKzE5MywxMSBAQCBt
b2R1bGUgY29yZSB7CiAgICAgICAgIC8vIGF0dHJpYnV0ZSBbRG9udEVudW1dIEV2ZW50TGlzdGVu
ZXIgb250aW1ldXBkYXRlOwogICAgICAgICAvLyBhdHRyaWJ1dGUgW0RvbnRFbnVtXSBFdmVudExp
c3RlbmVyIG9udm9sdW1lY2hhbmdlOwogICAgICAgICAvLyBhdHRyaWJ1dGUgW0RvbnRFbnVtXSBF
dmVudExpc3RlbmVyIG9ud2FpdGluZzsKKyAgICAgICAgCisgICAgICAgIGF0dHJpYnV0ZSBbRG9u
dEVudW1dIEV2ZW50TGlzdGVuZXIgb253ZWJraXR1bmRvcmVxdWVzdDsKKyAgICAgICAgYXR0cmli
dXRlIFtEb250RW51bV0gRXZlbnRMaXN0ZW5lciBvbndlYmtpdHJlZG9yZXF1ZXN0OworICAgICAg
ICBhdHRyaWJ1dGUgW0RvbnRFbnVtXSBFdmVudExpc3RlbmVyIG9ud2Via2l0ZXNjYXBlcmVxdWVz
dDsKKyAgICAgICAgYXR0cmlidXRlIFtEb250RW51bV0gRXZlbnRMaXN0ZW5lciBvbndlYmtpdGRl
bGV0ZXJlcXVlc3Q7CiAKICAgICAgICAgLy8gV2ViS2l0IGV4dGVuc2lvbnMKICAgICAgICAgYXR0
cmlidXRlIFtEb250RW51bV0gRXZlbnRMaXN0ZW5lciBvbmJlZm9yZWN1dDsKSW5kZXg6IFdlYkNv
cmUvZG9tL0V2ZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2RvbS9FdmVudC5jcHAJKHJl
dmlzaW9uIDcxNDU3KQorKysgV2ViQ29yZS9kb20vRXZlbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0yMjksNiArMjI5LDExIEBAIGJvb2wgRXZlbnQ6OmlzRGV2aWNlT3JpZW50YXRpb25FdmVudCgp
IGMKIH0KICNlbmRpZgogCitib29sIEV2ZW50Ojppc1dlYktpdFVJUmVxdWVzdEV2ZW50KCkgY29u
c3QKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisgICAgCiBib29sIEV2ZW50Ojpmcm9tVXNlckdl
c3R1cmUoKQogewogICAgIGlmICghVXNlckdlc3R1cmVJbmRpY2F0b3I6OnByb2Nlc3NpbmdVc2Vy
R2VzdHVyZSgpKQpJbmRleDogV2ViQ29yZS9kb20vRXZlbnQuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL2RvbS9FdmVudC5oCShyZXZpc2lvbiA3MTQ1NykKKysrIFdlYkNvcmUvZG9tL0V2ZW50LmgJ
KHdvcmtpbmcgY29weSkKQEAgLTE0MSw2ICsxNDEsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAg
ICAgICAgIHZpcnR1YWwgYm9vbCBpc0RldmljZU1vdGlvbkV2ZW50KCkgY29uc3Q7CiAgICAgICAg
IHZpcnR1YWwgYm9vbCBpc0RldmljZU9yaWVudGF0aW9uRXZlbnQoKSBjb25zdDsKICNlbmRpZgor
ICAgICAgICB2aXJ0dWFsIGJvb2wgaXNXZWJLaXRVSVJlcXVlc3RFdmVudCgpIGNvbnN0OworICAg
ICAgICAKICAgICAgICAgYm9vbCBmcm9tVXNlckdlc3R1cmUoKTsKICAgICAgICAgCiAgICAgICAg
IGJvb2wgcHJvcGFnYXRpb25TdG9wcGVkKCkgY29uc3QgeyByZXR1cm4gbV9wcm9wYWdhdGlvblN0
b3BwZWQgfHwgbV9pbW1lZGlhdGVQcm9wYWdhdGlvblN0b3BwZWQ7IH0KSW5kZXg6IFdlYkNvcmUv
ZG9tL0V2ZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2RvbS9FdmVudC5pZGwJKHJldmlz
aW9uIDcxNDU3KQorKysgV2ViQ29yZS9kb20vRXZlbnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC04
Myw3ICs4Myw3IEBAIG1vZHVsZSBldmVudHMgewogICAgICAgICAvLyBFeHRyYSBXZWJDb3JlIG1l
dGhvZHMgZXhwb3NlZCB0byBhbGxvdyBjb21waWxlLXRpbWUgY2FzdGluZyBpbiBDKysKICAgICAg
ICAgYm9vbGVhbiBpc011dGF0aW9uRXZlbnQoKTsKICAgICAgICAgYm9vbGVhbiBpc01vdXNlRXZl
bnQoKTsKLSAgICAgICAgYm9vbGVhbiBpc1VJRXZlbnQoKTsKKyAgICAgICAgYm9vbGVhbiBpc1dl
YktpdFVJRXZlbnQoKTsKICNlbmRpZgogCiAgICAgfTsKSW5kZXg6IFdlYkNvcmUvZG9tL0V2ZW50
TmFtZXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgJKHJldmlzaW9u
IDcxNDU3KQorKysgV2ViQ29yZS9kb20vRXZlbnROYW1lcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0x
NzAsNiArMTcwLDExIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBcCiAgICAgbWFjcm8od2Vi
a2l0c3BlZWNoY2hhbmdlKSBcCiAgICAgXAorICAgIG1hY3JvKHdlYmtpdHVuZG9yZXF1ZXN0KSBc
CisgICAgbWFjcm8od2Via2l0cmVkb3JlcXVlc3QpIFwKKyAgICBtYWNybyh3ZWJraXRlc2NhcGVy
ZXF1ZXN0KSBcCisgICAgbWFjcm8od2Via2l0ZGVsZXRlcmVxdWVzdCkgXAorICAgIFwKICAgICBt
YWNybyh3ZWJnbGNvbnRleHRsb3N0KSBcCiAgICAgbWFjcm8od2ViZ2xjb250ZXh0cmVzdG9yZWQp
IFwKICAgICBtYWNybyh3ZWJnbGNvbnRleHRjcmVhdGlvbmVycm9yKSBcCkluZGV4OiBXZWJDb3Jl
L2h0bWwvSFRNTEF0dHJpYnV0ZU5hbWVzLmluCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9I
VE1MQXR0cmlidXRlTmFtZXMuaW4JKHJldmlzaW9uIDcxNDU3KQorKysgV2ViQ29yZS9odG1sL0hU
TUxBdHRyaWJ1dGVOYW1lcy5pbgkod29ya2luZyBjb3B5KQpAQCAtMTU2LDYgKzE1Niw3IEBAIG9u
Y29udGV4dG1lbnUKIG9uY29weQogb25jdXQKIG9uZGJsY2xpY2sKK29ud2Via2l0ZGVsZXRlcmVx
dWVzdAogb25kcmFnCiBvbmRyYWdlbmQKIG9uZHJhZ2VudGVyCkBAIC0xNjcsNiArMTY4LDcgQEAg
b25kdXJhdGlvbmNoYW5nZQogb25lbXB0aWVkCiBvbmVuZGVkCiBvbmVycm9yCitvbndlYmtpdGVz
Y2FwZXJlcXVlc3QKIG9uZm9jdXMKIG9uZm9jdXNpbgogb25mb2N1c291dApAQCAtMTk4LDYgKzIw
MCw3IEBAIG9ucGxheWluZwogb25wb3BzdGF0ZQogb25wcm9ncmVzcwogb25yYXRlY2hhbmdlCitv
bndlYmtpdHJlZG9yZXF1ZXN0CiBvbnJlc2V0CiBvbnJlc2l6ZQogb25zY3JvbGwKQEAgLTIxNiw2
ICsyMTksNyBAQCBvbnRvdWNoc3RhcnQKIG9udG91Y2htb3ZlCiBvbnRvdWNoZW5kCiBvbnRvdWNo
Y2FuY2VsCitvbndlYmtpdHVuZG9yZXF1ZXN0CiBvbnVubG9hZAogb252b2x1bWVjaGFuZ2UKIG9u
d2FpdGluZwpJbmRleDogV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQuY3BwCShyZXZpc2lvbiA3MTQ1NykKKysrIFdlYkNv
cmUvaHRtbC9IVE1MRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI1Myw2ICsyNTMsMTQg
QEAgdm9pZCBIVE1MRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoQQogICAgIH0gZWxzZSBp
ZiAoYXR0ci0+bmFtZSgpID09IG9ud2Via2l0ZnVsbHNjcmVlbmNoYW5nZUF0dHIpIHsKICAgICAg
ICAgc2V0QXR0cmlidXRlRXZlbnRMaXN0ZW5lcihldmVudE5hbWVzKCkud2Via2l0ZnVsbHNjcmVl
bmNoYW5nZUV2ZW50LCBjcmVhdGVBdHRyaWJ1dGVFdmVudExpc3RlbmVyKHRoaXMsIGF0dHIpKTsK
ICNlbmRpZgorICAgIH0gZWxzZSBpZiAoYXR0ci0+bmFtZSgpID09IG9ud2Via2l0dW5kb3JlcXVl
c3RBdHRyKSB7CisgICAgICAgIHNldEF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1lcygp
LndlYmtpdHVuZG9yZXF1ZXN0RXZlbnQsIGNyZWF0ZUF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIodGhp
cywgYXR0cikpOworICAgIH0gZWxzZSBpZiAoYXR0ci0+bmFtZSgpID09IG9ud2Via2l0cmVkb3Jl
cXVlc3RBdHRyKSB7CisgICAgICAgIHNldEF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1l
cygpLndlYmtpdHJlZG9yZXF1ZXN0RXZlbnQsIGNyZWF0ZUF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIo
dGhpcywgYXR0cikpOworICAgIH0gZWxzZSBpZiAoYXR0ci0+bmFtZSgpID09IG9ud2Via2l0ZXNj
YXBlcmVxdWVzdEF0dHIpIHsKKyAgICAgICAgc2V0QXR0cmlidXRlRXZlbnRMaXN0ZW5lcihldmVu
dE5hbWVzKCkud2Via2l0ZXNjYXBlcmVxdWVzdEV2ZW50LCBjcmVhdGVBdHRyaWJ1dGVFdmVudExp
c3RlbmVyKHRoaXMsIGF0dHIpKTsKKyAgICB9IGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBvbndl
YmtpdGRlbGV0ZXJlcXVlc3RBdHRyKSB7CisgICAgICAgIHNldEF0dHJpYnV0ZUV2ZW50TGlzdGVu
ZXIoZXZlbnROYW1lcygpLndlYmtpdGRlbGV0ZXJlcXVlc3RFdmVudCwgY3JlYXRlQXR0cmlidXRl
RXZlbnRMaXN0ZW5lcih0aGlzLCBhdHRyKSk7CiAgICAgfQogfQogCkluZGV4OiBXZWJDb3JlL3Bh
Z2UvRE9NV2luZG93LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5oCShy
ZXZpc2lvbiA3MTQ1NykKKysrIFdlYkNvcmUvcGFnZS9ET01XaW5kb3cuaAkod29ya2luZyBjb3B5
KQpAQCAtMzYzLDYgKzM2MywxMSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIERFRklO
RV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIodG91Y2hlbmQpOwogICAgICAgICBERUZJTkVfQVRU
UklCVVRFX0VWRU5UX0xJU1RFTkVSKHRvdWNoY2FuY2VsKTsKICNlbmRpZgorICAgICAgICBERUZJ
TkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHdlYmtpdHVuZG9yZXF1ZXN0KTsKKyAgICAgICAg
REVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUih3ZWJraXRyZWRvcmVxdWVzdCk7CisgICAg
ICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIod2Via2l0ZXNjYXBlcmVxdWVzdCk7
CisgICAgICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIod2Via2l0ZGVsZXRlcmVx
dWVzdCk7CisgICAgICAgIAogICAgICAgICB2b2lkIGNhcHR1cmVFdmVudHMoKTsKICAgICAgICAg
dm9pZCByZWxlYXNlRXZlbnRzKCk7CiAKSW5kZXg6IFdlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRs
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCShyZXZpc2lvbiA3MTQ1
NykKKysrIFdlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zMzEs
NiArMzMxLDExIEBAIG1vZHVsZSB3aW5kb3cgewogICAgICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlv
bmFsPURFVklDRV9PUklFTlRBVElPTixFbmFibGVkQXRSdW50aW1lXSBEZXZpY2VPcmllbnRhdGlv
bkV2ZW50Q29uc3RydWN0b3IgRGV2aWNlT3JpZW50YXRpb25FdmVudDsKICAgICAgICAgYXR0cmli
dXRlIFtDb25kaXRpb25hbD1ERVZJQ0VfT1JJRU5UQVRJT04sRW5hYmxlZEF0UnVudGltZV0gRXZl
bnRMaXN0ZW5lciBvbmRldmljZW9yaWVudGF0aW9uOwogCisgICAgICAgIGF0dHJpYnV0ZSBFdmVu
dExpc3RlbmVyIG9ud2Via2l0dW5kb3JlcXVlc3Q7CisgICAgICAgIGF0dHJpYnV0ZSBFdmVudExp
c3RlbmVyIG9ud2Via2l0cmVkb3JlcXVlc3Q7CisgICAgICAgIGF0dHJpYnV0ZSBFdmVudExpc3Rl
bmVyIG9ud2Via2l0ZXNjYXBlcmVxdWVzdDsKKyAgICAgICAgYXR0cmlidXRlIEV2ZW50TGlzdGVu
ZXIgb253ZWJraXRkZWxldGVyZXF1ZXN0OworCiAgICAgICAgIC8vIEV2ZW50VGFyZ2V0IGludGVy
ZmFjZQogICAgICAgICBbQ3VzdG9tXSB2b2lkIGFkZEV2ZW50TGlzdGVuZXIoaW4gRE9NU3RyaW5n
IHR5cGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIEV2ZW50TGlz
dGVuZXIgbGlzdGVuZXIsCkBAIC01MTUsNiArNTIwLDcgQEAgbW9kdWxlIHdpbmRvdyB7CiAgICAg
ICAgIGF0dHJpYnV0ZSBXaGVlbEV2ZW50Q29uc3RydWN0b3IgV2hlZWxFdmVudDsKICAgICAgICAg
YXR0cmlidXRlIE1lc3NhZ2VFdmVudENvbnN0cnVjdG9yIE1lc3NhZ2VFdmVudDsKICAgICAgICAg
YXR0cmlidXRlIEV2ZW50RXhjZXB0aW9uQ29uc3RydWN0b3IgRXZlbnRFeGNlcHRpb247CisgICAg
ICAgIGF0dHJpYnV0ZSBXZWJLaXRVSVJlcXVlc3RFdmVudENvbnN0cnVjdG9yIFdlYktpdFVJUmVx
dWVzdEV2ZW50OwogCiAgICAgICAgIGF0dHJpYnV0ZSBXZWJLaXRDU1NLZXlmcmFtZVJ1bGVDb25z
dHJ1Y3RvciBXZWJLaXRDU1NLZXlmcmFtZVJ1bGU7CiAgICAgICAgIGF0dHJpYnV0ZSBXZWJLaXRD
U1NLZXlmcmFtZXNSdWxlQ29uc3RydWN0b3IgV2ViS2l0Q1NTS2V5ZnJhbWVzUnVsZTsKSW5kZXg6
IFdlYktpdFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9DaGFuZ2VM
b2cJKHJldmlzaW9uIDcxNDU3KQorKysgV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDMgKzEsMjcgQEAKKzIwMTAtMTAtMjYgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6
YWNoQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBBWDogU3VwcG9ydCBVSVJlcXVlc3RFdmVudHMgZnJvbSBuZXcgVzNDIFByb3Bvc2Fs
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NzMwMQor
CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5jcHA6Cisg
ICAgICAgIChwZXJmb3JtRXNjYXBlQ2FsbGJhY2spOgorICAgICAgICAocGVyZm9ybURlbGV0ZUNh
bGxiYWNrKToKKyAgICAgICAgKHBlcmZvcm1VbmRvQ2FsbGJhY2spOgorICAgICAgICAocGVyZm9y
bVJlZG9DYWxsYmFjayk6CisgICAgICAgIChBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpwZXJmb3Jt
RXNjYXBlKToKKyAgICAgICAgKEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnBlcmZvcm1EZWxldGUp
OgorICAgICAgICAoQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6cGVyZm9ybVVuZG8pOgorICAgICAg
ICAoQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6cGVyZm9ybVJlZG8pOgorICAgICAgICAoQWNjZXNz
aWJpbGl0eVVJRWxlbWVudDo6Z2V0SlNDbGFzcyk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUv
QWNjZXNzaWJpbGl0eVVJRWxlbWVudC5oOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL21hYy9B
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50TWFjLm1tOgorICAgICAgICAoQWNjZXNzaWJpbGl0eVVJRWxl
bWVudDo6cGVyZm9ybUVzY2FwZSk6CisgICAgICAgIChBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpw
ZXJmb3JtRGVsZXRlKToKKyAgICAgICAgKEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnBlcmZvcm1V
bmRvKToKKyAgICAgICAgKEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnBlcmZvcm1SZWRvKToKKwog
MjAxMC0xMS0wNSAgVG9ueSBDaGFuZyAgPHRvbnlAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJl
dmlld2VkIGJ5IERhdmlkIExldmluLgpJbmRleDogV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUv
QWNjZXNzaWJpbGl0eVVJRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0VG9vbHMvRHVt
cFJlbmRlclRyZWUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5jcHAJKHJldmlzaW9uIDcxNDU3KQor
KysgV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTQxMiw2ICs0MTIsMzAgQEAgc3RhdGljIEpTVmFsdWVSZWYgcHJl
c3NDYWxsYmFjayhKU0NvbnRleAogICAgIHJldHVybiBKU1ZhbHVlTWFrZVVuZGVmaW5lZChjb250
ZXh0KTsKIH0KIAorc3RhdGljIEpTVmFsdWVSZWYgcGVyZm9ybUVzY2FwZUNhbGxiYWNrKEpTQ29u
dGV4dFJlZiBjb250ZXh0LCBKU09iamVjdFJlZiBmdW5jdGlvbiwgSlNPYmplY3RSZWYgdGhpc09i
amVjdCwgc2l6ZV90IGFyZ3VtZW50Q291bnQsIGNvbnN0IEpTVmFsdWVSZWYgYXJndW1lbnRzW10s
IEpTVmFsdWVSZWYqIGV4Y2VwdGlvbikKK3sKKyAgICB0b0FYRWxlbWVudCh0aGlzT2JqZWN0KS0+
cGVyZm9ybUVzY2FwZSgpOworICAgIHJldHVybiBKU1ZhbHVlTWFrZVVuZGVmaW5lZChjb250ZXh0
KTsKK30KKworc3RhdGljIEpTVmFsdWVSZWYgcGVyZm9ybURlbGV0ZUNhbGxiYWNrKEpTQ29udGV4
dFJlZiBjb250ZXh0LCBKU09iamVjdFJlZiBmdW5jdGlvbiwgSlNPYmplY3RSZWYgdGhpc09iamVj
dCwgc2l6ZV90IGFyZ3VtZW50Q291bnQsIGNvbnN0IEpTVmFsdWVSZWYgYXJndW1lbnRzW10sIEpT
VmFsdWVSZWYqIGV4Y2VwdGlvbikKK3sKKyAgICB0b0FYRWxlbWVudCh0aGlzT2JqZWN0KS0+cGVy
Zm9ybURlbGV0ZSgpOworICAgIHJldHVybiBKU1ZhbHVlTWFrZVVuZGVmaW5lZChjb250ZXh0KTsK
K30KKworc3RhdGljIEpTVmFsdWVSZWYgcGVyZm9ybVVuZG9DYWxsYmFjayhKU0NvbnRleHRSZWYg
Y29udGV4dCwgSlNPYmplY3RSZWYgZnVuY3Rpb24sIEpTT2JqZWN0UmVmIHRoaXNPYmplY3QsIHNp
emVfdCBhcmd1bWVudENvdW50LCBjb25zdCBKU1ZhbHVlUmVmIGFyZ3VtZW50c1tdLCBKU1ZhbHVl
UmVmKiBleGNlcHRpb24pCit7CisgICAgdG9BWEVsZW1lbnQodGhpc09iamVjdCktPnBlcmZvcm1V
bmRvKCk7CisgICAgcmV0dXJuIEpTVmFsdWVNYWtlVW5kZWZpbmVkKGNvbnRleHQpOworfQorCitz
dGF0aWMgSlNWYWx1ZVJlZiBwZXJmb3JtUmVkb0NhbGxiYWNrKEpTQ29udGV4dFJlZiBjb250ZXh0
LCBKU09iamVjdFJlZiBmdW5jdGlvbiwgSlNPYmplY3RSZWYgdGhpc09iamVjdCwgc2l6ZV90IGFy
Z3VtZW50Q291bnQsIGNvbnN0IEpTVmFsdWVSZWYgYXJndW1lbnRzW10sIEpTVmFsdWVSZWYqIGV4
Y2VwdGlvbikKK3sKKyAgICB0b0FYRWxlbWVudCh0aGlzT2JqZWN0KS0+cGVyZm9ybVJlZG8oKTsK
KyAgICByZXR1cm4gSlNWYWx1ZU1ha2VVbmRlZmluZWQoY29udGV4dCk7Cit9CisKIHN0YXRpYyBK
U1ZhbHVlUmVmIHRha2VGb2N1c0NhbGxiYWNrKEpTQ29udGV4dFJlZiBjb250ZXh0LCBKU09iamVj
dFJlZiBmdW5jdGlvbiwgSlNPYmplY3RSZWYgdGhpc09iamVjdCwgc2l6ZV90IGFyZ3VtZW50Q291
bnQsIGNvbnN0IEpTVmFsdWVSZWYgYXJndW1lbnRzW10sIEpTVmFsdWVSZWYqIGV4Y2VwdGlvbikK
IHsKICAgICB0b0FYRWxlbWVudCh0aGlzT2JqZWN0KS0+dGFrZUZvY3VzKCk7CkBAIC03ODIsNiAr
ODA2LDEwIEBAIHN0YXRpYyBKU1ZhbHVlUmVmIHJlbW92ZU5vdGlmaWNhdGlvbkxpc3QKICNpZiAh
UExBVEZPUk0oTUFDKQogSlNTdHJpbmdSZWYgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c3BlYWso
KSB7IHJldHVybiAwOyB9CiBKU1N0cmluZ1JlZiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpyYW5n
ZUZvckxpbmUoaW50IGxpbmUpIHsgcmV0dXJuIDA7IH0KK3ZvaWQgQWNjZXNzaWJpbGl0eVVJRWxl
bWVudDo6cGVyZm9ybUVzY2FwZSgpIHsgfQordm9pZCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpw
ZXJmb3JtRGVsZXRlKCkgeyB9Cit2b2lkIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnBlcmZvcm1V
bmRvKCkgeyB9Cit2b2lkIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnBlcmZvcm1SZWRvKCkgeyB9
CiB2b2lkIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnNldFNlbGVjdGVkQ2hpbGQoQWNjZXNzaWJp
bGl0eVVJRWxlbWVudCopIGNvbnN0IHsgfQogdW5zaWduZWQgQWNjZXNzaWJpbGl0eVVJRWxlbWVu
dDo6c2VsZWN0ZWRDaGlsZHJlbkNvdW50KCkgY29uc3QgeyByZXR1cm4gMDsgfQogQWNjZXNzaWJp
bGl0eVVJRWxlbWVudCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzZWxlY3RlZENoaWxkQXRJbmRl
eCh1bnNpZ25lZCkgY29uc3QgeyByZXR1cm4gMDsgfQpAQCAtOTMxLDYgKzk1OSwxMCBAQCBKU0Ns
YXNzUmVmIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmdldEpTCiAgICAgICAgIHsgImRlY3JlbWVu
dCIsIGRlY3JlbWVudENhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pT
UHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCiAgICAgICAgIHsgInNob3dNZW51Iiwgc2hv
d01lbnVDYWxsYmFjaywga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5
QXR0cmlidXRlRG9udERlbGV0ZSB9LAogICAgICAgICB7ICJwcmVzcyIsIHByZXNzQ2FsbGJhY2ss
IGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnRE
ZWxldGUgfSwKKyAgICAgICAgeyAicGVyZm9ybUVzY2FwZSIsIHBlcmZvcm1Fc2NhcGVDYWxsYmFj
aywga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9u
dERlbGV0ZSB9LAorICAgICAgICB7ICJwZXJmb3JtVW5kbyIsIHBlcmZvcm1VbmRvQ2FsbGJhY2ss
IGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnRE
ZWxldGUgfSwKKyAgICAgICAgeyAicGVyZm9ybVJlZG8iLCBwZXJmb3JtUmVkb0NhbGxiYWNrLCBr
SlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVs
ZXRlIH0sCisgICAgICAgIHsgInBlcmZvcm1EZWxldGUiLCBwZXJmb3JtRGVsZXRlQ2FsbGJhY2ss
IGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnRE
ZWxldGUgfSwKICAgICAgICAgeyAiZGlzY2xvc2VkUm93QXRJbmRleCIsIGRpc2Nsb3NlZFJvd0F0
SW5kZXhDYWxsYmFjaywga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5
QXR0cmlidXRlRG9udERlbGV0ZSB9LAogICAgICAgICB7ICJhcmlhT3duc0VsZW1lbnRBdEluZGV4
IiwgYXJpYU93bnNFbGVtZW50QXRJbmRleENhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJl
YWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCiAgICAgICAgIHsgImFy
aWFGbG93VG9FbGVtZW50QXRJbmRleCIsIGFyaWFGbG93VG9FbGVtZW50QXRJbmRleENhbGxiYWNr
LCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250
RGVsZXRlIH0sCkluZGV4OiBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9BY2Nlc3NpYmlsaXR5
VUlFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvQWNj
ZXNzaWJpbGl0eVVJRWxlbWVudC5oCShyZXZpc2lvbiA3MTQ1NykKKysrIFdlYktpdFRvb2xzL0R1
bXBSZW5kZXJUcmVlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAt
MTAyLDYgKzEwMiwxMiBAQCBwdWJsaWM6CiAgICAgdm9pZCBzaG93TWVudSgpOwogICAgIHZvaWQg
cHJlc3MoKTsKIAorICAgIC8vICJVc2VyIEludGVyZmFjZSBJbmRlcGVuZGVuY2UgZm9yIEFjY2Vz
c2libGUgUmljaCBJbnRlcm5ldCBBcHBsaWNhdGlvbnMiIFczQyBQcm9wb3NhbAorICAgIHZvaWQg
cGVyZm9ybUVzY2FwZSgpOworICAgIHZvaWQgcGVyZm9ybURlbGV0ZSgpOworICAgIHZvaWQgcGVy
Zm9ybVVuZG8oKTsKKyAgICB2b2lkIHBlcmZvcm1SZWRvKCk7CisgICAgCiAgICAgLy8gQXR0cmli
dXRlcyAtIHBsYXRmb3JtLWluZGVwZW5kZW50IGltcGxlbWVudGF0aW9ucwogICAgIEpTU3RyaW5n
UmVmIHN0cmluZ0F0dHJpYnV0ZVZhbHVlKEpTU3RyaW5nUmVmIGF0dHJpYnV0ZSk7CiAgICAgYm9v
bCBib29sQXR0cmlidXRlVmFsdWUoSlNTdHJpbmdSZWYgYXR0cmlidXRlKTsKSW5kZXg6IFdlYktp
dFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50TWFjLm1tCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9BY2Nlc3NpYmlsaXR5
VUlFbGVtZW50TWFjLm1tCShyZXZpc2lvbiA3MTQ1NykKKysrIFdlYktpdFRvb2xzL0R1bXBSZW5k
ZXJUcmVlL21hYy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50TWFjLm1tCSh3b3JraW5nIGNvcHkpCkBA
IC0xMTIzLDYgKzExMjMsMzQgQEAgdm9pZCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpwcmVzcygp
CiAgICAgRU5EX0FYX09CSkNfRVhDRVBUSU9OUwogfQogCit2b2lkIEFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQ6OnBlcmZvcm1Fc2NhcGUoKQoreworICAgIEJFR0lOX0FYX09CSkNfRVhDRVBUSU9OUwor
ICAgIFttX2VsZW1lbnQgYWNjZXNzaWJpbGl0eVBlcmZvcm1BY3Rpb246QCJBWEVzY2FwZSJdOwor
ICAgIEVORF9BWF9PQkpDX0VYQ0VQVElPTlMKK30KKwordm9pZCBBY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50OjpwZXJmb3JtRGVsZXRlKCkgCit7CisgICAgQkVHSU5fQVhfT0JKQ19FWENFUFRJT05TCisg
ICAgW21fZWxlbWVudCBhY2Nlc3NpYmlsaXR5UGVyZm9ybUFjdGlvbjpAIkFYRGVsZXRlIl07Cisg
ICAgRU5EX0FYX09CSkNfRVhDRVBUSU9OUworfQorCit2b2lkIEFjY2Vzc2liaWxpdHlVSUVsZW1l
bnQ6OnBlcmZvcm1VbmRvKCkKK3sKKyAgICBCRUdJTl9BWF9PQkpDX0VYQ0VQVElPTlMKKyAgICBb
bV9lbGVtZW50IGFjY2Vzc2liaWxpdHlQZXJmb3JtQWN0aW9uOkAiQVhVbmRvIl07CisgICAgRU5E
X0FYX09CSkNfRVhDRVBUSU9OUworfQorCit2b2lkIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnBl
cmZvcm1SZWRvKCkKK3sKKyAgICBCRUdJTl9BWF9PQkpDX0VYQ0VQVElPTlMKKyAgICBbbV9lbGVt
ZW50IGFjY2Vzc2liaWxpdHlQZXJmb3JtQWN0aW9uOkAiQVhSZWRvIl07CisgICAgRU5EX0FYX09C
SkNfRVhDRVBUSU9OUyAgICAKK30KKwogdm9pZCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzZXRT
ZWxlY3RlZENoaWxkKEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQqIGVsZW1lbnQpIGNvbnN0CiB7CiAg
ICAgQkVHSU5fQVhfT0JKQ19FWENFUFRJT05TCkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA3MTQ1NykKKysr
IExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5IEBACisy
MDEwLTEwLTI2ICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQVg6IFN1cHBvcnQgVUlS
ZXF1ZXN0RXZlbnRzIGZyb20gbmV3IFczQyBQcm9wb3NhbAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDczMDEKKworICAgICAgICAqIGFjY2Vzc2liaWxp
dHkvdWlyZXF1ZXN0LWV2ZW50cy1kaXNwYXRjaC1mcm9tLWF4LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogYWNjZXNzaWJpbGl0eS91aXJlcXVlc3QtZXZlbnRzLWRpc3BhdGNoLWZyb20t
YXguaHRtbDogQWRkZWQuCisgICAgICAgICogYWNjZXNzaWJpbGl0eS91aXJlcXVlc3QtZXZlbnRz
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogYWNjZXNzaWJpbGl0eS91aXJlcXVlc3Qt
ZXZlbnRzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJv
cGVydGllcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9kb20vV2luZG93L3dpbmRvdy1w
cm9wZXJ0eS1kZXNjcmlwdG9ycy1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9kb20vcHJv
dG90eXBlLWluaGVyaXRhbmNlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2pzL2dsb2Jh
bC1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0OgorCiAyMDEwLTExLTA1ICBEdW1pdHJ1IERhbmls
aXVjICA8ZHVtaUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgdXBkYXRpbmcg
Q2hyb21pdW0gZXhwZWN0YXRpb25zLgpJbmRleDogTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS91
aXJlcXVlc3QtZXZlbnRzLWRpc3BhdGNoLWZyb20tYXgtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvdWlyZXF1ZXN0LWV2ZW50cy1kaXNwYXRjaC1m
cm9tLWF4LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2FjY2Vzc2li
aWxpdHkvdWlyZXF1ZXN0LWV2ZW50cy1kaXNwYXRjaC1mcm9tLWF4LWV4cGVjdGVkLnR4dAkocmV2
aXNpb24gMCkKQEAgLTAsMCArMSwyMSBAQAorT25lCisKK1R3bworCitUaHJlZQorCitGb3VyCisK
K1RoaXMgdGVzdHMgdGhhdCBhIFVJUmVxdWVzdEV2ZW50IGNhbiBiZSBkaXNwYXRjaGVkIGZyb20g
dGhlIGFjY2Vzc2liaWxpdHkgZGlzcGF0Y2ggbWVjaGFuaXNtLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKKworUEFTUyBldmVudFJlY2VpdmVkLnR5cGUgaXMgZXhwZWN0ZWRUeXBlCitQ
QVNTIGV2ZW50UmVjZWl2ZWQudHlwZSBpcyBleHBlY3RlZFR5cGUKK1BBU1MgZXZlbnRSZWNlaXZl
ZC50eXBlIGlzIGV4cGVjdGVkVHlwZQorUEFTUyBldmVudFJlY2VpdmVkLnR5cGUgaXMgZXhwZWN0
ZWRUeXBlCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpJbmRleDogTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS91aXJlcXVlc3QtZXZlbnRzLWRpc3Bh
dGNoLWZyb20tYXguaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5
L3VpcmVxdWVzdC1ldmVudHMtZGlzcGF0Y2gtZnJvbS1heC5odG1sCShyZXZpc2lvbiAwKQorKysg
TGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS91aXJlcXVlc3QtZXZlbnRzLWRpc3BhdGNoLWZyb20t
YXguaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw1NiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0i
c3R5bGVzaGVldCIgaHJlZj0iLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3Mi
PgorPHNjcmlwdD4KK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSBmYWxzZTsKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5IGlkPSJib2R5Ij4KKworPGRpdiB0YWJpbmRleD0iMCIgaWQ9Im9u
ZSIgb253ZWJraXR1bmRvcmVxdWVzdD0icmV0dXJuIGhhbmRsZUV2ZW50KGV2ZW50LCAnd2Via2l0
dW5kb3JlcXVlc3QnKTsiPk9uZTwvZGl2Pjxicj4KKzxkaXYgdGFiaW5kZXg9IjAiIGlkPSJ0d28i
IG9ud2Via2l0cmVkb3JlcXVlc3Q9InJldHVybiBoYW5kbGVFdmVudChldmVudCwgJ3dlYmtpdHJl
ZG9yZXF1ZXN0Jyk7Ij5Ud288L2Rpdj48YnI+Cis8ZGl2IHRhYmluZGV4PSIwIiBpZD0idGhyZWUi
IG9ud2Via2l0ZXNjYXBlcmVxdWVzdD0icmV0dXJuIGhhbmRsZUV2ZW50KGV2ZW50LCAnd2Via2l0
ZXNjYXBlcmVxdWVzdCcpOyI+VGhyZWU8L2Rpdj48YnI+Cis8ZGl2IHRhYmluZGV4PSIwIiBpZD0i
Zm91ciIgb253ZWJraXRkZWxldGVyZXF1ZXN0PSJyZXR1cm4gaGFuZGxlRXZlbnQoZXZlbnQsICd3
ZWJraXRkZWxldGVyZXF1ZXN0Jyk7Ij5Gb3VyPC9kaXY+PGJyPgorCis8cCBpZD0iZGVzY3JpcHRp
b24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8c2NyaXB0PgorCisgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdHMgdGhhdCBhIFVJUmVxdWVzdEV2ZW50IGNhbiBiZSBkaXNwYXRj
aGVkIGZyb20gdGhlIGFjY2Vzc2liaWxpdHkgZGlzcGF0Y2ggbWVjaGFuaXNtLiIpOworCisgICAg
dmFyIGV2ZW50UmVjZWl2ZWQgPSAwOworICAgIHZhciBleHBlY3RlZFR5cGUKKyAgICBmdW5jdGlv
biBoYW5kbGVFdmVudChlLCBleHBlY3RlZCkgeworICAgICAgICBldmVudFJlY2VpdmVkID0gZTsK
KyAgICAgICAgZXhwZWN0ZWRUeXBlID0gZXhwZWN0ZWQ7CisgICAgICAgIHNob3VsZEJlKCJldmVu
dFJlY2VpdmVkLnR5cGUiLCAiZXhwZWN0ZWRUeXBlIik7CisgICAgICAgIGlmIChleHBlY3RlZFR5
cGUgPT0gIndlYmtpdGRlbGV0ZXJlcXVlc3QiKSB7CisgICAgICAgICAgICBsYXlvdXRUZXN0Q29u
dHJvbGxlci5ub3RpZnlEb25lKCk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBpZiAod2luZG93
LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIu
d2FpdFVudGlsRG9uZSgpOworICAgIH0KKyAgICAKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgib25lIikuZm9jdXMoKTsKKyAgICBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5mb2N1c2VkRWxl
bWVudC5wZXJmb3JtVW5kbygpOworCisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInR3byIp
LmZvY3VzKCk7CisgICAgYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQucGVy
Zm9ybVJlZG8oKTsKKworICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0aHJlZSIpLmZvY3Vz
KCk7CisgICAgYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQucGVyZm9ybUVz
Y2FwZSgpOworCisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZvdXIiKS5mb2N1cygpOwor
ICAgIGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmZvY3VzZWRFbGVtZW50LnBlcmZvcm1EZWxldGUo
KTsKKyAgIAorICAgIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKworPHNj
cmlwdCBzcmM9Ii4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L3VpcmVx
dWVzdC1ldmVudHMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2FjY2Vz
c2liaWxpdHkvdWlyZXF1ZXN0LWV2ZW50cy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBM
YXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L3VpcmVxdWVzdC1ldmVudHMtZXhwZWN0ZWQudHh0CShy
ZXZpc2lvbiAwKQpAQCAtMCwwICsxLDMzIEBACitPbmUKKworVHdvCisKK1RocmVlCisKK0ZvdXIK
KworRml2ZQorCitTaXgKKworU2V2ZW4KKworRWlnaHQKKworVGhpcyB0ZXN0cyB0aGF0IFVJUmVx
dWVzdEV2ZW50cyB3b3JrIGFzIGRlc2NyaWJlZC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCisKK1BBU1MgZXZlbnRSZWNlaXZlZC50eXBlIGlzIGV4cGVjdGVkVHlwZQorUEFTUyBldmVu
dFJlY2VpdmVkLnR5cGUgaXMgZXhwZWN0ZWRUeXBlCitQQVNTIGV2ZW50UmVjZWl2ZWQudHlwZSBp
cyBleHBlY3RlZFR5cGUKK1BBU1MgZXZlbnRSZWNlaXZlZC50eXBlIGlzIGV4cGVjdGVkVHlwZQor
UEFTUyBldmVudC50eXBlIGlzICd3ZWJraXRkZWxldGVyZXF1ZXN0JworUEFTUyBldmVudC50eXBl
IGlzICd3ZWJraXRlc2NhcGVyZXF1ZXN0JworUEFTUyBldmVudC50eXBlIGlzICd3ZWJraXRyZWRv
cmVxdWVzdCcKK1BBU1MgZXZlbnQudHlwZSBpcyAnd2Via2l0dW5kb3JlcXVlc3QnCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpJbmRleDogTGF5b3V0
VGVzdHMvYWNjZXNzaWJpbGl0eS91aXJlcXVlc3QtZXZlbnRzLmh0bWwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS91aXJlcXVlc3QtZXZlbnRzLmh0bWwJKHJldmlzaW9u
IDApCisrKyBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L3VpcmVxdWVzdC1ldmVudHMuaHRtbAko
cmV2aXNpb24gMCkKQEAgLTAsMCArMSwxMDUgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hl
ZXQiIGhyZWY9Ii4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3Jp
cHQ+Cit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gZmFsc2U7Cis8L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keSBpZD0iYm9keSI+CisKKzxkaXYgaWQ9Im9uZSIgb253ZWJraXR1bmRvcmVxdWVz
dD0icmV0dXJuIGhhbmRsZUV2ZW50KGV2ZW50LCAnd2Via2l0dW5kb3JlcXVlc3QnKTsiPk9uZTwv
ZGl2Pjxicj4KKzxkaXYgaWQ9InR3byIgb253ZWJraXRyZWRvcmVxdWVzdD0icmV0dXJuIGhhbmRs
ZUV2ZW50KGV2ZW50LCAnd2Via2l0cmVkb3JlcXVlc3QnKTsiPlR3bzwvZGl2Pjxicj4KKzxkaXYg
aWQ9InRocmVlIiBvbndlYmtpdGVzY2FwZXJlcXVlc3Q9InJldHVybiBoYW5kbGVFdmVudChldmVu
dCwgJ3dlYmtpdGVzY2FwZXJlcXVlc3QnKTsiPlRocmVlPC9kaXY+PGJyPgorPGRpdiBpZD0iZm91
ciIgb253ZWJraXRkZWxldGVyZXF1ZXN0PSJyZXR1cm4gaGFuZGxlRXZlbnQoZXZlbnQsICd3ZWJr
aXRkZWxldGVyZXF1ZXN0Jyk7Ij5Gb3VyPC9kaXY+PGJyPgorCis8ZGl2IGlkPSJmaXZlIj5GaXZl
PC9kaXY+PGJyPgorPGRpdiBpZD0ic2l4Ij5TaXg8L2Rpdj48YnI+Cis8ZGl2IGlkPSJzZXZlbiI+
U2V2ZW48L2Rpdj48YnI+Cis8ZGl2IGlkPSJlaWdodCI+RWlnaHQ8L2Rpdj48YnI+CisKKzxwIGlk
PSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisKKzxzY3JpcHQ+
CisKKyAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0cyB0aGF0IFVJUmVxdWVzdEV2ZW50cyB3b3Jr
IGFzIGRlc2NyaWJlZC4iKTsKKworICAgIHZhciBldmVudFJlY2VpdmVkID0gMDsKKyAgICB2YXIg
ZXhwZWN0ZWRUeXBlCisgICAgZnVuY3Rpb24gaGFuZGxlRXZlbnQoZSwgZXhwZWN0ZWQpIHsKKyAg
ICAgICAgZXZlbnRSZWNlaXZlZCA9IGU7CisgICAgICAgIGV4cGVjdGVkVHlwZSA9IGV4cGVjdGVk
OworICAgICAgICBzaG91bGRCZSgiZXZlbnRSZWNlaXZlZC50eXBlIiwgImV4cGVjdGVkVHlwZSIp
OworICAgIH0KKworICAgIHZhciBjb3VudCA9IDA7CisgICAgZnVuY3Rpb24gaW5zdGFsbGVkRXZl
bnRIYW5kbGVyKGUpIHsKKyAgICAgICBpZiAoY291bnQgPT0gMCkgeworICAgICAgICAgIHNob3Vs
ZEJlKCJldmVudC50eXBlIiwgIid3ZWJraXRkZWxldGVyZXF1ZXN0JyIpOworICAgICAgIH0KKyAg
ICAgICBlbHNlIGlmIChjb3VudCA9PSAxKSB7CisgICAgICAgICAgc2hvdWxkQmUoImV2ZW50LnR5
cGUiLCAiJ3dlYmtpdGVzY2FwZXJlcXVlc3QnIik7CisgICAgICAgfQorICAgICAgIGVsc2UgaWYg
KGNvdW50ID09IDIpIHsKKyAgICAgICAgICBzaG91bGRCZSgiZXZlbnQudHlwZSIsICInd2Via2l0
cmVkb3JlcXVlc3QnIik7CisgICAgICAgfQorICAgICAgIGVsc2UgaWYgKGNvdW50ID09IDMpIHsK
KyAgICAgICAgICBzaG91bGRCZSgiZXZlbnQudHlwZSIsICInd2Via2l0dW5kb3JlcXVlc3QnIik7
CisgICAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgICAgICAg
ICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7CisgICAgICAgICAgfQorICAg
ICAgIH0KKyAgICAgICBjb3VudCsrOworICAgIH0KKworICAgIGlmICh3aW5kb3cubGF5b3V0VGVz
dENvbnRyb2xsZXIpIHsKKyAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxE
b25lKCk7CisgICAgfQorICAgIAorICAgIC8vIFNlbmQgdGhlIGV2ZW50cyB0byB0aGUgc3BlY2lm
aWMgbm9kZSB0byBtYWtlIHN1cmUgdGhlIG9uKiBoYW5kbGVycyBoYW5kbGUgdGhlIGV2ZW50Lgor
ICAgIHZhciBldnQgPSBkb2N1bWVudC5jcmVhdGVFdmVudCgnV2ViS2l0VUlSZXF1ZXN0RXZlbnQn
KTsKKyAgICBldnQuaW5pdFdlYktpdFVJUmVxdWVzdEV2ZW50KCJ3ZWJraXR1bmRvcmVxdWVzdCIs
IHRydWUsIHRydWUsIGRvY3VtZW50LmRlZmF1bHRWaWV3LCAwKTsKKyAgICBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgib25lIikuZGlzcGF0Y2hFdmVudChldnQpOworCisgICAgZXZ0ID0gZG9jdW1l
bnQuY3JlYXRlRXZlbnQoJ1dlYktpdFVJUmVxdWVzdEV2ZW50Jyk7CisgICAgZXZ0LmluaXRXZWJL
aXRVSVJlcXVlc3RFdmVudCgid2Via2l0cmVkb3JlcXVlc3QiLCB0cnVlLCB0cnVlLCBkb2N1bWVu
dC5kZWZhdWx0VmlldywgMCk7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInR3byIpLmRp
c3BhdGNoRXZlbnQoZXZ0KTsKKworICAgIGV2dCA9IGRvY3VtZW50LmNyZWF0ZUV2ZW50KCdXZWJL
aXRVSVJlcXVlc3RFdmVudCcpOworICAgIGV2dC5pbml0V2ViS2l0VUlSZXF1ZXN0RXZlbnQoIndl
YmtpdGVzY2FwZXJlcXVlc3QiLCB0cnVlLCB0cnVlLCBkb2N1bWVudC5kZWZhdWx0VmlldywgMCk7
CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRocmVlIikuZGlzcGF0Y2hFdmVudChldnQp
OworCisgICAgZXZ0ID0gZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ1dlYktpdFVJUmVxdWVzdEV2ZW50
Jyk7CisgICAgZXZ0LmluaXRXZWJLaXRVSVJlcXVlc3RFdmVudCgid2Via2l0ZGVsZXRlcmVxdWVz
dCIsIHRydWUsIHRydWUsIGRvY3VtZW50LmRlZmF1bHRWaWV3LCAwKTsKKyAgICBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZm91ciIpLmRpc3BhdGNoRXZlbnQoZXZ0KTsKKworICAgIGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJmaXZlIikuYWRkRXZlbnRMaXN0ZW5lcignd2Via2l0ZGVsZXRlcmVx
dWVzdCcsIGluc3RhbGxlZEV2ZW50SGFuZGxlcik7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInNpeCIpLmFkZEV2ZW50TGlzdGVuZXIoJ3dlYmtpdGVzY2FwZXJlcXVlc3QnLCBpbnN0YWxs
ZWRFdmVudEhhbmRsZXIpOworICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzZXZlbiIpLmFk
ZEV2ZW50TGlzdGVuZXIoJ3dlYmtpdHJlZG9yZXF1ZXN0JywgaW5zdGFsbGVkRXZlbnRIYW5kbGVy
KTsKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZWlnaHQiKS5hZGRFdmVudExpc3RlbmVy
KCd3ZWJraXR1bmRvcmVxdWVzdCcsIGluc3RhbGxlZEV2ZW50SGFuZGxlcik7CisKKyAgICAvLyBT
ZW5kIHRoZSBldmVudCB0byB0aGUgc3BlY2lmaWMgbm9kZXMgdG8gbWFrZSBzdXJlIHRoZSBhZGRF
dmVudExpc3RlbmVycyB3b3JrCisgICAgZXZ0ID0gZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ1dlYktp
dFVJUmVxdWVzdEV2ZW50Jyk7CisgICAgZXZ0LmluaXRXZWJLaXRVSVJlcXVlc3RFdmVudCgid2Vi
a2l0ZGVsZXRlcmVxdWVzdCIsIHRydWUsIHRydWUsIGRvY3VtZW50LmRlZmF1bHRWaWV3LCAwKTsK
KyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZml2ZSIpLmRpc3BhdGNoRXZlbnQoZXZ0KTsK
KworICAgIGV2dCA9IGRvY3VtZW50LmNyZWF0ZUV2ZW50KCdXZWJLaXRVSVJlcXVlc3RFdmVudCcp
OworICAgIGV2dC5pbml0V2ViS2l0VUlSZXF1ZXN0RXZlbnQoIndlYmtpdGVzY2FwZXJlcXVlc3Qi
LCB0cnVlLCB0cnVlLCBkb2N1bWVudC5kZWZhdWx0VmlldywgMCk7CisgICAgZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInNpeCIpLmRpc3BhdGNoRXZlbnQoZXZ0KTsKKworICAgIGV2dCA9IGRvY3Vt
ZW50LmNyZWF0ZUV2ZW50KCdXZWJLaXRVSVJlcXVlc3RFdmVudCcpOworICAgIGV2dC5pbml0V2Vi
S2l0VUlSZXF1ZXN0RXZlbnQoIndlYmtpdHJlZG9yZXF1ZXN0IiwgdHJ1ZSwgdHJ1ZSwgZG9jdW1l
bnQuZGVmYXVsdFZpZXcsIDApOworICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzZXZlbiIp
LmRpc3BhdGNoRXZlbnQoZXZ0KTsKKworICAgIGV2dCA9IGRvY3VtZW50LmNyZWF0ZUV2ZW50KCdX
ZWJLaXRVSVJlcXVlc3RFdmVudCcpOworICAgIGV2dC5pbml0V2ViS2l0VUlSZXF1ZXN0RXZlbnQo
IndlYmtpdHVuZG9yZXF1ZXN0IiwgdHJ1ZSwgdHJ1ZSwgZG9jdW1lbnQuZGVmYXVsdFZpZXcsIDAp
OworICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlaWdodCIpLmRpc3BhdGNoRXZlbnQoZXZ0
KTsKKworICAgIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKworPHNjcmlw
dCBzcmM9Ii4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2RvbS9wcm90b3R5cGUtaW5o
ZXJpdGFuY2UtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZG9t
L3Byb3RvdHlwZS1pbmhlcml0YW5jZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDcxNDU3KQorKysg
TGF5b3V0VGVzdHMvZmFzdC9kb20vcHJvdG90eXBlLWluaGVyaXRhbmNlLWV4cGVjdGVkLnR4dAko
d29ya2luZyBjb3B5KQpAQCAtNjM1LDYgKzYzNSw4IEBAIFBBU1MgaW5uZXIuV2ViS2l0VHJhbnNp
dGlvbkV2ZW50LmlzSW5uZXIKIFBBU1MgaW5uZXIuV2ViS2l0VHJhbnNpdGlvbkV2ZW50LmNvbnN0
cnVjdG9yLmlzSW5uZXIgaXMgdHJ1ZQogUEFTUyBpbm5lci5XZWJTb2NrZXQuaXNJbm5lciBpcyB0
cnVlCiBQQVNTIGlubmVyLldlYlNvY2tldC5jb25zdHJ1Y3Rvci5pc0lubmVyIGlzIHRydWUKK1BB
U1MgaW5uZXIuV2ViS2l0VUlSZXF1ZXN0RXZlbnQuaXNJbm5lciBpcyB0cnVlCitQQVNTIGlubmVy
LldlYktpdFVJUmVxdWVzdEV2ZW50LmNvbnN0cnVjdG9yLmlzSW5uZXIgaXMgdHJ1ZQogUEFTUyBp
bm5lci5XaGVlbEV2ZW50LmlzSW5uZXIgaXMgdHJ1ZQogUEFTUyBpbm5lci5XaGVlbEV2ZW50LmNv
bnN0cnVjdG9yLmlzSW5uZXIgaXMgdHJ1ZQogUEFTUyBpbm5lci5Xb3JrZXIuaXNJbm5lciBpcyB0
cnVlCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMt
ZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93
aW5kb3ctcHJvcGVydGllcy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDcxNDU3KQorKysgTGF5b3V0
VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dAkod29y
a2luZyBjb3B5KQpAQCAtMjAzNSw2ICsyMDM1LDggQEAgd2luZG93LldlYlNvY2tldC5wcm90b3R5
cGUuY2xvc2UgW2Z1bmN0aQogd2luZG93LldlYlNvY2tldC5wcm90b3R5cGUuZGlzcGF0Y2hFdmVu
dCBbZnVuY3Rpb25dCiB3aW5kb3cuV2ViU29ja2V0LnByb3RvdHlwZS5yZW1vdmVFdmVudExpc3Rl
bmVyIFtmdW5jdGlvbl0KIHdpbmRvdy5XZWJTb2NrZXQucHJvdG90eXBlLnNlbmQgW2Z1bmN0aW9u
XQord2luZG93LldlYktpdFVJUmVxdWVzdEV2ZW50IFtvYmplY3QgV2ViS2l0VUlSZXF1ZXN0RXZl
bnRDb25zdHJ1Y3Rvcl0KK3dpbmRvdy5XZWJLaXRVSVJlcXVlc3RFdmVudC5wcm90b3R5cGUgW3By
aW50ZWQgYWJvdmUgYXMgd2luZG93LkV2ZW50LnByb3RvdHlwZV0KIHdpbmRvdy5XaGVlbEV2ZW50
IFtvYmplY3QgV2hlZWxFdmVudENvbnN0cnVjdG9yXQogd2luZG93LldoZWVsRXZlbnQucHJvdG90
eXBlIFtwcmludGVkIGFib3ZlIGFzIHdpbmRvdy5FdmVudC5wcm90b3R5cGVdCiB3aW5kb3cuV29y
a2VyIFtvYmplY3QgV29ya2VyQ29uc3RydWN0b3JdCkBAIC0yMzY5LDcgKzIzNzEsMTEgQEAgd2lu
ZG93Lm9ud2FpdGluZyBbbnVsbF0KIHdpbmRvdy5vbndlYmtpdGFuaW1hdGlvbmVuZCBbbnVsbF0K
IHdpbmRvdy5vbndlYmtpdGFuaW1hdGlvbml0ZXJhdGlvbiBbbnVsbF0KIHdpbmRvdy5vbndlYmtp
dGFuaW1hdGlvbnN0YXJ0IFtudWxsXQord2luZG93Lm9ud2Via2l0ZGVsZXRlcmVxdWVzdCBbbnVs
bF0KK3dpbmRvdy5vbndlYmtpdGVzY2FwZXJlcXVlc3QgW251bGxdCit3aW5kb3cub253ZWJraXRy
ZWRvcmVxdWVzdCBbbnVsbF0KIHdpbmRvdy5vbndlYmtpdHRyYW5zaXRpb25lbmQgW251bGxdCit3
aW5kb3cub253ZWJraXR1bmRvcmVxdWVzdCBbbnVsbF0KIHdpbmRvdy5vcGVuIFtmdW5jdGlvbl0K
IHdpbmRvdy5vcGVuRGF0YWJhc2UgW2Z1bmN0aW9uXQogd2luZG93Lm91dGVySGVpZ2h0IFtudW1i
ZXJdCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnR5LWRl
c2NyaXB0b3JzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Rv
bS9XaW5kb3cvd2luZG93LXByb3BlcnR5LWRlc2NyaXB0b3JzLWV4cGVjdGVkLnR4dAkocmV2aXNp
b24gNzE0NTcpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnR5
LWRlc2NyaXB0b3JzLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMzE5LDYgKzMxOSw3
IEBAIFBBU1MgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXAKIFBBU1MgdHlwZW9m
IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2luZG93LCAnV2ViS2l0UG9pbnQnKSBp
cyAnb2JqZWN0JwogUEFTUyB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3
aW5kb3csICdXZWJLaXRUcmFuc2l0aW9uRXZlbnQnKSBpcyAnb2JqZWN0JwogUEFTUyB0eXBlb2Yg
T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3aW5kb3csICdXZWJTb2NrZXQnKSBpcyAn
b2JqZWN0JworUEFTUyB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3aW5k
b3csICdXZWJLaXRVSVJlcXVlc3RFdmVudCcpIGlzICdvYmplY3QnCiBQQVNTIHR5cGVvZiBPYmpl
Y3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywgJ1doZWVsRXZlbnQnKSBpcyAnb2Jq
ZWN0JwogUEFTUyB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3aW5kb3cs
ICdXb3JrZXInKSBpcyAnb2JqZWN0JwogUEFTUyB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5
RGVzY3JpcHRvcih3aW5kb3csICdYTUxEb2N1bWVudCcpIGlzICdvYmplY3QnCkBAIC00NDAsNyAr
NDQxLDExIEBAIFBBU1MgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXAKIFBBU1Mg
dHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2luZG93LCAnb253ZWJraXRh
bmltYXRpb25lbmQnKSBpcyAnb2JqZWN0JwogUEFTUyB0eXBlb2YgT2JqZWN0LmdldE93blByb3Bl
cnR5RGVzY3JpcHRvcih3aW5kb3csICdvbndlYmtpdGFuaW1hdGlvbml0ZXJhdGlvbicpIGlzICdv
YmplY3QnCiBQQVNTIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRv
dywgJ29ud2Via2l0YW5pbWF0aW9uc3RhcnQnKSBpcyAnb2JqZWN0JworUEFTUyB0eXBlb2YgT2Jq
ZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3aW5kb3csICdvbndlYmtpdGRlbGV0ZXJlcXVl
c3QnKSBpcyAnb2JqZWN0JworUEFTUyB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3Jp
cHRvcih3aW5kb3csICdvbndlYmtpdGVzY2FwZXJlcXVlc3QnKSBpcyAnb2JqZWN0JworUEFTUyB0
eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3aW5kb3csICdvbndlYmtpdHJl
ZG9yZXF1ZXN0JykgaXMgJ29iamVjdCcKIFBBU1MgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0
eURlc2NyaXB0b3Iod2luZG93LCAnb253ZWJraXR0cmFuc2l0aW9uZW5kJykgaXMgJ29iamVjdCcK
K1BBU1MgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2luZG93LCAnb253
ZWJraXR1bmRvcmVxdWVzdCcpIGlzICdvYmplY3QnCiBQQVNTIHR5cGVvZiBPYmplY3QuZ2V0T3du
UHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywgJ291dGVySGVpZ2h0JykgaXMgJ29iamVjdCcKIFBB
U1MgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2luZG93LCAnb3V0ZXJX
aWR0aCcpIGlzICdvYmplY3QnCiBQQVNTIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNj
cmlwdG9yKHdpbmRvdywgJ3BhZ2VYT2Zmc2V0JykgaXMgJ29iamVjdCcKSW5kZXg6IExheW91dFRl
c3RzL2Zhc3QvanMvZ2xvYmFsLWNvbnN0cnVjdG9ycy1leHBlY3RlZC50eHQKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvZmFzdC9qcy9nbG9iYWwtY29uc3RydWN0b3JzLWV4cGVjdGVkLnR4dAko
cmV2aXNpb24gNzE0NTcpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2pzL2dsb2JhbC1jb25zdHJ1Y3Rv
cnMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0zMDAsNiArMzAwLDcgQEAgUEFTUyBX
ZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZS50b1N0cmluZygpIAogUEFTUyBXZWJLaXRQb2ludC50b1N0
cmluZygpIGlzICdbb2JqZWN0IFdlYktpdFBvaW50Q29uc3RydWN0b3JdJwogUEFTUyBXZWJLaXRU
cmFuc2l0aW9uRXZlbnQudG9TdHJpbmcoKSBpcyAnW29iamVjdCBXZWJLaXRUcmFuc2l0aW9uRXZl
bnRDb25zdHJ1Y3Rvcl0nCiBQQVNTIFdlYlNvY2tldC50b1N0cmluZygpIGlzICdbb2JqZWN0IFdl
YlNvY2tldENvbnN0cnVjdG9yXScKK1BBU1MgV2ViS2l0VUlSZXF1ZXN0RXZlbnQudG9TdHJpbmco
KSBpcyAnW29iamVjdCBXZWJraXRVSVJlcXVlc3RFdmVudENvbnN0cnVjdG9yXScKIFBBU1MgV2hl
ZWxFdmVudC50b1N0cmluZygpIGlzICdbb2JqZWN0IFdoZWVsRXZlbnRDb25zdHJ1Y3Rvcl0nCiBQ
QVNTIFdvcmtlci50b1N0cmluZygpIGlzICdbb2JqZWN0IFdvcmtlckNvbnN0cnVjdG9yXScKIFBB
U1MgWE1MRG9jdW1lbnQudG9TdHJpbmcoKSBpcyAnW29iamVjdCBEb2N1bWVudENvbnN0cnVjdG9y
XScK
</data>
<flag name="review"
          id="63519"
          type_id="1"
          status="-"
          setter="abarth"
    />
          </attachment>
      

    </bug>

</bugzilla>