<?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>56586</bug_id>
          
          <creation_ts>2011-03-17 13:43:30 -0700</creation_ts>
          <short_desc>Media Stream API: add the getUserMedia method and the Javascript bindings</short_desc>
          <delta_ts>2012-09-19 07:20:49 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>DOM</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>56458</dependson>
    
    <dependson>56921</dependson>
    
    <dependson>57760</dependson>
    
    <dependson>57770</dependson>
    
    <dependson>57963</dependson>
          <blocked>56459</blocked>
    
    <blocked>56922</blocked>
    
    <blocked>58147</blocked>
    
    <blocked>58459</blocked>
    
    <blocked>60387</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Leandro Graciá Gil">leandrogracia</reporter>
          <assigned_to name="Leandro Graciá Gil">leandrogracia</assigned_to>
          <cc>abarth</cc>
    
    <cc>adam.bergkvist</cc>
    
    <cc>buildbot</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dglazkov</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>eric</cc>
    
    <cc>peter</cc>
    
    <cc>satish</cc>
    
    <cc>steveblock</cc>
    
    <cc>svillar</cc>
    
    <cc>tommyw</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>369268</commentid>
    <comment_count>0</comment_count>
    <who name="Leandro Graciá Gil">leandrogracia</who>
    <bug_when>2011-03-17 13:43:30 -0700</bug_when>
    <thetext>This patch adds the getUserMedia method to the navigator with all its intermediate Javascript types and the basic skeleton of the stream controller and the client and listener interfaces.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>369272</commentid>
    <comment_count>1</comment_count>
      <attachid>86088</attachid>
    <who name="Leandro Graciá Gil">leandrogracia</who>
    <bug_when>2011-03-17 13:53:53 -0700</bug_when>
    <thetext>Created attachment 86088
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>369292</commentid>
    <comment_count>2</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2011-03-17 14:19:26 -0700</bug_when>
    <thetext>Attachment 86088 did not build on win:
Build output: http://queues.webkit.org/results/8191773</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>369742</commentid>
    <comment_count>3</comment_count>
      <attachid>86181</attachid>
    <who name="Leandro Graciá Gil">leandrogracia</who>
    <bug_when>2011-03-18 11:17:36 -0700</bug_when>
    <thetext>Created attachment 86181
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>369743</commentid>
    <comment_count>4</comment_count>
    <who name="Leandro Graciá Gil">leandrogracia</who>
    <bug_when>2011-03-18 11:18:23 -0700</bug_when>
    <thetext>Adding the webkit prefix to the new introduced methods (getUserMedia). Fixing the build files of other WebKit ports.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>369776</commentid>
    <comment_count>5</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2011-03-18 12:06:50 -0700</bug_when>
    <thetext>Attachment 86181 did not build on win:
Build output: http://queues.webkit.org/results/8205242</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>369801</commentid>
    <comment_count>6</comment_count>
      <attachid>86198</attachid>
    <who name="Leandro Graciá Gil">leandrogracia</who>
    <bug_when>2011-03-18 12:46:07 -0700</bug_when>
    <thetext>Created attachment 86198
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>369802</commentid>
    <comment_count>7</comment_count>
    <who name="Leandro Graciá Gil">leandrogracia</who>
    <bug_when>2011-03-18 12:46:31 -0700</bug_when>
    <thetext>Fixing windows build.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>369887</commentid>
    <comment_count>8</comment_count>
      <attachid>86198</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-03-18 14:25:01 -0700</bug_when>
    <thetext>Comment on attachment 86198
Patch

What spec covers this?  Please update your ChangeLog to explain.

Also, please use webkit-patch or at least svn-create-patch to create your diffs so the ChangeLogs end up at the top. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>369892</commentid>
    <comment_count>9</comment_count>
    <who name="Peter Beverloo">peter</who>
    <bug_when>2011-03-18 14:30:17 -0700</bug_when>
    <thetext>The WHATWG HTML version does. This was recently changed by Hixie.

http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html#video-conferencing-and-peer-to-peer-communication</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>370321</commentid>
    <comment_count>10</comment_count>
      <attachid>86198</attachid>
    <who name="Steve Block">steveblock</who>
    <bug_when>2011-03-21 03:18:25 -0700</bug_when>
    <thetext>Comment on attachment 86198
Patch

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

&gt; Source/WebCore/page/NavigatorUserMediaError.idl:33
&gt; +    // FIXME: delete this interface and implement a custom binding since spec defines it as a NoInterfaceObject.

Any reason not to do this now?

&gt; Source/WebCore/page/NavigatorUserMediaErrorCallback.cpp:46
&gt; +// NavigatorUserMediaSuccessCallback and BlobCallback.

Again, why not do this now?

&gt; Source/WebCore/page/Page.cpp:858
&gt; +        m_streamController.set(new StreamController(m_streamClient, mainFrame()-&gt;document()));

Do you plan to add a runtime flag? Other controller/client features only instantiate the controller when the runtime flag is set, as the controller is otherwsise not used. Make sure that the client is still signalled to shut down, if required, in this case though.

Also, why doe we use the main frame&apos;s document? How does this work in the case of iframes?

&gt; Source/WebCore/page/Page.h:344
&gt; +        OwnPtr&lt;StreamController&gt; m_streamController;

I understand that the spec refers to this as just &apos;Stream&apos;, but the name seems a little vague. Could you use a more descriptive name, or at least add a comment about what kind of stream it is?

&gt; Source/WebCore/page/StreamListener.h:41
&gt; +// be implemented by both the StreamController and the StreamClientMock.

I don&apos;t understand this. Can you explain why the mock client would implement this interface?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>371527</commentid>
    <comment_count>11</comment_count>
      <attachid>86487</attachid>
    <who name="Leandro Graciá Gil">leandrogracia</who>
    <bug_when>2011-03-22 11:49:24 -0700</bug_when>
    <thetext>Created attachment 86487
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>371534</commentid>
    <comment_count>12</comment_count>
      <attachid>86198</attachid>
    <who name="Leandro Graciá Gil">leandrogracia</who>
    <bug_when>2011-03-22 11:55:04 -0700</bug_when>
    <thetext>Comment on attachment 86198
Patch

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

&gt;&gt; Source/WebCore/page/NavigatorUserMediaError.idl:33
&gt;&gt; +    // FIXME: delete this interface and implement a custom binding since spec defines it as a NoInterfaceObject.
&gt; 
&gt; Any reason not to do this now?

Fixed for all callback objects. Since the spec is still changing and being discussed we&apos;re delaying the removal of the idl file for NavigatorUserMediaError.

&gt;&gt; Source/WebCore/page/NavigatorUserMediaErrorCallback.cpp:46
&gt;&gt; +// NavigatorUserMediaSuccessCallback and BlobCallback.
&gt; 
&gt; Again, why not do this now?

Done. Check CallbackTask.h file in the new patch.

&gt;&gt; Source/WebCore/page/Page.cpp:858
&gt;&gt; +        m_streamController.set(new StreamController(m_streamClient, mainFrame()-&gt;document()));
&gt; 
&gt; Do you plan to add a runtime flag? Other controller/client features only instantiate the controller when the runtime flag is set, as the controller is otherwsise not used. Make sure that the client is still signalled to shut down, if required, in this case though.
&gt; 
&gt; Also, why doe we use the main frame&apos;s document? How does this work in the case of iframes?

Yes, we plan to add a runtime flag in chromium. The new patch also introduces the EnabledAtRuntime flag to the corresponding idl files.

Fixed the problems with the frame, the security origins and replying using the same execution context that made the call.

&gt;&gt; Source/WebCore/page/Page.h:344
&gt;&gt; +        OwnPtr&lt;StreamController&gt; m_streamController;
&gt; 
&gt; I understand that the spec refers to this as just &apos;Stream&apos;, but the name seems a little vague. Could you use a more descriptive name, or at least add a comment about what kind of stream it is?

This is not a Stream but the class controlling them and acting as an interface to the client. Streams are introduced in bug 56666. In any case, I&apos;ve added a comment in the StreamController.h and Stream.h (next patch) files to make clear that this file is about the Media Stream API.

&gt;&gt; Source/WebCore/page/StreamListener.h:41
&gt;&gt; +// be implemented by both the StreamController and the StreamClientMock.
&gt; 
&gt; I don&apos;t understand this. Can you explain why the mock client would implement this interface?

Fixed. StreamListener removed, as the StreamController is now used directly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>371535</commentid>
    <comment_count>13</comment_count>
    <who name="Leandro Graciá Gil">leandrogracia</who>
    <bug_when>2011-03-22 11:55:37 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; (From update of attachment 86198 [details])
&gt; What spec covers this?  Please update your ChangeLog to explain.
&gt; 
&gt; Also, please use webkit-patch or at least svn-create-patch to create your diffs so the ChangeLogs end up at the top. :)

Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>371536</commentid>
    <comment_count>14</comment_count>
    <who name="Leandro Graciá Gil">leandrogracia</who>
    <bug_when>2011-03-22 11:56:25 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; The WHATWG HTML version does. This was recently changed by Hixie.
&gt; 
&gt; http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html#video-conferencing-and-peer-to-peer-communication

There seem to be no changes regarding the part of the spec implemented here (the getUserMedia method).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>372094</commentid>
    <comment_count>15</comment_count>
      <attachid>86487</attachid>
    <who name="Steve Block">steveblock</who>
    <bug_when>2011-03-23 05:28:45 -0700</bug_when>
    <thetext>Comment on attachment 86487
Patch

This is a huge patch and the bindings stuff will need some careful review. I think it would speed things up to split it into smaller patches ...
- Add the runtime flag
- Add CallbackTask.h and update Blob use it
- Add the JavaScript bindings
- Add the outline of the controller/client

Smaller patches are almost always better!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>372122</commentid>
    <comment_count>16</comment_count>
    <who name="Leandro Graciá Gil">leandrogracia</who>
    <bug_when>2011-03-23 06:53:05 -0700</bug_when>
    <thetext>(In reply to comment #15)
&gt; (From update of attachment 86487 [details])
&gt; This is a huge patch and the bindings stuff will need some careful review. I think it would speed things up to split it into smaller patches ...
&gt; - Add the runtime flag
&gt; - Add CallbackTask.h and update Blob use it
&gt; - Add the JavaScript bindings
&gt; - Add the outline of the controller/client
&gt; 
&gt; Smaller patches are almost always better!

Ok, I&apos;m splitting this in 3 patches:
- Add the runtime flag: https://bugs.webkit.org/show_bug.cgi?id=56921
- Add getUserMedia to the navigator and the required JS bindings: (this bug, updating soon)
- Add the skeleton of MediaStreamController and MediaStreamClient: https://bugs.webkit.org/show_bug.cgi?id=56922

I have also renamed the StreamController and StreamClient classes to MediaStream ones to make their purposes clearer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>372131</commentid>
    <comment_count>17</comment_count>
      <attachid>86614</attachid>
    <who name="Leandro Graciá Gil">leandrogracia</who>
    <bug_when>2011-03-23 07:24:32 -0700</bug_when>
    <thetext>Created attachment 86614
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>372132</commentid>
    <comment_count>18</comment_count>
    <who name="Leandro Graciá Gil">leandrogracia</who>
    <bug_when>2011-03-23 07:25:47 -0700</bug_when>
    <thetext>Split the bug in to three patches (see comment above).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>372134</commentid>
    <comment_count>19</comment_count>
      <attachid>86616</attachid>
    <who name="Leandro Graciá Gil">leandrogracia</who>
    <bug_when>2011-03-23 07:32:24 -0700</bug_when>
    <thetext>Created attachment 86616
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>372135</commentid>
    <comment_count>20</comment_count>
    <who name="Leandro Graciá Gil">leandrogracia</who>
    <bug_when>2011-03-23 07:32:49 -0700</bug_when>
    <thetext>Rebasing to test the bots. No code changes from last patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>372137</commentid>
    <comment_count>21</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-03-23 07:38:50 -0700</bug_when>
    <thetext>Attachment 86616 did not build on chromium:
Build output: http://queues.webkit.org/results/8228780</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>372307</commentid>
    <comment_count>22</comment_count>
      <attachid>86616</attachid>
    <who name="Steve Block">steveblock</who>
    <bug_when>2011-03-23 11:50:34 -0700</bug_when>
    <thetext>Comment on attachment 86616
Patch

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

first couple of comments ...

&gt; Source/WebCore/page/CallbackTask.h:43
&gt; +// Auxiliar template to schedule calls to callbacks using their own script execution context.

&apos;Auxiliary&apos; or just &apos;Helper&apos;

&gt; Source/WebCore/page/CallbackTask.h:73
&gt; +        , m_data(adoptRef(data))

Why are you calling adoptRef() here? adoptRef() is intended for use when an object is first created with &apos;new&apos;. See http://www.webkit.org/coding/RefPtr.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>372334</commentid>
    <comment_count>23</comment_count>
      <attachid>86663</attachid>
    <who name="Leandro Graciá Gil">leandrogracia</who>
    <bug_when>2011-03-23 12:19:20 -0700</bug_when>
    <thetext>Created attachment 86663
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>372337</commentid>
    <comment_count>24</comment_count>
    <who name="Leandro Graciá Gil">leandrogracia</who>
    <bug_when>2011-03-23 12:20:37 -0700</bug_when>
    <thetext>Rebasing, fixing a problem in WebCore.pro and changing raw pointers into PassRefPtr in CallbackTask.h as part of an update to this and 56922.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>372340</commentid>
    <comment_count>25</comment_count>
      <attachid>86616</attachid>
    <who name="Leandro Graciá Gil">leandrogracia</who>
    <bug_when>2011-03-23 12:22:26 -0700</bug_when>
    <thetext>Comment on attachment 86616
Patch

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

&gt;&gt; Source/WebCore/page/CallbackTask.h:43
&gt;&gt; +// Auxiliar template to schedule calls to callbacks using their own script execution context.
&gt; 
&gt; &apos;Auxiliary&apos; or just &apos;Helper&apos;

Fixed.

&gt;&gt; Source/WebCore/page/CallbackTask.h:73
&gt;&gt; +        , m_data(adoptRef(data))
&gt; 
&gt; Why are you calling adoptRef() here? adoptRef() is intended for use when an object is first created with &apos;new&apos;. See http://www.webkit.org/coding/RefPtr.html

Fixed. Was part of a temporary fix to avoid cycles while including.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>372381</commentid>
    <comment_count>26</comment_count>
      <attachid>86676</attachid>
    <who name="Leandro Graciá Gil">leandrogracia</who>
    <bug_when>2011-03-23 13:05:03 -0700</bug_when>
    <thetext>Created attachment 86676
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>372382</commentid>
    <comment_count>27</comment_count>
    <who name="Leandro Graciá Gil">leandrogracia</who>
    <bug_when>2011-03-23 13:05:45 -0700</bug_when>
    <thetext>(In reply to comment #26)
&gt; Created an attachment (id=86676) [details]
&gt; Patch

Added missing virtual destructors to JavaScriptCore custom binding headers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>372744</commentid>
    <comment_count>28</comment_count>
      <attachid>86676</attachid>
    <who name="Steve Block">steveblock</who>
    <bug_when>2011-03-24 04:40:27 -0700</bug_when>
    <thetext>Comment on attachment 86676
Patch

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

I think we can avoid the need for any custom callbacks. See Bug 40065.

Also, you should add some tests for the bindings. See LayoutTests/fast/dom/Geolocation/enabled.html and LayoutTests/fast/dom/Geolocation/argument-types.html for example.

&gt; Source/WebCore/bindings/js/JSNavigatorCustom.cpp:50
&gt; +    // FIXME: This check disallows callable objects created via JSC API. It&apos;s not clear what exactly the specification intends to allow.

A FIXME is OK here for now, but add a link to https://bugs.webkit.org/show_bug.cgi?id=40012

&gt; Source/WebCore/bindings/js/JSNavigatorCustom.cpp:62
&gt; +    // Argument is optional (hence undefined is allowed), and null is allowed.

Are you sure that null is allowed? I don&apos;t see this in the spec.

&gt; Source/WebCore/page/NavigatorUserMediaError.idl:33
&gt; +    // FIXME: delete this interface and implement a custom binding since spec defines it as a NoInterfaceObject.

I don&apos;t think that it being marked NoInterfaceObject means that it needs to have custom bindings. It just means that the constructor object shouldn&apos;t appear on the global object. You should add a test for this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>378018</commentid>
    <comment_count>29</comment_count>
      <attachid>87905</attachid>
    <who name="Leandro Graciá Gil">leandrogracia</who>
    <bug_when>2011-04-01 13:13:12 -0700</bug_when>
    <thetext>Created attachment 87905
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>378020</commentid>
    <comment_count>30</comment_count>
      <attachid>86676</attachid>
    <who name="Leandro Graciá Gil">leandrogracia</who>
    <bug_when>2011-04-01 13:14:25 -0700</bug_when>
    <thetext>Comment on attachment 86676
Patch

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

&gt;&gt; Source/WebCore/bindings/js/JSNavigatorCustom.cpp:50
&gt;&gt; +    // FIXME: This check disallows callable objects created via JSC API. It&apos;s not clear what exactly the specification intends to allow.
&gt; 
&gt; A FIXME is OK here for now, but add a link to https://bugs.webkit.org/show_bug.cgi?id=40012

Fixed.

&gt;&gt; Source/WebCore/bindings/js/JSNavigatorCustom.cpp:62
&gt;&gt; +    // Argument is optional (hence undefined is allowed), and null is allowed.
&gt; 
&gt; Are you sure that null is allowed? I don&apos;t see this in the spec.

Fixed.

&gt;&gt; Source/WebCore/page/NavigatorUserMediaError.idl:33
&gt;&gt; +    // FIXME: delete this interface and implement a custom binding since spec defines it as a NoInterfaceObject.
&gt; 
&gt; I don&apos;t think that it being marked NoInterfaceObject means that it needs to have custom bindings. It just means that the constructor object shouldn&apos;t appear on the global object. You should add a test for this.

Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>378760</commentid>
    <comment_count>31</comment_count>
      <attachid>87905</attachid>
    <who name="Steve Block">steveblock</who>
    <bug_when>2011-04-04 06:37:22 -0700</bug_when>
    <thetext>Comment on attachment 87905
Patch

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

Need to update the Android makefiles and fix the EFL build.

I don&apos;t see a test for that fact that NavigatorUserMediaError is marked NoInterfaceObject? Also, can you add a test that navigator.webkitGetUserMedia() is present and enumerable, like fast/dom/Geolocation/enabled.html.

&gt; LayoutTests/fast/dom/MediaStream/script-tests/argument-types.js:16
&gt; +            shouldThrow(expression, &apos;(function() { return &quot;&apos; + expectedException + &apos;&quot;; })();&apos;);

Do you use this functionality?

&gt; LayoutTests/fast/dom/MediaStream/script-tests/argument-types.js:76
&gt; +test(&apos;navigator.webkitGetUserMedia(&quot;video&quot;, emptyFunction, -Infinity)&apos;, true);

I don&apos;t think that any of these should throw, other than the one using objectThrowingException. I think the argument should just get converted to a string using the normal JS conversions.

&gt; Source/WebCore/DerivedSources.make:780
&gt; +endif

Usually we add new files to the makefiles for all ports, but leave it up to that port to add the machinery for flags etc.

&gt; Source/WebCore/bindings/v8/custom/V8NavigatorCustom.cpp:4
&gt; + * Redistribution and use in source and binary forms, with or without

Wrong license - http://trac.webkit.org/browser/trunk/Source/WebKit/LICENSE - throughout

&gt; Source/WebCore/bindings/v8/custom/V8NavigatorCustom.cpp:48
&gt; +static void throwTypeMismatchException()

This function and constant are copied from Geolocation, right? Is it used elsewhere too? It would be good to move it to a common place and share it. Maybe do this as a separate patch to keep this one manageable.

&gt; Source/WebCore/bindings/v8/custom/V8NavigatorCustom.cpp:53
&gt; +static PassRefPtr&lt;NavigatorUserMediaSuccessCallback&gt; createNavigatorUserMediaSuccessCallback(v8::Local&lt;v8::Value&gt; value, bool&amp; succeeded)

This method and the one below are very similar to each other and to corresponding methods in Geolocation. How about we factor them out by adding allowNull and allowUndefined arguments? Are there other places in existing code that could use such helpers?

&gt; Source/WebCore/bindings/v8/custom/V8NavigatorCustom.cpp:97
&gt; +    if (!succeeded || !successCallback)

Is the check for successCallback required? Can V8NavigatorUserMediaSuccessCallback::create return 0?

&gt; Source/WebCore/page/CallbackTask.h:84
&gt; +class CallbackTask2 : public ScriptExecutionContext::Task {

It looks like CallbackTask2 isn&apos;t used in this patch? Also, it&apos;s not clear from this patch why the error callback needs to implement CallbackTask1::Scheduler, as the functionality isn&apos;t used yet.

I think it&apos;s better to take CallbackTask out of this patch. It can then be added separately before we add the UserMedia functionality that actually requires it.

&gt; Source/WebCore/page/NavigatorUserMediaError.h:49
&gt; +    unsigned short code() const { return m_code; }

The constructor param and this getter should use the enum type.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>378772</commentid>
    <comment_count>32</comment_count>
      <attachid>87905</attachid>
    <who name="John Knottenbelt">jknotten</who>
    <bug_when>2011-04-04 07:19:04 -0700</bug_when>
    <thetext>Comment on attachment 87905
Patch

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

&gt;&gt; LayoutTests/fast/dom/MediaStream/script-tests/argument-types.js:76

&gt; 
&gt; I don&apos;t think that any of these should throw, other than the one using objectThrowingException. I think the argument should just get converted to a string using the normal JS conversions.

The IDL type of the third argument is &quot;in optional NavigatorUserMediaErrorCallback&quot;, which is a function only interface. It&apos;s my understanding that string type should not be compatible with this, unless I am mistaken?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>378778</commentid>
    <comment_count>33</comment_count>
      <attachid>87905</attachid>
    <who name="Steve Block">steveblock</who>
    <bug_when>2011-04-04 07:24:33 -0700</bug_when>
    <thetext>Comment on attachment 87905
Patch

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

&gt; LayoutTests/fast/dom/MediaStream/script-tests/argument-types.js:35
&gt; +// 1 Argument

Maybe add a comment that the reason all these throw is not due to the type conversion, but simply because the API requires 2 arguments. Test with emptyFunction too for completeness.

&gt; LayoutTests/fast/dom/MediaStream/script-tests/argument-types.js:40
&gt; +test(&apos;navigator.webkitGetUserMedia(&quot;video&quot;)&apos;, true);

Could use &quot;video&quot; for the other arguments below, too.

&gt; LayoutTests/fast/dom/MediaStream/script-tests/argument-types.js:52
&gt; +test(&apos;navigator.webkitGetUserMedia(objectThrowingException, emptyFunction)&apos;, false);

Shouldn&apos;t this one throw &apos;valueOf threw exception&apos;? Or does toString() not use valueOf()? Maybe try an object with a custom toString() that throws?

&gt;&gt; LayoutTests/fast/dom/MediaStream/script-tests/argument-types.js:76
&gt;&gt; +test(&apos;navigator.webkitGetUserMedia(&quot;video&quot;, emptyFunction, -Infinity)&apos;, true);
&gt; 
&gt; I don&apos;t think that any of these should throw, other than the one using objectThrowingException. I think the argument should just get converted to a string using the normal JS conversions.

Sorry, just realised that this comment is wrong - ignore it. I was getting confused with the Geolocation API.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>381335</commentid>
    <comment_count>34</comment_count>
      <attachid>88637</attachid>
    <who name="Leandro Graciá Gil">leandrogracia</who>
    <bug_when>2011-04-07 07:49:45 -0700</bug_when>
    <thetext>Created attachment 88637
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>381338</commentid>
    <comment_count>35</comment_count>
      <attachid>87905</attachid>
    <who name="Leandro Graciá Gil">leandrogracia</who>
    <bug_when>2011-04-07 07:51:20 -0700</bug_when>
    <thetext>Comment on attachment 87905
Patch

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

&gt;&gt; LayoutTests/fast/dom/MediaStream/script-tests/argument-types.js:16
&gt;&gt; +            shouldThrow(expression, &apos;(function() { return &quot;&apos; + expectedException + &apos;&quot;; })();&apos;);
&gt; 
&gt; Do you use this functionality?

We use it now. Fixed.

&gt;&gt; LayoutTests/fast/dom/MediaStream/script-tests/argument-types.js:35
&gt;&gt; +// 1 Argument
&gt; 
&gt; Maybe add a comment that the reason all these throw is not due to the type conversion, but simply because the API requires 2 arguments. Test with emptyFunction too for completeness.

Fixed.

&gt;&gt; LayoutTests/fast/dom/MediaStream/script-tests/argument-types.js:40
&gt;&gt; +test(&apos;navigator.webkitGetUserMedia(&quot;video&quot;)&apos;, true);
&gt; 
&gt; Could use &quot;video&quot; for the other arguments below, too.

Fixed.

&gt;&gt; LayoutTests/fast/dom/MediaStream/script-tests/argument-types.js:52
&gt;&gt; +test(&apos;navigator.webkitGetUserMedia(objectThrowingException, emptyFunction)&apos;, false);
&gt; 
&gt; Shouldn&apos;t this one throw &apos;valueOf threw exception&apos;? Or does toString() not use valueOf()? Maybe try an object with a custom toString() that throws?

Fixed.

&gt;&gt; Source/WebCore/DerivedSources.make:780
&gt;&gt; +endif
&gt; 
&gt; Usually we add new files to the makefiles for all ports, but leave it up to that port to add the machinery for flags etc.

Fixed.

&gt;&gt; Source/WebCore/bindings/v8/custom/V8NavigatorCustom.cpp:4
&gt;&gt; + * Redistribution and use in source and binary forms, with or without
&gt; 
&gt; Wrong license - http://trac.webkit.org/browser/trunk/Source/WebKit/LICENSE - throughout

Fixed.

&gt;&gt; Source/WebCore/bindings/v8/custom/V8NavigatorCustom.cpp:48
&gt;&gt; +static void throwTypeMismatchException()
&gt; 
&gt; This function and constant are copied from Geolocation, right? Is it used elsewhere too? It would be good to move it to a common place and share it. Maybe do this as a separate patch to keep this one manageable.

Fixed. Integrating into V8Utilities in https://bugs.webkit.org/show_bug.cgi?id=57760.

&gt;&gt; Source/WebCore/bindings/v8/custom/V8NavigatorCustom.cpp:53
&gt;&gt; +static PassRefPtr&lt;NavigatorUserMediaSuccessCallback&gt; createNavigatorUserMediaSuccessCallback(v8::Local&lt;v8::Value&gt; value, bool&amp; succeeded)
&gt; 
&gt; This method and the one below are very similar to each other and to corresponding methods in Geolocation. How about we factor them out by adding allowNull and allowUndefined arguments? Are there other places in existing code that could use such helpers?

Fixed. Integrating into V8Utilities in https://bugs.webkit.org/show_bug.cgi?id=57760.

&gt;&gt; Source/WebCore/bindings/v8/custom/V8NavigatorCustom.cpp:97
&gt;&gt; +    if (!succeeded || !successCallback)
&gt; 
&gt; Is the check for successCallback required? Can V8NavigatorUserMediaSuccessCallback::create return 0?

Fixed.

&gt;&gt; Source/WebCore/page/CallbackTask.h:84
&gt;&gt; +class CallbackTask2 : public ScriptExecutionContext::Task {
&gt; 
&gt; It looks like CallbackTask2 isn&apos;t used in this patch? Also, it&apos;s not clear from this patch why the error callback needs to implement CallbackTask1::Scheduler, as the functionality isn&apos;t used yet.
&gt; 
&gt; I think it&apos;s better to take CallbackTask out of this patch. It can then be added separately before we add the UserMedia functionality that actually requires it.

Fixed.

&gt;&gt; Source/WebCore/page/NavigatorUserMediaError.h:49
&gt;&gt; +    unsigned short code() const { return m_code; }
&gt; 
&gt; The constructor param and this getter should use the enum type.

Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>381339</commentid>
    <comment_count>36</comment_count>
    <who name="Leandro Graciá Gil">leandrogracia</who>
    <bug_when>2011-04-07 07:51:53 -0700</bug_when>
    <thetext>(In reply to comment #31)
&gt; (From update of attachment 87905 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=87905&amp;action=review
&gt; 
&gt; Need to update the Android makefiles and fix the EFL build.
&gt; 
&gt; I don&apos;t see a test for that fact that NavigatorUserMediaError is marked NoInterfaceObject? Also, can you add a test that navigator.webkitGetUserMedia() is present and enumerable, like fast/dom/Geolocation/enabled.html.
&gt; 

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>382102</commentid>
    <comment_count>37</comment_count>
      <attachid>88637</attachid>
    <who name="Steve Block">steveblock</who>
    <bug_when>2011-04-08 02:36:37 -0700</bug_when>
    <thetext>Comment on attachment 88637
Patch

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

&gt; LayoutTests/fast/dom/MediaStream/script-tests/enabled.js:3
&gt; +function hasGeolocationProperty()

Geolocation ?!

&gt; Source/WebCore/bindings/js/JSNavigatorCustom.cpp:54
&gt; +    if (exec-&gt;hadException() || !successCallback)

Do you need to check !successCallback? checkFunctionOnlyCallback is called with no flags so will only return null when it sets an exception. Can JSNavigatorUserMediaSuccessCallback::create() return null?

&gt; Source/WebCore/page/NavigatorUserMediaError.h:37
&gt; +        PERMISSION_DENIED = 1

Maybe add a comment that these values need to kept in sync with those in the IDL?

&gt; Source/WebCore/page/NavigatorUserMediaSuccessCallback.idl:2
&gt; + * Copyright (C) 2011 Apple Inc. All rights reserved.

Google Inc - throughout</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>382131</commentid>
    <comment_count>38</comment_count>
      <attachid>88795</attachid>
    <who name="Leandro Graciá Gil">leandrogracia</who>
    <bug_when>2011-04-08 04:04:30 -0700</bug_when>
    <thetext>Created attachment 88795
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>382132</commentid>
    <comment_count>39</comment_count>
      <attachid>88637</attachid>
    <who name="Leandro Graciá Gil">leandrogracia</who>
    <bug_when>2011-04-08 04:04:58 -0700</bug_when>
    <thetext>Comment on attachment 88637
Patch

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

&gt;&gt; LayoutTests/fast/dom/MediaStream/script-tests/enabled.js:3
&gt;&gt; +function hasGeolocationProperty()
&gt; 
&gt; Geolocation ?!

Sorry, I missed that one. Fixed.

&gt;&gt; Source/WebCore/bindings/js/JSNavigatorCustom.cpp:54
&gt;&gt; +    if (exec-&gt;hadException() || !successCallback)
&gt; 
&gt; Do you need to check !successCallback? checkFunctionOnlyCallback is called with no flags so will only return null when it sets an exception. Can JSNavigatorUserMediaSuccessCallback::create() return null?

Fixed.

&gt;&gt; Source/WebCore/page/NavigatorUserMediaError.h:37
&gt;&gt; +        PERMISSION_DENIED = 1
&gt; 
&gt; Maybe add a comment that these values need to kept in sync with those in the IDL?

Fixed.

&gt;&gt; Source/WebCore/page/NavigatorUserMediaSuccessCallback.idl:2
&gt;&gt; + * Copyright (C) 2011 Apple Inc. All rights reserved.
&gt; 
&gt; Google Inc - throughout

Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>382133</commentid>
    <comment_count>40</comment_count>
      <attachid>88795</attachid>
    <who name="Steve Block">steveblock</who>
    <bug_when>2011-04-08 04:07:11 -0700</bug_when>
    <thetext>Comment on attachment 88795
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>382142</commentid>
    <comment_count>41</comment_count>
      <attachid>88795</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-04-08 04:23:52 -0700</bug_when>
    <thetext>Comment on attachment 88795
Patch

Rejecting attachment 88795 from commit-queue.

Failed to run &quot;[&apos;./Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;--bot-id=cr-jail-3&apos;, &apos;apply-...&quot; exit_code: 2

Last 500 characters of output:
/NavigatorUserMediaError.h
patching file Source/WebCore/page/NavigatorUserMediaError.idl
patching file Source/WebCore/page/NavigatorUserMediaErrorCallback.h
patching file Source/WebCore/page/NavigatorUserMediaErrorCallback.idl
patching file Source/WebCore/page/NavigatorUserMediaSuccessCallback.h
patching file Source/WebCore/page/NavigatorUserMediaSuccessCallback.idl

Failed to run &quot;[u&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/svn-apply&apos;, u&apos;--reviewer&apos;, u&apos;Steve Block&apos;, u&apos;--force&apos;]&quot; exit_code: 1

Full output: http://queues.webkit.org/results/8373497</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>382147</commentid>
    <comment_count>42</comment_count>
      <attachid>88798</attachid>
    <who name="Leandro Graciá Gil">leandrogracia</who>
    <bug_when>2011-04-08 04:40:59 -0700</bug_when>
    <thetext>Created attachment 88798
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>382149</commentid>
    <comment_count>43</comment_count>
      <attachid>88798</attachid>
    <who name="Leandro Graciá Gil">leandrogracia</who>
    <bug_when>2011-04-08 04:41:39 -0700</bug_when>
    <thetext>Comment on attachment 88798
Patch

Rebased.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>382150</commentid>
    <comment_count>44</comment_count>
      <attachid>88798</attachid>
    <who name="Steve Block">steveblock</who>
    <bug_when>2011-04-08 04:42:20 -0700</bug_when>
    <thetext>Comment on attachment 88798
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>382151</commentid>
    <comment_count>45</comment_count>
      <attachid>88798</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-04-08 04:45:05 -0700</bug_when>
    <thetext>Comment on attachment 88798
Patch

Rejecting attachment 88798 from commit-queue.

Failed to run &quot;[&apos;./Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;--bot-id=cr-jail-7&apos;, &apos;apply-...&quot; exit_code: 2

Last 500 characters of output:
/NavigatorUserMediaError.h
patching file Source/WebCore/page/NavigatorUserMediaError.idl
patching file Source/WebCore/page/NavigatorUserMediaErrorCallback.h
patching file Source/WebCore/page/NavigatorUserMediaErrorCallback.idl
patching file Source/WebCore/page/NavigatorUserMediaSuccessCallback.h
patching file Source/WebCore/page/NavigatorUserMediaSuccessCallback.idl

Failed to run &quot;[u&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/svn-apply&apos;, u&apos;--reviewer&apos;, u&apos;Steve Block&apos;, u&apos;--force&apos;]&quot; exit_code: 1

Full output: http://queues.webkit.org/results/8346989</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>382159</commentid>
    <comment_count>46</comment_count>
    <who name="Steve Block">steveblock</who>
    <bug_when>2011-04-08 05:10:20 -0700</bug_when>
    <thetext>Committed r83287: &lt;http://trac.webkit.org/changeset/83287&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>382180</commentid>
    <comment_count>47</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-04-08 05:49:41 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/83287 might have broken Qt Linux Release
The following tests are not passing:
fast/dom/MediaStream/argument-types.html
fast/dom/MediaStream/enabled.html
fast/dom/MediaStream/no-interface-object.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>382194</commentid>
    <comment_count>48</comment_count>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2011-04-08 06:23:49 -0700</bug_when>
    <thetext>(In reply to comment #47)
&gt; http://trac.webkit.org/changeset/83287 might have broken Qt Linux Release
&gt; The following tests are not passing:
&gt; fast/dom/MediaStream/argument-types.html
&gt; fast/dom/MediaStream/enabled.html
&gt; fast/dom/MediaStream/no-interface-object.html

Same for GTK+ bots</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>382196</commentid>
    <comment_count>49</comment_count>
    <who name="Steve Block">steveblock</who>
    <bug_when>2011-04-08 06:28:57 -0700</bug_when>
    <thetext>Leandro is preparing a patch to add these new tests to all the relevant skip lists</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>382208</commentid>
    <comment_count>50</comment_count>
      <attachid>88814</attachid>
    <who name="Leandro Graciá Gil">leandrogracia</who>
    <bug_when>2011-04-08 06:54:20 -0700</bug_when>
    <thetext>Created attachment 88814
Patch

Adding the new tests to the skip lists of all non-chromium platforms as the Media Stream API is not enabled in them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>382211</commentid>
    <comment_count>51</comment_count>
      <attachid>88814</attachid>
    <who name="Steve Block">steveblock</who>
    <bug_when>2011-04-08 07:00:42 -0700</bug_when>
    <thetext>Comment on attachment 88814
Patch

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

&gt; LayoutTests/platform/gtk/Skipped:1384
&gt; +fast/dom/MediaStream/no-interface-object.html

You cna just list fast/dom/MediaStream. Also, be sure to add to the appropriate section of each list (usually something like &apos;unimplemented features&apos;)

&gt; LayoutTests/platform/mac-leopard/Skipped:227
&gt; +fast/dom/MediaStream/no-interface-object.html

No need for this. The skipped lists inherit from each other, so platform-foo inherits everything from platform.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>382219</commentid>
    <comment_count>52</comment_count>
      <attachid>88820</attachid>
    <who name="Leandro Graciá Gil">leandrogracia</who>
    <bug_when>2011-04-08 07:15:52 -0700</bug_when>
    <thetext>Created attachment 88820
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>382220</commentid>
    <comment_count>53</comment_count>
      <attachid>88814</attachid>
    <who name="Leandro Graciá Gil">leandrogracia</who>
    <bug_when>2011-04-08 07:17:18 -0700</bug_when>
    <thetext>Comment on attachment 88814
Patch

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

&gt;&gt; LayoutTests/platform/gtk/Skipped:1384
&gt;&gt; +fast/dom/MediaStream/no-interface-object.html
&gt; 
&gt; You cna just list fast/dom/MediaStream. Also, be sure to add to the appropriate section of each list (usually something like &apos;unimplemented features&apos;)

Fixed.

&gt;&gt; LayoutTests/platform/mac-leopard/Skipped:227
&gt;&gt; +fast/dom/MediaStream/no-interface-object.html
&gt; 
&gt; No need for this. The skipped lists inherit from each other, so platform-foo inherits everything from platform.

Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>382221</commentid>
    <comment_count>54</comment_count>
    <who name="Steve Block">steveblock</who>
    <bug_when>2011-04-08 07:23:18 -0700</bug_when>
    <thetext>Committed r83292: &lt;http://trac.webkit.org/changeset/83292&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>382222</commentid>
    <comment_count>55</comment_count>
      <attachid>88820</attachid>
    <who name="Steve Block">steveblock</who>
    <bug_when>2011-04-08 07:24:07 -0700</bug_when>
    <thetext>Comment on attachment 88820
Patch

Added new tests to skipped lists</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>382267</commentid>
    <comment_count>56</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-04-08 09:03:07 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/83292 might have broken GTK Linux 32-bit Debug</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>86088</attachid>
            <date>2011-03-17 13:53:53 -0700</date>
            <delta_ts>2011-03-18 11:17:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-56586-20110317205351.patch</filename>
            <type>text/plain</type>
            <size>65370</size>
            <attacher name="Leandro Graciá Gil">leandrogracia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQKaW5kZXggYzJjZjg2YjU3M2Q4MzA1OWRjMmQzZjc0ZmFiZmM3ODkw
ZGM1OGFmZi4uNGIzOTUyY2JjODU4ZDg2NmMxYWEyZDljMWI3Y2VkMzdjNTYxMTk2MyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUv
Q01ha2VMaXN0cy50eHQKQEAgLTMzNSw2ICszMzUsOSBAQCBTRVQoV2ViQ29yZV9JRExfRklMRVMK
ICAgICBwYWdlL0xvY2F0aW9uLmlkbAogICAgIHBhZ2UvTWVtb3J5SW5mby5pZGwKICAgICBwYWdl
L05hdmlnYXRvci5pZGwKKyAgICBwYWdlL05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmlkbAorICAg
IHBhZ2UvTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5pZGwKKyAgICBwYWdlL05hdmln
YXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5pZGwKICAgICBwYWdlL1BlcmZvcm1hbmNlLmlk
bAogICAgIHBhZ2UvUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmlkbAogICAgIHBhZ2UvUGVyZm9ybWFu
Y2VUaW1pbmcuaWRsCkBAIC0xMTY2LDYgKzExNjksOCBAQCBTRVQoV2ViQ29yZV9TT1VSQ0VTCiAg
ICAgcGFnZS9Nb3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1bHRzLmNwcAogICAgIHBhZ2UvTmF2aWdh
dG9yLmNwcAogICAgIHBhZ2UvTmF2aWdhdG9yQmFzZS5jcHAKKyAgICBwYWdlL05hdmlnYXRvclVz
ZXJNZWRpYUVycm9yLmNwcAorICAgIHBhZ2UvTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFj
ay5jcHAKICAgICBwYWdlL09yaWdpbkFjY2Vzc0VudHJ5LmNwcAogICAgIHBhZ2UvUGFnZS5jcHAK
ICAgICBwYWdlL1BhZ2VHcm91cC5jcHAKQEAgLTExNzgsNiArMTE4Myw3IEBAIFNFVChXZWJDb3Jl
X1NPVVJDRVMKICAgICBwYWdlL1NjcmVlbi5jcHAKICAgICBwYWdlL1NlY3VyaXR5T3JpZ2luLmNw
cAogICAgIHBhZ2UvU2V0dGluZ3MuY3BwCisgICAgcGFnZS9TdHJlYW1Db250cm9sbGVyLmNwcAog
ICAgIHBhZ2UvU3BhdGlhbE5hdmlnYXRpb24uY3BwCiAgICAgcGFnZS9TdXNwZW5kYWJsZVRpbWVy
LmNwcAogICAgIHBhZ2UvVXNlckNvbnRlbnRVUkxQYXR0ZXJuLmNwcApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDhl
MDQ4MGZjYzViNTZmZjE5MGEzYzI2YjUxNjYyNWY2ZTI5NmRiMWUuLmJmZGY3YzExMTI4NTBiZmY5
ZDIyNDdjZTNjMGJkN2Y3NmM5YjQ4N2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTIsNiArMiw2MiBAQAogCiAg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgogCisgICAgICAgIE1lZGlhIFN0cmVh
bSBBUEkgcGF0Y2ggMTogYWRkaW5nIHRoZSBnZXRVc2VyTWVkaWEgbWV0aG9kIGFuZCB0aGUgYmFz
aWMgc2tlbGV0b24uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD01NjU4NgorCisgICAgICAgIEFkZCB0aGUgZ2V0VXNlck1lZGlhIG1ldGhvZCB0byB0aGUg
bmF2aWdhdG9yIGFsb25nIGl0cyBlcnJvciBhbmQgY2FsbGJhY2sgSlMgdHlwZXMKKyAgICAgICAg
YW5kIHRoZSBiYXNpYyBza2VsZXRvbiBmb3IgdGhlIHN0cmVhbSBjb250cm9sbGVyIGFuZCB0aGUg
Y2xpZW50IGFuZCBsaXN0ZW5lciBpbnRlcmZhY2VzLgorCisgICAgICAgIFRlc3RzIHdpbGwgYmUg
cHJvdmlkZWQgYnkgdGhlIGJ1ZyA1NjU4NyB0b2dldGhlciB3aXRoIHRoZSBMYXlvdXRUZXN0Q29u
dHJvbGxlciBhbmQgY2xpZW50IG1vY2sgY29kZS4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0
OgorICAgICAgICAqIENvZGVHZW5lcmF0b3JzLnByaToKKyAgICAgICAgKiBEZXJpdmVkU291cmNl
cy5jcHA6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBHTlVtYWtl
ZmlsZS5hbToKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogV2ViQ29yZS5wcm86
CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6CisgICAgICAgICogV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIHBhZ2UvTmF2aWdhdG9y
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRvcjo6Z2V0VXNlck1lZGlhKToKKyAgICAg
ICAgKiBwYWdlL05hdmlnYXRvci5oOgorICAgICAgICAqIHBhZ2UvTmF2aWdhdG9yLmlkbDoKKyAg
ICAgICAgKiBwYWdlL05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmg6IEFkZGVkLgorICAgICAgICAo
V2ViQ29yZTo6TmF2aWdhdG9yVXNlck1lZGlhRXJyb3I6Ok5hdmlnYXRvclVzZXJNZWRpYUVycm9y
KToKKyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRvclVzZXJNZWRpYUVycm9yOjp+TmF2aWdhdG9y
VXNlck1lZGlhRXJyb3IpOgorICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdG9yVXNlck1lZGlhRXJy
b3I6OmNvZGUpOgorICAgICAgICAqIHBhZ2UvTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuaWRsOiBB
ZGRlZC4KKyAgICAgICAgKiBwYWdlL05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2suY3Bw
OiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJh
Y2s6OnNjaGVkdWxlQ2FsbGJhY2spOgorICAgICAgICAqIHBhZ2UvTmF2aWdhdG9yVXNlck1lZGlh
RXJyb3JDYWxsYmFjay5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRvclVzZXJN
ZWRpYUVycm9yQ2FsbGJhY2s6On5OYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrKToKKyAg
ICAgICAgKiBwYWdlL05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2suaWRsOiBBZGRlZC4K
KyAgICAgICAgKiBwYWdlL05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5oOiBBZGRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjazo6
fk5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjayk6CisgICAgICAgICogcGFnZS9OYXZp
Z2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suaWRsOiBBZGRlZC4KKyAgICAgICAgKiBwYWdl
L1BhZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6UGFnZSk6CisgICAgICAgIChXZWJD
b3JlOjpQYWdlOjpzdHJlYW1Db250cm9sbGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OlBh
Z2VDbGllbnRzOjpQYWdlQ2xpZW50cyk6CisgICAgICAgICogcGFnZS9QYWdlLmg6CisgICAgICAg
ICogcGFnZS9TdHJlYW1DbGllbnQuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpTdHJlYW1D
bGllbnQ6On5TdHJlYW1DbGllbnQpOgorICAgICAgICAqIHBhZ2UvU3RyZWFtQ29udHJvbGxlci5j
cHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6U3RyZWFtQ29udHJvbGxlcjo6U3RyZWFtQ29u
dHJvbGxlcik6CisgICAgICAgIChXZWJDb3JlOjpTdHJlYW1Db250cm9sbGVyOjp+U3RyZWFtQ29u
dHJvbGxlcik6CisgICAgICAgIChXZWJDb3JlOjpTdHJlYW1Db250cm9sbGVyOjpnZW5lcmF0ZVN0
cmVhbSk6CisgICAgICAgIChXZWJDb3JlOjpTdHJlYW1Db250cm9sbGVyOjpzdHJlYW1HZW5lcmF0
ZWQpOgorICAgICAgICAoV2ViQ29yZTo6U3RyZWFtQ29udHJvbGxlcjo6c3RyZWFtR2VuZXJhdGlv
bkZhaWxlZCk6CisgICAgICAgIChXZWJDb3JlOjpTdHJlYW1Db250cm9sbGVyOjpTdHJlYW1SZXF1
ZXN0OjpTdHJlYW1SZXF1ZXN0KToKKyAgICAgICAgKiBwYWdlL1N0cmVhbUNvbnRyb2xsZXIuaDog
QWRkZWQuCisgICAgICAgICogcGFnZS9TdHJlYW1MaXN0ZW5lci5oOiBBZGRlZC4KKyAgICAgICAg
KFdlYkNvcmU6OlN0cmVhbUxpc3RlbmVyOjp+U3RyZWFtTGlzdGVuZXIpOgorCisyMDExLTAzLTE3
ICBMZWFuZHJvIEdyYWNpYSBHaWwgIDxsZWFuZHJvZ3JhY2lhQGNocm9taXVtLm9yZz4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwogICAgICAgICBVc2VyIG1lZGlhIHZp
ZGVvY29uZmVyZW5jaW5nIHBhdGNoIDA6IGFkZGluZyBjb21waWxhdGlvbiBndWFyZHMuCiAgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NjQ1OAogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Db2RlR2VuZXJhdG9ycy5wcmkgYi9Tb3VyY2UvV2ViQ29y
ZS9Db2RlR2VuZXJhdG9ycy5wcmkKaW5kZXggZjEwYzgxYWUwNDY4YTUzMjU0YWIzYTk0MTFhYzMz
YjdmMTc5MmZiOC4uODUyNmY2MzIyMDE1MmI5ODcwZGY0MmQxM2M1NjdkZjcyMjZlNDJmZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ29kZUdlbmVyYXRvcnMucHJpCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL0NvZGVHZW5lcmF0b3JzLnByaQpAQCAtMzI2LDYgKzMyNiw5IEBAIElETF9CSU5ESU5H
UyArPSBcCiAgICAgcGFnZS9Mb2NhdGlvbi5pZGwgXAogICAgIHBhZ2UvTWVtb3J5SW5mby5pZGwg
XAogICAgIHBhZ2UvTmF2aWdhdG9yLmlkbCBcCisgICAgcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFF
cnJvci5pZGwgXAorICAgIHBhZ2UvTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5pZGwg
XAorICAgIHBhZ2UvTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmlkbCBcCiAgICAg
cGFnZS9QZXJmb3JtYW5jZS5pZGwgXAogICAgIHBhZ2UvUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmlk
bCBcCiAgICAgcGFnZS9QZXJmb3JtYW5jZVRpbWluZy5pZGwgXApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMuY3BwCmluZGV4IDI0MDIyZjc0ZWY2Yjg4MjM3YWViZmJlNTk4MDhjM2JhNDc3YmZlODIuLjJj
YWU4MGMzZTI2MjcwNjJmZWFlODJjZWU4YmFiYmFhYjEwODA2NmIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy5jcHAKQEAgLTI0NSw2ICsyNDUsOSBAQAogI2luY2x1ZGUgIkpTTXV0YXRpb25FdmVu
dC5jcHAiCiAjaW5jbHVkZSAiSlNOYW1lZE5vZGVNYXAuY3BwIgogI2luY2x1ZGUgIkpTTmF2aWdh
dG9yLmNwcCIKKyNpbmNsdWRlICJKU05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmNwcCIKKyNpbmNs
dWRlICJKU05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2suY3BwIgorI2luY2x1ZGUgIkpT
TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmNwcCIKICNpbmNsdWRlICJKU05vZGUu
Y3BwIgogI2luY2x1ZGUgIkpTTm9kZUZpbHRlci5jcHAiCiAjaW5jbHVkZSAiSlNOb2RlSXRlcmF0
b3IuY3BwIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBi
L1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggYjYyMDAyZDRjYTc0N2Zl
YjI3ZTcwNzdhODUzNGMyYTQ0NjFkODgwZS4uMjU4NjU0MDczZmQzMjFkY2JlMjc1OWVlOTIyM2U4
YmMzYjU5ZmJiNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFr
ZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC0zMDcsNiArMzA3
LDkgQEAgRE9NX0NMQVNTRVMgPSBcCiAgICAgTXV0YXRpb25FdmVudCBcCiAgICAgTmFtZWROb2Rl
TWFwIFwKICAgICBOYXZpZ2F0b3IgXAorICAgIE5hdmlnYXRvclVzZXJNZWRpYUVycm9yIFwKKyAg
ICBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrIFwKKyAgICBOYXZpZ2F0b3JVc2VyTWVk
aWFTdWNjZXNzQ2FsbGJhY2sgXAogICAgIE5vZGUgXAogICAgIE5vZGVGaWx0ZXIgXAogICAgIE5v
ZGVJdGVyYXRvciBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbSBi
L1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCmluZGV4IGJhMDNhNTBiZWRiODNhMmJmNjUx
MzI3NGRkNjk3Mzg0MmIyZmFhOGYuLjllZmQ0ZWNjMDYyNTg1ZWYzYjdkMGM0MzRjMGUxNTUyZWQ3
NjhhYzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCkBAIC00NzAsNiArNDcwLDEyIEBAIHdlYmNvcmVf
YnVpbHRfc291cmNlcyArPSBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05hbWVkTm9kZU1h
cC5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTmF2aWdhdG9yLmNwcCBcCiAJRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU05hdmlnYXRvci5oIFwKKwlEZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuY3BwIFwKKwlEZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuaCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2suY3BwIFwKKwlEZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5oIFwKKwlEZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmNwcCBcCisJ
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFj
ay5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTm9kZS5jcHAgXAogCURlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNOb2RlRmlsdGVyLmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U05vZGVGaWx0ZXIuaCBcCkBAIC0yMjY2LDYgKzIyNzIsMTEgQEAgd2ViY29yZV9zb3VyY2VzICs9
IFwKIAlTb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvci5oIFwKIAlTb3VyY2UvV2ViQ29yZS9w
YWdlL05hdmlnYXRvckJhc2UuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvckJh
c2UuaCBcCisJU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5jcHAg
XAorCVNvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuaCBcCisJU291
cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmNwcCBcCisJ
U291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmggXAor
CVNvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmgg
XAogCVNvdXJjZS9XZWJDb3JlL3BhZ2UvT3JpZ2luQWNjZXNzRW50cnkuY3BwIFwKIAlTb3VyY2Uv
V2ViQ29yZS9wYWdlL09yaWdpbkFjY2Vzc0VudHJ5LmggXAogCVNvdXJjZS9XZWJDb3JlL3BhZ2Uv
UGFnZS5jcHAgXApAQCAtMjMwOCw2ICsyMzE5LDEwIEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJ
U291cmNlL1dlYkNvcmUvcGFnZS9TcGVlY2hJbnB1dFJlc3VsdC5oIFwKIAlTb3VyY2UvV2ViQ29y
ZS9wYWdlL1NwZWVjaElucHV0UmVzdWx0TGlzdC5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3BhZ2Uv
U3BlZWNoSW5wdXRSZXN1bHRMaXN0LmggXAorCVNvdXJjZS9XZWJDb3JlL3BhZ2UvU3RyZWFtQ2xp
ZW50LmggXAorCVNvdXJjZS9XZWJDb3JlL3BhZ2UvU3RyZWFtQ29udHJvbGxlci5jcHAgXAorCVNv
dXJjZS9XZWJDb3JlL3BhZ2UvU3RyZWFtQ29udHJvbGxlci5oIFwKKwlTb3VyY2UvV2ViQ29yZS9w
YWdlL1N0cmVhbUxpc3RlbmVyLmggXAogCVNvdXJjZS9XZWJDb3JlL3BhZ2UvU3VzcGVuZGFibGVU
aW1lci5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3BhZ2UvU3VzcGVuZGFibGVUaW1lci5oIFwKIAlT
b3VyY2UvV2ViQ29yZS9wYWdlL1VzZXJDb250ZW50VHlwZXMuaCBcCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5k
ZXggYmIzOWI2YjhhZTE0YjIxY2QyMjI5NGM1YjYzMmI4MDFjMWVkOWRiNy4uNzg0NDU5NjFjMWY0
Njg5MzhjZDhkNmM3NjIxMjEyZjU2ODg2MGI1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS5neXBpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtMjY4LDYg
KzI2OCw5IEBACiAgICAgICAgICAgICAncGFnZS9Mb2NhdGlvbi5pZGwnLAogICAgICAgICAgICAg
J3BhZ2UvTWVtb3J5SW5mby5pZGwnLAogICAgICAgICAgICAgJ3BhZ2UvTmF2aWdhdG9yLmlkbCcs
CisgICAgICAgICAgICAncGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5pZGwnLAorICAgICAg
ICAgICAgJ3BhZ2UvTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5pZGwnLAorICAgICAg
ICAgICAgJ3BhZ2UvTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmlkbCcsCiAgICAg
ICAgICAgICAncGFnZS9QZXJmb3JtYW5jZS5pZGwnLAogICAgICAgICAgICAgJ3BhZ2UvUGVyZm9y
bWFuY2VOYXZpZ2F0aW9uLmlkbCcsCiAgICAgICAgICAgICAncGFnZS9QZXJmb3JtYW5jZVRpbWlu
Zy5pZGwnLApAQCAtMjYxMiw2ICsyNjE1LDEwIEBACiAgICAgICAgICAgICAncGFnZS9OYXZpZ2F0
b3IuaCcsCiAgICAgICAgICAgICAncGFnZS9OYXZpZ2F0b3JCYXNlLmNwcCcsCiAgICAgICAgICAg
ICAncGFnZS9OYXZpZ2F0b3JCYXNlLmgnLAorICAgICAgICAgICAgJ3BhZ2UvTmF2aWdhdG9yVXNl
ck1lZGlhRXJyb3IuaCcsCisgICAgICAgICAgICAncGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFFcnJv
ckNhbGxiYWNrLmNwcCcsCisgICAgICAgICAgICAncGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFFcnJv
ckNhbGxiYWNrLmgnLAorICAgICAgICAgICAgJ3BhZ2UvTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vz
c0NhbGxiYWNrLmgnLAogICAgICAgICAgICAgJ3BhZ2UvT3JpZ2luQWNjZXNzRW50cnkuY3BwJywK
ICAgICAgICAgICAgICdwYWdlL09yaWdpbkFjY2Vzc0VudHJ5LmgnLAogICAgICAgICAgICAgJ3Bh
Z2UvUGFnZS5jcHAnLApAQCAtMjY1NCw2ICsyNjYxLDEwIEBACiAgICAgICAgICAgICAncGFnZS9T
cGVlY2hJbnB1dFJlc3VsdC5oJywKICAgICAgICAgICAgICdwYWdlL1NwZWVjaElucHV0UmVzdWx0
TGlzdC5jcHAnLAogICAgICAgICAgICAgJ3BhZ2UvU3BlZWNoSW5wdXRSZXN1bHRMaXN0LmgnLAor
ICAgICAgICAgICAgJ3BhZ2UvU3RyZWFtQ2xpZW50LmgnLAorICAgICAgICAgICAgJ3BhZ2UvU3Ry
ZWFtTGlzdGVuZXIuaCcsCisgICAgICAgICAgICAncGFnZS9TdHJlYW1Db250cm9sbGVyLmNwcCcs
CisgICAgICAgICAgICAncGFnZS9TdHJlYW1Db250cm9sbGVyLmgnLAogICAgICAgICAgICAgJ3Bh
Z2UvU3VzcGVuZGFibGVUaW1lci5jcHAnLAogICAgICAgICAgICAgJ3BhZ2UvU3VzcGVuZGFibGVU
aW1lci5oJywKICAgICAgICAgICAgICdwYWdlL1VzZXJDb250ZW50VHlwZXMuaCcsCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnBybyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
cHJvCmluZGV4IDU0YzAwOTlhMzAxYjU3ODgwMTMyZWUwMDAyYTkyNDhlYTNlNWJhYTMuLjRhYjI0
NGJmZjg0ZTRiMGJlNzUwYTlmZmY3ODVjZDk1N2JlOGRhNWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUucHJvCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvCkBAIC05
MDYsNiArOTA2LDggQEAgU09VUkNFUyArPSBcCiAgICAgcGFnZS9NZW1vcnlJbmZvLmNwcCBcCiAg
ICAgcGFnZS9Nb3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1bHRzLmNwcCBcCiAgICAgcGFnZS9OYXZp
Z2F0b3IuY3BwIFwKKyAgICBwYWdlL05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmNwcCBcCisgICAg
cGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmNwcCBcCiAgICAgcGFnZS9OYXZp
Z2F0b3JCYXNlLmNwcCBcCiAgICAgcGFnZS9PcmlnaW5BY2Nlc3NFbnRyeS5jcHAgXAogICAgIHBh
Z2UvUGFnZS5jcHAgXApAQCAtOTIwLDYgKzkyMiw3IEBAIFNPVVJDRVMgKz0gXAogICAgIHBhZ2Uv
U2VjdXJpdHlPcmlnaW4uY3BwIFwKICAgICBwYWdlL1NldHRpbmdzLmNwcCBcCiAgICAgcGFnZS9T
cGF0aWFsTmF2aWdhdGlvbi5jcHAgXAorICAgIHBhZ2UvU3RyZWFtQ29udHJvbGxlci5jcHAgXAog
ICAgIHBhZ2UvU3VzcGVuZGFibGVUaW1lci5jcHAgXAogICAgIHBhZ2UvVXNlckNvbnRlbnRVUkxQ
YXR0ZXJuLmNwcCBcCiAgICAgcGFnZS9XaW5kb3dGZWF0dXJlcy5jcHAgXApAQCAtMTgzMiw2ICsx
ODM1LDkgQEAgSEVBREVSUyArPSBcCiAgICAgcGFnZS9Nb3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1
bHRzLmggXAogICAgIHBhZ2UvTmF2aWdhdG9yQmFzZS5oIFwKICAgICBwYWdlL05hdmlnYXRvci5o
IFwKKyAgICBwYWdlL05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmggXAorICAgIHBhZ2UvTmF2aWdh
dG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5oIFwKKyAgICBwYWdlL05hdmlnYXRvclVzZXJNZWRp
YVN1Y2Nlc3NDYWxsYmFjay5oIFwKICAgICBwYWdlL1BhZ2VHcm91cC5oIFwKICAgICBwYWdlL1Bh
Z2VHcm91cExvYWREZWZlcnJlci5oIFwKICAgICBwYWdlL1BhZ2UuaCBcCkBAIC0xODQ4LDYgKzE4
NTQsOSBAQCBIRUFERVJTICs9IFwKICAgICBwYWdlL1NwZWVjaElucHV0TGlzdGVuZXIuaCBcCiAg
ICAgcGFnZS9TcGVlY2hJbnB1dFJlc3VsdC5oIFwKICAgICBwYWdlL1NwZWVjaElucHV0UmVzdWx0
TGlzdC5oIFwKKyAgICBwYWdlL1N0cmVhbUNsaWVudC5oIFwKKyAgICBwYWdlL1N0cmVhbUNvbnRy
b2xsZXIuaCBcCisgICAgcGFnZS9TdHJlYW1MaXN0ZW5lci5oIFwKICAgICBwYWdlL1dlYktpdEFu
aW1hdGlvbi5oIFwKICAgICBwYWdlL1dlYktpdEFuaW1hdGlvbkxpc3QuaCBcCiAgICAgcGFnZS9X
aW5kb3dGZWF0dXJlcy5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNw
cm9qL1dlYkNvcmUudmNwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29y
ZS52Y3Byb2oKaW5kZXggNzNmZWYxM2RlZTA3MmQ1YzhkYzU2MTNhMjUyOWFjOGQ5NmI2YjI1NC4u
ZWU3YzM0MDJmNDJjYjA1YjQ1ODQ5NjUwZGUwMzFhNTZjNDgwNTNjNiAxMDA3NTUKLS0tIGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKKysrIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKQEAgLTExODc4LDYgKzExODc4LDE3
NCBAQAogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIkKENv
bmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpT
TmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuY3BwIgorCQkJCT4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRp
b24KKwkJCQkJTmFtZT0iRGVidWd8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVl
IgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJ
CQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJ
CQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgor
CQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkv
PgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJ
CU5hbWU9IkRlYnVnX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9
InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wi
CisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRp
b24KKwkJCQkJTmFtZT0iUmVsZWFzZV9DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCUV4Y2x1ZGVk
RnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29t
cGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVD
b25maWd1cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVnX0FsbHxXaW4zMiIKKwkJCQkJRXhjbHVkZWRG
cm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21w
aWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNv
bmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUmVsZWFzZV9MVENHfFdpbjMyIgorCQkJCQlFeGNsdWRl
ZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENv
bXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJPC9GaWxl
PgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxv
YmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJv
ci5oIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIkKENv
bmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpT
TmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5jcHAiCisJCQkJPgorCQkJCTxGaWxlQ29u
ZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVp
bGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRv
b2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3Vy
YXRpb24KKwkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9
InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wi
CisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRp
b24KKwkJCQkJTmFtZT0iRGVidWdfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZy
b21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBp
bGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29u
ZmlndXJhdGlvbgorCQkJCQlOYW1lPSJSZWxlYXNlX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJ
RXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9
IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJ
CQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWdfQWxsfFdpbjMyIgorCQkJCQlF
eGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0i
VkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJ
CTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJSZWxlYXNlX0xUQ0d8V2luMzIiCisJCQkJ
CUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1l
PSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJ
CQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9uQnVp
bGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU05hdmlnYXRvclVzZXJN
ZWRpYUVycm9yQ2FsbGJhY2suaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJl
bGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxE
ZXJpdmVkU291cmNlc1xKU05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5jcHAiCisJ
CQkJPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiIKKwkJ
CQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5h
bWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4K
KwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiIKKwkJCQkJ
RXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9
IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJ
CQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWdfQ2Fpcm9fQ0ZMaXRlfFdpbjMy
IgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJ
CQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0
aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJSZWxlYXNlX0NhaXJvX0NG
TGl0ZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJ
PFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxl
Q29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWdf
QWxsfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8
VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVD
b25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJSZWxlYXNl
X0xUQ0d8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJ
CTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmls
ZUNvbmZpZ3VyYXRpb24+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0i
JChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNl
c1xKU05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5oIgorCQkJCT4KKwkJCTwvRmls
ZT4KKwkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilc
b2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTm9kZS5jcHAiCiAJCQkJPgogCQkJ
CTxGaWxlQ29uZmlndXJhdGlvbgpAQCAtMjQ4OTQsNiArMjUwNjIsMjYgQEAKIAkJCQk+CiAJCQk8
L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGFnZVxOYXZpZ2F0b3JVc2Vy
TWVkaWFFcnJvci5jcHAiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2
ZVBhdGg9Ii4uXHBhZ2VcTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuaCIKKwkJCQk+CisJCQk8L0Zp
bGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGFnZVxOYXZpZ2F0b3JVc2VyTWVk
aWFFcnJvckNhbGxiYWNrLmNwcCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJl
bGF0aXZlUGF0aD0iLi5ccGFnZVxOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmgiCisJ
CQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHBhZ2VcTmF2
aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmgiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJ
PEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHBhZ2VcT3JpZ2luQWNjZXNzRW50cnkuY3BwIgog
CQkJCT4KIAkJCTwvRmlsZT4KQEAgLTI1MDMwLDYgKzI1MjE4LDIyIEBACiAJCQkJPgogCQkJPC9G
aWxlPgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHBhZ2VcU3RyZWFtQ2xpZW50Lmgi
CisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHBhZ2Vc
U3RyZWFtQ29udHJvbGxlci5jcHAiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlS
ZWxhdGl2ZVBhdGg9Ii4uXHBhZ2VcU3RyZWFtQ29udHJvbGxlci5oIgorCQkJCT4KKwkJCTwvRmls
ZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxwYWdlXFN0cmVhbUxpc3RlbmVyLmgi
CisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHBhZ2Vc
U3VzcGVuZGFibGVUaW1lci5jcHAiCiAJCQkJPgogCQkJPC9GaWxlPgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGM5Y2Y5YjM4MmMy
NGJjMmVlZWI5M2I3NDY3YzI0YTQ3MjE0NjUzMzAuLjNjNzc0ZTMwMTM3ZjFlYzcxMDAwZTI3ZWNi
NDcxMzExMjVhYjRkNjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKQEAgLTQwNzgsNiArNDA3OCwyMCBAQAogCQlCMDE0OUU3RTExQTRC
MjE1MDAxOTZBN0IgLyogQXN5bmNJbWFnZVJlc2l6ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIwMTQ5RTdBMTFBNEIyMTUwMDE5NkE3QiAvKiBBc3lu
Y0ltYWdlUmVzaXplci5oICovOyB9OwogCQlCMDE0OUU3RjExQTRCMjE1MDAxOTZBN0IgLyogSW1h
Z2VSZXNpemVyVGhyZWFkLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEIwMTQ5RTdCMTFBNEIyMTUwMDE5NkE3QiAvKiBJbWFnZVJlc2l6ZXJUaHJlYWQu
Y3BwICovOyB9OwogCQlCMDE0OUU4MDExQTRCMjE1MDAxOTZBN0IgLyogSW1hZ2VSZXNpemVyVGhy
ZWFkLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMDE0
OUU3QzExQTRCMjE1MDAxOTZBN0IgLyogSW1hZ2VSZXNpemVyVGhyZWFkLmggKi87IH07CisJCUIx
NDIwMjREMTMzMjc1OUQwMDI5QjA2QiAvKiBKU05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIxNDIwMjQxMTMz
Mjc1OUQwMDI5QjA2QiAvKiBKU05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmNwcCAqLzsgfTsKKwkJ
QjE0MjAyNEQxMzMyNzU5RDAwMjlCMDZCIC8qIEpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIxNDIwMjQxMTMz
Mjc1OUQwMDI5QjA2QiAvKiBKU05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmggKi87IH07CisJCUIx
NDIwMjRGMTMzMjc1OUQwMDI5QjA2QiAvKiBKU05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJh
Y2suY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjE0
MjAyNDMxMzMyNzU5RDAwMjlCMDZCIC8qIEpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFj
ay5jcHAgKi87IH07CisJCUIxNDIwMjUwMTMzMjc1OUQwMDI5QjA2QiAvKiBKU05hdmlnYXRvclVz
ZXJNZWRpYUVycm9yQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEIxNDIwMjQ0MTMzMjc1OUQwMDI5QjA2QiAvKiBKU05hdmlnYXRvclVzZXJN
ZWRpYUVycm9yQ2FsbGJhY2suaCAqLzsgfTsKKwkJQjE0MjAyNTMxMzMyNzU5RDAwMjlCMDZCIC8q
IEpTTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIxNDIwMjQ3MTMzMjc1OUQwMDI5QjA2QiAv
KiBKU05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5oICovOyB9OworCQlCMTQyMDI1
MzEzMzI3NTlEMDAyOUIwNkIgLyogSlNOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2su
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIxNDIwMjQ3
MTMzMjc1OUQwMDI5QjA2QiAvKiBKU05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5o
ICovOyB9OworCQlCMTQyMDI0RDEzMzI3NTlEMDAyOUIwNkIgLyogTmF2aWdhdG9yVXNlck1lZGlh
RXJyb3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIx
NDIwMjQxMTMzMjc1OUQwMDI5QjA2QiAvKiBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5oICovOyB9
OworCQlCMTQyMDI0RjEzMzI3NTlEMDAyOUIwNkIgLyogTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JD
YWxsYmFjay5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBCMTQyMDI0MzEzMzI3NTlEMDAyOUIwNkIgLyogTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxs
YmFjay5jcHAgKi87IH07CisJCUIxNDIwMjUwMTMzMjc1OUQwMDI5QjA2QiAvKiBOYXZpZ2F0b3JV
c2VyTWVkaWFFcnJvckNhbGxiYWNrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBCMTQyMDI0NDEzMzI3NTlEMDAyOUIwNkIgLyogTmF2aWdhdG9yVXNlck1l
ZGlhRXJyb3JDYWxsYmFjay5oICovOyB9OworCQlCMTQyMDI1MzEzMzI3NTlEMDAyOUIwNkIgLyog
TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMTQyMDI0NzEzMzI3NTlEMDAyOUIwNkIgLyogTmF2
aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmggKi87IH07CisJCUIxNDIwMjU1MTMzMjc1
OUQwMDI5QjA2QiAvKiBTdHJlYW1DbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEIxNDIwMjQ5MTMzMjc1OUQwMDI5QjA2QiAvKiBTdHJlYW1DbGll
bnQuaCAqLzsgfTsKKwkJQjE0MjAyNTYxMzMyNzU5RDAwMjlCMDZCIC8qIFN0cmVhbUNvbnRyb2xs
ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjE0
MjAyNEExMzMyNzU5RDAwMjlCMDZCIC8qIFN0cmVhbUNvbnRyb2xsZXIuY3BwICovOyB9OworCQlC
MTQyMDI1NzEzMzI3NTlEMDAyOUIwNkIgLyogU3RyZWFtQ29udHJvbGxlci5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjE0MjAyNEIxMzMyNzU5RDAwMjlC
MDZCIC8qIFN0cmVhbUNvbnRyb2xsZXIuaCAqLzsgfTsKKwkJQjE0MjAyNTgxMzMyNzU5RDAwMjlC
MDZCIC8qIFN0cmVhbUxpc3RlbmVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBCMTQyMDI0QzEzMzI3NTlEMDAyOUIwNkIgLyogU3RyZWFtTGlzdGVuZXIu
aCAqLzsgfTsKIAkJQjIwMTExMDcwQUI3NzQwNTAwREIwRTY4IC8qIEpTU1ZHQUVsZW1lbnQuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjIwMTExMDUw
QUI3NzQwNTAwREIwRTY4IC8qIEpTU1ZHQUVsZW1lbnQuY3BwICovOyB9OwogCQlCMjAxMTEwODBB
Qjc3NDA1MDBEQjBFNjggLyogSlNTVkdBRWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjIwMTExMDYwQUI3NzQwNTAwREIwRTY4IC8qIEpTU1ZH
QUVsZW1lbnQuaCAqLzsgfTsKIAkJQjIyMjc5NjIwRDAwQkYyMjAwNzFCNzgyIC8qIENvbG9yRGlz
dGFuY2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QjIyMjc3Q0IwRDAwQkYxRjAwNzFCNzgyIC8qIENvbG9yRGlzdGFuY2UuY3BwICovOyB9OwpAQCAt
MTAzMTIsNiArMTAzMjYsMjMgQEAKIAkJQjAxNDlFN0ExMUE0QjIxNTAwMTk2QTdCIC8qIEFzeW5j
SW1hZ2VSZXNpemVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFzeW5jSW1h
Z2VSZXNpemVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIwMTQ5RTdCMTFBNEIy
MTUwMDE5NkE3QiAvKiBJbWFnZVJlc2l6ZXJUaHJlYWQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gSW1hZ2VSZXNpemVyVGhyZWFkLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQjAxNDlFN0MxMUE0QjIxNTAwMTk2QTdCIC8qIEltYWdlUmVzaXplclRo
cmVhZC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbWFnZVJlc2l6ZXJUaHJl
YWQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjE0MjAyNDExMzMyNzU5RDAwMjlC
MDZCIC8qIEpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmNwcDsgcGF0aCA9IEpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQlCMTQyMDI0MTEzMzI3NTlEMDAyOUIwNkIgLyogSlNOYXZpZ2F0
b3JVc2VyTWVkaWFFcnJvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU05h
dmlnYXRvclVzZXJNZWRpYUVycm9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIx
NDIwMjQzMTMzMjc1OUQwMDI5QjA2QiAvKiBKU05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJh
Y2suY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNOYXZpZ2F0b3JV
c2VyTWVkaWFFcnJvckNhbGxiYWNrLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
QjE0MjAyNDQxMzMyNzU5RDAwMjlCMDZCIC8qIEpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxs
YmFjay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU05hdmlnYXRvclVzZXJN
ZWRpYUVycm9yQ2FsbGJhY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjE0MjAy
NDcxMzMyNzU5RDAwMjlCMDZCIC8qIEpTTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNr
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5jcHA7IHBhdGggPSBKU05hdmlnYXRvclVzZXJN
ZWRpYVN1Y2Nlc3NDYWxsYmFjay5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIx
NDIwMjQ3MTMzMjc1OUQwMDI5QjA2QiAvKiBKU05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxs
YmFjay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU05hdmlnYXRvclVzZXJN
ZWRpYVN1Y2Nlc3NDYWxsYmFjay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCMTQy
MDI0MTEzMzI3NTlEMDAyOUIwNkIgLyogTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjE0MjAyNDIxMzMyNzU5RDAwMjlCMDZCIC8qIE5h
dmlnYXRvclVzZXJNZWRpYUVycm9yLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBOYXZpZ2F0
b3JVc2VyTWVkaWFFcnJvci5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIxNDIw
MjQzMTMzMjc1OUQwMDI5QjA2QiAvKiBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE5hdmlnYXRvclVzZXJNZWRp
YUVycm9yQ2FsbGJhY2suY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCMTQyMDI0
NDEzMzI3NTlEMDAyOUIwNkIgLyogTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNh
bGxiYWNrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIxNDIwMjQ1MTMzMjc1OUQw
MDI5QjA2QiAvKiBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmlkbCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHRleHQ7IHBhdGggPSBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmlkbDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjE0MjAyNDcxMzMyNzU5RDAwMjlCMDZCIC8qIE5hdmln
YXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJQjE0MjAyNDgxMzMyNzU5RDAwMjlCMDZCIC8qIE5hdmlnYXRvclVz
ZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gTmF2aWdh
dG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJQjE0MjAyNDkxMzMyNzU5RDAwMjlCMDZCIC8qIFN0cmVhbUNsaWVudC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTdHJlYW1DbGllbnQuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJQjE0MjAyNEExMzMyNzU5RDAwMjlCMDZCIC8qIFN0cmVhbUNvbnRyb2xs
ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU3RyZWFtQ29udHJv
bGxlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIxNDIwMjRCMTMzMjc1OUQw
MDI5QjA2QiAvKiBTdHJlYW1Db250cm9sbGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFN0cmVhbUNvbnRyb2xsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
QjE0MjAyNEMxMzMyNzU5RDAwMjlCMDZCIC8qIFN0cmVhbUxpc3RlbmVyLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN0cmVhbUxpc3RlbmVyLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUIyMDExMTA1MEFCNzc0MDUwMERCMEU2OCAvKiBKU1NWR0FFbGVtZW50LmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1NWR0FFbGVtZW50LmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjIwMTExMDYwQUI3NzQwNTAwREIwRTY4
IC8qIEpTU1ZHQUVsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpT
U1ZHQUVsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjIyMjc3Q0IwRDAw
QkYxRjAwNzFCNzgyIC8qIENvbG9yRGlzdGFuY2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IENvbG9yRGlzdGFuY2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwpAQCAtMTQxNzEsNiArMTQyMDIsMTMgQEAKIAkJCQlBOUM2RTY1RDBENzQ2Njk0MDA2NDQy
RTkgLyogTmF2aWdhdG9yLmlkbCAqLywKIAkJCQlFMTI3MTlDOTBFRUVDMjEzMDBGNjEyMTMgLyog
TmF2aWdhdG9yQmFzZS5jcHAgKi8sCiAJCQkJRTEyNzE5QzYwRUVFQzE2ODAwRjYxMjEzIC8qIE5h
dmlnYXRvckJhc2UuaCAqLywKKwkJCQlCMTQyMDI0MTEzMzI3NTlEMDAyOUIwNkIgLyogTmF2aWdh
dG9yVXNlck1lZGlhRXJyb3IuaCAqLywKKwkJCQlCMTQyMDI0MjEzMzI3NTlEMDAyOUIwNkIgLyog
TmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuaWRsICovLAorCQkJCUIxNDIwMjQzMTMzMjc1OUQwMDI5
QjA2QiAvKiBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmNwcCAqLywKKwkJCQlCMTQy
MDI0NDEzMzI3NTlEMDAyOUIwNkIgLyogTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5o
ICovLAorCQkJCUIxNDIwMjQ1MTMzMjc1OUQwMDI5QjA2QiAvKiBOYXZpZ2F0b3JVc2VyTWVkaWFF
cnJvckNhbGxiYWNrLmlkbCAqLywKKwkJCQlCMTQyMDI0NzEzMzI3NTlEMDAyOUIwNkIgLyogTmF2
aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmggKi8sCisJCQkJQjE0MjAyNDgxMzMyNzU5
RDAwMjlCMDZCIC8qIE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5pZGwgKi8sCiAJ
CQkJMDAxNDYyODgxMDNDRDFERTAwMEIyMERCIC8qIE9yaWdpbkFjY2Vzc0VudHJ5LmNwcCAqLywK
IAkJCQkwMDE0NjI4OTEwM0NEMURFMDAwQjIwREIgLyogT3JpZ2luQWNjZXNzRW50cnkuaCAqLywK
IAkJCQk2NUZFQTg2ODA5ODMzQURFMDBCRUQ0QUIgLyogUGFnZS5jcHAgKi8sCkBAIC0xNDIyMSw2
ICsxNDI1OSwxMCBAQAogCQkJCTc1NDE1QzI3MTI5QTk5MjAwMDNBRDY2OSAvKiBTcGVlY2hJbnB1
dFJlc3VsdExpc3QuY3BwICovLAogCQkJCTc1NDE1QUZCMTI5NThENUUwMDNBRDY2OSAvKiBTcGVl
Y2hJbnB1dFJlc3VsdExpc3QuaCAqLywKIAkJCQk3NTQxNUFGQzEyOTU4RDVFMDAzQUQ2NjkgLyog
U3BlZWNoSW5wdXRSZXN1bHRMaXN0LmlkbCAqLywKKwkJCQlCMTQyMDI0OTEzMzI3NTlEMDAyOUIw
NkIgLyogU3RyZWFtQ2xpZW50LmggKi8sCisJCQkJQjE0MjAyNEExMzMyNzU5RDAwMjlCMDZCIC8q
IFN0cmVhbUNvbnRyb2xsZXIuY3BwICovLAorCQkJCUIxNDIwMjRCMTMzMjc1OUQwMDI5QjA2QiAv
KiBTdHJlYW1Db250cm9sbGVyLmggKi8sCisJCQkJQjE0MjAyNEMxMzMyNzU5RDAwMjlCMDZCIC8q
IFN0cmVhbUxpc3RlbmVyLmggKi8sCiAJCQkJNjJDMTIxN0ExMUFCOUU3NjAwM0M0NjJDIC8qIFN1
c3BlbmRhYmxlVGltZXIuY3BwICovLAogCQkJCTYyQzEyMTdCMTFBQjlFNzcwMDNDNDYyQyAvKiBT
dXNwZW5kYWJsZVRpbWVyLmggKi8sCiAJCQkJMDAzRjFGRTkxMUU2QUI0MzAwODI1OEQ5IC8qIFVz
ZXJDb250ZW50VHlwZXMuaCAqLywKQEAgLTIyNjgwLDYgKzIyNzIyLDE1IEBACiAJCQkJMzE5NDYy
MDQxMzAyMkJGMTAwNEJCM0Y4IC8qIERPTVdlYktpdEFuaW1hdGlvbkxpc3QuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTMxOUU2OUIzMTMyOTlCQkQwMDRBQzkxQSAvKiBXZWJLaXRBbmltYXRpb24uaCBp
biBIZWFkZXJzICovLAogCQkJCTMxOUU2OUI2MTMyOTlCQkQwMDRBQzkxQSAvKiBXZWJLaXRBbmlt
YXRpb25MaXN0LmggaW4gSGVhZGVycyAqLywKKwkJCQlCMTQyMDI0RDEzMzI3NTlEMDAyOUIwNkIg
LyogSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5oIGluIEhlYWRlcnMgKi8sCisJCQkJQjE0MjAy
NTAxMzMyNzU5RDAwMjlCMDZCIC8qIEpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5o
IGluIEhlYWRlcnMgKi8sCisJCQkJQjE0MjAyNTMxMzMyNzU5RDAwMjlCMDZCIC8qIEpTTmF2aWdh
dG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmggaW4gSGVhZGVycyAqLywKKwkJCQlCMTQyMDI0
RDEzMzI3NTlEMDAyOUIwNkIgLyogTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuaCBpbiBIZWFkZXJz
ICovLAorCQkJCUIxNDIwMjUwMTMzMjc1OUQwMDI5QjA2QiAvKiBOYXZpZ2F0b3JVc2VyTWVkaWFF
cnJvckNhbGxiYWNrLmggaW4gSGVhZGVycyAqLywKKwkJCQlCMTQyMDI1MzEzMzI3NTlEMDAyOUIw
NkIgLyogTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmggaW4gSGVhZGVycyAqLywK
KwkJCQlCMTQyMDI1NTEzMzI3NTlEMDAyOUIwNkIgLyogU3RyZWFtQ2xpZW50LmggaW4gSGVhZGVy
cyAqLywKKwkJCQlCMTQyMDI1NzEzMzI3NTlEMDAyOUIwNkIgLyogU3RyZWFtQ29udHJvbGxlci5o
IGluIEhlYWRlcnMgKi8sCisJCQkJQjE0MjAyNTgxMzMyNzU5RDAwMjlCMDZCIC8qIFN0cmVhbUxp
c3RlbmVyLmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBv
c3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKQEAgLTI1MzQ4LDYgKzI1Mzk5LDEwIEBACiAJCQkJMzE5
RTY4ODcxMzI3QzkxMTAwNEFDOTFBIC8qIEpTV2ViS2l0QW5pbWF0aW9uQ3VzdG9tLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTMxOUU2OUIyMTMyOTlCQkQwMDRBQzkxQSAvKiBXZWJLaXRBbmltYXRp
b24uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMzE5RTY5QjUxMzI5OUJCRDAwNEFDOTFBIC8qIFdl
YktpdEFuaW1hdGlvbkxpc3QuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQjE0MjAyNEYxMzMyNzU5
RDAwMjlCMDZCIC8qIEpTTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmNwcCBpbiBT
b3VyY2VzICovLAorCQkJCUIxNDIwMjRGMTMzMjc1OUQwMDI5QjA2QiAvKiBKU05hdmlnYXRvclVz
ZXJNZWRpYUVycm9yQ2FsbGJhY2suY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQjE0MjAyNEYxMzMy
NzU5RDAwMjlCMDZCIC8qIE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2suY3BwIGluIFNv
dXJjZXMgKi8sCisJCQkJQjE0MjAyNTYxMzMyNzU5RDAwMjlCMDZCIC8qIFN0cmVhbUNvbnRyb2xs
ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0
cHJvY2Vzc2luZyA9IDA7CiAJCX07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL05h
dmlnYXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvci5jcHAKaW5kZXggNmEy
NjdhZDQxNjE5Njk5MDNjODBjYTYzOTQ0MGMzOTFhZjUzMDdlZC4uMmE0ZDU2ODAyMzcwNzJmMDI1
YzM5ZDAwOTNlYzI5OGFiYTUxZTM1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9O
YXZpZ2F0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yLmNwcApAQCAt
NDEsNiArNDEsNyBAQAogI2luY2x1ZGUgIlNjcmlwdENvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJT
ZXR0aW5ncy5oIgogI2luY2x1ZGUgIlN0b3JhZ2VOYW1lc3BhY2UuaCIKKyNpbmNsdWRlICJTdHJl
YW1Db250cm9sbGVyLmgiCiAjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CkBAIC0yNDIsNCArMjQzLDE3IEBAIHZvaWQgTmF2aWdhdG9yOjpyZWdpc3Rl
clByb3RvY29sSGFuZGxlcihjb25zdCBTdHJpbmcmIHNjaGVtZSwgY29uc3QgU3RyaW5nJiB1cmws
CiB9CiAjZW5kaWYKIAorI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCit2b2lkIE5hdmlnYXRvcjo6
Z2V0VXNlck1lZGlhKGNvbnN0IFN0cmluZyYgb3B0aW9ucywKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgUGFzc1JlZlB0cjxOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2s+IHN1
Y2Nlc3NDYWxsYmFjaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUGFzc1JlZlB0cjxO
YXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrPiBlcnJvckNhbGxiYWNrKQoreworICAgIFBh
Z2UqIHBhZ2UgPSBtX2ZyYW1lLT5wYWdlKCk7CisgICAgaWYgKCFwYWdlKQorICAgICAgICByZXR1
cm47CisKKyAgICBwYWdlLT5zdHJlYW1Db250cm9sbGVyKCktPmdlbmVyYXRlU3RyZWFtKG9wdGlv
bnMsIHN1Y2Nlc3NDYWxsYmFjaywgZXJyb3JDYWxsYmFjayk7Cit9CisjZW5kaWYKKwogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0
b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yLmgKaW5kZXggNjkzYmRlMTNmOTA4
MmM0YWMxNzdmZjU1ZTYzNDQ4YjE2M2EzZjE3Mi4uYjk2YzdkNzVlYzlkNjYwMWYyZDFjZWUyZDVh
ZWUxNmMwYmEwNGU3YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3Iu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvci5oCkBAIC0yMSw2ICsyMSw4IEBA
CiAjZGVmaW5lIE5hdmlnYXRvcl9oCiAKICNpbmNsdWRlICJOYXZpZ2F0b3JCYXNlLmgiCisjaW5j
bHVkZSAiTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5oIgorI2luY2x1ZGUgIk5hdmln
YXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+
CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5o
PgpAQCAtNjcsNiArNjksMTEgQEAgcHVibGljOgogICAgIHZvaWQgcmVnaXN0ZXJQcm90b2NvbEhh
bmRsZXIoY29uc3QgU3RyaW5nJiBzY2hlbWUsIGNvbnN0IFN0cmluZyYgdXJsLCBjb25zdCBTdHJp
bmcmIHRpdGxlLCBFeGNlcHRpb25Db2RlJik7CiAjZW5kaWYKIAorI2lmIEVOQUJMRShNRURJQV9T
VFJFQU0pCisgICAgdmlydHVhbCB2b2lkIGdldFVzZXJNZWRpYShjb25zdCBTdHJpbmcmIG9wdGlv
bnMsIFBhc3NSZWZQdHI8TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrPiwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFBhc3NSZWZQdHI8TmF2aWdhdG9yVXNlck1lZGlhRXJy
b3JDYWxsYmFjaz4gPSAwKTsKKyNlbmRpZgorCiBwcml2YXRlOgogICAgIE5hdmlnYXRvcihGcmFt
ZSopOwogICAgIEZyYW1lKiBtX2ZyYW1lOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9OYXZpZ2F0b3IuaWRsIGIvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3IuaWRsCmluZGV4
IGJmM2YxMDhlYzkwMjVjMDA4NmJmMjgwZjM4MTkwYzRlOTNhZWQ5N2UuLjZjNDYwOTc4OWIwOWVk
NTAyNjE0OWIzZGFlMWNiNTg2NDJjODFlMzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvTmF2aWdhdG9yLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvci5pZGwK
QEAgLTM3LDcgKzM3LDcgQEAgbW9kdWxlIHdpbmRvdyB7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSBET01TdHJpbmcgdmVuZG9yU3ViOwogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9v
bGVhbiBjb29raWVFbmFibGVkOwogICAgICAgICBib29sZWFuIGphdmFFbmFibGVkKCk7Ci0gICAg
ICAgIAorCiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIG9uTGluZTsKIAogI2lm
IGRlZmluZWQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAmJiBFTkFCTEVfR0VPTE9DQVRJT04KQEAgLTUy
LDYgKzUyLDEyIEBAIG1vZHVsZSB3aW5kb3cgewogICAgICAgICB2b2lkIHJlZ2lzdGVyUHJvdG9j
b2xIYW5kbGVyKGluIERPTVN0cmluZyBzY2hlbWUsIGluIERPTVN0cmluZyB1cmwsIGluIERPTVN0
cmluZyB0aXRsZSkKICAgICAgICAgICAgIHJhaXNlcyhEb21FeGNlcHRpb24pOwogI2VuZGlmCisK
KyNpZiBkZWZpbmVkKEVOQUJMRV9NRURJQV9TVFJFQU0pICYmIEVOQUJMRV9NRURJQV9TVFJFQU0K
KyAgICAgICAgdm9pZCBnZXRVc2VyTWVkaWEoaW4gRE9NU3RyaW5nIG9wdGlvbnMsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgIGluIFtDYWxsYmFja10gTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vz
c0NhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFjaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW4g
W0NhbGxiYWNrLCBPcHRpb25hbF0gTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjayBlcnJv
ckNhbGxiYWNrKTsKKyNlbmRpZgogICAgIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
TmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xZmYyNmJlOWQ0ZGFhYjI0NmQ4
Y2YwY2I1MzQ1YTVmODc4NDEwNDY4Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5oCkBAIC0wLDAgKzEsNTkgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJp
YnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhl
IG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3Ig
cHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBz
cGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICog
IkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIE5h
dmlnYXRvclVzZXJNZWRpYUVycm9yX2gKKyNkZWZpbmUgTmF2aWdhdG9yVXNlck1lZGlhRXJyb3Jf
aAorCisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworI2lmIEVOQUJMRShNRURJQV9TVFJF
QU0pCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgTmF2aWdhdG9yVXNlck1lZGlhRXJy
b3IgOiBwdWJsaWMgUmVmQ291bnRlZDxOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvcj4geworcHVibGlj
OgorICAgIE5hdmlnYXRvclVzZXJNZWRpYUVycm9yKHVuc2lnbmVkIHNob3J0IGNvZGUpIDogbV9j
b2RlKGNvZGUpIHsgfQorICAgIHZpcnR1YWwgfk5hdmlnYXRvclVzZXJNZWRpYUVycm9yKCkgeyB9
CisKKyAgICBlbnVtIHsKKyAgICAgICAgUEVSTUlTU0lPTl9ERU5JRUQgPSAxCisgICAgfTsKKwor
ICAgIHVuc2lnbmVkIHNob3J0IGNvZGUoKSBjb25zdCB7IHJldHVybiBtX2NvZGU7IH0KKworcHJp
dmF0ZToKKyAgICB1bnNpZ25lZCBzaG9ydCBtX2NvZGU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFNKQorCisjZW5kaWYgLy8gTmF2
aWdhdG9yVXNlck1lZGlhRXJyb3JfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9O
YXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRv
clVzZXJNZWRpYUVycm9yLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNzU2NjQ4YWI1OTVhNDg3MDg2MzQ5ZWUz
YWJiNjNkNTg5MjEwZjdkCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9O
YXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5pZGwKQEAgLTAsMCArMSw0MiBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRp
b24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFt
ZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9t
b3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNp
ZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMg
SVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisg
KiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK21vZHVsZSB3aW5kb3cg
eworCisgICAgLy8gRklYTUU6IGRlbGV0ZSB0aGlzIGludGVyZmFjZSBhbmQgaW1wbGVtZW50IGEg
Y3VzdG9tIGJpbmRpbmcgc2luY2Ugc3BlYyBkZWZpbmVzIGl0IGFzIGEgTm9JbnRlcmZhY2VPYmpl
Y3QuCisgICAgaW50ZXJmYWNlIFsKKyAgICAgICAgQ29uZGl0aW9uYWw9TUVESUFfU1RSRUFNCisg
ICAgXSBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvciB7CisgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNo
b3J0IFBFUk1JU1NJT05fREVOSUVEID0gMTsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVu
c2lnbmVkIHNob3J0IGNvZGU7CisgICAgfTsKKworfQorCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2suY3BwIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmNwcApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li45YjYxYmRkMjZkYzkwZTQ5MGI1ZTAxZjQxYzVjYTFiMTI4YWI5OWU5Ci0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNr
LmNwcApAQCAtMCwwICsxLDc5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMg
YXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIg
dGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1
dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBm
cm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IK
KyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAq
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIk5hdmln
YXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2suaCIKKworI2lmIEVOQUJMRShNRURJQV9TVFJFQU0p
CisKKyNpbmNsdWRlICJOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5oIgorI2luY2x1ZGUgIlNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQuaCIKKyNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgorI2luY2x1ZGUg
PHd0Zi9SZWZQdHIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCituYW1lc3BhY2UgeworCisv
LyBGSVhNRTogdGhpcyBzaG91bGQgYmUgbWFkZSBhIHRlbXBsYXRlIGFuZCBtZXJnZWQgd2l0aCB0
aGUgZXF1aXZhbGVudCB2ZXJzaW9ucyBpbgorLy8gTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0Nh
bGxiYWNrIGFuZCBCbG9iQ2FsbGJhY2suCitjbGFzcyBEaXNwYXRjaENhbGxiYWNrVGFzayA6IHB1
YmxpYyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpUYXNrIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMg
UGFzc093blB0cjxEaXNwYXRjaENhbGxiYWNrVGFzaz4gY3JlYXRlKE5hdmlnYXRvclVzZXJNZWRp
YUVycm9yQ2FsbGJhY2sqIGNhbGxiYWNrLCBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvciogZGF0YSkK
KyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFB0cihuZXcgRGlzcGF0Y2hDYWxsYmFja1Rhc2so
Y2FsbGJhY2ssIGRhdGEpKTsKKyAgICB9CisKKyAgICB2aXJ0dWFsIHZvaWQgcGVyZm9ybVRhc2so
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCopCisgICAgeworICAgICAgICBtX2NhbGxiYWNrLT5oYW5k
bGVFdmVudChtX2RhdGEuZ2V0KCkpOworICAgIH0KKworcHJpdmF0ZToKKyAgICBEaXNwYXRjaENh
bGxiYWNrVGFzayhOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrKiBjYWxsYmFjaywgTmF2
aWdhdG9yVXNlck1lZGlhRXJyb3IqIGRhdGEpCisgICAgICAgIDogbV9jYWxsYmFjayhjYWxsYmFj
aykKKyAgICAgICAgLCBtX2RhdGEoYWRvcHRSZWYoZGF0YSkpCisgICAgeworICAgIH0KKworICAg
IFJlZlB0cjxOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrPiBtX2NhbGxiYWNrOworICAg
IFJlZlB0cjxOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvcj4gbV9kYXRhOworfTsKKworfSAvLyBuYW1l
c3BhY2UKKwordm9pZCBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrOjpzY2hlZHVsZUNh
bGxiYWNrKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIE5hdmlnYXRvclVzZXJNZWRp
YUVycm9yKiBkYXRhKQoreworICAgIGNvbnRleHQtPnBvc3RUYXNrKERpc3BhdGNoQ2FsbGJhY2tU
YXNrOjpjcmVhdGUodGhpcywgZGF0YSkpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisK
KyNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFNKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2suaApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iZDhi
ZDI4MmYxNTRhMDczMTZhZjg2YTU3YWI0YzBiODU0YWRmNDVkCi0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmgKQEAg
LTAsMCArMSw1NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICog
bWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5
IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICog
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAq
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNpZm5kZWYgTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFja19oCisj
ZGVmaW5lIE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2tfaAorCisjaWYgRU5BQkxFKE1F
RElBX1NUUkVBTSkKKworI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisKK25hbWVzcGFjZSBX
ZWJDb3JlIHsKKworY2xhc3MgTmF2aWdhdG9yVXNlck1lZGlhRXJyb3I7CitjbGFzcyBTY3JpcHRF
eGVjdXRpb25Db250ZXh0OworCitjbGFzcyBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNr
IDogcHVibGljIFJlZkNvdW50ZWQ8TmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjaz4gewor
cHVibGljOgorICAgIHZpcnR1YWwgfk5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2soKSB7
IH0KKyAgICB2aXJ0dWFsIGJvb2wgaGFuZGxlRXZlbnQoTmF2aWdhdG9yVXNlck1lZGlhRXJyb3Iq
KSA9IDA7CisKKyAgICAvLyBIZWxwZXIgdG8gcG9zdCBjYWxsYmFjayB0YXNrLgorICAgIHZvaWQg
c2NoZWR1bGVDYWxsYmFjayhTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgTmF2aWdhdG9yVXNlck1l
ZGlhRXJyb3IqKTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVO
QUJMRShNRURJQV9TVFJFQU0pCisKKyNlbmRpZiAvLyBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNh
bGxiYWNrX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yVXNlck1l
ZGlhRXJyb3JDYWxsYmFjay5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvclVzZXJN
ZWRpYUVycm9yQ2FsbGJhY2suaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU0ZWQ5ZTczOGI3ODNlZWVlMWJhYjc4
Mzk2NGNkZDE3ODUwZGE0M2MKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2suaWRsCkBAIC0wLDAgKzEsNDEgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICog
ZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBu
b3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0
aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9S
UworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVS
IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAq
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCittb2R1
bGUgd2luZG93IHsKKworICAgIC8vIEZJWE1FOiBkZWxldGUgdGhpcyBpbnRlcmZhY2UgYW5kIGlt
cGxlbWVudCBhIGN1c3RvbSBiaW5kaW5nIHNpbmNlIHNwZWMgZGVmaW5lcyBpdCBhcyBhIE5vSW50
ZXJmYWNlT2JqZWN0LgorICAgIGludGVyZmFjZSBbCisgICAgICAgIENvbmRpdGlvbmFsPU1FRElB
X1NUUkVBTSwKKyAgICAgICAgQ2FsbGJhY2s9RnVuY3Rpb25Pbmx5CisgICAgXSBOYXZpZ2F0b3JV
c2VyTWVkaWFFcnJvckNhbGxiYWNrIHsKKyAgICAgICAgYm9vbGVhbiBoYW5kbGVFdmVudChpbiBO
YXZpZ2F0b3JVc2VyTWVkaWFFcnJvciBlcnJvcik7CisgICAgfTsKKworfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suaCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmgK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uM2QyZTNmNzY0ZmM2ZDJkMjFiYTg3ZmYxMjU1ZGIyMGNiYTU0ODdlNAotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yVXNlck1lZGlhU3Vj
Y2Vzc0NhbGxiYWNrLmgKQEAgLTAsMCArMSw1NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
MSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAg
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAg
KiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisg
KiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdy
aXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI
RSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElN
SVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisg
KiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgTmF2aWdhdG9yVXNlck1lZGlh
U3VjY2Vzc0NhbGxiYWNrX2gKKyNkZWZpbmUgTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxi
YWNrX2gKKworI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCisKKyNpbmNsdWRlIDx3dGYvUmVmQ291
bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQ7CisKK2NsYXNzIE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjayA6IHB1Ymxp
YyBSZWZDb3VudGVkPE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjaz4geworcHVibGlj
OgorICAgIHZpcnR1YWwgfk5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjaygpIHsgfQor
ICAgIC8vIEZJWE1FOiBpbXBsZW1lbnQgdGhlIHByb3BlciBhcmd1bWVudCBvbmNlIHRoZSBHZW5l
cmF0ZWRTdHJlYW0gY2xhc3MgaXMgYXZhaWxhYmxlLgorICAgIC8vIHZpcnR1YWwgYm9vbCBoYW5k
bGVFdmVudChHZW5lcmF0ZWRTdHJlYW0qKSA9IDA7CisgICAgdmlydHVhbCBib29sIGhhbmRsZUV2
ZW50KCkgPSAwOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5B
QkxFKE1FRElBX1NUUkVBTSkKKworI2VuZGlmIC8vIE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3ND
YWxsYmFja19oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvclVzZXJN
ZWRpYVN1Y2Nlc3NDYWxsYmFjay5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvclVz
ZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTBiY2RiY2Y2MjcxZTZlYjNm
OGY5ZjFiMGI5MmM1ZGQzYTkxMmFlNQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmlkbApAQCAtMCwwICsxLDQz
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgor
ICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGlu
IHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xl
IEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0
byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3
YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05U
UklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisg
KiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworbW9kdWxlIHdpbmRvdyB7CisKKyAgICAvLyBGSVhNRTogZGVsZXRlIHRoaXMgaW50ZXJmYWNl
IGFuZCBpbXBsZW1lbnQgYSBjdXN0b20gYmluZGluZyBzaW5jZSBzcGVjIGRlZmluZXMgaXQgYXMg
YSBOb0ludGVyZmFjZU9iamVjdC4KKyAgICBpbnRlcmZhY2UgWworICAgICAgICBDb25kaXRpb25h
bD1NRURJQV9TVFJFQU0sCisgICAgICAgIENhbGxiYWNrPUZ1bmN0aW9uT25seQorICAgIF0gTmF2
aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrIHsKKyAgICAgICAgLy8gRklYTUU6IGltcGxl
bWVudCB0aGUgcHJvcGVyIGFyZ3VtZW50IG9uY2UgdGhlIEdlbmVyYXRlZFN0cmVhbSBjbGFzcyBp
cyBhdmFpbGFibGUuCisgICAgICAgIC8vIGJvb2xlYW4gaGFuZGxlRXZlbnQoaW4gR2VuZXJhdGVk
U3RyZWFtIHN0cmVhbSk7CisgICAgICAgIGJvb2xlYW4gaGFuZGxlRXZlbnQoKTsKKyAgICB9Owor
Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9QYWdlLmNwcAppbmRleCBiZmFkMmI4MzJjNDliZmEwZGExZDhkNzI1NmM3OGU1
YjNkMzRjODhmLi4zOTE5YjBmODI5NzY4ODNlYTYxNTIzMmZkYmVhMzYxMWE0YWE4NjQwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGFnZS5jcHAKQEAgLTY3LDYgKzY3LDggQEAKICNpbmNsdWRlICJTaGFyZWRCdWZmZXIu
aCIKICNpbmNsdWRlICJTcGVlY2hJbnB1dC5oIgogI2luY2x1ZGUgIlNwZWVjaElucHV0Q2xpZW50
LmgiCisjaW5jbHVkZSAiU3RyZWFtQ2xpZW50LmgiCisjaW5jbHVkZSAiU3RyZWFtQ29udHJvbGxl
ci5oIgogI2luY2x1ZGUgIlRleHRSZXNvdXJjZURlY29kZXIuaCIKICNpbmNsdWRlICJXaWRnZXQu
aCIKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgpAQCAtMTM5LDYgKzE0MSw5IEBAIFBhZ2U6OlBh
Z2UoY29uc3QgUGFnZUNsaWVudHMmIHBhZ2VDbGllbnRzKQogI2lmIEVOQUJMRShJTlBVVF9TUEVF
Q0gpCiAgICAgLCBtX3NwZWVjaElucHV0Q2xpZW50KHBhZ2VDbGllbnRzLnNwZWVjaElucHV0Q2xp
ZW50KQogI2VuZGlmCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKyAgICAsIG1fc3RyZWFtQ2xp
ZW50KHBhZ2VDbGllbnRzLnN0cmVhbUNsaWVudCkKKyNlbmRpZgogICAgICwgbV9zZXR0aW5ncyhh
ZG9wdFB0cihuZXcgU2V0dGluZ3ModGhpcykpKQogICAgICwgbV9wcm9ncmVzcyhhZG9wdFB0cihu
ZXcgUHJvZ3Jlc3NUcmFja2VyKSkKICAgICAsIG1fYmFja0ZvcndhcmRDb250cm9sbGVyKGFkb3B0
UHRyKG5ldyBCYWNrRm9yd2FyZENvbnRyb2xsZXIodGhpcywgcGFnZUNsaWVudHMuYmFja0Zvcndh
cmRDbGllbnQpKSkKQEAgLTg0NCw2ICs4NDksMTcgQEAgU3BlZWNoSW5wdXQqIFBhZ2U6OnNwZWVj
aElucHV0KCkKIH0KICNlbmRpZgogCisKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorU3RyZWFt
Q29udHJvbGxlciogUGFnZTo6c3RyZWFtQ29udHJvbGxlcigpCit7CisgICAgQVNTRVJUKG1fc3Ry
ZWFtQ2xpZW50KTsKKyAgICBpZiAoIW1fc3RyZWFtQ29udHJvbGxlci5nZXQoKSkKKyAgICAgICAg
bV9zdHJlYW1Db250cm9sbGVyLnNldChuZXcgU3RyZWFtQ29udHJvbGxlcihtX3N0cmVhbUNsaWVu
dCwgbWFpbkZyYW1lKCktPmRvY3VtZW50KCkpKTsKKyAgICByZXR1cm4gbV9zdHJlYW1Db250cm9s
bGVyLmdldCgpOworfQorI2VuZGlmCisKIHZvaWQgUGFnZTo6ZG5zUHJlZmV0Y2hpbmdTdGF0ZUNo
YW5nZWQoKQogewogICAgIGZvciAoRnJhbWUqIGZyYW1lID0gbWFpbkZyYW1lKCk7IGZyYW1lOyBm
cmFtZSA9IGZyYW1lLT50cmVlKCktPnRyYXZlcnNlTmV4dCgpKQpAQCAtOTQzLDYgKzk1OSw3IEBA
IFBhZ2U6OlBhZ2VDbGllbnRzOjpQYWdlQ2xpZW50cygpCiAgICAgLCBkZXZpY2VNb3Rpb25DbGll
bnQoMCkKICAgICAsIGRldmljZU9yaWVudGF0aW9uQ2xpZW50KDApCiAgICAgLCBzcGVlY2hJbnB1
dENsaWVudCgwKQorICAgICwgc3RyZWFtQ2xpZW50KDApCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKaW5k
ZXggODdjYjZjYzk4YmJjMjJhM2FjZjIyNDAyYTZhZGZjYzkxY2U3NTllOC4uZWI5YWNmODU2YjM3
MDZlYTMzOTY0YzNjYTdmNjRiMzc4MzliYjcyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGFnZS9QYWdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKQEAgLTc5LDYgKzc5
LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogI2lmIEVOQUJMRShET01fU1RPUkFHRSkKICAgICBj
bGFzcyBTdG9yYWdlTmFtZXNwYWNlOwogI2VuZGlmCisgICAgY2xhc3MgU3RyZWFtQ2xpZW50Owor
ICAgIGNsYXNzIFN0cmVhbUNvbnRyb2xsZXI7CiAjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiAg
ICAgY2xhc3MgTm90aWZpY2F0aW9uUHJlc2VudGVyOwogI2VuZGlmCkBAIC0xMTQsNiArMTE2LDcg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAgICAgRGV2aWNlT3JpZW50YXRpb25DbGll
bnQqIGRldmljZU9yaWVudGF0aW9uQ2xpZW50OwogICAgICAgICAgICAgUmVmUHRyPEJhY2tGb3J3
YXJkTGlzdD4gYmFja0ZvcndhcmRDbGllbnQ7CiAgICAgICAgICAgICBTcGVlY2hJbnB1dENsaWVu
dCogc3BlZWNoSW5wdXRDbGllbnQ7CisgICAgICAgICAgICBTdHJlYW1DbGllbnQqIHN0cmVhbUNs
aWVudDsKICAgICAgICAgfTsKIAogICAgICAgICBQYWdlKGNvbnN0IFBhZ2VDbGllbnRzJik7CkBA
IC0xODAsNiArMTgzLDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogI2lmIEVOQUJMRShJTlBVVF9T
UEVFQ0gpCiAgICAgICAgIFNwZWVjaElucHV0KiBzcGVlY2hJbnB1dCgpOwogI2VuZGlmCisjaWYg
RU5BQkxFKE1FRElBX1NUUkVBTSkKKyAgICAgICAgU3RyZWFtQ29udHJvbGxlciogc3RyZWFtQ29u
dHJvbGxlcigpOworI2VuZGlmCiAgICAgICAgIFNldHRpbmdzKiBzZXR0aW5ncygpIGNvbnN0IHsg
cmV0dXJuIG1fc2V0dGluZ3MuZ2V0KCk7IH0KICAgICAgICAgUHJvZ3Jlc3NUcmFja2VyKiBwcm9n
cmVzcygpIGNvbnN0IHsgcmV0dXJuIG1fcHJvZ3Jlc3MuZ2V0KCk7IH0KICAgICAgICAgQmFja0Zv
cndhcmRDb250cm9sbGVyKiBiYWNrRm9yd2FyZCgpIGNvbnN0IHsgcmV0dXJuIG1fYmFja0Zvcndh
cmRDb250cm9sbGVyLmdldCgpOyB9CkBAIC0zMzMsOSArMzM5LDEzIEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKICAgICAgICAgU3BlZWNoSW5wdXRDbGllbnQqIG1fc3BlZWNoSW5wdXRDbGllbnQ7CiAg
ICAgICAgIE93blB0cjxTcGVlY2hJbnB1dD4gbV9zcGVlY2hJbnB1dDsKICNlbmRpZgorI2lmIEVO
QUJMRShNRURJQV9TVFJFQU0pCisgICAgICAgIFN0cmVhbUNsaWVudCogbV9zdHJlYW1DbGllbnQ7
CisgICAgICAgIE93blB0cjxTdHJlYW1Db250cm9sbGVyPiBtX3N0cmVhbUNvbnRyb2xsZXI7Cisj
ZW5kaWYKICAgICAgICAgT3duUHRyPFNldHRpbmdzPiBtX3NldHRpbmdzOwogICAgICAgICBPd25Q
dHI8UHJvZ3Jlc3NUcmFja2VyPiBtX3Byb2dyZXNzOwotICAgICAgICAKKwogICAgICAgICBPd25Q
dHI8QmFja0ZvcndhcmRDb250cm9sbGVyPiBtX2JhY2tGb3J3YXJkQ29udHJvbGxlcjsKICAgICAg
ICAgUmVmUHRyPEZyYW1lPiBtX21haW5GcmFtZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9TdHJlYW1DbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3RyZWFtQ2xpZW50
LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNzZkYTQ0MjYyNWUzOGM3MGYwOTUwMDc5MDlmZmYwZTIzYjFkY2IxOQot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3RyZWFtQ2xpZW50LmgKQEAg
LTAsMCArMSw2MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICog
bWV0OgorICoKKyAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisg
KiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdv
b2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVz
ZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQg
Q09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdI
VAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpZm5kZWYgU3RyZWFtQ2xpZW50X2gKKyNkZWZpbmUgU3RyZWFtQ2xpZW50X2gKKwor
I2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCisKKyNpbmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgor
I2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CisjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KKwor
bmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBTdHJlYW1MaXN0ZW5lcjsKKworY2xhc3MgU3Ry
ZWFtQ2xpZW50IHsKK3B1YmxpYzoKKyAgICAvLyBSZWdpc3RlciB0aGUgbGlzdGVuZXIgZm9yIHJl
Y2VpdmluZyBjYWxsYmFja3MuIFNob3VsZCBzZXQgdG8gbnVsbCB3aGVuIG5vdCByZXF1aXJlZCBh
bnltb3JlLiBObyBvd25lcnNoaXAgaXMgdGFrZW4uCisgICAgdmlydHVhbCB2b2lkIHNldExpc3Rl
bmVyKFN0cmVhbUxpc3RlbmVyKikgPSAwOworCisgICAgLy8gR2VuZXJhdGUgYSBuZXcgbG9jYWwg
c3RyZWFtLgorICAgIHZpcnR1YWwgdm9pZCBnZW5lcmF0ZVN0cmVhbShpbnQgcmVxdWVzdElkLCBi
b29sIHZpZGVvLCBib29sIGF1ZGlvLCBQYXNzUmVmUHRyPFNlY3VyaXR5T3JpZ2luPikgPSAwOwor
Citwcm90ZWN0ZWQ6CisgICAgdmlydHVhbCB+U3RyZWFtQ2xpZW50KCkgeyB9Cit9OworCit9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFNKQorCisj
ZW5kaWYgLy8gU3RyZWFtQ2xpZW50X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
U3RyZWFtQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1N0cmVhbUNvbnRyb2xs
ZXIuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjMzYjQ5ODQ5ZWE3MTRhNjA4NTZmMzYxZGQ1NWM0ZTBjODk3Mzhm
MjIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1N0cmVhbUNvbnRyb2xs
ZXIuY3BwCkBAIC0wLDAgKzEsMTE0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2ds
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAq
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRo
ZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRy
aWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZl
ZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlS
SUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
KyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlN0
cmVhbUNvbnRyb2xsZXIuaCIKKworI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCisKKyNpbmNsdWRl
ICJEb2N1bWVudC5oIgorI2luY2x1ZGUgIk5hdmlnYXRvclVzZXJNZWRpYUVycm9yLmgiCisjaW5j
bHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKKyNpbmNsdWRlICJTdHJlYW1DbGllbnQuaCIKKworbmFt
ZXNwYWNlIFdlYkNvcmUgeworCitTdHJlYW1Db250cm9sbGVyOjpTdHJlYW1Db250cm9sbGVyKFN0
cmVhbUNsaWVudCogY2xpZW50LCBEb2N1bWVudCogZG9jdW1lbnQpCisgICAgOiBtX2NsaWVudChj
bGllbnQpCisgICAgLCBtX2RvY3VtZW50KGRvY3VtZW50KQorICAgICwgbV9uZXh0U3RyZWFtUmVx
dWVzdElkKDEpCit7CisgICAgQVNTRVJUKG1fZG9jdW1lbnQpOworICAgIG1fY2xpZW50LT5zZXRM
aXN0ZW5lcih0aGlzKTsKK30KKworU3RyZWFtQ29udHJvbGxlcjo6flN0cmVhbUNvbnRyb2xsZXIo
KQoreworICAgIG1fY2xpZW50LT5zZXRMaXN0ZW5lcigwKTsKK30KKworYm9vbCBTdHJlYW1Db250
cm9sbGVyOjpnZW5lcmF0ZVN0cmVhbShjb25zdCBTdHJpbmcmIG9wdGlvbnMsIFBhc3NSZWZQdHI8
TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrPiBzdWNjZXNzQ2FsbGJhY2ssCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBhc3NSZWZQdHI8TmF2aWdhdG9yVXNl
ck1lZGlhRXJyb3JDYWxsYmFjaz4gZXJyb3JDYWxsYmFjaykKK3sKKyAgICBpZiAoIXN1Y2Nlc3ND
YWxsYmFjay5nZXQoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgYm9vbCB2aWRlbyA9
IGZhbHNlOworICAgIGJvb2wgYXVkaW8gPSBmYWxzZTsKKyAgICBWZWN0b3I8U3RyaW5nPiBzcGxp
dE9wdGlvbnM7CisgICAgb3B0aW9ucy5zcGxpdCgiLCIsIHNwbGl0T3B0aW9ucyk7CisgICAgZm9y
IChWZWN0b3I8U3RyaW5nPjo6Y29uc3RfaXRlcmF0b3IgaXQgPSBzcGxpdE9wdGlvbnMuYmVnaW4o
KTsgaXQgIT0gc3BsaXRPcHRpb25zLmVuZCgpICYmICghdmlkZW8gfHwgIWF1ZGlvKTsgKytpdCkK
KyAgICAgICAgaWYgKCppdCA9PSAidmlkZW8iKQorICAgICAgICAgICAgdmlkZW8gPSB0cnVlOwor
ICAgICAgICBlbHNlIGlmICgqaXQgPT0gImF1ZGlvIikKKyAgICAgICAgICAgIGF1ZGlvID0gdHJ1
ZTsKKworICAgIGlmICghYXVkaW8gJiYgIXZpZGVvKQorICAgICAgICByZXR1cm4gZmFsc2U7CisK
KyAgICBtX3N0cmVhbVJlcXVlc3RzLnNldChtX25leHRTdHJlYW1SZXF1ZXN0SWQsIGFkb3B0UmVm
KG5ldyBTdHJlYW1SZXF1ZXN0KHN1Y2Nlc3NDYWxsYmFjaywgZXJyb3JDYWxsYmFjaykpKTsKKyAg
ICBtX2NsaWVudC0+Z2VuZXJhdGVTdHJlYW0obV9uZXh0U3RyZWFtUmVxdWVzdElkLCB2aWRlbywg
YXVkaW8sIG1fZG9jdW1lbnQtPnNlY3VyaXR5T3JpZ2luKCkpOworICAgICsrbV9uZXh0U3RyZWFt
UmVxdWVzdElkOworICAgIHJldHVybiB0cnVlOworfQorCit2b2lkIFN0cmVhbUNvbnRyb2xsZXI6
OnN0cmVhbUdlbmVyYXRlZChpbnQgcmVxdWVzdElkLCBpbnQgc3RyZWFtSWQsIGNvbnN0IFN0cmlu
ZyYgbGFiZWwpCit7CisgICAgQVNTRVJUKG1fc3RyZWFtUmVxdWVzdHMuY29udGFpbnMocmVxdWVz
dElkKSk7CisKKyAgICAvLyBGSVhNRTogaW1wbGVtZW50IEdlbmVyYXRlZFN0cmVhbSBvYmplY3Qg
Y3JlYXRpb24gYW5kIHNjaGVkdWxlIHRoZSBzdWNjZXNzIGNhbGxiYWNrLgorCisgICAgbV9zdHJl
YW1SZXF1ZXN0cy5yZW1vdmUocmVxdWVzdElkKTsKK30KKwordm9pZCBTdHJlYW1Db250cm9sbGVy
OjpzdHJlYW1HZW5lcmF0aW9uRmFpbGVkKGludCByZXF1ZXN0SWQsIHVuc2lnbmVkIHNob3J0IGNv
ZGUpCit7CisgICAgQVNTRVJUKG1fc3RyZWFtUmVxdWVzdHMuY29udGFpbnMocmVxdWVzdElkKSk7
CisgICAgUmVmUHRyPFN0cmVhbVJlcXVlc3Q+IHN0cmVhbVJlcXVlc3QgPSBtX3N0cmVhbVJlcXVl
c3RzLmdldChyZXF1ZXN0SWQpOworICAgIEFTU0VSVChzdHJlYW1SZXF1ZXN0LmdldCgpKTsKKwor
ICAgIGlmIChSZWZQdHI8TmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjaz4gZXJyb3JDYWxs
YmFjayA9IHN0cmVhbVJlcXVlc3QtPm1fZXJyb3JDYWxsYmFjaykgeworICAgICAgICBSZWZQdHI8
TmF2aWdhdG9yVXNlck1lZGlhRXJyb3I+IGVycm9yID0gYWRvcHRSZWYobmV3IE5hdmlnYXRvclVz
ZXJNZWRpYUVycm9yKGNvZGUpKTsKKyAgICAgICAgZXJyb3JDYWxsYmFjay0+c2NoZWR1bGVDYWxs
YmFjayhtX2RvY3VtZW50LCBlcnJvci5nZXQoKSk7CisgICAgfQorCisgICAgbV9zdHJlYW1SZXF1
ZXN0cy5yZW1vdmUocmVxdWVzdElkKTsKK30KKworU3RyZWFtQ29udHJvbGxlcjo6U3RyZWFtUmVx
dWVzdDo6U3RyZWFtUmVxdWVzdChQYXNzUmVmUHRyPE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3ND
YWxsYmFjaz4gc3VjY2Vzc0NhbGxiYWNrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBQYXNzUmVmUHRyPE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJh
Y2s+IGVycm9yQ2FsbGJhY2spCisgICAgOiBtX3N1Y2Nlc3NDYWxsYmFjayhzdWNjZXNzQ2FsbGJh
Y2spCisgICAgLCBtX2Vycm9yQ2FsbGJhY2soZXJyb3JDYWxsYmFjaykKK3sKK30KKworfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVBTSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3RyZWFtQ29udHJvbGxlci5oIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9TdHJlYW1Db250cm9sbGVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTc2MjliYmQ5YzNkNDUz
ZmU3ZTE5MWM0ZmM2ODRiNjdmNDRiN2IwMAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvU3RyZWFtQ29udHJvbGxlci5oCkBAIC0wLDAgKzEsODYgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0
aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5h
bWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVj
aWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFT
IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAor
ICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFN0cmVh
bUNvbnRyb2xsZXJfaAorI2RlZmluZSBTdHJlYW1Db250cm9sbGVyX2gKKworI2lmIEVOQUJMRShN
RURJQV9TVFJFQU0pCisKKyNpbmNsdWRlICJLVVJMLmgiCisjaW5jbHVkZSAiTmF2aWdhdG9yVXNl
ck1lZGlhRXJyb3JDYWxsYmFjay5oIgorI2luY2x1ZGUgIk5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nl
c3NDYWxsYmFjay5oIgorI2luY2x1ZGUgIlN0cmVhbUxpc3RlbmVyLmgiCisjaW5jbHVkZSA8d3Rm
L0ZvcndhcmQuaD4KKyNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgorI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKworY2xhc3MgRG9jdW1lbnQ7CitjbGFzcyBTdHJlYW1DbGllbnQ7CisKK2NsYXNzIFN0
cmVhbUNvbnRyb2xsZXIgOiBwdWJsaWMgU3RyZWFtTGlzdGVuZXIgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFN0cmVhbUNvbnRyb2xsZXIpOworcHVibGljOgorICAgIFN0cmVhbUNvbnRyb2xs
ZXIoU3RyZWFtQ2xpZW50KiwgRG9jdW1lbnQqKTsKKyAgICB2aXJ0dWFsIH5TdHJlYW1Db250cm9s
bGVyKCk7CisKKyAgICAvLyBDcmVhdGUgYSBuZXcgZ2VuZXJhdGVkIHN0cmVhbSBhc3luY2hyb25v
dXNseSB3aXRoIHRoZSBwcm92aWRlZCBvcHRpb25zLgorICAgIGJvb2wgZ2VuZXJhdGVTdHJlYW0o
Y29uc3QgU3RyaW5nJiBvcHRpb25zLAorICAgICAgICAgICAgICAgICAgICAgICAgUGFzc1JlZlB0
cjxOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2s+LAorICAgICAgICAgICAgICAgICAg
ICAgICAgUGFzc1JlZlB0cjxOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrPik7CisKKyAg
ICAvLyBTdHJlYW1MaXN0ZW5lciBpbXBsZW1lbnRhdGlvbi4KKyAgICB2aXJ0dWFsIHZvaWQgc3Ry
ZWFtR2VuZXJhdGVkKGludCByZXF1ZXN0SWQsIGludCBzdHJlYW1JZCwgY29uc3QgU3RyaW5nJiBs
YWJlbCk7CisgICAgdmlydHVhbCB2b2lkIHN0cmVhbUdlbmVyYXRpb25GYWlsZWQoaW50IHJlcXVl
c3RJZCwgdW5zaWduZWQgc2hvcnQgY29kZSk7CisKK3ByaXZhdGU6CisgICAgc3RydWN0IFN0cmVh
bVJlcXVlc3QgOiBwdWJsaWMgUmVmQ291bnRlZDxTdHJlYW1SZXF1ZXN0PiB7CisgICAgICAgIFN0
cmVhbVJlcXVlc3QoUGFzc1JlZlB0cjxOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2s+
LAorICAgICAgICAgICAgICAgICAgICAgIFBhc3NSZWZQdHI8TmF2aWdhdG9yVXNlck1lZGlhRXJy
b3JDYWxsYmFjaz4pOworCisgICAgICAgIFJlZlB0cjxOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNz
Q2FsbGJhY2s+IG1fc3VjY2Vzc0NhbGxiYWNrOworICAgICAgICBSZWZQdHI8TmF2aWdhdG9yVXNl
ck1lZGlhRXJyb3JDYWxsYmFjaz4gbV9lcnJvckNhbGxiYWNrOworICAgIH07CisKKyAgICB0eXBl
ZGVmIEhhc2hNYXA8aW50LCBSZWZQdHI8U3RyZWFtUmVxdWVzdD4gPiBTdHJlYW1SZXF1ZXN0TWFw
OworCisgICAgU3RyZWFtQ2xpZW50KiBtX2NsaWVudDsKKyAgICBEb2N1bWVudCogbV9kb2N1bWVu
dDsKKyAgICBTdHJlYW1SZXF1ZXN0TWFwIG1fc3RyZWFtUmVxdWVzdHM7CisgICAgaW50IG1fbmV4
dFN0cmVhbVJlcXVlc3RJZDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlm
IC8vIEVOQUJMRShNRURJQV9TVFJFQU0pCisKKyNlbmRpZiAvLyBTdHJlYW1Db250cm9sbGVyX2gK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3RyZWFtTGlzdGVuZXIuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvU3RyZWFtTGlzdGVuZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45MDE2NDVhYjBhM2Y3
MWQ0ODUzMzRhMjM0M2IxOTkxMTdmMzhhMGVmCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9TdHJlYW1MaXN0ZW5lci5oCkBAIC0wLDAgKzEsNjAgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgor
ICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9m
IGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QK
KyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFN0cmVhbUxpc3Rl
bmVyX2gKKyNkZWZpbmUgU3RyZWFtTGlzdGVuZXJfaAorCisjaWYgRU5BQkxFKE1FRElBX1NUUkVB
TSkKKworI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
KworLy8gVGhpcyBpbnRlcmZhY2UgY29tcG9zZXMgdGhlIGRpZmZlcmVudCBraW5kcyBvZiBpbmNv
bWluZyBtZXNzYWdlcyBzbyB0aGF0IHRoZXkgY2FuCisvLyBiZSBpbXBsZW1lbnRlZCBieSBib3Ro
IHRoZSBTdHJlYW1Db250cm9sbGVyIGFuZCB0aGUgU3RyZWFtQ2xpZW50TW9jay4KK2NsYXNzIFN0
cmVhbUxpc3RlbmVyICB7CitwdWJsaWM6CisKKyAgICAvLyBSZXBvcnQgdGhlIGdlbmVyYXRpb24g
b2YgYSBuZXcgbG9jYWwgc3RyZWFtLgorICAgIC8vIFRoZSBzdHJlYW0gaWQgc2hvdWxkIGJlIGEg
dW5pcXVlIGludGVnZXIgcmVwcmVzZW50aW5nIHRoZSBzdHJlYW0gb2JqZWN0IGluIGEgMToxIHJl
bGF0aW9uIHdpdGggdGhlIGxhYmVsLgorICAgIC8vIFRoZSBpZCBzaG91bGQgYmUgcHJvdmlkZWQg
YnkgdGhlIFVBIGFuZCB3aWxsIGJlIHVzZWQgaW50ZXJuYWxseSBpbnN0ZWFkIG9mIHRoZSBsYWJl
bCB0byBzaW1wbGlmeSBvcGVyYXRpb25zLgorICAgIHZpcnR1YWwgdm9pZCBzdHJlYW1HZW5lcmF0
ZWQoaW50IHJlcXVlc3RJZCwgaW50IHN0cmVhbUlkLCBjb25zdCBTdHJpbmcmIGxhYmVsKSA9IDA7
CisKKyAgICAvLyBSZXBvcnQgYSBmYWlsdXJlIGluIHRoZSBnZW5lcmF0aW9uIG9mIGEgbmV3IHN0
cmVhbS4KKyAgICB2aXJ0dWFsIHZvaWQgc3RyZWFtR2VuZXJhdGlvbkZhaWxlZChpbnQgcmVxdWVz
dElkLCB1bnNpZ25lZCBzaG9ydCBjb2RlKSA9IDA7CisKKyAgICB2aXJ0dWFsIH5TdHJlYW1MaXN0
ZW5lcigpIHsgfQorfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5B
QkxFKE1FRElBX1NUUkVBTSkKKworI2VuZGlmIC8vIFN0cmVhbUxpc3RlbmVyX2gK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>86181</attachid>
            <date>2011-03-18 11:17:36 -0700</date>
            <delta_ts>2011-03-18 12:46:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-56586-20110318181733.patch</filename>
            <type>text/plain</type>
            <size>64535</size>
            <attacher name="Leandro Graciá Gil">leandrogracia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQKaW5kZXggYzJjZjg2YjU3M2Q4MzA1OWRjMmQzZjc0ZmFiZmM3ODkw
ZGM1OGFmZi4uNmJjYmRhNGUyOGYzYThiZWVjMTFhOTgwZjcxNTgxNjUxZGY5NWEwNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUv
Q01ha2VMaXN0cy50eHQKQEAgLTMzNSw2ICszMzUsOSBAQCBTRVQoV2ViQ29yZV9JRExfRklMRVMK
ICAgICBwYWdlL0xvY2F0aW9uLmlkbAogICAgIHBhZ2UvTWVtb3J5SW5mby5pZGwKICAgICBwYWdl
L05hdmlnYXRvci5pZGwKKyAgICBwYWdlL05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmlkbAorICAg
IHBhZ2UvTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5pZGwKKyAgICBwYWdlL05hdmln
YXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5pZGwKICAgICBwYWdlL1BlcmZvcm1hbmNlLmlk
bAogICAgIHBhZ2UvUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmlkbAogICAgIHBhZ2UvUGVyZm9ybWFu
Y2VUaW1pbmcuaWRsCkBAIC0xMTY2LDYgKzExNjksNyBAQCBTRVQoV2ViQ29yZV9TT1VSQ0VTCiAg
ICAgcGFnZS9Nb3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1bHRzLmNwcAogICAgIHBhZ2UvTmF2aWdh
dG9yLmNwcAogICAgIHBhZ2UvTmF2aWdhdG9yQmFzZS5jcHAKKyAgICBwYWdlL05hdmlnYXRvclVz
ZXJNZWRpYUVycm9yQ2FsbGJhY2suY3BwCiAgICAgcGFnZS9PcmlnaW5BY2Nlc3NFbnRyeS5jcHAK
ICAgICBwYWdlL1BhZ2UuY3BwCiAgICAgcGFnZS9QYWdlR3JvdXAuY3BwCkBAIC0xMTc4LDYgKzEx
ODIsNyBAQCBTRVQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgcGFnZS9TY3JlZW4uY3BwCiAgICAgcGFn
ZS9TZWN1cml0eU9yaWdpbi5jcHAKICAgICBwYWdlL1NldHRpbmdzLmNwcAorICAgIHBhZ2UvU3Ry
ZWFtQ29udHJvbGxlci5jcHAKICAgICBwYWdlL1NwYXRpYWxOYXZpZ2F0aW9uLmNwcAogICAgIHBh
Z2UvU3VzcGVuZGFibGVUaW1lci5jcHAKICAgICBwYWdlL1VzZXJDb250ZW50VVJMUGF0dGVybi5j
cHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZwppbmRleCAzNDgzY2Y1ZjY5MDgxZDIzM2E5MGNkZDA1NTIxN2I2ZDFmZWU3Nzk1
Li40YjIwODJmZTNiODMzMGIwNWNkNGVmNmJlMDRkNGE4YzRkZjhkM2FlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBA
IC0yLDYgKzIsNjIgQEAKIAogICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KIAor
ICAgICAgICBNZWRpYSBTdHJlYW0gQVBJIHBhdGNoIDE6IGFkZGluZyB0aGUgZ2V0VXNlck1lZGlh
IG1ldGhvZCBhbmQgdGhlIGJhc2ljIHNrZWxldG9uLgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTY1ODYKKworICAgICAgICBBZGQgdGhlIGdldFVzZXJN
ZWRpYSBtZXRob2QgdG8gdGhlIG5hdmlnYXRvciBhbG9uZyBpdHMgZXJyb3IgYW5kIGNhbGxiYWNr
IEpTIHR5cGVzCisgICAgICAgIGFuZCB0aGUgYmFzaWMgc2tlbGV0b24gZm9yIHRoZSBzdHJlYW0g
Y29udHJvbGxlciBhbmQgdGhlIGNsaWVudCBhbmQgbGlzdGVuZXIgaW50ZXJmYWNlcy4KKworICAg
ICAgICBUZXN0cyB3aWxsIGJlIHByb3ZpZGVkIGJ5IHRoZSBidWcgNTY1ODcgdG9nZXRoZXIgd2l0
aCB0aGUgTGF5b3V0VGVzdENvbnRyb2xsZXIgYW5kIGNsaWVudCBtb2NrIGNvZGUuCisKKyAgICAg
ICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBDb2RlR2VuZXJhdG9ycy5wcmk6CisgICAg
ICAgICogRGVyaXZlZFNvdXJjZXMuY3BwOgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6
CisgICAgICAgICogR05VbWFrZWZpbGUuYW06CisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAg
ICAgICAqIFdlYkNvcmUucHJvOgorICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNw
cm9qOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAg
ICAgKiBwYWdlL05hdmlnYXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0b3I6Omdl
dFVzZXJNZWRpYSk6CisgICAgICAgICogcGFnZS9OYXZpZ2F0b3IuaDoKKyAgICAgICAgKiBwYWdl
L05hdmlnYXRvci5pZGw6CisgICAgICAgICogcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5o
OiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRvclVzZXJNZWRpYUVycm9yOjpOYXZp
Z2F0b3JVc2VyTWVkaWFFcnJvcik6CisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0b3JVc2VyTWVk
aWFFcnJvcjo6fk5hdmlnYXRvclVzZXJNZWRpYUVycm9yKToKKyAgICAgICAgKFdlYkNvcmU6Ok5h
dmlnYXRvclVzZXJNZWRpYUVycm9yOjpjb2RlKToKKyAgICAgICAgKiBwYWdlL05hdmlnYXRvclVz
ZXJNZWRpYUVycm9yLmlkbDogQWRkZWQuCisgICAgICAgICogcGFnZS9OYXZpZ2F0b3JVc2VyTWVk
aWFFcnJvckNhbGxiYWNrLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0b3JV
c2VyTWVkaWFFcnJvckNhbGxiYWNrOjpzY2hlZHVsZUNhbGxiYWNrKToKKyAgICAgICAgKiBwYWdl
L05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2suaDogQWRkZWQuCisgICAgICAgIChXZWJD
b3JlOjpOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrOjp+TmF2aWdhdG9yVXNlck1lZGlh
RXJyb3JDYWxsYmFjayk6CisgICAgICAgICogcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNh
bGxiYWNrLmlkbDogQWRkZWQuCisgICAgICAgICogcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFTdWNj
ZXNzQ2FsbGJhY2suaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0b3JVc2VyTWVk
aWFTdWNjZXNzQ2FsbGJhY2s6On5OYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2spOgor
ICAgICAgICAqIHBhZ2UvTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmlkbDogQWRk
ZWQuCisgICAgICAgICogcGFnZS9QYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OlBh
Z2UpOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6c3RyZWFtQ29udHJvbGxlcik6CisgICAgICAg
IChXZWJDb3JlOjpQYWdlOjpQYWdlQ2xpZW50czo6UGFnZUNsaWVudHMpOgorICAgICAgICAqIHBh
Z2UvUGFnZS5oOgorICAgICAgICAqIHBhZ2UvU3RyZWFtQ2xpZW50Lmg6IEFkZGVkLgorICAgICAg
ICAoV2ViQ29yZTo6U3RyZWFtQ2xpZW50Ojp+U3RyZWFtQ2xpZW50KToKKyAgICAgICAgKiBwYWdl
L1N0cmVhbUNvbnRyb2xsZXIuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlN0cmVhbUNv
bnRyb2xsZXI6OlN0cmVhbUNvbnRyb2xsZXIpOgorICAgICAgICAoV2ViQ29yZTo6U3RyZWFtQ29u
dHJvbGxlcjo6flN0cmVhbUNvbnRyb2xsZXIpOgorICAgICAgICAoV2ViQ29yZTo6U3RyZWFtQ29u
dHJvbGxlcjo6Z2VuZXJhdGVTdHJlYW0pOgorICAgICAgICAoV2ViQ29yZTo6U3RyZWFtQ29udHJv
bGxlcjo6c3RyZWFtR2VuZXJhdGVkKToKKyAgICAgICAgKFdlYkNvcmU6OlN0cmVhbUNvbnRyb2xs
ZXI6OnN0cmVhbUdlbmVyYXRpb25GYWlsZWQpOgorICAgICAgICAoV2ViQ29yZTo6U3RyZWFtQ29u
dHJvbGxlcjo6U3RyZWFtUmVxdWVzdDo6U3RyZWFtUmVxdWVzdCk6CisgICAgICAgICogcGFnZS9T
dHJlYW1Db250cm9sbGVyLmg6IEFkZGVkLgorICAgICAgICAqIHBhZ2UvU3RyZWFtTGlzdGVuZXIu
aDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpTdHJlYW1MaXN0ZW5lcjo6flN0cmVhbUxpc3Rl
bmVyKToKKworMjAxMS0wMy0xNyAgTGVhbmRybyBHcmFjaWEgR2lsICA8bGVhbmRyb2dyYWNpYUBj
aHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKICAg
ICAgICAgTWVkaWEgU3RyZWFtIEFQSSBwYXRjaCAwOiBhZGRpbmcgY29tcGlsYXRpb24gZ3VhcmRz
LgogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTY0NTgK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ29kZUdlbmVyYXRvcnMucHJpIGIvU291cmNl
L1dlYkNvcmUvQ29kZUdlbmVyYXRvcnMucHJpCmluZGV4IGYxMGM4MWFlMDQ2OGE1MzI1NGFiM2E5
NDExYWMzM2I3ZjE3OTJmYjguLjg1MjZmNjMyMjAxNTJiOTg3MGRmNDJkMTNjNTY3ZGY3MjI2ZTQy
ZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NvZGVHZW5lcmF0b3JzLnByaQorKysgYi9T
b3VyY2UvV2ViQ29yZS9Db2RlR2VuZXJhdG9ycy5wcmkKQEAgLTMyNiw2ICszMjYsOSBAQCBJRExf
QklORElOR1MgKz0gXAogICAgIHBhZ2UvTG9jYXRpb24uaWRsIFwKICAgICBwYWdlL01lbW9yeUlu
Zm8uaWRsIFwKICAgICBwYWdlL05hdmlnYXRvci5pZGwgXAorICAgIHBhZ2UvTmF2aWdhdG9yVXNl
ck1lZGlhRXJyb3IuaWRsIFwKKyAgICBwYWdlL05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJh
Y2suaWRsIFwKKyAgICBwYWdlL05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5pZGwg
XAogICAgIHBhZ2UvUGVyZm9ybWFuY2UuaWRsIFwKICAgICBwYWdlL1BlcmZvcm1hbmNlTmF2aWdh
dGlvbi5pZGwgXAogICAgIHBhZ2UvUGVyZm9ybWFuY2VUaW1pbmcuaWRsIFwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2
ZWRTb3VyY2VzLmNwcAppbmRleCAyNDAyMmY3NGVmNmI4ODIzN2FlYmZiZTU5ODA4YzNiYTQ3N2Jm
ZTgyLi4yY2FlODBjM2UyNjI3MDYyZmVhZTgyY2VlOGJhYmJhYWIxMDgwNjZiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
RGVyaXZlZFNvdXJjZXMuY3BwCkBAIC0yNDUsNiArMjQ1LDkgQEAKICNpbmNsdWRlICJKU011dGF0
aW9uRXZlbnQuY3BwIgogI2luY2x1ZGUgIkpTTmFtZWROb2RlTWFwLmNwcCIKICNpbmNsdWRlICJK
U05hdmlnYXRvci5jcHAiCisjaW5jbHVkZSAiSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5jcHAi
CisjaW5jbHVkZSAiSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmNwcCIKKyNpbmNs
dWRlICJKU05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5jcHAiCiAjaW5jbHVkZSAi
SlNOb2RlLmNwcCIKICNpbmNsdWRlICJKU05vZGVGaWx0ZXIuY3BwIgogI2luY2x1ZGUgIkpTTm9k
ZUl0ZXJhdG9yLmNwcCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2Vz
Lm1ha2UgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IGI2MjAwMmQ0
Y2E3NDdmZWIyN2U3MDc3YTg1MzRjMmE0NDYxZDg4MGUuLjI1ODY1NDA3M2ZkMzIxZGNiZTI3NTll
ZTkyMjNlOGJjM2I1OWZiYjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLm1ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtMzA3
LDYgKzMwNyw5IEBAIERPTV9DTEFTU0VTID0gXAogICAgIE11dGF0aW9uRXZlbnQgXAogICAgIE5h
bWVkTm9kZU1hcCBcCiAgICAgTmF2aWdhdG9yIFwKKyAgICBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJv
ciBcCisgICAgTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjayBcCisgICAgTmF2aWdhdG9y
VXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrIFwKICAgICBOb2RlIFwKICAgICBOb2RlRmlsdGVyIFwK
ICAgICBOb2RlSXRlcmF0b3IgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZp
bGUuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQppbmRleCBiYTAzYTUwYmVkYjgz
YTJiZjY1MTMyNzRkZDY5NzM4NDJiMmZhYThmLi4zNTY4ZmRkYTM1N2UxNzNjYzI5Y2Y1MjQ4OWQx
OGZhZDY5Y2U2MGZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQpAQCAtNDcwLDYgKzQ3MCwxMiBAQCB3
ZWJjb3JlX2J1aWx0X3NvdXJjZXMgKz0gXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOYW1l
ZE5vZGVNYXAuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05hdmlnYXRvci5jcHAgXAog
CURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOYXZpZ2F0b3IuaCBcCisJRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmNwcCBcCisJRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmggXAorCURlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmNwcCBcCisJRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2suaCBcCisJRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5j
cHAgXAorCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNz
Q2FsbGJhY2suaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05vZGUuY3BwIFwKIAlEZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTTm9kZUZpbHRlci5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNOb2RlRmlsdGVyLmggXApAQCAtMjI2Niw2ICsyMjcyLDEwIEBAIHdlYmNvcmVfc291
cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3IuaCBcCiAJU291cmNlL1dl
YkNvcmUvcGFnZS9OYXZpZ2F0b3JCYXNlLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGFnZS9OYXZp
Z2F0b3JCYXNlLmggXAorCVNvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yVXNlck1lZGlhRXJy
b3IuaCBcCisJU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxi
YWNrLmNwcCBcCisJU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNh
bGxiYWNrLmggXAorCVNvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vz
c0NhbGxiYWNrLmggXAogCVNvdXJjZS9XZWJDb3JlL3BhZ2UvT3JpZ2luQWNjZXNzRW50cnkuY3Bw
IFwKIAlTb3VyY2UvV2ViQ29yZS9wYWdlL09yaWdpbkFjY2Vzc0VudHJ5LmggXAogCVNvdXJjZS9X
ZWJDb3JlL3BhZ2UvUGFnZS5jcHAgXApAQCAtMjMwOCw2ICsyMzE4LDEwIEBAIHdlYmNvcmVfc291
cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvcGFnZS9TcGVlY2hJbnB1dFJlc3VsdC5oIFwKIAlT
b3VyY2UvV2ViQ29yZS9wYWdlL1NwZWVjaElucHV0UmVzdWx0TGlzdC5jcHAgXAogCVNvdXJjZS9X
ZWJDb3JlL3BhZ2UvU3BlZWNoSW5wdXRSZXN1bHRMaXN0LmggXAorCVNvdXJjZS9XZWJDb3JlL3Bh
Z2UvU3RyZWFtQ2xpZW50LmggXAorCVNvdXJjZS9XZWJDb3JlL3BhZ2UvU3RyZWFtQ29udHJvbGxl
ci5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL3BhZ2UvU3RyZWFtQ29udHJvbGxlci5oIFwKKwlTb3Vy
Y2UvV2ViQ29yZS9wYWdlL1N0cmVhbUxpc3RlbmVyLmggXAogCVNvdXJjZS9XZWJDb3JlL3BhZ2Uv
U3VzcGVuZGFibGVUaW1lci5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3BhZ2UvU3VzcGVuZGFibGVU
aW1lci5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wYWdlL1VzZXJDb250ZW50VHlwZXMuaCBcCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLmd5cGkKaW5kZXggMmU2MThmOWE2NzZhM2QwYTBlMTZjMmZiMDAwNzM5OGQzYzlmZjRjNC4u
ZWMwYThkYTRjMzAzZmRjZWMwNWU4NjllNDViZWQ0YmQ5MmMzN2IwNCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lw
aQpAQCAtMTUxMyw2ICsxNTEzLDkgQEAKICAgICAgICAgICAgICdwYWdlL0xvY2F0aW9uLmlkbCcs
CiAgICAgICAgICAgICAncGFnZS9NZW1vcnlJbmZvLmlkbCcsCiAgICAgICAgICAgICAncGFnZS9O
YXZpZ2F0b3IuaWRsJywKKyAgICAgICAgICAgICdwYWdlL05hdmlnYXRvclVzZXJNZWRpYUVycm9y
LmlkbCcsCisgICAgICAgICAgICAncGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNr
LmlkbCcsCisgICAgICAgICAgICAncGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJh
Y2suaWRsJywKICAgICAgICAgICAgICdwYWdlL1BlcmZvcm1hbmNlLmlkbCcsCiAgICAgICAgICAg
ICAncGFnZS9QZXJmb3JtYW5jZU5hdmlnYXRpb24uaWRsJywKICAgICAgICAgICAgICdwYWdlL1Bl
cmZvcm1hbmNlVGltaW5nLmlkbCcsCkBAIC0zNTY3LDYgKzM1NzAsMTAgQEAKICAgICAgICAgICAg
ICdwYWdlL05hdmlnYXRvci5oJywKICAgICAgICAgICAgICdwYWdlL05hdmlnYXRvckJhc2UuY3Bw
JywKICAgICAgICAgICAgICdwYWdlL05hdmlnYXRvckJhc2UuaCcsCisgICAgICAgICAgICAncGFn
ZS9OYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5oJywKKyAgICAgICAgICAgICdwYWdlL05hdmlnYXRv
clVzZXJNZWRpYUVycm9yQ2FsbGJhY2suY3BwJywKKyAgICAgICAgICAgICdwYWdlL05hdmlnYXRv
clVzZXJNZWRpYUVycm9yQ2FsbGJhY2suaCcsCisgICAgICAgICAgICAncGFnZS9OYXZpZ2F0b3JV
c2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suaCcsCiAgICAgICAgICAgICAncGFnZS9PcmlnaW5BY2Nl
c3NFbnRyeS5jcHAnLAogICAgICAgICAgICAgJ3BhZ2UvT3JpZ2luQWNjZXNzRW50cnkuaCcsCiAg
ICAgICAgICAgICAncGFnZS9QYWdlLmNwcCcsCkBAIC0zNTk3LDYgKzM2MDQsMTAgQEAKICAgICAg
ICAgICAgICdwYWdlL1NwZWVjaElucHV0UmVzdWx0LmgnLAogICAgICAgICAgICAgJ3BhZ2UvU3Bl
ZWNoSW5wdXRSZXN1bHRMaXN0LmNwcCcsCiAgICAgICAgICAgICAncGFnZS9TcGVlY2hJbnB1dFJl
c3VsdExpc3QuaCcsCisgICAgICAgICAgICAncGFnZS9TdHJlYW1DbGllbnQuaCcsCisgICAgICAg
ICAgICAncGFnZS9TdHJlYW1MaXN0ZW5lci5oJywKKyAgICAgICAgICAgICdwYWdlL1N0cmVhbUNv
bnRyb2xsZXIuY3BwJywKKyAgICAgICAgICAgICdwYWdlL1N0cmVhbUNvbnRyb2xsZXIuaCcsCiAg
ICAgICAgICAgICAncGFnZS9TdXNwZW5kYWJsZVRpbWVyLmNwcCcsCiAgICAgICAgICAgICAncGFn
ZS9TdXNwZW5kYWJsZVRpbWVyLmgnLAogICAgICAgICAgICAgJ3BhZ2UvVXNlckNvbnRlbnRVUkxQ
YXR0ZXJuLmNwcCcsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnBybyBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvCmluZGV4IDU0YzAwOTlhMzAxYjU3ODgwMTMyZWUwMDAy
YTkyNDhlYTNlNWJhYTMuLjE5OTMzOTBiZTllMDY1NjQ0OTI3NjlmYmYyNmUyNWYyNWI1M2ViOWYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvCisrKyBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUucHJvCkBAIC05MDYsNiArOTA2LDcgQEAgU09VUkNFUyArPSBcCiAgICAgcGFn
ZS9NZW1vcnlJbmZvLmNwcCBcCiAgICAgcGFnZS9Nb3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1bHRz
LmNwcCBcCiAgICAgcGFnZS9OYXZpZ2F0b3IuY3BwIFwKKyAgICBwYWdlL05hdmlnYXRvclVzZXJN
ZWRpYUVycm9yQ2FsbGJhY2suY3BwIFwKICAgICBwYWdlL05hdmlnYXRvckJhc2UuY3BwIFwKICAg
ICBwYWdlL09yaWdpbkFjY2Vzc0VudHJ5LmNwcCBcCiAgICAgcGFnZS9QYWdlLmNwcCBcCkBAIC05
MjAsNiArOTIxLDcgQEAgU09VUkNFUyArPSBcCiAgICAgcGFnZS9TZWN1cml0eU9yaWdpbi5jcHAg
XAogICAgIHBhZ2UvU2V0dGluZ3MuY3BwIFwKICAgICBwYWdlL1NwYXRpYWxOYXZpZ2F0aW9uLmNw
cCBcCisgICAgcGFnZS9TdHJlYW1Db250cm9sbGVyLmNwcCBcCiAgICAgcGFnZS9TdXNwZW5kYWJs
ZVRpbWVyLmNwcCBcCiAgICAgcGFnZS9Vc2VyQ29udGVudFVSTFBhdHRlcm4uY3BwIFwKICAgICBw
YWdlL1dpbmRvd0ZlYXR1cmVzLmNwcCBcCkBAIC0xODMyLDYgKzE4MzQsOSBAQCBIRUFERVJTICs9
IFwKICAgICBwYWdlL01vdXNlRXZlbnRXaXRoSGl0VGVzdFJlc3VsdHMuaCBcCiAgICAgcGFnZS9O
YXZpZ2F0b3JCYXNlLmggXAogICAgIHBhZ2UvTmF2aWdhdG9yLmggXAorICAgIHBhZ2UvTmF2aWdh
dG9yVXNlck1lZGlhRXJyb3IuaCBcCisgICAgcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNh
bGxiYWNrLmggXAorICAgIHBhZ2UvTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmgg
XAogICAgIHBhZ2UvUGFnZUdyb3VwLmggXAogICAgIHBhZ2UvUGFnZUdyb3VwTG9hZERlZmVycmVy
LmggXAogICAgIHBhZ2UvUGFnZS5oIFwKQEAgLTE4NDgsNiArMTg1Myw5IEBAIEhFQURFUlMgKz0g
XAogICAgIHBhZ2UvU3BlZWNoSW5wdXRMaXN0ZW5lci5oIFwKICAgICBwYWdlL1NwZWVjaElucHV0
UmVzdWx0LmggXAogICAgIHBhZ2UvU3BlZWNoSW5wdXRSZXN1bHRMaXN0LmggXAorICAgIHBhZ2Uv
U3RyZWFtQ2xpZW50LmggXAorICAgIHBhZ2UvU3RyZWFtQ29udHJvbGxlci5oIFwKKyAgICBwYWdl
L1N0cmVhbUxpc3RlbmVyLmggXAogICAgIHBhZ2UvV2ViS2l0QW5pbWF0aW9uLmggXAogICAgIHBh
Z2UvV2ViS2l0QW5pbWF0aW9uTGlzdC5oIFwKICAgICBwYWdlL1dpbmRvd0ZlYXR1cmVzLmggXApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2og
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagppbmRleCA3M2Zl
ZjEzZGVlMDcyZDVjOGRjNTYxM2EyNTI5YWM4ZDk2YjZiMjU0Li4wZTA0Yzc5MDRhYjIzYzlkZTA0
YmQzYThmNjljOGU1YTdmNDY0MThjIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJv
ai9XZWJDb3JlLnZjcHJvagpAQCAtMTE4NzgsNiArMTE4NzgsMTc0IEBACiAJCQkJPgogCQkJPC9G
aWxlPgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGly
KVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNOYXZpZ2F0b3JVc2VyTWVkaWFF
cnJvci5jcHAiCisJCQkJPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1
Z3xXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRv
b2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29u
ZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUmVsZWFzZXxX
aW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wK
KwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmln
dXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWdfQ2Fpcm9f
Q0ZMaXRlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJ
CQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0Zp
bGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJSZWxl
YXNlX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJ
CQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+
CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJ
TmFtZT0iRGVidWdfQWxsfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJ
CQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4K
KwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlO
YW1lPSJSZWxlYXNlX0xUQ0d8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgor
CQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkv
PgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJl
bGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxE
ZXJpdmVkU291cmNlc1xKU05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmgiCisJCQkJPgorCQkJPC9G
aWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGly
KVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNOYXZpZ2F0b3JVc2VyTWVkaWFF
cnJvckNhbGxiYWNrLmNwcCIKKwkJCQk+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5h
bWU9IkRlYnVnfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgor
CQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8
L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJS
ZWxlYXNlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJ
CQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0Zp
bGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1
Z19DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJ
CQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgor
CQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5h
bWU9IlJlbGVhc2VfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0i
dHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIK
KwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlv
bgorCQkJCQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0
cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgor
CQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9u
CisJCQkJCU5hbWU9IlJlbGVhc2VfTFRDR3xXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9
InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wi
CisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCTwvRmlsZT4KKwkJCTxGaWxl
CisJCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVj
dE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5o
IgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZp
Z3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTmF2
aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmNwcCIKKwkJCQk+CisJCQkJPEZpbGVDb25m
aWd1cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWls
ZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9v
bCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJh
dGlvbgorCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0i
dHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIK
KwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlv
bgorCQkJCQlOYW1lPSJEZWJ1Z19DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJv
bUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGls
ZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25m
aWd1cmF0aW9uCisJCQkJCU5hbWU9IlJlbGVhc2VfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQlF
eGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0i
VkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJ
CTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIiCisJCQkJCUV4
Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJW
Q0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJ
PEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IlJlbGVhc2VfTFRDR3xXaW4zMiIKKwkJCQkJ
RXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9
IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJ
CTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRpb25CdWls
ZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTmF2aWdhdG9yVXNlck1l
ZGlhU3VjY2Vzc0NhbGxiYWNrLmgiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKIAkJCQlS
ZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlc
RGVyaXZlZFNvdXJjZXNcSlNOb2RlLmNwcCIKIAkJCQk+CiAJCQkJPEZpbGVDb25maWd1cmF0aW9u
CkBAIC0yNDg5NCw2ICsyNTA2MiwyNiBAQAogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCisJ
CQkJUmVsYXRpdmVQYXRoPSIuLlxwYWdlXE5hdmlnYXRvclVzZXJNZWRpYUVycm9yLmgiCisJCQkJ
PgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHBhZ2VcTmF2aWdh
dG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5jcHAiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZp
bGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHBhZ2VcTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxs
YmFjay5oIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIu
LlxwYWdlXE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5jcHAiCisJCQkJPgorCQkJ
PC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHBhZ2VcTmF2aWdhdG9yVXNl
ck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmgiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKIAkJ
CQlSZWxhdGl2ZVBhdGg9Ii4uXHBhZ2VcT3JpZ2luQWNjZXNzRW50cnkuY3BwIgogCQkJCT4KIAkJ
CTwvRmlsZT4KQEAgLTI1MDMwLDYgKzI1MjE4LDIyIEBACiAJCQkJPgogCQkJPC9GaWxlPgogCQkJ
PEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHBhZ2VcU3RyZWFtQ2xpZW50LmgiCisJCQkJPgor
CQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHBhZ2VcU3RyZWFtQ29u
dHJvbGxlci5jcHAiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBh
dGg9Ii4uXHBhZ2VcU3RyZWFtQ29udHJvbGxlci5oIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxG
aWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxwYWdlXFN0cmVhbUxpc3RlbmVyLmgiCisJCQkJPgor
CQkJPC9GaWxlPgorCQkJPEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHBhZ2VcU3VzcGVuZGFi
bGVUaW1lci5jcHAiCiAJCQkJPgogCQkJPC9GaWxlPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGM5Y2Y5YjM4MmMyNGJjMmVlZWI5
M2I3NDY3YzI0YTQ3MjE0NjUzMzAuLjI4ZTQ1NmNmZjIxMTQ1M2NlYTA1Y2FjNzcwZjhjOGY4YzAw
MDY0ZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKQEAgLTQwNzgsNiArNDA3OCwxNyBAQAogCQlCMDE0OUU3RTExQTRCMjE1MDAxOTZB
N0IgLyogQXN5bmNJbWFnZVJlc2l6ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEIwMTQ5RTdBMTFBNEIyMTUwMDE5NkE3QiAvKiBBc3luY0ltYWdlUmVz
aXplci5oICovOyB9OwogCQlCMDE0OUU3RjExQTRCMjE1MDAxOTZBN0IgLyogSW1hZ2VSZXNpemVy
VGhyZWFkLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEIwMTQ5RTdCMTFBNEIyMTUwMDE5NkE3QiAvKiBJbWFnZVJlc2l6ZXJUaHJlYWQuY3BwICovOyB9
OwogCQlCMDE0OUU4MDExQTRCMjE1MDAxOTZBN0IgLyogSW1hZ2VSZXNpemVyVGhyZWFkLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMDE0OUU3QzExQTRC
MjE1MDAxOTZBN0IgLyogSW1hZ2VSZXNpemVyVGhyZWFkLmggKi87IH07CisJCUIxRTQ2QzA5MTMz
M0I1N0YwMDgyMkQ3RiAvKiBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjFFNDZDMDExMzMzQjU3RjAwODIyRDdG
IC8qIE5hdmlnYXRvclVzZXJNZWRpYUVycm9yLmggKi87IH07CisJCUIxRTQ2QzBCMTMzM0I1N0Yw
MDgyMkQ3RiAvKiBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIxRTQ2QzAzMTMzM0I1N0YwMDgy
MkQ3RiAvKiBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmNwcCAqLzsgfTsKKwkJQjFF
NDZDMEMxMzMzQjU3RjAwODIyRDdGIC8qIE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2su
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIxRTQ2QzA0
MTMzM0I1N0YwMDgyMkQ3RiAvKiBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmggKi87
IH07CisJCUIxRTQ2QzBFMTMzM0I1N0YwMDgyMkQ3RiAvKiBOYXZpZ2F0b3JVc2VyTWVkaWFTdWNj
ZXNzQ2FsbGJhY2suY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQjFFNDZDMDYxMzMzQjU3RjAwODIyRDdGIC8qIE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nl
c3NDYWxsYmFjay5jcHAgKi87IH07CisJCUIxRTQ2QzBGMTMzM0I1N0YwMDgyMkQ3RiAvKiBOYXZp
Z2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIxRTQ2QzA3MTMzM0I1N0YwMDgyMkQ3RiAvKiBOYXZpZ2F0
b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suaCAqLzsgfTsKKwkJQjFFNDZDNTIxMzMzQzFEQzAw
ODIyRDdGIC8qIEpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjFFNDZDNDQxMzMzQzFEQzAwODIyRDdGIC8q
IEpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuY3BwICovOyB9OworCQlCMUU0NkM1MzEzMzNDMURD
MDA4MjJEN0YgLyogSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjFFNDZDNDUxMzMzQzFEQzAwODIyRDdGIC8q
IEpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuaCAqLzsgfTsKKwkJQjFFNDZDNTQxMzMzQzFEQzAw
ODIyRDdGIC8qIEpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMUU0NkM0NjEzMzNDMURDMDA4
MjJEN0YgLyogSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmNwcCAqLzsgfTsKKwkJ
QjFFNDZDNTUxMzMzQzFEQzAwODIyRDdGIC8qIEpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxs
YmFjay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjFF
NDZDNDcxMzMzQzFEQzAwODIyRDdGIC8qIEpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFj
ay5oICovOyB9OworCQlCMUU0NkM1NjEzMzNDMURDMDA4MjJEN0YgLyogSlNOYXZpZ2F0b3JVc2Vy
TWVkaWFTdWNjZXNzQ2FsbGJhY2suY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQjFFNDZDNDgxMzMzQzFEQzAwODIyRDdGIC8qIEpTTmF2aWdhdG9yVXNl
ck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmNwcCAqLzsgfTsKKwkJQjFFNDZDNTcxMzMzQzFEQzAwODIy
RDdGIC8qIEpTTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMUU0NkM0OTEzMzNDMURDMDA4MjJE
N0YgLyogSlNOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suaCAqLzsgfTsKIAkJQjIw
MTExMDcwQUI3NzQwNTAwREIwRTY4IC8qIEpTU1ZHQUVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjIwMTExMDUwQUI3NzQwNTAwREIwRTY4
IC8qIEpTU1ZHQUVsZW1lbnQuY3BwICovOyB9OwogCQlCMjAxMTEwODBBQjc3NDA1MDBEQjBFNjgg
LyogSlNTVkdBRWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQjIwMTExMDYwQUI3NzQwNTAwREIwRTY4IC8qIEpTU1ZHQUVsZW1lbnQuaCAqLzsg
fTsKIAkJQjIyMjc5NjIwRDAwQkYyMjAwNzFCNzgyIC8qIENvbG9yRGlzdGFuY2UuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjIyMjc3Q0IwRDAwQkYx
RjAwNzFCNzgyIC8qIENvbG9yRGlzdGFuY2UuY3BwICovOyB9OwpAQCAtMTAzMTIsNiArMTAzMjMs
MjAgQEAKIAkJQjAxNDlFN0ExMUE0QjIxNTAwMTk2QTdCIC8qIEFzeW5jSW1hZ2VSZXNpemVyLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFzeW5jSW1hZ2VSZXNpemVyLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIwMTQ5RTdCMTFBNEIyMTUwMDE5NkE3QiAvKiBJ
bWFnZVJlc2l6ZXJUaHJlYWQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gSW1hZ2VSZXNpemVyVGhyZWFkLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
QjAxNDlFN0MxMUE0QjIxNTAwMTk2QTdCIC8qIEltYWdlUmVzaXplclRocmVhZC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbWFnZVJlc2l6ZXJUaHJlYWQuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjFFNDZDMDExMzMzQjU3RjAwODIyRDdGIC8qIE5hdmlnYXRv
clVzZXJNZWRpYUVycm9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5hdmln
YXRvclVzZXJNZWRpYUVycm9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIxRTQ2
QzAyMTMzM0I1N0YwMDgyMkQ3RiAvKiBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5pZGwgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSB0ZXh0OyBwYXRoID0gTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuaWRsOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQlCMUU0NkMwMzEzMzNCNTdGMDA4MjJEN0YgLyogTmF2aWdhdG9y
VXNlck1lZGlhRXJyb3JDYWxsYmFjay5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJQjFFNDZDMDQxMzMzQjU3RjAwODIyRDdGIC8qIE5hdmlnYXRvclVz
ZXJNZWRpYUVycm9yQ2FsbGJhY2suaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
TmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQlCMUU0NkMwNTEzMzNCNTdGMDA4MjJEN0YgLyogTmF2aWdhdG9yVXNlck1lZGlhRXJy
b3JDYWxsYmFjay5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gTmF2aWdhdG9yVXNlck1lZGlh
RXJyb3JDYWxsYmFjay5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIxRTQ2QzA2
MTMzM0I1N0YwMDgyMkQ3RiAvKiBOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTmF2aWdhdG9yVXNlck1lZGlh
U3VjY2Vzc0NhbGxiYWNrLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjFFNDZD
MDcxMzMzQjU3RjAwODIyRDdGIC8qIE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOYXZpZ2F0b3JVc2VyTWVkaWFTdWNj
ZXNzQ2FsbGJhY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjFFNDZDMDgxMzMz
QjU3RjAwODIyRDdGIC8qIE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5pZGwgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSB0ZXh0OyBwYXRoID0gTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmlk
bDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjFFNDZDNDQxMzMzQzFEQzAwODIyRDdG
IC8qIEpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCUIxRTQ2QzQ1MTMzM0MxREMwMDgyMkQ3RiAvKiBKU05hdmlnYXRv
clVzZXJNZWRpYUVycm9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTTmF2
aWdhdG9yVXNlck1lZGlhRXJyb3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjFF
NDZDNDYxMzMzQzFEQzAwODIyRDdGIC8qIEpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFj
ay5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU05hdmlnYXRvclVz
ZXJNZWRpYUVycm9yQ2FsbGJhY2suY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlC
MUU0NkM0NzEzMzNDMURDMDA4MjJEN0YgLyogSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxi
YWNrLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTTmF2aWdhdG9yVXNlck1l
ZGlhRXJyb3JDYWxsYmFjay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCMUU0NkM0
ODEzMzNDMURDMDA4MjJEN0YgLyogSlNOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2su
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNOYXZpZ2F0b3JVc2Vy
TWVkaWFTdWNjZXNzQ2FsbGJhY2suY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlC
MUU0NkM0OTEzMzNDMURDMDA4MjJEN0YgLyogSlNOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2Fs
bGJhY2suaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNOYXZpZ2F0b3JVc2Vy
TWVkaWFTdWNjZXNzQ2FsbGJhY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjIw
MTExMDUwQUI3NzQwNTAwREIwRTY4IC8qIEpTU1ZHQUVsZW1lbnQuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTU1ZHQUVsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlCMjAxMTEwNjBBQjc3NDA1MDBEQjBFNjggLyogSlNTVkdBRWxlbWVu
dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNTVkdBRWxlbWVudC5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCMjIyNzdDQjBEMDBCRjFGMDA3MUI3ODIgLyog
Q29sb3JEaXN0YW5jZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
Q29sb3JEaXN0YW5jZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNDE3MSw2
ICsxNDE5NiwxNCBAQAogCQkJCUE5QzZFNjVEMEQ3NDY2OTQwMDY0NDJFOSAvKiBOYXZpZ2F0b3Iu
aWRsICovLAogCQkJCUUxMjcxOUM5MEVFRUMyMTMwMEY2MTIxMyAvKiBOYXZpZ2F0b3JCYXNlLmNw
cCAqLywKIAkJCQlFMTI3MTlDNjBFRUVDMTY4MDBGNjEyMTMgLyogTmF2aWdhdG9yQmFzZS5oICov
LAorCQkJCUIxRTQ2QzAxMTMzM0I1N0YwMDgyMkQ3RiAvKiBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJv
ci5oICovLAorCQkJCUIxRTQ2QzAyMTMzM0I1N0YwMDgyMkQ3RiAvKiBOYXZpZ2F0b3JVc2VyTWVk
aWFFcnJvci5pZGwgKi8sCisJCQkJQjFFNDZDMDMxMzMzQjU3RjAwODIyRDdGIC8qIE5hdmlnYXRv
clVzZXJNZWRpYUVycm9yQ2FsbGJhY2suY3BwICovLAorCQkJCUIxRTQ2QzA0MTMzM0I1N0YwMDgy
MkQ3RiAvKiBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmggKi8sCisJCQkJQjFFNDZD
MDUxMzMzQjU3RjAwODIyRDdGIC8qIE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2suaWRs
ICovLAorCQkJCUIxRTQ2QzA2MTMzM0I1N0YwMDgyMkQ3RiAvKiBOYXZpZ2F0b3JVc2VyTWVkaWFT
dWNjZXNzQ2FsbGJhY2suY3BwICovLAorCQkJCUIxRTQ2QzA3MTMzM0I1N0YwMDgyMkQ3RiAvKiBO
YXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suaCAqLywKKwkJCQlCMUU0NkMwODEzMzNC
NTdGMDA4MjJEN0YgLyogTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmlkbCAqLywK
IAkJCQkwMDE0NjI4ODEwM0NEMURFMDAwQjIwREIgLyogT3JpZ2luQWNjZXNzRW50cnkuY3BwICov
LAogCQkJCTAwMTQ2Mjg5MTAzQ0QxREUwMDBCMjBEQiAvKiBPcmlnaW5BY2Nlc3NFbnRyeS5oICov
LAogCQkJCTY1RkVBODY4MDk4MzNBREUwMEJFRDRBQiAvKiBQYWdlLmNwcCAqLywKQEAgLTE4MjMy
LDYgKzE4MjY1LDEyIEBACiAJCQkJOUZGRTNFQTQxMUI1QTQzOTAwMzc4NzRFIC8qIEpTTWVtb3J5
SW5mby5oICovLAogCQkJCUE5RDI0N0Y1MEQ3NTdFMzMwMEZERjk1OSAvKiBKU05hdmlnYXRvci5j
cHAgKi8sCiAJCQkJQTlEMjQ3RjYwRDc1N0UzMzAwRkRGOTU5IC8qIEpTTmF2aWdhdG9yLmggKi8s
CisJCQkJQjFFNDZDNDQxMzMzQzFEQzAwODIyRDdGIC8qIEpTTmF2aWdhdG9yVXNlck1lZGlhRXJy
b3IuY3BwICovLAorCQkJCUIxRTQ2QzQ1MTMzM0MxREMwMDgyMkQ3RiAvKiBKU05hdmlnYXRvclVz
ZXJNZWRpYUVycm9yLmggKi8sCisJCQkJQjFFNDZDNDYxMzMzQzFEQzAwODIyRDdGIC8qIEpTTmF2
aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5jcHAgKi8sCisJCQkJQjFFNDZDNDcxMzMzQzFE
QzAwODIyRDdGIC8qIEpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5oICovLAorCQkJ
CUIxRTQ2QzQ4MTMzM0MxREMwMDgyMkQ3RiAvKiBKU05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3ND
YWxsYmFjay5jcHAgKi8sCisJCQkJQjFFNDZDNDkxMzMzQzFEQzAwODIyRDdGIC8qIEpTTmF2aWdh
dG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmggKi8sCiAJCQkJOEE5QTU4NzIxMUU4NEM4MTAw
OEFDRkQxIC8qIEpTUGVyZm9ybWFuY2UuY3BwICovLAogCQkJCThBOUE1ODczMTFFODRDODEwMDhB
Q0ZEMSAvKiBKU1BlcmZvcm1hbmNlLmggKi8sCiAJCQkJOEE5QTU4NkUxMUU4NEMzNTAwOEFDRkQx
IC8qIEpTUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmNwcCAqLywKQEAgLTIyNjgwLDYgKzIyNzE5LDEy
IEBACiAJCQkJMzE5NDYyMDQxMzAyMkJGMTAwNEJCM0Y4IC8qIERPTVdlYktpdEFuaW1hdGlvbkxp
c3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTMxOUU2OUIzMTMyOTlCQkQwMDRBQzkxQSAvKiBXZWJL
aXRBbmltYXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTMxOUU2OUI2MTMyOTlCQkQwMDRBQzkx
QSAvKiBXZWJLaXRBbmltYXRpb25MaXN0LmggaW4gSGVhZGVycyAqLywKKwkJCQlCMUU0NkMwOTEz
MzNCNTdGMDA4MjJEN0YgLyogTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuaCBpbiBIZWFkZXJzICov
LAorCQkJCUIxRTQ2QzBDMTMzM0I1N0YwMDgyMkQ3RiAvKiBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJv
ckNhbGxiYWNrLmggaW4gSGVhZGVycyAqLywKKwkJCQlCMUU0NkMwRjEzMzNCNTdGMDA4MjJEN0Yg
LyogTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmggaW4gSGVhZGVycyAqLywKKwkJ
CQlCMUU0NkM1MzEzMzNDMURDMDA4MjJEN0YgLyogSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5o
IGluIEhlYWRlcnMgKi8sCisJCQkJQjFFNDZDNTUxMzMzQzFEQzAwODIyRDdGIC8qIEpTTmF2aWdh
dG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5oIGluIEhlYWRlcnMgKi8sCisJCQkJQjFFNDZDNTcx
MzMzQzFEQzAwODIyRDdGIC8qIEpTTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmgg
aW4gSGVhZGVycyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNz
aW5nID0gMDsKIAkJfTsKQEAgLTI1MzQ4LDYgKzI1MzkzLDExIEBACiAJCQkJMzE5RTY4ODcxMzI3
QzkxMTAwNEFDOTFBIC8qIEpTV2ViS2l0QW5pbWF0aW9uQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTMxOUU2OUIyMTMyOTlCQkQwMDRBQzkxQSAvKiBXZWJLaXRBbmltYXRpb24uY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJMzE5RTY5QjUxMzI5OUJCRDAwNEFDOTFBIC8qIFdlYktpdEFuaW1h
dGlvbkxpc3QuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQjFFNDZDMEIxMzMzQjU3RjAwODIyRDdG
IC8qIE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2suY3BwIGluIFNvdXJjZXMgKi8sCisJ
CQkJQjFFNDZDMEUxMzMzQjU3RjAwODIyRDdGIC8qIE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3ND
YWxsYmFjay5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlCMUU0NkM1MjEzMzNDMURDMDA4MjJEN0Yg
LyogSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlCMUU0
NkM1NDEzMzNDMURDMDA4MjJEN0YgLyogSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNr
LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUIxRTQ2QzU2MTMzM0MxREMwMDgyMkQ3RiAvKiBKU05h
dmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5jcHAgaW4gU291cmNlcyAqLywKIAkJCSk7
CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvTmF2aWdhdG9yLmNwcAppbmRleCA2YTI2N2FkNDE2MTk2OTkwM2M4MGNhNjM5NDQwYzM5
MWFmNTMwN2VkLi5iZGYyNTIyZjE3NjA4MzkxYmRmODMwMWQ5ZGE2NmM1NGVhZmEyNzE5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9OYXZpZ2F0b3IuY3BwCkBAIC00MSw2ICs0MSw3IEBACiAjaW5jbHVkZSAiU2Ny
aXB0Q29udHJvbGxlci5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCiAjaW5jbHVkZSAiU3RvcmFn
ZU5hbWVzcGFjZS5oIgorI2luY2x1ZGUgIlN0cmVhbUNvbnRyb2xsZXIuaCIKICNpbmNsdWRlIDx3
dGYvU3RkTGliRXh0cmFzLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTI0Miw0ICsyNDMs
MTcgQEAgdm9pZCBOYXZpZ2F0b3I6OnJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKGNvbnN0IFN0cmlu
ZyYgc2NoZW1lLCBjb25zdCBTdHJpbmcmIHVybCwKIH0KICNlbmRpZgogCisjaWYgRU5BQkxFKE1F
RElBX1NUUkVBTSkKK3ZvaWQgTmF2aWdhdG9yOjp3ZWJraXRHZXRVc2VyTWVkaWEoY29uc3QgU3Ry
aW5nJiBvcHRpb25zLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQYXNzUmVm
UHRyPE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjaz4gc3VjY2Vzc0NhbGxiYWNrLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQYXNzUmVmUHRyPE5hdmlnYXRvclVz
ZXJNZWRpYUVycm9yQ2FsbGJhY2s+IGVycm9yQ2FsbGJhY2spCit7CisgICAgUGFnZSogcGFnZSA9
IG1fZnJhbWUtPnBhZ2UoKTsKKyAgICBpZiAoIXBhZ2UpCisgICAgICAgIHJldHVybjsKKworICAg
IHBhZ2UtPnN0cmVhbUNvbnRyb2xsZXIoKS0+Z2VuZXJhdGVTdHJlYW0ob3B0aW9ucywgc3VjY2Vz
c0NhbGxiYWNrLCBlcnJvckNhbGxiYWNrKTsKK30KKyNlbmRpZgorCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvci5oIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3IuaAppbmRleCA2OTNiZGUxM2Y5MDgyYzRhYzE3N2Zm
NTVlNjM0NDhiMTYzYTNmMTcyLi4yYTdkY2VhOTcwODY0Y2RjYjk5MDhlMmY4ZjE5ZjQ3ODViYjYx
NTJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yLmgKQEAgLTIxLDYgKzIxLDggQEAKICNkZWZpbmUg
TmF2aWdhdG9yX2gKIAogI2luY2x1ZGUgIk5hdmlnYXRvckJhc2UuaCIKKyNpbmNsdWRlICJOYXZp
Z2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmgiCisjaW5jbHVkZSAiTmF2aWdhdG9yVXNlck1l
ZGlhU3VjY2Vzc0NhbGxiYWNrLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRl
IDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CkBAIC02Nyw2
ICs2OSwxMSBAQCBwdWJsaWM6CiAgICAgdm9pZCByZWdpc3RlclByb3RvY29sSGFuZGxlcihjb25z
dCBTdHJpbmcmIHNjaGVtZSwgY29uc3QgU3RyaW5nJiB1cmwsIGNvbnN0IFN0cmluZyYgdGl0bGUs
IEV4Y2VwdGlvbkNvZGUmKTsKICNlbmRpZgogCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKyAg
ICB2aXJ0dWFsIHZvaWQgd2Via2l0R2V0VXNlck1lZGlhKGNvbnN0IFN0cmluZyYgb3B0aW9ucywg
UGFzc1JlZlB0cjxOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2s+LAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgUGFzc1JlZlB0cjxOYXZpZ2F0b3JVc2VyTWVkaWFF
cnJvckNhbGxiYWNrPiA9IDApOworI2VuZGlmCisKIHByaXZhdGU6CiAgICAgTmF2aWdhdG9yKEZy
YW1lKik7CiAgICAgRnJhbWUqIG1fZnJhbWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL05hdmlnYXRvci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvci5pZGwKaW5k
ZXggYmYzZjEwOGVjOTAyNWMwMDg2YmYyODBmMzgxOTBjNGU5M2FlZDk3ZS4uOGMxYmVjMzY2Zjg1
YWM5MjBhN2ExMGQ2NDVkOWE4MTEwOTE5MDg5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGFnZS9OYXZpZ2F0b3IuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yLmlk
bApAQCAtMzcsNyArMzcsNyBAQCBtb2R1bGUgd2luZG93IHsKICAgICAgICAgcmVhZG9ubHkgYXR0
cmlidXRlIERPTVN0cmluZyB2ZW5kb3JTdWI7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBi
b29sZWFuIGNvb2tpZUVuYWJsZWQ7CiAgICAgICAgIGJvb2xlYW4gamF2YUVuYWJsZWQoKTsKLSAg
ICAgICAgCisKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gb25MaW5lOwogCiAj
aWYgZGVmaW5lZChFTkFCTEVfR0VPTE9DQVRJT04pICYmIEVOQUJMRV9HRU9MT0NBVElPTgpAQCAt
NTIsNiArNTIsMTIgQEAgbW9kdWxlIHdpbmRvdyB7CiAgICAgICAgIHZvaWQgcmVnaXN0ZXJQcm90
b2NvbEhhbmRsZXIoaW4gRE9NU3RyaW5nIHNjaGVtZSwgaW4gRE9NU3RyaW5nIHVybCwgaW4gRE9N
U3RyaW5nIHRpdGxlKQogICAgICAgICAgICAgcmFpc2VzKERvbUV4Y2VwdGlvbik7CiAjZW5kaWYK
KworI2lmIGRlZmluZWQoRU5BQkxFX01FRElBX1NUUkVBTSkgJiYgRU5BQkxFX01FRElBX1NUUkVB
TQorICAgICAgICB2b2lkIHdlYmtpdEdldFVzZXJNZWRpYShpbiBET01TdHJpbmcgb3B0aW9ucywK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gW0NhbGxiYWNrXSBOYXZpZ2F0b3JV
c2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbiBbQ2FsbGJhY2ssIE9wdGlvbmFsXSBOYXZpZ2F0b3JVc2VyTWVk
aWFFcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spOworI2VuZGlmCiAgICAgfTsKIAogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5oIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5oCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjFmZjI2YmU5ZDRkYWFiMjQ2ZDhjZjBjYjUzNDVhNWY4Nzg0MTA0NjgKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmgKQEAgLTAs
MCArMSw1OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0
OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
CisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9m
IEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJl
IHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhp
cyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBB
TkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlS
SUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNpZm5kZWYgTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JfaAorI2RlZmluZSBOYXZp
Z2F0b3JVc2VyTWVkaWFFcnJvcl9oCisKKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorCisj
aWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBO
YXZpZ2F0b3JVc2VyTWVkaWFFcnJvciA6IHB1YmxpYyBSZWZDb3VudGVkPE5hdmlnYXRvclVzZXJN
ZWRpYUVycm9yPiB7CitwdWJsaWM6CisgICAgTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IodW5zaWdu
ZWQgc2hvcnQgY29kZSkgOiBtX2NvZGUoY29kZSkgeyB9CisgICAgdmlydHVhbCB+TmF2aWdhdG9y
VXNlck1lZGlhRXJyb3IoKSB7IH0KKworICAgIGVudW0geworICAgICAgICBQRVJNSVNTSU9OX0RF
TklFRCA9IDEKKyAgICB9OworCisgICAgdW5zaWduZWQgc2hvcnQgY29kZSgpIGNvbnN0IHsgcmV0
dXJuIG1fY29kZTsgfQorCitwcml2YXRlOgorICAgIHVuc2lnbmVkIHNob3J0IG1fY29kZTsKK307
CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TVFJF
QU0pCisKKyNlbmRpZiAvLyBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvcl9oCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmlkbCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuaWRsCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM3NTY2
NDhhYjU5NWE0ODcwODYzNDllZTNhYmI2M2Q1ODkyMTBmN2QKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmlkbApAQCAtMCwwICsx
LDQyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6Cisg
KgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAq
IGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29v
Z2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNl
ZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNv
ZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD
T05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hU
CisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworbW9kdWxlIHdpbmRvdyB7CisKKyAgICAvLyBGSVhNRTogZGVsZXRlIHRoaXMgaW50ZXJm
YWNlIGFuZCBpbXBsZW1lbnQgYSBjdXN0b20gYmluZGluZyBzaW5jZSBzcGVjIGRlZmluZXMgaXQg
YXMgYSBOb0ludGVyZmFjZU9iamVjdC4KKyAgICBpbnRlcmZhY2UgWworICAgICAgICBDb25kaXRp
b25hbD1NRURJQV9TVFJFQU0KKyAgICBdIE5hdmlnYXRvclVzZXJNZWRpYUVycm9yIHsKKyAgICAg
ICAgY29uc3QgdW5zaWduZWQgc2hvcnQgUEVSTUlTU0lPTl9ERU5JRUQgPSAxOworICAgICAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgc2hvcnQgY29kZTsKKyAgICB9OworCit9CisKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxs
YmFjay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2Fs
bGJhY2suY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjliNjFiZGQyNmRjOTBlNDkwYjVlMDFmNDFjNWNhMWIxMjhh
Yjk5ZTkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvclVz
ZXJNZWRpYUVycm9yQ2FsbGJhY2suY3BwCkBAIC0wLDAgKzEsNzkgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9u
LgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVz
IG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElT
IiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICog
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
KyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmln
LmgiCisjaW5jbHVkZSAiTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5oIgorCisjaWYg
RU5BQkxFKE1FRElBX1NUUkVBTSkKKworI2luY2x1ZGUgIk5hdmlnYXRvclVzZXJNZWRpYUVycm9y
LmgiCisjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgorI2luY2x1ZGUgPHd0Zi9G
b3J3YXJkLmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7
CisKK25hbWVzcGFjZSB7CisKKy8vIEZJWE1FOiB0aGlzIHNob3VsZCBiZSBtYWRlIGEgdGVtcGxh
dGUgYW5kIG1lcmdlZCB3aXRoIHRoZSBlcXVpdmFsZW50IHZlcnNpb25zIGluCisvLyBOYXZpZ2F0
b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2sgYW5kIEJsb2JDYWxsYmFjay4KK2NsYXNzIERpc3Bh
dGNoQ2FsbGJhY2tUYXNrIDogcHVibGljIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OlRhc2sgewor
cHVibGljOgorICAgIHN0YXRpYyBQYXNzT3duUHRyPERpc3BhdGNoQ2FsbGJhY2tUYXNrPiBjcmVh
dGUoTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjayogY2FsbGJhY2ssIE5hdmlnYXRvclVz
ZXJNZWRpYUVycm9yKiBkYXRhKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBE
aXNwYXRjaENhbGxiYWNrVGFzayhjYWxsYmFjaywgZGF0YSkpOworICAgIH0KKworICAgIHZpcnR1
YWwgdm9pZCBwZXJmb3JtVGFzayhTY3JpcHRFeGVjdXRpb25Db250ZXh0KikKKyAgICB7CisgICAg
ICAgIG1fY2FsbGJhY2stPmhhbmRsZUV2ZW50KG1fZGF0YS5nZXQoKSk7CisgICAgfQorCitwcml2
YXRlOgorICAgIERpc3BhdGNoQ2FsbGJhY2tUYXNrKE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2Fs
bGJhY2sqIGNhbGxiYWNrLCBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvciogZGF0YSkKKyAgICAgICAg
OiBtX2NhbGxiYWNrKGNhbGxiYWNrKQorICAgICAgICAsIG1fZGF0YShhZG9wdFJlZihkYXRhKSkK
KyAgICB7CisgICAgfQorCisgICAgUmVmUHRyPE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJh
Y2s+IG1fY2FsbGJhY2s7CisgICAgUmVmUHRyPE5hdmlnYXRvclVzZXJNZWRpYUVycm9yPiBtX2Rh
dGE7Cit9OworCit9IC8vIG5hbWVzcGFjZQorCit2b2lkIE5hdmlnYXRvclVzZXJNZWRpYUVycm9y
Q2FsbGJhY2s6OnNjaGVkdWxlQ2FsbGJhY2soU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4
dCwgTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IqIGRhdGEpCit7CisgICAgY29udGV4dC0+cG9zdFRh
c2soRGlzcGF0Y2hDYWxsYmFja1Rhc2s6OmNyZWF0ZSh0aGlzLCBkYXRhKSk7Cit9CisKK30gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0pCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJh
Y2suaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFj
ay5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmJkOGJkMjgyZjE1NGEwNzMxNmFmODZhNTdhYjRjMGI4NTRhZGY0NWQK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvclVzZXJNZWRp
YUVycm9yQ2FsbGJhY2suaApAQCAtMCwwICsxLDU2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
ICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMK
KyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
dHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Ig
d3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QK
KyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBOYXZpZ2F0b3JVc2VyTWVk
aWFFcnJvckNhbGxiYWNrX2gKKyNkZWZpbmUgTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFj
a19oCisKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorCisjaW5jbHVkZSA8d3RmL1JlZkNvdW50
ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBOYXZpZ2F0b3JVc2VyTWVkaWFF
cnJvcjsKK2NsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CisKK2NsYXNzIE5hdmlnYXRvclVz
ZXJNZWRpYUVycm9yQ2FsbGJhY2sgOiBwdWJsaWMgUmVmQ291bnRlZDxOYXZpZ2F0b3JVc2VyTWVk
aWFFcnJvckNhbGxiYWNrPiB7CitwdWJsaWM6CisgICAgdmlydHVhbCB+TmF2aWdhdG9yVXNlck1l
ZGlhRXJyb3JDYWxsYmFjaygpIHsgfQorICAgIHZpcnR1YWwgYm9vbCBoYW5kbGVFdmVudChOYXZp
Z2F0b3JVc2VyTWVkaWFFcnJvciopID0gMDsKKworICAgIC8vIEhlbHBlciB0byBwb3N0IGNhbGxi
YWNrIHRhc2suCisgICAgdm9pZCBzY2hlZHVsZUNhbGxiYWNrKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQqLCBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvciopOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQorCisjZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVBTSkKKworI2VuZGlmIC8vIE5hdmln
YXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2tfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmlkbCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5pZGwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTRl
ZDllNzM4Yjc4M2VlZWUxYmFiNzgzOTY0Y2RkMTc4NTBkYTQzYwotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5pZGwK
QEAgLTAsMCArMSw0MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQor
ICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBu
YW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMg
bWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQor
ICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwK
KyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKK21vZHVsZSB3aW5kb3cgeworCisgICAgLy8gRklYTUU6IGRlbGV0ZSB0
aGlzIGludGVyZmFjZSBhbmQgaW1wbGVtZW50IGEgY3VzdG9tIGJpbmRpbmcgc2luY2Ugc3BlYyBk
ZWZpbmVzIGl0IGFzIGEgTm9JbnRlcmZhY2VPYmplY3QuCisgICAgaW50ZXJmYWNlIFsKKyAgICAg
ICAgQ29uZGl0aW9uYWw9TUVESUFfU1RSRUFNLAorICAgICAgICBDYWxsYmFjaz1GdW5jdGlvbk9u
bHkKKyAgICBdIE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2sgeworICAgICAgICBib29s
ZWFuIGhhbmRsZUV2ZW50KGluIE5hdmlnYXRvclVzZXJNZWRpYUVycm9yIGVycm9yKTsKKyAgICB9
OworCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvclVzZXJNZWRp
YVN1Y2Nlc3NDYWxsYmFjay5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3JVc2VyTWVk
aWFTdWNjZXNzQ2FsbGJhY2suaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zZDJlM2Y3NjRmYzZkMmQyMWJhODdmZjEy
NTVkYjIwY2JhNTQ4N2U0Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9O
YXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suaApAQCAtMCwwICsxLDU0IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICog
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRp
c3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9y
IHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNl
IG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhv
dXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMK
KyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBP
UiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRl
ZiBOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2tfaAorI2RlZmluZSBOYXZpZ2F0b3JV
c2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2tfaAorCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKwor
I2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xh
c3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKKworY2xhc3MgTmF2aWdhdG9yVXNlck1lZGlhU3Vj
Y2Vzc0NhbGxiYWNrIDogcHVibGljIFJlZkNvdW50ZWQ8TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vz
c0NhbGxiYWNrPiB7CitwdWJsaWM6CisgICAgdmlydHVhbCB+TmF2aWdhdG9yVXNlck1lZGlhU3Vj
Y2Vzc0NhbGxiYWNrKCkgeyB9CisgICAgLy8gRklYTUU6IGltcGxlbWVudCB0aGUgcHJvcGVyIGFy
Z3VtZW50IG9uY2UgdGhlIEdlbmVyYXRlZFN0cmVhbSBjbGFzcyBpcyBhdmFpbGFibGUuCisgICAg
Ly8gdmlydHVhbCBib29sIGhhbmRsZUV2ZW50KEdlbmVyYXRlZFN0cmVhbSopID0gMDsKKyAgICB2
aXJ0dWFsIGJvb2wgaGFuZGxlRXZlbnQoKSA9IDA7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFNKQorCisjZW5kaWYgLy8gTmF2aWdh
dG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmlkbCBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmlkbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5hMGJjZGJjZjYyNzFlNmViM2Y4ZjlmMWIwYjkyYzVkZDNhOTEyYWU1Ci0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJh
Y2suaWRsCkBAIC0wLDAgKzEsNDMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICog
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhl
ciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJp
YnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVk
IGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQor
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCittb2R1bGUgd2luZG93IHsKKworICAgIC8vIEZJWE1FOiBk
ZWxldGUgdGhpcyBpbnRlcmZhY2UgYW5kIGltcGxlbWVudCBhIGN1c3RvbSBiaW5kaW5nIHNpbmNl
IHNwZWMgZGVmaW5lcyBpdCBhcyBhIE5vSW50ZXJmYWNlT2JqZWN0LgorICAgIGludGVyZmFjZSBb
CisgICAgICAgIENvbmRpdGlvbmFsPU1FRElBX1NUUkVBTSwKKyAgICAgICAgQ2FsbGJhY2s9RnVu
Y3Rpb25Pbmx5CisgICAgXSBOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2sgeworICAg
ICAgICAvLyBGSVhNRTogaW1wbGVtZW50IHRoZSBwcm9wZXIgYXJndW1lbnQgb25jZSB0aGUgR2Vu
ZXJhdGVkU3RyZWFtIGNsYXNzIGlzIGF2YWlsYWJsZS4KKyAgICAgICAgLy8gYm9vbGVhbiBoYW5k
bGVFdmVudChpbiBHZW5lcmF0ZWRTdHJlYW0gc3RyZWFtKTsKKyAgICAgICAgYm9vbGVhbiBoYW5k
bGVFdmVudCgpOworICAgIH07CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UGFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCmluZGV4IGJmYWQyYjgzMmM0
OWJmYTBkYTFkOGQ3MjU2Yzc4ZTViM2QzNGM4OGYuLjM5MTliMGY4Mjk3Njg4M2VhNjE1MjMyZmRi
ZWEzNjExYTRhYTg2NDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcApAQCAtNjcsNiArNjcsOCBAQAogI2lu
Y2x1ZGUgIlNoYXJlZEJ1ZmZlci5oIgogI2luY2x1ZGUgIlNwZWVjaElucHV0LmgiCiAjaW5jbHVk
ZSAiU3BlZWNoSW5wdXRDbGllbnQuaCIKKyNpbmNsdWRlICJTdHJlYW1DbGllbnQuaCIKKyNpbmNs
dWRlICJTdHJlYW1Db250cm9sbGVyLmgiCiAjaW5jbHVkZSAiVGV4dFJlc291cmNlRGVjb2Rlci5o
IgogI2luY2x1ZGUgIldpZGdldC5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CkBAIC0xMzks
NiArMTQxLDkgQEAgUGFnZTo6UGFnZShjb25zdCBQYWdlQ2xpZW50cyYgcGFnZUNsaWVudHMpCiAj
aWYgRU5BQkxFKElOUFVUX1NQRUVDSCkKICAgICAsIG1fc3BlZWNoSW5wdXRDbGllbnQocGFnZUNs
aWVudHMuc3BlZWNoSW5wdXRDbGllbnQpCiAjZW5kaWYKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFN
KQorICAgICwgbV9zdHJlYW1DbGllbnQocGFnZUNsaWVudHMuc3RyZWFtQ2xpZW50KQorI2VuZGlm
CiAgICAgLCBtX3NldHRpbmdzKGFkb3B0UHRyKG5ldyBTZXR0aW5ncyh0aGlzKSkpCiAgICAgLCBt
X3Byb2dyZXNzKGFkb3B0UHRyKG5ldyBQcm9ncmVzc1RyYWNrZXIpKQogICAgICwgbV9iYWNrRm9y
d2FyZENvbnRyb2xsZXIoYWRvcHRQdHIobmV3IEJhY2tGb3J3YXJkQ29udHJvbGxlcih0aGlzLCBw
YWdlQ2xpZW50cy5iYWNrRm9yd2FyZENsaWVudCkpKQpAQCAtODQ0LDYgKzg0OSwxNyBAQCBTcGVl
Y2hJbnB1dCogUGFnZTo6c3BlZWNoSW5wdXQoKQogfQogI2VuZGlmCiAKKworI2lmIEVOQUJMRShN
RURJQV9TVFJFQU0pCitTdHJlYW1Db250cm9sbGVyKiBQYWdlOjpzdHJlYW1Db250cm9sbGVyKCkK
K3sKKyAgICBBU1NFUlQobV9zdHJlYW1DbGllbnQpOworICAgIGlmICghbV9zdHJlYW1Db250cm9s
bGVyLmdldCgpKQorICAgICAgICBtX3N0cmVhbUNvbnRyb2xsZXIuc2V0KG5ldyBTdHJlYW1Db250
cm9sbGVyKG1fc3RyZWFtQ2xpZW50LCBtYWluRnJhbWUoKS0+ZG9jdW1lbnQoKSkpOworICAgIHJl
dHVybiBtX3N0cmVhbUNvbnRyb2xsZXIuZ2V0KCk7Cit9CisjZW5kaWYKKwogdm9pZCBQYWdlOjpk
bnNQcmVmZXRjaGluZ1N0YXRlQ2hhbmdlZCgpCiB7CiAgICAgZm9yIChGcmFtZSogZnJhbWUgPSBt
YWluRnJhbWUoKTsgZnJhbWU7IGZyYW1lID0gZnJhbWUtPnRyZWUoKS0+dHJhdmVyc2VOZXh0KCkp
CkBAIC05NDMsNiArOTU5LDcgQEAgUGFnZTo6UGFnZUNsaWVudHM6OlBhZ2VDbGllbnRzKCkKICAg
ICAsIGRldmljZU1vdGlvbkNsaWVudCgwKQogICAgICwgZGV2aWNlT3JpZW50YXRpb25DbGllbnQo
MCkKICAgICAsIHNwZWVjaElucHV0Q2xpZW50KDApCisgICAgLCBzdHJlYW1DbGllbnQoMCkKIHsK
IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1BhZ2UuaAppbmRleCA4N2NiNmNjOThiYmMyMmEzYWNmMjI0MDJhNmFkZmNjOTFj
ZTc1OWU4Li5lYjlhY2Y4NTZiMzcwNmVhMzM5NjRjM2NhN2Y2NGIzNzgzOWJiNzJkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1BhZ2UuaApAQCAtNzksNiArNzksOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAjaWYgRU5BQkxF
KERPTV9TVE9SQUdFKQogICAgIGNsYXNzIFN0b3JhZ2VOYW1lc3BhY2U7CiAjZW5kaWYKKyAgICBj
bGFzcyBTdHJlYW1DbGllbnQ7CisgICAgY2xhc3MgU3RyZWFtQ29udHJvbGxlcjsKICNpZiBFTkFC
TEUoTk9USUZJQ0FUSU9OUykKICAgICBjbGFzcyBOb3RpZmljYXRpb25QcmVzZW50ZXI7CiAjZW5k
aWYKQEAgLTExNCw2ICsxMTYsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgICAgICBE
ZXZpY2VPcmllbnRhdGlvbkNsaWVudCogZGV2aWNlT3JpZW50YXRpb25DbGllbnQ7CiAgICAgICAg
ICAgICBSZWZQdHI8QmFja0ZvcndhcmRMaXN0PiBiYWNrRm9yd2FyZENsaWVudDsKICAgICAgICAg
ICAgIFNwZWVjaElucHV0Q2xpZW50KiBzcGVlY2hJbnB1dENsaWVudDsKKyAgICAgICAgICAgIFN0
cmVhbUNsaWVudCogc3RyZWFtQ2xpZW50OwogICAgICAgICB9OwogCiAgICAgICAgIFBhZ2UoY29u
c3QgUGFnZUNsaWVudHMmKTsKQEAgLTE4MCw2ICsxODMsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAjaWYgRU5BQkxFKElOUFVUX1NQRUVDSCkKICAgICAgICAgU3BlZWNoSW5wdXQqIHNwZWVjaElu
cHV0KCk7CiAjZW5kaWYKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorICAgICAgICBTdHJlYW1D
b250cm9sbGVyKiBzdHJlYW1Db250cm9sbGVyKCk7CisjZW5kaWYKICAgICAgICAgU2V0dGluZ3Mq
IHNldHRpbmdzKCkgY29uc3QgeyByZXR1cm4gbV9zZXR0aW5ncy5nZXQoKTsgfQogICAgICAgICBQ
cm9ncmVzc1RyYWNrZXIqIHByb2dyZXNzKCkgY29uc3QgeyByZXR1cm4gbV9wcm9ncmVzcy5nZXQo
KTsgfQogICAgICAgICBCYWNrRm9yd2FyZENvbnRyb2xsZXIqIGJhY2tGb3J3YXJkKCkgY29uc3Qg
eyByZXR1cm4gbV9iYWNrRm9yd2FyZENvbnRyb2xsZXIuZ2V0KCk7IH0KQEAgLTMzMyw5ICszMzks
MTMgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBTcGVlY2hJbnB1dENsaWVudCogbV9z
cGVlY2hJbnB1dENsaWVudDsKICAgICAgICAgT3duUHRyPFNwZWVjaElucHV0PiBtX3NwZWVjaElu
cHV0OwogI2VuZGlmCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKyAgICAgICAgU3RyZWFtQ2xp
ZW50KiBtX3N0cmVhbUNsaWVudDsKKyAgICAgICAgT3duUHRyPFN0cmVhbUNvbnRyb2xsZXI+IG1f
c3RyZWFtQ29udHJvbGxlcjsKKyNlbmRpZgogICAgICAgICBPd25QdHI8U2V0dGluZ3M+IG1fc2V0
dGluZ3M7CiAgICAgICAgIE93blB0cjxQcm9ncmVzc1RyYWNrZXI+IG1fcHJvZ3Jlc3M7Ci0gICAg
ICAgIAorCiAgICAgICAgIE93blB0cjxCYWNrRm9yd2FyZENvbnRyb2xsZXI+IG1fYmFja0Zvcndh
cmRDb250cm9sbGVyOwogICAgICAgICBSZWZQdHI8RnJhbWU+IG1fbWFpbkZyYW1lOwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1N0cmVhbUNsaWVudC5oIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9TdHJlYW1DbGllbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43NmRhNDQyNjI1ZTM4YzcwZjA5NTAw
NzkwOWZmZjBlMjNiMWRjYjE5Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9TdHJlYW1DbGllbnQuaApAQCAtMCwwICsxLDYwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAq
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUK
KyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5l
aXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVy
aXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENP
UFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBTdHJlYW1DbGllbnRfaAorI2RlZmlu
ZSBTdHJlYW1DbGllbnRfaAorCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKworI2luY2x1ZGUg
IlNlY3VyaXR5T3JpZ2luLmgiCisjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KKyNpbmNsdWRlIDx3
dGYvUGFzc1JlZlB0ci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFN0cmVhbUxp
c3RlbmVyOworCitjbGFzcyBTdHJlYW1DbGllbnQgeworcHVibGljOgorICAgIC8vIFJlZ2lzdGVy
IHRoZSBsaXN0ZW5lciBmb3IgcmVjZWl2aW5nIGNhbGxiYWNrcy4gU2hvdWxkIHNldCB0byBudWxs
IHdoZW4gbm90IHJlcXVpcmVkIGFueW1vcmUuIE5vIG93bmVyc2hpcCBpcyB0YWtlbi4KKyAgICB2
aXJ0dWFsIHZvaWQgc2V0TGlzdGVuZXIoU3RyZWFtTGlzdGVuZXIqKSA9IDA7CisKKyAgICAvLyBH
ZW5lcmF0ZSBhIG5ldyBsb2NhbCBzdHJlYW0uCisgICAgdmlydHVhbCB2b2lkIGdlbmVyYXRlU3Ry
ZWFtKGludCByZXF1ZXN0SWQsIGJvb2wgdmlkZW8sIGJvb2wgYXVkaW8sIFBhc3NSZWZQdHI8U2Vj
dXJpdHlPcmlnaW4+KSA9IDA7CisKK3Byb3RlY3RlZDoKKyAgICB2aXJ0dWFsIH5TdHJlYW1DbGll
bnQoKSB7IH0KK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJM
RShNRURJQV9TVFJFQU0pCisKKyNlbmRpZiAvLyBTdHJlYW1DbGllbnRfaApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9TdHJlYW1Db250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvU3RyZWFtQ29udHJvbGxlci5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzNiNDk4NDllYTcxNGE2MDg1
NmYzNjFkZDU1YzRlMGM4OTczOGYyMgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvU3RyZWFtQ29udHJvbGxlci5jcHAKQEAgLTAsMCArMSwxMTQgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0
aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5h
bWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVj
aWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFT
IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAor
ICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29u
ZmlnLmgiCisjaW5jbHVkZSAiU3RyZWFtQ29udHJvbGxlci5oIgorCisjaWYgRU5BQkxFKE1FRElB
X1NUUkVBTSkKKworI2luY2x1ZGUgIkRvY3VtZW50LmgiCisjaW5jbHVkZSAiTmF2aWdhdG9yVXNl
ck1lZGlhRXJyb3IuaCIKKyNpbmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgorI2luY2x1ZGUgIlN0
cmVhbUNsaWVudC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1N0cmVhbUNvbnRyb2xsZXI6
OlN0cmVhbUNvbnRyb2xsZXIoU3RyZWFtQ2xpZW50KiBjbGllbnQsIERvY3VtZW50KiBkb2N1bWVu
dCkKKyAgICA6IG1fY2xpZW50KGNsaWVudCkKKyAgICAsIG1fZG9jdW1lbnQoZG9jdW1lbnQpCisg
ICAgLCBtX25leHRTdHJlYW1SZXF1ZXN0SWQoMSkKK3sKKyAgICBBU1NFUlQobV9kb2N1bWVudCk7
CisgICAgbV9jbGllbnQtPnNldExpc3RlbmVyKHRoaXMpOworfQorCitTdHJlYW1Db250cm9sbGVy
Ojp+U3RyZWFtQ29udHJvbGxlcigpCit7CisgICAgbV9jbGllbnQtPnNldExpc3RlbmVyKDApOwor
fQorCitib29sIFN0cmVhbUNvbnRyb2xsZXI6OmdlbmVyYXRlU3RyZWFtKGNvbnN0IFN0cmluZyYg
b3B0aW9ucywgUGFzc1JlZlB0cjxOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2s+IHN1
Y2Nlc3NDYWxsYmFjaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUGFz
c1JlZlB0cjxOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrPiBlcnJvckNhbGxiYWNrKQor
eworICAgIGlmICghc3VjY2Vzc0NhbGxiYWNrLmdldCgpKQorICAgICAgICByZXR1cm4gZmFsc2U7
CisKKyAgICBib29sIHZpZGVvID0gZmFsc2U7CisgICAgYm9vbCBhdWRpbyA9IGZhbHNlOworICAg
IFZlY3RvcjxTdHJpbmc+IHNwbGl0T3B0aW9uczsKKyAgICBvcHRpb25zLnNwbGl0KCIsIiwgc3Bs
aXRPcHRpb25zKTsKKyAgICBmb3IgKFZlY3RvcjxTdHJpbmc+Ojpjb25zdF9pdGVyYXRvciBpdCA9
IHNwbGl0T3B0aW9ucy5iZWdpbigpOyBpdCAhPSBzcGxpdE9wdGlvbnMuZW5kKCkgJiYgKCF2aWRl
byB8fCAhYXVkaW8pOyArK2l0KQorICAgICAgICBpZiAoKml0ID09ICJ2aWRlbyIpCisgICAgICAg
ICAgICB2aWRlbyA9IHRydWU7CisgICAgICAgIGVsc2UgaWYgKCppdCA9PSAiYXVkaW8iKQorICAg
ICAgICAgICAgYXVkaW8gPSB0cnVlOworCisgICAgaWYgKCFhdWRpbyAmJiAhdmlkZW8pCisgICAg
ICAgIHJldHVybiBmYWxzZTsKKworICAgIG1fc3RyZWFtUmVxdWVzdHMuc2V0KG1fbmV4dFN0cmVh
bVJlcXVlc3RJZCwgYWRvcHRSZWYobmV3IFN0cmVhbVJlcXVlc3Qoc3VjY2Vzc0NhbGxiYWNrLCBl
cnJvckNhbGxiYWNrKSkpOworICAgIG1fY2xpZW50LT5nZW5lcmF0ZVN0cmVhbShtX25leHRTdHJl
YW1SZXF1ZXN0SWQsIHZpZGVvLCBhdWRpbywgbV9kb2N1bWVudC0+c2VjdXJpdHlPcmlnaW4oKSk7
CisgICAgKyttX25leHRTdHJlYW1SZXF1ZXN0SWQ7CisgICAgcmV0dXJuIHRydWU7Cit9CisKK3Zv
aWQgU3RyZWFtQ29udHJvbGxlcjo6c3RyZWFtR2VuZXJhdGVkKGludCByZXF1ZXN0SWQsIGludCBz
dHJlYW1JZCwgY29uc3QgU3RyaW5nJiBsYWJlbCkKK3sKKyAgICBBU1NFUlQobV9zdHJlYW1SZXF1
ZXN0cy5jb250YWlucyhyZXF1ZXN0SWQpKTsKKworICAgIC8vIEZJWE1FOiBpbXBsZW1lbnQgR2Vu
ZXJhdGVkU3RyZWFtIG9iamVjdCBjcmVhdGlvbiBhbmQgc2NoZWR1bGUgdGhlIHN1Y2Nlc3MgY2Fs
bGJhY2suCisKKyAgICBtX3N0cmVhbVJlcXVlc3RzLnJlbW92ZShyZXF1ZXN0SWQpOworfQorCit2
b2lkIFN0cmVhbUNvbnRyb2xsZXI6OnN0cmVhbUdlbmVyYXRpb25GYWlsZWQoaW50IHJlcXVlc3RJ
ZCwgdW5zaWduZWQgc2hvcnQgY29kZSkKK3sKKyAgICBBU1NFUlQobV9zdHJlYW1SZXF1ZXN0cy5j
b250YWlucyhyZXF1ZXN0SWQpKTsKKyAgICBSZWZQdHI8U3RyZWFtUmVxdWVzdD4gc3RyZWFtUmVx
dWVzdCA9IG1fc3RyZWFtUmVxdWVzdHMuZ2V0KHJlcXVlc3RJZCk7CisgICAgQVNTRVJUKHN0cmVh
bVJlcXVlc3QuZ2V0KCkpOworCisgICAgaWYgKFJlZlB0cjxOYXZpZ2F0b3JVc2VyTWVkaWFFcnJv
ckNhbGxiYWNrPiBlcnJvckNhbGxiYWNrID0gc3RyZWFtUmVxdWVzdC0+bV9lcnJvckNhbGxiYWNr
KSB7CisgICAgICAgIFJlZlB0cjxOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvcj4gZXJyb3IgPSBhZG9w
dFJlZihuZXcgTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IoY29kZSkpOworICAgICAgICBlcnJvckNh
bGxiYWNrLT5zY2hlZHVsZUNhbGxiYWNrKG1fZG9jdW1lbnQsIGVycm9yLmdldCgpKTsKKyAgICB9
CisKKyAgICBtX3N0cmVhbVJlcXVlc3RzLnJlbW92ZShyZXF1ZXN0SWQpOworfQorCitTdHJlYW1D
b250cm9sbGVyOjpTdHJlYW1SZXF1ZXN0OjpTdHJlYW1SZXF1ZXN0KFBhc3NSZWZQdHI8TmF2aWdh
dG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrPiBzdWNjZXNzQ2FsbGJhY2ssCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBhc3NSZWZQdHI8TmF2aWdhdG9y
VXNlck1lZGlhRXJyb3JDYWxsYmFjaz4gZXJyb3JDYWxsYmFjaykKKyAgICA6IG1fc3VjY2Vzc0Nh
bGxiYWNrKHN1Y2Nlc3NDYWxsYmFjaykKKyAgICAsIG1fZXJyb3JDYWxsYmFjayhlcnJvckNhbGxi
YWNrKQoreworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUo
TUVESUFfU1RSRUFNKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TdHJlYW1Db250
cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1N0cmVhbUNvbnRyb2xsZXIuaApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5hNzYyOWJiZDljM2Q0NTNmZTdlMTkxYzRmYzY4NGI2N2Y0NGI3YjAwCi0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TdHJlYW1Db250cm9sbGVyLmgKQEAgLTAsMCAr
MSw4NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0Ogor
ICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisg
KiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdv
b2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVz
ZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQg
Q09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdI
VAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpZm5kZWYgU3RyZWFtQ29udHJvbGxlcl9oCisjZGVmaW5lIFN0cmVhbUNvbnRyb2xs
ZXJfaAorCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKworI2luY2x1ZGUgIktVUkwuaCIKKyNp
bmNsdWRlICJOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmgiCisjaW5jbHVkZSAiTmF2
aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmgiCisjaW5jbHVkZSAiU3RyZWFtTGlzdGVu
ZXIuaCIKKyNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgorI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+
CisjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQu
aD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBEb2N1bWVudDsKK2NsYXNzIFN0cmVh
bUNsaWVudDsKKworY2xhc3MgU3RyZWFtQ29udHJvbGxlciA6IHB1YmxpYyBTdHJlYW1MaXN0ZW5l
ciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU3RyZWFtQ29udHJvbGxlcik7CitwdWJsaWM6
CisgICAgU3RyZWFtQ29udHJvbGxlcihTdHJlYW1DbGllbnQqLCBEb2N1bWVudCopOworICAgIHZp
cnR1YWwgflN0cmVhbUNvbnRyb2xsZXIoKTsKKworICAgIC8vIENyZWF0ZSBhIG5ldyBnZW5lcmF0
ZWQgc3RyZWFtIGFzeW5jaHJvbm91c2x5IHdpdGggdGhlIHByb3ZpZGVkIG9wdGlvbnMuCisgICAg
Ym9vbCBnZW5lcmF0ZVN0cmVhbShjb25zdCBTdHJpbmcmIG9wdGlvbnMsCisgICAgICAgICAgICAg
ICAgICAgICAgICBQYXNzUmVmUHRyPE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjaz4s
CisgICAgICAgICAgICAgICAgICAgICAgICBQYXNzUmVmUHRyPE5hdmlnYXRvclVzZXJNZWRpYUVy
cm9yQ2FsbGJhY2s+KTsKKworICAgIC8vIFN0cmVhbUxpc3RlbmVyIGltcGxlbWVudGF0aW9uLgor
ICAgIHZpcnR1YWwgdm9pZCBzdHJlYW1HZW5lcmF0ZWQoaW50IHJlcXVlc3RJZCwgaW50IHN0cmVh
bUlkLCBjb25zdCBTdHJpbmcmIGxhYmVsKTsKKyAgICB2aXJ0dWFsIHZvaWQgc3RyZWFtR2VuZXJh
dGlvbkZhaWxlZChpbnQgcmVxdWVzdElkLCB1bnNpZ25lZCBzaG9ydCBjb2RlKTsKKworcHJpdmF0
ZToKKyAgICBzdHJ1Y3QgU3RyZWFtUmVxdWVzdCA6IHB1YmxpYyBSZWZDb3VudGVkPFN0cmVhbVJl
cXVlc3Q+IHsKKyAgICAgICAgU3RyZWFtUmVxdWVzdChQYXNzUmVmUHRyPE5hdmlnYXRvclVzZXJN
ZWRpYVN1Y2Nlc3NDYWxsYmFjaz4sCisgICAgICAgICAgICAgICAgICAgICAgUGFzc1JlZlB0cjxO
YXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrPik7CisKKyAgICAgICAgUmVmUHRyPE5hdmln
YXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjaz4gbV9zdWNjZXNzQ2FsbGJhY2s7CisgICAgICAg
IFJlZlB0cjxOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrPiBtX2Vycm9yQ2FsbGJhY2s7
CisgICAgfTsKKworICAgIHR5cGVkZWYgSGFzaE1hcDxpbnQsIFJlZlB0cjxTdHJlYW1SZXF1ZXN0
PiA+IFN0cmVhbVJlcXVlc3RNYXA7CisKKyAgICBTdHJlYW1DbGllbnQqIG1fY2xpZW50OworICAg
IERvY3VtZW50KiBtX2RvY3VtZW50OworICAgIFN0cmVhbVJlcXVlc3RNYXAgbV9zdHJlYW1SZXF1
ZXN0czsKKyAgICBpbnQgbV9uZXh0U3RyZWFtUmVxdWVzdElkOworfTsKKworfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVBTSkKKworI2VuZGlmIC8v
IFN0cmVhbUNvbnRyb2xsZXJfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TdHJl
YW1MaXN0ZW5lci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TdHJlYW1MaXN0ZW5lci5oCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjkwMTY0NWFiMGEzZjcxZDQ4NTMzNGEyMzQzYjE5OTExN2YzOGEwZWYKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1N0cmVhbUxpc3RlbmVyLmgKQEAgLTAsMCAr
MSw2MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0Ogor
ICoKKyAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
CisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJ
bmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8g
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2Fy
ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJ
QlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICog
T1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpZm5kZWYgU3RyZWFtTGlzdGVuZXJfaAorI2RlZmluZSBTdHJlYW1MaXN0ZW5lcl9oCisKKyNp
ZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorCisjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKKwor
bmFtZXNwYWNlIFdlYkNvcmUgeworCisvLyBUaGlzIGludGVyZmFjZSBjb21wb3NlcyB0aGUgZGlm
ZmVyZW50IGtpbmRzIG9mIGluY29taW5nIG1lc3NhZ2VzIHNvIHRoYXQgdGhleSBjYW4KKy8vIGJl
IGltcGxlbWVudGVkIGJ5IGJvdGggdGhlIFN0cmVhbUNvbnRyb2xsZXIgYW5kIHRoZSBTdHJlYW1D
bGllbnRNb2NrLgorY2xhc3MgU3RyZWFtTGlzdGVuZXIgIHsKK3B1YmxpYzoKKworICAgIC8vIFJl
cG9ydCB0aGUgZ2VuZXJhdGlvbiBvZiBhIG5ldyBsb2NhbCBzdHJlYW0uCisgICAgLy8gVGhlIHN0
cmVhbSBpZCBzaG91bGQgYmUgYSB1bmlxdWUgaW50ZWdlciByZXByZXNlbnRpbmcgdGhlIHN0cmVh
bSBvYmplY3QgaW4gYSAxOjEgcmVsYXRpb24gd2l0aCB0aGUgbGFiZWwuCisgICAgLy8gVGhlIGlk
IHNob3VsZCBiZSBwcm92aWRlZCBieSB0aGUgVUEgYW5kIHdpbGwgYmUgdXNlZCBpbnRlcm5hbGx5
IGluc3RlYWQgb2YgdGhlIGxhYmVsIHRvIHNpbXBsaWZ5IG9wZXJhdGlvbnMuCisgICAgdmlydHVh
bCB2b2lkIHN0cmVhbUdlbmVyYXRlZChpbnQgcmVxdWVzdElkLCBpbnQgc3RyZWFtSWQsIGNvbnN0
IFN0cmluZyYgbGFiZWwpID0gMDsKKworICAgIC8vIFJlcG9ydCBhIGZhaWx1cmUgaW4gdGhlIGdl
bmVyYXRpb24gb2YgYSBuZXcgc3RyZWFtLgorICAgIHZpcnR1YWwgdm9pZCBzdHJlYW1HZW5lcmF0
aW9uRmFpbGVkKGludCByZXF1ZXN0SWQsIHVuc2lnbmVkIHNob3J0IGNvZGUpID0gMDsKKworICAg
IHZpcnR1YWwgflN0cmVhbUxpc3RlbmVyKCkgeyB9Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFNKQorCisjZW5kaWYgLy8gU3RyZWFt
TGlzdGVuZXJfaAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>86198</attachid>
            <date>2011-03-18 12:46:07 -0700</date>
            <delta_ts>2011-03-22 11:55:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-56586-20110318194605.patch</filename>
            <type>text/plain</type>
            <size>63841</size>
            <attacher name="Leandro Graciá Gil">leandrogracia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQKaW5kZXggYzJjZjg2YjU3M2Q4MzA1OWRjMmQzZjc0ZmFiZmM3ODkw
ZGM1OGFmZi4uNmJjYmRhNGUyOGYzYThiZWVjMTFhOTgwZjcxNTgxNjUxZGY5NWEwNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUv
Q01ha2VMaXN0cy50eHQKQEAgLTMzNSw2ICszMzUsOSBAQCBTRVQoV2ViQ29yZV9JRExfRklMRVMK
ICAgICBwYWdlL0xvY2F0aW9uLmlkbAogICAgIHBhZ2UvTWVtb3J5SW5mby5pZGwKICAgICBwYWdl
L05hdmlnYXRvci5pZGwKKyAgICBwYWdlL05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmlkbAorICAg
IHBhZ2UvTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5pZGwKKyAgICBwYWdlL05hdmln
YXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5pZGwKICAgICBwYWdlL1BlcmZvcm1hbmNlLmlk
bAogICAgIHBhZ2UvUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmlkbAogICAgIHBhZ2UvUGVyZm9ybWFu
Y2VUaW1pbmcuaWRsCkBAIC0xMTY2LDYgKzExNjksNyBAQCBTRVQoV2ViQ29yZV9TT1VSQ0VTCiAg
ICAgcGFnZS9Nb3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1bHRzLmNwcAogICAgIHBhZ2UvTmF2aWdh
dG9yLmNwcAogICAgIHBhZ2UvTmF2aWdhdG9yQmFzZS5jcHAKKyAgICBwYWdlL05hdmlnYXRvclVz
ZXJNZWRpYUVycm9yQ2FsbGJhY2suY3BwCiAgICAgcGFnZS9PcmlnaW5BY2Nlc3NFbnRyeS5jcHAK
ICAgICBwYWdlL1BhZ2UuY3BwCiAgICAgcGFnZS9QYWdlR3JvdXAuY3BwCkBAIC0xMTc4LDYgKzEx
ODIsNyBAQCBTRVQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgcGFnZS9TY3JlZW4uY3BwCiAgICAgcGFn
ZS9TZWN1cml0eU9yaWdpbi5jcHAKICAgICBwYWdlL1NldHRpbmdzLmNwcAorICAgIHBhZ2UvU3Ry
ZWFtQ29udHJvbGxlci5jcHAKICAgICBwYWdlL1NwYXRpYWxOYXZpZ2F0aW9uLmNwcAogICAgIHBh
Z2UvU3VzcGVuZGFibGVUaW1lci5jcHAKICAgICBwYWdlL1VzZXJDb250ZW50VVJMUGF0dGVybi5j
cHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZwppbmRleCAzNDgzY2Y1ZjY5MDgxZDIzM2E5MGNkZDA1NTIxN2I2ZDFmZWU3Nzk1
Li40YjIwODJmZTNiODMzMGIwNWNkNGVmNmJlMDRkNGE4YzRkZjhkM2FlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBA
IC0yLDYgKzIsNjIgQEAKIAogICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KIAor
ICAgICAgICBNZWRpYSBTdHJlYW0gQVBJIHBhdGNoIDE6IGFkZGluZyB0aGUgZ2V0VXNlck1lZGlh
IG1ldGhvZCBhbmQgdGhlIGJhc2ljIHNrZWxldG9uLgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTY1ODYKKworICAgICAgICBBZGQgdGhlIGdldFVzZXJN
ZWRpYSBtZXRob2QgdG8gdGhlIG5hdmlnYXRvciBhbG9uZyBpdHMgZXJyb3IgYW5kIGNhbGxiYWNr
IEpTIHR5cGVzCisgICAgICAgIGFuZCB0aGUgYmFzaWMgc2tlbGV0b24gZm9yIHRoZSBzdHJlYW0g
Y29udHJvbGxlciBhbmQgdGhlIGNsaWVudCBhbmQgbGlzdGVuZXIgaW50ZXJmYWNlcy4KKworICAg
ICAgICBUZXN0cyB3aWxsIGJlIHByb3ZpZGVkIGJ5IHRoZSBidWcgNTY1ODcgdG9nZXRoZXIgd2l0
aCB0aGUgTGF5b3V0VGVzdENvbnRyb2xsZXIgYW5kIGNsaWVudCBtb2NrIGNvZGUuCisKKyAgICAg
ICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBDb2RlR2VuZXJhdG9ycy5wcmk6CisgICAg
ICAgICogRGVyaXZlZFNvdXJjZXMuY3BwOgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6
CisgICAgICAgICogR05VbWFrZWZpbGUuYW06CisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAg
ICAgICAqIFdlYkNvcmUucHJvOgorICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNw
cm9qOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAg
ICAgKiBwYWdlL05hdmlnYXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0b3I6Omdl
dFVzZXJNZWRpYSk6CisgICAgICAgICogcGFnZS9OYXZpZ2F0b3IuaDoKKyAgICAgICAgKiBwYWdl
L05hdmlnYXRvci5pZGw6CisgICAgICAgICogcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5o
OiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRvclVzZXJNZWRpYUVycm9yOjpOYXZp
Z2F0b3JVc2VyTWVkaWFFcnJvcik6CisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0b3JVc2VyTWVk
aWFFcnJvcjo6fk5hdmlnYXRvclVzZXJNZWRpYUVycm9yKToKKyAgICAgICAgKFdlYkNvcmU6Ok5h
dmlnYXRvclVzZXJNZWRpYUVycm9yOjpjb2RlKToKKyAgICAgICAgKiBwYWdlL05hdmlnYXRvclVz
ZXJNZWRpYUVycm9yLmlkbDogQWRkZWQuCisgICAgICAgICogcGFnZS9OYXZpZ2F0b3JVc2VyTWVk
aWFFcnJvckNhbGxiYWNrLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0b3JV
c2VyTWVkaWFFcnJvckNhbGxiYWNrOjpzY2hlZHVsZUNhbGxiYWNrKToKKyAgICAgICAgKiBwYWdl
L05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2suaDogQWRkZWQuCisgICAgICAgIChXZWJD
b3JlOjpOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrOjp+TmF2aWdhdG9yVXNlck1lZGlh
RXJyb3JDYWxsYmFjayk6CisgICAgICAgICogcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNh
bGxiYWNrLmlkbDogQWRkZWQuCisgICAgICAgICogcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFTdWNj
ZXNzQ2FsbGJhY2suaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0b3JVc2VyTWVk
aWFTdWNjZXNzQ2FsbGJhY2s6On5OYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2spOgor
ICAgICAgICAqIHBhZ2UvTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmlkbDogQWRk
ZWQuCisgICAgICAgICogcGFnZS9QYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OlBh
Z2UpOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6c3RyZWFtQ29udHJvbGxlcik6CisgICAgICAg
IChXZWJDb3JlOjpQYWdlOjpQYWdlQ2xpZW50czo6UGFnZUNsaWVudHMpOgorICAgICAgICAqIHBh
Z2UvUGFnZS5oOgorICAgICAgICAqIHBhZ2UvU3RyZWFtQ2xpZW50Lmg6IEFkZGVkLgorICAgICAg
ICAoV2ViQ29yZTo6U3RyZWFtQ2xpZW50Ojp+U3RyZWFtQ2xpZW50KToKKyAgICAgICAgKiBwYWdl
L1N0cmVhbUNvbnRyb2xsZXIuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlN0cmVhbUNv
bnRyb2xsZXI6OlN0cmVhbUNvbnRyb2xsZXIpOgorICAgICAgICAoV2ViQ29yZTo6U3RyZWFtQ29u
dHJvbGxlcjo6flN0cmVhbUNvbnRyb2xsZXIpOgorICAgICAgICAoV2ViQ29yZTo6U3RyZWFtQ29u
dHJvbGxlcjo6Z2VuZXJhdGVTdHJlYW0pOgorICAgICAgICAoV2ViQ29yZTo6U3RyZWFtQ29udHJv
bGxlcjo6c3RyZWFtR2VuZXJhdGVkKToKKyAgICAgICAgKFdlYkNvcmU6OlN0cmVhbUNvbnRyb2xs
ZXI6OnN0cmVhbUdlbmVyYXRpb25GYWlsZWQpOgorICAgICAgICAoV2ViQ29yZTo6U3RyZWFtQ29u
dHJvbGxlcjo6U3RyZWFtUmVxdWVzdDo6U3RyZWFtUmVxdWVzdCk6CisgICAgICAgICogcGFnZS9T
dHJlYW1Db250cm9sbGVyLmg6IEFkZGVkLgorICAgICAgICAqIHBhZ2UvU3RyZWFtTGlzdGVuZXIu
aDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpTdHJlYW1MaXN0ZW5lcjo6flN0cmVhbUxpc3Rl
bmVyKToKKworMjAxMS0wMy0xNyAgTGVhbmRybyBHcmFjaWEgR2lsICA8bGVhbmRyb2dyYWNpYUBj
aHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKICAg
ICAgICAgTWVkaWEgU3RyZWFtIEFQSSBwYXRjaCAwOiBhZGRpbmcgY29tcGlsYXRpb24gZ3VhcmRz
LgogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTY0NTgK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ29kZUdlbmVyYXRvcnMucHJpIGIvU291cmNl
L1dlYkNvcmUvQ29kZUdlbmVyYXRvcnMucHJpCmluZGV4IGYxMGM4MWFlMDQ2OGE1MzI1NGFiM2E5
NDExYWMzM2I3ZjE3OTJmYjguLjg1MjZmNjMyMjAxNTJiOTg3MGRmNDJkMTNjNTY3ZGY3MjI2ZTQy
ZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NvZGVHZW5lcmF0b3JzLnByaQorKysgYi9T
b3VyY2UvV2ViQ29yZS9Db2RlR2VuZXJhdG9ycy5wcmkKQEAgLTMyNiw2ICszMjYsOSBAQCBJRExf
QklORElOR1MgKz0gXAogICAgIHBhZ2UvTG9jYXRpb24uaWRsIFwKICAgICBwYWdlL01lbW9yeUlu
Zm8uaWRsIFwKICAgICBwYWdlL05hdmlnYXRvci5pZGwgXAorICAgIHBhZ2UvTmF2aWdhdG9yVXNl
ck1lZGlhRXJyb3IuaWRsIFwKKyAgICBwYWdlL05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJh
Y2suaWRsIFwKKyAgICBwYWdlL05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5pZGwg
XAogICAgIHBhZ2UvUGVyZm9ybWFuY2UuaWRsIFwKICAgICBwYWdlL1BlcmZvcm1hbmNlTmF2aWdh
dGlvbi5pZGwgXAogICAgIHBhZ2UvUGVyZm9ybWFuY2VUaW1pbmcuaWRsIFwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2
ZWRTb3VyY2VzLmNwcAppbmRleCAyNDAyMmY3NGVmNmI4ODIzN2FlYmZiZTU5ODA4YzNiYTQ3N2Jm
ZTgyLi4yY2FlODBjM2UyNjI3MDYyZmVhZTgyY2VlOGJhYmJhYWIxMDgwNjZiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
RGVyaXZlZFNvdXJjZXMuY3BwCkBAIC0yNDUsNiArMjQ1LDkgQEAKICNpbmNsdWRlICJKU011dGF0
aW9uRXZlbnQuY3BwIgogI2luY2x1ZGUgIkpTTmFtZWROb2RlTWFwLmNwcCIKICNpbmNsdWRlICJK
U05hdmlnYXRvci5jcHAiCisjaW5jbHVkZSAiSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5jcHAi
CisjaW5jbHVkZSAiSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmNwcCIKKyNpbmNs
dWRlICJKU05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5jcHAiCiAjaW5jbHVkZSAi
SlNOb2RlLmNwcCIKICNpbmNsdWRlICJKU05vZGVGaWx0ZXIuY3BwIgogI2luY2x1ZGUgIkpTTm9k
ZUl0ZXJhdG9yLmNwcCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2Vz
Lm1ha2UgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IGI2MjAwMmQ0
Y2E3NDdmZWIyN2U3MDc3YTg1MzRjMmE0NDYxZDg4MGUuLjI1ODY1NDA3M2ZkMzIxZGNiZTI3NTll
ZTkyMjNlOGJjM2I1OWZiYjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLm1ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtMzA3
LDYgKzMwNyw5IEBAIERPTV9DTEFTU0VTID0gXAogICAgIE11dGF0aW9uRXZlbnQgXAogICAgIE5h
bWVkTm9kZU1hcCBcCiAgICAgTmF2aWdhdG9yIFwKKyAgICBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJv
ciBcCisgICAgTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjayBcCisgICAgTmF2aWdhdG9y
VXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrIFwKICAgICBOb2RlIFwKICAgICBOb2RlRmlsdGVyIFwK
ICAgICBOb2RlSXRlcmF0b3IgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZp
bGUuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQppbmRleCBiYTAzYTUwYmVkYjgz
YTJiZjY1MTMyNzRkZDY5NzM4NDJiMmZhYThmLi4zNTY4ZmRkYTM1N2UxNzNjYzI5Y2Y1MjQ4OWQx
OGZhZDY5Y2U2MGZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQpAQCAtNDcwLDYgKzQ3MCwxMiBAQCB3
ZWJjb3JlX2J1aWx0X3NvdXJjZXMgKz0gXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOYW1l
ZE5vZGVNYXAuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05hdmlnYXRvci5jcHAgXAog
CURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOYXZpZ2F0b3IuaCBcCisJRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmNwcCBcCisJRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmggXAorCURlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmNwcCBcCisJRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2suaCBcCisJRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5j
cHAgXAorCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNz
Q2FsbGJhY2suaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05vZGUuY3BwIFwKIAlEZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTTm9kZUZpbHRlci5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNOb2RlRmlsdGVyLmggXApAQCAtMjI2Niw2ICsyMjcyLDEwIEBAIHdlYmNvcmVfc291
cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3IuaCBcCiAJU291cmNlL1dl
YkNvcmUvcGFnZS9OYXZpZ2F0b3JCYXNlLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGFnZS9OYXZp
Z2F0b3JCYXNlLmggXAorCVNvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yVXNlck1lZGlhRXJy
b3IuaCBcCisJU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxi
YWNrLmNwcCBcCisJU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNh
bGxiYWNrLmggXAorCVNvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vz
c0NhbGxiYWNrLmggXAogCVNvdXJjZS9XZWJDb3JlL3BhZ2UvT3JpZ2luQWNjZXNzRW50cnkuY3Bw
IFwKIAlTb3VyY2UvV2ViQ29yZS9wYWdlL09yaWdpbkFjY2Vzc0VudHJ5LmggXAogCVNvdXJjZS9X
ZWJDb3JlL3BhZ2UvUGFnZS5jcHAgXApAQCAtMjMwOCw2ICsyMzE4LDEwIEBAIHdlYmNvcmVfc291
cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvcGFnZS9TcGVlY2hJbnB1dFJlc3VsdC5oIFwKIAlT
b3VyY2UvV2ViQ29yZS9wYWdlL1NwZWVjaElucHV0UmVzdWx0TGlzdC5jcHAgXAogCVNvdXJjZS9X
ZWJDb3JlL3BhZ2UvU3BlZWNoSW5wdXRSZXN1bHRMaXN0LmggXAorCVNvdXJjZS9XZWJDb3JlL3Bh
Z2UvU3RyZWFtQ2xpZW50LmggXAorCVNvdXJjZS9XZWJDb3JlL3BhZ2UvU3RyZWFtQ29udHJvbGxl
ci5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL3BhZ2UvU3RyZWFtQ29udHJvbGxlci5oIFwKKwlTb3Vy
Y2UvV2ViQ29yZS9wYWdlL1N0cmVhbUxpc3RlbmVyLmggXAogCVNvdXJjZS9XZWJDb3JlL3BhZ2Uv
U3VzcGVuZGFibGVUaW1lci5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3BhZ2UvU3VzcGVuZGFibGVU
aW1lci5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wYWdlL1VzZXJDb250ZW50VHlwZXMuaCBcCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLmd5cGkKaW5kZXggMmU2MThmOWE2NzZhM2QwYTBlMTZjMmZiMDAwNzM5OGQzYzlmZjRjNC4u
ZWMwYThkYTRjMzAzZmRjZWMwNWU4NjllNDViZWQ0YmQ5MmMzN2IwNCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lw
aQpAQCAtMTUxMyw2ICsxNTEzLDkgQEAKICAgICAgICAgICAgICdwYWdlL0xvY2F0aW9uLmlkbCcs
CiAgICAgICAgICAgICAncGFnZS9NZW1vcnlJbmZvLmlkbCcsCiAgICAgICAgICAgICAncGFnZS9O
YXZpZ2F0b3IuaWRsJywKKyAgICAgICAgICAgICdwYWdlL05hdmlnYXRvclVzZXJNZWRpYUVycm9y
LmlkbCcsCisgICAgICAgICAgICAncGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNr
LmlkbCcsCisgICAgICAgICAgICAncGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJh
Y2suaWRsJywKICAgICAgICAgICAgICdwYWdlL1BlcmZvcm1hbmNlLmlkbCcsCiAgICAgICAgICAg
ICAncGFnZS9QZXJmb3JtYW5jZU5hdmlnYXRpb24uaWRsJywKICAgICAgICAgICAgICdwYWdlL1Bl
cmZvcm1hbmNlVGltaW5nLmlkbCcsCkBAIC0zNTY3LDYgKzM1NzAsMTAgQEAKICAgICAgICAgICAg
ICdwYWdlL05hdmlnYXRvci5oJywKICAgICAgICAgICAgICdwYWdlL05hdmlnYXRvckJhc2UuY3Bw
JywKICAgICAgICAgICAgICdwYWdlL05hdmlnYXRvckJhc2UuaCcsCisgICAgICAgICAgICAncGFn
ZS9OYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5oJywKKyAgICAgICAgICAgICdwYWdlL05hdmlnYXRv
clVzZXJNZWRpYUVycm9yQ2FsbGJhY2suY3BwJywKKyAgICAgICAgICAgICdwYWdlL05hdmlnYXRv
clVzZXJNZWRpYUVycm9yQ2FsbGJhY2suaCcsCisgICAgICAgICAgICAncGFnZS9OYXZpZ2F0b3JV
c2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suaCcsCiAgICAgICAgICAgICAncGFnZS9PcmlnaW5BY2Nl
c3NFbnRyeS5jcHAnLAogICAgICAgICAgICAgJ3BhZ2UvT3JpZ2luQWNjZXNzRW50cnkuaCcsCiAg
ICAgICAgICAgICAncGFnZS9QYWdlLmNwcCcsCkBAIC0zNTk3LDYgKzM2MDQsMTAgQEAKICAgICAg
ICAgICAgICdwYWdlL1NwZWVjaElucHV0UmVzdWx0LmgnLAogICAgICAgICAgICAgJ3BhZ2UvU3Bl
ZWNoSW5wdXRSZXN1bHRMaXN0LmNwcCcsCiAgICAgICAgICAgICAncGFnZS9TcGVlY2hJbnB1dFJl
c3VsdExpc3QuaCcsCisgICAgICAgICAgICAncGFnZS9TdHJlYW1DbGllbnQuaCcsCisgICAgICAg
ICAgICAncGFnZS9TdHJlYW1MaXN0ZW5lci5oJywKKyAgICAgICAgICAgICdwYWdlL1N0cmVhbUNv
bnRyb2xsZXIuY3BwJywKKyAgICAgICAgICAgICdwYWdlL1N0cmVhbUNvbnRyb2xsZXIuaCcsCiAg
ICAgICAgICAgICAncGFnZS9TdXNwZW5kYWJsZVRpbWVyLmNwcCcsCiAgICAgICAgICAgICAncGFn
ZS9TdXNwZW5kYWJsZVRpbWVyLmgnLAogICAgICAgICAgICAgJ3BhZ2UvVXNlckNvbnRlbnRVUkxQ
YXR0ZXJuLmNwcCcsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnBybyBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvCmluZGV4IDU0YzAwOTlhMzAxYjU3ODgwMTMyZWUwMDAy
YTkyNDhlYTNlNWJhYTMuLjE5OTMzOTBiZTllMDY1NjQ0OTI3NjlmYmYyNmUyNWYyNWI1M2ViOWYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvCisrKyBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUucHJvCkBAIC05MDYsNiArOTA2LDcgQEAgU09VUkNFUyArPSBcCiAgICAgcGFn
ZS9NZW1vcnlJbmZvLmNwcCBcCiAgICAgcGFnZS9Nb3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1bHRz
LmNwcCBcCiAgICAgcGFnZS9OYXZpZ2F0b3IuY3BwIFwKKyAgICBwYWdlL05hdmlnYXRvclVzZXJN
ZWRpYUVycm9yQ2FsbGJhY2suY3BwIFwKICAgICBwYWdlL05hdmlnYXRvckJhc2UuY3BwIFwKICAg
ICBwYWdlL09yaWdpbkFjY2Vzc0VudHJ5LmNwcCBcCiAgICAgcGFnZS9QYWdlLmNwcCBcCkBAIC05
MjAsNiArOTIxLDcgQEAgU09VUkNFUyArPSBcCiAgICAgcGFnZS9TZWN1cml0eU9yaWdpbi5jcHAg
XAogICAgIHBhZ2UvU2V0dGluZ3MuY3BwIFwKICAgICBwYWdlL1NwYXRpYWxOYXZpZ2F0aW9uLmNw
cCBcCisgICAgcGFnZS9TdHJlYW1Db250cm9sbGVyLmNwcCBcCiAgICAgcGFnZS9TdXNwZW5kYWJs
ZVRpbWVyLmNwcCBcCiAgICAgcGFnZS9Vc2VyQ29udGVudFVSTFBhdHRlcm4uY3BwIFwKICAgICBw
YWdlL1dpbmRvd0ZlYXR1cmVzLmNwcCBcCkBAIC0xODMyLDYgKzE4MzQsOSBAQCBIRUFERVJTICs9
IFwKICAgICBwYWdlL01vdXNlRXZlbnRXaXRoSGl0VGVzdFJlc3VsdHMuaCBcCiAgICAgcGFnZS9O
YXZpZ2F0b3JCYXNlLmggXAogICAgIHBhZ2UvTmF2aWdhdG9yLmggXAorICAgIHBhZ2UvTmF2aWdh
dG9yVXNlck1lZGlhRXJyb3IuaCBcCisgICAgcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNh
bGxiYWNrLmggXAorICAgIHBhZ2UvTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmgg
XAogICAgIHBhZ2UvUGFnZUdyb3VwLmggXAogICAgIHBhZ2UvUGFnZUdyb3VwTG9hZERlZmVycmVy
LmggXAogICAgIHBhZ2UvUGFnZS5oIFwKQEAgLTE4NDgsNiArMTg1Myw5IEBAIEhFQURFUlMgKz0g
XAogICAgIHBhZ2UvU3BlZWNoSW5wdXRMaXN0ZW5lci5oIFwKICAgICBwYWdlL1NwZWVjaElucHV0
UmVzdWx0LmggXAogICAgIHBhZ2UvU3BlZWNoSW5wdXRSZXN1bHRMaXN0LmggXAorICAgIHBhZ2Uv
U3RyZWFtQ2xpZW50LmggXAorICAgIHBhZ2UvU3RyZWFtQ29udHJvbGxlci5oIFwKKyAgICBwYWdl
L1N0cmVhbUxpc3RlbmVyLmggXAogICAgIHBhZ2UvV2ViS2l0QW5pbWF0aW9uLmggXAogICAgIHBh
Z2UvV2ViS2l0QW5pbWF0aW9uTGlzdC5oIFwKICAgICBwYWdlL1dpbmRvd0ZlYXR1cmVzLmggXApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2og
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagppbmRleCA3M2Zl
ZjEzZGVlMDcyZDVjOGRjNTYxM2EyNTI5YWM4ZDk2YjZiMjU0Li4xNDVkMjdkM2JhNDMwOTZlNTlk
MTY0NDkyOWQ1MjY3ZTZhOThiYWE4IDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJv
ai9XZWJDb3JlLnZjcHJvagpAQCAtMTE4NzgsNiArMTE4NzgsMTc0IEBACiAJCQkJPgogCQkJPC9G
aWxlPgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGly
KVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNOYXZpZ2F0b3JVc2VyTWVkaWFF
cnJvci5jcHAiCisJCQkJPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1
Z3xXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRv
b2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29u
ZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUmVsZWFzZXxX
aW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wK
KwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmln
dXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWdfQ2Fpcm9f
Q0ZMaXRlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJ
CQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0Zp
bGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJSZWxl
YXNlX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJ
CQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+
CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJ
TmFtZT0iRGVidWdfQWxsfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJ
CQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4K
KwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlO
YW1lPSJSZWxlYXNlX0xUQ0d8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgor
CQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkv
PgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJl
bGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxE
ZXJpdmVkU291cmNlc1xKU05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmgiCisJCQkJPgorCQkJPC9G
aWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGly
KVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNOYXZpZ2F0b3JVc2VyTWVkaWFF
cnJvckNhbGxiYWNrLmNwcCIKKwkJCQk+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5h
bWU9IkRlYnVnfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgor
CQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8
L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJS
ZWxlYXNlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJ
CQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0Zp
bGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1
Z19DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJ
CQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgor
CQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5h
bWU9IlJlbGVhc2VfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0i
dHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIK
KwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlv
bgorCQkJCQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0
cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgor
CQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9u
CisJCQkJCU5hbWU9IlJlbGVhc2VfTFRDR3xXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9
InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wi
CisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCTwvRmlsZT4KKwkJCTxGaWxl
CisJCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVj
dE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5o
IgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZp
Z3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTmF2
aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmNwcCIKKwkJCQk+CisJCQkJPEZpbGVDb25m
aWd1cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWls
ZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9v
bCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJh
dGlvbgorCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0i
dHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIK
KwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlv
bgorCQkJCQlOYW1lPSJEZWJ1Z19DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJv
bUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGls
ZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25m
aWd1cmF0aW9uCisJCQkJCU5hbWU9IlJlbGVhc2VfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQlF
eGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0i
VkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJ
CTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIiCisJCQkJCUV4
Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJW
Q0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJ
PEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IlJlbGVhc2VfTFRDR3xXaW4zMiIKKwkJCQkJ
RXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9
IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJ
CTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRpb25CdWls
ZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTmF2aWdhdG9yVXNlck1l
ZGlhU3VjY2Vzc0NhbGxiYWNrLmgiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKIAkJCQlS
ZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlc
RGVyaXZlZFNvdXJjZXNcSlNOb2RlLmNwcCIKIAkJCQk+CiAJCQkJPEZpbGVDb25maWd1cmF0aW9u
CkBAIC0yNDg5NCw2ICsyNTA2MiwyMiBAQAogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCisJ
CQkJUmVsYXRpdmVQYXRoPSIuLlxwYWdlXE5hdmlnYXRvclVzZXJNZWRpYUVycm9yLmgiCisJCQkJ
PgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHBhZ2VcTmF2aWdh
dG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5jcHAiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZp
bGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHBhZ2VcTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxs
YmFjay5oIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIu
LlxwYWdlXE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5oIgorCQkJCT4KKwkJCTwv
RmlsZT4KKwkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxwYWdlXE9yaWdpbkFjY2Vzc0Vu
dHJ5LmNwcCIKIAkJCQk+CiAJCQk8L0ZpbGU+CkBAIC0yNTAzMCw2ICsyNTIxNCwyMiBAQAogCQkJ
CT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxwYWdlXFN0cmVh
bUNsaWVudC5oIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRo
PSIuLlxwYWdlXFN0cmVhbUNvbnRyb2xsZXIuY3BwIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxG
aWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxwYWdlXFN0cmVhbUNvbnRyb2xsZXIuaCIKKwkJCQk+
CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGFnZVxTdHJlYW1M
aXN0ZW5lci5oIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRo
PSIuLlxwYWdlXFN1c3BlbmRhYmxlVGltZXIuY3BwIgogCQkJCT4KIAkJCTwvRmlsZT4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBj
OWNmOWIzODJjMjRiYzJlZWViOTNiNzQ2N2MyNGE0NzIxNDY1MzMwLi41NTFjODEwNzI5YTlhNGJi
NDYwYjMyZmUyODdjYTExMjhiOTU0YmUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC00MDc4LDYgKzQwNzgsMTYgQEAKIAkJQjAx
NDlFN0UxMUE0QjIxNTAwMTk2QTdCIC8qIEFzeW5jSW1hZ2VSZXNpemVyLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMDE0OUU3QTExQTRCMjE1MDAxOTZB
N0IgLyogQXN5bmNJbWFnZVJlc2l6ZXIuaCAqLzsgfTsKIAkJQjAxNDlFN0YxMUE0QjIxNTAwMTk2
QTdCIC8qIEltYWdlUmVzaXplclRocmVhZC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBCMDE0OUU3QjExQTRCMjE1MDAxOTZBN0IgLyogSW1hZ2VSZXNp
emVyVGhyZWFkLmNwcCAqLzsgfTsKIAkJQjAxNDlFODAxMUE0QjIxNTAwMTk2QTdCIC8qIEltYWdl
UmVzaXplclRocmVhZC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQjAxNDlFN0MxMUE0QjIxNTAwMTk2QTdCIC8qIEltYWdlUmVzaXplclRocmVhZC5oICov
OyB9OworCQlCMUU0NkMwOTEzMzNCNTdGMDA4MjJEN0YgLyogTmF2aWdhdG9yVXNlck1lZGlhRXJy
b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIxRTQ2
QzAxMTMzM0I1N0YwMDgyMkQ3RiAvKiBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5oICovOyB9Owor
CQlCMUU0NkMwQjEzMzNCNTdGMDA4MjJEN0YgLyogTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxs
YmFjay5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBC
MUU0NkMwMzEzMzNCNTdGMDA4MjJEN0YgLyogTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFj
ay5jcHAgKi87IH07CisJCUIxRTQ2QzBDMTMzM0I1N0YwMDgyMkQ3RiAvKiBOYXZpZ2F0b3JVc2Vy
TWVkaWFFcnJvckNhbGxiYWNrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBCMUU0NkMwNDEzMzNCNTdGMDA4MjJEN0YgLyogTmF2aWdhdG9yVXNlck1lZGlh
RXJyb3JDYWxsYmFjay5oICovOyB9OworCQlCMUU0NkMwRjEzMzNCNTdGMDA4MjJEN0YgLyogTmF2
aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMUU0NkMwNzEzMzNCNTdGMDA4MjJEN0YgLyogTmF2aWdh
dG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmggKi87IH07CisJCUIxRTQ2QzUyMTMzM0MxREMw
MDgyMkQ3RiAvKiBKU05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIxRTQ2QzQ0MTMzM0MxREMwMDgyMkQ3RiAv
KiBKU05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmNwcCAqLzsgfTsKKwkJQjFFNDZDNTMxMzMzQzFE
QzAwODIyRDdGIC8qIEpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIxRTQ2QzQ1MTMzM0MxREMwMDgyMkQ3RiAv
KiBKU05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmggKi87IH07CisJCUIxRTQ2QzU0MTMzM0MxREMw
MDgyMkQ3RiAvKiBKU05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2suY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjFFNDZDNDYxMzMzQzFEQzAw
ODIyRDdGIC8qIEpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5jcHAgKi87IH07CisJ
CUIxRTQ2QzU1MTMzM0MxREMwMDgyMkQ3RiAvKiBKU05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2Fs
bGJhY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIx
RTQ2QzQ3MTMzM0MxREMwMDgyMkQ3RiAvKiBKU05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJh
Y2suaCAqLzsgfTsKKwkJQjFFNDZDNTYxMzMzQzFEQzAwODIyRDdGIC8qIEpTTmF2aWdhdG9yVXNl
ck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEIxRTQ2QzQ4MTMzM0MxREMwMDgyMkQ3RiAvKiBKU05hdmlnYXRvclVz
ZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5jcHAgKi87IH07CisJCUIxRTQ2QzU3MTMzM0MxREMwMDgy
MkQ3RiAvKiBKU05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjFFNDZDNDkxMzMzQzFEQzAwODIy
RDdGIC8qIEpTTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmggKi87IH07CiAJCUIy
MDExMTA3MEFCNzc0MDUwMERCMEU2OCAvKiBKU1NWR0FFbGVtZW50LmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIyMDExMTA1MEFCNzc0MDUwMERCMEU2
OCAvKiBKU1NWR0FFbGVtZW50LmNwcCAqLzsgfTsKIAkJQjIwMTExMDgwQUI3NzQwNTAwREIwRTY4
IC8qIEpTU1ZHQUVsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEIyMDExMTA2MEFCNzc0MDUwMERCMEU2OCAvKiBKU1NWR0FFbGVtZW50LmggKi87
IH07CiAJCUIyMjI3OTYyMEQwMEJGMjIwMDcxQjc4MiAvKiBDb2xvckRpc3RhbmNlLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIyMjI3N0NCMEQwMEJG
MUYwMDcxQjc4MiAvKiBDb2xvckRpc3RhbmNlLmNwcCAqLzsgfTsKQEAgLTEwMzEyLDYgKzEwMzIy
LDE5IEBACiAJCUIwMTQ5RTdBMTFBNEIyMTUwMDE5NkE3QiAvKiBBc3luY0ltYWdlUmVzaXplci5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBc3luY0ltYWdlUmVzaXplci5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCMDE0OUU3QjExQTRCMjE1MDAxOTZBN0IgLyog
SW1hZ2VSZXNpemVyVGhyZWFkLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IEltYWdlUmVzaXplclRocmVhZC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUIwMTQ5RTdDMTFBNEIyMTUwMDE5NkE3QiAvKiBJbWFnZVJlc2l6ZXJUaHJlYWQuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW1hZ2VSZXNpemVyVGhyZWFkLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCUIxRTQ2QzAxMTMzM0I1N0YwMDgyMkQ3RiAvKiBOYXZpZ2F0
b3JVc2VyTWVkaWFFcnJvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOYXZp
Z2F0b3JVc2VyTWVkaWFFcnJvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCMUU0
NkMwMjEzMzNCNTdGMDA4MjJEN0YgLyogTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuaWRsICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gdGV4dDsgcGF0aCA9IE5hdmlnYXRvclVzZXJNZWRpYUVycm9yLmlkbDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjFFNDZDMDMxMzMzQjU3RjAwODIyRDdGIC8qIE5hdmlnYXRv
clVzZXJNZWRpYUVycm9yQ2FsbGJhY2suY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCUIxRTQ2QzA0MTMzM0I1N0YwMDgyMkQ3RiAvKiBOYXZpZ2F0b3JV
c2VyTWVkaWFFcnJvckNhbGxiYWNrLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJQjFFNDZDMDUxMzMzQjU3RjAwODIyRDdGIC8qIE5hdmlnYXRvclVzZXJNZWRpYUVy
cm9yQ2FsbGJhY2suaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IE5hdmlnYXRvclVzZXJNZWRp
YUVycm9yQ2FsbGJhY2suaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCMUU0NkMw
NzEzMzNCNTdGMDA4MjJEN0YgLyogTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nl
c3NDYWxsYmFjay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCMUU0NkMwODEzMzNC
NTdGMDA4MjJEN0YgLyogTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmlkbCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHRleHQ7IHBhdGggPSBOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suaWRs
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCMUU0NkM0NDEzMzNDMURDMDA4MjJEN0Yg
LyogSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBKU05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJQjFFNDZDNDUxMzMzQzFEQzAwODIyRDdGIC8qIEpTTmF2aWdhdG9y
VXNlck1lZGlhRXJyb3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNOYXZp
Z2F0b3JVc2VyTWVkaWFFcnJvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCMUU0
NkM0NjEzMzNDMURDMDA4MjJEN0YgLyogSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNr
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTTmF2aWdhdG9yVXNl
ck1lZGlhRXJyb3JDYWxsYmFjay5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIx
RTQ2QzQ3MTMzM0MxREMwMDgyMkQ3RiAvKiBKU05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJh
Y2suaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNOYXZpZ2F0b3JVc2VyTWVk
aWFFcnJvckNhbGxiYWNrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIxRTQ2QzQ4
MTMzM0MxREMwMDgyMkQ3RiAvKiBKU05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU05hdmlnYXRvclVzZXJN
ZWRpYVN1Y2Nlc3NDYWxsYmFjay5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIx
RTQ2QzQ5MTMzM0MxREMwMDgyMkQ3RiAvKiBKU05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxs
YmFjay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU05hdmlnYXRvclVzZXJN
ZWRpYVN1Y2Nlc3NDYWxsYmFjay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCMjAx
MTEwNTBBQjc3NDA1MDBEQjBFNjggLyogSlNTVkdBRWxlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNTVkdBRWxlbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUIyMDExMTA2MEFCNzc0MDUwMERCMEU2OCAvKiBKU1NWR0FFbGVtZW50
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1NWR0FFbGVtZW50Lmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIyMjI3N0NCMEQwMEJGMUYwMDcxQjc4MiAvKiBD
b2xvckRpc3RhbmNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBD
b2xvckRpc3RhbmNlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE0MTcxLDYg
KzE0MTk0LDEzIEBACiAJCQkJQTlDNkU2NUQwRDc0NjY5NDAwNjQ0MkU5IC8qIE5hdmlnYXRvci5p
ZGwgKi8sCiAJCQkJRTEyNzE5QzkwRUVFQzIxMzAwRjYxMjEzIC8qIE5hdmlnYXRvckJhc2UuY3Bw
ICovLAogCQkJCUUxMjcxOUM2MEVFRUMxNjgwMEY2MTIxMyAvKiBOYXZpZ2F0b3JCYXNlLmggKi8s
CisJCQkJQjFFNDZDMDExMzMzQjU3RjAwODIyRDdGIC8qIE5hdmlnYXRvclVzZXJNZWRpYUVycm9y
LmggKi8sCisJCQkJQjFFNDZDMDIxMzMzQjU3RjAwODIyRDdGIC8qIE5hdmlnYXRvclVzZXJNZWRp
YUVycm9yLmlkbCAqLywKKwkJCQlCMUU0NkMwMzEzMzNCNTdGMDA4MjJEN0YgLyogTmF2aWdhdG9y
VXNlck1lZGlhRXJyb3JDYWxsYmFjay5jcHAgKi8sCisJCQkJQjFFNDZDMDQxMzMzQjU3RjAwODIy
RDdGIC8qIE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2suaCAqLywKKwkJCQlCMUU0NkMw
NTEzMzNCNTdGMDA4MjJEN0YgLyogTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5pZGwg
Ki8sCisJCQkJQjFFNDZDMDcxMzMzQjU3RjAwODIyRDdGIC8qIE5hdmlnYXRvclVzZXJNZWRpYVN1
Y2Nlc3NDYWxsYmFjay5oICovLAorCQkJCUIxRTQ2QzA4MTMzM0I1N0YwMDgyMkQ3RiAvKiBOYXZp
Z2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suaWRsICovLAogCQkJCTAwMTQ2Mjg4MTAzQ0Qx
REUwMDBCMjBEQiAvKiBPcmlnaW5BY2Nlc3NFbnRyeS5jcHAgKi8sCiAJCQkJMDAxNDYyODkxMDND
RDFERTAwMEIyMERCIC8qIE9yaWdpbkFjY2Vzc0VudHJ5LmggKi8sCiAJCQkJNjVGRUE4NjgwOTgz
M0FERTAwQkVENEFCIC8qIFBhZ2UuY3BwICovLApAQCAtMTgyMzIsNiArMTgyNjIsMTIgQEAKIAkJ
CQk5RkZFM0VBNDExQjVBNDM5MDAzNzg3NEUgLyogSlNNZW1vcnlJbmZvLmggKi8sCiAJCQkJQTlE
MjQ3RjUwRDc1N0UzMzAwRkRGOTU5IC8qIEpTTmF2aWdhdG9yLmNwcCAqLywKIAkJCQlBOUQyNDdG
NjBENzU3RTMzMDBGREY5NTkgLyogSlNOYXZpZ2F0b3IuaCAqLywKKwkJCQlCMUU0NkM0NDEzMzND
MURDMDA4MjJEN0YgLyogSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5jcHAgKi8sCisJCQkJQjFF
NDZDNDUxMzMzQzFEQzAwODIyRDdGIC8qIEpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuaCAqLywK
KwkJCQlCMUU0NkM0NjEzMzNDMURDMDA4MjJEN0YgLyogSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJv
ckNhbGxiYWNrLmNwcCAqLywKKwkJCQlCMUU0NkM0NzEzMzNDMURDMDA4MjJEN0YgLyogSlNOYXZp
Z2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmggKi8sCisJCQkJQjFFNDZDNDgxMzMzQzFEQzAw
ODIyRDdGIC8qIEpTTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmNwcCAqLywKKwkJ
CQlCMUU0NkM0OTEzMzNDMURDMDA4MjJEN0YgLyogSlNOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNz
Q2FsbGJhY2suaCAqLywKIAkJCQk4QTlBNTg3MjExRTg0QzgxMDA4QUNGRDEgLyogSlNQZXJmb3Jt
YW5jZS5jcHAgKi8sCiAJCQkJOEE5QTU4NzMxMUU4NEM4MTAwOEFDRkQxIC8qIEpTUGVyZm9ybWFu
Y2UuaCAqLywKIAkJCQk4QTlBNTg2RTExRTg0QzM1MDA4QUNGRDEgLyogSlNQZXJmb3JtYW5jZU5h
dmlnYXRpb24uY3BwICovLApAQCAtMjI2ODAsNiArMjI3MTYsMTIgQEAKIAkJCQkzMTk0NjIwNDEz
MDIyQkYxMDA0QkIzRjggLyogRE9NV2ViS2l0QW5pbWF0aW9uTGlzdC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJMzE5RTY5QjMxMzI5OUJCRDAwNEFDOTFBIC8qIFdlYktpdEFuaW1hdGlvbi5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMzE5RTY5QjYxMzI5OUJCRDAwNEFDOTFBIC8qIFdlYktpdEFuaW1hdGlv
bkxpc3QuaCBpbiBIZWFkZXJzICovLAorCQkJCUIxRTQ2QzA5MTMzM0I1N0YwMDgyMkQ3RiAvKiBO
YXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5oIGluIEhlYWRlcnMgKi8sCisJCQkJQjFFNDZDMEMxMzMz
QjU3RjAwODIyRDdGIC8qIE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2suaCBpbiBIZWFk
ZXJzICovLAorCQkJCUIxRTQ2QzBGMTMzM0I1N0YwMDgyMkQ3RiAvKiBOYXZpZ2F0b3JVc2VyTWVk
aWFTdWNjZXNzQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovLAorCQkJCUIxRTQ2QzUzMTMzM0MxREMw
MDgyMkQ3RiAvKiBKU05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmggaW4gSGVhZGVycyAqLywKKwkJ
CQlCMUU0NkM1NTEzMzNDMURDMDA4MjJEN0YgLyogSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNh
bGxiYWNrLmggaW4gSGVhZGVycyAqLywKKwkJCQlCMUU0NkM1NzEzMzNDMURDMDA4MjJEN0YgLyog
SlNOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovLAogCQkJ
KTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAt
MjUzNDgsNiArMjUzOTAsMTAgQEAKIAkJCQkzMTlFNjg4NzEzMjdDOTExMDA0QUM5MUEgLyogSlNX
ZWJLaXRBbmltYXRpb25DdXN0b20uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMzE5RTY5QjIxMzI5
OUJCRDAwNEFDOTFBIC8qIFdlYktpdEFuaW1hdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkz
MTlFNjlCNTEzMjk5QkJEMDA0QUM5MUEgLyogV2ViS2l0QW5pbWF0aW9uTGlzdC5jcHAgaW4gU291
cmNlcyAqLywKKwkJCQlCMUU0NkMwQjEzMzNCNTdGMDA4MjJEN0YgLyogTmF2aWdhdG9yVXNlck1l
ZGlhRXJyb3JDYWxsYmFjay5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlCMUU0NkM1MjEzMzNDMURD
MDA4MjJEN0YgLyogSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5jcHAgaW4gU291cmNlcyAqLywK
KwkJCQlCMUU0NkM1NDEzMzNDMURDMDA4MjJEN0YgLyogSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJv
ckNhbGxiYWNrLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUIxRTQ2QzU2MTMzM0MxREMwMDgyMkQ3
RiAvKiBKU05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5jcHAgaW4gU291cmNlcyAq
LywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJ
fTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yLmNwcAppbmRleCA2YTI2N2FkNDE2MTk2OTkwM2M4MGNh
NjM5NDQwYzM5MWFmNTMwN2VkLi5iZGYyNTIyZjE3NjA4MzkxYmRmODMwMWQ5ZGE2NmM1NGVhZmEy
NzE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3IuY3BwCkBAIC00MSw2ICs0MSw3IEBACiAjaW5j
bHVkZSAiU2NyaXB0Q29udHJvbGxlci5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCiAjaW5jbHVk
ZSAiU3RvcmFnZU5hbWVzcGFjZS5oIgorI2luY2x1ZGUgIlN0cmVhbUNvbnRyb2xsZXIuaCIKICNp
bmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTI0
Miw0ICsyNDMsMTcgQEAgdm9pZCBOYXZpZ2F0b3I6OnJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKGNv
bnN0IFN0cmluZyYgc2NoZW1lLCBjb25zdCBTdHJpbmcmIHVybCwKIH0KICNlbmRpZgogCisjaWYg
RU5BQkxFKE1FRElBX1NUUkVBTSkKK3ZvaWQgTmF2aWdhdG9yOjp3ZWJraXRHZXRVc2VyTWVkaWEo
Y29uc3QgU3RyaW5nJiBvcHRpb25zLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBQYXNzUmVmUHRyPE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjaz4gc3VjY2Vzc0Nh
bGxiYWNrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQYXNzUmVmUHRyPE5h
dmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2s+IGVycm9yQ2FsbGJhY2spCit7CisgICAgUGFn
ZSogcGFnZSA9IG1fZnJhbWUtPnBhZ2UoKTsKKyAgICBpZiAoIXBhZ2UpCisgICAgICAgIHJldHVy
bjsKKworICAgIHBhZ2UtPnN0cmVhbUNvbnRyb2xsZXIoKS0+Z2VuZXJhdGVTdHJlYW0ob3B0aW9u
cywgc3VjY2Vzc0NhbGxiYWNrLCBlcnJvckNhbGxiYWNrKTsKK30KKyNlbmRpZgorCiB9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRv
ci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3IuaAppbmRleCA2OTNiZGUxM2Y5MDgy
YzRhYzE3N2ZmNTVlNjM0NDhiMTYzYTNmMTcyLi4yYTdkY2VhOTcwODY0Y2RjYjk5MDhlMmY4ZjE5
ZjQ3ODViYjYxNTJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yLmgKQEAgLTIxLDYgKzIxLDggQEAK
ICNkZWZpbmUgTmF2aWdhdG9yX2gKIAogI2luY2x1ZGUgIk5hdmlnYXRvckJhc2UuaCIKKyNpbmNs
dWRlICJOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmgiCisjaW5jbHVkZSAiTmF2aWdh
dG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4K
ICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+
CkBAIC02Nyw2ICs2OSwxMSBAQCBwdWJsaWM6CiAgICAgdm9pZCByZWdpc3RlclByb3RvY29sSGFu
ZGxlcihjb25zdCBTdHJpbmcmIHNjaGVtZSwgY29uc3QgU3RyaW5nJiB1cmwsIGNvbnN0IFN0cmlu
ZyYgdGl0bGUsIEV4Y2VwdGlvbkNvZGUmKTsKICNlbmRpZgogCisjaWYgRU5BQkxFKE1FRElBX1NU
UkVBTSkKKyAgICB2aXJ0dWFsIHZvaWQgd2Via2l0R2V0VXNlck1lZGlhKGNvbnN0IFN0cmluZyYg
b3B0aW9ucywgUGFzc1JlZlB0cjxOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2s+LAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUGFzc1JlZlB0cjxOYXZpZ2F0b3JV
c2VyTWVkaWFFcnJvckNhbGxiYWNrPiA9IDApOworI2VuZGlmCisKIHByaXZhdGU6CiAgICAgTmF2
aWdhdG9yKEZyYW1lKik7CiAgICAgRnJhbWUqIG1fZnJhbWU7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL05hdmlnYXRvci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRv
ci5pZGwKaW5kZXggYmYzZjEwOGVjOTAyNWMwMDg2YmYyODBmMzgxOTBjNGU5M2FlZDk3ZS4uOGMx
YmVjMzY2Zjg1YWM5MjBhN2ExMGQ2NDVkOWE4MTEwOTE5MDg5MCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3IuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2
aWdhdG9yLmlkbApAQCAtMzcsNyArMzcsNyBAQCBtb2R1bGUgd2luZG93IHsKICAgICAgICAgcmVh
ZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyB2ZW5kb3JTdWI7CiAgICAgICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSBib29sZWFuIGNvb2tpZUVuYWJsZWQ7CiAgICAgICAgIGJvb2xlYW4gamF2YUVuYWJs
ZWQoKTsKLSAgICAgICAgCisKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gb25M
aW5lOwogCiAjaWYgZGVmaW5lZChFTkFCTEVfR0VPTE9DQVRJT04pICYmIEVOQUJMRV9HRU9MT0NB
VElPTgpAQCAtNTIsNiArNTIsMTIgQEAgbW9kdWxlIHdpbmRvdyB7CiAgICAgICAgIHZvaWQgcmVn
aXN0ZXJQcm90b2NvbEhhbmRsZXIoaW4gRE9NU3RyaW5nIHNjaGVtZSwgaW4gRE9NU3RyaW5nIHVy
bCwgaW4gRE9NU3RyaW5nIHRpdGxlKQogICAgICAgICAgICAgcmFpc2VzKERvbUV4Y2VwdGlvbik7
CiAjZW5kaWYKKworI2lmIGRlZmluZWQoRU5BQkxFX01FRElBX1NUUkVBTSkgJiYgRU5BQkxFX01F
RElBX1NUUkVBTQorICAgICAgICB2b2lkIHdlYmtpdEdldFVzZXJNZWRpYShpbiBET01TdHJpbmcg
b3B0aW9ucywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gW0NhbGxiYWNrXSBO
YXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBbQ2FsbGJhY2ssIE9wdGlvbmFsXSBOYXZpZ2F0
b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spOworI2VuZGlmCiAgICAgfTsK
IAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFF
cnJvci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5oCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjFmZjI2YmU5ZDRkYWFiMjQ2ZDhjZjBjYjUzNDVhNWY4Nzg0MTA0NjgKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvclVzZXJNZWRpYUVycm9y
LmgKQEAgLTAsMCArMSw1OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFy
ZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRo
ZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRv
cnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJv
bQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlz
c2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQg
SE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisg
KiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JfaAorI2Rl
ZmluZSBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvcl9oCisKKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRl
ZC5oPgorCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKworbmFtZXNwYWNlIFdlYkNvcmUgewor
CitjbGFzcyBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvciA6IHB1YmxpYyBSZWZDb3VudGVkPE5hdmln
YXRvclVzZXJNZWRpYUVycm9yPiB7CitwdWJsaWM6CisgICAgTmF2aWdhdG9yVXNlck1lZGlhRXJy
b3IodW5zaWduZWQgc2hvcnQgY29kZSkgOiBtX2NvZGUoY29kZSkgeyB9CisgICAgdmlydHVhbCB+
TmF2aWdhdG9yVXNlck1lZGlhRXJyb3IoKSB7IH0KKworICAgIGVudW0geworICAgICAgICBQRVJN
SVNTSU9OX0RFTklFRCA9IDEKKyAgICB9OworCisgICAgdW5zaWduZWQgc2hvcnQgY29kZSgpIGNv
bnN0IHsgcmV0dXJuIG1fY29kZTsgfQorCitwcml2YXRlOgorICAgIHVuc2lnbmVkIHNob3J0IG1f
Y29kZTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShN
RURJQV9TVFJFQU0pCisKKyNlbmRpZiAvLyBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvcl9oCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmlkbCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuaWRsCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjM3NTY2NDhhYjU5NWE0ODcwODYzNDllZTNhYmI2M2Q1ODkyMTBmN2QKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmlkbApA
QCAtMCwwICsxLDQyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisg
KiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5h
bWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBt
YXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisg
KiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xE
RVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
Q09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAor
ICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworbW9kdWxlIHdpbmRvdyB7CisKKyAgICAvLyBGSVhNRTogZGVsZXRlIHRo
aXMgaW50ZXJmYWNlIGFuZCBpbXBsZW1lbnQgYSBjdXN0b20gYmluZGluZyBzaW5jZSBzcGVjIGRl
ZmluZXMgaXQgYXMgYSBOb0ludGVyZmFjZU9iamVjdC4KKyAgICBpbnRlcmZhY2UgWworICAgICAg
ICBDb25kaXRpb25hbD1NRURJQV9TVFJFQU0KKyAgICBdIE5hdmlnYXRvclVzZXJNZWRpYUVycm9y
IHsKKyAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgUEVSTUlTU0lPTl9ERU5JRUQgPSAxOwor
ICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgc2hvcnQgY29kZTsKKyAgICB9Owor
Cit9CisKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yVXNlck1lZGlh
RXJyb3JDYWxsYmFjay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvclVzZXJNZWRp
YUVycm9yQ2FsbGJhY2suY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjliNjFiZGQyNmRjOTBlNDkwYjVlMDFmNDFj
NWNhMWIxMjhhYjk5ZTkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL05h
dmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2suY3BwCkBAIC0wLDAgKzEsNzkgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlz
dHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3Ig
dGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ug
b3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91
dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwor
ICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9S
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVk
ZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5o
IgorCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKworI2luY2x1ZGUgIk5hdmlnYXRvclVzZXJN
ZWRpYUVycm9yLmgiCisjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgorI2luY2x1
ZGUgPHd0Zi9Gb3J3YXJkLmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKK25hbWVzcGFjZSB7CisKKy8vIEZJWE1FOiB0aGlzIHNob3VsZCBiZSBtYWRl
IGEgdGVtcGxhdGUgYW5kIG1lcmdlZCB3aXRoIHRoZSBlcXVpdmFsZW50IHZlcnNpb25zIGluCisv
LyBOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2sgYW5kIEJsb2JDYWxsYmFjay4KK2Ns
YXNzIERpc3BhdGNoQ2FsbGJhY2tUYXNrIDogcHVibGljIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6
OlRhc2sgeworcHVibGljOgorICAgIHN0YXRpYyBQYXNzT3duUHRyPERpc3BhdGNoQ2FsbGJhY2tU
YXNrPiBjcmVhdGUoTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjayogY2FsbGJhY2ssIE5h
dmlnYXRvclVzZXJNZWRpYUVycm9yKiBkYXRhKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0
UHRyKG5ldyBEaXNwYXRjaENhbGxiYWNrVGFzayhjYWxsYmFjaywgZGF0YSkpOworICAgIH0KKwor
ICAgIHZpcnR1YWwgdm9pZCBwZXJmb3JtVGFzayhTY3JpcHRFeGVjdXRpb25Db250ZXh0KikKKyAg
ICB7CisgICAgICAgIG1fY2FsbGJhY2stPmhhbmRsZUV2ZW50KG1fZGF0YS5nZXQoKSk7CisgICAg
fQorCitwcml2YXRlOgorICAgIERpc3BhdGNoQ2FsbGJhY2tUYXNrKE5hdmlnYXRvclVzZXJNZWRp
YUVycm9yQ2FsbGJhY2sqIGNhbGxiYWNrLCBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvciogZGF0YSkK
KyAgICAgICAgOiBtX2NhbGxiYWNrKGNhbGxiYWNrKQorICAgICAgICAsIG1fZGF0YShhZG9wdFJl
ZihkYXRhKSkKKyAgICB7CisgICAgfQorCisgICAgUmVmUHRyPE5hdmlnYXRvclVzZXJNZWRpYUVy
cm9yQ2FsbGJhY2s+IG1fY2FsbGJhY2s7CisgICAgUmVmUHRyPE5hdmlnYXRvclVzZXJNZWRpYUVy
cm9yPiBtX2RhdGE7Cit9OworCit9IC8vIG5hbWVzcGFjZQorCit2b2lkIE5hdmlnYXRvclVzZXJN
ZWRpYUVycm9yQ2FsbGJhY2s6OnNjaGVkdWxlQ2FsbGJhY2soU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCogY29udGV4dCwgTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IqIGRhdGEpCit7CisgICAgY29udGV4
dC0+cG9zdFRhc2soRGlzcGF0Y2hDYWxsYmFja1Rhc2s6OmNyZWF0ZSh0aGlzLCBkYXRhKSk7Cit9
CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TVFJF
QU0pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvclVzZXJNZWRpYUVy
cm9yQ2FsbGJhY2suaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yVXNlck1lZGlhRXJy
b3JDYWxsYmFjay5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJkOGJkMjgyZjE1NGEwNzMxNmFmODZhNTdhYjRjMGI4
NTRhZGY0NWQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRv
clVzZXJNZWRpYUVycm9yQ2FsbGJhY2suaApAQCAtMCwwICsxLDU2IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlv
bi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1l
cyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lm
aWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAq
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBOYXZpZ2F0
b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrX2gKKyNkZWZpbmUgTmF2aWdhdG9yVXNlck1lZGlhRXJy
b3JDYWxsYmFja19oCisKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorCisjaW5jbHVkZSA8d3Rm
L1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBOYXZpZ2F0b3JV
c2VyTWVkaWFFcnJvcjsKK2NsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CisKK2NsYXNzIE5h
dmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2sgOiBwdWJsaWMgUmVmQ291bnRlZDxOYXZpZ2F0
b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrPiB7CitwdWJsaWM6CisgICAgdmlydHVhbCB+TmF2aWdh
dG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjaygpIHsgfQorICAgIHZpcnR1YWwgYm9vbCBoYW5kbGVF
dmVudChOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvciopID0gMDsKKworICAgIC8vIEhlbHBlciB0byBw
b3N0IGNhbGxiYWNrIHRhc2suCisgICAgdm9pZCBzY2hlZHVsZUNhbGxiYWNrKFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQqLCBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvciopOworfTsKKworfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVBTSkKKworI2VuZGlm
IC8vIE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2tfaApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmlkbCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5pZGwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZTRlZDllNzM4Yjc4M2VlZWUxYmFiNzgzOTY0Y2RkMTc4NTBkYTQzYwotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxs
YmFjay5pZGwKQEAgLTAsMCArMSw0MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29n
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisg
KiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0
aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4g
cGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZ
UklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBU
TywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
CisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKK21vZHVsZSB3aW5kb3cgeworCisgICAgLy8gRklYTUU6
IGRlbGV0ZSB0aGlzIGludGVyZmFjZSBhbmQgaW1wbGVtZW50IGEgY3VzdG9tIGJpbmRpbmcgc2lu
Y2Ugc3BlYyBkZWZpbmVzIGl0IGFzIGEgTm9JbnRlcmZhY2VPYmplY3QuCisgICAgaW50ZXJmYWNl
IFsKKyAgICAgICAgQ29uZGl0aW9uYWw9TUVESUFfU1RSRUFNLAorICAgICAgICBDYWxsYmFjaz1G
dW5jdGlvbk9ubHkKKyAgICBdIE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2sgeworICAg
ICAgICBib29sZWFuIGhhbmRsZUV2ZW50KGluIE5hdmlnYXRvclVzZXJNZWRpYUVycm9yIGVycm9y
KTsKKyAgICB9OworCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRv
clVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0
b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zZDJlM2Y3NjRmYzZkMmQy
MWJhODdmZjEyNTVkYjIwY2JhNTQ4N2U0Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suaApAQCAtMCwwICsxLDU0
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgor
ICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGlu
IHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xl
IEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0
byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3
YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05U
UklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisg
KiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI2lmbmRlZiBOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2tfaAorI2RlZmluZSBO
YXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2tfaAorCisjaWYgRU5BQkxFKE1FRElBX1NU
UkVBTSkKKworI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKworY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKKworY2xhc3MgTmF2aWdhdG9yVXNl
ck1lZGlhU3VjY2Vzc0NhbGxiYWNrIDogcHVibGljIFJlZkNvdW50ZWQ8TmF2aWdhdG9yVXNlck1l
ZGlhU3VjY2Vzc0NhbGxiYWNrPiB7CitwdWJsaWM6CisgICAgdmlydHVhbCB+TmF2aWdhdG9yVXNl
ck1lZGlhU3VjY2Vzc0NhbGxiYWNrKCkgeyB9CisgICAgLy8gRklYTUU6IGltcGxlbWVudCB0aGUg
cHJvcGVyIGFyZ3VtZW50IG9uY2UgdGhlIEdlbmVyYXRlZFN0cmVhbSBjbGFzcyBpcyBhdmFpbGFi
bGUuCisgICAgLy8gdmlydHVhbCBib29sIGhhbmRsZUV2ZW50KEdlbmVyYXRlZFN0cmVhbSopID0g
MDsKKyAgICB2aXJ0dWFsIGJvb2wgaGFuZGxlRXZlbnQoKSA9IDA7Cit9OworCit9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFNKQorCisjZW5kaWYg
Ly8gTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrX2gKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmlkbCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmlkbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5hMGJjZGJjZjYyNzFlNmViM2Y4ZjlmMWIwYjkyYzVkZDNhOTEyYWU1Ci0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFTdWNj
ZXNzQ2FsbGJhY2suaWRsCkBAIC0wLDAgKzEsNDMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
ICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAg
ICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwor
ICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0
cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3
cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAor
ICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCittb2R1bGUgd2luZG93IHsKKworICAgIC8v
IEZJWE1FOiBkZWxldGUgdGhpcyBpbnRlcmZhY2UgYW5kIGltcGxlbWVudCBhIGN1c3RvbSBiaW5k
aW5nIHNpbmNlIHNwZWMgZGVmaW5lcyBpdCBhcyBhIE5vSW50ZXJmYWNlT2JqZWN0LgorICAgIGlu
dGVyZmFjZSBbCisgICAgICAgIENvbmRpdGlvbmFsPU1FRElBX1NUUkVBTSwKKyAgICAgICAgQ2Fs
bGJhY2s9RnVuY3Rpb25Pbmx5CisgICAgXSBOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJh
Y2sgeworICAgICAgICAvLyBGSVhNRTogaW1wbGVtZW50IHRoZSBwcm9wZXIgYXJndW1lbnQgb25j
ZSB0aGUgR2VuZXJhdGVkU3RyZWFtIGNsYXNzIGlzIGF2YWlsYWJsZS4KKyAgICAgICAgLy8gYm9v
bGVhbiBoYW5kbGVFdmVudChpbiBHZW5lcmF0ZWRTdHJlYW0gc3RyZWFtKTsKKyAgICAgICAgYm9v
bGVhbiBoYW5kbGVFdmVudCgpOworICAgIH07CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUGFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCmluZGV4IGJm
YWQyYjgzMmM0OWJmYTBkYTFkOGQ3MjU2Yzc4ZTViM2QzNGM4OGYuLjM5MTliMGY4Mjk3Njg4M2Vh
NjE1MjMyZmRiZWEzNjExYTRhYTg2NDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UGFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcApAQCAtNjcsNiArNjcs
OCBAQAogI2luY2x1ZGUgIlNoYXJlZEJ1ZmZlci5oIgogI2luY2x1ZGUgIlNwZWVjaElucHV0Lmgi
CiAjaW5jbHVkZSAiU3BlZWNoSW5wdXRDbGllbnQuaCIKKyNpbmNsdWRlICJTdHJlYW1DbGllbnQu
aCIKKyNpbmNsdWRlICJTdHJlYW1Db250cm9sbGVyLmgiCiAjaW5jbHVkZSAiVGV4dFJlc291cmNl
RGVjb2Rlci5oIgogI2luY2x1ZGUgIldpZGdldC5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+
CkBAIC0xMzksNiArMTQxLDkgQEAgUGFnZTo6UGFnZShjb25zdCBQYWdlQ2xpZW50cyYgcGFnZUNs
aWVudHMpCiAjaWYgRU5BQkxFKElOUFVUX1NQRUVDSCkKICAgICAsIG1fc3BlZWNoSW5wdXRDbGll
bnQocGFnZUNsaWVudHMuc3BlZWNoSW5wdXRDbGllbnQpCiAjZW5kaWYKKyNpZiBFTkFCTEUoTUVE
SUFfU1RSRUFNKQorICAgICwgbV9zdHJlYW1DbGllbnQocGFnZUNsaWVudHMuc3RyZWFtQ2xpZW50
KQorI2VuZGlmCiAgICAgLCBtX3NldHRpbmdzKGFkb3B0UHRyKG5ldyBTZXR0aW5ncyh0aGlzKSkp
CiAgICAgLCBtX3Byb2dyZXNzKGFkb3B0UHRyKG5ldyBQcm9ncmVzc1RyYWNrZXIpKQogICAgICwg
bV9iYWNrRm9yd2FyZENvbnRyb2xsZXIoYWRvcHRQdHIobmV3IEJhY2tGb3J3YXJkQ29udHJvbGxl
cih0aGlzLCBwYWdlQ2xpZW50cy5iYWNrRm9yd2FyZENsaWVudCkpKQpAQCAtODQ0LDYgKzg0OSwx
NyBAQCBTcGVlY2hJbnB1dCogUGFnZTo6c3BlZWNoSW5wdXQoKQogfQogI2VuZGlmCiAKKworI2lm
IEVOQUJMRShNRURJQV9TVFJFQU0pCitTdHJlYW1Db250cm9sbGVyKiBQYWdlOjpzdHJlYW1Db250
cm9sbGVyKCkKK3sKKyAgICBBU1NFUlQobV9zdHJlYW1DbGllbnQpOworICAgIGlmICghbV9zdHJl
YW1Db250cm9sbGVyLmdldCgpKQorICAgICAgICBtX3N0cmVhbUNvbnRyb2xsZXIuc2V0KG5ldyBT
dHJlYW1Db250cm9sbGVyKG1fc3RyZWFtQ2xpZW50LCBtYWluRnJhbWUoKS0+ZG9jdW1lbnQoKSkp
OworICAgIHJldHVybiBtX3N0cmVhbUNvbnRyb2xsZXIuZ2V0KCk7Cit9CisjZW5kaWYKKwogdm9p
ZCBQYWdlOjpkbnNQcmVmZXRjaGluZ1N0YXRlQ2hhbmdlZCgpCiB7CiAgICAgZm9yIChGcmFtZSog
ZnJhbWUgPSBtYWluRnJhbWUoKTsgZnJhbWU7IGZyYW1lID0gZnJhbWUtPnRyZWUoKS0+dHJhdmVy
c2VOZXh0KCkpCkBAIC05NDMsNiArOTU5LDcgQEAgUGFnZTo6UGFnZUNsaWVudHM6OlBhZ2VDbGll
bnRzKCkKICAgICAsIGRldmljZU1vdGlvbkNsaWVudCgwKQogICAgICwgZGV2aWNlT3JpZW50YXRp
b25DbGllbnQoMCkKICAgICAsIHNwZWVjaElucHV0Q2xpZW50KDApCisgICAgLCBzdHJlYW1DbGll
bnQoMCkKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmggYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAppbmRleCA4N2NiNmNjOThiYmMyMmEzYWNmMjI0MDJh
NmFkZmNjOTFjZTc1OWU4Li5lYjlhY2Y4NTZiMzcwNmVhMzM5NjRjM2NhN2Y2NGIzNzgzOWJiNzJk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1BhZ2UuaApAQCAtNzksNiArNzksOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAj
aWYgRU5BQkxFKERPTV9TVE9SQUdFKQogICAgIGNsYXNzIFN0b3JhZ2VOYW1lc3BhY2U7CiAjZW5k
aWYKKyAgICBjbGFzcyBTdHJlYW1DbGllbnQ7CisgICAgY2xhc3MgU3RyZWFtQ29udHJvbGxlcjsK
ICNpZiBFTkFCTEUoTk9USUZJQ0FUSU9OUykKICAgICBjbGFzcyBOb3RpZmljYXRpb25QcmVzZW50
ZXI7CiAjZW5kaWYKQEAgLTExNCw2ICsxMTYsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAg
ICAgICAgICBEZXZpY2VPcmllbnRhdGlvbkNsaWVudCogZGV2aWNlT3JpZW50YXRpb25DbGllbnQ7
CiAgICAgICAgICAgICBSZWZQdHI8QmFja0ZvcndhcmRMaXN0PiBiYWNrRm9yd2FyZENsaWVudDsK
ICAgICAgICAgICAgIFNwZWVjaElucHV0Q2xpZW50KiBzcGVlY2hJbnB1dENsaWVudDsKKyAgICAg
ICAgICAgIFN0cmVhbUNsaWVudCogc3RyZWFtQ2xpZW50OwogICAgICAgICB9OwogCiAgICAgICAg
IFBhZ2UoY29uc3QgUGFnZUNsaWVudHMmKTsKQEAgLTE4MCw2ICsxODMsOSBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAjaWYgRU5BQkxFKElOUFVUX1NQRUVDSCkKICAgICAgICAgU3BlZWNoSW5wdXQq
IHNwZWVjaElucHV0KCk7CiAjZW5kaWYKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorICAgICAg
ICBTdHJlYW1Db250cm9sbGVyKiBzdHJlYW1Db250cm9sbGVyKCk7CisjZW5kaWYKICAgICAgICAg
U2V0dGluZ3MqIHNldHRpbmdzKCkgY29uc3QgeyByZXR1cm4gbV9zZXR0aW5ncy5nZXQoKTsgfQog
ICAgICAgICBQcm9ncmVzc1RyYWNrZXIqIHByb2dyZXNzKCkgY29uc3QgeyByZXR1cm4gbV9wcm9n
cmVzcy5nZXQoKTsgfQogICAgICAgICBCYWNrRm9yd2FyZENvbnRyb2xsZXIqIGJhY2tGb3J3YXJk
KCkgY29uc3QgeyByZXR1cm4gbV9iYWNrRm9yd2FyZENvbnRyb2xsZXIuZ2V0KCk7IH0KQEAgLTMz
Myw5ICszMzksMTMgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBTcGVlY2hJbnB1dENs
aWVudCogbV9zcGVlY2hJbnB1dENsaWVudDsKICAgICAgICAgT3duUHRyPFNwZWVjaElucHV0PiBt
X3NwZWVjaElucHV0OwogI2VuZGlmCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKyAgICAgICAg
U3RyZWFtQ2xpZW50KiBtX3N0cmVhbUNsaWVudDsKKyAgICAgICAgT3duUHRyPFN0cmVhbUNvbnRy
b2xsZXI+IG1fc3RyZWFtQ29udHJvbGxlcjsKKyNlbmRpZgogICAgICAgICBPd25QdHI8U2V0dGlu
Z3M+IG1fc2V0dGluZ3M7CiAgICAgICAgIE93blB0cjxQcm9ncmVzc1RyYWNrZXI+IG1fcHJvZ3Jl
c3M7Ci0gICAgICAgIAorCiAgICAgICAgIE93blB0cjxCYWNrRm9yd2FyZENvbnRyb2xsZXI+IG1f
YmFja0ZvcndhcmRDb250cm9sbGVyOwogICAgICAgICBSZWZQdHI8RnJhbWU+IG1fbWFpbkZyYW1l
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1N0cmVhbUNsaWVudC5oIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9TdHJlYW1DbGllbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43NmRhNDQyNjI1ZTM4
YzcwZjA5NTAwNzkwOWZmZjBlMjNiMWRjYjE5Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9TdHJlYW1DbGllbnQuaApAQCAtMCwwICsxLDYwIEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAq
ICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBp
dHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJv
ZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJp
b3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisg
KiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBTdHJlYW1DbGllbnRf
aAorI2RlZmluZSBTdHJlYW1DbGllbnRfaAorCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKwor
I2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCisjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KKyNp
bmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNz
IFN0cmVhbUxpc3RlbmVyOworCitjbGFzcyBTdHJlYW1DbGllbnQgeworcHVibGljOgorICAgIC8v
IFJlZ2lzdGVyIHRoZSBsaXN0ZW5lciBmb3IgcmVjZWl2aW5nIGNhbGxiYWNrcy4gU2hvdWxkIHNl
dCB0byBudWxsIHdoZW4gbm90IHJlcXVpcmVkIGFueW1vcmUuIE5vIG93bmVyc2hpcCBpcyB0YWtl
bi4KKyAgICB2aXJ0dWFsIHZvaWQgc2V0TGlzdGVuZXIoU3RyZWFtTGlzdGVuZXIqKSA9IDA7CisK
KyAgICAvLyBHZW5lcmF0ZSBhIG5ldyBsb2NhbCBzdHJlYW0uCisgICAgdmlydHVhbCB2b2lkIGdl
bmVyYXRlU3RyZWFtKGludCByZXF1ZXN0SWQsIGJvb2wgdmlkZW8sIGJvb2wgYXVkaW8sIFBhc3NS
ZWZQdHI8U2VjdXJpdHlPcmlnaW4+KSA9IDA7CisKK3Byb3RlY3RlZDoKKyAgICB2aXJ0dWFsIH5T
dHJlYW1DbGllbnQoKSB7IH0KK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlm
IC8vIEVOQUJMRShNRURJQV9TVFJFQU0pCisKKyNlbmRpZiAvLyBTdHJlYW1DbGllbnRfaApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TdHJlYW1Db250cm9sbGVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvU3RyZWFtQ29udHJvbGxlci5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzNiNDk4NDll
YTcxNGE2MDg1NmYzNjFkZDU1YzRlMGM4OTczOGYyMgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvU3RyZWFtQ29udHJvbGxlci5jcHAKQEAgLTAsMCArMSwxMTQgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICog
ZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBu
b3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0
aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9S
UworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVS
IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAq
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5j
bHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiU3RyZWFtQ29udHJvbGxlci5oIgorCisjaWYgRU5B
QkxFKE1FRElBX1NUUkVBTSkKKworI2luY2x1ZGUgIkRvY3VtZW50LmgiCisjaW5jbHVkZSAiTmF2
aWdhdG9yVXNlck1lZGlhRXJyb3IuaCIKKyNpbmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgorI2lu
Y2x1ZGUgIlN0cmVhbUNsaWVudC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1N0cmVhbUNv
bnRyb2xsZXI6OlN0cmVhbUNvbnRyb2xsZXIoU3RyZWFtQ2xpZW50KiBjbGllbnQsIERvY3VtZW50
KiBkb2N1bWVudCkKKyAgICA6IG1fY2xpZW50KGNsaWVudCkKKyAgICAsIG1fZG9jdW1lbnQoZG9j
dW1lbnQpCisgICAgLCBtX25leHRTdHJlYW1SZXF1ZXN0SWQoMSkKK3sKKyAgICBBU1NFUlQobV9k
b2N1bWVudCk7CisgICAgbV9jbGllbnQtPnNldExpc3RlbmVyKHRoaXMpOworfQorCitTdHJlYW1D
b250cm9sbGVyOjp+U3RyZWFtQ29udHJvbGxlcigpCit7CisgICAgbV9jbGllbnQtPnNldExpc3Rl
bmVyKDApOworfQorCitib29sIFN0cmVhbUNvbnRyb2xsZXI6OmdlbmVyYXRlU3RyZWFtKGNvbnN0
IFN0cmluZyYgb3B0aW9ucywgUGFzc1JlZlB0cjxOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2Fs
bGJhY2s+IHN1Y2Nlc3NDYWxsYmFjaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgUGFzc1JlZlB0cjxOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrPiBlcnJvckNh
bGxiYWNrKQoreworICAgIGlmICghc3VjY2Vzc0NhbGxiYWNrLmdldCgpKQorICAgICAgICByZXR1
cm4gZmFsc2U7CisKKyAgICBib29sIHZpZGVvID0gZmFsc2U7CisgICAgYm9vbCBhdWRpbyA9IGZh
bHNlOworICAgIFZlY3RvcjxTdHJpbmc+IHNwbGl0T3B0aW9uczsKKyAgICBvcHRpb25zLnNwbGl0
KCIsIiwgc3BsaXRPcHRpb25zKTsKKyAgICBmb3IgKFZlY3RvcjxTdHJpbmc+Ojpjb25zdF9pdGVy
YXRvciBpdCA9IHNwbGl0T3B0aW9ucy5iZWdpbigpOyBpdCAhPSBzcGxpdE9wdGlvbnMuZW5kKCkg
JiYgKCF2aWRlbyB8fCAhYXVkaW8pOyArK2l0KQorICAgICAgICBpZiAoKml0ID09ICJ2aWRlbyIp
CisgICAgICAgICAgICB2aWRlbyA9IHRydWU7CisgICAgICAgIGVsc2UgaWYgKCppdCA9PSAiYXVk
aW8iKQorICAgICAgICAgICAgYXVkaW8gPSB0cnVlOworCisgICAgaWYgKCFhdWRpbyAmJiAhdmlk
ZW8pCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIG1fc3RyZWFtUmVxdWVzdHMuc2V0KG1f
bmV4dFN0cmVhbVJlcXVlc3RJZCwgYWRvcHRSZWYobmV3IFN0cmVhbVJlcXVlc3Qoc3VjY2Vzc0Nh
bGxiYWNrLCBlcnJvckNhbGxiYWNrKSkpOworICAgIG1fY2xpZW50LT5nZW5lcmF0ZVN0cmVhbSht
X25leHRTdHJlYW1SZXF1ZXN0SWQsIHZpZGVvLCBhdWRpbywgbV9kb2N1bWVudC0+c2VjdXJpdHlP
cmlnaW4oKSk7CisgICAgKyttX25leHRTdHJlYW1SZXF1ZXN0SWQ7CisgICAgcmV0dXJuIHRydWU7
Cit9CisKK3ZvaWQgU3RyZWFtQ29udHJvbGxlcjo6c3RyZWFtR2VuZXJhdGVkKGludCByZXF1ZXN0
SWQsIGludCBzdHJlYW1JZCwgY29uc3QgU3RyaW5nJiBsYWJlbCkKK3sKKyAgICBBU1NFUlQobV9z
dHJlYW1SZXF1ZXN0cy5jb250YWlucyhyZXF1ZXN0SWQpKTsKKworICAgIC8vIEZJWE1FOiBpbXBs
ZW1lbnQgR2VuZXJhdGVkU3RyZWFtIG9iamVjdCBjcmVhdGlvbiBhbmQgc2NoZWR1bGUgdGhlIHN1
Y2Nlc3MgY2FsbGJhY2suCisKKyAgICBtX3N0cmVhbVJlcXVlc3RzLnJlbW92ZShyZXF1ZXN0SWQp
OworfQorCit2b2lkIFN0cmVhbUNvbnRyb2xsZXI6OnN0cmVhbUdlbmVyYXRpb25GYWlsZWQoaW50
IHJlcXVlc3RJZCwgdW5zaWduZWQgc2hvcnQgY29kZSkKK3sKKyAgICBBU1NFUlQobV9zdHJlYW1S
ZXF1ZXN0cy5jb250YWlucyhyZXF1ZXN0SWQpKTsKKyAgICBSZWZQdHI8U3RyZWFtUmVxdWVzdD4g
c3RyZWFtUmVxdWVzdCA9IG1fc3RyZWFtUmVxdWVzdHMuZ2V0KHJlcXVlc3RJZCk7CisgICAgQVNT
RVJUKHN0cmVhbVJlcXVlc3QuZ2V0KCkpOworCisgICAgaWYgKFJlZlB0cjxOYXZpZ2F0b3JVc2Vy
TWVkaWFFcnJvckNhbGxiYWNrPiBlcnJvckNhbGxiYWNrID0gc3RyZWFtUmVxdWVzdC0+bV9lcnJv
ckNhbGxiYWNrKSB7CisgICAgICAgIFJlZlB0cjxOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvcj4gZXJy
b3IgPSBhZG9wdFJlZihuZXcgTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IoY29kZSkpOworICAgICAg
ICBlcnJvckNhbGxiYWNrLT5zY2hlZHVsZUNhbGxiYWNrKG1fZG9jdW1lbnQsIGVycm9yLmdldCgp
KTsKKyAgICB9CisKKyAgICBtX3N0cmVhbVJlcXVlc3RzLnJlbW92ZShyZXF1ZXN0SWQpOworfQor
CitTdHJlYW1Db250cm9sbGVyOjpTdHJlYW1SZXF1ZXN0OjpTdHJlYW1SZXF1ZXN0KFBhc3NSZWZQ
dHI8TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrPiBzdWNjZXNzQ2FsbGJhY2ssCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBhc3NSZWZQdHI8
TmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjaz4gZXJyb3JDYWxsYmFjaykKKyAgICA6IG1f
c3VjY2Vzc0NhbGxiYWNrKHN1Y2Nlc3NDYWxsYmFjaykKKyAgICAsIG1fZXJyb3JDYWxsYmFjayhl
cnJvckNhbGxiYWNrKQoreworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAv
LyBFTkFCTEUoTUVESUFfU1RSRUFNKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9T
dHJlYW1Db250cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1N0cmVhbUNvbnRyb2xsZXIu
aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi45OGM3ODEwOGY1MGI3YTc0ZjEzMjFhNzY4OWM3ZWU2ODVkNmJjNjQ0Ci0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TdHJlYW1Db250cm9sbGVyLmgK
QEAgLTAsMCArMSw4NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQor
ICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBu
YW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMg
bWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQor
ICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwK
KyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNpZm5kZWYgU3RyZWFtQ29udHJvbGxlcl9oCisjZGVmaW5lIFN0cmVh
bUNvbnRyb2xsZXJfaAorCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKworI2luY2x1ZGUgIk5h
dmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2suaCIKKyNpbmNsdWRlICJOYXZpZ2F0b3JVc2Vy
TWVkaWFTdWNjZXNzQ2FsbGJhY2suaCIKKyNpbmNsdWRlICJTdHJlYW1MaXN0ZW5lci5oIgorI2lu
Y2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CisjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KKyNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorCituYW1l
c3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIERvY3VtZW50OworY2xhc3MgU3RyZWFtQ2xpZW50Owor
CitjbGFzcyBTdHJlYW1Db250cm9sbGVyIDogcHVibGljIFN0cmVhbUxpc3RlbmVyIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShTdHJlYW1Db250cm9sbGVyKTsKK3B1YmxpYzoKKyAgICBTdHJl
YW1Db250cm9sbGVyKFN0cmVhbUNsaWVudCosIERvY3VtZW50Kik7CisgICAgdmlydHVhbCB+U3Ry
ZWFtQ29udHJvbGxlcigpOworCisgICAgLy8gQ3JlYXRlIGEgbmV3IGdlbmVyYXRlZCBzdHJlYW0g
YXN5bmNocm9ub3VzbHkgd2l0aCB0aGUgcHJvdmlkZWQgb3B0aW9ucy4KKyAgICBib29sIGdlbmVy
YXRlU3RyZWFtKGNvbnN0IFN0cmluZyYgb3B0aW9ucywKKyAgICAgICAgICAgICAgICAgICAgICAg
IFBhc3NSZWZQdHI8TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrPiwKKyAgICAgICAg
ICAgICAgICAgICAgICAgIFBhc3NSZWZQdHI8TmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFj
az4pOworCisgICAgLy8gU3RyZWFtTGlzdGVuZXIgaW1wbGVtZW50YXRpb24uCisgICAgdmlydHVh
bCB2b2lkIHN0cmVhbUdlbmVyYXRlZChpbnQgcmVxdWVzdElkLCBpbnQgc3RyZWFtSWQsIGNvbnN0
IFN0cmluZyYgbGFiZWwpOworICAgIHZpcnR1YWwgdm9pZCBzdHJlYW1HZW5lcmF0aW9uRmFpbGVk
KGludCByZXF1ZXN0SWQsIHVuc2lnbmVkIHNob3J0IGNvZGUpOworCitwcml2YXRlOgorICAgIHN0
cnVjdCBTdHJlYW1SZXF1ZXN0IDogcHVibGljIFJlZkNvdW50ZWQ8U3RyZWFtUmVxdWVzdD4gewor
ICAgICAgICBTdHJlYW1SZXF1ZXN0KFBhc3NSZWZQdHI8TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vz
c0NhbGxiYWNrPiwKKyAgICAgICAgICAgICAgICAgICAgICBQYXNzUmVmUHRyPE5hdmlnYXRvclVz
ZXJNZWRpYUVycm9yQ2FsbGJhY2s+KTsKKworICAgICAgICBSZWZQdHI8TmF2aWdhdG9yVXNlck1l
ZGlhU3VjY2Vzc0NhbGxiYWNrPiBtX3N1Y2Nlc3NDYWxsYmFjazsKKyAgICAgICAgUmVmUHRyPE5h
dmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2s+IG1fZXJyb3JDYWxsYmFjazsKKyAgICB9Owor
CisgICAgdHlwZWRlZiBIYXNoTWFwPGludCwgUmVmUHRyPFN0cmVhbVJlcXVlc3Q+ID4gU3RyZWFt
UmVxdWVzdE1hcDsKKworICAgIFN0cmVhbUNsaWVudCogbV9jbGllbnQ7CisgICAgRG9jdW1lbnQq
IG1fZG9jdW1lbnQ7CisgICAgU3RyZWFtUmVxdWVzdE1hcCBtX3N0cmVhbVJlcXVlc3RzOworICAg
IGludCBtX25leHRTdHJlYW1SZXF1ZXN0SWQ7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CisKKyNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFNKQorCisjZW5kaWYgLy8gU3RyZWFtQ29u
dHJvbGxlcl9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1N0cmVhbUxpc3RlbmVy
LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1N0cmVhbUxpc3RlbmVyLmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTAx
NjQ1YWIwYTNmNzFkNDg1MzM0YTIzNDNiMTk5MTE3ZjM4YTBlZgotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3RyZWFtTGlzdGVuZXIuaApAQCAtMCwwICsxLDYwIEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3Ry
aWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRo
ZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9y
IHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQg
c3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAq
ICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBT
dHJlYW1MaXN0ZW5lcl9oCisjZGVmaW5lIFN0cmVhbUxpc3RlbmVyX2gKKworI2lmIEVOQUJMRShN
RURJQV9TVFJFQU0pCisKKyNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKKy8vIFRoaXMgaW50ZXJmYWNlIGNvbXBvc2VzIHRoZSBkaWZmZXJlbnQga2lu
ZHMgb2YgaW5jb21pbmcgbWVzc2FnZXMgc28gdGhhdCB0aGV5IGNhbgorLy8gYmUgaW1wbGVtZW50
ZWQgYnkgYm90aCB0aGUgU3RyZWFtQ29udHJvbGxlciBhbmQgdGhlIFN0cmVhbUNsaWVudE1vY2su
CitjbGFzcyBTdHJlYW1MaXN0ZW5lciAgeworcHVibGljOgorCisgICAgLy8gUmVwb3J0IHRoZSBn
ZW5lcmF0aW9uIG9mIGEgbmV3IGxvY2FsIHN0cmVhbS4KKyAgICAvLyBUaGUgc3RyZWFtIGlkIHNo
b3VsZCBiZSBhIHVuaXF1ZSBpbnRlZ2VyIHJlcHJlc2VudGluZyB0aGUgc3RyZWFtIG9iamVjdCBp
biBhIDE6MSByZWxhdGlvbiB3aXRoIHRoZSBsYWJlbC4KKyAgICAvLyBUaGUgaWQgc2hvdWxkIGJl
IHByb3ZpZGVkIGJ5IHRoZSBVQSBhbmQgd2lsbCBiZSB1c2VkIGludGVybmFsbHkgaW5zdGVhZCBv
ZiB0aGUgbGFiZWwgdG8gc2ltcGxpZnkgb3BlcmF0aW9ucy4KKyAgICB2aXJ0dWFsIHZvaWQgc3Ry
ZWFtR2VuZXJhdGVkKGludCByZXF1ZXN0SWQsIGludCBzdHJlYW1JZCwgY29uc3QgU3RyaW5nJiBs
YWJlbCkgPSAwOworCisgICAgLy8gUmVwb3J0IGEgZmFpbHVyZSBpbiB0aGUgZ2VuZXJhdGlvbiBv
ZiBhIG5ldyBzdHJlYW0uCisgICAgdmlydHVhbCB2b2lkIHN0cmVhbUdlbmVyYXRpb25GYWlsZWQo
aW50IHJlcXVlc3RJZCwgdW5zaWduZWQgc2hvcnQgY29kZSkgPSAwOworCisgICAgdmlydHVhbCB+
U3RyZWFtTGlzdGVuZXIoKSB7IH0KK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2Vu
ZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0pCisKKyNlbmRpZiAvLyBTdHJlYW1MaXN0ZW5lcl9o
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>86487</attachid>
            <date>2011-03-22 11:49:24 -0700</date>
            <delta_ts>2011-03-23 07:24:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-56586-20110322184922.patch</filename>
            <type>text/plain</type>
            <size>92129</size>
            <attacher name="Leandro Graciá Gil">leandrogracia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQKaW5kZXggMjQxMjdlOTNlNGQ5MDdjZTdhNjlmOWYxYzA2ODQyZTVl
MDNkNGU3MS4uZTIyODQ0MGU2MzVkNGNjMzIxYmUyN2NiZDhhODNhOWJjMzI5MGIzYSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUv
Q01ha2VMaXN0cy50eHQKQEAgLTE5MzYsNiArMTkzNiwxOSBAQCBJRiAoRU5BQkxFX1BST0dSRVNT
X1RBRykKICAgICApCiBFTkRJRiAoKQogCitJRiAoRU5BQkxFX01FRElBX1NUUkVBTSkKKyAgICBM
SVNUKEFQUEVORCBXZWJDb3JlX1NPVVJDRVMKKyAgICAgICAgYmluZGluZ3MvanMvSlNOYXZpZ2F0
b3JDdXN0b20uY3BwCisgICAgICAgIGJpbmRpbmdzL2pzL0pTTmF2aWdhdG9yVXNlck1lZGlhRXJy
b3JDYWxsYmFja0N1c3RvbS5jcHAKKyAgICAgICAgYmluZGluZ3MvanMvSlNOYXZpZ2F0b3JVc2Vy
TWVkaWFTdWNjZXNzQ2FsbGJhY2tDdXN0b20uY3BwCisgICAgICAgIHBhZ2UvU3RyZWFtQ29udHJv
bGxlci5jcHAKKyAgICApCisKKyAgICBMSVNUKEFQUEVORCBXZWJDb3JlX0lETF9GSUxFUworICAg
ICAgICBwYWdlL05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmlkbAorICAgICkKK0VORElGICgpCisK
IAogCiAjIE1vZHVsZXMgdGhhdCB0aGUgYmluZGluZ3MgZ2VuZXJhdG9yIHNjcmlwdHMgbWF5IHVz
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCmluZGV4IDlkYjVhMTA2MWE5NTQwYzAwYzI1YjMxNGU5NTYxMWM1MDRmYTc2Y2Iu
LjE1NWE3ZGE1MTNiYjE0OWQ5MjE1M2ZhMjI4MDQwZWJiNGJmOGNmZmYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAg
LTEsMyArMSw5MyBAQAorMjAxMS0wMy0yMiAgTGVhbmRybyBHcmFjaWEgR2lsICA8bGVhbmRyb2dy
YWNpYUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgTWVkaWEgU3RyZWFtIEFQSSBwYXRjaCAxOiBhZGRpbmcgdGhlIGdldFVzZXJN
ZWRpYSBtZXRob2QgYW5kIHRoZSBiYXNpYyBza2VsZXRvbi4KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU2NTg2CisKKyAgICAgICAgQWRkIHRoZSBnZXRV
c2VyTWVkaWEgbWV0aG9kIHRvIHRoZSBuYXZpZ2F0b3IgYWxvbmcgaXRzIGVycm9yIGFuZCBjYWxs
YmFjayBKUyB0eXBlcworICAgICAgICBhbmQgdGhlIGJhc2ljIHNrZWxldG9uIGZvciB0aGUgc3Ry
ZWFtIGNvbnRyb2xsZXIgYW5kIHRoZSBjbGllbnQgYW5kIGxpc3RlbmVyIGludGVyZmFjZXMuCisg
ICAgICAgIEN1cnJlbnQgc3BlY2lmaWNhdGlvbjogaHR0cDovL3d3dy53aGF0d2cub3JnL3NwZWNz
L3dlYi1hcHBzL2N1cnJlbnQtd29yay9tdWx0aXBhZ2UvZG5kLmh0bWwjdmlkZW8tY29uZmVyZW5j
aW5nLWFuZC1wZWVyLXRvLXBlZXItY29tbXVuaWNhdGlvbgorCisgICAgICAgIFRlc3RzIHdpbGwg
YmUgcHJvdmlkZWQgYnkgdGhlIGJ1ZyA1NjU4NyB0b2dldGhlciB3aXRoIHRoZSBMYXlvdXRUZXN0
Q29udHJvbGxlciBhbmQgY2xpZW50IG1vY2sgY29kZS4KKworICAgICAgICAqIENNYWtlTGlzdHMu
dHh0OgorICAgICAgICAqIENvZGVHZW5lcmF0b3JzLnByaToKKyAgICAgICAgKiBEZXJpdmVkU291
cmNlcy5jcHA6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBHTlVt
YWtlZmlsZS5hbToKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogV2ViQ29yZS5w
cm86CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6CisgICAgICAgICog
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdzL2dl
bmVyaWMvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5jcHA6CisgICAgICAgICogYmluZGluZ3MvZ2Vu
ZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmg6CisgICAgICAgIChXZWJDb3JlOjpSdW50aW1l
RW5hYmxlZEZlYXR1cmVzOjptZWRpYVN0cmVhbUVuYWJsZWQpOgorICAgICAgICAoV2ViQ29yZTo6
UnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2V0TWVkaWFTdHJlYW1FbmFibGVkKToKKyAgICAgICAg
KFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OndlYmtpdEdldFVzZXJNZWRpYUVuYWJs
ZWQpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxs
YmFja0N1c3RvbS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6SlNOYXZpZ2F0b3JVc2Vy
TWVkaWFFcnJvckNhbGxiYWNrOjpKU05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2spOgor
ICAgICAgICAoV2ViQ29yZTo6SlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrOjpoYW5k
bGVFdmVudCk6CisgICAgICAgICogYmluZGluZ3MvanMvSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJv
ckNhbGxiYWNrQ3VzdG9tLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6SlNOYXZpZ2F0b3JV
c2VyTWVkaWFFcnJvckNhbGxiYWNrOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6SlNOYXZp
Z2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrOjp+SlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNh
bGxiYWNrKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nl
c3NDYWxsYmFja0N1c3RvbS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6SlNOYXZpZ2F0
b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2s6OkpTTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0Nh
bGxiYWNrKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nl
c3NDYWxsYmFja0N1c3RvbS5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkpTTmF2aWdhdG9y
VXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrOjpjcmVhdGUpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4
L2N1c3RvbS9WOE5hdmlnYXRvckN1c3RvbS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6
dGhyb3dUeXBlTWlzbWF0Y2hFeGNlcHRpb24pOgorICAgICAgICAoV2ViQ29yZTo6Y3JlYXRlTmF2
aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0
ZU5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6VjhO
YXZpZ2F0b3I6OndlYmtpdEdldFVzZXJNZWRpYUNhbGxiYWNrKToKKyAgICAgICAgKiBiaW5kaW5n
cy92OC9jdXN0b20vVjhOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrQ3VzdG9tLmNwcDog
QWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpWOE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJh
Y2tDdXN0b206OlY4TmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFja0N1c3RvbSk6CisgICAg
ICAgIChXZWJDb3JlOjpWOE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2tDdXN0b206On5W
OE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2tDdXN0b20pOgorICAgICAgICAoV2ViQ29y
ZTo6VjhOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrQ3VzdG9tOjpoYW5kbGVFdmVudCk6
CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4TmF2aWdhdG9yVXNlck1lZGlhRXJyb3JD
YWxsYmFja0N1c3RvbS5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlY4TmF2aWdhdG9yVXNl
ck1lZGlhRXJyb3JDYWxsYmFja0N1c3RvbTo6Y3JlYXRlKToKKyAgICAgICAgKiBiaW5kaW5ncy92
OC9jdXN0b20vVjhOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2tDdXN0b20uY3BwOiBB
ZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlY4TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxi
YWNrQ3VzdG9tOjpWOE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFja0N1c3RvbSk6Cisg
ICAgICAgIChXZWJDb3JlOjpWOE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFja0N1c3Rv
bTo6flY4TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrQ3VzdG9tKToKKyAgICAgICAg
KiBiaW5kaW5ncy92OC9jdXN0b20vVjhOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2tD
dXN0b20uaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpWOE5hdmlnYXRvclVzZXJNZWRpYVN1
Y2Nlc3NDYWxsYmFja0N1c3RvbTo6Y3JlYXRlKToKKyAgICAgICAgKiBwYWdlL0NhbGxiYWNrVGFz
ay5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkNhbGxiYWNrVGFzazo6Y3JlYXRlKToKKyAg
ICAgICAgKFdlYkNvcmU6OkNhbGxiYWNrVGFzazo6cGVyZm9ybVRhc2spOgorICAgICAgICAoV2Vi
Q29yZTo6Q2FsbGJhY2tUYXNrOjpTY2hlZHVsZXI6OnNjaGVkdWxlQ2FsbGJhY2spOgorICAgICAg
ICAoV2ViQ29yZTo6Q2FsbGJhY2tUYXNrOjpDYWxsYmFja1Rhc2spOgorICAgICAgICAqIHBhZ2Uv
TmF2aWdhdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRvcjo6d2Via2l0R2V0VXNl
ck1lZGlhKToKKyAgICAgICAgKiBwYWdlL05hdmlnYXRvci5oOgorICAgICAgICAqIHBhZ2UvTmF2
aWdhdG9yLmlkbDoKKyAgICAgICAgKiBwYWdlL05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmg6IEFk
ZGVkLgorICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdG9yVXNlck1lZGlhRXJyb3I6Ok5hdmlnYXRv
clVzZXJNZWRpYUVycm9yKToKKyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRvclVzZXJNZWRpYUVy
cm9yOjp+TmF2aWdhdG9yVXNlck1lZGlhRXJyb3IpOgorICAgICAgICAoV2ViQ29yZTo6TmF2aWdh
dG9yVXNlck1lZGlhRXJyb3I6OmNvZGUpOgorICAgICAgICAqIHBhZ2UvTmF2aWdhdG9yVXNlck1l
ZGlhRXJyb3IuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBwYWdlL05hdmlnYXRvclVzZXJNZWRpYUVy
cm9yQ2FsbGJhY2suaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0b3JVc2VyTWVk
aWFFcnJvckNhbGxiYWNrOjpOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrKToKKyAgICAg
ICAgKFdlYkNvcmU6Ok5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2s6On5OYXZpZ2F0b3JV
c2VyTWVkaWFFcnJvckNhbGxiYWNrKToKKyAgICAgICAgKiBwYWdlL05hdmlnYXRvclVzZXJNZWRp
YVN1Y2Nlc3NDYWxsYmFjay5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRvclVz
ZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjazo6TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNr
KToKKyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjazo6
fk5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjayk6CisgICAgICAgICogcGFnZS9QYWdl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OlBhZ2UpOgorICAgICAgICAoV2ViQ29yZTo6
UGFnZTo6UGFnZUNsaWVudHM6OlBhZ2VDbGllbnRzKToKKyAgICAgICAgKiBwYWdlL1BhZ2UuaDoK
KyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OnN0cmVhbUNvbnRyb2xsZXIpOgorICAgICAgICAqIHBh
Z2UvU3RyZWFtQ2xpZW50Lmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6U3RyZWFtQ2xpZW50
Ojp+U3RyZWFtQ2xpZW50KToKKyAgICAgICAgKiBwYWdlL1N0cmVhbUNvbnRyb2xsZXIuY3BwOiBB
ZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlN0cmVhbUNvbnRyb2xsZXI6OlN0cmVhbUNvbnRyb2xs
ZXIpOgorICAgICAgICAoV2ViQ29yZTo6U3RyZWFtQ29udHJvbGxlcjo6flN0cmVhbUNvbnRyb2xs
ZXIpOgorICAgICAgICAoV2ViQ29yZTo6U3RyZWFtQ29udHJvbGxlcjo6Z2VuZXJhdGVTdHJlYW0p
OgorICAgICAgICAoV2ViQ29yZTo6U3RyZWFtQ29udHJvbGxlcjo6c3RyZWFtR2VuZXJhdGVkKToK
KyAgICAgICAgKFdlYkNvcmU6OlN0cmVhbUNvbnRyb2xsZXI6OnN0cmVhbUdlbmVyYXRpb25GYWls
ZWQpOgorICAgICAgICAoV2ViQ29yZTo6U3RyZWFtQ29udHJvbGxlcjo6U3RyZWFtUmVxdWVzdDo6
U3RyZWFtUmVxdWVzdCk6CisgICAgICAgIChXZWJDb3JlOjpTdHJlYW1Db250cm9sbGVyOjpTdHJl
YW1SZXF1ZXN0Ojp+U3RyZWFtUmVxdWVzdCk6CisgICAgICAgICogcGFnZS9TdHJlYW1Db250cm9s
bGVyLmg6IEFkZGVkLgorCiAyMDExLTAzLTIyICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcu
Ym90QGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByODE2NTMu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Db2RlR2VuZXJhdG9ycy5wcmkgYi9Tb3VyY2Uv
V2ViQ29yZS9Db2RlR2VuZXJhdG9ycy5wcmkKaW5kZXggMmY4OWE1ZDBiNzg5ZmMxNjYxNDcwYjRi
ZDZiY2EzM2VmZTE0ZjlkMi4uZTUzNjI2NzFjMWY5NzQ5YWRmZjJiZTZjNmI4ZjBkY2NmMTkzNmYz
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ29kZUdlbmVyYXRvcnMucHJpCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NvZGVHZW5lcmF0b3JzLnByaQpAQCAtMzI2LDYgKzMyNiw3IEBAIElETF9C
SU5ESU5HUyArPSBcCiAgICAgcGFnZS9Mb2NhdGlvbi5pZGwgXAogICAgIHBhZ2UvTWVtb3J5SW5m
by5pZGwgXAogICAgIHBhZ2UvTmF2aWdhdG9yLmlkbCBcCisgICAgcGFnZS9OYXZpZ2F0b3JVc2Vy
TWVkaWFFcnJvci5pZGwgXAogICAgIHBhZ2UvUGVyZm9ybWFuY2UuaWRsIFwKICAgICBwYWdlL1Bl
cmZvcm1hbmNlTmF2aWdhdGlvbi5pZGwgXAogICAgIHBhZ2UvUGVyZm9ybWFuY2VUaW1pbmcuaWRs
IFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcAppbmRleCAyNDAyMmY3NGVmNmI4ODIzN2FlYmZi
ZTU5ODA4YzNiYTQ3N2JmZTgyLi5jNDlmN2U5NTE3OWU3YmQ4MjY0NGJjMzMzZWY1YzFiNDkzYmY2
OGFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCkBAIC0yNDUsNiArMjQ1LDcgQEAKICNp
bmNsdWRlICJKU011dGF0aW9uRXZlbnQuY3BwIgogI2luY2x1ZGUgIkpTTmFtZWROb2RlTWFwLmNw
cCIKICNpbmNsdWRlICJKU05hdmlnYXRvci5jcHAiCisjaW5jbHVkZSAiSlNOYXZpZ2F0b3JVc2Vy
TWVkaWFFcnJvci5jcHAiCiAjaW5jbHVkZSAiSlNOb2RlLmNwcCIKICNpbmNsdWRlICJKU05vZGVG
aWx0ZXIuY3BwIgogI2luY2x1ZGUgIkpTTm9kZUl0ZXJhdG9yLmNwcCIKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy5tYWtlCmluZGV4IDhlYzE5MzFhOTQwMzIyMDRlZjg2OGYxMWQxMzRjZGM1Mzg5MTdk
ZWQuLjJiNDgzMzE3NDZmYTRiZWRhMDk5MzdlYTBhMjNkNDY2YWExYWNmNDEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dlYkNvcmUv
RGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtMzA3LDYgKzMwNyw3IEBAIERPTV9DTEFTU0VTID0gXAog
ICAgIE11dGF0aW9uRXZlbnQgXAogICAgIE5hbWVkTm9kZU1hcCBcCiAgICAgTmF2aWdhdG9yIFwK
KyAgICBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvciBcCiAgICAgTm9kZSBcCiAgICAgTm9kZUZpbHRl
ciBcCiAgICAgTm9kZUl0ZXJhdG9yIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1h
a2VmaWxlLmFtIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KaW5kZXggYThmZWFkYmZm
OTMwNjliNjc3YzAzZjY4M2E5ZDAwNDk0ZTliZGYyNS4uZjUzMzBjNGY3ZGMzMWM1OWRmODE0MDkz
MTdiOGMxMTQxMWFmMzg4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUu
YW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KQEAgLTQ3MCw2ICs0NzAsOCBA
QCB3ZWJjb3JlX2J1aWx0X3NvdXJjZXMgKz0gXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNO
YW1lZE5vZGVNYXAuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05hdmlnYXRvci5jcHAg
XAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOYXZpZ2F0b3IuaCBcCisJRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmNwcCBcCisJRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmggXAogCURlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNOb2RlLmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05vZGVGaWx0
ZXIuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTm9kZUZpbHRlci5oIFwKQEAgLTg0
NCw2ICs4NDYsMTAgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU01lc3NhZ2VQb3J0Q3VzdG9tLmggXAogCVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTTmFtZWROb2RlTWFwQ3VzdG9tLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNOYXZpZ2F0b3JDdXN0b20uY3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2tDdXN0b20uY3BwIFwKKwlTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2tDdXN0b20u
aCBcCisJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNOYXZpZ2F0b3JVc2VyTWVkaWFTdWNj
ZXNzQ2FsbGJhY2tDdXN0b20uY3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU05h
dmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFja0N1c3RvbS5oIFwKIAlTb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU05vZGVDdXN0b20uY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU05vZGVDdXN0b20uaCBcCiAJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNOb2Rl
RmlsdGVyQ29uZGl0aW9uLmNwcCBcCkBAIC0yMTk5LDYgKzIyMDUsNyBAQCB3ZWJjb3JlX3NvdXJj
ZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0tleWZyYW1lQW5pbWF0aW9u
LmggXAogCVNvdXJjZS9XZWJDb3JlL3BhZ2UvQmFySW5mby5jcHAgXAogCVNvdXJjZS9XZWJDb3Jl
L3BhZ2UvQmFySW5mby5oIFwKKwlTb3VyY2UvV2ViQ29yZS9wYWdlL0NhbGxiYWNrVGFzay5oIFwK
IAlTb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3BhZ2Uv
Q2hyb21lLmggXAogCVNvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmggXApAQCAtMjI2
Niw2ICsyMjczLDkgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9wYWdl
L05hdmlnYXRvci5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvckJhc2UuY3BwIFwK
IAlTb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvckJhc2UuaCBcCisJU291cmNlL1dlYkNvcmUv
cGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5oIFwKKwlTb3VyY2UvV2ViQ29yZS9wYWdlL05h
dmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2suaCBcCisJU291cmNlL1dlYkNvcmUvcGFnZS9O
YXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suaCBcCiAJU291cmNlL1dlYkNvcmUvcGFn
ZS9PcmlnaW5BY2Nlc3NFbnRyeS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3BhZ2UvT3JpZ2luQWNj
ZXNzRW50cnkuaCBcCiAJU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcCBcCkBAIC0yMzA4LDYg
KzIzMTgsOSBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL3BhZ2UvU3Bl
ZWNoSW5wdXRSZXN1bHQuaCBcCiAJU291cmNlL1dlYkNvcmUvcGFnZS9TcGVlY2hJbnB1dFJlc3Vs
dExpc3QuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9wYWdlL1NwZWVjaElucHV0UmVzdWx0TGlzdC5o
IFwKKwlTb3VyY2UvV2ViQ29yZS9wYWdlL1N0cmVhbUNsaWVudC5oIFwKKwlTb3VyY2UvV2ViQ29y
ZS9wYWdlL1N0cmVhbUNvbnRyb2xsZXIuY3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9wYWdlL1N0cmVh
bUNvbnRyb2xsZXIuaCBcCiAJU291cmNlL1dlYkNvcmUvcGFnZS9TdXNwZW5kYWJsZVRpbWVyLmNw
cCBcCiAJU291cmNlL1dlYkNvcmUvcGFnZS9TdXNwZW5kYWJsZVRpbWVyLmggXAogCVNvdXJjZS9X
ZWJDb3JlL3BhZ2UvVXNlckNvbnRlbnRUeXBlcy5oIFwKQEAgLTQxOTYsNiArNDIwOSwxNiBAQCB3
ZWJjb3JlX2NwcGZsYWdzICs9IC1ERU5BQkxFX0lOUFVUX1NQRUVDSD0wCiBlbmRpZiAjIEVORCBF
TkFCTEVfSU5QVVRfU1BFRUNICiAKICMgLS0tLQorIyBNZWRpYSBTdHJlYW0gQVBJIHN1cHBvcnQK
KyMgLS0tLQoraWYgRU5BQkxFX01FRElBX1NUUkVBTQorRkVBVFVSRV9ERUZJTkVTICs9IEVOQUJM
RV9NRURJQV9TVFJFQU09MQord2ViY29yZV9jcHBmbGFncyArPSAtREVOQUJMRV9NRURJQV9TVFJF
QU09MQorZWxzZQord2ViY29yZV9jcHBmbGFncyArPSAtREVOQUJMRV9NRURJQV9TVFJFQU09MAor
ZW5kaWYgIyBFTkQgRU5BQkxFX01FRElBX1NUUkVBTQorCisjIC0tLS0KICMgSWNvbiBEYXRhYmFz
ZSBTdXBwb3J0CiAjIC0tLS0KIGlmIEVOQUJMRV9JQ09OREFUQUJBU0UKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpp
bmRleCAzZTAzMWI4YzE2OWIyZDg4ZDM5NGJiY2JhZTIzYjFiMDliYTBmMTExLi5jZTUyYzNlMGI0
MTAxN2M3Y2RkYjY4ZGU4NDllNjFmNTlmNGRiMTRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC0xNTE3
LDYgKzE1MTcsNyBAQAogICAgICAgICAgICAgJ3BhZ2UvTG9jYXRpb24uaWRsJywKICAgICAgICAg
ICAgICdwYWdlL01lbW9yeUluZm8uaWRsJywKICAgICAgICAgICAgICdwYWdlL05hdmlnYXRvci5p
ZGwnLAorICAgICAgICAgICAgJ3BhZ2UvTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuaWRsJywKICAg
ICAgICAgICAgICdwYWdlL1BlcmZvcm1hbmNlLmlkbCcsCiAgICAgICAgICAgICAncGFnZS9QZXJm
b3JtYW5jZU5hdmlnYXRpb24uaWRsJywKICAgICAgICAgICAgICdwYWdlL1BlcmZvcm1hbmNlVGlt
aW5nLmlkbCcsCkBAIC0yMzExLDYgKzIzMTIsMTEgQEAKICAgICAgICAgICAgICdiaW5kaW5ncy92
OC9jdXN0b20vVjhOYW1lZE5vZGVNYXBDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5n
cy92OC9jdXN0b20vVjhOYW1lZE5vZGVzQ29sbGVjdGlvbi5jcHAnLAogICAgICAgICAgICAgJ2Jp
bmRpbmdzL3Y4L2N1c3RvbS9WOE5hbWVkTm9kZXNDb2xsZWN0aW9uLmgnLAorICAgICAgICAgICAg
J2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE5hdmlnYXRvckN1c3RvbS5jcHAnLAorICAgICAgICAgICAg
J2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2tDdXN0
b20uY3BwJywKKyAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhOYXZpZ2F0b3JVc2Vy
TWVkaWFFcnJvckNhbGxiYWNrQ3VzdG9tLmgnLAorICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1
c3RvbS9WOE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFja0N1c3RvbS5jcHAnLAorICAg
ICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3ND
YWxsYmFja0N1c3RvbS5oJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhOb2Rl
Q3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4Tm9kZUxpc3RD
dXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhOb3RpZmljYXRp
b25DZW50ZXJDdXN0b20uY3BwJywKQEAgLTM1MzQsNiArMzU0MCw3IEBACiAgICAgICAgICAgICAn
bm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25Db250ZW50cy5oJywKICAgICAgICAgICAgICdwYWdl
L0JhckluZm8uY3BwJywKICAgICAgICAgICAgICdwYWdlL0JhckluZm8uaCcsCisgICAgICAgICAg
ICAncGFnZS9DYWxsYmFja1Rhc2suaCcsCiAgICAgICAgICAgICAncGFnZS9DaHJvbWUuY3BwJywK
ICAgICAgICAgICAgICdwYWdlL0NvbnNvbGUuY3BwJywKICAgICAgICAgICAgICdwYWdlL0NvbnRl
bnRTZWN1cml0eVBvbGljeS5jcHAnLApAQCAtMzU3MSw2ICszNTc4LDkgQEAKICAgICAgICAgICAg
ICdwYWdlL05hdmlnYXRvci5oJywKICAgICAgICAgICAgICdwYWdlL05hdmlnYXRvckJhc2UuY3Bw
JywKICAgICAgICAgICAgICdwYWdlL05hdmlnYXRvckJhc2UuaCcsCisgICAgICAgICAgICAncGFn
ZS9OYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5oJywKKyAgICAgICAgICAgICdwYWdlL05hdmlnYXRv
clVzZXJNZWRpYUVycm9yQ2FsbGJhY2suaCcsCisgICAgICAgICAgICAncGFnZS9OYXZpZ2F0b3JV
c2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suaCcsCiAgICAgICAgICAgICAncGFnZS9PcmlnaW5BY2Nl
c3NFbnRyeS5jcHAnLAogICAgICAgICAgICAgJ3BhZ2UvT3JpZ2luQWNjZXNzRW50cnkuaCcsCiAg
ICAgICAgICAgICAncGFnZS9QYWdlLmNwcCcsCkBAIC0zNjAxLDYgKzM2MTEsOSBAQAogICAgICAg
ICAgICAgJ3BhZ2UvU3BlZWNoSW5wdXRSZXN1bHQuaCcsCiAgICAgICAgICAgICAncGFnZS9TcGVl
Y2hJbnB1dFJlc3VsdExpc3QuY3BwJywKICAgICAgICAgICAgICdwYWdlL1NwZWVjaElucHV0UmVz
dWx0TGlzdC5oJywKKyAgICAgICAgICAgICdwYWdlL1N0cmVhbUNsaWVudC5oJywKKyAgICAgICAg
ICAgICdwYWdlL1N0cmVhbUNvbnRyb2xsZXIuY3BwJywKKyAgICAgICAgICAgICdwYWdlL1N0cmVh
bUNvbnRyb2xsZXIuaCcsCiAgICAgICAgICAgICAncGFnZS9TdXNwZW5kYWJsZVRpbWVyLmNwcCcs
CiAgICAgICAgICAgICAncGFnZS9TdXNwZW5kYWJsZVRpbWVyLmgnLAogICAgICAgICAgICAgJ3Bh
Z2UvVXNlckNvbnRlbnRVUkxQYXR0ZXJuLmNwcCcsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnBybyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvCmluZGV4IDU0YzAwOTlh
MzAxYjU3ODgwMTMyZWUwMDAyYTkyNDhlYTNlNWJhYTMuLjMzM2I5Njk2ZTNmNTYwNzJjOGE3ZWIz
YzBjMzM2N2E5YzVhNTI2ZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJv
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvCkBAIC0zMDkxLDYgKzMwOTEsMzkgQEAg
Y29udGFpbnMoREVGSU5FUywgRU5BQkxFX0dFT0xPQ0FUSU9OPTEpIHsKICAgICB9CiB9CiAKK2Nv
bnRhaW5zKERFRklORVMsIEVOQUJMRV9NRURJQV9TVFJFQU09MSkgeworICAgIEhFQURFUlMgKz0g
XAorICAgICAgICBwYWdlL0NhbGxiYWNrVGFzay5oIFwKKyAgICAgICAgcGFnZS9OYXZpZ2F0b3JV
c2VyTWVkaWFFcnJvci5oIFwKKyAgICAgICAgcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNh
bGxiYWNrLmggXAorICAgICAgICBwYWdlL05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFj
ay5oIFwKKyAgICAgICAgcGFnZS9TdHJlYW1DbGllbnQuaCBcCisgICAgICAgIHBhZ2UvU3RyZWFt
Q29udHJvbGxlci5oCisKKyAgICBTT1VSQ0VTICs9IFwKKyAgICAgICAgcGFnZS9TdHJlYW1Db250
cm9sbGVyLmNwcAorCisgICAgdjggeworICAgICAgICBIRUFERVJTICs9IFwKKyAgICAgICAgICAg
IGJpbmRpbmdzL3Y4L2N1c3RvbS9WOE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2tDdXN0
b20uaCBcCisgICAgICAgICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhOYXZpZ2F0b3JVc2VyTWVk
aWFTdWNjZXNzQ2FsbGJhY2tDdXN0b20uaAorCisgICAgICAgIFNPVVJDRVMgKz0gXAorICAgICAg
ICAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4TmF2aWdhdG9yQ3VzdG9tLmNwcCBcCisgICAgICAg
ICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNr
Q3VzdG9tLmNwcCBcCisgICAgICAgICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhOYXZpZ2F0b3JV
c2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2tDdXN0b20uY3BwCisKKyAgICB9IGVsc2UgeworICAgICAg
ICBIRUFERVJTICs9IFwKKyAgICAgICAgICAgIGJpbmRpbmdzL2pzL0pTTmF2aWdhdG9yVXNlck1l
ZGlhRXJyb3JDYWxsYmFja0N1c3RvbS5oIFwKKyAgICAgICAgICAgIGJpbmRpbmdzL2pzL0pTTmF2
aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrQ3VzdG9tLmgKKworICAgICAgICBTT1VSQ0VT
ICs9IFwKKyAgICAgICAgICAgIGJpbmRpbmdzL2pzL0pTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JD
YWxsYmFja0N1c3RvbS5jcHAgXAorICAgICAgICAgICAgYmluZGluZ3MvanMvSlNOYXZpZ2F0b3JV
c2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2tDdXN0b20uY3BwCisgICAgfQorfQorCiBjb250YWlucyhE
RUZJTkVTLCBFTkFCTEVfU1ZHPTEpIHsKICAgICAhdjggewogICAgICAgICBTT1VSQ0VTICs9IFwK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9q
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXggOTJj
ZTg4ZGFiZTgxMjgzOTE0ODMzOWFjMTI4Zjc2NGFkYmFmYmQwMi4uZDkyOGM5MGM3ZWY3MjNiMzdi
ZmE5M2YwZTdkMDdjOTFlYmQ5NDU0ZSAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3By
b2ovV2ViQ29yZS52Y3Byb2oKQEAgLTI0NTkwLDYgKzI0NTkwLDEwIEBACiAJCQkJPgogCQkJPC9G
aWxlPgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHBhZ2VcQ2FsbGJhY2tUYXNrLmgi
CisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHBhZ2Vc
Q2hyb21lLmNwcCIKIAkJCQk+CiAJCQk8L0ZpbGU+CkBAIC0yNDg3OCw2ICsyNDg4MiwxOCBAQAog
CQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxwYWdlXE5h
dmlnYXRvclVzZXJNZWRpYUVycm9yLmgiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJ
CQlSZWxhdGl2ZVBhdGg9Ii4uXHBhZ2VcTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5o
IgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxwYWdl
XE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5oIgorCQkJCT4KKwkJCTwvRmlsZT4K
KwkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxwYWdlXE9yaWdpbkFjY2Vzc0VudHJ5LmNw
cCIKIAkJCQk+CiAJCQk8L0ZpbGU+CkBAIC0yNTAxNCw2ICsyNTAzMCwxOCBAQAogCQkJCT4KIAkJ
CTwvRmlsZT4KIAkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxwYWdlXFN0cmVhbUNsaWVu
dC5oIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxw
YWdlXFN0cmVhbUNvbnRyb2xsZXIuY3BwIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJ
CQkJUmVsYXRpdmVQYXRoPSIuLlxwYWdlXFN0cmVhbUNvbnRyb2xsZXIuaCIKKwkJCQk+CisJCQk8
L0ZpbGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGFnZVxTdXNwZW5kYWJsZVRp
bWVyLmNwcCIKIAkJCQk+CiAJCQk8L0ZpbGU+CkBAIC02MTI3Myw2ICs2MTMwMSwxMTggQEAKIAkJ
CQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KIAkJCQk8L0ZpbGU+CiAJCQkJPEZpbGUKKwkJCQkJUmVs
YXRpdmVQYXRoPSIuLlxiaW5kaW5nc1xqc1xKU05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJh
Y2tDdXN0b20uY3BwIgorCQkJCQk+CisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQkJTmFt
ZT0iRGVidWd8V2luMzIiCisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJCT4K
KwkJCQkJCTxUb29sCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJCS8+CisJ
CQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQkJ
TmFtZT0iUmVsZWFzZXxXaW4zMiIKKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJ
CQkJPgorCQkJCQkJPFRvb2wKKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkJ
Lz4KKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJ
CQkJCQlOYW1lPSJEZWJ1Z19DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCQlFeGNsdWRlZEZyb21C
dWlsZD0idHJ1ZSIKKwkJCQkJCT4KKwkJCQkJCTxUb29sCisJCQkJCQkJTmFtZT0iVkNDTENvbXBp
bGVyVG9vbCIKKwkJCQkJCS8+CisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJCTxGaWxl
Q29uZmlndXJhdGlvbgorCQkJCQkJTmFtZT0iUmVsZWFzZV9DYWlyb19DRkxpdGV8V2luMzIiCisJ
CQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJCT4KKwkJCQkJCTxUb29sCisJCQkJ
CQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJCS8+CisJCQkJCTwvRmlsZUNvbmZpZ3Vy
YXRpb24+CisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQkJTmFtZT0iRGVidWdfQWxsfFdp
bjMyIgorCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCQk+CisJCQkJCQk8VG9v
bAorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCQkvPgorCQkJCQk8L0ZpbGVD
b25maWd1cmF0aW9uPgorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJCU5hbWU9IlJlbGVh
c2VfTFRDR3xXaW4zMiIKKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQkJPgor
CQkJCQkJPFRvb2wKKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkJLz4KKwkJ
CQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8L0ZpbGU+CisJCQkJPEZpbGUKKwkJCQkJUmVs
YXRpdmVQYXRoPSIuLlxiaW5kaW5nc1xqc1xKU05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJh
Y2tDdXN0b20uaCIKKwkJCQkJPgorCQkJCTwvRmlsZT4KKwkJCQk8RmlsZQorCQkJCQlSZWxhdGl2
ZVBhdGg9Ii4uXGJpbmRpbmdzXGpzXEpTTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNr
Q3VzdG9tLmNwcCIKKwkJCQkJPgorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJCU5hbWU9
IkRlYnVnfFdpbjMyIgorCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCQk+CisJ
CQkJCQk8VG9vbAorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCQkvPgorCQkJ
CQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJCU5h
bWU9IlJlbGVhc2V8V2luMzIiCisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJ
CT4KKwkJCQkJCTxUb29sCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJCS8+
CisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJ
CQkJTmFtZT0iRGVidWdfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQkJRXhjbHVkZWRGcm9tQnVp
bGQ9InRydWUiCisJCQkJCQk+CisJCQkJCQk8VG9vbAorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxl
clRvb2wiCisJCQkJCQkvPgorCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCQk8RmlsZUNv
bmZpZ3VyYXRpb24KKwkJCQkJCU5hbWU9IlJlbGVhc2VfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJ
CQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCQk+CisJCQkJCQk8VG9vbAorCQkJCQkJ
CU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCQkvPgorCQkJCQk8L0ZpbGVDb25maWd1cmF0
aW9uPgorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJCU5hbWU9IkRlYnVnX0FsbHxXaW4z
MiIKKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQkJPgorCQkJCQkJPFRvb2wK
KwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkJLz4KKwkJCQkJPC9GaWxlQ29u
ZmlndXJhdGlvbj4KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCQlOYW1lPSJSZWxlYXNl
X0xUQ0d8V2luMzIiCisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJCT4KKwkJ
CQkJCTxUb29sCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJCS8+CisJCQkJ
CTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPC9GaWxlPgorCQkJCTxGaWxlCisJCQkJCVJlbGF0
aXZlUGF0aD0iLi5cYmluZGluZ3NcanNcSlNOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJh
Y2tDdXN0b20uaCIKKwkJCQkJPgorCQkJCTwvRmlsZT4KKwkJCQk8RmlsZQogCQkJCQlSZWxhdGl2
ZVBhdGg9Ii4uXGJpbmRpbmdzXGpzXEpTTm9kZUN1c3RvbS5jcHAiCiAJCQkJCT4KIAkJCQkJPEZp
bGVDb25maWd1cmF0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKaW5kZXggYzNiMWMzM2Q2NDBiMTFmZWE3M2YyNGI4YTAwMGJiNTMxMzVh
NWNkNy4uYTdjNTgxMDczZGFhZDA1Njc1NzZkZGVjNDAxYTE3ZTEwMjcxNjIxOCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNDA3
Nyw2ICs0MDc3LDE5IEBACiAJCUIwMTQ5RTdFMTFBNEIyMTUwMDE5NkE3QiAvKiBBc3luY0ltYWdl
UmVzaXplci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QjAxNDlFN0ExMUE0QjIxNTAwMTk2QTdCIC8qIEFzeW5jSW1hZ2VSZXNpemVyLmggKi87IH07CiAJ
CUIwMTQ5RTdGMTFBNEIyMTUwMDE5NkE3QiAvKiBJbWFnZVJlc2l6ZXJUaHJlYWQuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjAxNDlFN0IxMUE0QjIx
NTAwMTk2QTdCIC8qIEltYWdlUmVzaXplclRocmVhZC5jcHAgKi87IH07CiAJCUIwMTQ5RTgwMTFB
NEIyMTUwMDE5NkE3QiAvKiBJbWFnZVJlc2l6ZXJUaHJlYWQuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIwMTQ5RTdDMTFBNEIyMTUwMDE5NkE3QiAvKiBJ
bWFnZVJlc2l6ZXJUaHJlYWQuaCAqLzsgfTsKKwkJQjFEQzRBNTkxMzM3QUY0RDAwRUZGOEQ4IC8q
IFN0cmVhbUNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQjFEQzRBNTUxMzM3QUY0RDAwRUZGOEQ4IC8qIFN0cmVhbUNsaWVudC5oICovOyB9Owor
CQlCMURDNEE1QTEzMzdBRjREMDBFRkY4RDggLyogU3RyZWFtQ29udHJvbGxlci5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMURDNEE1NjEzMzdBRjRE
MDBFRkY4RDggLyogU3RyZWFtQ29udHJvbGxlci5jcHAgKi87IH07CisJCUIxREM0QTVCMTMzN0FG
NEQwMEVGRjhEOCAvKiBTdHJlYW1Db250cm9sbGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMURDNEE1NzEzMzdBRjREMDBFRkY4RDggLyogU3RyZWFt
Q29udHJvbGxlci5oICovOyB9OworCQlCMURDNEJBRjEzMzhFMEYzMDBFRkY4RDggLyogSlNOYXZp
Z2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIxREM0QkE4MTMzOEUwRjMwMEVGRjhEOCAvKiBK
U05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2tDdXN0b20uY3BwICovOyB9OworCQlCMURD
NEJCMDEzMzhFMEYzMDBFRkY4RDggLyogSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNr
Q3VzdG9tLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBC
MURDNEJBOTEzMzhFMEYzMDBFRkY4RDggLyogSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxi
YWNrQ3VzdG9tLmggKi87IH07CisJCUIxREM0QkIxMTMzOEUwRjMwMEVGRjhEOCAvKiBKU05hdmln
YXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFja0N1c3RvbS5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMURDNEJBQTEzMzhFMEYzMDBFRkY4RDggLyog
SlNOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2tDdXN0b20uY3BwICovOyB9OworCQlC
MURDNEJCMjEzMzhFMEYzMDBFRkY4RDggLyogSlNOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2Fs
bGJhY2tDdXN0b20uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEIxREM0QkFCMTMzOEUwRjMwMEVGRjhEOCAvKiBKU05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nl
c3NDYWxsYmFja0N1c3RvbS5oICovOyB9OworCQlCMURDNEJCNTEzMzhFMTQwMDBFRkY4RDggLyog
Q2FsbGJhY2tUYXNrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBCMURDNEJCNDEzMzhFMTQwMDBFRkY4RDggLyogQ2FsbGJhY2tUYXNrLmggKi87IH07CisJ
CUIxRTQ2QzA5MTMzM0I1N0YwMDgyMkQ3RiAvKiBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjFFNDZDMDExMzMz
QjU3RjAwODIyRDdGIC8qIE5hdmlnYXRvclVzZXJNZWRpYUVycm9yLmggKi87IH07CisJCUIxRTQ2
QzBDMTMzM0I1N0YwMDgyMkQ3RiAvKiBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMUU0NkMwNDEz
MzNCNTdGMDA4MjJEN0YgLyogTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5oICovOyB9
OworCQlCMUU0NkMwRjEzMzNCNTdGMDA4MjJEN0YgLyogTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vz
c0NhbGxiYWNrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBCMUU0NkMwNzEzMzNCNTdGMDA4MjJEN0YgLyogTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0Nh
bGxiYWNrLmggKi87IH07CisJCUIxRTQ2QzUyMTMzM0MxREMwMDgyMkQ3RiAvKiBKU05hdmlnYXRv
clVzZXJNZWRpYUVycm9yLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEIxRTQ2QzQ0MTMzM0MxREMwMDgyMkQ3RiAvKiBKU05hdmlnYXRvclVzZXJNZWRp
YUVycm9yLmNwcCAqLzsgfTsKKwkJQjFFNDZDNTMxMzMzQzFEQzAwODIyRDdGIC8qIEpTTmF2aWdh
dG9yVXNlck1lZGlhRXJyb3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEIxRTQ2QzQ1MTMzM0MxREMwMDgyMkQ3RiAvKiBKU05hdmlnYXRvclVzZXJNZWRp
YUVycm9yLmggKi87IH07CiAJCUIyMDExMTA3MEFCNzc0MDUwMERCMEU2OCAvKiBKU1NWR0FFbGVt
ZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIy
MDExMTA1MEFCNzc0MDUwMERCMEU2OCAvKiBKU1NWR0FFbGVtZW50LmNwcCAqLzsgfTsKIAkJQjIw
MTExMDgwQUI3NzQwNTAwREIwRTY4IC8qIEpTU1ZHQUVsZW1lbnQuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIyMDExMTA2MEFCNzc0MDUwMERCMEU2OCAv
KiBKU1NWR0FFbGVtZW50LmggKi87IH07CiAJCUIyMjI3OTYyMEQwMEJGMjIwMDcxQjc4MiAvKiBD
b2xvckRpc3RhbmNlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEIyMjI3N0NCMEQwMEJGMUYwMDcxQjc4MiAvKiBDb2xvckRpc3RhbmNlLmNwcCAqLzsg
fTsKQEAgLTEwMzExLDYgKzEwMzI0LDIwIEBACiAJCUIwMTQ5RTdBMTFBNEIyMTUwMDE5NkE3QiAv
KiBBc3luY0ltYWdlUmVzaXplci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBB
c3luY0ltYWdlUmVzaXplci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCMDE0OUU3
QjExQTRCMjE1MDAxOTZBN0IgLyogSW1hZ2VSZXNpemVyVGhyZWFkLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEltYWdlUmVzaXplclRocmVhZC5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIwMTQ5RTdDMTFBNEIyMTUwMDE5NkE3QiAvKiBJbWFnZVJl
c2l6ZXJUaHJlYWQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW1hZ2VSZXNp
emVyVGhyZWFkLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIxREM0QTU1MTMzN0FG
NEQwMEVGRjhEOCAvKiBTdHJlYW1DbGllbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gU3RyZWFtQ2xpZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIxREM0
QTU2MTMzN0FGNEQwMEVGRjhEOCAvKiBTdHJlYW1Db250cm9sbGVyLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFN0cmVhbUNvbnRyb2xsZXIuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQlCMURDNEE1NzEzMzdBRjREMDBFRkY4RDggLyogU3RyZWFtQ29u
dHJvbGxlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTdHJlYW1Db250cm9s
bGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIxREM0QkE4MTMzOEUwRjMwMEVG
RjhEOCAvKiBKU05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2tDdXN0b20uY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJv
ckNhbGxiYWNrQ3VzdG9tLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjFEQzRC
QTkxMzM4RTBGMzAwRUZGOEQ4IC8qIEpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFja0N1
c3RvbS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU05hdmlnYXRvclVzZXJN
ZWRpYUVycm9yQ2FsbGJhY2tDdXN0b20uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
QjFEQzRCQUExMzM4RTBGMzAwRUZGOEQ4IC8qIEpTTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0Nh
bGxiYWNrQ3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpT
TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrQ3VzdG9tLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJQjFEQzRCQUIxMzM4RTBGMzAwRUZGOEQ4IC8qIEpTTmF2aWdhdG9y
VXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrQ3VzdG9tLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEpTTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrQ3VzdG9tLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIxREM0QkI0MTMzOEUxNDAwMEVGRjhEOCAvKiBD
YWxsYmFja1Rhc2suaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ2FsbGJhY2tU
YXNrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIxRTQ2QzAxMTMzM0I1N0YwMDgy
MkQ3RiAvKiBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQlCMUU0NkMwMjEzMzNCNTdGMDA4MjJEN0YgLyogTmF2aWdhdG9yVXNlck1lZGlh
RXJyb3IuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IE5hdmlnYXRvclVzZXJNZWRpYUVycm9y
LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjFFNDZDMDQxMzMzQjU3RjAwODIy
RDdGIC8qIE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2suaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCMUU0NkMwNzEzMzNCNTdGMDA4MjJEN0YgLyogTmF2
aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQlCMUU0NkM0NDEzMzNDMURDMDA4MjJEN0YgLyogSlNOYXZpZ2F0
b3JVc2VyTWVkaWFFcnJvci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBKU05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJQjFFNDZDNDUxMzMzQzFEQzAwODIyRDdGIC8qIEpTTmF2aWdhdG9yVXNlck1lZGlhRXJy
b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNOYXZpZ2F0b3JVc2VyTWVk
aWFFcnJvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCMjAxMTEwNTBBQjc3NDA1
MDBEQjBFNjggLyogSlNTVkdBRWxlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gSlNTVkdBRWxlbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUIyMDExMTA2MEFCNzc0MDUwMERCMEU2OCAvKiBKU1NWR0FFbGVtZW50LmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1NWR0FFbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUIyMjI3N0NCMEQwMEJGMUYwMDcxQjc4MiAvKiBDb2xvckRpc3RhbmNl
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDb2xvckRpc3RhbmNl
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE0MDkwLDYgKzE0MTE3LDcgQEAK
IAkJCQlCQzEyNEVFNDBDMjY0MUNEMDA5RTIzNDkgLyogQmFySW5mby5jcHAgKi8sCiAJCQkJQkMx
MjRFRTUwQzI2NDFDRDAwOUUyMzQ5IC8qIEJhckluZm8uaCAqLywKIAkJCQlCQzEyNEVFNjBDMjY0
MUNEMDA5RTIzNDkgLyogQmFySW5mby5pZGwgKi8sCisJCQkJQjFEQzRCQjQxMzM4RTE0MDAwRUZG
OEQ4IC8qIENhbGxiYWNrVGFzay5oICovLAogCQkJCTE0RDgyMzhBMEFGOTJERjYwMDA0RjA1NyAv
KiBDaHJvbWUuY3BwICovLAogCQkJCTE0RDgyMzUwMEFGOTJBNzkwMDA0RjA1NyAvKiBDaHJvbWUu
aCAqLywKIAkJCQkxNEQ4MjQwNjBBRjkzQUVCMDAwNEYwNTcgLyogQ2hyb21lQ2xpZW50LmggKi8s
CkBAIC0xNDE3MCw2ICsxNDE5OCwxMCBAQAogCQkJCUE5QzZFNjVEMEQ3NDY2OTQwMDY0NDJFOSAv
KiBOYXZpZ2F0b3IuaWRsICovLAogCQkJCUUxMjcxOUM5MEVFRUMyMTMwMEY2MTIxMyAvKiBOYXZp
Z2F0b3JCYXNlLmNwcCAqLywKIAkJCQlFMTI3MTlDNjBFRUVDMTY4MDBGNjEyMTMgLyogTmF2aWdh
dG9yQmFzZS5oICovLAorCQkJCUIxRTQ2QzAxMTMzM0I1N0YwMDgyMkQ3RiAvKiBOYXZpZ2F0b3JV
c2VyTWVkaWFFcnJvci5oICovLAorCQkJCUIxRTQ2QzAyMTMzM0I1N0YwMDgyMkQ3RiAvKiBOYXZp
Z2F0b3JVc2VyTWVkaWFFcnJvci5pZGwgKi8sCisJCQkJQjFFNDZDMDQxMzMzQjU3RjAwODIyRDdG
IC8qIE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2suaCAqLywKKwkJCQlCMUU0NkMwNzEz
MzNCNTdGMDA4MjJEN0YgLyogTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmggKi8s
CiAJCQkJMDAxNDYyODgxMDNDRDFERTAwMEIyMERCIC8qIE9yaWdpbkFjY2Vzc0VudHJ5LmNwcCAq
LywKIAkJCQkwMDE0NjI4OTEwM0NEMURFMDAwQjIwREIgLyogT3JpZ2luQWNjZXNzRW50cnkuaCAq
LywKIAkJCQk2NUZFQTg2ODA5ODMzQURFMDBCRUQ0QUIgLyogUGFnZS5jcHAgKi8sCkBAIC0xNDIy
MCw2ICsxNDI1Miw5IEBACiAJCQkJNzU0MTVDMjcxMjlBOTkyMDAwM0FENjY5IC8qIFNwZWVjaElu
cHV0UmVzdWx0TGlzdC5jcHAgKi8sCiAJCQkJNzU0MTVBRkIxMjk1OEQ1RTAwM0FENjY5IC8qIFNw
ZWVjaElucHV0UmVzdWx0TGlzdC5oICovLAogCQkJCTc1NDE1QUZDMTI5NThENUUwMDNBRDY2OSAv
KiBTcGVlY2hJbnB1dFJlc3VsdExpc3QuaWRsICovLAorCQkJCUIxREM0QTU1MTMzN0FGNEQwMEVG
RjhEOCAvKiBTdHJlYW1DbGllbnQuaCAqLywKKwkJCQlCMURDNEE1NjEzMzdBRjREMDBFRkY4RDgg
LyogU3RyZWFtQ29udHJvbGxlci5jcHAgKi8sCisJCQkJQjFEQzRBNTcxMzM3QUY0RDAwRUZGOEQ4
IC8qIFN0cmVhbUNvbnRyb2xsZXIuaCAqLywKIAkJCQk2MkMxMjE3QTExQUI5RTc2MDAzQzQ2MkMg
LyogU3VzcGVuZGFibGVUaW1lci5jcHAgKi8sCiAJCQkJNjJDMTIxN0IxMUFCOUU3NzAwM0M0NjJD
IC8qIFN1c3BlbmRhYmxlVGltZXIuaCAqLywKIAkJCQkwMDNGMUZFOTExRTZBQjQzMDA4MjU4RDkg
LyogVXNlckNvbnRlbnRUeXBlcy5oICovLApAQCAtMTgxMDQsNiArMTgxMzksMTAgQEAKIAkJCQk0
MUY1ODRDNjEwNDY1MkNCMDA5Q0FBNjQgLyogSlNNZXNzYWdlUG9ydEN1c3RvbS5oICovLAogCQkJ
CUJDRDlDMjVGMEMxN0FBNjcwMDVDOTBBMiAvKiBKU05hbWVkTm9kZU1hcEN1c3RvbS5jcHAgKi8s
CiAJCQkJQTlDNkU2NDgwRDc0NjVEODAwNjQ0MkU5IC8qIEpTTmF2aWdhdG9yQ3VzdG9tLmNwcCAq
LywKKwkJCQlCMURDNEJBODEzMzhFMEYzMDBFRkY4RDggLyogSlNOYXZpZ2F0b3JVc2VyTWVkaWFF
cnJvckNhbGxiYWNrQ3VzdG9tLmNwcCAqLywKKwkJCQlCMURDNEJBOTEzMzhFMEYzMDBFRkY4RDgg
LyogSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrQ3VzdG9tLmggKi8sCisJCQkJQjFE
QzRCQUExMzM4RTBGMzAwRUZGOEQ4IC8qIEpTTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxi
YWNrQ3VzdG9tLmNwcCAqLywKKwkJCQlCMURDNEJBQjEzMzhFMEYzMDBFRkY4RDggLyogSlNOYXZp
Z2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2tDdXN0b20uaCAqLywKIAkJCQlCQ0Q5QzI2MDBD
MTdBQTY3MDA1QzkwQTIgLyogSlNOb2RlQ3VzdG9tLmNwcCAqLywKIAkJCQlCQzk0MzlDMjExNkNG
NDk0MDA0OEM3NTAgLyogSlNOb2RlQ3VzdG9tLmggKi8sCiAJCQkJQkNCNzczNjAwQzE3ODUzRDAw
MTMyQkE0IC8qIEpTTm9kZUZpbHRlckN1c3RvbS5jcHAgKi8sCkBAIC0xODIzMSw2ICsxODI3MCw4
IEBACiAJCQkJOUZGRTNFQTQxMUI1QTQzOTAwMzc4NzRFIC8qIEpTTWVtb3J5SW5mby5oICovLAog
CQkJCUE5RDI0N0Y1MEQ3NTdFMzMwMEZERjk1OSAvKiBKU05hdmlnYXRvci5jcHAgKi8sCiAJCQkJ
QTlEMjQ3RjYwRDc1N0UzMzAwRkRGOTU5IC8qIEpTTmF2aWdhdG9yLmggKi8sCisJCQkJQjFFNDZD
NDQxMzMzQzFEQzAwODIyRDdGIC8qIEpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuY3BwICovLAor
CQkJCUIxRTQ2QzQ1MTMzM0MxREMwMDgyMkQ3RiAvKiBKU05hdmlnYXRvclVzZXJNZWRpYUVycm9y
LmggKi8sCiAJCQkJOEE5QTU4NzIxMUU4NEM4MTAwOEFDRkQxIC8qIEpTUGVyZm9ybWFuY2UuY3Bw
ICovLAogCQkJCThBOUE1ODczMTFFODRDODEwMDhBQ0ZEMSAvKiBKU1BlcmZvcm1hbmNlLmggKi8s
CiAJCQkJOEE5QTU4NkUxMUU4NEMzNTAwOEFDRkQxIC8qIEpTUGVyZm9ybWFuY2VOYXZpZ2F0aW9u
LmNwcCAqLywKQEAgLTIyNjc5LDYgKzIyNzIwLDE1IEBACiAJCQkJMzE5NDYyMDQxMzAyMkJGMTAw
NEJCM0Y4IC8qIERPTVdlYktpdEFuaW1hdGlvbkxpc3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTMx
OUU2OUIzMTMyOTlCQkQwMDRBQzkxQSAvKiBXZWJLaXRBbmltYXRpb24uaCBpbiBIZWFkZXJzICov
LAogCQkJCTMxOUU2OUI2MTMyOTlCQkQwMDRBQzkxQSAvKiBXZWJLaXRBbmltYXRpb25MaXN0Lmgg
aW4gSGVhZGVycyAqLywKKwkJCQlCMUU0NkMwOTEzMzNCNTdGMDA4MjJEN0YgLyogTmF2aWdhdG9y
VXNlck1lZGlhRXJyb3IuaCBpbiBIZWFkZXJzICovLAorCQkJCUIxRTQ2QzBDMTMzM0I1N0YwMDgy
MkQ3RiAvKiBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmggaW4gSGVhZGVycyAqLywK
KwkJCQlCMUU0NkMwRjEzMzNCNTdGMDA4MjJEN0YgLyogTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vz
c0NhbGxiYWNrLmggaW4gSGVhZGVycyAqLywKKwkJCQlCMUU0NkM1MzEzMzNDMURDMDA4MjJEN0Yg
LyogSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5oIGluIEhlYWRlcnMgKi8sCisJCQkJQjFEQzRB
NTkxMzM3QUY0RDAwRUZGOEQ4IC8qIFN0cmVhbUNsaWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
QjFEQzRBNUIxMzM3QUY0RDAwRUZGOEQ4IC8qIFN0cmVhbUNvbnRyb2xsZXIuaCBpbiBIZWFkZXJz
ICovLAorCQkJCUIxREM0QkIwMTMzOEUwRjMwMEVGRjhEOCAvKiBKU05hdmlnYXRvclVzZXJNZWRp
YUVycm9yQ2FsbGJhY2tDdXN0b20uaCBpbiBIZWFkZXJzICovLAorCQkJCUIxREM0QkIyMTMzOEUw
RjMwMEVGRjhEOCAvKiBKU05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFja0N1c3RvbS5o
IGluIEhlYWRlcnMgKi8sCisJCQkJQjFEQzRCQjUxMzM4RTE0MDAwRUZGOEQ4IC8qIENhbGxiYWNr
VGFzay5oIGluIEhlYWRlcnMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0
cHJvY2Vzc2luZyA9IDA7CiAJCX07CkBAIC0yNTM0Niw2ICsyNTM5NiwxMCBAQAogCQkJCTMxOUU2
ODg3MTMyN0M5MTEwMDRBQzkxQSAvKiBKU1dlYktpdEFuaW1hdGlvbkN1c3RvbS5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQkzMTlFNjlCMjEzMjk5QkJEMDA0QUM5MUEgLyogV2ViS2l0QW5pbWF0aW9u
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTMxOUU2OUI1MTMyOTlCQkQwMDRBQzkxQSAvKiBXZWJL
aXRBbmltYXRpb25MaXN0LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUIxRTQ2QzUyMTMzM0MxREMw
MDgyMkQ3RiAvKiBKU05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmNwcCBpbiBTb3VyY2VzICovLAor
CQkJCUIxREM0QTVBMTMzN0FGNEQwMEVGRjhEOCAvKiBTdHJlYW1Db250cm9sbGVyLmNwcCBpbiBT
b3VyY2VzICovLAorCQkJCUIxREM0QkFGMTMzOEUwRjMwMEVGRjhEOCAvKiBKU05hdmlnYXRvclVz
ZXJNZWRpYUVycm9yQ2FsbGJhY2tDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQjFEQzRC
QjExMzM4RTBGMzAwRUZGOEQ4IC8qIEpTTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNr
Q3VzdG9tLmNwcCBpbiBTb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50
UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2dlbmVyaWMvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5jcHAKaW5kZXggYmVlNmEy
N2FhZGY2ZTVjMGJhMDQ3YTM4NjUwYWI2OGRkNjE2NzNmNC4uMzhiNjUwNWRhYWI4MmE5YmEyMzkz
OTUzODZkZTdmNTRkMDkyOWE5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
Z2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuY3BwCkBAIC01Nyw2ICs1Nywx
MCBAQCBib29sIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmlzRGV2aWNlTW90aW9uRW5hYmxlZCA9
IHRydWU7CiBib29sIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmlzRGV2aWNlT3JpZW50YXRpb25F
bmFibGVkID0gdHJ1ZTsKIGJvb2wgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6aXNTcGVlY2hJbnB1
dEVuYWJsZWQgPSB0cnVlOwogCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKK2Jvb2wgUnVudGlt
ZUVuYWJsZWRGZWF0dXJlczo6aXNNZWRpYVN0cmVhbUVuYWJsZWQgPSB0cnVlOworI2VuZGlmCisK
ICNpZiBFTkFCTEUoWEhSX1JFU1BPTlNFX0JMT0IpCiBib29sIFJ1bnRpbWVFbmFibGVkRmVhdHVy
ZXM6OmlzWEhSUmVzcG9uc2VCbG9iRW5hYmxlZCA9IGZhbHNlOwogI2VuZGlmCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMu
aCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2dlbmVyaWMvUnVudGltZUVuYWJsZWRGZWF0dXJl
cy5oCmluZGV4IDA5ZTQwMDQ4YTU4Mzk1YTU4NjEwMjAwYzNlYTlmZDQ5M2ViZTAwZTEuLmY4ZjJj
Yzc0ZTNiZTVjNWFhY2RjMGQwYjRjOTMxMzc5OGM3YTAzMGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2dlbmVyaWMvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2dlbmVyaWMvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oCkBA
IC0xNjUsNiArMTY1LDEyIEBAIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBzZXRKYXZhU2NyaXB0
STE4TkFQSUVuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgaXNKYXZhU2NyaXB0STE4TkFQSUVuYWJs
ZWQgPSBpc0VuYWJsZWQ7IH0KICNlbmRpZgogCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKyAg
ICBzdGF0aWMgYm9vbCBtZWRpYVN0cmVhbUVuYWJsZWQoKSB7IHJldHVybiBpc01lZGlhU3RyZWFt
RW5hYmxlZDsgfQorICAgIHN0YXRpYyB2b2lkIHNldE1lZGlhU3RyZWFtRW5hYmxlZChib29sIGlz
RW5hYmxlZCkgeyBpc01lZGlhU3RyZWFtRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQorICAgIHN0YXRp
YyBib29sIHdlYmtpdEdldFVzZXJNZWRpYUVuYWJsZWQoKSB7IHJldHVybiBpc01lZGlhU3RyZWFt
RW5hYmxlZDsgfQorI2VuZGlmCisKIHByaXZhdGU6CiAgICAgLy8gTmV2ZXIgaW5zdGFudGlhdGUu
CiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlcygpIHsgfQpAQCAtMTk0LDYgKzIwMCwxMCBAQCBw
cml2YXRlOgogI2lmIEVOQUJMRShKQVZBU0NSSVBUX0kxOE5fQVBJKQogICAgIHN0YXRpYyBib29s
IGlzSmF2YVNjcmlwdEkxOE5BUElFbmFibGVkOwogI2VuZGlmCisKKyNpZiBFTkFCTEUoTUVESUFf
U1RSRUFNKQorICAgIHN0YXRpYyBib29sIGlzTWVkaWFTdHJlYW1FbmFibGVkOworI2VuZGlmCiB9
OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2tDdXN0b20uY3BwIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxi
YWNrQ3VzdG9tLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mY2U2ZGEwYmMxZWQzN2UwN2IwMjNjZWQyZDE5NzIw
NWY3Njg1ODBmCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrQ3VzdG9tLmNwcApAQCAtMCwwICsxLDY4
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgor
ICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGlu
IHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xl
IEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0
byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3
YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05U
UklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisg
KiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkpTTmF2aWdhdG9yVXNlck1lZGlhRXJy
b3JDYWxsYmFja0N1c3RvbS5oIgorCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKworI2luY2x1
ZGUgIkpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuaCIKKyNpbmNsdWRlICJTY3JpcHRDb250cm9s
bGVyLmgiCisjaW5jbHVkZSA8cnVudGltZS9KU0xvY2suaD4KKworbmFtZXNwYWNlIFdlYkNvcmUg
eworCit1c2luZyBuYW1lc3BhY2UgSlNDOworCitKU05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2Fs
bGJhY2s6OkpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjayhKU09iamVjdCogY2FsbGJh
Y2ssIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCisgICAgOiBOYXZpZ2F0b3JVc2Vy
TWVkaWFFcnJvckNhbGxiYWNrKGdsb2JhbE9iamVjdC0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgp
KQorICAgICwgbV9kYXRhKGNhbGxiYWNrLCBnbG9iYWxPYmplY3QpCit7Cit9CisKK3ZvaWQgSlNO
YXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrOjpoYW5kbGVFdmVudChOYXZpZ2F0b3JVc2Vy
TWVkaWFFcnJvciogZXJyb3IpCit7CisgICAgLy8gQWN0aXZlRE9NT2JqZWN0IHdpbGwgbnVsbCBv
dXIgcG9pbnRlciB0byB0aGUgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCB3aGVuIGl0IGdvZXMgYXdh
eS4KKyAgICBpZiAoIXNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSkKKyAgICAgICAgcmV0dXJuOwor
CisgICAgUmVmUHRyPEpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjaz4gcHJvdGVjdCh0
aGlzKTsKKworICAgIEpTQzo6SlNMb2NrIGxvY2soU2lsZW5jZUFzc2VydGlvbnNPbmx5KTsKKyAg
ICBFeGVjU3RhdGUqIGV4ZWMgPSBtX2RhdGEuZ2xvYmFsT2JqZWN0KCktPmdsb2JhbEV4ZWMoKTsK
KyAgICBNYXJrZWRBcmd1bWVudEJ1ZmZlciBhcmdzOworICAgIGFyZ3MuYXBwZW5kKHRvSlMoZXhl
YywgZGVwcmVjYXRlZEdsb2JhbE9iamVjdEZvclByb3RvdHlwZShleGVjKSwgZXJyb3IpKTsKKyAg
ICBtX2RhdGEuaW52b2tlQ2FsbGJhY2soYXJncyk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKKworI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0pCisKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFja0N1
c3RvbS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNOYXZpZ2F0b3JVc2VyTWVkaWFF
cnJvckNhbGxiYWNrQ3VzdG9tLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGI4Njc5OWNkYzA4NWY4YzNiNWFlYjFh
YmM4Mzk2MTNlYzQwZWFiZgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFja0N1c3RvbS5oCkBAIC0wLDAg
KzEsNjYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoK
KyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgor
ICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBH
b29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMg
c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5E
IENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklH
SFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjaWZuZGVmIFdURl9KU05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2tDdXN0
b21faAorI2RlZmluZSBXVEZfSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrQ3VzdG9t
X2gKKworI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCisKKyNpbmNsdWRlICJKU0NhbGxiYWNrRGF0
YS5oIgorI2luY2x1ZGUgIk5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2suaCIKKyNpbmNs
dWRlIDx3dGYvRm9yd2FyZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIE5hdmln
YXRvclVzZXJNZWRpYUVycm9yOworY2xhc3MgSlNET01HbG9iYWxPYmplY3Q7CisKK2NsYXNzIEpT
TmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjayA6IHB1YmxpYyBOYXZpZ2F0b3JVc2VyTWVk
aWFFcnJvckNhbGxiYWNrIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxKU05hdmln
YXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2s+IGNyZWF0ZShKU0M6OkpTT2JqZWN0KiBjYWxsYmFj
aywgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKKyAgICB7CisgICAgICAgIHJldHVy
biBhZG9wdFJlZihuZXcgSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrKGNhbGxiYWNr
LCBnbG9iYWxPYmplY3QpKTsKKyAgICB9CisgICAgCisgICAgdmlydHVhbCB+SlNOYXZpZ2F0b3JV
c2VyTWVkaWFFcnJvckNhbGxiYWNrKCkgeyB9CisKK3ByaXZhdGU6CisgICAgSlNOYXZpZ2F0b3JV
c2VyTWVkaWFFcnJvckNhbGxiYWNrKEpTQzo6SlNPYmplY3QqIGNhbGxiYWNrLCBKU0RPTUdsb2Jh
bE9iamVjdCopOworCisgICAgdmlydHVhbCB2b2lkIGhhbmRsZUV2ZW50KE5hdmlnYXRvclVzZXJN
ZWRpYUVycm9yKik7CisKKyAgICBKU0NhbGxiYWNrRGF0YSBtX2RhdGE7Cit9OworCit9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFNKQorCisjZW5k
aWYgLy8gV1RGX0pTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFja0N1c3RvbV9oCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU05hdmlnYXRvclVzZXJNZWRpYVN1
Y2Nlc3NDYWxsYmFja0N1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU05h
dmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFja0N1c3RvbS5jcHAKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDUw
NGE3MmRiMTIwYzEyYzc2YjZmZWI4NWRhYWQzMmNhMTZkODFiNAotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0Nh
bGxiYWNrQ3VzdG9tLmNwcApAQCAtMCwwICsxLDUyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
ICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMK
KyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
dHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Ig
d3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QK
KyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2lu
Y2x1ZGUgIkpTTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrQ3VzdG9tLmgiCisKKyNp
ZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorCisjaW5jbHVkZSAiU2NyaXB0Q29udHJvbGxlci5oIgor
I2luY2x1ZGUgPHJ1bnRpbWUvSlNMb2NrLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwordXNp
bmcgbmFtZXNwYWNlIEpTQzsKKworSlNOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2s6
OkpTTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrKEpTT2JqZWN0KiBjYWxsYmFjaywg
SlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKKyAgICA6IE5hdmlnYXRvclVzZXJNZWRp
YVN1Y2Nlc3NDYWxsYmFjayhnbG9iYWxPYmplY3QtPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSkK
KyAgICAsIG1fZGF0YShjYWxsYmFjaywgZ2xvYmFsT2JqZWN0KQoreworfQorCit9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFNKQorCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nl
c3NDYWxsYmFja0N1c3RvbS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNOYXZpZ2F0
b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2tDdXN0b20uaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41Mjg3ODYxYjNk
ZWQ2MjI3MTlkOTZkZWZlNjRiMGVkZDMyYTlkNzAxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2tD
dXN0b20uaApAQCAtMCwwICsxLDYxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2ds
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAq
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRo
ZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRy
aWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZl
ZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlS
SUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
KyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBXVEZfSlNOYXZpZ2F0b3JVc2VyTWVkaWFT
dWNjZXNzQ2FsbGJhY2tDdXN0b21faAorI2RlZmluZSBXVEZfSlNOYXZpZ2F0b3JVc2VyTWVkaWFT
dWNjZXNzQ2FsbGJhY2tDdXN0b21faAorCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKworI2lu
Y2x1ZGUgIkpTQ2FsbGJhY2tEYXRhLmgiCisjaW5jbHVkZSAiTmF2aWdhdG9yVXNlck1lZGlhU3Vj
Y2Vzc0NhbGxiYWNrLmgiCisjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KKworbmFtZXNwYWNlIFdl
YkNvcmUgeworCitjbGFzcyBKU0RPTUdsb2JhbE9iamVjdDsKKworY2xhc3MgSlNOYXZpZ2F0b3JV
c2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2sgOiBwdWJsaWMgTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vz
c0NhbGxiYWNrIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxKU05hdmlnYXRvclVz
ZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjaz4gY3JlYXRlKEpTQzo6SlNPYmplY3QqIGNhbGxiYWNrLCBK
U0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFk
b3B0UmVmKG5ldyBKU05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjayhjYWxsYmFjaywg
Z2xvYmFsT2JqZWN0KSk7CisgICAgfQorCitwcml2YXRlOgorICAgIEpTTmF2aWdhdG9yVXNlck1l
ZGlhU3VjY2Vzc0NhbGxiYWNrKEpTQzo6SlNPYmplY3QqIGNhbGxiYWNrLCBKU0RPTUdsb2JhbE9i
amVjdCopOworCisgICAgSlNDYWxsYmFja0RhdGEgbV9kYXRhOworfTsKKworfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVBTSkKKworI2VuZGlmIC8v
IFdURl9KU05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFja0N1c3RvbV9oCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhOYXZpZ2F0b3JDdXN0b20u
Y3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4TmF2aWdhdG9yQ3VzdG9t
LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44NzQ4NTRiYjJmZTYxMmU2MmEyMWE4ZTgxMDljMDAzMDczYzVkNmZk
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4
TmF2aWdhdG9yQ3VzdG9tLmNwcApAQCAtMCwwICsxLDExMSBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisg
KiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2Yg
aXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHBy
b2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAor
ICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVD
SUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIK
KyNpbmNsdWRlICJWOE5hdmlnYXRvci5oIgorCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKwor
I2luY2x1ZGUgIk5hdmlnYXRvci5oIgorI2luY2x1ZGUgIlY4QmluZGluZy5oIgorI2luY2x1ZGUg
IlY4TmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFja0N1c3RvbS5oIgorI2luY2x1ZGUgIlY4
TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrQ3VzdG9tLmgiCisjaW5jbHVkZSAiVjhQ
cm94eS5oIgorCit1c2luZyBuYW1lc3BhY2UgV1RGOworCituYW1lc3BhY2UgV2ViQ29yZSB7CisK
K3N0YXRpYyBjb25zdCBjaGFyIHR5cGVNaXNtYXRjaEVycm9yW10gPSAiVFlQRV9NSVNNQVRDSF9F
UlI6IERPTSBFeGNlcHRpb24gMTciOworCitzdGF0aWMgdm9pZCB0aHJvd1R5cGVNaXNtYXRjaEV4
Y2VwdGlvbigpCit7CisgICAgVjhQcm94eTo6dGhyb3dFcnJvcihWOFByb3h5OjpHZW5lcmFsRXJy
b3IsIHR5cGVNaXNtYXRjaEVycm9yKTsKK30KKworc3RhdGljIFBhc3NSZWZQdHI8TmF2aWdhdG9y
VXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrPiBjcmVhdGVOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNz
Q2FsbGJhY2sodjg6OkxvY2FsPHY4OjpWYWx1ZT4gdmFsdWUsIGJvb2wmIHN1Y2NlZWRlZCkKK3sK
KyAgICBzdWNjZWVkZWQgPSB0cnVlOworCisgICAgLy8gVGhlIHNwZWMgc3BlY2lmaWVzICdGdW5j
dGlvbk9ubHknIGZvciB0aGlzIG9iamVjdC4KKyAgICBpZiAoIXZhbHVlLT5Jc0Z1bmN0aW9uKCkp
IHsKKyAgICAgICAgc3VjY2VlZGVkID0gZmFsc2U7CisgICAgICAgIHRocm93VHlwZU1pc21hdGNo
RXhjZXB0aW9uKCk7CisgICAgICAgIHJldHVybiAwOworICAgIH0KKworICAgIHJldHVybiBWOE5h
dmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFja0N1c3RvbTo6Y3JlYXRlKHZhbHVlLCBnZXRT
Y3JpcHRFeGVjdXRpb25Db250ZXh0KCkpOworfQorCitzdGF0aWMgUGFzc1JlZlB0cjxOYXZpZ2F0
b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrPiBjcmVhdGVOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNh
bGxiYWNrKHY4OjpMb2NhbDx2ODo6VmFsdWU+IHZhbHVlLCBib29sJiBzdWNjZWVkZWQpCit7Cisg
ICAgc3VjY2VlZGVkID0gdHJ1ZTsKKworICAgIC8vIEFyZ3VtZW50IGlzIG9wdGlvbmFsIChoZW5j
ZSB1bmRlZmluZWQgaXMgYWxsb3dlZCksIGFuZCBudWxsIGlzIGFsbG93ZWQuCisgICAgaWYgKGlz
VW5kZWZpbmVkT3JOdWxsKHZhbHVlKSkKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICAvLyBUaGUg
c3BlYyBzcGVjaWZpZXMgJ0Z1bmN0aW9uT25seScgZm9yIHRoaXMgb2JqZWN0LgorICAgIGlmICgh
dmFsdWUtPklzRnVuY3Rpb24oKSkgeworICAgICAgICBzdWNjZWVkZWQgPSBmYWxzZTsKKyAgICAg
ICAgdGhyb3dUeXBlTWlzbWF0Y2hFeGNlcHRpb24oKTsKKyAgICAgICAgcmV0dXJuIDA7CisgICAg
fQorCisgICAgcmV0dXJuIFY4TmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFja0N1c3RvbTo6
Y3JlYXRlKHZhbHVlLCBnZXRTY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpOworfQorCit2ODo6SGFu
ZGxlPHY4OjpWYWx1ZT4gVjhOYXZpZ2F0b3I6OndlYmtpdEdldFVzZXJNZWRpYUNhbGxiYWNrKGNv
bnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCit7CisgICAgSU5DX1NUQVRTKCJET00uTmF2aWdhdG9y
LndlYmtpdEdldFVzZXJNZWRpYSgpIik7CisKKyAgICB2ODo6VHJ5Q2F0Y2ggZXhjZXB0aW9uQ2F0
Y2hlcjsKKyAgICBTdHJpbmcgb3B0aW9ucyA9IHRvV2ViQ29yZVN0cmluZyhhcmdzWzBdKTsKKyAg
ICBpZiAoZXhjZXB0aW9uQ2F0Y2hlci5IYXNDYXVnaHQoKSkKKyAgICAgICAgcmV0dXJuIHRocm93
RXJyb3IoZXhjZXB0aW9uQ2F0Y2hlci5FeGNlcHRpb24oKSk7CisKKyAgICBib29sIHN1Y2NlZWRl
ZCA9IGZhbHNlOworCisgICAgUmVmUHRyPE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFj
az4gc3VjY2Vzc0NhbGxiYWNrID0gY3JlYXRlTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxi
YWNrKGFyZ3NbMV0sIHN1Y2NlZWRlZCk7CisgICAgaWYgKCFzdWNjZWVkZWQgfHwgIXN1Y2Nlc3ND
YWxsYmFjaykKKyAgICAgICAgcmV0dXJuIHY4OjpVbmRlZmluZWQoKTsKKworICAgIFJlZlB0cjxO
YXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrPiBlcnJvckNhbGxiYWNrID0gY3JlYXRlTmF2
aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjayhhcmdzWzJdLCBzdWNjZWVkZWQpOworICAgIGlm
ICghc3VjY2VlZGVkKQorICAgICAgICByZXR1cm4gdjg6OlVuZGVmaW5lZCgpOworCisgICAgTmF2
aWdhdG9yKiBuYXZpZ2F0b3IgPSBWOE5hdmlnYXRvcjo6dG9OYXRpdmUoYXJncy5Ib2xkZXIoKSk7
CisgICAgbmF2aWdhdG9yLT53ZWJraXRHZXRVc2VyTWVkaWEob3B0aW9ucywgc3VjY2Vzc0NhbGxi
YWNrLnJlbGVhc2UoKSwgZXJyb3JDYWxsYmFjay5yZWxlYXNlKCkpOworICAgIHJldHVybiB2ODo6
VW5kZWZpbmVkKCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVO
QUJMRShNRURJQV9TVFJFQU0pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92
OC9jdXN0b20vVjhOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrQ3VzdG9tLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE5hdmlnYXRvclVzZXJNZWRpYUVycm9y
Q2FsbGJhY2tDdXN0b20uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE0YjBmMDcxZjg1ZjJiMTgyZGIxOGQ1NmZj
OGQ0ZGJjZjMxMjE2ZWEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy92OC9jdXN0b20vVjhOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrQ3VzdG9tLmNwcApA
QCAtMCwwICsxLDg3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisg
KiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5h
bWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBt
YXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisg
KiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xE
RVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
Q09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAor
ICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlY4TmF2aWdhdG9y
VXNlck1lZGlhRXJyb3JDYWxsYmFja0N1c3RvbS5oIgorCisjaWYgRU5BQkxFKE1FRElBX1NUUkVB
TSkKKworI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKKyNpbmNsdWRlICJWOEN1
c3RvbVZvaWRDYWxsYmFjay5oIiAvLyBGb3IgaW52b2tlQ2FsbGJhY2sKKyNpbmNsdWRlICJWOE5h
dmlnYXRvclVzZXJNZWRpYUVycm9yLmgiCisjaW5jbHVkZSAiVjhQcm94eS5oIgorCituYW1lc3Bh
Y2UgV2ViQ29yZSB7CisKK1Y4TmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFja0N1c3RvbTo6
VjhOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrQ3VzdG9tKHY4OjpMb2NhbDx2ODo6T2Jq
ZWN0PiBjYWxsYmFjaywgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCkKKyAgICA6IE5h
dmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2soY29udGV4dCkKKyAgICAsIG1fY2FsbGJhY2so
djg6OlBlcnNpc3RlbnQ8djg6Ok9iamVjdD46Ok5ldyhjYWxsYmFjaykpCit7Cit9CisKK1Y4TmF2
aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFja0N1c3RvbTo6flY4TmF2aWdhdG9yVXNlck1lZGlh
RXJyb3JDYWxsYmFja0N1c3RvbSgpCit7CisgICAgbV9jYWxsYmFjay5EaXNwb3NlKCk7Cit9CisK
K3ZvaWQgVjhOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrQ3VzdG9tOjpoYW5kbGVFdmVu
dChOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvciogZXJyb3IpCit7CisgICAgdjg6OkhhbmRsZVNjb3Bl
IGhhbmRsZVNjb3BlOworCisgICAgLy8gQWN0aXZlRE9NT2JqZWN0IHdpbGwgbnVsbCBvdXIgcG9p
bnRlciB0byB0aGUgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCB3aGVuIGl0IGdvZXMgYXdheS4KKyAg
ICBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRDb250ZXh0ID0gc2NyaXB0RXhlY3V0aW9u
Q29udGV4dCgpOworICAgIGlmICghc2NyaXB0Q29udGV4dCkKKyAgICAgICAgcmV0dXJuOworCisg
ICAgLy8gVGhlIGxvb2t1cCBvZiB0aGUgcHJveHkgd2lsbCBmYWlsIGlmIHRoZSBGcmFtZSBoYXMg
YmVlbiBkZXRhY2hlZC4KKyAgICBWOFByb3h5KiBwcm94eSA9IFY4UHJveHk6OnJldHJpZXZlKHNj
cmlwdENvbnRleHQpOworICAgIGlmICghcHJveHkpCisgICAgICAgIHJldHVybjsKKworICAgIHY4
OjpIYW5kbGU8djg6OkNvbnRleHQ+IGNvbnRleHQgPSBwcm94eS0+Y29udGV4dCgpOworICAgIGlm
IChjb250ZXh0LklzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgdjg6OkNvbnRleHQ6
OlNjb3BlIHNjb3BlKGNvbnRleHQpOworCisgICAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGFyZ3Zb
XSA9IHsKKyAgICAgICAgdG9WOChlcnJvcikKKyAgICB9OworCisgICAgLy8gUHJvdGVjdCB0aGUg
c2NyaXB0IGNvbnRleHQgdW50aWwgdGhlIGNhbGxiYWNrIHJldHVybnMuCisgICAgUmVmUHRyPFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQ+IHByb3RlY3RvcihzY3JpcHRDb250ZXh0KTsKKworICAgIGJv
b2wgY2FsbGJhY2tSZXR1cm5WYWx1ZSA9IGZhbHNlOworICAgIGludm9rZUNhbGxiYWNrKG1fY2Fs
bGJhY2ssIDEsIGFyZ3YsIGNhbGxiYWNrUmV0dXJuVmFsdWUsIHNjcmlwdENvbnRleHQpOworfQor
Cit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFN
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4TmF2aWdh
dG9yVXNlck1lZGlhRXJyb3JDYWxsYmFja0N1c3RvbS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4TmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFja0N1c3RvbS5oCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjA2N2IxYTViNjVhOGUxZWFjMTdiOTE5ZjNjNzI1M2QyNTIyYjNhYTQKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhOYXZpZ2F0
b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrQ3VzdG9tLmgKQEAgLTAsMCArMSw2NCBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0
cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0
aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisg
KiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1Ig
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYg
VjhOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrQ3VzdG9tX2gKKyNkZWZpbmUgVjhOYXZp
Z2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrQ3VzdG9tX2gKKworI2luY2x1ZGUgIk5hdmlnYXRv
clVzZXJNZWRpYUVycm9yQ2FsbGJhY2suaCIKKworI2luY2x1ZGUgPHY4Lmg+CisjaW5jbHVkZSA8
d3RmL1Bhc3NSZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CisKK25hbWVzcGFjZSBX
ZWJDb3JlIHsKKworY2xhc3MgTmF2aWdhdG9yVXNlck1lZGlhRXJyb3I7CitjbGFzcyBTY3JpcHRF
eGVjdXRpb25Db250ZXh0OworCitjbGFzcyBWOE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJh
Y2tDdXN0b20gOiBwdWJsaWMgTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjayB7CitwdWJs
aWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8VjhOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxi
YWNrQ3VzdG9tPiBjcmVhdGUodjg6OkxvY2FsPHY4OjpWYWx1ZT4gdmFsdWUsIFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQqIGNvbnRleHQpCisgICAgeworICAgICAgICBBU1NFUlQodmFsdWUtPklzT2Jq
ZWN0KCkpOworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFY4TmF2aWdhdG9yVXNlck1lZGlh
RXJyb3JDYWxsYmFja0N1c3RvbSh2YWx1ZS0+VG9PYmplY3QoKSwgY29udGV4dCkpOworICAgIH0K
KyAgICB2aXJ0dWFsIH5WOE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2tDdXN0b20oKTsK
KworICAgIHZpcnR1YWwgdm9pZCBoYW5kbGVFdmVudChOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvciop
OworCitwcml2YXRlOgorICAgIFY4TmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFja0N1c3Rv
bSh2ODo6TG9jYWw8djg6Ok9iamVjdD4sIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKTsKKworICAg
IHY4OjpQZXJzaXN0ZW50PHY4OjpPYmplY3Q+IG1fY2FsbGJhY2s7Cit9OworCit9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBWOE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJh
Y2tDdXN0b21faApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9t
L1Y4TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrQ3VzdG9tLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxs
YmFja0N1c3RvbS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDkxZjUyNjYzYmM2NTQ0MGI1YTQ0NDg0ZjNmMzBk
MWVhY2E5ZjM0MQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4
L2N1c3RvbS9WOE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFja0N1c3RvbS5jcHAKQEAg
LTAsMCArMSw1NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICog
bWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5
IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICog
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAq
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJWOE5hdmlnYXRvclVz
ZXJNZWRpYVN1Y2Nlc3NDYWxsYmFja0N1c3RvbS5oIgorCisjaWYgRU5BQkxFKE1FRElBX1NUUkVB
TSkKKworI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKKyNpbmNsdWRlICJWOEN1
c3RvbVZvaWRDYWxsYmFjay5oIiAvLyBGb3IgaW52b2tlQ2FsbGJhY2sKKyNpbmNsdWRlICJWOFBy
b3h5LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworVjhOYXZpZ2F0b3JVc2VyTWVkaWFTdWNj
ZXNzQ2FsbGJhY2tDdXN0b206OlY4TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrQ3Vz
dG9tKHY4OjpMb2NhbDx2ODo6T2JqZWN0PiBjYWxsYmFjaywgU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCogY29udGV4dCkKKyAgICA6IE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjayhjb250
ZXh0KQorICAgICwgbV9jYWxsYmFjayh2ODo6UGVyc2lzdGVudDx2ODo6T2JqZWN0Pjo6TmV3KGNh
bGxiYWNrKSkKK3sKK30KKworVjhOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2tDdXN0
b206On5WOE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFja0N1c3RvbSgpCit7CisgICAg
bV9jYWxsYmFjay5EaXNwb3NlKCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2Vu
ZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9jdXN0b20vVjhOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2tDdXN0
b20uaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE5hdmlnYXRvclVzZXJN
ZWRpYVN1Y2Nlc3NDYWxsYmFja0N1c3RvbS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjExYWJkNjU4YjFjZWM2NWNh
Y2UzNjNiNzczNmRhOTg4ZTEyMWYwZjEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy92OC9jdXN0b20vVjhOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2tD
dXN0b20uaApAQCAtMCwwICsxLDYxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2ds
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAq
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRo
ZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRy
aWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZl
ZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlS
SUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
KyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBWOE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nl
c3NDYWxsYmFja0N1c3RvbV9oCisjZGVmaW5lIFY4TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0Nh
bGxiYWNrQ3VzdG9tX2gKKworI2luY2x1ZGUgIk5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxs
YmFjay5oIgorCisjaW5jbHVkZSA8djguaD4KKyNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgor
I2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBT
Y3JpcHRFeGVjdXRpb25Db250ZXh0OworCitjbGFzcyBWOE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nl
c3NDYWxsYmFja0N1c3RvbSA6IHB1YmxpYyBOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJh
Y2sgeworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPFY4TmF2aWdhdG9yVXNlck1lZGlh
U3VjY2Vzc0NhbGxiYWNrQ3VzdG9tPiBjcmVhdGUodjg6OkxvY2FsPHY4OjpWYWx1ZT4gdmFsdWUs
IFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQpCisgICAgeworICAgICAgICBBU1NFUlQo
dmFsdWUtPklzT2JqZWN0KCkpOworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFY4TmF2aWdh
dG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrQ3VzdG9tKHZhbHVlLT5Ub09iamVjdCgpLCBjb250
ZXh0KSk7CisgICAgfQorICAgIHZpcnR1YWwgflY4TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0Nh
bGxiYWNrQ3VzdG9tKCk7CisKK3ByaXZhdGU6CisgICAgVjhOYXZpZ2F0b3JVc2VyTWVkaWFTdWNj
ZXNzQ2FsbGJhY2tDdXN0b20odjg6OkxvY2FsPHY4OjpPYmplY3Q+LCBTY3JpcHRFeGVjdXRpb25D
b250ZXh0Kik7CisKKyAgICB2ODo6UGVyc2lzdGVudDx2ODo6T2JqZWN0PiBtX2NhbGxiYWNrOwor
fTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gVjhOYXZpZ2F0b3JVc2Vy
TWVkaWFTdWNjZXNzQ2FsbGJhY2tDdXN0b21faApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9DYWxsYmFja1Rhc2suaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2FsbGJhY2tUYXNrLmgK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uOWVlM2ZmMmFlNjg4MDVjODA2ZmQxYmU4YmJiNjQzNjEzODE0NGQxNgotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2FsbGJhY2tUYXNrLmgKQEAgLTAs
MCArMSw4NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0
OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
CisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9m
IEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJl
IHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhp
cyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBB
TkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlS
SUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKworI2lmbmRlZiBDYWxsYmFja1Rhc2tfaAorI2RlZmluZSBDYWxsYmFja1Rhc2tf
aAorCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKworI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQuaCIKKyNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgorI2luY2x1ZGUgPHd0Zi9SZWZQ
dHIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCisvLyBBdXhpbGlhciB0ZW1wbGF0ZSB0byBz
Y2hlZHVsZSBjYWxscyB0byBjYWxsYmFja3MgdXNpbmcgdGhlaXIgb3duIHNjcmlwdCBleGVjdXRp
b24gY29udGV4dC4KKy8vIENhbGxiYWNrVHlwZSBpcyBhc3N1bWVkIHRvIGltcGxlbWVudCBTY2hl
ZHVsZXIgYW5kIHRvIGJlIGFuIEFjdGl2ZURPTU9iamVjdC4KK3RlbXBsYXRlIDx0eXBlbmFtZSBD
YWxsYmFja1R5cGUsIHR5cGVuYW1lIEFyZ3VtZW50VHlwZT4KK2NsYXNzIENhbGxiYWNrVGFzayA6
IHB1YmxpYyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpUYXNrIHsKK3B1YmxpYzoKKyAgICBzdGF0
aWMgUGFzc093blB0cjxDYWxsYmFja1Rhc2s+IGNyZWF0ZShDYWxsYmFja1R5cGUqIGNhbGxiYWNr
LCBBcmd1bWVudFR5cGUqIGRhdGEpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRQdHIobmV3
IENhbGxiYWNrVGFzayhjYWxsYmFjaywgZGF0YSkpOworICAgIH0KKworICAgIHZpcnR1YWwgdm9p
ZCBwZXJmb3JtVGFzayhTY3JpcHRFeGVjdXRpb25Db250ZXh0KikKKyAgICB7CisgICAgICAgIG1f
Y2FsbGJhY2stPmhhbmRsZUV2ZW50KG1fZGF0YS5nZXQoKSk7CisgICAgfQorCisgICAgY2xhc3Mg
U2NoZWR1bGVyIHsKKyAgICBwdWJsaWM6CisgICAgICAgIGJvb2wgc2NoZWR1bGVDYWxsYmFjayhB
cmd1bWVudFR5cGUqIGRhdGEpCisgICAgICAgIHsKKyAgICAgICAgICAgIGlmIChTY3JpcHRFeGVj
dXRpb25Db250ZXh0KiBjb250ZXh0ID0gc3RhdGljX2Nhc3Q8Q2FsbGJhY2tUeXBlKj4odGhpcykt
PnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSkgeworICAgICAgICAgICAgICAgIGNvbnRleHQtPnBv
c3RUYXNrKENhbGxiYWNrVGFzazxDYWxsYmFja1R5cGUsIEFyZ3VtZW50VHlwZT46OmNyZWF0ZShz
dGF0aWNfY2FzdDxDYWxsYmFja1R5cGUqPih0aGlzKSwgZGF0YSkpOworICAgICAgICAgICAgICAg
IHJldHVybiB0cnVlOworICAgICAgICAgICAgfQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwor
ICAgICAgICB9CisgICAgfTsKKworcHJpdmF0ZToKKyAgICBDYWxsYmFja1Rhc2soQ2FsbGJhY2tU
eXBlKiBjYWxsYmFjaywgQXJndW1lbnRUeXBlKiBkYXRhKQorICAgICAgICA6IG1fY2FsbGJhY2so
YWRvcHRSZWYoY2FsbGJhY2spKQorICAgICAgICAsIG1fZGF0YShhZG9wdFJlZihkYXRhKSkKKyAg
ICB7CisgICAgfQorCisgICAgUmVmUHRyPENhbGxiYWNrVHlwZT4gbV9jYWxsYmFjazsKKyAgICBS
ZWZQdHI8QXJndW1lbnRUeXBlPiBtX2RhdGE7Cit9OworCit9CisKKyNlbmRpZiAvLyBFTkFCTEUo
TUVESUFfU1RSRUFNKQorCisjZW5kaWYgLy8gQ2FsbGJhY2tUYXNrX2gKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2
aWdhdG9yLmNwcAppbmRleCA2YTI2N2FkNDE2MTk2OTkwM2M4MGNhNjM5NDQwYzM5MWFmNTMwN2Vk
Li5hODAyNzVlMTRiZjEwMzFjN2ZhODI1MTE5NjFjOTExMjYyZjIxNmU3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9OYXZpZ2F0b3IuY3BwCkBAIC00MSw2ICs0MSw3IEBACiAjaW5jbHVkZSAiU2NyaXB0Q29udHJv
bGxlci5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCiAjaW5jbHVkZSAiU3RvcmFnZU5hbWVzcGFj
ZS5oIgorI2luY2x1ZGUgIlN0cmVhbUNvbnRyb2xsZXIuaCIKICNpbmNsdWRlIDx3dGYvU3RkTGli
RXh0cmFzLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTI0Miw0ICsyNDMsMTcgQEAgdm9p
ZCBOYXZpZ2F0b3I6OnJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKGNvbnN0IFN0cmluZyYgc2NoZW1l
LCBjb25zdCBTdHJpbmcmIHVybCwKIH0KICNlbmRpZgogCisjaWYgRU5BQkxFKE1FRElBX1NUUkVB
TSkKK3ZvaWQgTmF2aWdhdG9yOjp3ZWJraXRHZXRVc2VyTWVkaWEoY29uc3QgU3RyaW5nJiBvcHRp
b25zLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQYXNzUmVmUHRyPE5hdmln
YXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjaz4gc3VjY2Vzc0NhbGxiYWNrLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBQYXNzUmVmUHRyPE5hdmlnYXRvclVzZXJNZWRpYUVy
cm9yQ2FsbGJhY2s+IGVycm9yQ2FsbGJhY2spCit7CisgICAgUGFnZSogcGFnZSA9IG1fZnJhbWUt
PnBhZ2UoKTsKKyAgICBpZiAoIXBhZ2UpCisgICAgICAgIHJldHVybjsKKworICAgIHBhZ2UtPnN0
cmVhbUNvbnRyb2xsZXIoKS0+Z2VuZXJhdGVTdHJlYW0ob3B0aW9ucywgc3VjY2Vzc0NhbGxiYWNr
LmdldCgpLCBlcnJvckNhbGxiYWNrLmdldCgpKTsKK30KKyNlbmRpZgorCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvci5oIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3IuaAppbmRleCA2OTNiZGUxM2Y5MDgyYzRhYzE3
N2ZmNTVlNjM0NDhiMTYzYTNmMTcyLi4yYTdkY2VhOTcwODY0Y2RjYjk5MDhlMmY4ZjE5ZjQ3ODVi
YjYxNTJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvci5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yLmgKQEAgLTIxLDYgKzIxLDggQEAKICNkZWZp
bmUgTmF2aWdhdG9yX2gKIAogI2luY2x1ZGUgIk5hdmlnYXRvckJhc2UuaCIKKyNpbmNsdWRlICJO
YXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmgiCisjaW5jbHVkZSAiTmF2aWdhdG9yVXNl
ck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNs
dWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CkBAIC02
Nyw2ICs2OSwxMSBAQCBwdWJsaWM6CiAgICAgdm9pZCByZWdpc3RlclByb3RvY29sSGFuZGxlcihj
b25zdCBTdHJpbmcmIHNjaGVtZSwgY29uc3QgU3RyaW5nJiB1cmwsIGNvbnN0IFN0cmluZyYgdGl0
bGUsIEV4Y2VwdGlvbkNvZGUmKTsKICNlbmRpZgogCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkK
KyAgICB2aXJ0dWFsIHZvaWQgd2Via2l0R2V0VXNlck1lZGlhKGNvbnN0IFN0cmluZyYgb3B0aW9u
cywgUGFzc1JlZlB0cjxOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2s+LAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUGFzc1JlZlB0cjxOYXZpZ2F0b3JVc2VyTWVk
aWFFcnJvckNhbGxiYWNrPiA9IDApOworI2VuZGlmCisKIHByaXZhdGU6CiAgICAgTmF2aWdhdG9y
KEZyYW1lKik7CiAgICAgRnJhbWUqIG1fZnJhbWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL05hdmlnYXRvci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvci5pZGwK
aW5kZXggYmYzZjEwOGVjOTAyNWMwMDg2YmYyODBmMzgxOTBjNGU5M2FlZDk3ZS4uNjY3ZjFkMDcx
YjNlNWNmNzk1YzI0MmVmMjE1NzMxMDJjNTU1NzFkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9OYXZpZ2F0b3IuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9y
LmlkbApAQCAtMzcsNyArMzcsNyBAQCBtb2R1bGUgd2luZG93IHsKICAgICAgICAgcmVhZG9ubHkg
YXR0cmlidXRlIERPTVN0cmluZyB2ZW5kb3JTdWI7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBib29sZWFuIGNvb2tpZUVuYWJsZWQ7CiAgICAgICAgIGJvb2xlYW4gamF2YUVuYWJsZWQoKTsK
LSAgICAgICAgCisKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gb25MaW5lOwog
CiAjaWYgZGVmaW5lZChFTkFCTEVfR0VPTE9DQVRJT04pICYmIEVOQUJMRV9HRU9MT0NBVElPTgpA
QCAtNTIsNiArNTIsMTIgQEAgbW9kdWxlIHdpbmRvdyB7CiAgICAgICAgIHZvaWQgcmVnaXN0ZXJQ
cm90b2NvbEhhbmRsZXIoaW4gRE9NU3RyaW5nIHNjaGVtZSwgaW4gRE9NU3RyaW5nIHVybCwgaW4g
RE9NU3RyaW5nIHRpdGxlKQogICAgICAgICAgICAgcmFpc2VzKERvbUV4Y2VwdGlvbik7CiAjZW5k
aWYKKworI2lmIGRlZmluZWQoRU5BQkxFX01FRElBX1NUUkVBTSkgJiYgRU5BQkxFX01FRElBX1NU
UkVBTQorICAgICAgICBbQ3VzdG9tLCBFbmFibGVkQXRSdW50aW1lXSB2b2lkIHdlYmtpdEdldFVz
ZXJNZWRpYShpbiBET01TdHJpbmcgb3B0aW9ucywKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gW0NhbGxiYWNrXSBOYXZpZ2F0b3JV
c2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBbQ2FsbGJhY2ss
IE9wdGlvbmFsXSBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2sp
OworI2VuZGlmCiAgICAgfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9O
YXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3JV
c2VyTWVkaWFFcnJvci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFmZjI2YmU5ZDRkYWFiMjQ2ZDhjZjBjYjUzNDVh
NWY4Nzg0MTA0NjgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmln
YXRvclVzZXJNZWRpYUVycm9yLmgKQEAgLTAsMCArMSw1OSBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisg
KiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2Yg
aXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHBy
b2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAor
ICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVD
SUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgTmF2aWdhdG9yVXNl
ck1lZGlhRXJyb3JfaAorI2RlZmluZSBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvcl9oCisKKyNpbmNs
dWRlIDx3dGYvUmVmQ291bnRlZC5oPgorCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKworbmFt
ZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvciA6IHB1Ymxp
YyBSZWZDb3VudGVkPE5hdmlnYXRvclVzZXJNZWRpYUVycm9yPiB7CitwdWJsaWM6CisgICAgTmF2
aWdhdG9yVXNlck1lZGlhRXJyb3IodW5zaWduZWQgc2hvcnQgY29kZSkgOiBtX2NvZGUoY29kZSkg
eyB9CisgICAgdmlydHVhbCB+TmF2aWdhdG9yVXNlck1lZGlhRXJyb3IoKSB7IH0KKworICAgIGVu
dW0geworICAgICAgICBQRVJNSVNTSU9OX0RFTklFRCA9IDEKKyAgICB9OworCisgICAgdW5zaWdu
ZWQgc2hvcnQgY29kZSgpIGNvbnN0IHsgcmV0dXJuIG1fY29kZTsgfQorCitwcml2YXRlOgorICAg
IHVuc2lnbmVkIHNob3J0IG1fY29kZTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKwor
I2VuZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0pCisKKyNlbmRpZiAvLyBOYXZpZ2F0b3JVc2Vy
TWVkaWFFcnJvcl9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvclVz
ZXJNZWRpYUVycm9yLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yVXNlck1lZGlh
RXJyb3IuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM3NTY2NDhhYjU5NWE0ODcwODYzNDllZTNhYmI2M2Q1ODky
MTBmN2QKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvclVz
ZXJNZWRpYUVycm9yLmlkbApAQCAtMCwwICsxLDQyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
ICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMK
KyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
dHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Ig
d3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QK
KyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworbW9kdWxlIHdpbmRvdyB7CisKKyAgICAv
LyBGSVhNRTogZGVsZXRlIHRoaXMgaW50ZXJmYWNlIGFuZCBpbXBsZW1lbnQgYSBjdXN0b20gYmlu
ZGluZyBzaW5jZSBzcGVjIGRlZmluZXMgaXQgYXMgYSBOb0ludGVyZmFjZU9iamVjdC4KKyAgICBp
bnRlcmZhY2UgWworICAgICAgICBDb25kaXRpb25hbD1NRURJQV9TVFJFQU0KKyAgICBdIE5hdmln
YXRvclVzZXJNZWRpYUVycm9yIHsKKyAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgUEVSTUlT
U0lPTl9ERU5JRUQgPSAxOworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgc2hv
cnQgY29kZTsKKyAgICB9OworCit9CisKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
TmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9O
YXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzU0ODNiODk2ZmQw
MmJiMWI3N2RlMGMyYzQwZjQ2ZjI5MzFkNzNhNwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5oCkBAIC0wLDAgKzEs
NTggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAq
CisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICog
aW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29n
bGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29m
dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP
TlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQK
KyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjaWZuZGVmIE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2tfaAorI2RlZmluZSBO
YXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrX2gKKworI2lmIEVOQUJMRShNRURJQV9TVFJF
QU0pCisKKyNpbmNsdWRlICJBY3RpdmVET01PYmplY3QuaCIKKyNpbmNsdWRlICJDYWxsYmFja1Rh
c2suaCIKKyNpbmNsdWRlICJOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5oIgorI2luY2x1ZGUgPHd0
Zi9SZWZDb3VudGVkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dDsKKworY2xhc3MgTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjayA6
IHB1YmxpYyBBY3RpdmVET01PYmplY3QsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgcHVibGljIFJlZkNvdW50ZWQ8TmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFj
az4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVibGljIENhbGxi
YWNrVGFzazxOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLCBOYXZpZ2F0b3JVc2VyTWVk
aWFFcnJvcj46OlNjaGVkdWxlciB7CitwdWJsaWM6CisgICAgTmF2aWdhdG9yVXNlck1lZGlhRXJy
b3JDYWxsYmFjayhTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0KSA6IEFjdGl2ZURPTU9i
amVjdChjb250ZXh0LCB0aGlzKSB7IH0KKyAgICB2aXJ0dWFsIH5OYXZpZ2F0b3JVc2VyTWVkaWFF
cnJvckNhbGxiYWNrKCkgeyB9CisgICAgdmlydHVhbCB2b2lkIGhhbmRsZUV2ZW50KE5hdmlnYXRv
clVzZXJNZWRpYUVycm9yKikgPSAwOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisj
ZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVBTSkKKworI2VuZGlmIC8vIE5hdmlnYXRvclVzZXJN
ZWRpYUVycm9yQ2FsbGJhY2tfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZp
Z2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2
aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWIwZmFmMmQzN2U0
NDQ1OTNkODBlMGE3MmVjZmY2OWZjMDJmYjczMAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmgKQEAgLTAsMCAr
MSw1NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0Ogor
ICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisg
KiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdv
b2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVz
ZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQg
Q09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdI
VAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpZm5kZWYgTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrX2gKKyNkZWZp
bmUgTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrX2gKKworI2lmIEVOQUJMRShNRURJ
QV9TVFJFQU0pCisKKyNpbmNsdWRlICJBY3RpdmVET01PYmplY3QuaCIKKyNpbmNsdWRlIDx3dGYv
UmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQ7CisKK2NsYXNzIE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjayA6
IHB1YmxpYyBBY3RpdmVET01PYmplY3QsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBwdWJsaWMgUmVmQ291bnRlZDxOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2Fs
bGJhY2s+IHsKK3B1YmxpYzoKKyAgICBOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2so
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCkgOiBBY3RpdmVET01PYmplY3QoY29udGV4
dCwgdGhpcykgeyB9CisgICAgdmlydHVhbCB+TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxi
YWNrKCkgeyB9CisgICAgLy8gRklYTUU6IGltcGxlbWVudCB3aGVuIHRoZSBHZW5lcmF0ZWRTdHJl
YW0gY2xhc3MgaXMgYXZhaWxhYmxlLgorICAgIC8vIHZpcnR1YWwgdm9pZCBoYW5kbGVFdmVudChH
ZW5lcmF0ZWRTdHJlYW0qKSA9IDA7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNl
bmRpZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFNKQorCisjZW5kaWYgLy8gTmF2aWdhdG9yVXNlck1l
ZGlhU3VjY2Vzc0NhbGxiYWNrX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFn
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCmluZGV4IGFmYWU5NmY3MTRjZTdk
MWY0NDg0YzMyMDk5MGM0NmZkYzk5MDE1YzcuLjZiZDA4ZDE3NmI1ZjQ0MDY5YWI4N2Q1MmMyMDUw
Mzc3NDIxYTg3NmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcApAQCAtNjcsNiArNjcsOCBAQAogI2luY2x1
ZGUgIlNoYXJlZEJ1ZmZlci5oIgogI2luY2x1ZGUgIlNwZWVjaElucHV0LmgiCiAjaW5jbHVkZSAi
U3BlZWNoSW5wdXRDbGllbnQuaCIKKyNpbmNsdWRlICJTdHJlYW1DbGllbnQuaCIKKyNpbmNsdWRl
ICJTdHJlYW1Db250cm9sbGVyLmgiCiAjaW5jbHVkZSAiVGV4dFJlc291cmNlRGVjb2Rlci5oIgog
I2luY2x1ZGUgIldpZGdldC5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CkBAIC0xMzYsNiAr
MTM4LDkgQEAgUGFnZTo6UGFnZShjb25zdCBQYWdlQ2xpZW50cyYgcGFnZUNsaWVudHMpCiAgICAg
LCBtX2RldmljZU1vdGlvbkNvbnRyb2xsZXIoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6ZGV2aWNl
TW90aW9uRW5hYmxlZCgpID8gbmV3IERldmljZU1vdGlvbkNvbnRyb2xsZXIocGFnZUNsaWVudHMu
ZGV2aWNlTW90aW9uQ2xpZW50KSA6IDApCiAgICAgLCBtX2RldmljZU9yaWVudGF0aW9uQ29udHJv
bGxlcihSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpkZXZpY2VPcmllbnRhdGlvbkVuYWJsZWQoKSA/
IG5ldyBEZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXIodGhpcywgcGFnZUNsaWVudHMuZGV2aWNl
T3JpZW50YXRpb25DbGllbnQpIDogMCkKICNlbmRpZgorI2lmIEVOQUJMRShNRURJQV9TVFJFQU0p
CisgICAgLCBtX3N0cmVhbUNvbnRyb2xsZXIoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6bWVkaWFT
dHJlYW1FbmFibGVkKCkgPyBuZXcgU3RyZWFtQ29udHJvbGxlcihwYWdlQ2xpZW50cy5zdHJlYW1D
bGllbnQpIDogMCkKKyNlbmRpZgogI2lmIEVOQUJMRShJTlBVVF9TUEVFQ0gpCiAgICAgLCBtX3Nw
ZWVjaElucHV0Q2xpZW50KHBhZ2VDbGllbnRzLnNwZWVjaElucHV0Q2xpZW50KQogI2VuZGlmCkBA
IC05NDQsNiArOTQ5LDcgQEAgUGFnZTo6UGFnZUNsaWVudHM6OlBhZ2VDbGllbnRzKCkKICAgICAs
IGRldmljZU1vdGlvbkNsaWVudCgwKQogICAgICwgZGV2aWNlT3JpZW50YXRpb25DbGllbnQoMCkK
ICAgICAsIHNwZWVjaElucHV0Q2xpZW50KDApCisgICAgLCBzdHJlYW1DbGllbnQoMCkKIHsKIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1BhZ2UuaAppbmRleCBkM2VkZDZmMTRjMDM4ZDllODRlMDk2YmUwYWM4YjU2NmEyMDVk
ODU4Li41MzIzNGMyNGJkYzBjNmQ3ODViZGI0OTYwZWZlMzhjMWFhOWQ2OGE1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bh
Z2UuaApAQCAtNzksNiArNzksOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAjaWYgRU5BQkxFKERP
TV9TVE9SQUdFKQogICAgIGNsYXNzIFN0b3JhZ2VOYW1lc3BhY2U7CiAjZW5kaWYKKyAgICBjbGFz
cyBTdHJlYW1DbGllbnQ7CisgICAgY2xhc3MgU3RyZWFtQ29udHJvbGxlcjsKICNpZiBFTkFCTEUo
Tk9USUZJQ0FUSU9OUykKICAgICBjbGFzcyBOb3RpZmljYXRpb25QcmVzZW50ZXI7CiAjZW5kaWYK
QEAgLTExNCw2ICsxMTYsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgICAgICBEZXZp
Y2VPcmllbnRhdGlvbkNsaWVudCogZGV2aWNlT3JpZW50YXRpb25DbGllbnQ7CiAgICAgICAgICAg
ICBSZWZQdHI8QmFja0ZvcndhcmRMaXN0PiBiYWNrRm9yd2FyZENsaWVudDsKICAgICAgICAgICAg
IFNwZWVjaElucHV0Q2xpZW50KiBzcGVlY2hJbnB1dENsaWVudDsKKyAgICAgICAgICAgIFN0cmVh
bUNsaWVudCogc3RyZWFtQ2xpZW50OwogICAgICAgICB9OwogCiAgICAgICAgIFBhZ2UoY29uc3Qg
UGFnZUNsaWVudHMmKTsKQEAgLTE3Nyw2ICsxODAsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAg
ICAgICAgIERldmljZU1vdGlvbkNvbnRyb2xsZXIqIGRldmljZU1vdGlvbkNvbnRyb2xsZXIoKSBj
b25zdCB7IHJldHVybiBtX2RldmljZU1vdGlvbkNvbnRyb2xsZXIuZ2V0KCk7IH0KICAgICAgICAg
RGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyKiBkZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXIo
KSBjb25zdCB7IHJldHVybiBtX2RldmljZU9yaWVudGF0aW9uQ29udHJvbGxlci5nZXQoKTsgfQog
I2VuZGlmCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKyAgICAgICAgU3RyZWFtQ29udHJvbGxl
ciogc3RyZWFtQ29udHJvbGxlcigpIGNvbnN0IHsgcmV0dXJuIG1fc3RyZWFtQ29udHJvbGxlci5n
ZXQoKTsgfQorI2VuZGlmCiAjaWYgRU5BQkxFKElOUFVUX1NQRUVDSCkKICAgICAgICAgU3BlZWNo
SW5wdXQqIHNwZWVjaElucHV0KCk7CiAjZW5kaWYKQEAgLTMzMywxMyArMzM5LDE2IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICAgICAgT3duUHRyPERldmljZU1vdGlvbkNvbnRyb2xsZXI+IG1f
ZGV2aWNlTW90aW9uQ29udHJvbGxlcjsKICAgICAgICAgT3duUHRyPERldmljZU9yaWVudGF0aW9u
Q29udHJvbGxlcj4gbV9kZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXI7CiAjZW5kaWYKKyNpZiBF
TkFCTEUoTUVESUFfU1RSRUFNKQorICAgICAgICBPd25QdHI8U3RyZWFtQ29udHJvbGxlcj4gbV9z
dHJlYW1Db250cm9sbGVyOworI2VuZGlmCiAjaWYgRU5BQkxFKElOUFVUX1NQRUVDSCkKICAgICAg
ICAgU3BlZWNoSW5wdXRDbGllbnQqIG1fc3BlZWNoSW5wdXRDbGllbnQ7CiAgICAgICAgIE93blB0
cjxTcGVlY2hJbnB1dD4gbV9zcGVlY2hJbnB1dDsKICNlbmRpZgogICAgICAgICBPd25QdHI8U2V0
dGluZ3M+IG1fc2V0dGluZ3M7CiAgICAgICAgIE93blB0cjxQcm9ncmVzc1RyYWNrZXI+IG1fcHJv
Z3Jlc3M7Ci0gICAgICAgIAorCiAgICAgICAgIE93blB0cjxCYWNrRm9yd2FyZENvbnRyb2xsZXI+
IG1fYmFja0ZvcndhcmRDb250cm9sbGVyOwogICAgICAgICBSZWZQdHI8RnJhbWU+IG1fbWFpbkZy
YW1lOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1N0cmVhbUNsaWVudC5oIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9TdHJlYW1DbGllbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yYzYwMTAwNzA3
MThhMTRlMDliOWU5ZTM0M2UzZDEyN2MxOGQ4ZTk2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9TdHJlYW1DbGllbnQuaApAQCAtMCwwICsxLDU4IEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4K
KyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBv
ZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMg
cHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
CisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisg
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBTdHJlYW1DbGll
bnRfaAorI2RlZmluZSBTdHJlYW1DbGllbnRfaAorCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkK
KworI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCisjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4K
KyNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2Ns
YXNzIFN0cmVhbUNsaWVudCB7CitwdWJsaWM6CisgICAgLy8gUmVnaXN0ZXIgdGhlIGxpc3RlbmVy
IGZvciByZWNlaXZpbmcgY2FsbGJhY2tzLiBTaG91bGQgc2V0IHRvIG51bGwgd2hlbiBub3QgcmVx
dWlyZWQgYW55bW9yZS4gTm8gb3duZXJzaGlwIGlzIHRha2VuLgorICAgIHZpcnR1YWwgdm9pZCBz
ZXRMaXN0ZW5lcihTdHJlYW1Db250cm9sbGVyKikgPSAwOworCisgICAgLy8gR2VuZXJhdGUgYSBu
ZXcgbG9jYWwgc3RyZWFtLgorICAgIHZpcnR1YWwgdm9pZCBnZW5lcmF0ZVN0cmVhbShpbnQgcmVx
dWVzdElkLCBib29sIHZpZGVvLCBib29sIGF1ZGlvLCBQYXNzUmVmUHRyPFNlY3VyaXR5T3JpZ2lu
PikgPSAwOworCitwcm90ZWN0ZWQ6CisgICAgdmlydHVhbCB+U3RyZWFtQ2xpZW50KCkgeyB9Cit9
OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU1RS
RUFNKQorCisjZW5kaWYgLy8gU3RyZWFtQ2xpZW50X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvU3RyZWFtQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1N0cmVh
bUNvbnRyb2xsZXIuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjlmZTZiYTNmMDIyMTJmNzNiOTdlMzlkNDUxYTI0
ZjhlOWMwYjNhNjgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1N0cmVh
bUNvbnRyb2xsZXIuY3BwCkBAIC0wLDAgKzEsMTMwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
ICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMK
KyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
dHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Ig
d3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QK
KyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2lu
Y2x1ZGUgIlN0cmVhbUNvbnRyb2xsZXIuaCIKKworI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCisK
KyNpbmNsdWRlICJEb2N1bWVudC5oIgorI2luY2x1ZGUgIk5hdmlnYXRvclVzZXJNZWRpYUVycm9y
LmgiCisjaW5jbHVkZSAiTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5oIgorI2luY2x1
ZGUgIk5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5oIgorI2luY2x1ZGUgIlNlY3Vy
aXR5T3JpZ2luLmgiCisjaW5jbHVkZSAiU3RyZWFtQ2xpZW50LmgiCisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKworU3RyZWFtQ29udHJvbGxlcjo6U3RyZWFtQ29udHJvbGxlcihTdHJlYW1DbGllbnQq
IGNsaWVudCkKKyAgICA6IG1fY2xpZW50KGNsaWVudCkKKyAgICAsIG1fbmV4dFN0cmVhbVJlcXVl
c3RJZCgxKQoreworICAgIG1fY2xpZW50LT5zZXRMaXN0ZW5lcih0aGlzKTsKK30KKworU3RyZWFt
Q29udHJvbGxlcjo6flN0cmVhbUNvbnRyb2xsZXIoKQoreworICAgIG1fY2xpZW50LT5zZXRMaXN0
ZW5lcigwKTsKK30KKworYm9vbCBTdHJlYW1Db250cm9sbGVyOjpnZW5lcmF0ZVN0cmVhbShjb25z
dCBTdHJpbmcmIG9wdGlvbnMsIE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjayogc3Vj
Y2Vzc0NhbGxiYWNrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOYXZp
Z2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrKiBlcnJvckNhbGxiYWNrKQoreworICAgIGlmICgh
c3VjY2Vzc0NhbGxiYWNrKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBib29sIHZpZGVv
ID0gZmFsc2U7CisgICAgYm9vbCBhdWRpbyA9IGZhbHNlOworICAgIFZlY3RvcjxTdHJpbmc+IHNw
bGl0T3B0aW9uczsKKyAgICBvcHRpb25zLnNwbGl0KCIsIiwgc3BsaXRPcHRpb25zKTsKKyAgICBm
b3IgKFZlY3RvcjxTdHJpbmc+Ojpjb25zdF9pdGVyYXRvciBpdCA9IHNwbGl0T3B0aW9ucy5iZWdp
bigpOyBpdCAhPSBzcGxpdE9wdGlvbnMuZW5kKCkgJiYgKCF2aWRlbyB8fCAhYXVkaW8pOyArK2l0
KQorICAgICAgICBpZiAoKml0ID09ICJ2aWRlbyIpCisgICAgICAgICAgICB2aWRlbyA9IHRydWU7
CisgICAgICAgIGVsc2UgaWYgKCppdCA9PSAiYXVkaW8iKQorICAgICAgICAgICAgYXVkaW8gPSB0
cnVlOworCisgICAgaWYgKCFhdWRpbyAmJiAhdmlkZW8pCisgICAgICAgIHJldHVybiBmYWxzZTsK
KworICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQgPSBzdWNjZXNzQ2FsbGJhY2st
PnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsKKyAgICBBU1NFUlQoY29udGV4dCk7CisKKyAgICBt
X3N0cmVhbVJlcXVlc3RzLnNldChtX25leHRTdHJlYW1SZXF1ZXN0SWQsIGFkb3B0UmVmKG5ldyBT
dHJlYW1SZXF1ZXN0KHN1Y2Nlc3NDYWxsYmFjaywgZXJyb3JDYWxsYmFjaykpKTsKKyAgICBtX2Ns
aWVudC0+Z2VuZXJhdGVTdHJlYW0obV9uZXh0U3RyZWFtUmVxdWVzdElkLCB2aWRlbywgYXVkaW8s
IGNvbnRleHQtPnNlY3VyaXR5T3JpZ2luKCkpOworICAgICsrbV9uZXh0U3RyZWFtUmVxdWVzdElk
OworICAgIHJldHVybiB0cnVlOworfQorCit2b2lkIFN0cmVhbUNvbnRyb2xsZXI6OnN0cmVhbUdl
bmVyYXRlZChpbnQgcmVxdWVzdElkLCBpbnQgc3RyZWFtSWQsIGNvbnN0IFN0cmluZyYgbGFiZWwp
Cit7CisgICAgQVNTRVJUKG1fc3RyZWFtUmVxdWVzdHMuY29udGFpbnMocmVxdWVzdElkKSk7CisK
KyAgICBSZWZQdHI8U3RyZWFtUmVxdWVzdD4gc3RyZWFtUmVxdWVzdCA9IG1fc3RyZWFtUmVxdWVz
dHMuZ2V0KHJlcXVlc3RJZCk7CisgICAgQVNTRVJUKHN0cmVhbVJlcXVlc3QuZ2V0KCkpOworCisg
ICAgLy8gRklYTUU6IGNyZWF0ZSB0aGUgR2VuZXJhdGVkU3RyZWFtIG9iamVjdCB3aGVuIHRoZSBj
bGFzcyBpcyBhdmFpbGFibGUuCisKKyAgICBtX3N0cmVhbVJlcXVlc3RzLnJlbW92ZShyZXF1ZXN0
SWQpOworfQorCit2b2lkIFN0cmVhbUNvbnRyb2xsZXI6OnN0cmVhbUdlbmVyYXRpb25GYWlsZWQo
aW50IHJlcXVlc3RJZCwgdW5zaWduZWQgc2hvcnQgY29kZSkKK3sKKyAgICBBU1NFUlQobV9zdHJl
YW1SZXF1ZXN0cy5jb250YWlucyhyZXF1ZXN0SWQpKTsKKyAgICBSZWZQdHI8U3RyZWFtUmVxdWVz
dD4gc3RyZWFtUmVxdWVzdCA9IG1fc3RyZWFtUmVxdWVzdHMuZ2V0KHJlcXVlc3RJZCk7CisgICAg
QVNTRVJUKHN0cmVhbVJlcXVlc3QuZ2V0KCkpOworCisgICAgaWYgKFJlZlB0cjxOYXZpZ2F0b3JV
c2VyTWVkaWFFcnJvckNhbGxiYWNrPiBlcnJvckNhbGxiYWNrID0gc3RyZWFtUmVxdWVzdC0+bV9l
cnJvckNhbGxiYWNrKSB7CisgICAgICAgIFJlZlB0cjxOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvcj4g
ZXJyb3IgPSBhZG9wdFJlZihuZXcgTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IoY29kZSkpOworICAg
ICAgICBlcnJvckNhbGxiYWNrLT5zY2hlZHVsZUNhbGxiYWNrKGVycm9yLmdldCgpKTsKKyAgICB9
CisKKyAgICBtX3N0cmVhbVJlcXVlc3RzLnJlbW92ZShyZXF1ZXN0SWQpOworfQorCitTdHJlYW1D
b250cm9sbGVyOjpTdHJlYW1SZXF1ZXN0OjpTdHJlYW1SZXF1ZXN0KE5hdmlnYXRvclVzZXJNZWRp
YVN1Y2Nlc3NDYWxsYmFjayogc3VjY2Vzc0NhbGxiYWNrLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNr
KiBlcnJvckNhbGxiYWNrKQorICAgIDogbV9zdWNjZXNzQ2FsbGJhY2soc3VjY2Vzc0NhbGxiYWNr
KQorICAgICwgbV9lcnJvckNhbGxiYWNrKGVycm9yQ2FsbGJhY2spCit7CisgICAgbV9zdWNjZXNz
Q2FsbGJhY2stPnNldFBlbmRpbmdBY3Rpdml0eShtX3N1Y2Nlc3NDYWxsYmFjayk7CisgICAgaWYg
KG1fZXJyb3JDYWxsYmFjaykKKyAgICAgICAgbV9lcnJvckNhbGxiYWNrLT5zZXRQZW5kaW5nQWN0
aXZpdHkobV9lcnJvckNhbGxiYWNrKTsKK30KKworU3RyZWFtQ29udHJvbGxlcjo6U3RyZWFtUmVx
dWVzdDo6flN0cmVhbVJlcXVlc3QoKQoreworICAgIG1fc3VjY2Vzc0NhbGxiYWNrLT51bnNldFBl
bmRpbmdBY3Rpdml0eShtX3N1Y2Nlc3NDYWxsYmFjayk7CisgICAgaWYgKG1fZXJyb3JDYWxsYmFj
aykKKyAgICAgICAgbV9lcnJvckNhbGxiYWNrLT51bnNldFBlbmRpbmdBY3Rpdml0eShtX2Vycm9y
Q2FsbGJhY2spOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFC
TEUoTUVESUFfU1RSRUFNKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TdHJlYW1D
b250cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1N0cmVhbUNvbnRyb2xsZXIuaApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4zNzFmYjdhY2QwNzVhOWE5OGY4NDUwZGJiYWRkNzVlMjQwZDk4NTI5Ci0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TdHJlYW1Db250cm9sbGVyLmgKQEAgLTAs
MCArMSw5MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0
OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
CisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9m
IEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJl
IHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhp
cyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBB
TkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlS
SUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNpZm5kZWYgU3RyZWFtQ29udHJvbGxlcl9oCisjZGVmaW5lIFN0cmVhbUNvbnRy
b2xsZXJfaAorCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKworI2luY2x1ZGUgIktVUkwuaCIK
KyNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgorI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CisjaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKwor
bmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBEb2N1bWVudDsKK2NsYXNzIE5hdmlnYXRvclVz
ZXJNZWRpYUVycm9yQ2FsbGJhY2s7CitjbGFzcyBOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2Fs
bGJhY2s7CitjbGFzcyBTdHJlYW1DbGllbnQ7CisKKy8vIFRoaXMgY2xhc3MgbWFuYWdlcyB0aGUg
TWVkaWEgU3RyZWFtIEFQSSBtZXNzYWdlcyBhbmQgb2JqZWN0cy4KKworY2xhc3MgU3RyZWFtQ29u
dHJvbGxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU3RyZWFtQ29udHJvbGxlcik7Citw
dWJsaWM6CisgICAgU3RyZWFtQ29udHJvbGxlcihTdHJlYW1DbGllbnQqKTsKKyAgICB2aXJ0dWFs
IH5TdHJlYW1Db250cm9sbGVyKCk7CisKKyAgICAvLyBDcmVhdGUgYSBuZXcgZ2VuZXJhdGVkIHN0
cmVhbSBhc3luY2hyb25vdXNseSB3aXRoIHRoZSBwcm92aWRlZCBvcHRpb25zLgorICAgIGJvb2wg
Z2VuZXJhdGVTdHJlYW0oY29uc3QgU3RyaW5nJiBvcHRpb25zLAorICAgICAgICAgICAgICAgICAg
ICAgICAgTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrKiwKKyAgICAgICAgICAgICAg
ICAgICAgICAgIE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2sqKTsKKworICAgIC8vIC0t
LSBDYWxscyBjb21taW5nIGJhY2sgZnJvbSB0aGUgY2xpZW50LiAtLS0KKworICAgIC8vIFJlcG9y
dCB0aGUgZ2VuZXJhdGlvbiBvZiBhIG5ldyBsb2NhbCBzdHJlYW0uCisgICAgLy8gVGhlIHN0cmVh
bSBpZCBzaG91bGQgYmUgYSB1bmlxdWUgaW50ZWdlciByZXByZXNlbnRpbmcgdGhlIHN0cmVhbSBv
YmplY3QgaW4gYSAxOjEgcmVsYXRpb24gd2l0aCB0aGUgbGFiZWwuCisgICAgLy8gVGhlIGlkIHNo
b3VsZCBiZSBwcm92aWRlZCBieSB0aGUgVUEgYW5kIHdpbGwgYmUgdXNlZCBpbnRlcm5hbGx5IGlu
c3RlYWQgb2YgdGhlIGxhYmVsIHRvIHNpbXBsaWZ5IG9wZXJhdGlvbnMuCisgICAgdm9pZCBzdHJl
YW1HZW5lcmF0ZWQoaW50IHJlcXVlc3RJZCwgaW50IHN0cmVhbUlkLCBjb25zdCBTdHJpbmcmIGxh
YmVsKTsKKworICAgIC8vIFJlcG9ydCBhIGZhaWx1cmUgaW4gdGhlIGdlbmVyYXRpb24gb2YgYSBu
ZXcgc3RyZWFtLgorICAgIHZvaWQgc3RyZWFtR2VuZXJhdGlvbkZhaWxlZChpbnQgcmVxdWVzdElk
LCB1bnNpZ25lZCBzaG9ydCBjb2RlKTsKKworcHJpdmF0ZToKKyAgICBzdHJ1Y3QgU3RyZWFtUmVx
dWVzdCA6IHB1YmxpYyBSZWZDb3VudGVkPFN0cmVhbVJlcXVlc3Q+IHsKKyAgICAgICAgU3RyZWFt
UmVxdWVzdChOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2sqLAorICAgICAgICAgICAg
ICAgICAgICAgIE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2sqKTsKKyAgICAgICAgflN0
cmVhbVJlcXVlc3QoKTsKKworICAgICAgICBOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJh
Y2sqIG1fc3VjY2Vzc0NhbGxiYWNrOworICAgICAgICBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNh
bGxiYWNrKiBtX2Vycm9yQ2FsbGJhY2s7CisgICAgfTsKKworICAgIHR5cGVkZWYgSGFzaE1hcDxp
bnQsIFJlZlB0cjxTdHJlYW1SZXF1ZXN0PiA+IFN0cmVhbVJlcXVlc3RNYXA7CisKKyAgICBTdHJl
YW1DbGllbnQqIG1fY2xpZW50OworICAgIFN0cmVhbVJlcXVlc3RNYXAgbV9zdHJlYW1SZXF1ZXN0
czsKKyAgICBpbnQgbV9uZXh0U3RyZWFtUmVxdWVzdElkOworfTsKKworfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVBTSkKKworI2VuZGlmIC8vIFN0
cmVhbUNvbnRyb2xsZXJfaAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>86614</attachid>
            <date>2011-03-23 07:24:32 -0700</date>
            <delta_ts>2011-03-23 07:32:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-56586-20110323142430.patch</filename>
            <type>text/plain</type>
            <size>75986</size>
            <attacher name="Leandro Graciá Gil">leandrogracia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQKaW5kZXggNWRmYWE0YzRmNzYyYjZkYWQ5MjFjYWRmNmFlZWEzZjhi
M2ViNzU1OS4uYjliYjAwM2FhY2MzMzlkMzcyMzc2ZTZiMzA5ZjQ0ZGMyMzA5OGIxZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUv
Q01ha2VMaXN0cy50eHQKQEAgLTE5MzcsNiArMTkzNywxOCBAQCBJRiAoRU5BQkxFX1BST0dSRVNT
X1RBRykKICAgICApCiBFTkRJRiAoKQogCitJRiAoRU5BQkxFX01FRElBX1NUUkVBTSkKKyAgICBM
SVNUKEFQUEVORCBXZWJDb3JlX1NPVVJDRVMKKyAgICAgICAgYmluZGluZ3MvanMvSlNOYXZpZ2F0
b3JDdXN0b20uY3BwCisgICAgICAgIGJpbmRpbmdzL2pzL0pTTmF2aWdhdG9yVXNlck1lZGlhRXJy
b3JDYWxsYmFja0N1c3RvbS5jcHAKKyAgICAgICAgYmluZGluZ3MvanMvSlNOYXZpZ2F0b3JVc2Vy
TWVkaWFTdWNjZXNzQ2FsbGJhY2tDdXN0b20uY3BwCisgICAgKQorCisgICAgTElTVChBUFBFTkQg
V2ViQ29yZV9JRExfRklMRVMKKyAgICAgICAgcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5p
ZGwKKyAgICApCitFTkRJRiAoKQorCiAKIAogIyBNb2R1bGVzIHRoYXQgdGhlIGJpbmRpbmdzIGdl
bmVyYXRvciBzY3JpcHRzIG1heSB1c2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBjMmZjNzliZjA1Y2I0MDQzMzE0
MGFmNzU3MzI2ZTgxYmJhYjVhNzJiLi5mZGZhZWEzY2Y5MmM5OGE4YzNlOTEyMzZlZGUzNTRjN2E0
ZmNmY2Y0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0yLDYgKzIsNzkgQEAKIAogICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KIAorICAgICAgICBNZWRpYSBTdHJlYW0gQVBJOiBhZGQgdGhlIGdl
dFVzZXJNZWRpYSBtZXRob2QgYW5kIHRoZSBKYXZhc2NyaXB0IGJpbmRpbmdzLgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTY1ODYKKworICAgICAgICBB
ZGQgdGhlIGdldFVzZXJNZWRpYSBtZXRob2QgdG8gdGhlIG5hdmlnYXRvciBhbG9uZyBpdHMgZXJy
b3IgYW5kIGNhbGxiYWNrIEpTIHR5cGVzLgorICAgICAgICBDdXJyZW50IHNwZWNpZmljYXRpb246
IGh0dHA6Ly93d3cud2hhdHdnLm9yZy9zcGVjcy93ZWItYXBwcy9jdXJyZW50LXdvcmsvbXVsdGlw
YWdlL2RuZC5odG1sI3ZpZGVvLWNvbmZlcmVuY2luZy1hbmQtcGVlci10by1wZWVyLWNvbW11bmlj
YXRpb24KKworICAgICAgICBUZXN0cyBmb3IgdGhlIE1lZGlhIFN0cmVhbSBBUEkgd2lsbCBiZSBw
cm92aWRlZCBieSB0aGUgYnVnIDU2NTg3LgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6Cisg
ICAgICAgICogQ29kZUdlbmVyYXRvcnMucHJpOgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLmNw
cDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIEdOVW1ha2VmaWxl
LmFtOgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnBybzoKKyAg
ICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAgKiBXZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogYmluZGluZ3MvanMvSlNCaW5k
aW5nc0FsbEluT25lLmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU05hdmlnYXRvckN1c3Rv
bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjcmVhdGVOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNz
Q2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6Y3JlYXRlTmF2aWdhdG9yVXNlck1lZGlhRXJy
b3JDYWxsYmFjayk6CisgICAgICAgIChXZWJDb3JlOjpKU05hdmlnYXRvcjo6d2Via2l0R2V0VXNl
ck1lZGlhKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU05hdmlnYXRvclVzZXJNZWRpYUVycm9y
Q2FsbGJhY2tDdXN0b20uY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkpTTmF2aWdhdG9y
VXNlck1lZGlhRXJyb3JDYWxsYmFjazo6SlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNr
KToKKyAgICAgICAgKFdlYkNvcmU6OkpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjazo6
aGFuZGxlRXZlbnQpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTTmF2aWdhdG9yVXNlck1lZGlh
RXJyb3JDYWxsYmFja0N1c3RvbS5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkpTTmF2aWdh
dG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjazo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkpT
TmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjazo6fkpTTmF2aWdhdG9yVXNlck1lZGlhRXJy
b3JDYWxsYmFjayk6CisgICAgICAgICogYmluZGluZ3MvanMvSlNOYXZpZ2F0b3JVc2VyTWVkaWFT
dWNjZXNzQ2FsbGJhY2tDdXN0b20uY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkpTTmF2
aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrOjpKU05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nl
c3NDYWxsYmFjayk6CisgICAgICAgICogYmluZGluZ3MvanMvSlNOYXZpZ2F0b3JVc2VyTWVkaWFT
dWNjZXNzQ2FsbGJhY2tDdXN0b20uaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpKU05hdmln
YXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjazo6Y3JlYXRlKToKKyAgICAgICAgKiBiaW5kaW5n
cy92OC9jdXN0b20vVjhOYXZpZ2F0b3JDdXN0b20uY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNv
cmU6OnRocm93VHlwZU1pc21hdGNoRXhjZXB0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0
ZU5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjayk6CisgICAgICAgIChXZWJDb3JlOjpj
cmVhdGVOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrKToKKyAgICAgICAgKFdlYkNvcmU6
OlY4TmF2aWdhdG9yOjp3ZWJraXRHZXRVc2VyTWVkaWFDYWxsYmFjayk6CisgICAgICAgICogYmlu
ZGluZ3MvdjgvY3VzdG9tL1Y4TmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFja0N1c3RvbS5j
cHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6VjhOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNh
bGxiYWNrQ3VzdG9tOjpWOE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2tDdXN0b20pOgor
ICAgICAgICAoV2ViQ29yZTo6VjhOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrQ3VzdG9t
Ojp+VjhOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrQ3VzdG9tKToKKyAgICAgICAgKFdl
YkNvcmU6OlY4TmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFja0N1c3RvbTo6aGFuZGxlRXZl
bnQpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOE5hdmlnYXRvclVzZXJNZWRpYUVy
cm9yQ2FsbGJhY2tDdXN0b20uaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpWOE5hdmlnYXRv
clVzZXJNZWRpYUVycm9yQ2FsbGJhY2tDdXN0b206OmNyZWF0ZSk6CisgICAgICAgICogYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrQ3VzdG9tLmNw
cDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpWOE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3ND
YWxsYmFja0N1c3RvbTo6VjhOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2tDdXN0b20p
OgorICAgICAgICAoV2ViQ29yZTo6VjhOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2tD
dXN0b206On5WOE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFja0N1c3RvbSk6CisgICAg
ICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxi
YWNrQ3VzdG9tLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6VjhOYXZpZ2F0b3JVc2VyTWVk
aWFTdWNjZXNzQ2FsbGJhY2tDdXN0b206OmNyZWF0ZSk6CisgICAgICAgICogcGFnZS9DYWxsYmFj
a1Rhc2suaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpDYWxsYmFja1Rhc2s6OmNyZWF0ZSk6
CisgICAgICAgIChXZWJDb3JlOjpDYWxsYmFja1Rhc2s6OnBlcmZvcm1UYXNrKToKKyAgICAgICAg
KFdlYkNvcmU6OkNhbGxiYWNrVGFzazo6U2NoZWR1bGVyOjpzY2hlZHVsZUNhbGxiYWNrKToKKyAg
ICAgICAgKFdlYkNvcmU6OkNhbGxiYWNrVGFzazo6Q2FsbGJhY2tUYXNrKToKKyAgICAgICAgKiBw
YWdlL05hdmlnYXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0b3I6OndlYmtpdEdl
dFVzZXJNZWRpYSk6CisgICAgICAgICogcGFnZS9OYXZpZ2F0b3IuaDoKKyAgICAgICAgKiBwYWdl
L05hdmlnYXRvci5pZGw6CisgICAgICAgICogcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5o
OiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRvclVzZXJNZWRpYUVycm9yOjpOYXZp
Z2F0b3JVc2VyTWVkaWFFcnJvcik6CisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0b3JVc2VyTWVk
aWFFcnJvcjo6fk5hdmlnYXRvclVzZXJNZWRpYUVycm9yKToKKyAgICAgICAgKFdlYkNvcmU6Ok5h
dmlnYXRvclVzZXJNZWRpYUVycm9yOjpjb2RlKToKKyAgICAgICAgKiBwYWdlL05hdmlnYXRvclVz
ZXJNZWRpYUVycm9yLmlkbDogQWRkZWQuCisgICAgICAgICogcGFnZS9OYXZpZ2F0b3JVc2VyTWVk
aWFFcnJvckNhbGxiYWNrLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdG9yVXNl
ck1lZGlhRXJyb3JDYWxsYmFjazo6TmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjayk6Cisg
ICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrOjp+TmF2aWdh
dG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjayk6CisgICAgICAgICogcGFnZS9OYXZpZ2F0b3JVc2Vy
TWVkaWFTdWNjZXNzQ2FsbGJhY2suaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0
b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2s6Ok5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxs
YmFjayk6CisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJh
Y2s6On5OYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2spOgorCisyMDExLTAzLTIzICBM
ZWFuZHJvIEdyYWNpYSBHaWwgIDxsZWFuZHJvZ3JhY2lhQGNocm9taXVtLm9yZz4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwogICAgICAgICBNZWRpYSBTdHJlYW0gQVBJ
OiBhZGQgYSBmbGFnIHRvIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMuCiAgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NjkyMQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Db2RlR2VuZXJhdG9ycy5wcmkgYi9Tb3VyY2UvV2ViQ29yZS9Db2RlR2VuZXJh
dG9ycy5wcmkKaW5kZXggMmY4OWE1ZDBiNzg5ZmMxNjYxNDcwYjRiZDZiY2EzM2VmZTE0ZjlkMi4u
ZTUzNjI2NzFjMWY5NzQ5YWRmZjJiZTZjNmI4ZjBkY2NmMTkzNmYzYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ29kZUdlbmVyYXRvcnMucHJpCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NvZGVH
ZW5lcmF0b3JzLnByaQpAQCAtMzI2LDYgKzMyNiw3IEBAIElETF9CSU5ESU5HUyArPSBcCiAgICAg
cGFnZS9Mb2NhdGlvbi5pZGwgXAogICAgIHBhZ2UvTWVtb3J5SW5mby5pZGwgXAogICAgIHBhZ2Uv
TmF2aWdhdG9yLmlkbCBcCisgICAgcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5pZGwgXAog
ICAgIHBhZ2UvUGVyZm9ybWFuY2UuaWRsIFwKICAgICBwYWdlL1BlcmZvcm1hbmNlTmF2aWdhdGlv
bi5pZGwgXAogICAgIHBhZ2UvUGVyZm9ybWFuY2VUaW1pbmcuaWRsIFwKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLmNwcAppbmRleCAyNDAyMmY3NGVmNmI4ODIzN2FlYmZiZTU5ODA4YzNiYTQ3N2JmZTgy
Li5jNDlmN2U5NTE3OWU3YmQ4MjY0NGJjMzMzZWY1YzFiNDkzYmY2OGFjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvRGVy
aXZlZFNvdXJjZXMuY3BwCkBAIC0yNDUsNiArMjQ1LDcgQEAKICNpbmNsdWRlICJKU011dGF0aW9u
RXZlbnQuY3BwIgogI2luY2x1ZGUgIkpTTmFtZWROb2RlTWFwLmNwcCIKICNpbmNsdWRlICJKU05h
dmlnYXRvci5jcHAiCisjaW5jbHVkZSAiSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5jcHAiCiAj
aW5jbHVkZSAiSlNOb2RlLmNwcCIKICNpbmNsdWRlICJKU05vZGVGaWx0ZXIuY3BwIgogI2luY2x1
ZGUgIkpTTm9kZUl0ZXJhdG9yLmNwcCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2
ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4
IDY5NmVmMWM5MjQzMzc0N2ZlNGU5NzliYzNiZGI2NDJkMmQzNjE2MjIuLjNlZTFjYTY2M2YzNDAx
NTA1ODA3OGZjOGIwOWU4NzQ2MmIzOWJkNTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rl
cml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFr
ZQpAQCAtMzA3LDYgKzMwNyw3IEBAIERPTV9DTEFTU0VTID0gXAogICAgIE11dGF0aW9uRXZlbnQg
XAogICAgIE5hbWVkTm9kZU1hcCBcCiAgICAgTmF2aWdhdG9yIFwKKyAgICBOYXZpZ2F0b3JVc2Vy
TWVkaWFFcnJvciBcCiAgICAgTm9kZSBcCiAgICAgTm9kZUZpbHRlciBcCiAgICAgTm9kZUl0ZXJh
dG9yIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtIGIvU291cmNl
L1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KaW5kZXggMDMzZWYzOGE4ZjYyY2Y1ZjI2NzUwYzc3Yjcy
NzY0MDcyZmUwNDUwYy4uNTg3NTBmOWRmNTUyYTdiODVkMzM3Yzc2YzFhN2MwZWQ2MzQwMTc5YSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KKysrIGIvU291cmNlL1dl
YkNvcmUvR05VbWFrZWZpbGUuYW0KQEAgLTQ3MCw2ICs0NzAsOCBAQCB3ZWJjb3JlX2J1aWx0X3Nv
dXJjZXMgKz0gXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOYW1lZE5vZGVNYXAuaCBcCiAJ
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05hdmlnYXRvci5jcHAgXAogCURlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNOYXZpZ2F0b3IuaCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05hdmln
YXRvclVzZXJNZWRpYUVycm9yLmNwcCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05hdmln
YXRvclVzZXJNZWRpYUVycm9yLmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOb2RlLmNw
cCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05vZGVGaWx0ZXIuY3BwIFwKIAlEZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTTm9kZUZpbHRlci5oIFwKQEAgLTg0NCw2ICs4NDYsMTAgQEAgd2Vi
Y29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU01lc3NhZ2VQ
b3J0Q3VzdG9tLmggXAogCVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTmFtZWROb2RlTWFw
Q3VzdG9tLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNOYXZpZ2F0b3JDdXN0
b20uY3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU05hdmlnYXRvclVzZXJNZWRp
YUVycm9yQ2FsbGJhY2tDdXN0b20uY3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2tDdXN0b20uaCBcCisJU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2tDdXN0b20u
Y3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU05hdmlnYXRvclVzZXJNZWRpYVN1
Y2Nlc3NDYWxsYmFja0N1c3RvbS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU05v
ZGVDdXN0b20uY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU05vZGVDdXN0b20u
aCBcCiAJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNOb2RlRmlsdGVyQ29uZGl0aW9uLmNw
cCBcCkBAIC0yMjAxLDYgKzIyMDcsNyBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9X
ZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0tleWZyYW1lQW5pbWF0aW9uLmggXAogCVNvdXJjZS9XZWJD
b3JlL3BhZ2UvQmFySW5mby5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3BhZ2UvQmFySW5mby5oIFwK
KwlTb3VyY2UvV2ViQ29yZS9wYWdlL0NhbGxiYWNrVGFzay5oIFwKIAlTb3VyY2UvV2ViQ29yZS9w
YWdlL0Nocm9tZS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmggXAogCVNvdXJj
ZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmggXApAQCAtMjI2OCw2ICsyMjc1LDkgQEAgd2Vi
Y29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvci5oIFwKIAlT
b3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvckJhc2UuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9w
YWdlL05hdmlnYXRvckJhc2UuaCBcCisJU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3JVc2Vy
TWVkaWFFcnJvci5oIFwKKwlTb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvclVzZXJNZWRpYUVy
cm9yQ2FsbGJhY2suaCBcCisJU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFT
dWNjZXNzQ2FsbGJhY2suaCBcCiAJU291cmNlL1dlYkNvcmUvcGFnZS9PcmlnaW5BY2Nlc3NFbnRy
eS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3BhZ2UvT3JpZ2luQWNjZXNzRW50cnkuaCBcCiAJU291
cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcCBcCkBAIC00MTk4LDYgKzQyMDgsMTYgQEAgd2ViY29y
ZV9jcHBmbGFncyArPSAtREVOQUJMRV9JTlBVVF9TUEVFQ0g9MAogZW5kaWYgIyBFTkQgRU5BQkxF
X0lOUFVUX1NQRUVDSAogCiAjIC0tLS0KKyMgTWVkaWEgU3RyZWFtIEFQSSBzdXBwb3J0CisjIC0t
LS0KK2lmIEVOQUJMRV9NRURJQV9TVFJFQU0KK0ZFQVRVUkVfREVGSU5FUyArPSBFTkFCTEVfTUVE
SUFfU1RSRUFNPTEKK3dlYmNvcmVfY3BwZmxhZ3MgKz0gLURFTkFCTEVfTUVESUFfU1RSRUFNPTEK
K2Vsc2UKK3dlYmNvcmVfY3BwZmxhZ3MgKz0gLURFTkFCTEVfTUVESUFfU1RSRUFNPTAKK2VuZGlm
ICMgRU5EIEVOQUJMRV9NRURJQV9TVFJFQU0KKworIyAtLS0tCiAjIEljb24gRGF0YWJhc2UgU3Vw
cG9ydAogIyAtLS0tCiBpZiBFTkFCTEVfSUNPTkRBVEFCQVNFCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXgg
YTNmZWU4MjQyNTQwZmIyMTM5YmRjNjcwMTdlNWYxNDM1NDI1MWNlZC4uODkyYTdmZDhmOGQxYWJj
YmMxZmY0MDUwNmEyNWFjMjc3NjZjN2I0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5neXBpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtMTMyMCw2ICsx
MzIwLDcgQEAKICAgICAgICAgICAgICdwYWdlL0xvY2F0aW9uLmlkbCcsCiAgICAgICAgICAgICAn
cGFnZS9NZW1vcnlJbmZvLmlkbCcsCiAgICAgICAgICAgICAncGFnZS9OYXZpZ2F0b3IuaWRsJywK
KyAgICAgICAgICAgICdwYWdlL05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmlkbCcsCiAgICAgICAg
ICAgICAncGFnZS9QZXJmb3JtYW5jZS5pZGwnLAogICAgICAgICAgICAgJ3BhZ2UvUGVyZm9ybWFu
Y2VOYXZpZ2F0aW9uLmlkbCcsCiAgICAgICAgICAgICAncGFnZS9QZXJmb3JtYW5jZVRpbWluZy5p
ZGwnLApAQCAtMjExNCw2ICsyMTE1LDExIEBACiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3Vz
dG9tL1Y4TmFtZWROb2RlTWFwQ3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4TmFtZWROb2Rlc0NvbGxlY3Rpb24uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5n
cy92OC9jdXN0b20vVjhOYW1lZE5vZGVzQ29sbGVjdGlvbi5oJywKKyAgICAgICAgICAgICdiaW5k
aW5ncy92OC9jdXN0b20vVjhOYXZpZ2F0b3JDdXN0b20uY3BwJywKKyAgICAgICAgICAgICdiaW5k
aW5ncy92OC9jdXN0b20vVjhOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrQ3VzdG9tLmNw
cCcsCisgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4TmF2aWdhdG9yVXNlck1lZGlh
RXJyb3JDYWxsYmFja0N1c3RvbS5oJywKKyAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20v
VjhOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2tDdXN0b20uY3BwJywKKyAgICAgICAg
ICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJh
Y2tDdXN0b20uaCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4Tm9kZUN1c3Rv
bS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE5vZGVMaXN0Q3VzdG9t
LmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4Tm90aWZpY2F0aW9uQ2Vu
dGVyQ3VzdG9tLmNwcCcsCkBAIC0zMzM3LDYgKzMzNDMsNyBAQAogICAgICAgICAgICAgJ25vdGlm
aWNhdGlvbnMvTm90aWZpY2F0aW9uQ29udGVudHMuaCcsCiAgICAgICAgICAgICAncGFnZS9CYXJJ
bmZvLmNwcCcsCiAgICAgICAgICAgICAncGFnZS9CYXJJbmZvLmgnLAorICAgICAgICAgICAgJ3Bh
Z2UvQ2FsbGJhY2tUYXNrLmgnLAogICAgICAgICAgICAgJ3BhZ2UvQ2hyb21lLmNwcCcsCiAgICAg
ICAgICAgICAncGFnZS9Db25zb2xlLmNwcCcsCiAgICAgICAgICAgICAncGFnZS9Db250ZW50U2Vj
dXJpdHlQb2xpY3kuY3BwJywKQEAgLTMzNzQsNiArMzM4MSw5IEBACiAgICAgICAgICAgICAncGFn
ZS9OYXZpZ2F0b3IuaCcsCiAgICAgICAgICAgICAncGFnZS9OYXZpZ2F0b3JCYXNlLmNwcCcsCiAg
ICAgICAgICAgICAncGFnZS9OYXZpZ2F0b3JCYXNlLmgnLAorICAgICAgICAgICAgJ3BhZ2UvTmF2
aWdhdG9yVXNlck1lZGlhRXJyb3IuaCcsCisgICAgICAgICAgICAncGFnZS9OYXZpZ2F0b3JVc2Vy
TWVkaWFFcnJvckNhbGxiYWNrLmgnLAorICAgICAgICAgICAgJ3BhZ2UvTmF2aWdhdG9yVXNlck1l
ZGlhU3VjY2Vzc0NhbGxiYWNrLmgnLAogICAgICAgICAgICAgJ3BhZ2UvT3JpZ2luQWNjZXNzRW50
cnkuY3BwJywKICAgICAgICAgICAgICdwYWdlL09yaWdpbkFjY2Vzc0VudHJ5LmgnLAogICAgICAg
ICAgICAgJ3BhZ2UvUGFnZS5jcHAnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS5wcm8gYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnBybwppbmRleCAyN2YwMTZiNjMxNDAwYWQx
ZjU5ZTcwYjVjYjU5NjU0NmY2NjM1NmI3Li4wZDdmM2YwNDZhNGNiOTEzMjc4NTgxZmJmYTJiNDM5
ZGQ2Zjc1MWMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnBybworKysgYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnBybwpAQCAtMzA5Miw2ICszMDkyLDM0IEBAIGNvbnRhaW5z
KERFRklORVMsIEVOQUJMRV9HRU9MT0NBVElPTj0xKSB7CiAgICAgfQogfQogCitjb250YWlucyhE
RUZJTkVTLCBFTkFCTEVfTUVESUFfU1RSRUFNPTEpIHsKKyAgICBIRUFERVJTICs9IFwKKyAgICAg
ICAgcGFnZS9DYWxsYmFja1Rhc2suaCBcCisgICAgICAgIHBhZ2UvTmF2aWdhdG9yVXNlck1lZGlh
RXJyb3IuaCBcCisgICAgICAgIHBhZ2UvTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5o
IFwKKyAgICAgICAgcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suaCBcCisK
KyAgICB2OCB7CisgICAgICAgIEhFQURFUlMgKz0gXAorICAgICAgICAgICAgYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4TmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFja0N1c3RvbS5oIFwKKyAgICAg
ICAgICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxs
YmFja0N1c3RvbS5oCisKKyAgICAgICAgU09VUkNFUyArPSBcCisgICAgICAgICAgICBiaW5kaW5n
cy92OC9jdXN0b20vVjhOYXZpZ2F0b3JDdXN0b20uY3BwIFwKKyAgICAgICAgICAgIGJpbmRpbmdz
L3Y4L2N1c3RvbS9WOE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2tDdXN0b20uY3BwIFwK
KyAgICAgICAgICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nl
c3NDYWxsYmFja0N1c3RvbS5jcHAKKworICAgIH0gZWxzZSB7CisgICAgICAgIEhFQURFUlMgKz0g
XAorICAgICAgICAgICAgYmluZGluZ3MvanMvSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxi
YWNrQ3VzdG9tLmggXAorICAgICAgICAgICAgYmluZGluZ3MvanMvSlNOYXZpZ2F0b3JVc2VyTWVk
aWFTdWNjZXNzQ2FsbGJhY2tDdXN0b20uaAorCisgICAgICAgIFNPVVJDRVMgKz0gXAorICAgICAg
ICAgICAgYmluZGluZ3MvanMvSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrQ3VzdG9t
LmNwcCBcCisgICAgICAgICAgICBiaW5kaW5ncy9qcy9KU05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nl
c3NDYWxsYmFja0N1c3RvbS5jcHAKKyAgICB9Cit9CisKIGNvbnRhaW5zKERFRklORVMsIEVOQUJM
RV9TVkc9MSkgewogICAgICF2OCB7CiAgICAgICAgIFNPVVJDRVMgKz0gXApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2ogYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagppbmRleCBlMTVhZTE1MzY0OGIxNDQ1
MjE5OWNiMDA2ZWZkNmEwZWYxZDVjYmI3Li5hZTNmYWExN2YxMTRiMzIzYjhjOWVjODYzMTc0Y2Nk
NDdmMmVmYjdmIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJD
b3JlLnZjcHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZj
cHJvagpAQCAtMjQ1OTAsNiArMjQ1OTAsMTAgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8Rmls
ZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGFnZVxDYWxsYmFja1Rhc2suaCIKKwkJCQk+CisJCQk8
L0ZpbGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGFnZVxDaHJvbWUuY3BwIgog
CQkJCT4KIAkJCTwvRmlsZT4KQEAgLTI0ODc4LDYgKzI0ODgyLDE4IEBACiAJCQkJPgogCQkJPC9G
aWxlPgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHBhZ2VcTmF2aWdhdG9yVXNlck1l
ZGlhRXJyb3IuaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0
aD0iLi5ccGFnZVxOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmgiCisJCQkJPgorCQkJ
PC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHBhZ2VcTmF2aWdhdG9yVXNl
ck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmgiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKIAkJ
CQlSZWxhdGl2ZVBhdGg9Ii4uXHBhZ2VcT3JpZ2luQWNjZXNzRW50cnkuY3BwIgogCQkJCT4KIAkJ
CTwvRmlsZT4KQEAgLTYxMjgxLDYgKzYxMjk3LDExOCBAQAogCQkJCQk8L0ZpbGVDb25maWd1cmF0
aW9uPgogCQkJCTwvRmlsZT4KIAkJCQk8RmlsZQorCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGJpbmRp
bmdzXGpzXEpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFja0N1c3RvbS5jcHAiCisJCQkJ
CT4KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiIKKwkJ
CQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQkJPgorCQkJCQkJPFRvb2wKKwkJCQkJ
CQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkJLz4KKwkJCQkJPC9GaWxlQ29uZmlndXJh
dGlvbj4KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMy
IgorCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCQk+CisJCQkJCQk8VG9vbAor
CQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCQkvPgorCQkJCQk8L0ZpbGVDb25m
aWd1cmF0aW9uPgorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJCU5hbWU9IkRlYnVnX0Nh
aXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQkJ
PgorCQkJCQkJPFRvb2wKKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkJLz4K
KwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJ
CQlOYW1lPSJSZWxlYXNlX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1
aWxkPSJ0cnVlIgorCQkJCQkJPgorCQkJCQkJPFRvb2wKKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGls
ZXJUb29sIgorCQkJCQkJLz4KKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQkJPEZpbGVD
b25maWd1cmF0aW9uCisJCQkJCQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIiCisJCQkJCQlFeGNsdWRl
ZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJCT4KKwkJCQkJCTxUb29sCisJCQkJCQkJTmFtZT0iVkND
TENvbXBpbGVyVG9vbCIKKwkJCQkJCS8+CisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJ
CTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQkJTmFtZT0iUmVsZWFzZV9MVENHfFdpbjMyIgorCQkJ
CQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCQk+CisJCQkJCQk8VG9vbAorCQkJCQkJ
CU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCQkvPgorCQkJCQk8L0ZpbGVDb25maWd1cmF0
aW9uPgorCQkJCTwvRmlsZT4KKwkJCQk8RmlsZQorCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGJpbmRp
bmdzXGpzXEpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFja0N1c3RvbS5oIgorCQkJCQk+
CisJCQkJPC9GaWxlPgorCQkJCTxGaWxlCisJCQkJCVJlbGF0aXZlUGF0aD0iLi5cYmluZGluZ3Nc
anNcSlNOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2tDdXN0b20uY3BwIgorCQkJCQk+
CisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQkJTmFtZT0iRGVidWd8V2luMzIiCisJCQkJ
CQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJCT4KKwkJCQkJCTxUb29sCisJCQkJCQkJ
TmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJCS8+CisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRp
b24+CisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiIK
KwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQkJPgorCQkJCQkJPFRvb2wKKwkJ
CQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkJLz4KKwkJCQkJPC9GaWxlQ29uZmln
dXJhdGlvbj4KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCQlOYW1lPSJEZWJ1Z19DYWly
b19DRkxpdGV8V2luMzIiCisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJCT4K
KwkJCQkJCTxUb29sCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJCS8+CisJ
CQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQkJ
TmFtZT0iUmVsZWFzZV9DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCQlFeGNsdWRlZEZyb21CdWls
ZD0idHJ1ZSIKKwkJCQkJCT4KKwkJCQkJCTxUb29sCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVy
VG9vbCIKKwkJCQkJCS8+CisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJCTxGaWxlQ29u
ZmlndXJhdGlvbgorCQkJCQkJTmFtZT0iRGVidWdfQWxsfFdpbjMyIgorCQkJCQkJRXhjbHVkZWRG
cm9tQnVpbGQ9InRydWUiCisJCQkJCQk+CisJCQkJCQk8VG9vbAorCQkJCQkJCU5hbWU9IlZDQ0xD
b21waWxlclRvb2wiCisJCQkJCQkvPgorCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCQk8
RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJCU5hbWU9IlJlbGVhc2VfTFRDR3xXaW4zMiIKKwkJCQkJ
CUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQkJPgorCQkJCQkJPFRvb2wKKwkJCQkJCQlO
YW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkJLz4KKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlv
bj4KKwkJCQk8L0ZpbGU+CisJCQkJPEZpbGUKKwkJCQkJUmVsYXRpdmVQYXRoPSIuLlxiaW5kaW5n
c1xqc1xKU05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFja0N1c3RvbS5oIgorCQkJCQk+
CisJCQkJPC9GaWxlPgorCQkJCTxGaWxlCiAJCQkJCVJlbGF0aXZlUGF0aD0iLi5cYmluZGluZ3Nc
anNcSlNOb2RlQ3VzdG9tLmNwcCIKIAkJCQkJPgogCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
aiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRl
eCBiYTNhY2I1N2Y4ODUyZGQ1OGRhOWFkMzlkYTM3N2U5NDBhMmMxZDNiLi40Yzc3YTU5ZjkzOWUz
MzUxNDM1MDMwNTNiNDZkNGZiOTQzOTZjZjk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC00MDc4LDYgKzQwNzgsMTYgQEAKIAkJ
QjAxNDlFN0UxMUE0QjIxNTAwMTk2QTdCIC8qIEFzeW5jSW1hZ2VSZXNpemVyLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMDE0OUU3QTExQTRCMjE1MDAx
OTZBN0IgLyogQXN5bmNJbWFnZVJlc2l6ZXIuaCAqLzsgfTsKIAkJQjAxNDlFN0YxMUE0QjIxNTAw
MTk2QTdCIC8qIEltYWdlUmVzaXplclRocmVhZC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMDE0OUU3QjExQTRCMjE1MDAxOTZBN0IgLyogSW1hZ2VS
ZXNpemVyVGhyZWFkLmNwcCAqLzsgfTsKIAkJQjAxNDlFODAxMUE0QjIxNTAwMTk2QTdCIC8qIElt
YWdlUmVzaXplclRocmVhZC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQjAxNDlFN0MxMUE0QjIxNTAwMTk2QTdCIC8qIEltYWdlUmVzaXplclRocmVhZC5o
ICovOyB9OworCQlCMURDNEJBRjEzMzhFMEYzMDBFRkY4RDggLyogSlNOYXZpZ2F0b3JVc2VyTWVk
aWFFcnJvckNhbGxiYWNrQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEIxREM0QkE4MTMzOEUwRjMwMEVGRjhEOCAvKiBKU05hdmlnYXRvclVz
ZXJNZWRpYUVycm9yQ2FsbGJhY2tDdXN0b20uY3BwICovOyB9OworCQlCMURDNEJCMDEzMzhFMEYz
MDBFRkY4RDggLyogSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrQ3VzdG9tLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMURDNEJBOTEzMzhF
MEYzMDBFRkY4RDggLyogSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrQ3VzdG9tLmgg
Ki87IH07CisJCUIxREM0QkIxMTMzOEUwRjMwMEVGRjhEOCAvKiBKU05hdmlnYXRvclVzZXJNZWRp
YVN1Y2Nlc3NDYWxsYmFja0N1c3RvbS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBCMURDNEJBQTEzMzhFMEYzMDBFRkY4RDggLyogSlNOYXZpZ2F0b3JV
c2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2tDdXN0b20uY3BwICovOyB9OworCQlCMURDNEJCMjEzMzhF
MEYzMDBFRkY4RDggLyogSlNOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2tDdXN0b20u
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIxREM0QkFC
MTMzOEUwRjMwMEVGRjhEOCAvKiBKU05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFja0N1
c3RvbS5oICovOyB9OworCQlCMURDNEJCNTEzMzhFMTQwMDBFRkY4RDggLyogQ2FsbGJhY2tUYXNr
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMURDNEJC
NDEzMzhFMTQwMDBFRkY4RDggLyogQ2FsbGJhY2tUYXNrLmggKi87IH07CisJCUIxRTQ2QzA5MTMz
M0I1N0YwMDgyMkQ3RiAvKiBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjFFNDZDMDExMzMzQjU3RjAwODIyRDdG
IC8qIE5hdmlnYXRvclVzZXJNZWRpYUVycm9yLmggKi87IH07CisJCUIxRTQ2QzBDMTMzM0I1N0Yw
MDgyMkQ3RiAvKiBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMUU0NkMwNDEzMzNCNTdGMDA4MjJE
N0YgLyogTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5oICovOyB9OworCQlCMUU0NkMw
RjEzMzNCNTdGMDA4MjJEN0YgLyogTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMUU0NkMwNzEz
MzNCNTdGMDA4MjJEN0YgLyogTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmggKi87
IH07CisJCUIxRTQ2QzUyMTMzM0MxREMwMDgyMkQ3RiAvKiBKU05hdmlnYXRvclVzZXJNZWRpYUVy
cm9yLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIx
RTQ2QzQ0MTMzM0MxREMwMDgyMkQ3RiAvKiBKU05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmNwcCAq
LzsgfTsKKwkJQjFFNDZDNTMxMzMzQzFEQzAwODIyRDdGIC8qIEpTTmF2aWdhdG9yVXNlck1lZGlh
RXJyb3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIx
RTQ2QzQ1MTMzM0MxREMwMDgyMkQ3RiAvKiBKU05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmggKi87
IH07CiAJCUIyMDExMTA3MEFCNzc0MDUwMERCMEU2OCAvKiBKU1NWR0FFbGVtZW50LmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIyMDExMTA1MEFCNzc0
MDUwMERCMEU2OCAvKiBKU1NWR0FFbGVtZW50LmNwcCAqLzsgfTsKIAkJQjIwMTExMDgwQUI3NzQw
NTAwREIwRTY4IC8qIEpTU1ZHQUVsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEIyMDExMTA2MEFCNzc0MDUwMERCMEU2OCAvKiBKU1NWR0FFbGVt
ZW50LmggKi87IH07CiAJCUIyMjI3OTYyMEQwMEJGMjIwMDcxQjc4MiAvKiBDb2xvckRpc3RhbmNl
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIyMjI3
N0NCMEQwMEJGMUYwMDcxQjc4MiAvKiBDb2xvckRpc3RhbmNlLmNwcCAqLzsgfTsKQEAgLTEwMzE1
LDYgKzEwMzI1LDE3IEBACiAJCUIwMTQ5RTdBMTFBNEIyMTUwMDE5NkE3QiAvKiBBc3luY0ltYWdl
UmVzaXplci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBc3luY0ltYWdlUmVz
aXplci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCMDE0OUU3QjExQTRCMjE1MDAx
OTZBN0IgLyogSW1hZ2VSZXNpemVyVGhyZWFkLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IEltYWdlUmVzaXplclRocmVhZC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUIwMTQ5RTdDMTFBNEIyMTUwMDE5NkE3QiAvKiBJbWFnZVJlc2l6ZXJUaHJlYWQu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW1hZ2VSZXNpemVyVGhyZWFkLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIxREM0QkE4MTMzOEUwRjMwMEVGRjhEOCAv
KiBKU05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2tDdXN0b20uY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxi
YWNrQ3VzdG9tLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjFEQzRCQTkxMzM4
RTBGMzAwRUZGOEQ4IC8qIEpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFja0N1c3RvbS5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU05hdmlnYXRvclVzZXJNZWRpYUVy
cm9yQ2FsbGJhY2tDdXN0b20uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjFEQzRC
QUExMzM4RTBGMzAwRUZGOEQ4IC8qIEpTTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNr
Q3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTTmF2aWdh
dG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrQ3VzdG9tLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJQjFEQzRCQUIxMzM4RTBGMzAwRUZGOEQ4IC8qIEpTTmF2aWdhdG9yVXNlck1l
ZGlhU3VjY2Vzc0NhbGxiYWNrQ3VzdG9tLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IEpTTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrQ3VzdG9tLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCUIxREM0QkI0MTMzOEUxNDAwMEVGRjhEOCAvKiBDYWxsYmFj
a1Rhc2suaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ2FsbGJhY2tUYXNrLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIxRTQ2QzAxMTMzM0I1N0YwMDgyMkQ3RiAv
KiBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQlCMUU0NkMwMjEzMzNCNTdGMDA4MjJEN0YgLyogTmF2aWdhdG9yVXNlck1lZGlhRXJyb3Iu
aWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IE5hdmlnYXRvclVzZXJNZWRpYUVycm9yLmlkbDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjFFNDZDMDQxMzMzQjU3RjAwODIyRDdGIC8q
IE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2suaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQlCMUU0NkMwNzEzMzNCNTdGMDA4MjJEN0YgLyogTmF2aWdhdG9y
VXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlCMUU0NkM0NDEzMzNDMURDMDA4MjJEN0YgLyogSlNOYXZpZ2F0b3JVc2Vy
TWVkaWFFcnJvci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU05h
dmlnYXRvclVzZXJNZWRpYUVycm9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
QjFFNDZDNDUxMzMzQzFEQzAwODIyRDdGIC8qIEpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJv
ci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCMjAxMTEwNTBBQjc3NDA1MDBEQjBF
NjggLyogSlNTVkdBRWxlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gSlNTVkdBRWxlbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIy
MDExMTA2MEFCNzc0MDUwMERCMEU2OCAvKiBKU1NWR0FFbGVtZW50LmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBKU1NWR0FFbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUIyMjI3N0NCMEQwMEJGMUYwMDcxQjc4MiAvKiBDb2xvckRpc3RhbmNlLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDb2xvckRpc3RhbmNlLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE0MDk0LDYgKzE0MTE1LDcgQEAKIAkJCQlC
QzEyNEVFNDBDMjY0MUNEMDA5RTIzNDkgLyogQmFySW5mby5jcHAgKi8sCiAJCQkJQkMxMjRFRTUw
QzI2NDFDRDAwOUUyMzQ5IC8qIEJhckluZm8uaCAqLywKIAkJCQlCQzEyNEVFNjBDMjY0MUNEMDA5
RTIzNDkgLyogQmFySW5mby5pZGwgKi8sCisJCQkJQjFEQzRCQjQxMzM4RTE0MDAwRUZGOEQ4IC8q
IENhbGxiYWNrVGFzay5oICovLAogCQkJCTE0RDgyMzhBMEFGOTJERjYwMDA0RjA1NyAvKiBDaHJv
bWUuY3BwICovLAogCQkJCTE0RDgyMzUwMEFGOTJBNzkwMDA0RjA1NyAvKiBDaHJvbWUuaCAqLywK
IAkJCQkxNEQ4MjQwNjBBRjkzQUVCMDAwNEYwNTcgLyogQ2hyb21lQ2xpZW50LmggKi8sCkBAIC0x
NDE3NCw2ICsxNDE5NiwxMCBAQAogCQkJCUE5QzZFNjVEMEQ3NDY2OTQwMDY0NDJFOSAvKiBOYXZp
Z2F0b3IuaWRsICovLAogCQkJCUUxMjcxOUM5MEVFRUMyMTMwMEY2MTIxMyAvKiBOYXZpZ2F0b3JC
YXNlLmNwcCAqLywKIAkJCQlFMTI3MTlDNjBFRUVDMTY4MDBGNjEyMTMgLyogTmF2aWdhdG9yQmFz
ZS5oICovLAorCQkJCUIxRTQ2QzAxMTMzM0I1N0YwMDgyMkQ3RiAvKiBOYXZpZ2F0b3JVc2VyTWVk
aWFFcnJvci5oICovLAorCQkJCUIxRTQ2QzAyMTMzM0I1N0YwMDgyMkQ3RiAvKiBOYXZpZ2F0b3JV
c2VyTWVkaWFFcnJvci5pZGwgKi8sCisJCQkJQjFFNDZDMDQxMzMzQjU3RjAwODIyRDdGIC8qIE5h
dmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2suaCAqLywKKwkJCQlCMUU0NkMwNzEzMzNCNTdG
MDA4MjJEN0YgLyogTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmggKi8sCiAJCQkJ
MDAxNDYyODgxMDNDRDFERTAwMEIyMERCIC8qIE9yaWdpbkFjY2Vzc0VudHJ5LmNwcCAqLywKIAkJ
CQkwMDE0NjI4OTEwM0NEMURFMDAwQjIwREIgLyogT3JpZ2luQWNjZXNzRW50cnkuaCAqLywKIAkJ
CQk2NUZFQTg2ODA5ODMzQURFMDBCRUQ0QUIgLyogUGFnZS5jcHAgKi8sCkBAIC0xODEwOSw2ICsx
ODEzNSwxMCBAQAogCQkJCTQxRjU4NEM2MTA0NjUyQ0IwMDlDQUE2NCAvKiBKU01lc3NhZ2VQb3J0
Q3VzdG9tLmggKi8sCiAJCQkJQkNEOUMyNUYwQzE3QUE2NzAwNUM5MEEyIC8qIEpTTmFtZWROb2Rl
TWFwQ3VzdG9tLmNwcCAqLywKIAkJCQlBOUM2RTY0ODBENzQ2NUQ4MDA2NDQyRTkgLyogSlNOYXZp
Z2F0b3JDdXN0b20uY3BwICovLAorCQkJCUIxREM0QkE4MTMzOEUwRjMwMEVGRjhEOCAvKiBKU05h
dmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2tDdXN0b20uY3BwICovLAorCQkJCUIxREM0QkE5
MTMzOEUwRjMwMEVGRjhEOCAvKiBKU05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2tDdXN0
b20uaCAqLywKKwkJCQlCMURDNEJBQTEzMzhFMEYzMDBFRkY4RDggLyogSlNOYXZpZ2F0b3JVc2Vy
TWVkaWFTdWNjZXNzQ2FsbGJhY2tDdXN0b20uY3BwICovLAorCQkJCUIxREM0QkFCMTMzOEUwRjMw
MEVGRjhEOCAvKiBKU05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFja0N1c3RvbS5oICov
LAogCQkJCUJDRDlDMjYwMEMxN0FBNjcwMDVDOTBBMiAvKiBKU05vZGVDdXN0b20uY3BwICovLAog
CQkJCUJDOTQzOUMyMTE2Q0Y0OTQwMDQ4Qzc1MCAvKiBKU05vZGVDdXN0b20uaCAqLywKIAkJCQlC
Q0I3NzM2MDBDMTc4NTNEMDAxMzJCQTQgLyogSlNOb2RlRmlsdGVyQ3VzdG9tLmNwcCAqLywKQEAg
LTE4MjM2LDYgKzE4MjY2LDggQEAKIAkJCQk5RkZFM0VBNDExQjVBNDM5MDAzNzg3NEUgLyogSlNN
ZW1vcnlJbmZvLmggKi8sCiAJCQkJQTlEMjQ3RjUwRDc1N0UzMzAwRkRGOTU5IC8qIEpTTmF2aWdh
dG9yLmNwcCAqLywKIAkJCQlBOUQyNDdGNjBENzU3RTMzMDBGREY5NTkgLyogSlNOYXZpZ2F0b3Iu
aCAqLywKKwkJCQlCMUU0NkM0NDEzMzNDMURDMDA4MjJEN0YgLyogSlNOYXZpZ2F0b3JVc2VyTWVk
aWFFcnJvci5jcHAgKi8sCisJCQkJQjFFNDZDNDUxMzMzQzFEQzAwODIyRDdGIC8qIEpTTmF2aWdh
dG9yVXNlck1lZGlhRXJyb3IuaCAqLywKIAkJCQk4QTlBNTg3MjExRTg0QzgxMDA4QUNGRDEgLyog
SlNQZXJmb3JtYW5jZS5jcHAgKi8sCiAJCQkJOEE5QTU4NzMxMUU4NEM4MTAwOEFDRkQxIC8qIEpT
UGVyZm9ybWFuY2UuaCAqLywKIAkJCQk4QTlBNTg2RTExRTg0QzM1MDA4QUNGRDEgLyogSlNQZXJm
b3JtYW5jZU5hdmlnYXRpb24uY3BwICovLApAQCAtMjI2ODcsNiArMjI3MTksMTkgQEAKIAkJCQkz
MTlFNjlCMzEzMjk5QkJEMDA0QUM5MUEgLyogV2ViS2l0QW5pbWF0aW9uLmggaW4gSGVhZGVycyAq
LywKIAkJCQkzMTlFNjlCNjEzMjk5QkJEMDA0QUM5MUEgLyogV2ViS2l0QW5pbWF0aW9uTGlzdC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQkM3NzJFMTMxMzMxNjIwQzAwMUVDOUNFIC8qIENTU0xpbmVC
b3hDb250YWluVmFsdWUuaCBpbiBIZWFkZXJzICovLAorCQkJCUIxNDIwMjREMTMzMjc1OUQwMDI5
QjA2QiAvKiBKU05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmggaW4gSGVhZGVycyAqLywKKwkJCQlC
MTQyMDI1MDEzMzI3NTlEMDAyOUIwNkIgLyogSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxi
YWNrLmggaW4gSGVhZGVycyAqLywKKwkJCQlCMTQyMDI1MzEzMzI3NTlEMDAyOUIwNkIgLyogSlNO
YXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovLAorCQkJCUIx
NDIwMjREMTMzMjc1OUQwMDI5QjA2QiAvKiBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5oIGluIEhl
YWRlcnMgKi8sCisJCQkJQjE0MjAyNTAxMzMyNzU5RDAwMjlCMDZCIC8qIE5hdmlnYXRvclVzZXJN
ZWRpYUVycm9yQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovLAorCQkJCUIxNDIwMjUzMTMzMjc1OUQw
MDI5QjA2QiAvKiBOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suaCBpbiBIZWFkZXJz
ICovLAorCQkJCUIxRTQ2QzA5MTMzM0I1N0YwMDgyMkQ3RiAvKiBOYXZpZ2F0b3JVc2VyTWVkaWFF
cnJvci5oIGluIEhlYWRlcnMgKi8sCisJCQkJQjFFNDZDMEMxMzMzQjU3RjAwODIyRDdGIC8qIE5h
dmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovLAorCQkJCUIxRTQ2
QzBGMTMzM0I1N0YwMDgyMkQ3RiAvKiBOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2su
aCBpbiBIZWFkZXJzICovLAorCQkJCUIxRTQ2QzUzMTMzM0MxREMwMDgyMkQ3RiAvKiBKU05hdmln
YXRvclVzZXJNZWRpYUVycm9yLmggaW4gSGVhZGVycyAqLywKKwkJCQlCMURDNEJCMDEzMzhFMEYz
MDBFRkY4RDggLyogSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrQ3VzdG9tLmggaW4g
SGVhZGVycyAqLywKKwkJCQlCMURDNEJCMjEzMzhFMEYzMDBFRkY4RDggLyogSlNOYXZpZ2F0b3JV
c2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2tDdXN0b20uaCBpbiBIZWFkZXJzICovLAorCQkJCUIxREM0
QkI1MTMzOEUxNDAwMEVGRjhEOCAvKiBDYWxsYmFja1Rhc2suaCBpbiBIZWFkZXJzICovLAogCQkJ
KTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAt
MjUzNTYsNiArMjU0MDEsMTMgQEAKIAkJCQkzMTlFNjlCNTEzMjk5QkJEMDA0QUM5MUEgLyogV2Vi
S2l0QW5pbWF0aW9uTGlzdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzc3MkUxNjEzMzE2MkMy
MDAxRUM5Q0UgLyogQ1NTTGluZUJveENvbnRhaW5WYWx1ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQk3RTM3RUYyRTEzMzkyMDg4MDBCMjkyNTAgLyogU3VicmVzb3VyY2VMb2FkZXJDRi5jcHAgaW4g
U291cmNlcyAqLywKKwkJCQlCMTQyMDI0RjEzMzI3NTlEMDAyOUIwNkIgLyogSlNOYXZpZ2F0b3JV
c2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQjE0MjAyNEYx
MzMyNzU5RDAwMjlCMDZCIC8qIEpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5jcHAg
aW4gU291cmNlcyAqLywKKwkJCQlCMTQyMDI0RjEzMzI3NTlEMDAyOUIwNkIgLyogTmF2aWdhdG9y
VXNlck1lZGlhRXJyb3JDYWxsYmFjay5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlCMUU0NkMwQjEz
MzNCNTdGMDA4MjJEN0YgLyogTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5jcHAgaW4g
U291cmNlcyAqLywKKwkJCQlCMUU0NkM1MjEzMzNDMURDMDA4MjJEN0YgLyogSlNOYXZpZ2F0b3JV
c2VyTWVkaWFFcnJvci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlCMURDNEJBRjEzMzhFMEYzMDBF
RkY4RDggLyogSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrQ3VzdG9tLmNwcCBpbiBT
b3VyY2VzICovLAorCQkJCUIxREM0QkIxMTMzOEUwRjMwMEVGRjhEOCAvKiBKU05hdmlnYXRvclVz
ZXJNZWRpYVN1Y2Nlc3NDYWxsYmFja0N1c3RvbS5jcHAgaW4gU291cmNlcyAqLywKIAkJCSk7CiAJ
CQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQmluZGluZ3NBbGxJbk9uZS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0JpbmRpbmdzQWxsSW5PbmUuY3BwCmluZGV4IDkz
MWZlZDMyNGMwN2Q0OTA2MDA3NjM2YzBlY2MxMTNlNTdkODA2YWIuLjk5MmRlNTY0YTJiOWIxZTEx
NDI2ODg3NTgxZTA2OTRkNTMxM2Y0ZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTQmluZGluZ3NBbGxJbk9uZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNCaW5kaW5nc0FsbEluT25lLmNwcApAQCAtMTE4LDYgKzExOCw4IEBACiAjaW5jbHVk
ZSAiSlNNZXNzYWdlUG9ydEN1c3RvbS5jcHAiCiAjaW5jbHVkZSAiSlNOYW1lZE5vZGVNYXBDdXN0
b20uY3BwIgogI2luY2x1ZGUgIkpTTmF2aWdhdG9yQ3VzdG9tLmNwcCIKKyNpbmNsdWRlICJKU05h
dmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2tDdXN0b20uY3BwIgorI2luY2x1ZGUgIkpTTmF2
aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrQ3VzdG9tLmNwcCIKICNpbmNsdWRlICJKU05v
ZGVDdXN0b20uY3BwIgogI2luY2x1ZGUgIkpTTm9kZUZpbHRlckNvbmRpdGlvbi5jcHAiCiAjaW5j
bHVkZSAiSlNOb2RlRmlsdGVyQ3VzdG9tLmNwcCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTTmF2aWdhdG9yQ3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTTmF2aWdhdG9yQ3VzdG9tLmNwcAppbmRleCBjMDIzOTMxMzJhODIzMmExZDQ4ZTEz
MTY4NmUzNzBkMWZmNDJmN2IyLi5hMmU5YzI2YTA2YzcwNDdhNzM3NWM4OWMwOThhMDY4MDFiMGMx
NTFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU05hdmlnYXRvckN1
c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNOYXZpZ2F0b3JDdXN0
b20uY3BwCkBAIC0yMyw3ICsyMywxMSBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUg
IkpTTmF2aWdhdG9yLmgiCiAKKyNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCisjaW5jbHVkZSAi
SlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrQ3VzdG9tLmgiCisjaW5jbHVkZSAiSlNO
YXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2tDdXN0b20uaCIKICNpbmNsdWRlICJOYXZp
Z2F0b3IuaCIKKyNpbmNsdWRlIDxydW50aW1lL0pTRnVuY3Rpb24uaD4KIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCkBAIC0zOCw0ICs0Miw1OCBAQCB2b2lkIEpTTmF2aWdhdG9yOjptYXJrQ2hpbGRy
ZW4oTWFya1N0YWNrJiBtYXJrU3RhY2spCiAgICAgbWFya0RPTU9iamVjdFdyYXBwZXIobWFya1N0
YWNrLCBnbG9iYWxEYXRhLCBpbXBsKCktPm9wdGlvbmFsR2VvbG9jYXRpb24oKSk7CiB9CiAKKyNp
ZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorCitzdGF0aWMgUGFzc1JlZlB0cjxOYXZpZ2F0b3JVc2Vy
TWVkaWFTdWNjZXNzQ2FsbGJhY2s+IGNyZWF0ZU5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxs
YmFjayhFeGVjU3RhdGUqIGV4ZWMsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpT
VmFsdWUgdmFsdWUpCit7CisgICAgLy8gVGhlIHNwZWMgc3BlY2lmaWVzICdGdW5jdGlvbk9ubHkn
IGZvciB0aGlzIG9iamVjdC4KKyAgICAvLyBGSVhNRTogVGhpcyBjaGVjayBkaXNhbGxvd3MgY2Fs
bGFibGUgb2JqZWN0cyBjcmVhdGVkIHZpYSBKU0MgQVBJLiBJdCdzIG5vdCBjbGVhciB3aGF0IGV4
YWN0bHkgdGhlIHNwZWNpZmljYXRpb24gaW50ZW5kcyB0byBhbGxvdy4KKyAgICBpZiAoIXZhbHVl
LmluaGVyaXRzKCZKU0Z1bmN0aW9uOjpzX2luZm8pKSB7CisgICAgICAgIHNldERPTUV4Y2VwdGlv
bihleGVjLCBUWVBFX01JU01BVENIX0VSUik7CisgICAgICAgIHJldHVybiAwOworICAgIH0KKwor
ICAgIEpTT2JqZWN0KiBvYmplY3QgPSBhc09iamVjdCh2YWx1ZSk7CisgICAgcmV0dXJuIEpTTmF2
aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrOjpjcmVhdGUob2JqZWN0LCBnbG9iYWxPYmpl
Y3QpOworfQorCitzdGF0aWMgUGFzc1JlZlB0cjxOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxi
YWNrPiBjcmVhdGVOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrKEV4ZWNTdGF0ZSogZXhl
YywgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNWYWx1ZSB2YWx1ZSkKK3sKKyAg
ICAvLyBBcmd1bWVudCBpcyBvcHRpb25hbCAoaGVuY2UgdW5kZWZpbmVkIGlzIGFsbG93ZWQpLCBh
bmQgbnVsbCBpcyBhbGxvd2VkLgorICAgIGlmICh2YWx1ZS5pc1VuZGVmaW5lZE9yTnVsbCgpKQor
ICAgICAgICByZXR1cm4gMDsKKworICAgIC8vIFRoZSBzcGVjIHNwZWNpZmllcyAnRnVuY3Rpb25P
bmx5JyBmb3IgdGhpcyBvYmplY3QuCisgICAgLy8gRklYTUU6IFRoaXMgY2hlY2sgZGlzYWxsb3dz
IGNhbGxhYmxlIG9iamVjdHMgY3JlYXRlZCB2aWEgSlNDIEFQSS4gSXQncyBub3QgY2xlYXIgd2hh
dCBleGFjdGx5IHRoZSBzcGVjaWZpY2F0aW9uIGludGVuZHMgdG8gYWxsb3cuCisgICAgaWYgKCF2
YWx1ZS5pbmhlcml0cygmSlNGdW5jdGlvbjo6c19pbmZvKSkgeworICAgICAgICBzZXRET01FeGNl
cHRpb24oZXhlYywgVFlQRV9NSVNNQVRDSF9FUlIpOworICAgICAgICByZXR1cm4gMDsKKyAgICB9
CisKKyAgICBKU09iamVjdCogb2JqZWN0ID0gYXNPYmplY3QodmFsdWUpOworICAgIHJldHVybiBK
U05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2s6OmNyZWF0ZShvYmplY3QsIGdsb2JhbE9i
amVjdCk7Cit9CisKK0pTVmFsdWUgSlNOYXZpZ2F0b3I6OndlYmtpdEdldFVzZXJNZWRpYShFeGVj
U3RhdGUqIGV4ZWMpCit7CisgICAgLy8gQXJndW1lbnRzOiBPcHRpb25zLCBzdWNjZXNzQ2FsbGJh
Y2ssIChvcHRpb25hbCllcnJvckNhbGxiYWNrCisKKyAgICBTdHJpbmcgb3B0aW9ucyA9IHVzdHJp
bmdUb1N0cmluZyhleGVjLT5hcmd1bWVudCgwKS50b1N0cmluZyhleGVjKSk7CisgICAgaWYgKGV4
ZWMtPmhhZEV4Y2VwdGlvbigpKQorICAgICAgICByZXR1cm4ganNVbmRlZmluZWQoKTsKKworICAg
IFJlZlB0cjxOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2s+IHN1Y2Nlc3NDYWxsYmFj
ayA9IGNyZWF0ZU5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjayhleGVjLCBzdGF0aWNf
Y2FzdDxKU0RPTUdsb2JhbE9iamVjdCo+KGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSksIGV4
ZWMtPmFyZ3VtZW50KDEpKTsKKyAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkgfHwgIXN1Y2Nl
c3NDYWxsYmFjaykKKyAgICAgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7CisKKyAgICBSZWZQdHI8
TmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjaz4gZXJyb3JDYWxsYmFjayA9IGNyZWF0ZU5h
dmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2soZXhlYywgc3RhdGljX2Nhc3Q8SlNET01HbG9i
YWxPYmplY3QqPihleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCkpLCBleGVjLT5hcmd1bWVudCgy
KSk7CisgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQorICAgICAgICByZXR1cm4ganNVbmRl
ZmluZWQoKTsKKworICAgIG1faW1wbC0+d2Via2l0R2V0VXNlck1lZGlhKG9wdGlvbnMsIHN1Y2Nl
c3NDYWxsYmFjay5yZWxlYXNlKCksIGVycm9yQ2FsbGJhY2sucmVsZWFzZSgpKTsKKyAgICByZXR1
cm4ganNVbmRlZmluZWQoKTsKK30KKworI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0pCisK
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTmF2aWdhdG9yVXNl
ck1lZGlhRXJyb3JDYWxsYmFja0N1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2tDdXN0b20uY3BwCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmZjZTZkYTBiYzFlZDM3ZTA3YjAyM2NlZDJkMTk3MjA1Zjc2ODU4MGYKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU05hdmlnYXRvclVzZXJNZWRpYUVycm9y
Q2FsbGJhY2tDdXN0b20uY3BwCkBAIC0wLDAgKzEsNjggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICog
ICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0
cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9k
dWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAq
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisj
aW5jbHVkZSAiSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrQ3VzdG9tLmgiCisKKyNp
ZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorCisjaW5jbHVkZSAiSlNOYXZpZ2F0b3JVc2VyTWVkaWFF
cnJvci5oIgorI2luY2x1ZGUgIlNjcmlwdENvbnRyb2xsZXIuaCIKKyNpbmNsdWRlIDxydW50aW1l
L0pTTG9jay5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3VzaW5nIG5hbWVzcGFjZSBKU0M7
CisKK0pTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjazo6SlNOYXZpZ2F0b3JVc2VyTWVk
aWFFcnJvckNhbGxiYWNrKEpTT2JqZWN0KiBjYWxsYmFjaywgSlNET01HbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCkKKyAgICA6IE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2soZ2xvYmFs
T2JqZWN0LT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpCisgICAgLCBtX2RhdGEoY2FsbGJhY2ss
IGdsb2JhbE9iamVjdCkKK3sKK30KKwordm9pZCBKU05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2Fs
bGJhY2s6OmhhbmRsZUV2ZW50KE5hdmlnYXRvclVzZXJNZWRpYUVycm9yKiBlcnJvcikKK3sKKyAg
ICAvLyBBY3RpdmVET01PYmplY3Qgd2lsbCBudWxsIG91ciBwb2ludGVyIHRvIHRoZSBTY3JpcHRF
eGVjdXRpb25Db250ZXh0IHdoZW4gaXQgZ29lcyBhd2F5LgorICAgIGlmICghc2NyaXB0RXhlY3V0
aW9uQ29udGV4dCgpKQorICAgICAgICByZXR1cm47CisKKyAgICBSZWZQdHI8SlNOYXZpZ2F0b3JV
c2VyTWVkaWFFcnJvckNhbGxiYWNrPiBwcm90ZWN0KHRoaXMpOworCisgICAgSlNDOjpKU0xvY2sg
bG9jayhTaWxlbmNlQXNzZXJ0aW9uc09ubHkpOworICAgIEV4ZWNTdGF0ZSogZXhlYyA9IG1fZGF0
YS5nbG9iYWxPYmplY3QoKS0+Z2xvYmFsRXhlYygpOworICAgIE1hcmtlZEFyZ3VtZW50QnVmZmVy
IGFyZ3M7CisgICAgYXJncy5hcHBlbmQodG9KUyhleGVjLCBkZXByZWNhdGVkR2xvYmFsT2JqZWN0
Rm9yUHJvdG90eXBlKGV4ZWMpLCBlcnJvcikpOworICAgIG1fZGF0YS5pbnZva2VDYWxsYmFjayhh
cmdzKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKE1F
RElBX1NUUkVBTSkKKwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNO
YXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrQ3VzdG9tLmggYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2tDdXN0b20uaApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5kYjg2Nzk5Y2RjMDg1ZjhjM2I1YWViMWFiYzgzOTYxM2VjNDBlYWJmCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNOYXZpZ2F0b3JVc2VyTWVk
aWFFcnJvckNhbGxiYWNrQ3VzdG9tLmgKQEAgLTAsMCArMSw2NiBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24u
CisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMg
b2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAor
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgV1RGX0pTTmF2
aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFja0N1c3RvbV9oCisjZGVmaW5lIFdURl9KU05hdmln
YXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2tDdXN0b21faAorCisjaWYgRU5BQkxFKE1FRElBX1NU
UkVBTSkKKworI2luY2x1ZGUgIkpTQ2FsbGJhY2tEYXRhLmgiCisjaW5jbHVkZSAiTmF2aWdhdG9y
VXNlck1lZGlhRXJyb3JDYWxsYmFjay5oIgorI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgTmF2aWdhdG9yVXNlck1lZGlhRXJyb3I7CitjbGFz
cyBKU0RPTUdsb2JhbE9iamVjdDsKKworY2xhc3MgSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNh
bGxiYWNrIDogcHVibGljIE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2sgeworcHVibGlj
OgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPEpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFj
az4gY3JlYXRlKEpTQzo6SlNPYmplY3QqIGNhbGxiYWNrLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0KQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBKU05hdmlnYXRv
clVzZXJNZWRpYUVycm9yQ2FsbGJhY2soY2FsbGJhY2ssIGdsb2JhbE9iamVjdCkpOworICAgIH0K
KyAgICAKKyAgICB2aXJ0dWFsIH5KU05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2soKSB7
IH0KKworcHJpdmF0ZToKKyAgICBKU05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2soSlND
OjpKU09iamVjdCogY2FsbGJhY2ssIEpTRE9NR2xvYmFsT2JqZWN0Kik7CisKKyAgICB2aXJ0dWFs
IHZvaWQgaGFuZGxlRXZlbnQoTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IqKTsKKworICAgIEpTQ2Fs
bGJhY2tEYXRhIG1fZGF0YTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlm
IC8vIEVOQUJMRShNRURJQV9TVFJFQU0pCisKKyNlbmRpZiAvLyBXVEZfSlNOYXZpZ2F0b3JVc2Vy
TWVkaWFFcnJvckNhbGxiYWNrQ3VzdG9tX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrQ3VzdG9tLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0Nh
bGxiYWNrQ3VzdG9tLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wNTA0YTcyZGIxMjBjMTJjNzZiNmZlYjg1ZGFh
ZDMyY2ExNmQ4MWI0Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2tDdXN0b20uY3BwCkBAIC0wLDAg
KzEsNTIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoK
KyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgor
ICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBH
b29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMg
c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5E
IENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklH
SFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiSlNOYXZpZ2F0b3JVc2VyTWVk
aWFTdWNjZXNzQ2FsbGJhY2tDdXN0b20uaCIKKworI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCisK
KyNpbmNsdWRlICJTY3JpcHRDb250cm9sbGVyLmgiCisjaW5jbHVkZSA8cnVudGltZS9KU0xvY2su
aD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCit1c2luZyBuYW1lc3BhY2UgSlNDOworCitKU05h
dmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjazo6SlNOYXZpZ2F0b3JVc2VyTWVkaWFTdWNj
ZXNzQ2FsbGJhY2soSlNPYmplY3QqIGNhbGxiYWNrLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFs
T2JqZWN0KQorICAgIDogTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrKGdsb2JhbE9i
amVjdC0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKQorICAgICwgbV9kYXRhKGNhbGxiYWNrLCBn
bG9iYWxPYmplY3QpCit7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8v
IEVOQUJMRShNRURJQV9TVFJFQU0pCisKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrQ3VzdG9tLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFj
a0N1c3RvbS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjUyODc4NjFiM2RlZDYyMjcxOWQ5NmRlZmU2NGIwZWRkMzJh
OWQ3MDEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU05h
dmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFja0N1c3RvbS5oCkBAIC0wLDAgKzEsNjEgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAg
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQor
ICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5j
LiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJV
VE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9X
TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkK
KyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
aWZuZGVmIFdURl9KU05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFja0N1c3RvbV9oCisj
ZGVmaW5lIFdURl9KU05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFja0N1c3RvbV9oCisK
KyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorCisjaW5jbHVkZSAiSlNDYWxsYmFja0RhdGEuaCIK
KyNpbmNsdWRlICJOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suaCIKKyNpbmNsdWRl
IDx3dGYvRm9yd2FyZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEpTRE9NR2xv
YmFsT2JqZWN0OworCitjbGFzcyBKU05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjayA6
IHB1YmxpYyBOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2sgeworcHVibGljOgorICAg
IHN0YXRpYyBQYXNzUmVmUHRyPEpTTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrPiBj
cmVhdGUoSlNDOjpKU09iamVjdCogY2FsbGJhY2ssIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxP
YmplY3QpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IEpTTmF2aWdhdG9yVXNl
ck1lZGlhU3VjY2Vzc0NhbGxiYWNrKGNhbGxiYWNrLCBnbG9iYWxPYmplY3QpKTsKKyAgICB9CisK
K3ByaXZhdGU6CisgICAgSlNOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2soSlNDOjpK
U09iamVjdCogY2FsbGJhY2ssIEpTRE9NR2xvYmFsT2JqZWN0Kik7CisKKyAgICBKU0NhbGxiYWNr
RGF0YSBtX2RhdGE7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBF
TkFCTEUoTUVESUFfU1RSRUFNKQorCisjZW5kaWYgLy8gV1RGX0pTTmF2aWdhdG9yVXNlck1lZGlh
U3VjY2Vzc0NhbGxiYWNrQ3VzdG9tX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3Y4L2N1c3RvbS9WOE5hdmlnYXRvckN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy92OC9jdXN0b20vVjhOYXZpZ2F0b3JDdXN0b20uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg3NDg1NGJi
MmZlNjEyZTYyYTIxYThlODEwOWMwMDMwNzNjNWQ2ZmQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhOYXZpZ2F0b3JDdXN0b20uY3BwCkBAIC0w
LDAgKzEsMTExIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBt
ZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUg
b2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJT
IEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09Q
WVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICog
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlY4TmF2aWdhdG9yLmgi
CisKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorCisjaW5jbHVkZSAiTmF2aWdhdG9yLmgiCisj
aW5jbHVkZSAiVjhCaW5kaW5nLmgiCisjaW5jbHVkZSAiVjhOYXZpZ2F0b3JVc2VyTWVkaWFFcnJv
ckNhbGxiYWNrQ3VzdG9tLmgiCisjaW5jbHVkZSAiVjhOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNz
Q2FsbGJhY2tDdXN0b20uaCIKKyNpbmNsdWRlICJWOFByb3h5LmgiCisKK3VzaW5nIG5hbWVzcGFj
ZSBXVEY7CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RhdGljIGNvbnN0IGNoYXIgdHlwZU1p
c21hdGNoRXJyb3JbXSA9ICJUWVBFX01JU01BVENIX0VSUjogRE9NIEV4Y2VwdGlvbiAxNyI7CisK
K3N0YXRpYyB2b2lkIHRocm93VHlwZU1pc21hdGNoRXhjZXB0aW9uKCkKK3sKKyAgICBWOFByb3h5
Ojp0aHJvd0Vycm9yKFY4UHJveHk6OkdlbmVyYWxFcnJvciwgdHlwZU1pc21hdGNoRXJyb3IpOwor
fQorCitzdGF0aWMgUGFzc1JlZlB0cjxOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2s+
IGNyZWF0ZU5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjayh2ODo6TG9jYWw8djg6OlZh
bHVlPiB2YWx1ZSwgYm9vbCYgc3VjY2VlZGVkKQoreworICAgIHN1Y2NlZWRlZCA9IHRydWU7CisK
KyAgICAvLyBUaGUgc3BlYyBzcGVjaWZpZXMgJ0Z1bmN0aW9uT25seScgZm9yIHRoaXMgb2JqZWN0
LgorICAgIGlmICghdmFsdWUtPklzRnVuY3Rpb24oKSkgeworICAgICAgICBzdWNjZWVkZWQgPSBm
YWxzZTsKKyAgICAgICAgdGhyb3dUeXBlTWlzbWF0Y2hFeGNlcHRpb24oKTsKKyAgICAgICAgcmV0
dXJuIDA7CisgICAgfQorCisgICAgcmV0dXJuIFY4TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0Nh
bGxiYWNrQ3VzdG9tOjpjcmVhdGUodmFsdWUsIGdldFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSk7
Cit9CisKK3N0YXRpYyBQYXNzUmVmUHRyPE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2s+
IGNyZWF0ZU5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2sodjg6OkxvY2FsPHY4OjpWYWx1
ZT4gdmFsdWUsIGJvb2wmIHN1Y2NlZWRlZCkKK3sKKyAgICBzdWNjZWVkZWQgPSB0cnVlOworCisg
ICAgLy8gQXJndW1lbnQgaXMgb3B0aW9uYWwgKGhlbmNlIHVuZGVmaW5lZCBpcyBhbGxvd2VkKSwg
YW5kIG51bGwgaXMgYWxsb3dlZC4KKyAgICBpZiAoaXNVbmRlZmluZWRPck51bGwodmFsdWUpKQor
ICAgICAgICByZXR1cm4gMDsKKworICAgIC8vIFRoZSBzcGVjIHNwZWNpZmllcyAnRnVuY3Rpb25P
bmx5JyBmb3IgdGhpcyBvYmplY3QuCisgICAgaWYgKCF2YWx1ZS0+SXNGdW5jdGlvbigpKSB7Cisg
ICAgICAgIHN1Y2NlZWRlZCA9IGZhbHNlOworICAgICAgICB0aHJvd1R5cGVNaXNtYXRjaEV4Y2Vw
dGlvbigpOworICAgICAgICByZXR1cm4gMDsKKyAgICB9CisKKyAgICByZXR1cm4gVjhOYXZpZ2F0
b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrQ3VzdG9tOjpjcmVhdGUodmFsdWUsIGdldFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQoKSk7Cit9CisKK3Y4OjpIYW5kbGU8djg6OlZhbHVlPiBWOE5hdmlnYXRv
cjo6d2Via2l0R2V0VXNlck1lZGlhQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncykK
K3sKKyAgICBJTkNfU1RBVFMoIkRPTS5OYXZpZ2F0b3Iud2Via2l0R2V0VXNlck1lZGlhKCkiKTsK
KworICAgIHY4OjpUcnlDYXRjaCBleGNlcHRpb25DYXRjaGVyOworICAgIFN0cmluZyBvcHRpb25z
ID0gdG9XZWJDb3JlU3RyaW5nKGFyZ3NbMF0pOworICAgIGlmIChleGNlcHRpb25DYXRjaGVyLkhh
c0NhdWdodCgpKQorICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihleGNlcHRpb25DYXRjaGVyLkV4
Y2VwdGlvbigpKTsKKworICAgIGJvb2wgc3VjY2VlZGVkID0gZmFsc2U7CisKKyAgICBSZWZQdHI8
TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrPiBzdWNjZXNzQ2FsbGJhY2sgPSBjcmVh
dGVOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2soYXJnc1sxXSwgc3VjY2VlZGVkKTsK
KyAgICBpZiAoIXN1Y2NlZWRlZCB8fCAhc3VjY2Vzc0NhbGxiYWNrKQorICAgICAgICByZXR1cm4g
djg6OlVuZGVmaW5lZCgpOworCisgICAgUmVmUHRyPE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2Fs
bGJhY2s+IGVycm9yQ2FsbGJhY2sgPSBjcmVhdGVOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxi
YWNrKGFyZ3NbMl0sIHN1Y2NlZWRlZCk7CisgICAgaWYgKCFzdWNjZWVkZWQpCisgICAgICAgIHJl
dHVybiB2ODo6VW5kZWZpbmVkKCk7CisKKyAgICBOYXZpZ2F0b3IqIG5hdmlnYXRvciA9IFY4TmF2
aWdhdG9yOjp0b05hdGl2ZShhcmdzLkhvbGRlcigpKTsKKyAgICBuYXZpZ2F0b3ItPndlYmtpdEdl
dFVzZXJNZWRpYShvcHRpb25zLCBzdWNjZXNzQ2FsbGJhY2sucmVsZWFzZSgpLCBlcnJvckNhbGxi
YWNrLnJlbGVhc2UoKSk7CisgICAgcmV0dXJuIHY4OjpVbmRlZmluZWQoKTsKK30KKworfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVBTSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE5hdmlnYXRvclVzZXJN
ZWRpYUVycm9yQ2FsbGJhY2tDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4TmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFja0N1c3RvbS5jcHAKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMTRiMGYwNzFmODVmMmIxODJkYjE4ZDU2ZmM4ZDRkYmNmMzEyMTZlYQotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE5hdmlnYXRvclVz
ZXJNZWRpYUVycm9yQ2FsbGJhY2tDdXN0b20uY3BwCkBAIC0wLDAgKzEsODcgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJp
YnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhl
IG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3Ig
cHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBz
cGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICog
IkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAi
Y29uZmlnLmgiCisjaW5jbHVkZSAiVjhOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrQ3Vz
dG9tLmgiCisKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorCisjaW5jbHVkZSAiU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dC5oIgorI2luY2x1ZGUgIlY4Q3VzdG9tVm9pZENhbGxiYWNrLmgiIC8vIEZv
ciBpbnZva2VDYWxsYmFjaworI2luY2x1ZGUgIlY4TmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuaCIK
KyNpbmNsdWRlICJWOFByb3h5LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworVjhOYXZpZ2F0
b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrQ3VzdG9tOjpWOE5hdmlnYXRvclVzZXJNZWRpYUVycm9y
Q2FsbGJhY2tDdXN0b20odjg6OkxvY2FsPHY4OjpPYmplY3Q+IGNhbGxiYWNrLCBTY3JpcHRFeGVj
dXRpb25Db250ZXh0KiBjb250ZXh0KQorICAgIDogTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxs
YmFjayhjb250ZXh0KQorICAgICwgbV9jYWxsYmFjayh2ODo6UGVyc2lzdGVudDx2ODo6T2JqZWN0
Pjo6TmV3KGNhbGxiYWNrKSkKK3sKK30KKworVjhOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxi
YWNrQ3VzdG9tOjp+VjhOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrQ3VzdG9tKCkKK3sK
KyAgICBtX2NhbGxiYWNrLkRpc3Bvc2UoKTsKK30KKwordm9pZCBWOE5hdmlnYXRvclVzZXJNZWRp
YUVycm9yQ2FsbGJhY2tDdXN0b206OmhhbmRsZUV2ZW50KE5hdmlnYXRvclVzZXJNZWRpYUVycm9y
KiBlcnJvcikKK3sKKyAgICB2ODo6SGFuZGxlU2NvcGUgaGFuZGxlU2NvcGU7CisKKyAgICAvLyBB
Y3RpdmVET01PYmplY3Qgd2lsbCBudWxsIG91ciBwb2ludGVyIHRvIHRoZSBTY3JpcHRFeGVjdXRp
b25Db250ZXh0IHdoZW4gaXQgZ29lcyBhd2F5LgorICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQq
IHNjcmlwdENvbnRleHQgPSBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7CisgICAgaWYgKCFzY3Jp
cHRDb250ZXh0KQorICAgICAgICByZXR1cm47CisKKyAgICAvLyBUaGUgbG9va3VwIG9mIHRoZSBw
cm94eSB3aWxsIGZhaWwgaWYgdGhlIEZyYW1lIGhhcyBiZWVuIGRldGFjaGVkLgorICAgIFY4UHJv
eHkqIHByb3h5ID0gVjhQcm94eTo6cmV0cmlldmUoc2NyaXB0Q29udGV4dCk7CisgICAgaWYgKCFw
cm94eSkKKyAgICAgICAgcmV0dXJuOworCisgICAgdjg6OkhhbmRsZTx2ODo6Q29udGV4dD4gY29u
dGV4dCA9IHByb3h5LT5jb250ZXh0KCk7CisgICAgaWYgKGNvbnRleHQuSXNFbXB0eSgpKQorICAg
ICAgICByZXR1cm47CisKKyAgICB2ODo6Q29udGV4dDo6U2NvcGUgc2NvcGUoY29udGV4dCk7CisK
KyAgICB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gYXJndltdID0geworICAgICAgICB0b1Y4KGVycm9y
KQorICAgIH07CisKKyAgICAvLyBQcm90ZWN0IHRoZSBzY3JpcHQgY29udGV4dCB1bnRpbCB0aGUg
Y2FsbGJhY2sgcmV0dXJucy4KKyAgICBSZWZQdHI8U2NyaXB0RXhlY3V0aW9uQ29udGV4dD4gcHJv
dGVjdG9yKHNjcmlwdENvbnRleHQpOworCisgICAgYm9vbCBjYWxsYmFja1JldHVyblZhbHVlID0g
ZmFsc2U7CisgICAgaW52b2tlQ2FsbGJhY2sobV9jYWxsYmFjaywgMSwgYXJndiwgY2FsbGJhY2tS
ZXR1cm5WYWx1ZSwgc2NyaXB0Q29udGV4dCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
KworI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNr
Q3VzdG9tLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhOYXZpZ2F0b3JV
c2VyTWVkaWFFcnJvckNhbGxiYWNrQ3VzdG9tLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDY3YjFhNWI2NWE4ZTFl
YWMxN2I5MTlmM2M3MjUzZDI1MjJiM2FhNAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2tD
dXN0b20uaApAQCAtMCwwICsxLDY0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2ds
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAq
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRo
ZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRy
aWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZl
ZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlS
SUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
KyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBWOE5hdmlnYXRvclVzZXJNZWRpYUVycm9y
Q2FsbGJhY2tDdXN0b21faAorI2RlZmluZSBWOE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJh
Y2tDdXN0b21faAorCisjaW5jbHVkZSAiTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5o
IgorCisjaW5jbHVkZSA8djguaD4KKyNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgorI2luY2x1
ZGUgPHd0Zi9SZWZQdHIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBOYXZpZ2F0
b3JVc2VyTWVkaWFFcnJvcjsKK2NsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CisKK2NsYXNz
IFY4TmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFja0N1c3RvbSA6IHB1YmxpYyBOYXZpZ2F0
b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0
cjxWOE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2tDdXN0b20+IGNyZWF0ZSh2ODo6TG9j
YWw8djg6OlZhbHVlPiB2YWx1ZSwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCkKKyAg
ICB7CisgICAgICAgIEFTU0VSVCh2YWx1ZS0+SXNPYmplY3QoKSk7CisgICAgICAgIHJldHVybiBh
ZG9wdFJlZihuZXcgVjhOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrQ3VzdG9tKHZhbHVl
LT5Ub09iamVjdCgpLCBjb250ZXh0KSk7CisgICAgfQorICAgIHZpcnR1YWwgflY4TmF2aWdhdG9y
VXNlck1lZGlhRXJyb3JDYWxsYmFja0N1c3RvbSgpOworCisgICAgdmlydHVhbCB2b2lkIGhhbmRs
ZUV2ZW50KE5hdmlnYXRvclVzZXJNZWRpYUVycm9yKik7CisKK3ByaXZhdGU6CisgICAgVjhOYXZp
Z2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrQ3VzdG9tKHY4OjpMb2NhbDx2ODo6T2JqZWN0Piwg
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCopOworCisgICAgdjg6OlBlcnNpc3RlbnQ8djg6Ok9iamVj
dD4gbV9jYWxsYmFjazsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8v
IFY4TmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFja0N1c3RvbV9oCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhOYXZpZ2F0b3JVc2VyTWVkaWFTdWNj
ZXNzQ2FsbGJhY2tDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9t
L1Y4TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrQ3VzdG9tLmNwcApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li40OTFmNTI2NjNiYzY1NDQwYjVhNDQ0ODRmM2YzMGQxZWFjYTlmMzQxCi0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4TmF2aWdhdG9yVXNlck1l
ZGlhU3VjY2Vzc0NhbGxiYWNrQ3VzdG9tLmNwcApAQCAtMCwwICsxLDU1IEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1
dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBu
YW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHBy
b21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3Bl
Y2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJB
UyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwK
KyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNv
bmZpZy5oIgorI2luY2x1ZGUgIlY4TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrQ3Vz
dG9tLmgiCisKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorCisjaW5jbHVkZSAiU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dC5oIgorI2luY2x1ZGUgIlY4Q3VzdG9tVm9pZENhbGxiYWNrLmgiIC8vIEZv
ciBpbnZva2VDYWxsYmFjaworI2luY2x1ZGUgIlY4UHJveHkuaCIKKworbmFtZXNwYWNlIFdlYkNv
cmUgeworCitWOE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFja0N1c3RvbTo6VjhOYXZp
Z2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2tDdXN0b20odjg6OkxvY2FsPHY4OjpPYmplY3Q+
IGNhbGxiYWNrLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0KQorICAgIDogTmF2aWdh
dG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrKGNvbnRleHQpCisgICAgLCBtX2NhbGxiYWNrKHY4
OjpQZXJzaXN0ZW50PHY4OjpPYmplY3Q+OjpOZXcoY2FsbGJhY2spKQoreworfQorCitWOE5hdmln
YXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFja0N1c3RvbTo6flY4TmF2aWdhdG9yVXNlck1lZGlh
U3VjY2Vzc0NhbGxiYWNrQ3VzdG9tKCkKK3sKKyAgICBtX2NhbGxiYWNrLkRpc3Bvc2UoKTsKK30K
KworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVB
TSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE5hdmln
YXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFja0N1c3RvbS5oIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvY3VzdG9tL1Y4TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrQ3VzdG9t
LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTFhYmQ2NThiMWNlYzY1Y2FjZTM2M2I3NzM2ZGE5ODhlMTIxZjBmMQot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE5h
dmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFja0N1c3RvbS5oCkBAIC0wLDAgKzEsNjEgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAg
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQor
ICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5j
LiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJV
VE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9X
TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkK
KyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
aWZuZGVmIFY4TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrQ3VzdG9tX2gKKyNkZWZp
bmUgVjhOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2tDdXN0b21faAorCisjaW5jbHVk
ZSAiTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmgiCisKKyNpbmNsdWRlIDx2OC5o
PgorI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgor
CituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CisK
K2NsYXNzIFY4TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrQ3VzdG9tIDogcHVibGlj
IE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjayB7CitwdWJsaWM6CisgICAgc3RhdGlj
IFBhc3NSZWZQdHI8VjhOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2tDdXN0b20+IGNy
ZWF0ZSh2ODo6TG9jYWw8djg6OlZhbHVlPiB2YWx1ZSwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCog
Y29udGV4dCkKKyAgICB7CisgICAgICAgIEFTU0VSVCh2YWx1ZS0+SXNPYmplY3QoKSk7CisgICAg
ICAgIHJldHVybiBhZG9wdFJlZihuZXcgVjhOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJh
Y2tDdXN0b20odmFsdWUtPlRvT2JqZWN0KCksIGNvbnRleHQpKTsKKyAgICB9CisgICAgdmlydHVh
bCB+VjhOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2tDdXN0b20oKTsKKworcHJpdmF0
ZToKKyAgICBWOE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFja0N1c3RvbSh2ODo6TG9j
YWw8djg6Ok9iamVjdD4sIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKTsKKworICAgIHY4OjpQZXJz
aXN0ZW50PHY4OjpPYmplY3Q+IG1fY2FsbGJhY2s7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCisKKyNlbmRpZiAvLyBWOE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFja0N1c3Rv
bV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NhbGxiYWNrVGFzay5oIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9DYWxsYmFja1Rhc2suaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45ZWUzZmYyYWU2ODgw
NWM4MDZmZDFiZThiYmI2NDM2MTM4MTQ0ZDE2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9DYWxsYmFja1Rhc2suaApAQCAtMCwwICsxLDg1IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlv
bi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1l
cyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lm
aWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAq
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworCisjaWZuZGVmIENhbGxi
YWNrVGFza19oCisjZGVmaW5lIENhbGxiYWNrVGFza19oCisKKyNpZiBFTkFCTEUoTUVESUFfU1RS
RUFNKQorCisjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgorI2luY2x1ZGUgPHd0
Zi9Gb3J3YXJkLmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgorCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisKKy8vIEF1eGlsaWFyIHRlbXBsYXRlIHRvIHNjaGVkdWxlIGNhbGxzIHRvIGNhbGxiYWNr
cyB1c2luZyB0aGVpciBvd24gc2NyaXB0IGV4ZWN1dGlvbiBjb250ZXh0LgorLy8gQ2FsbGJhY2tU
eXBlIGlzIGFzc3VtZWQgdG8gaW1wbGVtZW50IFNjaGVkdWxlciBhbmQgdG8gYmUgYW4gQWN0aXZl
RE9NT2JqZWN0LgordGVtcGxhdGUgPHR5cGVuYW1lIENhbGxiYWNrVHlwZSwgdHlwZW5hbWUgQXJn
dW1lbnRUeXBlPgorY2xhc3MgQ2FsbGJhY2tUYXNrIDogcHVibGljIFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQ6OlRhc2sgeworcHVibGljOgorICAgIHN0YXRpYyBQYXNzT3duUHRyPENhbGxiYWNrVGFz
az4gY3JlYXRlKENhbGxiYWNrVHlwZSogY2FsbGJhY2ssIEFyZ3VtZW50VHlwZSogZGF0YSkKKyAg
ICB7CisgICAgICAgIHJldHVybiBhZG9wdFB0cihuZXcgQ2FsbGJhY2tUYXNrKGNhbGxiYWNrLCBk
YXRhKSk7CisgICAgfQorCisgICAgdmlydHVhbCB2b2lkIHBlcmZvcm1UYXNrKFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQqKQorICAgIHsKKyAgICAgICAgbV9jYWxsYmFjay0+aGFuZGxlRXZlbnQobV9k
YXRhLmdldCgpKTsKKyAgICB9CisKKyAgICBjbGFzcyBTY2hlZHVsZXIgeworICAgIHB1YmxpYzoK
KyAgICAgICAgYm9vbCBzY2hlZHVsZUNhbGxiYWNrKEFyZ3VtZW50VHlwZSogZGF0YSkKKyAgICAg
ICAgeworICAgICAgICAgICAgaWYgKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQgPSBz
dGF0aWNfY2FzdDxDYWxsYmFja1R5cGUqPih0aGlzKS0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgp
KSB7CisgICAgICAgICAgICAgICAgY29udGV4dC0+cG9zdFRhc2soQ2FsbGJhY2tUYXNrPENhbGxi
YWNrVHlwZSwgQXJndW1lbnRUeXBlPjo6Y3JlYXRlKHN0YXRpY19jYXN0PENhbGxiYWNrVHlwZSo+
KHRoaXMpLCBkYXRhKSk7CisgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgICAg
ICB9CisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIH0KKyAgICB9OworCitwcml2
YXRlOgorICAgIENhbGxiYWNrVGFzayhDYWxsYmFja1R5cGUqIGNhbGxiYWNrLCBBcmd1bWVudFR5
cGUqIGRhdGEpCisgICAgICAgIDogbV9jYWxsYmFjayhhZG9wdFJlZihjYWxsYmFjaykpCisgICAg
ICAgICwgbV9kYXRhKGFkb3B0UmVmKGRhdGEpKQorICAgIHsKKyAgICB9CisKKyAgICBSZWZQdHI8
Q2FsbGJhY2tUeXBlPiBtX2NhbGxiYWNrOworICAgIFJlZlB0cjxBcmd1bWVudFR5cGU+IG1fZGF0
YTsKK307CisKK30KKworI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0pCisKKyNlbmRpZiAv
LyBDYWxsYmFja1Rhc2tfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0
b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3IuY3BwCmluZGV4IDZhMjY3YWQ0
MTYxOTY5OTAzYzgwY2E2Mzk0NDBjMzkxYWY1MzA3ZWQuLmQxZGE3YTgxOWRiZmFiMGVmNzAyOThi
OTdjZmI3OGY0MThjOGNkZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdh
dG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvci5jcHAKQEAgLTI0Miw0
ICsyNDIsMTMgQEAgdm9pZCBOYXZpZ2F0b3I6OnJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKGNvbnN0
IFN0cmluZyYgc2NoZW1lLCBjb25zdCBTdHJpbmcmIHVybCwKIH0KICNlbmRpZgogCisjaWYgRU5B
QkxFKE1FRElBX1NUUkVBTSkKK3ZvaWQgTmF2aWdhdG9yOjp3ZWJraXRHZXRVc2VyTWVkaWEoY29u
c3QgU3RyaW5nJiBvcHRpb25zLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQ
YXNzUmVmUHRyPE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjaz4gc3VjY2Vzc0NhbGxi
YWNrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQYXNzUmVmUHRyPE5hdmln
YXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2s+IGVycm9yQ2FsbGJhY2spCit7CisgICAgLy8gRklY
TUU6IGltcGxlbWVudCBhIGNhbGwgdG8gdGhlIE1lZGlhU3RyZWFtQ29udHJvbGxlciB3aGVuIGl0
J3MgYXZhaWxhYmxlLgorfQorI2VuZGlmCisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL05hdmlnYXRvci5oCmluZGV4IDY5M2JkZTEzZjkwODJjNGFjMTc3ZmY1NWU2MzQ0OGIxNjNh
M2YxNzIuLjJhN2RjZWE5NzA4NjRjZGNiOTkwOGUyZjhmMTlmNDc4NWJiNjE1MmMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9OYXZpZ2F0b3IuaApAQCAtMjEsNiArMjEsOCBAQAogI2RlZmluZSBOYXZpZ2F0b3JfaAog
CiAjaW5jbHVkZSAiTmF2aWdhdG9yQmFzZS5oIgorI2luY2x1ZGUgIk5hdmlnYXRvclVzZXJNZWRp
YUVycm9yQ2FsbGJhY2suaCIKKyNpbmNsdWRlICJOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2Fs
bGJhY2suaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVm
UHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KQEAgLTY3LDYgKzY5LDExIEBAIHB1
YmxpYzoKICAgICB2b2lkIHJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKGNvbnN0IFN0cmluZyYgc2No
ZW1lLCBjb25zdCBTdHJpbmcmIHVybCwgY29uc3QgU3RyaW5nJiB0aXRsZSwgRXhjZXB0aW9uQ29k
ZSYpOwogI2VuZGlmCiAKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorICAgIHZpcnR1YWwgdm9p
ZCB3ZWJraXRHZXRVc2VyTWVkaWEoY29uc3QgU3RyaW5nJiBvcHRpb25zLCBQYXNzUmVmUHRyPE5h
dmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjaz4sCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBQYXNzUmVmUHRyPE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2s+
ID0gMCk7CisjZW5kaWYKKwogcHJpdmF0ZToKICAgICBOYXZpZ2F0b3IoRnJhbWUqKTsKICAgICBG
cmFtZSogbV9mcmFtZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9y
LmlkbCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yLmlkbAppbmRleCBiZjNmMTA4ZWM5
MDI1YzAwODZiZjI4MGYzODE5MGM0ZTkzYWVkOTdlLi42NjdmMWQwNzFiM2U1Y2Y3OTVjMjQyZWYy
MTU3MzEwMmM1NTU3MWQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRv
ci5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3IuaWRsCkBAIC0zNyw3ICsz
Nyw3IEBAIG1vZHVsZSB3aW5kb3cgewogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3Ry
aW5nIHZlbmRvclN1YjsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gY29va2ll
RW5hYmxlZDsKICAgICAgICAgYm9vbGVhbiBqYXZhRW5hYmxlZCgpOwotICAgICAgICAKKwogICAg
ICAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiBvbkxpbmU7CiAKICNpZiBkZWZpbmVkKEVO
QUJMRV9HRU9MT0NBVElPTikgJiYgRU5BQkxFX0dFT0xPQ0FUSU9OCkBAIC01Miw2ICs1MiwxMiBA
QCBtb2R1bGUgd2luZG93IHsKICAgICAgICAgdm9pZCByZWdpc3RlclByb3RvY29sSGFuZGxlcihp
biBET01TdHJpbmcgc2NoZW1lLCBpbiBET01TdHJpbmcgdXJsLCBpbiBET01TdHJpbmcgdGl0bGUp
CiAgICAgICAgICAgICByYWlzZXMoRG9tRXhjZXB0aW9uKTsKICNlbmRpZgorCisjaWYgZGVmaW5l
ZChFTkFCTEVfTUVESUFfU1RSRUFNKSAmJiBFTkFCTEVfTUVESUFfU1RSRUFNCisgICAgICAgIFtD
dXN0b20sIEVuYWJsZWRBdFJ1bnRpbWVdIHZvaWQgd2Via2l0R2V0VXNlck1lZGlhKGluIERPTVN0
cmluZyBvcHRpb25zLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbiBbQ2FsbGJhY2tdIE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3ND
YWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIFtDYWxsYmFjaywgT3B0aW9uYWxdIE5hdmln
YXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2sgZXJyb3JDYWxsYmFjayk7CisjZW5kaWYKICAgICB9
OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvclVzZXJNZWRp
YUVycm9yLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmgK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMWZmMjZiZTlkNGRhYWIyNDZkOGNmMGNiNTM0NWE1Zjg3ODQxMDQ2OAotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yVXNlck1lZGlhRXJy
b3IuaApAQCAtMCwwICsxLDU5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMg
YXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIg
dGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1
dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBm
cm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IK
KyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAq
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvcl9oCisj
ZGVmaW5lIE5hdmlnYXRvclVzZXJNZWRpYUVycm9yX2gKKworI2luY2x1ZGUgPHd0Zi9SZWZDb3Vu
dGVkLmg+CisKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorCituYW1lc3BhY2UgV2ViQ29yZSB7
CisKK2NsYXNzIE5hdmlnYXRvclVzZXJNZWRpYUVycm9yIDogcHVibGljIFJlZkNvdW50ZWQ8TmF2
aWdhdG9yVXNlck1lZGlhRXJyb3I+IHsKK3B1YmxpYzoKKyAgICBOYXZpZ2F0b3JVc2VyTWVkaWFF
cnJvcih1bnNpZ25lZCBzaG9ydCBjb2RlKSA6IG1fY29kZShjb2RlKSB7IH0KKyAgICB2aXJ0dWFs
IH5OYXZpZ2F0b3JVc2VyTWVkaWFFcnJvcigpIHsgfQorCisgICAgZW51bSB7CisgICAgICAgIFBF
Uk1JU1NJT05fREVOSUVEID0gMQorICAgIH07CisKKyAgICB1bnNpZ25lZCBzaG9ydCBjb2RlKCkg
Y29uc3QgeyByZXR1cm4gbV9jb2RlOyB9CisKK3ByaXZhdGU6CisgICAgdW5zaWduZWQgc2hvcnQg
bV9jb2RlOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxF
KE1FRElBX1NUUkVBTSkKKworI2VuZGlmIC8vIE5hdmlnYXRvclVzZXJNZWRpYUVycm9yX2gKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuaWRs
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5pZGwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMzc1NjY0OGFiNTk1YTQ4NzA4NjM0OWVlM2FiYjYzZDU4OTIxMGY3ZAotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuaWRs
CkBAIC0wLDAgKzEsNDIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUK
KyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUg
bmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3Jz
IG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20K
KyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Np
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICog
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
CisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCittb2R1bGUgd2luZG93IHsKKworICAgIC8vIEZJWE1FOiBkZWxldGUg
dGhpcyBpbnRlcmZhY2UgYW5kIGltcGxlbWVudCBhIGN1c3RvbSBiaW5kaW5nIHNpbmNlIHNwZWMg
ZGVmaW5lcyBpdCBhcyBhIE5vSW50ZXJmYWNlT2JqZWN0LgorICAgIGludGVyZmFjZSBbCisgICAg
ICAgIENvbmRpdGlvbmFsPU1FRElBX1NUUkVBTQorICAgIF0gTmF2aWdhdG9yVXNlck1lZGlhRXJy
b3IgeworICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBQRVJNSVNTSU9OX0RFTklFRCA9IDE7
CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBzaG9ydCBjb2RlOworICAgIH07
CisKK30KKwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3JVc2VyTWVk
aWFFcnJvckNhbGxiYWNrLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvclVzZXJNZWRp
YUVycm9yQ2FsbGJhY2suaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43NTQ4M2I4OTZmZDAyYmIxYjc3ZGUwYzJjNDBm
NDZmMjkzMWQ3M2E3Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZp
Z2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmgKQEAgLTAsMCArMSw1OCBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmli
dXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUg
bmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBw
cm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAi
QVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
CisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgTmF2
aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFja19oCisjZGVmaW5lIE5hdmlnYXRvclVzZXJNZWRp
YUVycm9yQ2FsbGJhY2tfaAorCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKworI2luY2x1ZGUg
IkFjdGl2ZURPTU9iamVjdC5oIgorI2luY2x1ZGUgIkNhbGxiYWNrVGFzay5oIgorI2luY2x1ZGUg
Ik5hdmlnYXRvclVzZXJNZWRpYUVycm9yLmgiCisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4K
KworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0Owor
CitjbGFzcyBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrIDogcHVibGljIEFjdGl2ZURP
TU9iamVjdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWMg
UmVmQ291bnRlZDxOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrPiwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWMgQ2FsbGJhY2tUYXNrPE5hdmlnYXRv
clVzZXJNZWRpYUVycm9yQ2FsbGJhY2ssIE5hdmlnYXRvclVzZXJNZWRpYUVycm9yPjo6U2NoZWR1
bGVyIHsKK3B1YmxpYzoKKyAgICBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrKFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQpIDogQWN0aXZlRE9NT2JqZWN0KGNvbnRleHQsIHRo
aXMpIHsgfQorICAgIHZpcnR1YWwgfk5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2soKSB7
IH0KKyAgICB2aXJ0dWFsIHZvaWQgaGFuZGxlRXZlbnQoTmF2aWdhdG9yVXNlck1lZGlhRXJyb3Iq
KSA9IDA7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUo
TUVESUFfU1RSRUFNKQorCisjZW5kaWYgLy8gTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFj
a19oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvclVzZXJNZWRpYVN1
Y2Nlc3NDYWxsYmFjay5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFT
dWNjZXNzQ2FsbGJhY2suaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41YjBmYWYyZDM3ZTQ0NDU5M2Q4MGUwYTcyZWNm
ZjY5ZmMwMmZiNzMwCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZp
Z2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suaApAQCAtMCwwICsxLDU2IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3Ry
aWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRo
ZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9y
IHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQg
c3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAq
ICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBO
YXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2tfaAorI2RlZmluZSBOYXZpZ2F0b3JVc2Vy
TWVkaWFTdWNjZXNzQ2FsbGJhY2tfaAorCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKworI2lu
Y2x1ZGUgIkFjdGl2ZURPTU9iamVjdC5oIgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKKwor
Y2xhc3MgTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrIDogcHVibGljIEFjdGl2ZURP
TU9iamVjdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB1Ymxp
YyBSZWZDb3VudGVkPE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjaz4geworcHVibGlj
OgorICAgIE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjayhTY3JpcHRFeGVjdXRpb25D
b250ZXh0KiBjb250ZXh0KSA6IEFjdGl2ZURPTU9iamVjdChjb250ZXh0LCB0aGlzKSB7IH0KKyAg
ICB2aXJ0dWFsIH5OYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2soKSB7IH0KKyAgICAv
LyBGSVhNRTogaW1wbGVtZW50IHdoZW4gdGhlIEdlbmVyYXRlZFN0cmVhbSBjbGFzcyBpcyBhdmFp
bGFibGUuCisgICAgLy8gdmlydHVhbCB2b2lkIGhhbmRsZUV2ZW50KEdlbmVyYXRlZFN0cmVhbSop
ID0gMDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShN
RURJQV9TVFJFQU0pCisKKyNlbmRpZiAvLyBOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJh
Y2tfaAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>86616</attachid>
            <date>2011-03-23 07:32:24 -0700</date>
            <delta_ts>2011-03-23 12:22:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-56586-20110323143222.patch</filename>
            <type>text/plain</type>
            <size>75988</size>
            <attacher name="Leandro Graciá Gil">leandrogracia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQKaW5kZXggMmUwZTYzNmVkZjZkZGNhMGM1NGZhMzM4ZGQ4M2E3MGRm
OTk2NDRlNS4uOTJmNTU5ZmI1NGJmZDMxYmZmYjY4ODE3Y2Y4OGE5ZjUzM2EyM2Q4NyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUv
Q01ha2VMaXN0cy50eHQKQEAgLTE5MzgsNiArMTkzOCwxOCBAQCBJRiAoRU5BQkxFX1BST0dSRVNT
X1RBRykKICAgICApCiBFTkRJRiAoKQogCitJRiAoRU5BQkxFX01FRElBX1NUUkVBTSkKKyAgICBM
SVNUKEFQUEVORCBXZWJDb3JlX1NPVVJDRVMKKyAgICAgICAgYmluZGluZ3MvanMvSlNOYXZpZ2F0
b3JDdXN0b20uY3BwCisgICAgICAgIGJpbmRpbmdzL2pzL0pTTmF2aWdhdG9yVXNlck1lZGlhRXJy
b3JDYWxsYmFja0N1c3RvbS5jcHAKKyAgICAgICAgYmluZGluZ3MvanMvSlNOYXZpZ2F0b3JVc2Vy
TWVkaWFTdWNjZXNzQ2FsbGJhY2tDdXN0b20uY3BwCisgICAgKQorCisgICAgTElTVChBUFBFTkQg
V2ViQ29yZV9JRExfRklMRVMKKyAgICAgICAgcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5p
ZGwKKyAgICApCitFTkRJRiAoKQorCiAKIAogIyBNb2R1bGVzIHRoYXQgdGhlIGJpbmRpbmdzIGdl
bmVyYXRvciBzY3JpcHRzIG1heSB1c2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBlYjllYWE4MTg1N2EzN2IzZGM3
NTRjNjM1ODIyZTNlYTU5NGMxMGU1Li5jOTczNzRmNmEwMTNkMjFkNzBmZTUyMWZmYjA1NDhlNDg3
NjYyNWM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0yLDYgKzIsNzkgQEAKIAogICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KIAorICAgICAgICBNZWRpYSBTdHJlYW0gQVBJOiBhZGQgdGhlIGdl
dFVzZXJNZWRpYSBtZXRob2QgYW5kIHRoZSBKYXZhc2NyaXB0IGJpbmRpbmdzLgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTY1ODYKKworICAgICAgICBB
ZGQgdGhlIGdldFVzZXJNZWRpYSBtZXRob2QgdG8gdGhlIG5hdmlnYXRvciBhbG9uZyBpdHMgZXJy
b3IgYW5kIGNhbGxiYWNrIEpTIHR5cGVzLgorICAgICAgICBDdXJyZW50IHNwZWNpZmljYXRpb246
IGh0dHA6Ly93d3cud2hhdHdnLm9yZy9zcGVjcy93ZWItYXBwcy9jdXJyZW50LXdvcmsvbXVsdGlw
YWdlL2RuZC5odG1sI3ZpZGVvLWNvbmZlcmVuY2luZy1hbmQtcGVlci10by1wZWVyLWNvbW11bmlj
YXRpb24KKworICAgICAgICBUZXN0cyBmb3IgdGhlIE1lZGlhIFN0cmVhbSBBUEkgd2lsbCBiZSBw
cm92aWRlZCBieSB0aGUgYnVnIDU2NTg3LgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6Cisg
ICAgICAgICogQ29kZUdlbmVyYXRvcnMucHJpOgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLmNw
cDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIEdOVW1ha2VmaWxl
LmFtOgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnBybzoKKyAg
ICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAgKiBXZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogYmluZGluZ3MvanMvSlNCaW5k
aW5nc0FsbEluT25lLmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU05hdmlnYXRvckN1c3Rv
bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjcmVhdGVOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNz
Q2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6Y3JlYXRlTmF2aWdhdG9yVXNlck1lZGlhRXJy
b3JDYWxsYmFjayk6CisgICAgICAgIChXZWJDb3JlOjpKU05hdmlnYXRvcjo6d2Via2l0R2V0VXNl
ck1lZGlhKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU05hdmlnYXRvclVzZXJNZWRpYUVycm9y
Q2FsbGJhY2tDdXN0b20uY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkpTTmF2aWdhdG9y
VXNlck1lZGlhRXJyb3JDYWxsYmFjazo6SlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNr
KToKKyAgICAgICAgKFdlYkNvcmU6OkpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjazo6
aGFuZGxlRXZlbnQpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTTmF2aWdhdG9yVXNlck1lZGlh
RXJyb3JDYWxsYmFja0N1c3RvbS5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkpTTmF2aWdh
dG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjazo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkpT
TmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjazo6fkpTTmF2aWdhdG9yVXNlck1lZGlhRXJy
b3JDYWxsYmFjayk6CisgICAgICAgICogYmluZGluZ3MvanMvSlNOYXZpZ2F0b3JVc2VyTWVkaWFT
dWNjZXNzQ2FsbGJhY2tDdXN0b20uY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkpTTmF2
aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrOjpKU05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nl
c3NDYWxsYmFjayk6CisgICAgICAgICogYmluZGluZ3MvanMvSlNOYXZpZ2F0b3JVc2VyTWVkaWFT
dWNjZXNzQ2FsbGJhY2tDdXN0b20uaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpKU05hdmln
YXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjazo6Y3JlYXRlKToKKyAgICAgICAgKiBiaW5kaW5n
cy92OC9jdXN0b20vVjhOYXZpZ2F0b3JDdXN0b20uY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNv
cmU6OnRocm93VHlwZU1pc21hdGNoRXhjZXB0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0
ZU5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjayk6CisgICAgICAgIChXZWJDb3JlOjpj
cmVhdGVOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrKToKKyAgICAgICAgKFdlYkNvcmU6
OlY4TmF2aWdhdG9yOjp3ZWJraXRHZXRVc2VyTWVkaWFDYWxsYmFjayk6CisgICAgICAgICogYmlu
ZGluZ3MvdjgvY3VzdG9tL1Y4TmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFja0N1c3RvbS5j
cHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6VjhOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNh
bGxiYWNrQ3VzdG9tOjpWOE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2tDdXN0b20pOgor
ICAgICAgICAoV2ViQ29yZTo6VjhOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrQ3VzdG9t
Ojp+VjhOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrQ3VzdG9tKToKKyAgICAgICAgKFdl
YkNvcmU6OlY4TmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFja0N1c3RvbTo6aGFuZGxlRXZl
bnQpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOE5hdmlnYXRvclVzZXJNZWRpYUVy
cm9yQ2FsbGJhY2tDdXN0b20uaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpWOE5hdmlnYXRv
clVzZXJNZWRpYUVycm9yQ2FsbGJhY2tDdXN0b206OmNyZWF0ZSk6CisgICAgICAgICogYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrQ3VzdG9tLmNw
cDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpWOE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3ND
YWxsYmFja0N1c3RvbTo6VjhOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2tDdXN0b20p
OgorICAgICAgICAoV2ViQ29yZTo6VjhOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2tD
dXN0b206On5WOE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFja0N1c3RvbSk6CisgICAg
ICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxi
YWNrQ3VzdG9tLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6VjhOYXZpZ2F0b3JVc2VyTWVk
aWFTdWNjZXNzQ2FsbGJhY2tDdXN0b206OmNyZWF0ZSk6CisgICAgICAgICogcGFnZS9DYWxsYmFj
a1Rhc2suaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpDYWxsYmFja1Rhc2s6OmNyZWF0ZSk6
CisgICAgICAgIChXZWJDb3JlOjpDYWxsYmFja1Rhc2s6OnBlcmZvcm1UYXNrKToKKyAgICAgICAg
KFdlYkNvcmU6OkNhbGxiYWNrVGFzazo6U2NoZWR1bGVyOjpzY2hlZHVsZUNhbGxiYWNrKToKKyAg
ICAgICAgKFdlYkNvcmU6OkNhbGxiYWNrVGFzazo6Q2FsbGJhY2tUYXNrKToKKyAgICAgICAgKiBw
YWdlL05hdmlnYXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0b3I6OndlYmtpdEdl
dFVzZXJNZWRpYSk6CisgICAgICAgICogcGFnZS9OYXZpZ2F0b3IuaDoKKyAgICAgICAgKiBwYWdl
L05hdmlnYXRvci5pZGw6CisgICAgICAgICogcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5o
OiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRvclVzZXJNZWRpYUVycm9yOjpOYXZp
Z2F0b3JVc2VyTWVkaWFFcnJvcik6CisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0b3JVc2VyTWVk
aWFFcnJvcjo6fk5hdmlnYXRvclVzZXJNZWRpYUVycm9yKToKKyAgICAgICAgKFdlYkNvcmU6Ok5h
dmlnYXRvclVzZXJNZWRpYUVycm9yOjpjb2RlKToKKyAgICAgICAgKiBwYWdlL05hdmlnYXRvclVz
ZXJNZWRpYUVycm9yLmlkbDogQWRkZWQuCisgICAgICAgICogcGFnZS9OYXZpZ2F0b3JVc2VyTWVk
aWFFcnJvckNhbGxiYWNrLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdG9yVXNl
ck1lZGlhRXJyb3JDYWxsYmFjazo6TmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjayk6Cisg
ICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrOjp+TmF2aWdh
dG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjayk6CisgICAgICAgICogcGFnZS9OYXZpZ2F0b3JVc2Vy
TWVkaWFTdWNjZXNzQ2FsbGJhY2suaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0
b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2s6Ok5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxs
YmFjayk6CisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJh
Y2s6On5OYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2spOgorCisyMDExLTAzLTIzICBM
ZWFuZHJvIEdyYWNpYSBHaWwgIDxsZWFuZHJvZ3JhY2lhQGNocm9taXVtLm9yZz4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwogICAgICAgICBNZWRpYSBTdHJlYW0gQVBJ
OiBhZGQgYSBmbGFnIHRvIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMuCiAgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NjkyMQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Db2RlR2VuZXJhdG9ycy5wcmkgYi9Tb3VyY2UvV2ViQ29yZS9Db2RlR2VuZXJh
dG9ycy5wcmkKaW5kZXggMmY4OWE1ZDBiNzg5ZmMxNjYxNDcwYjRiZDZiY2EzM2VmZTE0ZjlkMi4u
ZTUzNjI2NzFjMWY5NzQ5YWRmZjJiZTZjNmI4ZjBkY2NmMTkzNmYzYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ29kZUdlbmVyYXRvcnMucHJpCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NvZGVH
ZW5lcmF0b3JzLnByaQpAQCAtMzI2LDYgKzMyNiw3IEBAIElETF9CSU5ESU5HUyArPSBcCiAgICAg
cGFnZS9Mb2NhdGlvbi5pZGwgXAogICAgIHBhZ2UvTWVtb3J5SW5mby5pZGwgXAogICAgIHBhZ2Uv
TmF2aWdhdG9yLmlkbCBcCisgICAgcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5pZGwgXAog
ICAgIHBhZ2UvUGVyZm9ybWFuY2UuaWRsIFwKICAgICBwYWdlL1BlcmZvcm1hbmNlTmF2aWdhdGlv
bi5pZGwgXAogICAgIHBhZ2UvUGVyZm9ybWFuY2VUaW1pbmcuaWRsIFwKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLmNwcAppbmRleCAyNDAyMmY3NGVmNmI4ODIzN2FlYmZiZTU5ODA4YzNiYTQ3N2JmZTgy
Li5jNDlmN2U5NTE3OWU3YmQ4MjY0NGJjMzMzZWY1YzFiNDkzYmY2OGFjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvRGVy
aXZlZFNvdXJjZXMuY3BwCkBAIC0yNDUsNiArMjQ1LDcgQEAKICNpbmNsdWRlICJKU011dGF0aW9u
RXZlbnQuY3BwIgogI2luY2x1ZGUgIkpTTmFtZWROb2RlTWFwLmNwcCIKICNpbmNsdWRlICJKU05h
dmlnYXRvci5jcHAiCisjaW5jbHVkZSAiSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5jcHAiCiAj
aW5jbHVkZSAiSlNOb2RlLmNwcCIKICNpbmNsdWRlICJKU05vZGVGaWx0ZXIuY3BwIgogI2luY2x1
ZGUgIkpTTm9kZUl0ZXJhdG9yLmNwcCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2
ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4
IDY5NmVmMWM5MjQzMzc0N2ZlNGU5NzliYzNiZGI2NDJkMmQzNjE2MjIuLjNlZTFjYTY2M2YzNDAx
NTA1ODA3OGZjOGIwOWU4NzQ2MmIzOWJkNTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rl
cml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFr
ZQpAQCAtMzA3LDYgKzMwNyw3IEBAIERPTV9DTEFTU0VTID0gXAogICAgIE11dGF0aW9uRXZlbnQg
XAogICAgIE5hbWVkTm9kZU1hcCBcCiAgICAgTmF2aWdhdG9yIFwKKyAgICBOYXZpZ2F0b3JVc2Vy
TWVkaWFFcnJvciBcCiAgICAgTm9kZSBcCiAgICAgTm9kZUZpbHRlciBcCiAgICAgTm9kZUl0ZXJh
dG9yIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtIGIvU291cmNl
L1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KaW5kZXggNjc3OGU1NmU4N2FkNzRhZWQ5YmVkYWMwMzVh
MDNlYzk0YTQyMzkyNy4uZDMyYTViNGRlZDFhNmI3NjcxOTA2YmUwYmFmYTgzMmQ0N2YxN2U5NSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KKysrIGIvU291cmNlL1dl
YkNvcmUvR05VbWFrZWZpbGUuYW0KQEAgLTQ3MCw2ICs0NzAsOCBAQCB3ZWJjb3JlX2J1aWx0X3Nv
dXJjZXMgKz0gXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOYW1lZE5vZGVNYXAuaCBcCiAJ
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05hdmlnYXRvci5jcHAgXAogCURlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNOYXZpZ2F0b3IuaCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05hdmln
YXRvclVzZXJNZWRpYUVycm9yLmNwcCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05hdmln
YXRvclVzZXJNZWRpYUVycm9yLmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOb2RlLmNw
cCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05vZGVGaWx0ZXIuY3BwIFwKIAlEZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTTm9kZUZpbHRlci5oIFwKQEAgLTg0NCw2ICs4NDYsMTAgQEAgd2Vi
Y29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU01lc3NhZ2VQ
b3J0Q3VzdG9tLmggXAogCVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTmFtZWROb2RlTWFw
Q3VzdG9tLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNOYXZpZ2F0b3JDdXN0
b20uY3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU05hdmlnYXRvclVzZXJNZWRp
YUVycm9yQ2FsbGJhY2tDdXN0b20uY3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2tDdXN0b20uaCBcCisJU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2tDdXN0b20u
Y3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU05hdmlnYXRvclVzZXJNZWRpYVN1
Y2Nlc3NDYWxsYmFja0N1c3RvbS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU05v
ZGVDdXN0b20uY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU05vZGVDdXN0b20u
aCBcCiAJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNOb2RlRmlsdGVyQ29uZGl0aW9uLmNw
cCBcCkBAIC0yMjAzLDYgKzIyMDksNyBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9X
ZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0tleWZyYW1lQW5pbWF0aW9uLmggXAogCVNvdXJjZS9XZWJD
b3JlL3BhZ2UvQmFySW5mby5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3BhZ2UvQmFySW5mby5oIFwK
KwlTb3VyY2UvV2ViQ29yZS9wYWdlL0NhbGxiYWNrVGFzay5oIFwKIAlTb3VyY2UvV2ViQ29yZS9w
YWdlL0Nocm9tZS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmggXAogCVNvdXJj
ZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmggXApAQCAtMjI3MCw2ICsyMjc3LDkgQEAgd2Vi
Y29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvci5oIFwKIAlT
b3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvckJhc2UuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9w
YWdlL05hdmlnYXRvckJhc2UuaCBcCisJU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3JVc2Vy
TWVkaWFFcnJvci5oIFwKKwlTb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvclVzZXJNZWRpYUVy
cm9yQ2FsbGJhY2suaCBcCisJU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFT
dWNjZXNzQ2FsbGJhY2suaCBcCiAJU291cmNlL1dlYkNvcmUvcGFnZS9PcmlnaW5BY2Nlc3NFbnRy
eS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3BhZ2UvT3JpZ2luQWNjZXNzRW50cnkuaCBcCiAJU291
cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcCBcCkBAIC00MjAwLDYgKzQyMTAsMTYgQEAgd2ViY29y
ZV9jcHBmbGFncyArPSAtREVOQUJMRV9JTlBVVF9TUEVFQ0g9MAogZW5kaWYgIyBFTkQgRU5BQkxF
X0lOUFVUX1NQRUVDSAogCiAjIC0tLS0KKyMgTWVkaWEgU3RyZWFtIEFQSSBzdXBwb3J0CisjIC0t
LS0KK2lmIEVOQUJMRV9NRURJQV9TVFJFQU0KK0ZFQVRVUkVfREVGSU5FUyArPSBFTkFCTEVfTUVE
SUFfU1RSRUFNPTEKK3dlYmNvcmVfY3BwZmxhZ3MgKz0gLURFTkFCTEVfTUVESUFfU1RSRUFNPTEK
K2Vsc2UKK3dlYmNvcmVfY3BwZmxhZ3MgKz0gLURFTkFCTEVfTUVESUFfU1RSRUFNPTAKK2VuZGlm
ICMgRU5EIEVOQUJMRV9NRURJQV9TVFJFQU0KKworIyAtLS0tCiAjIEljb24gRGF0YWJhc2UgU3Vw
cG9ydAogIyAtLS0tCiBpZiBFTkFCTEVfSUNPTkRBVEFCQVNFCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXgg
OWJmNTdiMTQ3YzJkYWQ1NDczYjU4NGFjOGNkMjU3NjZiZmMxNjkxZS4uZTM4ZWFjYmVmZGM3ZGMz
MzY2ZTgwOWNhYWY5MWQ3ZDQzNWIxNjgxNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5neXBpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtMTMyMCw2ICsx
MzIwLDcgQEAKICAgICAgICAgICAgICdwYWdlL0xvY2F0aW9uLmlkbCcsCiAgICAgICAgICAgICAn
cGFnZS9NZW1vcnlJbmZvLmlkbCcsCiAgICAgICAgICAgICAncGFnZS9OYXZpZ2F0b3IuaWRsJywK
KyAgICAgICAgICAgICdwYWdlL05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmlkbCcsCiAgICAgICAg
ICAgICAncGFnZS9QZXJmb3JtYW5jZS5pZGwnLAogICAgICAgICAgICAgJ3BhZ2UvUGVyZm9ybWFu
Y2VOYXZpZ2F0aW9uLmlkbCcsCiAgICAgICAgICAgICAncGFnZS9QZXJmb3JtYW5jZVRpbWluZy5p
ZGwnLApAQCAtMjExNCw2ICsyMTE1LDExIEBACiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3Vz
dG9tL1Y4TmFtZWROb2RlTWFwQ3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4TmFtZWROb2Rlc0NvbGxlY3Rpb24uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5n
cy92OC9jdXN0b20vVjhOYW1lZE5vZGVzQ29sbGVjdGlvbi5oJywKKyAgICAgICAgICAgICdiaW5k
aW5ncy92OC9jdXN0b20vVjhOYXZpZ2F0b3JDdXN0b20uY3BwJywKKyAgICAgICAgICAgICdiaW5k
aW5ncy92OC9jdXN0b20vVjhOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrQ3VzdG9tLmNw
cCcsCisgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4TmF2aWdhdG9yVXNlck1lZGlh
RXJyb3JDYWxsYmFja0N1c3RvbS5oJywKKyAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20v
VjhOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2tDdXN0b20uY3BwJywKKyAgICAgICAg
ICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJh
Y2tDdXN0b20uaCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4Tm9kZUN1c3Rv
bS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE5vZGVMaXN0Q3VzdG9t
LmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4Tm90aWZpY2F0aW9uQ2Vu
dGVyQ3VzdG9tLmNwcCcsCkBAIC0zMzM5LDYgKzMzNDUsNyBAQAogICAgICAgICAgICAgJ25vdGlm
aWNhdGlvbnMvTm90aWZpY2F0aW9uQ29udGVudHMuaCcsCiAgICAgICAgICAgICAncGFnZS9CYXJJ
bmZvLmNwcCcsCiAgICAgICAgICAgICAncGFnZS9CYXJJbmZvLmgnLAorICAgICAgICAgICAgJ3Bh
Z2UvQ2FsbGJhY2tUYXNrLmgnLAogICAgICAgICAgICAgJ3BhZ2UvQ2hyb21lLmNwcCcsCiAgICAg
ICAgICAgICAncGFnZS9Db25zb2xlLmNwcCcsCiAgICAgICAgICAgICAncGFnZS9Db250ZW50U2Vj
dXJpdHlQb2xpY3kuY3BwJywKQEAgLTMzNzYsNiArMzM4Myw5IEBACiAgICAgICAgICAgICAncGFn
ZS9OYXZpZ2F0b3IuaCcsCiAgICAgICAgICAgICAncGFnZS9OYXZpZ2F0b3JCYXNlLmNwcCcsCiAg
ICAgICAgICAgICAncGFnZS9OYXZpZ2F0b3JCYXNlLmgnLAorICAgICAgICAgICAgJ3BhZ2UvTmF2
aWdhdG9yVXNlck1lZGlhRXJyb3IuaCcsCisgICAgICAgICAgICAncGFnZS9OYXZpZ2F0b3JVc2Vy
TWVkaWFFcnJvckNhbGxiYWNrLmgnLAorICAgICAgICAgICAgJ3BhZ2UvTmF2aWdhdG9yVXNlck1l
ZGlhU3VjY2Vzc0NhbGxiYWNrLmgnLAogICAgICAgICAgICAgJ3BhZ2UvT3JpZ2luQWNjZXNzRW50
cnkuY3BwJywKICAgICAgICAgICAgICdwYWdlL09yaWdpbkFjY2Vzc0VudHJ5LmgnLAogICAgICAg
ICAgICAgJ3BhZ2UvUGFnZS5jcHAnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS5wcm8gYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnBybwppbmRleCAyYTkzNDA3YjdlMzZiNzEw
MmY5MjU4ZGI5ZTZmOGM0NzE3YTNmZDIxLi43NDM0YTk1Mzk5ODM3YWEwOGFiMDlkNGJjMmVjNmUx
NmI3MDMzNTEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnBybworKysgYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnBybwpAQCAtMzA5NCw2ICszMDk0LDM0IEBAIGNvbnRhaW5z
KERFRklORVMsIEVOQUJMRV9HRU9MT0NBVElPTj0xKSB7CiAgICAgfQogfQogCitjb250YWlucyhE
RUZJTkVTLCBFTkFCTEVfTUVESUFfU1RSRUFNPTEpIHsKKyAgICBIRUFERVJTICs9IFwKKyAgICAg
ICAgcGFnZS9DYWxsYmFja1Rhc2suaCBcCisgICAgICAgIHBhZ2UvTmF2aWdhdG9yVXNlck1lZGlh
RXJyb3IuaCBcCisgICAgICAgIHBhZ2UvTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5o
IFwKKyAgICAgICAgcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suaCBcCisK
KyAgICB2OCB7CisgICAgICAgIEhFQURFUlMgKz0gXAorICAgICAgICAgICAgYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4TmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFja0N1c3RvbS5oIFwKKyAgICAg
ICAgICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxs
YmFja0N1c3RvbS5oCisKKyAgICAgICAgU09VUkNFUyArPSBcCisgICAgICAgICAgICBiaW5kaW5n
cy92OC9jdXN0b20vVjhOYXZpZ2F0b3JDdXN0b20uY3BwIFwKKyAgICAgICAgICAgIGJpbmRpbmdz
L3Y4L2N1c3RvbS9WOE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2tDdXN0b20uY3BwIFwK
KyAgICAgICAgICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nl
c3NDYWxsYmFja0N1c3RvbS5jcHAKKworICAgIH0gZWxzZSB7CisgICAgICAgIEhFQURFUlMgKz0g
XAorICAgICAgICAgICAgYmluZGluZ3MvanMvSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxi
YWNrQ3VzdG9tLmggXAorICAgICAgICAgICAgYmluZGluZ3MvanMvSlNOYXZpZ2F0b3JVc2VyTWVk
aWFTdWNjZXNzQ2FsbGJhY2tDdXN0b20uaAorCisgICAgICAgIFNPVVJDRVMgKz0gXAorICAgICAg
ICAgICAgYmluZGluZ3MvanMvSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrQ3VzdG9t
LmNwcCBcCisgICAgICAgICAgICBiaW5kaW5ncy9qcy9KU05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nl
c3NDYWxsYmFja0N1c3RvbS5jcHAKKyAgICB9Cit9CisKIGNvbnRhaW5zKERFRklORVMsIEVOQUJM
RV9TVkc9MSkgewogICAgICF2OCB7CiAgICAgICAgIFNPVVJDRVMgKz0gXApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2ogYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagppbmRleCA1ZTk3YmIyZWJmNDcxNzIw
OTUxMjhlZWNmZTE5Nzc0Y2UzMDEyY2UwLi5jZWNhODBmYmE2OTBiOTZiMmFkOTk2OWRkNjFlYWY1
NjMyMGRjZmRiIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJD
b3JlLnZjcHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZj
cHJvagpAQCAtMjQ1OTAsNiArMjQ1OTAsMTAgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8Rmls
ZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGFnZVxDYWxsYmFja1Rhc2suaCIKKwkJCQk+CisJCQk8
L0ZpbGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGFnZVxDaHJvbWUuY3BwIgog
CQkJCT4KIAkJCTwvRmlsZT4KQEAgLTI0ODc4LDYgKzI0ODgyLDE4IEBACiAJCQkJPgogCQkJPC9G
aWxlPgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHBhZ2VcTmF2aWdhdG9yVXNlck1l
ZGlhRXJyb3IuaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0
aD0iLi5ccGFnZVxOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmgiCisJCQkJPgorCQkJ
PC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHBhZ2VcTmF2aWdhdG9yVXNl
ck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmgiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKIAkJ
CQlSZWxhdGl2ZVBhdGg9Ii4uXHBhZ2VcT3JpZ2luQWNjZXNzRW50cnkuY3BwIgogCQkJCT4KIAkJ
CTwvRmlsZT4KQEAgLTYxMjgxLDYgKzYxMjk3LDExOCBAQAogCQkJCQk8L0ZpbGVDb25maWd1cmF0
aW9uPgogCQkJCTwvRmlsZT4KIAkJCQk8RmlsZQorCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGJpbmRp
bmdzXGpzXEpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFja0N1c3RvbS5jcHAiCisJCQkJ
CT4KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiIKKwkJ
CQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQkJPgorCQkJCQkJPFRvb2wKKwkJCQkJ
CQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkJLz4KKwkJCQkJPC9GaWxlQ29uZmlndXJh
dGlvbj4KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMy
IgorCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCQk+CisJCQkJCQk8VG9vbAor
CQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCQkvPgorCQkJCQk8L0ZpbGVDb25m
aWd1cmF0aW9uPgorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJCU5hbWU9IkRlYnVnX0Nh
aXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQkJ
PgorCQkJCQkJPFRvb2wKKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkJLz4K
KwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJ
CQlOYW1lPSJSZWxlYXNlX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1
aWxkPSJ0cnVlIgorCQkJCQkJPgorCQkJCQkJPFRvb2wKKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGls
ZXJUb29sIgorCQkJCQkJLz4KKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQkJPEZpbGVD
b25maWd1cmF0aW9uCisJCQkJCQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIiCisJCQkJCQlFeGNsdWRl
ZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJCT4KKwkJCQkJCTxUb29sCisJCQkJCQkJTmFtZT0iVkND
TENvbXBpbGVyVG9vbCIKKwkJCQkJCS8+CisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJ
CTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQkJTmFtZT0iUmVsZWFzZV9MVENHfFdpbjMyIgorCQkJ
CQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCQk+CisJCQkJCQk8VG9vbAorCQkJCQkJ
CU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCQkvPgorCQkJCQk8L0ZpbGVDb25maWd1cmF0
aW9uPgorCQkJCTwvRmlsZT4KKwkJCQk8RmlsZQorCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGJpbmRp
bmdzXGpzXEpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFja0N1c3RvbS5oIgorCQkJCQk+
CisJCQkJPC9GaWxlPgorCQkJCTxGaWxlCisJCQkJCVJlbGF0aXZlUGF0aD0iLi5cYmluZGluZ3Nc
anNcSlNOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2tDdXN0b20uY3BwIgorCQkJCQk+
CisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQkJTmFtZT0iRGVidWd8V2luMzIiCisJCQkJ
CQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJCT4KKwkJCQkJCTxUb29sCisJCQkJCQkJ
TmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJCS8+CisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRp
b24+CisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiIK
KwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQkJPgorCQkJCQkJPFRvb2wKKwkJ
CQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkJLz4KKwkJCQkJPC9GaWxlQ29uZmln
dXJhdGlvbj4KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCQlOYW1lPSJEZWJ1Z19DYWly
b19DRkxpdGV8V2luMzIiCisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJCT4K
KwkJCQkJCTxUb29sCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJCS8+CisJ
CQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQkJ
TmFtZT0iUmVsZWFzZV9DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCQlFeGNsdWRlZEZyb21CdWls
ZD0idHJ1ZSIKKwkJCQkJCT4KKwkJCQkJCTxUb29sCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVy
VG9vbCIKKwkJCQkJCS8+CisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJCTxGaWxlQ29u
ZmlndXJhdGlvbgorCQkJCQkJTmFtZT0iRGVidWdfQWxsfFdpbjMyIgorCQkJCQkJRXhjbHVkZWRG
cm9tQnVpbGQ9InRydWUiCisJCQkJCQk+CisJCQkJCQk8VG9vbAorCQkJCQkJCU5hbWU9IlZDQ0xD
b21waWxlclRvb2wiCisJCQkJCQkvPgorCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCQk8
RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJCU5hbWU9IlJlbGVhc2VfTFRDR3xXaW4zMiIKKwkJCQkJ
CUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQkJPgorCQkJCQkJPFRvb2wKKwkJCQkJCQlO
YW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkJLz4KKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlv
bj4KKwkJCQk8L0ZpbGU+CisJCQkJPEZpbGUKKwkJCQkJUmVsYXRpdmVQYXRoPSIuLlxiaW5kaW5n
c1xqc1xKU05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFja0N1c3RvbS5oIgorCQkJCQk+
CisJCQkJPC9GaWxlPgorCQkJCTxGaWxlCiAJCQkJCVJlbGF0aXZlUGF0aD0iLi5cYmluZGluZ3Nc
anNcSlNOb2RlQ3VzdG9tLmNwcCIKIAkJCQkJPgogCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
aiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRl
eCA2ZDFiY2ViZmZkN2E3ZTI2ZjMxNDlhODY0ZWU4YTE2MzU0YTdjM2I3Li4wZDQwMDNjMDU3ZGYy
NzYxMGUzY2NiODlmM2I3YWVmODMzNjVjMmFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC00MDgwLDYgKzQwODAsMTYgQEAKIAkJ
QjAxNDlFN0UxMUE0QjIxNTAwMTk2QTdCIC8qIEFzeW5jSW1hZ2VSZXNpemVyLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMDE0OUU3QTExQTRCMjE1MDAx
OTZBN0IgLyogQXN5bmNJbWFnZVJlc2l6ZXIuaCAqLzsgfTsKIAkJQjAxNDlFN0YxMUE0QjIxNTAw
MTk2QTdCIC8qIEltYWdlUmVzaXplclRocmVhZC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMDE0OUU3QjExQTRCMjE1MDAxOTZBN0IgLyogSW1hZ2VS
ZXNpemVyVGhyZWFkLmNwcCAqLzsgfTsKIAkJQjAxNDlFODAxMUE0QjIxNTAwMTk2QTdCIC8qIElt
YWdlUmVzaXplclRocmVhZC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQjAxNDlFN0MxMUE0QjIxNTAwMTk2QTdCIC8qIEltYWdlUmVzaXplclRocmVhZC5o
ICovOyB9OworCQlCMURDNEJBRjEzMzhFMEYzMDBFRkY4RDggLyogSlNOYXZpZ2F0b3JVc2VyTWVk
aWFFcnJvckNhbGxiYWNrQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEIxREM0QkE4MTMzOEUwRjMwMEVGRjhEOCAvKiBKU05hdmlnYXRvclVz
ZXJNZWRpYUVycm9yQ2FsbGJhY2tDdXN0b20uY3BwICovOyB9OworCQlCMURDNEJCMDEzMzhFMEYz
MDBFRkY4RDggLyogSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrQ3VzdG9tLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMURDNEJBOTEzMzhF
MEYzMDBFRkY4RDggLyogSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrQ3VzdG9tLmgg
Ki87IH07CisJCUIxREM0QkIxMTMzOEUwRjMwMEVGRjhEOCAvKiBKU05hdmlnYXRvclVzZXJNZWRp
YVN1Y2Nlc3NDYWxsYmFja0N1c3RvbS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBCMURDNEJBQTEzMzhFMEYzMDBFRkY4RDggLyogSlNOYXZpZ2F0b3JV
c2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2tDdXN0b20uY3BwICovOyB9OworCQlCMURDNEJCMjEzMzhF
MEYzMDBFRkY4RDggLyogSlNOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2tDdXN0b20u
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIxREM0QkFC
MTMzOEUwRjMwMEVGRjhEOCAvKiBKU05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFja0N1
c3RvbS5oICovOyB9OworCQlCMURDNEJCNTEzMzhFMTQwMDBFRkY4RDggLyogQ2FsbGJhY2tUYXNr
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMURDNEJC
NDEzMzhFMTQwMDBFRkY4RDggLyogQ2FsbGJhY2tUYXNrLmggKi87IH07CisJCUIxRTQ2QzA5MTMz
M0I1N0YwMDgyMkQ3RiAvKiBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjFFNDZDMDExMzMzQjU3RjAwODIyRDdG
IC8qIE5hdmlnYXRvclVzZXJNZWRpYUVycm9yLmggKi87IH07CisJCUIxRTQ2QzBDMTMzM0I1N0Yw
MDgyMkQ3RiAvKiBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMUU0NkMwNDEzMzNCNTdGMDA4MjJE
N0YgLyogTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5oICovOyB9OworCQlCMUU0NkMw
RjEzMzNCNTdGMDA4MjJEN0YgLyogTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMUU0NkMwNzEz
MzNCNTdGMDA4MjJEN0YgLyogTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmggKi87
IH07CisJCUIxRTQ2QzUyMTMzM0MxREMwMDgyMkQ3RiAvKiBKU05hdmlnYXRvclVzZXJNZWRpYUVy
cm9yLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIx
RTQ2QzQ0MTMzM0MxREMwMDgyMkQ3RiAvKiBKU05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmNwcCAq
LzsgfTsKKwkJQjFFNDZDNTMxMzMzQzFEQzAwODIyRDdGIC8qIEpTTmF2aWdhdG9yVXNlck1lZGlh
RXJyb3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIx
RTQ2QzQ1MTMzM0MxREMwMDgyMkQ3RiAvKiBKU05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmggKi87
IH07CiAJCUIyMDExMTA3MEFCNzc0MDUwMERCMEU2OCAvKiBKU1NWR0FFbGVtZW50LmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIyMDExMTA1MEFCNzc0
MDUwMERCMEU2OCAvKiBKU1NWR0FFbGVtZW50LmNwcCAqLzsgfTsKIAkJQjIwMTExMDgwQUI3NzQw
NTAwREIwRTY4IC8qIEpTU1ZHQUVsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEIyMDExMTA2MEFCNzc0MDUwMERCMEU2OCAvKiBKU1NWR0FFbGVt
ZW50LmggKi87IH07CiAJCUIyMjI3OTYyMEQwMEJGMjIwMDcxQjc4MiAvKiBDb2xvckRpc3RhbmNl
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIyMjI3
N0NCMEQwMEJGMUYwMDcxQjc4MiAvKiBDb2xvckRpc3RhbmNlLmNwcCAqLzsgfTsKQEAgLTEwMzE5
LDYgKzEwMzI5LDE3IEBACiAJCUIwMTQ5RTdBMTFBNEIyMTUwMDE5NkE3QiAvKiBBc3luY0ltYWdl
UmVzaXplci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBc3luY0ltYWdlUmVz
aXplci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCMDE0OUU3QjExQTRCMjE1MDAx
OTZBN0IgLyogSW1hZ2VSZXNpemVyVGhyZWFkLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IEltYWdlUmVzaXplclRocmVhZC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUIwMTQ5RTdDMTFBNEIyMTUwMDE5NkE3QiAvKiBJbWFnZVJlc2l6ZXJUaHJlYWQu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW1hZ2VSZXNpemVyVGhyZWFkLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIxREM0QkE4MTMzOEUwRjMwMEVGRjhEOCAv
KiBKU05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2tDdXN0b20uY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxi
YWNrQ3VzdG9tLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjFEQzRCQTkxMzM4
RTBGMzAwRUZGOEQ4IC8qIEpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFja0N1c3RvbS5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU05hdmlnYXRvclVzZXJNZWRpYUVy
cm9yQ2FsbGJhY2tDdXN0b20uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjFEQzRC
QUExMzM4RTBGMzAwRUZGOEQ4IC8qIEpTTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNr
Q3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTTmF2aWdh
dG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrQ3VzdG9tLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJQjFEQzRCQUIxMzM4RTBGMzAwRUZGOEQ4IC8qIEpTTmF2aWdhdG9yVXNlck1l
ZGlhU3VjY2Vzc0NhbGxiYWNrQ3VzdG9tLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IEpTTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrQ3VzdG9tLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCUIxREM0QkI0MTMzOEUxNDAwMEVGRjhEOCAvKiBDYWxsYmFj
a1Rhc2suaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ2FsbGJhY2tUYXNrLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIxRTQ2QzAxMTMzM0I1N0YwMDgyMkQ3RiAv
KiBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQlCMUU0NkMwMjEzMzNCNTdGMDA4MjJEN0YgLyogTmF2aWdhdG9yVXNlck1lZGlhRXJyb3Iu
aWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IE5hdmlnYXRvclVzZXJNZWRpYUVycm9yLmlkbDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjFFNDZDMDQxMzMzQjU3RjAwODIyRDdGIC8q
IE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2suaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQlCMUU0NkMwNzEzMzNCNTdGMDA4MjJEN0YgLyogTmF2aWdhdG9y
VXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlCMUU0NkM0NDEzMzNDMURDMDA4MjJEN0YgLyogSlNOYXZpZ2F0b3JVc2Vy
TWVkaWFFcnJvci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU05h
dmlnYXRvclVzZXJNZWRpYUVycm9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
QjFFNDZDNDUxMzMzQzFEQzAwODIyRDdGIC8qIEpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJv
ci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCMjAxMTEwNTBBQjc3NDA1MDBEQjBF
NjggLyogSlNTVkdBRWxlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gSlNTVkdBRWxlbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIy
MDExMTA2MEFCNzc0MDUwMERCMEU2OCAvKiBKU1NWR0FFbGVtZW50LmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBKU1NWR0FFbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUIyMjI3N0NCMEQwMEJGMUYwMDcxQjc4MiAvKiBDb2xvckRpc3RhbmNlLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDb2xvckRpc3RhbmNlLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE0MTAwLDYgKzE0MTIxLDcgQEAKIAkJCQlC
QzEyNEVFNDBDMjY0MUNEMDA5RTIzNDkgLyogQmFySW5mby5jcHAgKi8sCiAJCQkJQkMxMjRFRTUw
QzI2NDFDRDAwOUUyMzQ5IC8qIEJhckluZm8uaCAqLywKIAkJCQlCQzEyNEVFNjBDMjY0MUNEMDA5
RTIzNDkgLyogQmFySW5mby5pZGwgKi8sCisJCQkJQjFEQzRCQjQxMzM4RTE0MDAwRUZGOEQ4IC8q
IENhbGxiYWNrVGFzay5oICovLAogCQkJCTE0RDgyMzhBMEFGOTJERjYwMDA0RjA1NyAvKiBDaHJv
bWUuY3BwICovLAogCQkJCTE0RDgyMzUwMEFGOTJBNzkwMDA0RjA1NyAvKiBDaHJvbWUuaCAqLywK
IAkJCQkxNEQ4MjQwNjBBRjkzQUVCMDAwNEYwNTcgLyogQ2hyb21lQ2xpZW50LmggKi8sCkBAIC0x
NDE4MCw2ICsxNDIwMiwxMCBAQAogCQkJCUE5QzZFNjVEMEQ3NDY2OTQwMDY0NDJFOSAvKiBOYXZp
Z2F0b3IuaWRsICovLAogCQkJCUUxMjcxOUM5MEVFRUMyMTMwMEY2MTIxMyAvKiBOYXZpZ2F0b3JC
YXNlLmNwcCAqLywKIAkJCQlFMTI3MTlDNjBFRUVDMTY4MDBGNjEyMTMgLyogTmF2aWdhdG9yQmFz
ZS5oICovLAorCQkJCUIxRTQ2QzAxMTMzM0I1N0YwMDgyMkQ3RiAvKiBOYXZpZ2F0b3JVc2VyTWVk
aWFFcnJvci5oICovLAorCQkJCUIxRTQ2QzAyMTMzM0I1N0YwMDgyMkQ3RiAvKiBOYXZpZ2F0b3JV
c2VyTWVkaWFFcnJvci5pZGwgKi8sCisJCQkJQjFFNDZDMDQxMzMzQjU3RjAwODIyRDdGIC8qIE5h
dmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2suaCAqLywKKwkJCQlCMUU0NkMwNzEzMzNCNTdG
MDA4MjJEN0YgLyogTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmggKi8sCiAJCQkJ
MDAxNDYyODgxMDNDRDFERTAwMEIyMERCIC8qIE9yaWdpbkFjY2Vzc0VudHJ5LmNwcCAqLywKIAkJ
CQkwMDE0NjI4OTEwM0NEMURFMDAwQjIwREIgLyogT3JpZ2luQWNjZXNzRW50cnkuaCAqLywKIAkJ
CQk2NUZFQTg2ODA5ODMzQURFMDBCRUQ0QUIgLyogUGFnZS5jcHAgKi8sCkBAIC0xODExNSw2ICsx
ODE0MSwxMCBAQAogCQkJCTQxRjU4NEM2MTA0NjUyQ0IwMDlDQUE2NCAvKiBKU01lc3NhZ2VQb3J0
Q3VzdG9tLmggKi8sCiAJCQkJQkNEOUMyNUYwQzE3QUE2NzAwNUM5MEEyIC8qIEpTTmFtZWROb2Rl
TWFwQ3VzdG9tLmNwcCAqLywKIAkJCQlBOUM2RTY0ODBENzQ2NUQ4MDA2NDQyRTkgLyogSlNOYXZp
Z2F0b3JDdXN0b20uY3BwICovLAorCQkJCUIxREM0QkE4MTMzOEUwRjMwMEVGRjhEOCAvKiBKU05h
dmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2tDdXN0b20uY3BwICovLAorCQkJCUIxREM0QkE5
MTMzOEUwRjMwMEVGRjhEOCAvKiBKU05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2tDdXN0
b20uaCAqLywKKwkJCQlCMURDNEJBQTEzMzhFMEYzMDBFRkY4RDggLyogSlNOYXZpZ2F0b3JVc2Vy
TWVkaWFTdWNjZXNzQ2FsbGJhY2tDdXN0b20uY3BwICovLAorCQkJCUIxREM0QkFCMTMzOEUwRjMw
MEVGRjhEOCAvKiBKU05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFja0N1c3RvbS5oICov
LAogCQkJCUJDRDlDMjYwMEMxN0FBNjcwMDVDOTBBMiAvKiBKU05vZGVDdXN0b20uY3BwICovLAog
CQkJCUJDOTQzOUMyMTE2Q0Y0OTQwMDQ4Qzc1MCAvKiBKU05vZGVDdXN0b20uaCAqLywKIAkJCQlC
Q0I3NzM2MDBDMTc4NTNEMDAxMzJCQTQgLyogSlNOb2RlRmlsdGVyQ3VzdG9tLmNwcCAqLywKQEAg
LTE4MjQyLDYgKzE4MjcyLDggQEAKIAkJCQk5RkZFM0VBNDExQjVBNDM5MDAzNzg3NEUgLyogSlNN
ZW1vcnlJbmZvLmggKi8sCiAJCQkJQTlEMjQ3RjUwRDc1N0UzMzAwRkRGOTU5IC8qIEpTTmF2aWdh
dG9yLmNwcCAqLywKIAkJCQlBOUQyNDdGNjBENzU3RTMzMDBGREY5NTkgLyogSlNOYXZpZ2F0b3Iu
aCAqLywKKwkJCQlCMUU0NkM0NDEzMzNDMURDMDA4MjJEN0YgLyogSlNOYXZpZ2F0b3JVc2VyTWVk
aWFFcnJvci5jcHAgKi8sCisJCQkJQjFFNDZDNDUxMzMzQzFEQzAwODIyRDdGIC8qIEpTTmF2aWdh
dG9yVXNlck1lZGlhRXJyb3IuaCAqLywKIAkJCQk4QTlBNTg3MjExRTg0QzgxMDA4QUNGRDEgLyog
SlNQZXJmb3JtYW5jZS5jcHAgKi8sCiAJCQkJOEE5QTU4NzMxMUU4NEM4MTAwOEFDRkQxIC8qIEpT
UGVyZm9ybWFuY2UuaCAqLywKIAkJCQk4QTlBNTg2RTExRTg0QzM1MDA4QUNGRDEgLyogSlNQZXJm
b3JtYW5jZU5hdmlnYXRpb24uY3BwICovLApAQCAtMjI2OTQsNiArMjI3MjYsMTkgQEAKIAkJCQkz
MTlFNjlCNjEzMjk5QkJEMDA0QUM5MUEgLyogV2ViS2l0QW5pbWF0aW9uTGlzdC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQkM3NzJFMTMxMzMxNjIwQzAwMUVDOUNFIC8qIENTU0xpbmVCb3hDb250YWlu
VmFsdWUuaCBpbiBIZWFkZXJzICovLAogCQkJCTRGMTQ0MjI5MTMzOUZENjIwMEUwRDZGOCAvKiBE
T01Ob2RlSGlnaGxpZ2h0ZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCUIxNDIwMjREMTMzMjc1OUQw
MDI5QjA2QiAvKiBKU05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmggaW4gSGVhZGVycyAqLywKKwkJ
CQlCMTQyMDI1MDEzMzI3NTlEMDAyOUIwNkIgLyogSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNh
bGxiYWNrLmggaW4gSGVhZGVycyAqLywKKwkJCQlCMTQyMDI1MzEzMzI3NTlEMDAyOUIwNkIgLyog
SlNOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovLAorCQkJ
CUIxNDIwMjREMTMzMjc1OUQwMDI5QjA2QiAvKiBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJQjE0MjAyNTAxMzMyNzU5RDAwMjlCMDZCIC8qIE5hdmlnYXRvclVz
ZXJNZWRpYUVycm9yQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovLAorCQkJCUIxNDIwMjUzMTMzMjc1
OUQwMDI5QjA2QiAvKiBOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suaCBpbiBIZWFk
ZXJzICovLAorCQkJCUIxRTQ2QzA5MTMzM0I1N0YwMDgyMkQ3RiAvKiBOYXZpZ2F0b3JVc2VyTWVk
aWFFcnJvci5oIGluIEhlYWRlcnMgKi8sCisJCQkJQjFFNDZDMEMxMzMzQjU3RjAwODIyRDdGIC8q
IE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovLAorCQkJCUIx
RTQ2QzBGMTMzM0I1N0YwMDgyMkQ3RiAvKiBOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJh
Y2suaCBpbiBIZWFkZXJzICovLAorCQkJCUIxRTQ2QzUzMTMzM0MxREMwMDgyMkQ3RiAvKiBKU05h
dmlnYXRvclVzZXJNZWRpYUVycm9yLmggaW4gSGVhZGVycyAqLywKKwkJCQlCMURDNEJCMDEzMzhF
MEYzMDBFRkY4RDggLyogSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrQ3VzdG9tLmgg
aW4gSGVhZGVycyAqLywKKwkJCQlCMURDNEJCMjEzMzhFMEYzMDBFRkY4RDggLyogSlNOYXZpZ2F0
b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2tDdXN0b20uaCBpbiBIZWFkZXJzICovLAorCQkJCUIx
REM0QkI1MTMzOEUxNDAwMEVGRjhEOCAvKiBDYWxsYmFja1Rhc2suaCBpbiBIZWFkZXJzICovLAog
CQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpA
QCAtMjUzNjQsNiArMjU0MDksMTMgQEAKIAkJCQlCQzc3MkUxNjEzMzE2MkMyMDAxRUM5Q0UgLyog
Q1NTTGluZUJveENvbnRhaW5WYWx1ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3RTM3RUYyRTEz
MzkyMDg4MDBCMjkyNTAgLyogU3VicmVzb3VyY2VMb2FkZXJDRi5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQk0RjE0NDIyODEzMzlGRDYyMDBFMEQ2RjggLyogRE9NTm9kZUhpZ2hsaWdodGVyLmNwcCBp
biBTb3VyY2VzICovLAorCQkJCUIxNDIwMjRGMTMzMjc1OUQwMDI5QjA2QiAvKiBKU05hdmlnYXRv
clVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlCMTQyMDI0
RjEzMzI3NTlEMDAyOUIwNkIgLyogSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmNw
cCBpbiBTb3VyY2VzICovLAorCQkJCUIxNDIwMjRGMTMzMjc1OUQwMDI5QjA2QiAvKiBOYXZpZ2F0
b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUIxRTQ2QzBC
MTMzM0I1N0YwMDgyMkQ3RiAvKiBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmNwcCBp
biBTb3VyY2VzICovLAorCQkJCUIxRTQ2QzUyMTMzM0MxREMwMDgyMkQ3RiAvKiBKU05hdmlnYXRv
clVzZXJNZWRpYUVycm9yLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUIxREM0QkFGMTMzOEUwRjMw
MEVGRjhEOCAvKiBKU05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2tDdXN0b20uY3BwIGlu
IFNvdXJjZXMgKi8sCisJCQkJQjFEQzRCQjExMzM4RTBGMzAwRUZGOEQ4IC8qIEpTTmF2aWdhdG9y
VXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICovLAogCQkJKTsK
IAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNCaW5kaW5nc0FsbEluT25lLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQmluZGluZ3NBbGxJbk9uZS5jcHAKaW5kZXgg
OTMxZmVkMzI0YzA3ZDQ5MDYwMDc2MzZjMGVjYzExM2U1N2Q4MDZhYi4uOTkyZGU1NjRhMmI5YjFl
MTE0MjY4ODc1ODFlMDY5NGQ1MzEzZjRkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNCaW5kaW5nc0FsbEluT25lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU0JpbmRpbmdzQWxsSW5PbmUuY3BwCkBAIC0xMTgsNiArMTE4LDggQEAKICNpbmNs
dWRlICJKU01lc3NhZ2VQb3J0Q3VzdG9tLmNwcCIKICNpbmNsdWRlICJKU05hbWVkTm9kZU1hcEN1
c3RvbS5jcHAiCiAjaW5jbHVkZSAiSlNOYXZpZ2F0b3JDdXN0b20uY3BwIgorI2luY2x1ZGUgIkpT
TmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFja0N1c3RvbS5jcHAiCisjaW5jbHVkZSAiSlNO
YXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2tDdXN0b20uY3BwIgogI2luY2x1ZGUgIkpT
Tm9kZUN1c3RvbS5jcHAiCiAjaW5jbHVkZSAiSlNOb2RlRmlsdGVyQ29uZGl0aW9uLmNwcCIKICNp
bmNsdWRlICJKU05vZGVGaWx0ZXJDdXN0b20uY3BwIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNOYXZpZ2F0b3JDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNOYXZpZ2F0b3JDdXN0b20uY3BwCmluZGV4IGMwMjM5MzEzMmE4MjMyYTFkNDhl
MTMxNjg2ZTM3MGQxZmY0MmY3YjIuLmEyZTljMjZhMDZjNzA0N2E3Mzc1Yzg5YzA5OGEwNjgwMWIw
YzE1MWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTmF2aWdhdG9y
Q3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU05hdmlnYXRvckN1
c3RvbS5jcHAKQEAgLTIzLDcgKzIzLDExIEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVk
ZSAiSlNOYXZpZ2F0b3IuaCIKIAorI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKKyNpbmNsdWRl
ICJKU05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2tDdXN0b20uaCIKKyNpbmNsdWRlICJK
U05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFja0N1c3RvbS5oIgogI2luY2x1ZGUgIk5h
dmlnYXRvci5oIgorI2luY2x1ZGUgPHJ1bnRpbWUvSlNGdW5jdGlvbi5oPgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKQEAgLTM4LDQgKzQyLDU4IEBAIHZvaWQgSlNOYXZpZ2F0b3I6Om1hcmtDaGls
ZHJlbihNYXJrU3RhY2smIG1hcmtTdGFjaykKICAgICBtYXJrRE9NT2JqZWN0V3JhcHBlcihtYXJr
U3RhY2ssIGdsb2JhbERhdGEsIGltcGwoKS0+b3B0aW9uYWxHZW9sb2NhdGlvbigpKTsKIH0KIAor
I2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCisKK3N0YXRpYyBQYXNzUmVmUHRyPE5hdmlnYXRvclVz
ZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjaz4gY3JlYXRlTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0Nh
bGxiYWNrKEV4ZWNTdGF0ZSogZXhlYywgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwg
SlNWYWx1ZSB2YWx1ZSkKK3sKKyAgICAvLyBUaGUgc3BlYyBzcGVjaWZpZXMgJ0Z1bmN0aW9uT25s
eScgZm9yIHRoaXMgb2JqZWN0LgorICAgIC8vIEZJWE1FOiBUaGlzIGNoZWNrIGRpc2FsbG93cyBj
YWxsYWJsZSBvYmplY3RzIGNyZWF0ZWQgdmlhIEpTQyBBUEkuIEl0J3Mgbm90IGNsZWFyIHdoYXQg
ZXhhY3RseSB0aGUgc3BlY2lmaWNhdGlvbiBpbnRlbmRzIHRvIGFsbG93LgorICAgIGlmICghdmFs
dWUuaW5oZXJpdHMoJkpTRnVuY3Rpb246OnNfaW5mbykpIHsKKyAgICAgICAgc2V0RE9NRXhjZXB0
aW9uKGV4ZWMsIFRZUEVfTUlTTUFUQ0hfRVJSKTsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQor
CisgICAgSlNPYmplY3QqIG9iamVjdCA9IGFzT2JqZWN0KHZhbHVlKTsKKyAgICByZXR1cm4gSlNO
YXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2s6OmNyZWF0ZShvYmplY3QsIGdsb2JhbE9i
amVjdCk7Cit9CisKK3N0YXRpYyBQYXNzUmVmUHRyPE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2Fs
bGJhY2s+IGNyZWF0ZU5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2soRXhlY1N0YXRlKiBl
eGVjLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU1ZhbHVlIHZhbHVlKQorewor
ICAgIC8vIEFyZ3VtZW50IGlzIG9wdGlvbmFsIChoZW5jZSB1bmRlZmluZWQgaXMgYWxsb3dlZCks
IGFuZCBudWxsIGlzIGFsbG93ZWQuCisgICAgaWYgKHZhbHVlLmlzVW5kZWZpbmVkT3JOdWxsKCkp
CisgICAgICAgIHJldHVybiAwOworCisgICAgLy8gVGhlIHNwZWMgc3BlY2lmaWVzICdGdW5jdGlv
bk9ubHknIGZvciB0aGlzIG9iamVjdC4KKyAgICAvLyBGSVhNRTogVGhpcyBjaGVjayBkaXNhbGxv
d3MgY2FsbGFibGUgb2JqZWN0cyBjcmVhdGVkIHZpYSBKU0MgQVBJLiBJdCdzIG5vdCBjbGVhciB3
aGF0IGV4YWN0bHkgdGhlIHNwZWNpZmljYXRpb24gaW50ZW5kcyB0byBhbGxvdy4KKyAgICBpZiAo
IXZhbHVlLmluaGVyaXRzKCZKU0Z1bmN0aW9uOjpzX2luZm8pKSB7CisgICAgICAgIHNldERPTUV4
Y2VwdGlvbihleGVjLCBUWVBFX01JU01BVENIX0VSUik7CisgICAgICAgIHJldHVybiAwOworICAg
IH0KKworICAgIEpTT2JqZWN0KiBvYmplY3QgPSBhc09iamVjdCh2YWx1ZSk7CisgICAgcmV0dXJu
IEpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjazo6Y3JlYXRlKG9iamVjdCwgZ2xvYmFs
T2JqZWN0KTsKK30KKworSlNWYWx1ZSBKU05hdmlnYXRvcjo6d2Via2l0R2V0VXNlck1lZGlhKEV4
ZWNTdGF0ZSogZXhlYykKK3sKKyAgICAvLyBBcmd1bWVudHM6IE9wdGlvbnMsIHN1Y2Nlc3NDYWxs
YmFjaywgKG9wdGlvbmFsKWVycm9yQ2FsbGJhY2sKKworICAgIFN0cmluZyBvcHRpb25zID0gdXN0
cmluZ1RvU3RyaW5nKGV4ZWMtPmFyZ3VtZW50KDApLnRvU3RyaW5nKGV4ZWMpKTsKKyAgICBpZiAo
ZXhlYy0+aGFkRXhjZXB0aW9uKCkpCisgICAgICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOworCisg
ICAgUmVmUHRyPE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjaz4gc3VjY2Vzc0NhbGxi
YWNrID0gY3JlYXRlTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrKGV4ZWMsIHN0YXRp
Y19jYXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4oZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpKSwg
ZXhlYy0+YXJndW1lbnQoMSkpOworICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSB8fCAhc3Vj
Y2Vzc0NhbGxiYWNrKQorICAgICAgICByZXR1cm4ganNVbmRlZmluZWQoKTsKKworICAgIFJlZlB0
cjxOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrPiBlcnJvckNhbGxiYWNrID0gY3JlYXRl
TmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjayhleGVjLCBzdGF0aWNfY2FzdDxKU0RPTUds
b2JhbE9iamVjdCo+KGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSksIGV4ZWMtPmFyZ3VtZW50
KDIpKTsKKyAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCisgICAgICAgIHJldHVybiBqc1Vu
ZGVmaW5lZCgpOworCisgICAgbV9pbXBsLT53ZWJraXRHZXRVc2VyTWVkaWEob3B0aW9ucywgc3Vj
Y2Vzc0NhbGxiYWNrLnJlbGVhc2UoKSwgZXJyb3JDYWxsYmFjay5yZWxlYXNlKCkpOworICAgIHJl
dHVybiBqc1VuZGVmaW5lZCgpOworfQorCisjZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVBTSkK
KwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNOYXZpZ2F0b3JV
c2VyTWVkaWFFcnJvckNhbGxiYWNrQ3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFja0N1c3RvbS5jcHAKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZmNlNmRhMGJjMWVkMzdlMDdiMDIzY2VkMmQxOTcyMDVmNzY4NTgwZgotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTmF2aWdhdG9yVXNlck1lZGlhRXJy
b3JDYWxsYmFja0N1c3RvbS5jcHAKQEAgLTAsMCArMSw2OCBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisg
KiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2Yg
aXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHBy
b2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAor
ICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVD
SUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIK
KyNpbmNsdWRlICJKU05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2tDdXN0b20uaCIKKwor
I2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCisKKyNpbmNsdWRlICJKU05hdmlnYXRvclVzZXJNZWRp
YUVycm9yLmgiCisjaW5jbHVkZSAiU2NyaXB0Q29udHJvbGxlci5oIgorI2luY2x1ZGUgPHJ1bnRp
bWUvSlNMb2NrLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwordXNpbmcgbmFtZXNwYWNlIEpT
QzsKKworSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrOjpKU05hdmlnYXRvclVzZXJN
ZWRpYUVycm9yQ2FsbGJhY2soSlNPYmplY3QqIGNhbGxiYWNrLCBKU0RPTUdsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0KQorICAgIDogTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjayhnbG9i
YWxPYmplY3QtPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSkKKyAgICAsIG1fZGF0YShjYWxsYmFj
aywgZ2xvYmFsT2JqZWN0KQoreworfQorCit2b2lkIEpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JD
YWxsYmFjazo6aGFuZGxlRXZlbnQoTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IqIGVycm9yKQorewor
ICAgIC8vIEFjdGl2ZURPTU9iamVjdCB3aWxsIG51bGwgb3VyIHBvaW50ZXIgdG8gdGhlIFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQgd2hlbiBpdCBnb2VzIGF3YXkuCisgICAgaWYgKCFzY3JpcHRFeGVj
dXRpb25Db250ZXh0KCkpCisgICAgICAgIHJldHVybjsKKworICAgIFJlZlB0cjxKU05hdmlnYXRv
clVzZXJNZWRpYUVycm9yQ2FsbGJhY2s+IHByb3RlY3QodGhpcyk7CisKKyAgICBKU0M6OkpTTG9j
ayBsb2NrKFNpbGVuY2VBc3NlcnRpb25zT25seSk7CisgICAgRXhlY1N0YXRlKiBleGVjID0gbV9k
YXRhLmdsb2JhbE9iamVjdCgpLT5nbG9iYWxFeGVjKCk7CisgICAgTWFya2VkQXJndW1lbnRCdWZm
ZXIgYXJnczsKKyAgICBhcmdzLmFwcGVuZCh0b0pTKGV4ZWMsIGRlcHJlY2F0ZWRHbG9iYWxPYmpl
Y3RGb3JQcm90b3R5cGUoZXhlYyksIGVycm9yKSk7CisgICAgbV9kYXRhLmludm9rZUNhbGxiYWNr
KGFyZ3MpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUo
TUVESUFfU1RSRUFNKQorCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2tDdXN0b20uaCBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFja0N1c3RvbS5oCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmRiODY3OTljZGMwODVmOGMzYjVhZWIxYWJjODM5NjEzZWM0MGVhYmYKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU05hdmlnYXRvclVzZXJN
ZWRpYUVycm9yQ2FsbGJhY2tDdXN0b20uaApAQCAtMCwwICsxLDY2IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlv
bi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1l
cyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lm
aWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAq
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBXVEZfSlNO
YXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrQ3VzdG9tX2gKKyNkZWZpbmUgV1RGX0pTTmF2
aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFja0N1c3RvbV9oCisKKyNpZiBFTkFCTEUoTUVESUFf
U1RSRUFNKQorCisjaW5jbHVkZSAiSlNDYWxsYmFja0RhdGEuaCIKKyNpbmNsdWRlICJOYXZpZ2F0
b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmgiCisjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KKwor
bmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvcjsKK2Ns
YXNzIEpTRE9NR2xvYmFsT2JqZWN0OworCitjbGFzcyBKU05hdmlnYXRvclVzZXJNZWRpYUVycm9y
Q2FsbGJhY2sgOiBwdWJsaWMgTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjayB7CitwdWJs
aWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8SlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxi
YWNrPiBjcmVhdGUoSlNDOjpKU09iamVjdCogY2FsbGJhY2ssIEpTRE9NR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IEpTTmF2aWdh
dG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjayhjYWxsYmFjaywgZ2xvYmFsT2JqZWN0KSk7CisgICAg
fQorICAgIAorICAgIHZpcnR1YWwgfkpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjaygp
IHsgfQorCitwcml2YXRlOgorICAgIEpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjayhK
U0M6OkpTT2JqZWN0KiBjYWxsYmFjaywgSlNET01HbG9iYWxPYmplY3QqKTsKKworICAgIHZpcnR1
YWwgdm9pZCBoYW5kbGVFdmVudChOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvciopOworCisgICAgSlND
YWxsYmFja0RhdGEgbV9kYXRhOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5k
aWYgLy8gRU5BQkxFKE1FRElBX1NUUkVBTSkKKworI2VuZGlmIC8vIFdURl9KU05hdmlnYXRvclVz
ZXJNZWRpYUVycm9yQ2FsbGJhY2tDdXN0b21faApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2tDdXN0b20uY3Bw
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNz
Q2FsbGJhY2tDdXN0b20uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA1MDRhNzJkYjEyMGMxMmM3NmI2ZmViODVk
YWFkMzJjYTE2ZDgxYjQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFja0N1c3RvbS5jcHAKQEAgLTAs
MCArMSw1MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0
OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
CisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9m
IEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJl
IHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhp
cyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBB
TkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlS
SUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJKU05hdmlnYXRvclVzZXJN
ZWRpYVN1Y2Nlc3NDYWxsYmFja0N1c3RvbS5oIgorCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkK
KworI2luY2x1ZGUgIlNjcmlwdENvbnRyb2xsZXIuaCIKKyNpbmNsdWRlIDxydW50aW1lL0pTTG9j
ay5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3VzaW5nIG5hbWVzcGFjZSBKU0M7CisKK0pT
TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrOjpKU05hdmlnYXRvclVzZXJNZWRpYVN1
Y2Nlc3NDYWxsYmFjayhKU09iamVjdCogY2FsbGJhY2ssIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QpCisgICAgOiBOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2soZ2xvYmFs
T2JqZWN0LT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpCisgICAgLCBtX2RhdGEoY2FsbGJhY2ss
IGdsb2JhbE9iamVjdCkKK3sKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYg
Ly8gRU5BQkxFKE1FRElBX1NUUkVBTSkKKwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2tDdXN0b20uaCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxi
YWNrQ3VzdG9tLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTI4Nzg2MWIzZGVkNjIyNzE5ZDk2ZGVmZTY0YjBlZGQz
MmE5ZDcwMQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrQ3VzdG9tLmgKQEAgLTAsMCArMSw2MSBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAq
ICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
CisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJ
bmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8g
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2Fy
ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJ
QlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICog
T1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpZm5kZWYgV1RGX0pTTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrQ3VzdG9tX2gK
KyNkZWZpbmUgV1RGX0pTTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrQ3VzdG9tX2gK
KworI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCisKKyNpbmNsdWRlICJKU0NhbGxiYWNrRGF0YS5o
IgorI2luY2x1ZGUgIk5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5oIgorI2luY2x1
ZGUgPHd0Zi9Gb3J3YXJkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgSlNET01H
bG9iYWxPYmplY3Q7CisKK2NsYXNzIEpTTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNr
IDogcHVibGljIE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjayB7CitwdWJsaWM6Cisg
ICAgc3RhdGljIFBhc3NSZWZQdHI8SlNOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2s+
IGNyZWF0ZShKU0M6OkpTT2JqZWN0KiBjYWxsYmFjaywgSlNET01HbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgSlNOYXZpZ2F0b3JV
c2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2soY2FsbGJhY2ssIGdsb2JhbE9iamVjdCkpOworICAgIH0K
KworcHJpdmF0ZToKKyAgICBKU05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjayhKU0M6
OkpTT2JqZWN0KiBjYWxsYmFjaywgSlNET01HbG9iYWxPYmplY3QqKTsKKworICAgIEpTQ2FsbGJh
Y2tEYXRhIG1fZGF0YTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8v
IEVOQUJMRShNRURJQV9TVFJFQU0pCisKKyNlbmRpZiAvLyBXVEZfSlNOYXZpZ2F0b3JVc2VyTWVk
aWFTdWNjZXNzQ2FsbGJhY2tDdXN0b21faApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvY3VzdG9tL1Y4TmF2aWdhdG9yQ3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3Y4L2N1c3RvbS9WOE5hdmlnYXRvckN1c3RvbS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODc0ODU0
YmIyZmU2MTJlNjJhMjFhOGU4MTA5YzAwMzA3M2M1ZDZmZAotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE5hdmlnYXRvckN1c3RvbS5jcHAKQEAg
LTAsMCArMSwxMTEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAq
IG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFt
ZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAq
IHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisg
KiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiVjhOYXZpZ2F0b3Iu
aCIKKworI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCisKKyNpbmNsdWRlICJOYXZpZ2F0b3IuaCIK
KyNpbmNsdWRlICJWOEJpbmRpbmcuaCIKKyNpbmNsdWRlICJWOE5hdmlnYXRvclVzZXJNZWRpYUVy
cm9yQ2FsbGJhY2tDdXN0b20uaCIKKyNpbmNsdWRlICJWOE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nl
c3NDYWxsYmFja0N1c3RvbS5oIgorI2luY2x1ZGUgIlY4UHJveHkuaCIKKwordXNpbmcgbmFtZXNw
YWNlIFdURjsKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitzdGF0aWMgY29uc3QgY2hhciB0eXBl
TWlzbWF0Y2hFcnJvcltdID0gIlRZUEVfTUlTTUFUQ0hfRVJSOiBET00gRXhjZXB0aW9uIDE3IjsK
Kworc3RhdGljIHZvaWQgdGhyb3dUeXBlTWlzbWF0Y2hFeGNlcHRpb24oKQoreworICAgIFY4UHJv
eHk6OnRocm93RXJyb3IoVjhQcm94eTo6R2VuZXJhbEVycm9yLCB0eXBlTWlzbWF0Y2hFcnJvcik7
Cit9CisKK3N0YXRpYyBQYXNzUmVmUHRyPE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFj
az4gY3JlYXRlTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrKHY4OjpMb2NhbDx2ODo6
VmFsdWU+IHZhbHVlLCBib29sJiBzdWNjZWVkZWQpCit7CisgICAgc3VjY2VlZGVkID0gdHJ1ZTsK
KworICAgIC8vIFRoZSBzcGVjIHNwZWNpZmllcyAnRnVuY3Rpb25Pbmx5JyBmb3IgdGhpcyBvYmpl
Y3QuCisgICAgaWYgKCF2YWx1ZS0+SXNGdW5jdGlvbigpKSB7CisgICAgICAgIHN1Y2NlZWRlZCA9
IGZhbHNlOworICAgICAgICB0aHJvd1R5cGVNaXNtYXRjaEV4Y2VwdGlvbigpOworICAgICAgICBy
ZXR1cm4gMDsKKyAgICB9CisKKyAgICByZXR1cm4gVjhOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNz
Q2FsbGJhY2tDdXN0b206OmNyZWF0ZSh2YWx1ZSwgZ2V0U2NyaXB0RXhlY3V0aW9uQ29udGV4dCgp
KTsKK30KKworc3RhdGljIFBhc3NSZWZQdHI8TmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFj
az4gY3JlYXRlTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjayh2ODo6TG9jYWw8djg6OlZh
bHVlPiB2YWx1ZSwgYm9vbCYgc3VjY2VlZGVkKQoreworICAgIHN1Y2NlZWRlZCA9IHRydWU7CisK
KyAgICAvLyBBcmd1bWVudCBpcyBvcHRpb25hbCAoaGVuY2UgdW5kZWZpbmVkIGlzIGFsbG93ZWQp
LCBhbmQgbnVsbCBpcyBhbGxvd2VkLgorICAgIGlmIChpc1VuZGVmaW5lZE9yTnVsbCh2YWx1ZSkp
CisgICAgICAgIHJldHVybiAwOworCisgICAgLy8gVGhlIHNwZWMgc3BlY2lmaWVzICdGdW5jdGlv
bk9ubHknIGZvciB0aGlzIG9iamVjdC4KKyAgICBpZiAoIXZhbHVlLT5Jc0Z1bmN0aW9uKCkpIHsK
KyAgICAgICAgc3VjY2VlZGVkID0gZmFsc2U7CisgICAgICAgIHRocm93VHlwZU1pc21hdGNoRXhj
ZXB0aW9uKCk7CisgICAgICAgIHJldHVybiAwOworICAgIH0KKworICAgIHJldHVybiBWOE5hdmln
YXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2tDdXN0b206OmNyZWF0ZSh2YWx1ZSwgZ2V0U2NyaXB0
RXhlY3V0aW9uQ29udGV4dCgpKTsKK30KKwordjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4TmF2aWdh
dG9yOjp3ZWJraXRHZXRVc2VyTWVkaWFDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdz
KQoreworICAgIElOQ19TVEFUUygiRE9NLk5hdmlnYXRvci53ZWJraXRHZXRVc2VyTWVkaWEoKSIp
OworCisgICAgdjg6OlRyeUNhdGNoIGV4Y2VwdGlvbkNhdGNoZXI7CisgICAgU3RyaW5nIG9wdGlv
bnMgPSB0b1dlYkNvcmVTdHJpbmcoYXJnc1swXSk7CisgICAgaWYgKGV4Y2VwdGlvbkNhdGNoZXIu
SGFzQ2F1Z2h0KCkpCisgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGV4Y2VwdGlvbkNhdGNoZXIu
RXhjZXB0aW9uKCkpOworCisgICAgYm9vbCBzdWNjZWVkZWQgPSBmYWxzZTsKKworICAgIFJlZlB0
cjxOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2s+IHN1Y2Nlc3NDYWxsYmFjayA9IGNy
ZWF0ZU5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjayhhcmdzWzFdLCBzdWNjZWVkZWQp
OworICAgIGlmICghc3VjY2VlZGVkIHx8ICFzdWNjZXNzQ2FsbGJhY2spCisgICAgICAgIHJldHVy
biB2ODo6VW5kZWZpbmVkKCk7CisKKyAgICBSZWZQdHI8TmF2aWdhdG9yVXNlck1lZGlhRXJyb3JD
YWxsYmFjaz4gZXJyb3JDYWxsYmFjayA9IGNyZWF0ZU5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2Fs
bGJhY2soYXJnc1syXSwgc3VjY2VlZGVkKTsKKyAgICBpZiAoIXN1Y2NlZWRlZCkKKyAgICAgICAg
cmV0dXJuIHY4OjpVbmRlZmluZWQoKTsKKworICAgIE5hdmlnYXRvciogbmF2aWdhdG9yID0gVjhO
YXZpZ2F0b3I6OnRvTmF0aXZlKGFyZ3MuSG9sZGVyKCkpOworICAgIG5hdmlnYXRvci0+d2Via2l0
R2V0VXNlck1lZGlhKG9wdGlvbnMsIHN1Y2Nlc3NDYWxsYmFjay5yZWxlYXNlKCksIGVycm9yQ2Fs
bGJhY2sucmVsZWFzZSgpKTsKKyAgICByZXR1cm4gdjg6OlVuZGVmaW5lZCgpOworfQorCit9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFNKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4TmF2aWdhdG9yVXNl
ck1lZGlhRXJyb3JDYWxsYmFja0N1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92
OC9jdXN0b20vVjhOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrQ3VzdG9tLmNwcApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xNGIwZjA3MWY4NWYyYjE4MmRiMThkNTZmYzhkNGRiY2YzMTIxNmVhCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4TmF2aWdhdG9y
VXNlck1lZGlhRXJyb3JDYWxsYmFja0N1c3RvbS5jcHAKQEAgLTAsMCArMSw4NyBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0
cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0
aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisg
KiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1Ig
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRl
ICJjb25maWcuaCIKKyNpbmNsdWRlICJWOE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2tD
dXN0b20uaCIKKworI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCisKKyNpbmNsdWRlICJTY3JpcHRF
eGVjdXRpb25Db250ZXh0LmgiCisjaW5jbHVkZSAiVjhDdXN0b21Wb2lkQ2FsbGJhY2suaCIgLy8g
Rm9yIGludm9rZUNhbGxiYWNrCisjaW5jbHVkZSAiVjhOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5o
IgorI2luY2x1ZGUgIlY4UHJveHkuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitWOE5hdmln
YXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2tDdXN0b206OlY4TmF2aWdhdG9yVXNlck1lZGlhRXJy
b3JDYWxsYmFja0N1c3RvbSh2ODo6TG9jYWw8djg6Ok9iamVjdD4gY2FsbGJhY2ssIFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQpCisgICAgOiBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNh
bGxiYWNrKGNvbnRleHQpCisgICAgLCBtX2NhbGxiYWNrKHY4OjpQZXJzaXN0ZW50PHY4OjpPYmpl
Y3Q+OjpOZXcoY2FsbGJhY2spKQoreworfQorCitWOE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2Fs
bGJhY2tDdXN0b206On5WOE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2tDdXN0b20oKQor
eworICAgIG1fY2FsbGJhY2suRGlzcG9zZSgpOworfQorCit2b2lkIFY4TmF2aWdhdG9yVXNlck1l
ZGlhRXJyb3JDYWxsYmFja0N1c3RvbTo6aGFuZGxlRXZlbnQoTmF2aWdhdG9yVXNlck1lZGlhRXJy
b3IqIGVycm9yKQoreworICAgIHY4OjpIYW5kbGVTY29wZSBoYW5kbGVTY29wZTsKKworICAgIC8v
IEFjdGl2ZURPTU9iamVjdCB3aWxsIG51bGwgb3VyIHBvaW50ZXIgdG8gdGhlIFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQgd2hlbiBpdCBnb2VzIGF3YXkuCisgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCogc2NyaXB0Q29udGV4dCA9IHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsKKyAgICBpZiAoIXNj
cmlwdENvbnRleHQpCisgICAgICAgIHJldHVybjsKKworICAgIC8vIFRoZSBsb29rdXAgb2YgdGhl
IHByb3h5IHdpbGwgZmFpbCBpZiB0aGUgRnJhbWUgaGFzIGJlZW4gZGV0YWNoZWQuCisgICAgVjhQ
cm94eSogcHJveHkgPSBWOFByb3h5OjpyZXRyaWV2ZShzY3JpcHRDb250ZXh0KTsKKyAgICBpZiAo
IXByb3h5KQorICAgICAgICByZXR1cm47CisKKyAgICB2ODo6SGFuZGxlPHY4OjpDb250ZXh0PiBj
b250ZXh0ID0gcHJveHktPmNvbnRleHQoKTsKKyAgICBpZiAoY29udGV4dC5Jc0VtcHR5KCkpCisg
ICAgICAgIHJldHVybjsKKworICAgIHY4OjpDb250ZXh0OjpTY29wZSBzY29wZShjb250ZXh0KTsK
KworICAgIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBhcmd2W10gPSB7CisgICAgICAgIHRvVjgoZXJy
b3IpCisgICAgfTsKKworICAgIC8vIFByb3RlY3QgdGhlIHNjcmlwdCBjb250ZXh0IHVudGlsIHRo
ZSBjYWxsYmFjayByZXR1cm5zLgorICAgIFJlZlB0cjxTY3JpcHRFeGVjdXRpb25Db250ZXh0PiBw
cm90ZWN0b3Ioc2NyaXB0Q29udGV4dCk7CisKKyAgICBib29sIGNhbGxiYWNrUmV0dXJuVmFsdWUg
PSBmYWxzZTsKKyAgICBpbnZva2VDYWxsYmFjayhtX2NhbGxiYWNrLCAxLCBhcmd2LCBjYWxsYmFj
a1JldHVyblZhbHVlLCBzY3JpcHRDb250ZXh0KTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQorCisjZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVBTSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJh
Y2tDdXN0b20uaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE5hdmlnYXRv
clVzZXJNZWRpYUVycm9yQ2FsbGJhY2tDdXN0b20uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wNjdiMWE1YjY1YThl
MWVhYzE3YjkxOWYzYzcyNTNkMjUyMmIzYWE0Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4TmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFj
a0N1c3RvbS5oCkBAIC0wLDAgKzEsNjQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29v
Z2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICog
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQor
ICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVp
dGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29u
dHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJp
dmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVu
IHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09Q
WVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFY4TmF2aWdhdG9yVXNlck1lZGlhRXJy
b3JDYWxsYmFja0N1c3RvbV9oCisjZGVmaW5lIFY4TmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxs
YmFja0N1c3RvbV9oCisKKyNpbmNsdWRlICJOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNr
LmgiCisKKyNpbmNsdWRlIDx2OC5oPgorI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CisjaW5j
bHVkZSA8d3RmL1JlZlB0ci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIE5hdmln
YXRvclVzZXJNZWRpYUVycm9yOworY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKKworY2xh
c3MgVjhOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrQ3VzdG9tIDogcHVibGljIE5hdmln
YXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2sgeworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVm
UHRyPFY4TmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFja0N1c3RvbT4gY3JlYXRlKHY4OjpM
b2NhbDx2ODo6VmFsdWU+IHZhbHVlLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0KQor
ICAgIHsKKyAgICAgICAgQVNTRVJUKHZhbHVlLT5Jc09iamVjdCgpKTsKKyAgICAgICAgcmV0dXJu
IGFkb3B0UmVmKG5ldyBWOE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2tDdXN0b20odmFs
dWUtPlRvT2JqZWN0KCksIGNvbnRleHQpKTsKKyAgICB9CisgICAgdmlydHVhbCB+VjhOYXZpZ2F0
b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrQ3VzdG9tKCk7CisKKyAgICB2aXJ0dWFsIHZvaWQgaGFu
ZGxlRXZlbnQoTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IqKTsKKworcHJpdmF0ZToKKyAgICBWOE5h
dmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2tDdXN0b20odjg6OkxvY2FsPHY4OjpPYmplY3Q+
LCBTY3JpcHRFeGVjdXRpb25Db250ZXh0Kik7CisKKyAgICB2ODo6UGVyc2lzdGVudDx2ODo6T2Jq
ZWN0PiBtX2NhbGxiYWNrOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYg
Ly8gVjhOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrQ3VzdG9tX2gKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE5hdmlnYXRvclVzZXJNZWRpYVN1
Y2Nlc3NDYWxsYmFja0N1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0
b20vVjhOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2tDdXN0b20uY3BwCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjQ5MWY1MjY2M2JjNjU0NDBiNWE0NDQ4NGYzZjMwZDFlYWNhOWYzNDEKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhOYXZpZ2F0b3JVc2Vy
TWVkaWFTdWNjZXNzQ2FsbGJhY2tDdXN0b20uY3BwCkBAIC0wLDAgKzEsNTUgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJp
YnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhl
IG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3Ig
cHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBz
cGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICog
IkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAi
Y29uZmlnLmgiCisjaW5jbHVkZSAiVjhOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2tD
dXN0b20uaCIKKworI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCisKKyNpbmNsdWRlICJTY3JpcHRF
eGVjdXRpb25Db250ZXh0LmgiCisjaW5jbHVkZSAiVjhDdXN0b21Wb2lkQ2FsbGJhY2suaCIgLy8g
Rm9yIGludm9rZUNhbGxiYWNrCisjaW5jbHVkZSAiVjhQcm94eS5oIgorCituYW1lc3BhY2UgV2Vi
Q29yZSB7CisKK1Y4TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrQ3VzdG9tOjpWOE5h
dmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFja0N1c3RvbSh2ODo6TG9jYWw8djg6Ok9iamVj
dD4gY2FsbGJhY2ssIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQpCisgICAgOiBOYXZp
Z2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2soY29udGV4dCkKKyAgICAsIG1fY2FsbGJhY2so
djg6OlBlcnNpc3RlbnQ8djg6Ok9iamVjdD46Ok5ldyhjYWxsYmFjaykpCit7Cit9CisKK1Y4TmF2
aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrQ3VzdG9tOjp+VjhOYXZpZ2F0b3JVc2VyTWVk
aWFTdWNjZXNzQ2FsbGJhY2tDdXN0b20oKQoreworICAgIG1fY2FsbGJhY2suRGlzcG9zZSgpOwor
fQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU1RS
RUFNKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4TmF2
aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrQ3VzdG9tLmggYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9jdXN0b20vVjhOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2tDdXN0
b20uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMWFiZDY1OGIxY2VjNjVjYWNlMzYzYjc3MzZkYTk4OGUxMjFmMGYx
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4
TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrQ3VzdG9tLmgKQEAgLTAsMCArMSw2MSBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAq
ICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
CisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJ
bmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8g
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2Fy
ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJ
QlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICog
T1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpZm5kZWYgVjhOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2tDdXN0b21faAorI2Rl
ZmluZSBWOE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFja0N1c3RvbV9oCisKKyNpbmNs
dWRlICJOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suaCIKKworI2luY2x1ZGUgPHY4
Lmg+CisjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsK
KworY2xhc3MgVjhOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2tDdXN0b20gOiBwdWJs
aWMgTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrIHsKK3B1YmxpYzoKKyAgICBzdGF0
aWMgUGFzc1JlZlB0cjxWOE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFja0N1c3RvbT4g
Y3JlYXRlKHY4OjpMb2NhbDx2ODo6VmFsdWU+IHZhbHVlLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0
KiBjb250ZXh0KQorICAgIHsKKyAgICAgICAgQVNTRVJUKHZhbHVlLT5Jc09iamVjdCgpKTsKKyAg
ICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBWOE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxs
YmFja0N1c3RvbSh2YWx1ZS0+VG9PYmplY3QoKSwgY29udGV4dCkpOworICAgIH0KKyAgICB2aXJ0
dWFsIH5WOE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFja0N1c3RvbSgpOworCitwcml2
YXRlOgorICAgIFY4TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrQ3VzdG9tKHY4OjpM
b2NhbDx2ODo6T2JqZWN0PiwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopOworCisgICAgdjg6OlBl
cnNpc3RlbnQ8djg6Ok9iamVjdD4gbV9jYWxsYmFjazsKK307CisKK30gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKKworI2VuZGlmIC8vIFY4TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrQ3Vz
dG9tX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2FsbGJhY2tUYXNrLmggYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL0NhbGxiYWNrVGFzay5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjllZTNmZjJhZTY4
ODA1YzgwNmZkMWJlOGJiYjY0MzYxMzgxNDRkMTYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0NhbGxiYWNrVGFzay5oCkBAIC0wLDAgKzEsODUgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0
aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5h
bWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVj
aWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFT
IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAor
ICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisKKyNpZm5kZWYgQ2Fs
bGJhY2tUYXNrX2gKKyNkZWZpbmUgQ2FsbGJhY2tUYXNrX2gKKworI2lmIEVOQUJMRShNRURJQV9T
VFJFQU0pCisKKyNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCisjaW5jbHVkZSA8
d3RmL0ZvcndhcmQuaD4KKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKworLy8gQXV4aWxpYXIgdGVtcGxhdGUgdG8gc2NoZWR1bGUgY2FsbHMgdG8gY2FsbGJh
Y2tzIHVzaW5nIHRoZWlyIG93biBzY3JpcHQgZXhlY3V0aW9uIGNvbnRleHQuCisvLyBDYWxsYmFj
a1R5cGUgaXMgYXNzdW1lZCB0byBpbXBsZW1lbnQgU2NoZWR1bGVyIGFuZCB0byBiZSBhbiBBY3Rp
dmVET01PYmplY3QuCit0ZW1wbGF0ZSA8dHlwZW5hbWUgQ2FsbGJhY2tUeXBlLCB0eXBlbmFtZSBB
cmd1bWVudFR5cGU+CitjbGFzcyBDYWxsYmFja1Rhc2sgOiBwdWJsaWMgU2NyaXB0RXhlY3V0aW9u
Q29udGV4dDo6VGFzayB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NPd25QdHI8Q2FsbGJhY2tU
YXNrPiBjcmVhdGUoQ2FsbGJhY2tUeXBlKiBjYWxsYmFjaywgQXJndW1lbnRUeXBlKiBkYXRhKQor
ICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBDYWxsYmFja1Rhc2soY2FsbGJhY2ss
IGRhdGEpKTsKKyAgICB9CisKKyAgICB2aXJ0dWFsIHZvaWQgcGVyZm9ybVRhc2soU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCopCisgICAgeworICAgICAgICBtX2NhbGxiYWNrLT5oYW5kbGVFdmVudCht
X2RhdGEuZ2V0KCkpOworICAgIH0KKworICAgIGNsYXNzIFNjaGVkdWxlciB7CisgICAgcHVibGlj
OgorICAgICAgICBib29sIHNjaGVkdWxlQ2FsbGJhY2soQXJndW1lbnRUeXBlKiBkYXRhKQorICAg
ICAgICB7CisgICAgICAgICAgICBpZiAoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCA9
IHN0YXRpY19jYXN0PENhbGxiYWNrVHlwZSo+KHRoaXMpLT5zY3JpcHRFeGVjdXRpb25Db250ZXh0
KCkpIHsKKyAgICAgICAgICAgICAgICBjb250ZXh0LT5wb3N0VGFzayhDYWxsYmFja1Rhc2s8Q2Fs
bGJhY2tUeXBlLCBBcmd1bWVudFR5cGU+OjpjcmVhdGUoc3RhdGljX2Nhc3Q8Q2FsbGJhY2tUeXBl
Kj4odGhpcyksIGRhdGEpKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgfQorICAgIH07CisKK3By
aXZhdGU6CisgICAgQ2FsbGJhY2tUYXNrKENhbGxiYWNrVHlwZSogY2FsbGJhY2ssIEFyZ3VtZW50
VHlwZSogZGF0YSkKKyAgICAgICAgOiBtX2NhbGxiYWNrKGFkb3B0UmVmKGNhbGxiYWNrKSkKKyAg
ICAgICAgLCBtX2RhdGEoYWRvcHRSZWYoZGF0YSkpCisgICAgeworICAgIH0KKworICAgIFJlZlB0
cjxDYWxsYmFja1R5cGU+IG1fY2FsbGJhY2s7CisgICAgUmVmUHRyPEFyZ3VtZW50VHlwZT4gbV9k
YXRhOworfTsKKworfQorCisjZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVBTSkKKworI2VuZGlm
IC8vIENhbGxiYWNrVGFza19oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmln
YXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvci5jcHAKaW5kZXggNmEyNjdh
ZDQxNjE5Njk5MDNjODBjYTYzOTQ0MGMzOTFhZjUzMDdlZC4uZDFkYTdhODE5ZGJmYWIwZWY3MDI5
OGI5N2NmYjc4ZjQxOGM4Y2RmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZp
Z2F0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yLmNwcApAQCAtMjQy
LDQgKzI0MiwxMyBAQCB2b2lkIE5hdmlnYXRvcjo6cmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIoY29u
c3QgU3RyaW5nJiBzY2hlbWUsIGNvbnN0IFN0cmluZyYgdXJsLAogfQogI2VuZGlmCiAKKyNpZiBF
TkFCTEUoTUVESUFfU1RSRUFNKQordm9pZCBOYXZpZ2F0b3I6OndlYmtpdEdldFVzZXJNZWRpYShj
b25zdCBTdHJpbmcmIG9wdGlvbnMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFBhc3NSZWZQdHI8TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrPiBzdWNjZXNzQ2Fs
bGJhY2ssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBhc3NSZWZQdHI8TmF2
aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjaz4gZXJyb3JDYWxsYmFjaykKK3sKKyAgICAvLyBG
SVhNRTogaW1wbGVtZW50IGEgY2FsbCB0byB0aGUgTWVkaWFTdHJlYW1Db250cm9sbGVyIHdoZW4g
aXQncyBhdmFpbGFibGUuCit9CisjZW5kaWYKKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3IuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvTmF2aWdhdG9yLmgKaW5kZXggNjkzYmRlMTNmOTA4MmM0YWMxNzdmZjU1ZTYzNDQ4YjE2
M2EzZjE3Mi4uMmE3ZGNlYTk3MDg2NGNkY2I5OTA4ZTJmOGYxOWY0Nzg1YmI2MTUyYyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL05hdmlnYXRvci5oCkBAIC0yMSw2ICsyMSw4IEBACiAjZGVmaW5lIE5hdmlnYXRvcl9o
CiAKICNpbmNsdWRlICJOYXZpZ2F0b3JCYXNlLmgiCisjaW5jbHVkZSAiTmF2aWdhdG9yVXNlck1l
ZGlhRXJyb3JDYWxsYmFjay5oIgorI2luY2x1ZGUgIk5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3ND
YWxsYmFjay5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NS
ZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgpAQCAtNjcsNiArNjksMTEgQEAg
cHVibGljOgogICAgIHZvaWQgcmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIoY29uc3QgU3RyaW5nJiBz
Y2hlbWUsIGNvbnN0IFN0cmluZyYgdXJsLCBjb25zdCBTdHJpbmcmIHRpdGxlLCBFeGNlcHRpb25D
b2RlJik7CiAjZW5kaWYKIAorI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCisgICAgdmlydHVhbCB2
b2lkIHdlYmtpdEdldFVzZXJNZWRpYShjb25zdCBTdHJpbmcmIG9wdGlvbnMsIFBhc3NSZWZQdHI8
TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrPiwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFBhc3NSZWZQdHI8TmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFj
az4gPSAwKTsKKyNlbmRpZgorCiBwcml2YXRlOgogICAgIE5hdmlnYXRvcihGcmFtZSopOwogICAg
IEZyYW1lKiBtX2ZyYW1lOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0
b3IuaWRsIGIvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3IuaWRsCmluZGV4IGJmM2YxMDhl
YzkwMjVjMDA4NmJmMjgwZjM4MTkwYzRlOTNhZWQ5N2UuLjY2N2YxZDA3MWIzZTVjZjc5NWMyNDJl
ZjIxNTczMTAyYzU1NTcxZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdh
dG9yLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvci5pZGwKQEAgLTM3LDcg
KzM3LDcgQEAgbW9kdWxlIHdpbmRvdyB7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01T
dHJpbmcgdmVuZG9yU3ViOwogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiBjb29r
aWVFbmFibGVkOwogICAgICAgICBib29sZWFuIGphdmFFbmFibGVkKCk7Ci0gICAgICAgIAorCiAg
ICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIG9uTGluZTsKIAogI2lmIGRlZmluZWQo
RU5BQkxFX0dFT0xPQ0FUSU9OKSAmJiBFTkFCTEVfR0VPTE9DQVRJT04KQEAgLTUyLDYgKzUyLDEy
IEBAIG1vZHVsZSB3aW5kb3cgewogICAgICAgICB2b2lkIHJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVy
KGluIERPTVN0cmluZyBzY2hlbWUsIGluIERPTVN0cmluZyB1cmwsIGluIERPTVN0cmluZyB0aXRs
ZSkKICAgICAgICAgICAgIHJhaXNlcyhEb21FeGNlcHRpb24pOwogI2VuZGlmCisKKyNpZiBkZWZp
bmVkKEVOQUJMRV9NRURJQV9TVFJFQU0pICYmIEVOQUJMRV9NRURJQV9TVFJFQU0KKyAgICAgICAg
W0N1c3RvbSwgRW5hYmxlZEF0UnVudGltZV0gdm9pZCB3ZWJraXRHZXRVc2VyTWVkaWEoaW4gRE9N
U3RyaW5nIG9wdGlvbnMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGluIFtDYWxsYmFja10gTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vz
c0NhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFjaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gW0NhbGxiYWNrLCBPcHRpb25hbF0gTmF2
aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjayBlcnJvckNhbGxiYWNrKTsKKyNlbmRpZgogICAg
IH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yVXNlck1l
ZGlhRXJyb3IuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yVXNlck1lZGlhRXJyb3Iu
aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xZmYyNmJlOWQ0ZGFhYjI0NmQ4Y2YwY2I1MzQ1YTVmODc4NDEwNDY4Ci0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFF
cnJvci5oCkBAIC0wLDAgKzEsNTkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICog
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhl
ciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJp
YnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVk
IGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQor
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIE5hdmlnYXRvclVzZXJNZWRpYUVycm9yX2gK
KyNkZWZpbmUgTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JfaAorCisjaW5jbHVkZSA8d3RmL1JlZkNv
dW50ZWQuaD4KKworI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKworY2xhc3MgTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IgOiBwdWJsaWMgUmVmQ291bnRlZDxO
YXZpZ2F0b3JVc2VyTWVkaWFFcnJvcj4geworcHVibGljOgorICAgIE5hdmlnYXRvclVzZXJNZWRp
YUVycm9yKHVuc2lnbmVkIHNob3J0IGNvZGUpIDogbV9jb2RlKGNvZGUpIHsgfQorICAgIHZpcnR1
YWwgfk5hdmlnYXRvclVzZXJNZWRpYUVycm9yKCkgeyB9CisKKyAgICBlbnVtIHsKKyAgICAgICAg
UEVSTUlTU0lPTl9ERU5JRUQgPSAxCisgICAgfTsKKworICAgIHVuc2lnbmVkIHNob3J0IGNvZGUo
KSBjb25zdCB7IHJldHVybiBtX2NvZGU7IH0KKworcHJpdmF0ZToKKyAgICB1bnNpZ25lZCBzaG9y
dCBtX2NvZGU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFC
TEUoTUVESUFfU1RSRUFNKQorCisjZW5kaWYgLy8gTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JfaApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5p
ZGwgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmlkbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4zNzU2NjQ4YWI1OTVhNDg3MDg2MzQ5ZWUzYWJiNjNkNTg5MjEwZjdkCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5p
ZGwKQEAgLTAsMCArMSw0MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFy
ZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRo
ZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRv
cnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJv
bQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlz
c2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQg
SE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisg
KiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKK21vZHVsZSB3aW5kb3cgeworCisgICAgLy8gRklYTUU6IGRlbGV0
ZSB0aGlzIGludGVyZmFjZSBhbmQgaW1wbGVtZW50IGEgY3VzdG9tIGJpbmRpbmcgc2luY2Ugc3Bl
YyBkZWZpbmVzIGl0IGFzIGEgTm9JbnRlcmZhY2VPYmplY3QuCisgICAgaW50ZXJmYWNlIFsKKyAg
ICAgICAgQ29uZGl0aW9uYWw9TUVESUFfU1RSRUFNCisgICAgXSBOYXZpZ2F0b3JVc2VyTWVkaWFF
cnJvciB7CisgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IFBFUk1JU1NJT05fREVOSUVEID0g
MTsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIHNob3J0IGNvZGU7CisgICAg
fTsKKworfQorCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvclVzZXJN
ZWRpYUVycm9yQ2FsbGJhY2suaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yVXNlck1l
ZGlhRXJyb3JDYWxsYmFjay5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc1NDgzYjg5NmZkMDJiYjFiNzdkZTBjMmM0
MGY0NmYyOTMxZDczYTcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL05h
dmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2suaApAQCAtMCwwICsxLDU4IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3Ry
aWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRo
ZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9y
IHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQg
c3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAq
ICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBO
YXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrX2gKKyNkZWZpbmUgTmF2aWdhdG9yVXNlck1l
ZGlhRXJyb3JDYWxsYmFja19oCisKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorCisjaW5jbHVk
ZSAiQWN0aXZlRE9NT2JqZWN0LmgiCisjaW5jbHVkZSAiQ2FsbGJhY2tUYXNrLmgiCisjaW5jbHVk
ZSAiTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuaCIKKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5o
PgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7
CisKK2NsYXNzIE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2sgOiBwdWJsaWMgQWN0aXZl
RE9NT2JqZWN0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB1Ymxp
YyBSZWZDb3VudGVkPE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2s+LAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB1YmxpYyBDYWxsYmFja1Rhc2s8TmF2aWdh
dG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjaywgTmF2aWdhdG9yVXNlck1lZGlhRXJyb3I+OjpTY2hl
ZHVsZXIgeworcHVibGljOgorICAgIE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2soU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCkgOiBBY3RpdmVET01PYmplY3QoY29udGV4dCwg
dGhpcykgeyB9CisgICAgdmlydHVhbCB+TmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjaygp
IHsgfQorICAgIHZpcnR1YWwgdm9pZCBoYW5kbGVFdmVudChOYXZpZ2F0b3JVc2VyTWVkaWFFcnJv
ciopID0gMDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJM
RShNRURJQV9TVFJFQU0pCisKKyNlbmRpZiAvLyBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxi
YWNrX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yVXNlck1lZGlh
U3VjY2Vzc0NhbGxiYWNrLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvclVzZXJNZWRp
YVN1Y2Nlc3NDYWxsYmFjay5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjViMGZhZjJkMzdlNDQ0NTkzZDgwZTBhNzJl
Y2ZmNjlmYzAyZmI3MzAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL05h
dmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5oCkBAIC0wLDAgKzEsNTYgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlz
dHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3Ig
dGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ug
b3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91
dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwor
ICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9S
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVm
IE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFja19oCisjZGVmaW5lIE5hdmlnYXRvclVz
ZXJNZWRpYVN1Y2Nlc3NDYWxsYmFja19oCisKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorCisj
aW5jbHVkZSAiQWN0aXZlRE9NT2JqZWN0LmgiCisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4K
KworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0Owor
CitjbGFzcyBOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2sgOiBwdWJsaWMgQWN0aXZl
RE9NT2JqZWN0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVi
bGljIFJlZkNvdW50ZWQ8TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrPiB7CitwdWJs
aWM6CisgICAgTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrKFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQqIGNvbnRleHQpIDogQWN0aXZlRE9NT2JqZWN0KGNvbnRleHQsIHRoaXMpIHsgfQor
ICAgIHZpcnR1YWwgfk5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjaygpIHsgfQorICAg
IC8vIEZJWE1FOiBpbXBsZW1lbnQgd2hlbiB0aGUgR2VuZXJhdGVkU3RyZWFtIGNsYXNzIGlzIGF2
YWlsYWJsZS4KKyAgICAvLyB2aXJ0dWFsIHZvaWQgaGFuZGxlRXZlbnQoR2VuZXJhdGVkU3RyZWFt
KikgPSAwOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxF
KE1FRElBX1NUUkVBTSkKKworI2VuZGlmIC8vIE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxs
YmFja19oCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>86663</attachid>
            <date>2011-03-23 12:19:20 -0700</date>
            <delta_ts>2011-03-23 13:04:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-56586-20110323191918.patch</filename>
            <type>text/plain</type>
            <size>75159</size>
            <attacher name="Leandro Graciá Gil">leandrogracia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQKaW5kZXggMmUwZTYzNmVkZjZkZGNhMGM1NGZhMzM4ZGQ4M2E3MGRm
OTk2NDRlNS4uOTJmNTU5ZmI1NGJmZDMxYmZmYjY4ODE3Y2Y4OGE5ZjUzM2EyM2Q4NyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUv
Q01ha2VMaXN0cy50eHQKQEAgLTE5MzgsNiArMTkzOCwxOCBAQCBJRiAoRU5BQkxFX1BST0dSRVNT
X1RBRykKICAgICApCiBFTkRJRiAoKQogCitJRiAoRU5BQkxFX01FRElBX1NUUkVBTSkKKyAgICBM
SVNUKEFQUEVORCBXZWJDb3JlX1NPVVJDRVMKKyAgICAgICAgYmluZGluZ3MvanMvSlNOYXZpZ2F0
b3JDdXN0b20uY3BwCisgICAgICAgIGJpbmRpbmdzL2pzL0pTTmF2aWdhdG9yVXNlck1lZGlhRXJy
b3JDYWxsYmFja0N1c3RvbS5jcHAKKyAgICAgICAgYmluZGluZ3MvanMvSlNOYXZpZ2F0b3JVc2Vy
TWVkaWFTdWNjZXNzQ2FsbGJhY2tDdXN0b20uY3BwCisgICAgKQorCisgICAgTElTVChBUFBFTkQg
V2ViQ29yZV9JRExfRklMRVMKKyAgICAgICAgcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5p
ZGwKKyAgICApCitFTkRJRiAoKQorCiAKIAogIyBNb2R1bGVzIHRoYXQgdGhlIGJpbmRpbmdzIGdl
bmVyYXRvciBzY3JpcHRzIG1heSB1c2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBiZjNjYmRmZjRjM2Q1NWViNDYw
MDdjOGE0YTE1ZWRkNjk3NzMyOWJjLi42N2U4N2UwZjVkZTgyNGVhODk4YWRjYzk1OGM0ZTEzN2Ux
ZWE3NmVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNzYgQEAKKzIwMTEtMDMtMjMgIExlYW5kcm8g
R3JhY2lhIEdpbCAgPGxlYW5kcm9ncmFjaWFAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1lZGlhIFN0cmVhbSBBUEk6IGFkZCB0
aGUgZ2V0VXNlck1lZGlhIG1ldGhvZCBhbmQgdGhlIEphdmFzY3JpcHQgYmluZGluZ3MuCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NjU4NgorCisgICAg
ICAgIEFkZCB0aGUgZ2V0VXNlck1lZGlhIG1ldGhvZCB0byB0aGUgbmF2aWdhdG9yIGFsb25nIGl0
cyBlcnJvciBhbmQgY2FsbGJhY2sgSlMgdHlwZXMuCisgICAgICAgIEN1cnJlbnQgc3BlY2lmaWNh
dGlvbjogaHR0cDovL3d3dy53aGF0d2cub3JnL3NwZWNzL3dlYi1hcHBzL2N1cnJlbnQtd29yay9t
dWx0aXBhZ2UvZG5kLmh0bWwjdmlkZW8tY29uZmVyZW5jaW5nLWFuZC1wZWVyLXRvLXBlZXItY29t
bXVuaWNhdGlvbgorCisgICAgICAgIFRlc3RzIGZvciB0aGUgTWVkaWEgU3RyZWFtIEFQSSB3aWxs
IGJlIHByb3ZpZGVkIGJ5IHRoZSBidWcgNTY1ODcuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4
dDoKKyAgICAgICAgKiBDb2RlR2VuZXJhdG9ycy5wcmk6CisgICAgICAgICogRGVyaXZlZFNvdXJj
ZXMuY3BwOgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogR05VbWFr
ZWZpbGUuYW06CisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIFdlYkNvcmUucHJv
OgorICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qOgorICAgICAgICAqIFdl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9K
U0JpbmRpbmdzQWxsSW5PbmUuY3BwOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTTmF2aWdhdG9y
Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZU5hdmlnYXRvclVzZXJNZWRpYVN1
Y2Nlc3NDYWxsYmFjayk6CisgICAgICAgIChXZWJDb3JlOjpjcmVhdGVOYXZpZ2F0b3JVc2VyTWVk
aWFFcnJvckNhbGxiYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OkpTTmF2aWdhdG9yOjp3ZWJraXRH
ZXRVc2VyTWVkaWEpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTTmF2aWdhdG9yVXNlck1lZGlh
RXJyb3JDYWxsYmFja0N1c3RvbS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6SlNOYXZp
Z2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrOjpKU05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2Fs
bGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6SlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxi
YWNrOjpoYW5kbGVFdmVudCk6CisgICAgICAgICogYmluZGluZ3MvanMvSlNOYXZpZ2F0b3JVc2Vy
TWVkaWFFcnJvckNhbGxiYWNrQ3VzdG9tLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6SlNO
YXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29y
ZTo6SlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrOjp+SlNOYXZpZ2F0b3JVc2VyTWVk
aWFFcnJvckNhbGxiYWNrKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU05hdmlnYXRvclVzZXJN
ZWRpYVN1Y2Nlc3NDYWxsYmFja0N1c3RvbS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6
SlNOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2s6OkpTTmF2aWdhdG9yVXNlck1lZGlh
U3VjY2Vzc0NhbGxiYWNrKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU05hdmlnYXRvclVzZXJN
ZWRpYVN1Y2Nlc3NDYWxsYmFja0N1c3RvbS5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkpT
TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrOjpjcmVhdGUpOgorICAgICAgICAqIGJp
bmRpbmdzL3Y4L2N1c3RvbS9WOE5hdmlnYXRvckN1c3RvbS5jcHA6IEFkZGVkLgorICAgICAgICAo
V2ViQ29yZTo6dGhyb3dUeXBlTWlzbWF0Y2hFeGNlcHRpb24pOgorICAgICAgICAoV2ViQ29yZTo6
Y3JlYXRlTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrKToKKyAgICAgICAgKFdlYkNv
cmU6OmNyZWF0ZU5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2spOgorICAgICAgICAoV2Vi
Q29yZTo6VjhOYXZpZ2F0b3I6OndlYmtpdEdldFVzZXJNZWRpYUNhbGxiYWNrKToKKyAgICAgICAg
KiBiaW5kaW5ncy92OC9jdXN0b20vVjhOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrQ3Vz
dG9tLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpWOE5hdmlnYXRvclVzZXJNZWRpYUVy
cm9yQ2FsbGJhY2tDdXN0b206OlY4TmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFja0N1c3Rv
bSk6CisgICAgICAgIChXZWJDb3JlOjpWOE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2tD
dXN0b206On5WOE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2tDdXN0b20pOgorICAgICAg
ICAoV2ViQ29yZTo6VjhOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrQ3VzdG9tOjpoYW5k
bGVFdmVudCk6CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4TmF2aWdhdG9yVXNlck1l
ZGlhRXJyb3JDYWxsYmFja0N1c3RvbS5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlY4TmF2
aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFja0N1c3RvbTo6Y3JlYXRlKToKKyAgICAgICAgKiBi
aW5kaW5ncy92OC9jdXN0b20vVjhOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2tDdXN0
b20uY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlY4TmF2aWdhdG9yVXNlck1lZGlhU3Vj
Y2Vzc0NhbGxiYWNrQ3VzdG9tOjpWOE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFja0N1
c3RvbSk6CisgICAgICAgIChXZWJDb3JlOjpWOE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxs
YmFja0N1c3RvbTo6flY4TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrQ3VzdG9tKToK
KyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNz
Q2FsbGJhY2tDdXN0b20uaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpWOE5hdmlnYXRvclVz
ZXJNZWRpYVN1Y2Nlc3NDYWxsYmFja0N1c3RvbTo6Y3JlYXRlKToKKyAgICAgICAgKiBwYWdlL0Nh
bGxiYWNrVGFzay5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkNhbGxiYWNrVGFzazo6Y3Jl
YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkNhbGxiYWNrVGFzazo6cGVyZm9ybVRhc2spOgorICAg
ICAgICAoV2ViQ29yZTo6Q2FsbGJhY2tUYXNrOjpTY2hlZHVsZXI6OnNjaGVkdWxlQ2FsbGJhY2sp
OgorICAgICAgICAoV2ViQ29yZTo6Q2FsbGJhY2tUYXNrOjpDYWxsYmFja1Rhc2spOgorICAgICAg
ICAqIHBhZ2UvTmF2aWdhdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRvcjo6d2Vi
a2l0R2V0VXNlck1lZGlhKToKKyAgICAgICAgKiBwYWdlL05hdmlnYXRvci5oOgorICAgICAgICAq
IHBhZ2UvTmF2aWdhdG9yLmlkbDoKKyAgICAgICAgKiBwYWdlL05hdmlnYXRvclVzZXJNZWRpYUVy
cm9yLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdG9yVXNlck1lZGlhRXJyb3I6
Ok5hdmlnYXRvclVzZXJNZWRpYUVycm9yKToKKyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRvclVz
ZXJNZWRpYUVycm9yOjp+TmF2aWdhdG9yVXNlck1lZGlhRXJyb3IpOgorICAgICAgICAoV2ViQ29y
ZTo6TmF2aWdhdG9yVXNlck1lZGlhRXJyb3I6OmNvZGUpOgorICAgICAgICAqIHBhZ2UvTmF2aWdh
dG9yVXNlck1lZGlhRXJyb3IuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBwYWdlL05hdmlnYXRvclVz
ZXJNZWRpYUVycm9yQ2FsbGJhY2suaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0
b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrOjpOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNr
KToKKyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2s6On5O
YXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrKToKKyAgICAgICAgKiBwYWdlL05hdmlnYXRv
clVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6Ok5h
dmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjazo6TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vz
c0NhbGxiYWNrKToKKyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3ND
YWxsYmFjazo6fk5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjayk6CisKIDIwMTEtMDMt
MjMgIFR5bGVyIENsb3NlICA8dGpjbG9zZUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3
ZWQgYnkgSmVyZW15IE9ybG93LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ29kZUdlbmVy
YXRvcnMucHJpIGIvU291cmNlL1dlYkNvcmUvQ29kZUdlbmVyYXRvcnMucHJpCmluZGV4IDJmODlh
NWQwYjc4OWZjMTY2MTQ3MGI0YmQ2YmNhMzNlZmUxNGY5ZDIuLmU1MzYyNjcxYzFmOTc0OWFkZmYy
YmU2YzZiOGYwZGNjZjE5MzZmM2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NvZGVHZW5l
cmF0b3JzLnByaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9Db2RlR2VuZXJhdG9ycy5wcmkKQEAgLTMy
Niw2ICszMjYsNyBAQCBJRExfQklORElOR1MgKz0gXAogICAgIHBhZ2UvTG9jYXRpb24uaWRsIFwK
ICAgICBwYWdlL01lbW9yeUluZm8uaWRsIFwKICAgICBwYWdlL05hdmlnYXRvci5pZGwgXAorICAg
IHBhZ2UvTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuaWRsIFwKICAgICBwYWdlL1BlcmZvcm1hbmNl
LmlkbCBcCiAgICAgcGFnZS9QZXJmb3JtYW5jZU5hdmlnYXRpb24uaWRsIFwKICAgICBwYWdlL1Bl
cmZvcm1hbmNlVGltaW5nLmlkbCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKaW5kZXggMjQw
MjJmNzRlZjZiODgyMzdhZWJmYmU1OTgwOGMzYmE0NzdiZmU4Mi4uYzQ5ZjdlOTUxNzllN2JkODI2
NDRiYzMzM2VmNWMxYjQ5M2JmNjhhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZl
ZFNvdXJjZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcApAQCAt
MjQ1LDYgKzI0NSw3IEBACiAjaW5jbHVkZSAiSlNNdXRhdGlvbkV2ZW50LmNwcCIKICNpbmNsdWRl
ICJKU05hbWVkTm9kZU1hcC5jcHAiCiAjaW5jbHVkZSAiSlNOYXZpZ2F0b3IuY3BwIgorI2luY2x1
ZGUgIkpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuY3BwIgogI2luY2x1ZGUgIkpTTm9kZS5jcHAi
CiAjaW5jbHVkZSAiSlNOb2RlRmlsdGVyLmNwcCIKICNpbmNsdWRlICJKU05vZGVJdGVyYXRvci5j
cHAiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291
cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCA2OTZlZjFjOTI0MzM3NDdmZTRl
OTc5YmMzYmRiNjQyZDJkMzYxNjIyLi4zZWUxY2E2NjNmMzQwMTUwNTgwNzhmYzhiMDllODc0NjJi
MzliZDUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisr
KyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTMwNyw2ICszMDcsNyBA
QCBET01fQ0xBU1NFUyA9IFwKICAgICBNdXRhdGlvbkV2ZW50IFwKICAgICBOYW1lZE5vZGVNYXAg
XAogICAgIE5hdmlnYXRvciBcCisgICAgTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IgXAogICAgIE5v
ZGUgXAogICAgIE5vZGVGaWx0ZXIgXAogICAgIE5vZGVJdGVyYXRvciBcCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxl
LmFtCmluZGV4IDY3NzhlNTZlODdhZDc0YWVkOWJlZGFjMDM1YTAzZWM5NGE0MjM5MjcuLmQzMmE1
YjRkZWQxYTZiNzY3MTkwNmJlMGJhZmE4MzJkNDdmMTdlOTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL0dOVW1ha2VmaWxlLmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFt
CkBAIC00NzAsNiArNDcwLDggQEAgd2ViY29yZV9idWlsdF9zb3VyY2VzICs9IFwKIAlEZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTTmFtZWROb2RlTWFwLmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNOYXZpZ2F0b3IuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTmF2aWdhdG9y
LmggXAorCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5j
cHAgXAorCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5o
IFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTm9kZS5jcHAgXAogCURlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNOb2RlRmlsdGVyLmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05v
ZGVGaWx0ZXIuaCBcCkBAIC04NDQsNiArODQ2LDEwIEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJ
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNNZXNzYWdlUG9ydEN1c3RvbS5oIFwKIAlTb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU05hbWVkTm9kZU1hcEN1c3RvbS5jcHAgXAogCVNvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTmF2aWdhdG9yQ3VzdG9tLmNwcCBcCisJU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrQ3VzdG9t
LmNwcCBcCisJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNOYXZpZ2F0b3JVc2VyTWVkaWFF
cnJvckNhbGxiYWNrQ3VzdG9tLmggXAorCVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTmF2
aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrQ3VzdG9tLmNwcCBcCisJU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2tDdXN0b20u
aCBcCiAJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNOb2RlQ3VzdG9tLmNwcCBcCiAJU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNOb2RlQ3VzdG9tLmggXAogCVNvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTTm9kZUZpbHRlckNvbmRpdGlvbi5jcHAgXApAQCAtMjIwMyw2ICsyMjA5
LDcgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlv
bi9LZXlmcmFtZUFuaW1hdGlvbi5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wYWdlL0JhckluZm8uY3Bw
IFwKIAlTb3VyY2UvV2ViQ29yZS9wYWdlL0JhckluZm8uaCBcCisJU291cmNlL1dlYkNvcmUvcGFn
ZS9DYWxsYmFja1Rhc2suaCBcCiAJU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUuY3BwIFwKIAlT
b3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9t
ZUNsaWVudC5oIFwKQEAgLTIyNzAsNiArMjI3Nyw5IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJ
U291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3IuaCBcCiAJU291cmNlL1dlYkNvcmUvcGFnZS9O
YXZpZ2F0b3JCYXNlLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3JCYXNlLmgg
XAorCVNvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuaCBcCisJU291
cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmggXAorCVNv
dXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmggXAog
CVNvdXJjZS9XZWJDb3JlL3BhZ2UvT3JpZ2luQWNjZXNzRW50cnkuY3BwIFwKIAlTb3VyY2UvV2Vi
Q29yZS9wYWdlL09yaWdpbkFjY2Vzc0VudHJ5LmggXAogCVNvdXJjZS9XZWJDb3JlL3BhZ2UvUGFn
ZS5jcHAgXApAQCAtNDIwMCw2ICs0MjEwLDE2IEBAIHdlYmNvcmVfY3BwZmxhZ3MgKz0gLURFTkFC
TEVfSU5QVVRfU1BFRUNIPTAKIGVuZGlmICMgRU5EIEVOQUJMRV9JTlBVVF9TUEVFQ0gKIAogIyAt
LS0tCisjIE1lZGlhIFN0cmVhbSBBUEkgc3VwcG9ydAorIyAtLS0tCitpZiBFTkFCTEVfTUVESUFf
U1RSRUFNCitGRUFUVVJFX0RFRklORVMgKz0gRU5BQkxFX01FRElBX1NUUkVBTT0xCit3ZWJjb3Jl
X2NwcGZsYWdzICs9IC1ERU5BQkxFX01FRElBX1NUUkVBTT0xCitlbHNlCit3ZWJjb3JlX2NwcGZs
YWdzICs9IC1ERU5BQkxFX01FRElBX1NUUkVBTT0wCitlbmRpZiAjIEVORCBFTkFCTEVfTUVESUFf
U1RSRUFNCisKKyMgLS0tLQogIyBJY29uIERhdGFiYXNlIFN1cHBvcnQKICMgLS0tLQogaWYgRU5B
QkxFX0lDT05EQVRBQkFTRQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBp
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDliZjU3YjE0N2MyZGFkNTQ3M2I1
ODRhYzhjZDI1NzY2YmZjMTY5MWUuLmUzOGVhY2JlZmRjN2RjMzM2NmU4MDljYWFmOTFkN2Q0MzVi
MTY4MTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTEzMjAsNiArMTMyMCw3IEBACiAgICAgICAgICAg
ICAncGFnZS9Mb2NhdGlvbi5pZGwnLAogICAgICAgICAgICAgJ3BhZ2UvTWVtb3J5SW5mby5pZGwn
LAogICAgICAgICAgICAgJ3BhZ2UvTmF2aWdhdG9yLmlkbCcsCisgICAgICAgICAgICAncGFnZS9O
YXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5pZGwnLAogICAgICAgICAgICAgJ3BhZ2UvUGVyZm9ybWFu
Y2UuaWRsJywKICAgICAgICAgICAgICdwYWdlL1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5pZGwnLAog
ICAgICAgICAgICAgJ3BhZ2UvUGVyZm9ybWFuY2VUaW1pbmcuaWRsJywKQEAgLTIxMTQsNiArMjEx
NSwxMSBAQAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE5hbWVkTm9kZU1hcEN1
c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE5hbWVkTm9kZXND
b2xsZWN0aW9uLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4TmFtZWRO
b2Rlc0NvbGxlY3Rpb24uaCcsCisgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4TmF2
aWdhdG9yQ3VzdG9tLmNwcCcsCisgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4TmF2
aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFja0N1c3RvbS5jcHAnLAorICAgICAgICAgICAgJ2Jp
bmRpbmdzL3Y4L2N1c3RvbS9WOE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2tDdXN0b20u
aCcsCisgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4TmF2aWdhdG9yVXNlck1lZGlh
U3VjY2Vzc0NhbGxiYWNrQ3VzdG9tLmNwcCcsCisgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3Vz
dG9tL1Y4TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrQ3VzdG9tLmgnLAogICAgICAg
ICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE5vZGVDdXN0b20uY3BwJywKICAgICAgICAgICAg
ICdiaW5kaW5ncy92OC9jdXN0b20vVjhOb2RlTGlzdEN1c3RvbS5jcHAnLAogICAgICAgICAgICAg
J2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE5vdGlmaWNhdGlvbkNlbnRlckN1c3RvbS5jcHAnLApAQCAt
MzMzOSw2ICszMzQ1LDcgQEAKICAgICAgICAgICAgICdub3RpZmljYXRpb25zL05vdGlmaWNhdGlv
bkNvbnRlbnRzLmgnLAogICAgICAgICAgICAgJ3BhZ2UvQmFySW5mby5jcHAnLAogICAgICAgICAg
ICAgJ3BhZ2UvQmFySW5mby5oJywKKyAgICAgICAgICAgICdwYWdlL0NhbGxiYWNrVGFzay5oJywK
ICAgICAgICAgICAgICdwYWdlL0Nocm9tZS5jcHAnLAogICAgICAgICAgICAgJ3BhZ2UvQ29uc29s
ZS5jcHAnLAogICAgICAgICAgICAgJ3BhZ2UvQ29udGVudFNlY3VyaXR5UG9saWN5LmNwcCcsCkBA
IC0zMzc2LDYgKzMzODMsOSBAQAogICAgICAgICAgICAgJ3BhZ2UvTmF2aWdhdG9yLmgnLAogICAg
ICAgICAgICAgJ3BhZ2UvTmF2aWdhdG9yQmFzZS5jcHAnLAogICAgICAgICAgICAgJ3BhZ2UvTmF2
aWdhdG9yQmFzZS5oJywKKyAgICAgICAgICAgICdwYWdlL05hdmlnYXRvclVzZXJNZWRpYUVycm9y
LmgnLAorICAgICAgICAgICAgJ3BhZ2UvTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5o
JywKKyAgICAgICAgICAgICdwYWdlL05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5o
JywKICAgICAgICAgICAgICdwYWdlL09yaWdpbkFjY2Vzc0VudHJ5LmNwcCcsCiAgICAgICAgICAg
ICAncGFnZS9PcmlnaW5BY2Nlc3NFbnRyeS5oJywKICAgICAgICAgICAgICdwYWdlL1BhZ2UuY3Bw
JywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS5wcm8KaW5kZXggMmE5MzQwN2I3ZTM2YjcxMDJmOTI1OGRiOWU2ZjhjNDcxN2Ez
ZmQyMS4uNTc0ODAxZTQzNmU0ODYzNzExYWQyZjRlMTUwMDRkN2I2MjJjZjZiMyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5wcm8KKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS5wcm8KQEAgLTMwOTQsNiArMzA5NCwzNCBAQCBjb250YWlucyhERUZJTkVTLCBFTkFCTEVfR0VP
TE9DQVRJT049MSkgewogICAgIH0KIH0KIAorY29udGFpbnMoREVGSU5FUywgRU5BQkxFX01FRElB
X1NUUkVBTT0xKSB7CisgICAgSEVBREVSUyArPSBcCisgICAgICAgIHBhZ2UvQ2FsbGJhY2tUYXNr
LmggXAorICAgICAgICBwYWdlL05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmggXAorICAgICAgICBw
YWdlL05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2suaCBcCisgICAgICAgIHBhZ2UvTmF2
aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmgKKworICAgIHY4IHsKKyAgICAgICAgSEVB
REVSUyArPSBcCisgICAgICAgICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhOYXZpZ2F0b3JVc2Vy
TWVkaWFFcnJvckNhbGxiYWNrQ3VzdG9tLmggXAorICAgICAgICAgICAgYmluZGluZ3MvdjgvY3Vz
dG9tL1Y4TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrQ3VzdG9tLmgKKworICAgICAg
ICBTT1VSQ0VTICs9IFwKKyAgICAgICAgICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOE5hdmlnYXRv
ckN1c3RvbS5jcHAgXAorICAgICAgICAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4TmF2aWdhdG9y
VXNlck1lZGlhRXJyb3JDYWxsYmFja0N1c3RvbS5jcHAgXAorICAgICAgICAgICAgYmluZGluZ3Mv
djgvY3VzdG9tL1Y4TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrQ3VzdG9tLmNwcAor
CisgICAgfSBlbHNlIHsKKyAgICAgICAgSEVBREVSUyArPSBcCisgICAgICAgICAgICBiaW5kaW5n
cy9qcy9KU05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2tDdXN0b20uaCBcCisgICAgICAg
ICAgICBiaW5kaW5ncy9qcy9KU05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFja0N1c3Rv
bS5oCisKKyAgICAgICAgU09VUkNFUyArPSBcCisgICAgICAgICAgICBiaW5kaW5ncy9qcy9KU05h
dmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2tDdXN0b20uY3BwIFwKKyAgICAgICAgICAgIGJp
bmRpbmdzL2pzL0pTTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrQ3VzdG9tLmNwcAor
ICAgIH0KK30KKwogY29udGFpbnMoREVGSU5FUywgRU5BQkxFX1NWRz0xKSB7CiAgICAgIXY4IHsK
ICAgICAgICAgU09VUkNFUyArPSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LnZjcHJvai9XZWJDb3JlLnZjcHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dl
YkNvcmUudmNwcm9qCmluZGV4IDVlOTdiYjJlYmY0NzE3MjA5NTEyOGVlY2ZlMTk3NzRjZTMwMTJj
ZTAuLmNlY2E4MGZiYTY5MGI5NmIyYWQ5OTY5ZGQ2MWVhZjU2MzIwZGNmZGIgMTAwNzU1Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCkBAIC0yNDU5MCw2ICsyNDU5
MCwxMCBAQAogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIu
LlxwYWdlXENhbGxiYWNrVGFzay5oIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCiAJCQkJ
UmVsYXRpdmVQYXRoPSIuLlxwYWdlXENocm9tZS5jcHAiCiAJCQkJPgogCQkJPC9GaWxlPgpAQCAt
MjQ4NzgsNiArMjQ4ODIsMTggQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJl
bGF0aXZlUGF0aD0iLi5ccGFnZVxOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5oIgorCQkJCT4KKwkJ
CTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxwYWdlXE5hdmlnYXRvclVz
ZXJNZWRpYUVycm9yQ2FsbGJhY2suaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJ
CVJlbGF0aXZlUGF0aD0iLi5ccGFnZVxOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2su
aCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGFn
ZVxPcmlnaW5BY2Nlc3NFbnRyeS5jcHAiCiAJCQkJPgogCQkJPC9GaWxlPgpAQCAtNjEyODEsNiAr
NjEyOTcsMTE4IEBACiAJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CiAJCQkJPC9GaWxlPgogCQkJ
CTxGaWxlCisJCQkJCVJlbGF0aXZlUGF0aD0iLi5cYmluZGluZ3NcanNcSlNOYXZpZ2F0b3JVc2Vy
TWVkaWFFcnJvckNhbGxiYWNrQ3VzdG9tLmNwcCIKKwkJCQkJPgorCQkJCQk8RmlsZUNvbmZpZ3Vy
YXRpb24KKwkJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIgorCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9
InRydWUiCisJCQkJCQk+CisJCQkJCQk8VG9vbAorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRv
b2wiCisJCQkJCQkvPgorCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCQk8RmlsZUNvbmZp
Z3VyYXRpb24KKwkJCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiCisJCQkJCQlFeGNsdWRlZEZyb21C
dWlsZD0idHJ1ZSIKKwkJCQkJCT4KKwkJCQkJCTxUb29sCisJCQkJCQkJTmFtZT0iVkNDTENvbXBp
bGVyVG9vbCIKKwkJCQkJCS8+CisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJCTxGaWxl
Q29uZmlndXJhdGlvbgorCQkJCQkJTmFtZT0iRGVidWdfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJ
CQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCQk+CisJCQkJCQk8VG9vbAorCQkJCQkJ
CU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCQkvPgorCQkJCQk8L0ZpbGVDb25maWd1cmF0
aW9uPgorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJCU5hbWU9IlJlbGVhc2VfQ2Fpcm9f
Q0ZMaXRlfFdpbjMyIgorCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCQk+CisJ
CQkJCQk8VG9vbAorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCQkvPgorCQkJ
CQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJCU5h
bWU9IkRlYnVnX0FsbHxXaW4zMiIKKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJ
CQkJPgorCQkJCQkJPFRvb2wKKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkJ
Lz4KKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJ
CQkJCQlOYW1lPSJSZWxlYXNlX0xUQ0d8V2luMzIiCisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0i
dHJ1ZSIKKwkJCQkJCT4KKwkJCQkJCTxUb29sCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9v
bCIKKwkJCQkJCS8+CisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPC9GaWxlPgorCQkJ
CTxGaWxlCisJCQkJCVJlbGF0aXZlUGF0aD0iLi5cYmluZGluZ3NcanNcSlNOYXZpZ2F0b3JVc2Vy
TWVkaWFFcnJvckNhbGxiYWNrQ3VzdG9tLmgiCisJCQkJCT4KKwkJCQk8L0ZpbGU+CisJCQkJPEZp
bGUKKwkJCQkJUmVsYXRpdmVQYXRoPSIuLlxiaW5kaW5nc1xqc1xKU05hdmlnYXRvclVzZXJNZWRp
YVN1Y2Nlc3NDYWxsYmFja0N1c3RvbS5jcHAiCisJCQkJCT4KKwkJCQkJPEZpbGVDb25maWd1cmF0
aW9uCisJCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiIKKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0
cnVlIgorCQkJCQkJPgorCQkJCQkJPFRvb2wKKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29s
IgorCQkJCQkJLz4KKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQkJPEZpbGVDb25maWd1
cmF0aW9uCisJCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIgorCQkJCQkJRXhjbHVkZWRGcm9tQnVp
bGQ9InRydWUiCisJCQkJCQk+CisJCQkJCQk8VG9vbAorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxl
clRvb2wiCisJCQkJCQkvPgorCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCQk8RmlsZUNv
bmZpZ3VyYXRpb24KKwkJCQkJCU5hbWU9IkRlYnVnX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJ
CUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQkJPgorCQkJCQkJPFRvb2wKKwkJCQkJCQlO
YW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkJLz4KKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlv
bj4KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCQlOYW1lPSJSZWxlYXNlX0NhaXJvX0NG
TGl0ZXxXaW4zMiIKKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQkJPgorCQkJ
CQkJPFRvb2wKKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkJLz4KKwkJCQkJ
PC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCQlOYW1l
PSJEZWJ1Z19BbGx8V2luMzIiCisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJ
CT4KKwkJCQkJCTxUb29sCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJCS8+
CisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJ
CQkJTmFtZT0iUmVsZWFzZV9MVENHfFdpbjMyIgorCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRy
dWUiCisJCQkJCQk+CisJCQkJCQk8VG9vbAorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wi
CisJCQkJCQkvPgorCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTwvRmlsZT4KKwkJCQk8
RmlsZQorCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGJpbmRpbmdzXGpzXEpTTmF2aWdhdG9yVXNlck1l
ZGlhU3VjY2Vzc0NhbGxiYWNrQ3VzdG9tLmgiCisJCQkJCT4KKwkJCQk8L0ZpbGU+CisJCQkJPEZp
bGUKIAkJCQkJUmVsYXRpdmVQYXRoPSIuLlxiaW5kaW5nc1xqc1xKU05vZGVDdXN0b20uY3BwIgog
CQkJCQk+CiAJCQkJCTxGaWxlQ29uZmlndXJhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDZkMWJjZWJmZmQ3YTdlMjZmMzE0
OWE4NjRlZThhMTYzNTRhN2MzYjcuLjgzOGEyNGExMzEzYjVlYWMwM2UxNGQ2MjI2ZDJkMmE2YmY0
NjQxZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKQEAgLTQwODAsNiArNDA4MCwxNiBAQAogCQlCMDE0OUU3RTExQTRCMjE1MDAxOTZB
N0IgLyogQXN5bmNJbWFnZVJlc2l6ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEIwMTQ5RTdBMTFBNEIyMTUwMDE5NkE3QiAvKiBBc3luY0ltYWdlUmVz
aXplci5oICovOyB9OwogCQlCMDE0OUU3RjExQTRCMjE1MDAxOTZBN0IgLyogSW1hZ2VSZXNpemVy
VGhyZWFkLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEIwMTQ5RTdCMTFBNEIyMTUwMDE5NkE3QiAvKiBJbWFnZVJlc2l6ZXJUaHJlYWQuY3BwICovOyB9
OwogCQlCMDE0OUU4MDExQTRCMjE1MDAxOTZBN0IgLyogSW1hZ2VSZXNpemVyVGhyZWFkLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMDE0OUU3QzExQTRC
MjE1MDAxOTZBN0IgLyogSW1hZ2VSZXNpemVyVGhyZWFkLmggKi87IH07CisJCUIxREM0QkFGMTMz
OEUwRjMwMEVGRjhEOCAvKiBKU05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2tDdXN0b20u
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjFEQzRC
QTgxMzM4RTBGMzAwRUZGOEQ4IC8qIEpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFja0N1
c3RvbS5jcHAgKi87IH07CisJCUIxREM0QkIwMTMzOEUwRjMwMEVGRjhEOCAvKiBKU05hdmlnYXRv
clVzZXJNZWRpYUVycm9yQ2FsbGJhY2tDdXN0b20uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIxREM0QkE5MTMzOEUwRjMwMEVGRjhEOCAvKiBKU05hdmln
YXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2tDdXN0b20uaCAqLzsgfTsKKwkJQjFEQzRCQjExMzM4
RTBGMzAwRUZGOEQ4IC8qIEpTTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrQ3VzdG9t
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIxREM0
QkFBMTMzOEUwRjMwMEVGRjhEOCAvKiBKU05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFj
a0N1c3RvbS5jcHAgKi87IH07CisJCUIxREM0QkIyMTMzOEUwRjMwMEVGRjhEOCAvKiBKU05hdmln
YXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFja0N1c3RvbS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjFEQzRCQUIxMzM4RTBGMzAwRUZGOEQ4IC8qIEpT
TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrQ3VzdG9tLmggKi87IH07CisJCUIxREM0
QkI1MTMzOEUxNDAwMEVGRjhEOCAvKiBDYWxsYmFja1Rhc2suaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIxREM0QkI0MTMzOEUxNDAwMEVGRjhEOCAvKiBD
YWxsYmFja1Rhc2suaCAqLzsgfTsKKwkJQjFFNDZDMDkxMzMzQjU3RjAwODIyRDdGIC8qIE5hdmln
YXRvclVzZXJNZWRpYUVycm9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBCMUU0NkMwMTEzMzNCNTdGMDA4MjJEN0YgLyogTmF2aWdhdG9yVXNlck1lZGlh
RXJyb3IuaCAqLzsgfTsKKwkJQjFFNDZDMEMxMzMzQjU3RjAwODIyRDdGIC8qIE5hdmlnYXRvclVz
ZXJNZWRpYUVycm9yQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEIxRTQ2QzA0MTMzM0I1N0YwMDgyMkQ3RiAvKiBOYXZpZ2F0b3JVc2VyTWVk
aWFFcnJvckNhbGxiYWNrLmggKi87IH07CisJCUIxRTQ2QzBGMTMzM0I1N0YwMDgyMkQ3RiAvKiBO
YXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIxRTQ2QzA3MTMzM0I1N0YwMDgyMkQ3RiAvKiBOYXZp
Z2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suaCAqLzsgfTsKKwkJQjFFNDZDNTIxMzMzQzFE
QzAwODIyRDdGIC8qIEpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjFFNDZDNDQxMzMzQzFEQzAwODIyRDdG
IC8qIEpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuY3BwICovOyB9OworCQlCMUU0NkM1MzEzMzND
MURDMDA4MjJEN0YgLyogSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjFFNDZDNDUxMzMzQzFEQzAwODIyRDdG
IC8qIEpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuaCAqLzsgfTsKIAkJQjIwMTExMDcwQUI3NzQw
NTAwREIwRTY4IC8qIEpTU1ZHQUVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQjIwMTExMDUwQUI3NzQwNTAwREIwRTY4IC8qIEpTU1ZHQUVs
ZW1lbnQuY3BwICovOyB9OwogCQlCMjAxMTEwODBBQjc3NDA1MDBEQjBFNjggLyogSlNTVkdBRWxl
bWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjIw
MTExMDYwQUI3NzQwNTAwREIwRTY4IC8qIEpTU1ZHQUVsZW1lbnQuaCAqLzsgfTsKIAkJQjIyMjc5
NjIwRDAwQkYyMjAwNzFCNzgyIC8qIENvbG9yRGlzdGFuY2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjIyMjc3Q0IwRDAwQkYxRjAwNzFCNzgyIC8q
IENvbG9yRGlzdGFuY2UuY3BwICovOyB9OwpAQCAtMTAzMTksNiArMTAzMjksMTcgQEAKIAkJQjAx
NDlFN0ExMUE0QjIxNTAwMTk2QTdCIC8qIEFzeW5jSW1hZ2VSZXNpemVyLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFzeW5jSW1hZ2VSZXNpemVyLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUIwMTQ5RTdCMTFBNEIyMTUwMDE5NkE3QiAvKiBJbWFnZVJlc2l6ZXJU
aHJlYWQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSW1hZ2VSZXNp
emVyVGhyZWFkLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjAxNDlFN0MxMUE0
QjIxNTAwMTk2QTdCIC8qIEltYWdlUmVzaXplclRocmVhZC5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBJbWFnZVJlc2l6ZXJUaHJlYWQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJQjFEQzRCQTgxMzM4RTBGMzAwRUZGOEQ4IC8qIEpTTmF2aWdhdG9yVXNlck1lZGlh
RXJyb3JDYWxsYmFja0N1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBKU05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2tDdXN0b20uY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlCMURDNEJBOTEzMzhFMEYzMDBFRkY4RDggLyogSlNOYXZp
Z2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrQ3VzdG9tLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFja0N1c3RvbS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCMURDNEJBQTEzMzhFMEYzMDBFRkY4RDggLyog
SlNOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2tDdXN0b20uY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2Fs
bGJhY2tDdXN0b20uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCMURDNEJBQjEz
MzhFMEYzMDBFRkY4RDggLyogSlNOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2tDdXN0
b20uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNOYXZpZ2F0b3JVc2VyTWVk
aWFTdWNjZXNzQ2FsbGJhY2tDdXN0b20uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
QjFEQzRCQjQxMzM4RTE0MDAwRUZGOEQ4IC8qIENhbGxiYWNrVGFzay5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBDYWxsYmFja1Rhc2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJQjFFNDZDMDExMzMzQjU3RjAwODIyRDdGIC8qIE5hdmlnYXRvclVzZXJNZWRpYUVy
cm9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5hdmlnYXRvclVzZXJNZWRp
YUVycm9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIxRTQ2QzAyMTMzM0I1N0Yw
MDgyMkQ3RiAvKiBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5pZGwgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBw
YXRoID0gTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQlCMUU0NkMwNDEzMzNCNTdGMDA4MjJEN0YgLyogTmF2aWdhdG9yVXNlck1lZGlhRXJy
b3JDYWxsYmFjay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOYXZpZ2F0b3JV
c2VyTWVkaWFFcnJvckNhbGxiYWNrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIx
RTQ2QzA3MTMzM0I1N0YwMDgyMkQ3RiAvKiBOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJh
Y2suaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTmF2aWdhdG9yVXNlck1lZGlh
U3VjY2Vzc0NhbGxiYWNrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIxRTQ2QzQ0
MTMzM0MxREMwMDgyMkQ3RiAvKiBKU05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3Iu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCMUU0NkM0NTEzMzNDMURDMDA4MjJE
N0YgLyogSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBKU05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUIyMDExMTA1MEFCNzc0MDUwMERCMEU2OCAvKiBKU1NWR0FFbGVtZW50LmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1NWR0FFbGVtZW50LmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjIwMTExMDYwQUI3NzQwNTAwREIwRTY4
IC8qIEpTU1ZHQUVsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpT
U1ZHQUVsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjIyMjc3Q0IwRDAw
QkYxRjAwNzFCNzgyIC8qIENvbG9yRGlzdGFuY2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IENvbG9yRGlzdGFuY2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwpAQCAtMTQxMDAsNiArMTQxMjEsNyBAQAogCQkJCUJDMTI0RUU0MEMyNjQxQ0QwMDlFMjM0
OSAvKiBCYXJJbmZvLmNwcCAqLywKIAkJCQlCQzEyNEVFNTBDMjY0MUNEMDA5RTIzNDkgLyogQmFy
SW5mby5oICovLAogCQkJCUJDMTI0RUU2MEMyNjQxQ0QwMDlFMjM0OSAvKiBCYXJJbmZvLmlkbCAq
LywKKwkJCQlCMURDNEJCNDEzMzhFMTQwMDBFRkY4RDggLyogQ2FsbGJhY2tUYXNrLmggKi8sCiAJ
CQkJMTREODIzOEEwQUY5MkRGNjAwMDRGMDU3IC8qIENocm9tZS5jcHAgKi8sCiAJCQkJMTREODIz
NTAwQUY5MkE3OTAwMDRGMDU3IC8qIENocm9tZS5oICovLAogCQkJCTE0RDgyNDA2MEFGOTNBRUIw
MDA0RjA1NyAvKiBDaHJvbWVDbGllbnQuaCAqLywKQEAgLTE0MTgwLDYgKzE0MjAyLDEwIEBACiAJ
CQkJQTlDNkU2NUQwRDc0NjY5NDAwNjQ0MkU5IC8qIE5hdmlnYXRvci5pZGwgKi8sCiAJCQkJRTEy
NzE5QzkwRUVFQzIxMzAwRjYxMjEzIC8qIE5hdmlnYXRvckJhc2UuY3BwICovLAogCQkJCUUxMjcx
OUM2MEVFRUMxNjgwMEY2MTIxMyAvKiBOYXZpZ2F0b3JCYXNlLmggKi8sCisJCQkJQjFFNDZDMDEx
MzMzQjU3RjAwODIyRDdGIC8qIE5hdmlnYXRvclVzZXJNZWRpYUVycm9yLmggKi8sCisJCQkJQjFF
NDZDMDIxMzMzQjU3RjAwODIyRDdGIC8qIE5hdmlnYXRvclVzZXJNZWRpYUVycm9yLmlkbCAqLywK
KwkJCQlCMUU0NkMwNDEzMzNCNTdGMDA4MjJEN0YgLyogTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JD
YWxsYmFjay5oICovLAorCQkJCUIxRTQ2QzA3MTMzM0I1N0YwMDgyMkQ3RiAvKiBOYXZpZ2F0b3JV
c2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suaCAqLywKIAkJCQkwMDE0NjI4ODEwM0NEMURFMDAwQjIw
REIgLyogT3JpZ2luQWNjZXNzRW50cnkuY3BwICovLAogCQkJCTAwMTQ2Mjg5MTAzQ0QxREUwMDBC
MjBEQiAvKiBPcmlnaW5BY2Nlc3NFbnRyeS5oICovLAogCQkJCTY1RkVBODY4MDk4MzNBREUwMEJF
RDRBQiAvKiBQYWdlLmNwcCAqLywKQEAgLTE4MTE1LDYgKzE4MTQxLDEwIEBACiAJCQkJNDFGNTg0
QzYxMDQ2NTJDQjAwOUNBQTY0IC8qIEpTTWVzc2FnZVBvcnRDdXN0b20uaCAqLywKIAkJCQlCQ0Q5
QzI1RjBDMTdBQTY3MDA1QzkwQTIgLyogSlNOYW1lZE5vZGVNYXBDdXN0b20uY3BwICovLAogCQkJ
CUE5QzZFNjQ4MEQ3NDY1RDgwMDY0NDJFOSAvKiBKU05hdmlnYXRvckN1c3RvbS5jcHAgKi8sCisJ
CQkJQjFEQzRCQTgxMzM4RTBGMzAwRUZGOEQ4IC8qIEpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JD
YWxsYmFja0N1c3RvbS5jcHAgKi8sCisJCQkJQjFEQzRCQTkxMzM4RTBGMzAwRUZGOEQ4IC8qIEpT
TmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFja0N1c3RvbS5oICovLAorCQkJCUIxREM0QkFB
MTMzOEUwRjMwMEVGRjhEOCAvKiBKU05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFja0N1
c3RvbS5jcHAgKi8sCisJCQkJQjFEQzRCQUIxMzM4RTBGMzAwRUZGOEQ4IC8qIEpTTmF2aWdhdG9y
VXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrQ3VzdG9tLmggKi8sCiAJCQkJQkNEOUMyNjAwQzE3QUE2
NzAwNUM5MEEyIC8qIEpTTm9kZUN1c3RvbS5jcHAgKi8sCiAJCQkJQkM5NDM5QzIxMTZDRjQ5NDAw
NDhDNzUwIC8qIEpTTm9kZUN1c3RvbS5oICovLAogCQkJCUJDQjc3MzYwMEMxNzg1M0QwMDEzMkJB
NCAvKiBKU05vZGVGaWx0ZXJDdXN0b20uY3BwICovLApAQCAtMTgyNDIsNiArMTgyNzIsOCBAQAog
CQkJCTlGRkUzRUE0MTFCNUE0MzkwMDM3ODc0RSAvKiBKU01lbW9yeUluZm8uaCAqLywKIAkJCQlB
OUQyNDdGNTBENzU3RTMzMDBGREY5NTkgLyogSlNOYXZpZ2F0b3IuY3BwICovLAogCQkJCUE5RDI0
N0Y2MEQ3NTdFMzMwMEZERjk1OSAvKiBKU05hdmlnYXRvci5oICovLAorCQkJCUIxRTQ2QzQ0MTMz
M0MxREMwMDgyMkQ3RiAvKiBKU05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmNwcCAqLywKKwkJCQlC
MUU0NkM0NTEzMzNDMURDMDA4MjJEN0YgLyogSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5oICov
LAogCQkJCThBOUE1ODcyMTFFODRDODEwMDhBQ0ZEMSAvKiBKU1BlcmZvcm1hbmNlLmNwcCAqLywK
IAkJCQk4QTlBNTg3MzExRTg0QzgxMDA4QUNGRDEgLyogSlNQZXJmb3JtYW5jZS5oICovLAogCQkJ
CThBOUE1ODZFMTFFODRDMzUwMDhBQ0ZEMSAvKiBKU1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5jcHAg
Ki8sCkBAIC0yMjY5NCw2ICsyMjcyNiwxMyBAQAogCQkJCTMxOUU2OUI2MTMyOTlCQkQwMDRBQzkx
QSAvKiBXZWJLaXRBbmltYXRpb25MaXN0LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzc3MkUxMzEz
MzE2MjBDMDAxRUM5Q0UgLyogQ1NTTGluZUJveENvbnRhaW5WYWx1ZS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJNEYxNDQyMjkxMzM5RkQ2MjAwRTBENkY4IC8qIERPTU5vZGVIaWdobGlnaHRlci5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJQjFFNDZDMDkxMzMzQjU3RjAwODIyRDdGIC8qIE5hdmlnYXRvclVz
ZXJNZWRpYUVycm9yLmggaW4gSGVhZGVycyAqLywKKwkJCQlCMUU0NkMwQzEzMzNCNTdGMDA4MjJE
N0YgLyogTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJQjFFNDZDMEYxMzMzQjU3RjAwODIyRDdGIC8qIE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3ND
YWxsYmFjay5oIGluIEhlYWRlcnMgKi8sCisJCQkJQjFFNDZDNTMxMzMzQzFEQzAwODIyRDdGIC8q
IEpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuaCBpbiBIZWFkZXJzICovLAorCQkJCUIxREM0QkIw
MTMzOEUwRjMwMEVGRjhEOCAvKiBKU05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2tDdXN0
b20uaCBpbiBIZWFkZXJzICovLAorCQkJCUIxREM0QkIyMTMzOEUwRjMwMEVGRjhEOCAvKiBKU05h
dmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFja0N1c3RvbS5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJQjFEQzRCQjUxMzM4RTE0MDAwRUZGOEQ4IC8qIENhbGxiYWNrVGFzay5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJ
CX07CkBAIC0yNTM2NCw2ICsyNTQwMyw5IEBACiAJCQkJQkM3NzJFMTYxMzMxNjJDMjAwMUVDOUNF
IC8qIENTU0xpbmVCb3hDb250YWluVmFsdWUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0UzN0VG
MkUxMzM5MjA4ODAwQjI5MjUwIC8qIFN1YnJlc291cmNlTG9hZGVyQ0YuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJNEYxNDQyMjgxMzM5RkQ2MjAwRTBENkY4IC8qIERPTU5vZGVIaWdobGlnaHRlci5j
cHAgaW4gU291cmNlcyAqLywKKwkJCQlCMUU0NkM1MjEzMzNDMURDMDA4MjJEN0YgLyogSlNOYXZp
Z2F0b3JVc2VyTWVkaWFFcnJvci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlCMURDNEJBRjEzMzhF
MEYzMDBFRkY4RDggLyogSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrQ3VzdG9tLmNw
cCBpbiBTb3VyY2VzICovLAorCQkJCUIxREM0QkIxMTMzOEUwRjMwMEVGRjhEOCAvKiBKU05hdmln
YXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFja0N1c3RvbS5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQmluZGluZ3NBbGxJbk9uZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0JpbmRpbmdzQWxsSW5PbmUuY3BwCmlu
ZGV4IDkzMWZlZDMyNGMwN2Q0OTA2MDA3NjM2YzBlY2MxMTNlNTdkODA2YWIuLjk5MmRlNTY0YTJi
OWIxZTExNDI2ODg3NTgxZTA2OTRkNTMxM2Y0ZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTQmluZGluZ3NBbGxJbk9uZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNCaW5kaW5nc0FsbEluT25lLmNwcApAQCAtMTE4LDYgKzExOCw4IEBACiAj
aW5jbHVkZSAiSlNNZXNzYWdlUG9ydEN1c3RvbS5jcHAiCiAjaW5jbHVkZSAiSlNOYW1lZE5vZGVN
YXBDdXN0b20uY3BwIgogI2luY2x1ZGUgIkpTTmF2aWdhdG9yQ3VzdG9tLmNwcCIKKyNpbmNsdWRl
ICJKU05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2tDdXN0b20uY3BwIgorI2luY2x1ZGUg
IkpTTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrQ3VzdG9tLmNwcCIKICNpbmNsdWRl
ICJKU05vZGVDdXN0b20uY3BwIgogI2luY2x1ZGUgIkpTTm9kZUZpbHRlckNvbmRpdGlvbi5jcHAi
CiAjaW5jbHVkZSAiSlNOb2RlRmlsdGVyQ3VzdG9tLmNwcCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTTmF2aWdhdG9yQ3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTTmF2aWdhdG9yQ3VzdG9tLmNwcAppbmRleCBjMDIzOTMxMzJhODIzMmEx
ZDQ4ZTEzMTY4NmUzNzBkMWZmNDJmN2IyLi5hMmU5YzI2YTA2YzcwNDdhNzM3NWM4OWMwOThhMDY4
MDFiMGMxNTFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU05hdmln
YXRvckN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNOYXZpZ2F0
b3JDdXN0b20uY3BwCkBAIC0yMyw3ICsyMywxMSBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2lu
Y2x1ZGUgIkpTTmF2aWdhdG9yLmgiCiAKKyNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCisjaW5j
bHVkZSAiSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrQ3VzdG9tLmgiCisjaW5jbHVk
ZSAiSlNOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2tDdXN0b20uaCIKICNpbmNsdWRl
ICJOYXZpZ2F0b3IuaCIKKyNpbmNsdWRlIDxydW50aW1lL0pTRnVuY3Rpb24uaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCkBAIC0zOCw0ICs0Miw1OCBAQCB2b2lkIEpTTmF2aWdhdG9yOjptYXJr
Q2hpbGRyZW4oTWFya1N0YWNrJiBtYXJrU3RhY2spCiAgICAgbWFya0RPTU9iamVjdFdyYXBwZXIo
bWFya1N0YWNrLCBnbG9iYWxEYXRhLCBpbXBsKCktPm9wdGlvbmFsR2VvbG9jYXRpb24oKSk7CiB9
CiAKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorCitzdGF0aWMgUGFzc1JlZlB0cjxOYXZpZ2F0
b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2s+IGNyZWF0ZU5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nl
c3NDYWxsYmFjayhFeGVjU3RhdGUqIGV4ZWMsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QsIEpTVmFsdWUgdmFsdWUpCit7CisgICAgLy8gVGhlIHNwZWMgc3BlY2lmaWVzICdGdW5jdGlv
bk9ubHknIGZvciB0aGlzIG9iamVjdC4KKyAgICAvLyBGSVhNRTogVGhpcyBjaGVjayBkaXNhbGxv
d3MgY2FsbGFibGUgb2JqZWN0cyBjcmVhdGVkIHZpYSBKU0MgQVBJLiBJdCdzIG5vdCBjbGVhciB3
aGF0IGV4YWN0bHkgdGhlIHNwZWNpZmljYXRpb24gaW50ZW5kcyB0byBhbGxvdy4KKyAgICBpZiAo
IXZhbHVlLmluaGVyaXRzKCZKU0Z1bmN0aW9uOjpzX2luZm8pKSB7CisgICAgICAgIHNldERPTUV4
Y2VwdGlvbihleGVjLCBUWVBFX01JU01BVENIX0VSUik7CisgICAgICAgIHJldHVybiAwOworICAg
IH0KKworICAgIEpTT2JqZWN0KiBvYmplY3QgPSBhc09iamVjdCh2YWx1ZSk7CisgICAgcmV0dXJu
IEpTTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrOjpjcmVhdGUob2JqZWN0LCBnbG9i
YWxPYmplY3QpOworfQorCitzdGF0aWMgUGFzc1JlZlB0cjxOYXZpZ2F0b3JVc2VyTWVkaWFFcnJv
ckNhbGxiYWNrPiBjcmVhdGVOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrKEV4ZWNTdGF0
ZSogZXhlYywgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNWYWx1ZSB2YWx1ZSkK
K3sKKyAgICAvLyBBcmd1bWVudCBpcyBvcHRpb25hbCAoaGVuY2UgdW5kZWZpbmVkIGlzIGFsbG93
ZWQpLCBhbmQgbnVsbCBpcyBhbGxvd2VkLgorICAgIGlmICh2YWx1ZS5pc1VuZGVmaW5lZE9yTnVs
bCgpKQorICAgICAgICByZXR1cm4gMDsKKworICAgIC8vIFRoZSBzcGVjIHNwZWNpZmllcyAnRnVu
Y3Rpb25Pbmx5JyBmb3IgdGhpcyBvYmplY3QuCisgICAgLy8gRklYTUU6IFRoaXMgY2hlY2sgZGlz
YWxsb3dzIGNhbGxhYmxlIG9iamVjdHMgY3JlYXRlZCB2aWEgSlNDIEFQSS4gSXQncyBub3QgY2xl
YXIgd2hhdCBleGFjdGx5IHRoZSBzcGVjaWZpY2F0aW9uIGludGVuZHMgdG8gYWxsb3cuCisgICAg
aWYgKCF2YWx1ZS5pbmhlcml0cygmSlNGdW5jdGlvbjo6c19pbmZvKSkgeworICAgICAgICBzZXRE
T01FeGNlcHRpb24oZXhlYywgVFlQRV9NSVNNQVRDSF9FUlIpOworICAgICAgICByZXR1cm4gMDsK
KyAgICB9CisKKyAgICBKU09iamVjdCogb2JqZWN0ID0gYXNPYmplY3QodmFsdWUpOworICAgIHJl
dHVybiBKU05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2s6OmNyZWF0ZShvYmplY3QsIGds
b2JhbE9iamVjdCk7Cit9CisKK0pTVmFsdWUgSlNOYXZpZ2F0b3I6OndlYmtpdEdldFVzZXJNZWRp
YShFeGVjU3RhdGUqIGV4ZWMpCit7CisgICAgLy8gQXJndW1lbnRzOiBPcHRpb25zLCBzdWNjZXNz
Q2FsbGJhY2ssIChvcHRpb25hbCllcnJvckNhbGxiYWNrCisKKyAgICBTdHJpbmcgb3B0aW9ucyA9
IHVzdHJpbmdUb1N0cmluZyhleGVjLT5hcmd1bWVudCgwKS50b1N0cmluZyhleGVjKSk7CisgICAg
aWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQorICAgICAgICByZXR1cm4ganNVbmRlZmluZWQoKTsK
KworICAgIFJlZlB0cjxOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2s+IHN1Y2Nlc3ND
YWxsYmFjayA9IGNyZWF0ZU5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjayhleGVjLCBz
dGF0aWNfY2FzdDxKU0RPTUdsb2JhbE9iamVjdCo+KGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3Qo
KSksIGV4ZWMtPmFyZ3VtZW50KDEpKTsKKyAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkgfHwg
IXN1Y2Nlc3NDYWxsYmFjaykKKyAgICAgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7CisKKyAgICBS
ZWZQdHI8TmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjaz4gZXJyb3JDYWxsYmFjayA9IGNy
ZWF0ZU5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2soZXhlYywgc3RhdGljX2Nhc3Q8SlNE
T01HbG9iYWxPYmplY3QqPihleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCkpLCBleGVjLT5hcmd1
bWVudCgyKSk7CisgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQorICAgICAgICByZXR1cm4g
anNVbmRlZmluZWQoKTsKKworICAgIG1faW1wbC0+d2Via2l0R2V0VXNlck1lZGlhKG9wdGlvbnMs
IHN1Y2Nlc3NDYWxsYmFjay5yZWxlYXNlKCksIGVycm9yQ2FsbGJhY2sucmVsZWFzZSgpKTsKKyAg
ICByZXR1cm4ganNVbmRlZmluZWQoKTsKK30KKworI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TVFJF
QU0pCisKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTmF2aWdh
dG9yVXNlck1lZGlhRXJyb3JDYWxsYmFja0N1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2tDdXN0b20uY3BwCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmZjZTZkYTBiYzFlZDM3ZTA3YjAyM2NlZDJkMTk3MjA1Zjc2ODU4MGYKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU05hdmlnYXRvclVzZXJNZWRp
YUVycm9yQ2FsbGJhY2tDdXN0b20uY3BwCkBAIC0wLDAgKzEsNjggQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9u
LgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVz
IG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElT
IiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICog
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
KyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmln
LmgiCisjaW5jbHVkZSAiSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrQ3VzdG9tLmgi
CisKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorCisjaW5jbHVkZSAiSlNOYXZpZ2F0b3JVc2Vy
TWVkaWFFcnJvci5oIgorI2luY2x1ZGUgIlNjcmlwdENvbnRyb2xsZXIuaCIKKyNpbmNsdWRlIDxy
dW50aW1lL0pTTG9jay5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3VzaW5nIG5hbWVzcGFj
ZSBKU0M7CisKK0pTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjazo6SlNOYXZpZ2F0b3JV
c2VyTWVkaWFFcnJvckNhbGxiYWNrKEpTT2JqZWN0KiBjYWxsYmFjaywgSlNET01HbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCkKKyAgICA6IE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2so
Z2xvYmFsT2JqZWN0LT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpCisgICAgLCBtX2RhdGEoY2Fs
bGJhY2ssIGdsb2JhbE9iamVjdCkKK3sKK30KKwordm9pZCBKU05hdmlnYXRvclVzZXJNZWRpYUVy
cm9yQ2FsbGJhY2s6OmhhbmRsZUV2ZW50KE5hdmlnYXRvclVzZXJNZWRpYUVycm9yKiBlcnJvcikK
K3sKKyAgICAvLyBBY3RpdmVET01PYmplY3Qgd2lsbCBudWxsIG91ciBwb2ludGVyIHRvIHRoZSBT
Y3JpcHRFeGVjdXRpb25Db250ZXh0IHdoZW4gaXQgZ29lcyBhd2F5LgorICAgIGlmICghc2NyaXB0
RXhlY3V0aW9uQ29udGV4dCgpKQorICAgICAgICByZXR1cm47CisKKyAgICBSZWZQdHI8SlNOYXZp
Z2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrPiBwcm90ZWN0KHRoaXMpOworCisgICAgSlNDOjpK
U0xvY2sgbG9jayhTaWxlbmNlQXNzZXJ0aW9uc09ubHkpOworICAgIEV4ZWNTdGF0ZSogZXhlYyA9
IG1fZGF0YS5nbG9iYWxPYmplY3QoKS0+Z2xvYmFsRXhlYygpOworICAgIE1hcmtlZEFyZ3VtZW50
QnVmZmVyIGFyZ3M7CisgICAgYXJncy5hcHBlbmQodG9KUyhleGVjLCBkZXByZWNhdGVkR2xvYmFs
T2JqZWN0Rm9yUHJvdG90eXBlKGV4ZWMpLCBlcnJvcikpOworICAgIG1fZGF0YS5pbnZva2VDYWxs
YmFjayhhcmdzKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5B
QkxFKE1FRElBX1NUUkVBTSkKKwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrQ3VzdG9tLmggYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2tDdXN0b20u
aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5kYjg2Nzk5Y2RjMDg1ZjhjM2I1YWViMWFiYzgzOTYxM2VjNDBlYWJmCi0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNOYXZpZ2F0b3JV
c2VyTWVkaWFFcnJvckNhbGxiYWNrQ3VzdG9tLmgKQEAgLTAsMCArMSw2NiBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmli
dXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUg
bmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBw
cm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAi
QVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
CisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgV1RG
X0pTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFja0N1c3RvbV9oCisjZGVmaW5lIFdURl9K
U05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2tDdXN0b21faAorCisjaWYgRU5BQkxFKE1F
RElBX1NUUkVBTSkKKworI2luY2x1ZGUgIkpTQ2FsbGJhY2tEYXRhLmgiCisjaW5jbHVkZSAiTmF2
aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5oIgorI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgTmF2aWdhdG9yVXNlck1lZGlhRXJyb3I7
CitjbGFzcyBKU0RPTUdsb2JhbE9iamVjdDsKKworY2xhc3MgSlNOYXZpZ2F0b3JVc2VyTWVkaWFF
cnJvckNhbGxiYWNrIDogcHVibGljIE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2sgewor
cHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPEpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JD
YWxsYmFjaz4gY3JlYXRlKEpTQzo6SlNPYmplY3QqIGNhbGxiYWNrLCBKU0RPTUdsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0KQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBKU05h
dmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2soY2FsbGJhY2ssIGdsb2JhbE9iamVjdCkpOwor
ICAgIH0KKyAgICAKKyAgICB2aXJ0dWFsIH5KU05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJh
Y2soKSB7IH0KKworcHJpdmF0ZToKKyAgICBKU05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJh
Y2soSlNDOjpKU09iamVjdCogY2FsbGJhY2ssIEpTRE9NR2xvYmFsT2JqZWN0Kik7CisKKyAgICB2
aXJ0dWFsIHZvaWQgaGFuZGxlRXZlbnQoTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IqKTsKKworICAg
IEpTQ2FsbGJhY2tEYXRhIG1fZGF0YTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKwor
I2VuZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0pCisKKyNlbmRpZiAvLyBXVEZfSlNOYXZpZ2F0
b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrQ3VzdG9tX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrQ3VzdG9t
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTmF2aWdhdG9yVXNlck1lZGlhU3Vj
Y2Vzc0NhbGxiYWNrQ3VzdG9tLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wNTA0YTcyZGIxMjBjMTJjNzZiNmZl
Yjg1ZGFhZDMyY2ExNmQ4MWI0Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2tDdXN0b20uY3BwCkBA
IC0wLDAgKzEsNTIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAq
IG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFt
ZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAq
IHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisg
KiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiSlNOYXZpZ2F0b3JV
c2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2tDdXN0b20uaCIKKworI2lmIEVOQUJMRShNRURJQV9TVFJF
QU0pCisKKyNpbmNsdWRlICJTY3JpcHRDb250cm9sbGVyLmgiCisjaW5jbHVkZSA8cnVudGltZS9K
U0xvY2suaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCit1c2luZyBuYW1lc3BhY2UgSlNDOwor
CitKU05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjazo6SlNOYXZpZ2F0b3JVc2VyTWVk
aWFTdWNjZXNzQ2FsbGJhY2soSlNPYmplY3QqIGNhbGxiYWNrLCBKU0RPTUdsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0KQorICAgIDogTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrKGds
b2JhbE9iamVjdC0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKQorICAgICwgbV9kYXRhKGNhbGxi
YWNrLCBnbG9iYWxPYmplY3QpCit7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2Vu
ZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0pCisKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrQ3VzdG9tLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3ND
YWxsYmFja0N1c3RvbS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjUyODc4NjFiM2RlZDYyMjcxOWQ5NmRlZmU2NGIw
ZWRkMzJhOWQ3MDEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFja0N1c3RvbS5oCkBAIC0wLDAgKzEs
NjEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAq
CisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICog
aW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29n
bGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29m
dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP
TlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQK
KyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjaWZuZGVmIFdURl9KU05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFja0N1c3Rv
bV9oCisjZGVmaW5lIFdURl9KU05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFja0N1c3Rv
bV9oCisKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorCisjaW5jbHVkZSAiSlNDYWxsYmFja0Rh
dGEuaCIKKyNpbmNsdWRlICJOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suaCIKKyNp
bmNsdWRlIDx3dGYvRm9yd2FyZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEpT
RE9NR2xvYmFsT2JqZWN0OworCitjbGFzcyBKU05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxs
YmFjayA6IHB1YmxpYyBOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2sgeworcHVibGlj
OgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPEpTTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxi
YWNrPiBjcmVhdGUoSlNDOjpKU09iamVjdCogY2FsbGJhY2ssIEpTRE9NR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IEpTTmF2aWdh
dG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrKGNhbGxiYWNrLCBnbG9iYWxPYmplY3QpKTsKKyAg
ICB9CisKK3ByaXZhdGU6CisgICAgSlNOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2so
SlNDOjpKU09iamVjdCogY2FsbGJhY2ssIEpTRE9NR2xvYmFsT2JqZWN0Kik7CisKKyAgICBKU0Nh
bGxiYWNrRGF0YSBtX2RhdGE7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRp
ZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFNKQorCisjZW5kaWYgLy8gV1RGX0pTTmF2aWdhdG9yVXNl
ck1lZGlhU3VjY2Vzc0NhbGxiYWNrQ3VzdG9tX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE5hdmlnYXRvckN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy92OC9jdXN0b20vVjhOYXZpZ2F0b3JDdXN0b20uY3BwCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg3
NDg1NGJiMmZlNjEyZTYyYTIxYThlODEwOWMwMDMwNzNjNWQ2ZmQKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhOYXZpZ2F0b3JDdXN0b20uY3Bw
CkBAIC0wLDAgKzEsMTExIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
CisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhl
IG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9y
cyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9t
CisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNz
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBI
T0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAq
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlY4TmF2aWdh
dG9yLmgiCisKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorCisjaW5jbHVkZSAiTmF2aWdhdG9y
LmgiCisjaW5jbHVkZSAiVjhCaW5kaW5nLmgiCisjaW5jbHVkZSAiVjhOYXZpZ2F0b3JVc2VyTWVk
aWFFcnJvckNhbGxiYWNrQ3VzdG9tLmgiCisjaW5jbHVkZSAiVjhOYXZpZ2F0b3JVc2VyTWVkaWFT
dWNjZXNzQ2FsbGJhY2tDdXN0b20uaCIKKyNpbmNsdWRlICJWOFByb3h5LmgiCisKK3VzaW5nIG5h
bWVzcGFjZSBXVEY7CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RhdGljIGNvbnN0IGNoYXIg
dHlwZU1pc21hdGNoRXJyb3JbXSA9ICJUWVBFX01JU01BVENIX0VSUjogRE9NIEV4Y2VwdGlvbiAx
NyI7CisKK3N0YXRpYyB2b2lkIHRocm93VHlwZU1pc21hdGNoRXhjZXB0aW9uKCkKK3sKKyAgICBW
OFByb3h5Ojp0aHJvd0Vycm9yKFY4UHJveHk6OkdlbmVyYWxFcnJvciwgdHlwZU1pc21hdGNoRXJy
b3IpOworfQorCitzdGF0aWMgUGFzc1JlZlB0cjxOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2Fs
bGJhY2s+IGNyZWF0ZU5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjayh2ODo6TG9jYWw8
djg6OlZhbHVlPiB2YWx1ZSwgYm9vbCYgc3VjY2VlZGVkKQoreworICAgIHN1Y2NlZWRlZCA9IHRy
dWU7CisKKyAgICAvLyBUaGUgc3BlYyBzcGVjaWZpZXMgJ0Z1bmN0aW9uT25seScgZm9yIHRoaXMg
b2JqZWN0LgorICAgIGlmICghdmFsdWUtPklzRnVuY3Rpb24oKSkgeworICAgICAgICBzdWNjZWVk
ZWQgPSBmYWxzZTsKKyAgICAgICAgdGhyb3dUeXBlTWlzbWF0Y2hFeGNlcHRpb24oKTsKKyAgICAg
ICAgcmV0dXJuIDA7CisgICAgfQorCisgICAgcmV0dXJuIFY4TmF2aWdhdG9yVXNlck1lZGlhU3Vj
Y2Vzc0NhbGxiYWNrQ3VzdG9tOjpjcmVhdGUodmFsdWUsIGdldFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQoKSk7Cit9CisKK3N0YXRpYyBQYXNzUmVmUHRyPE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2Fs
bGJhY2s+IGNyZWF0ZU5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2sodjg6OkxvY2FsPHY4
OjpWYWx1ZT4gdmFsdWUsIGJvb2wmIHN1Y2NlZWRlZCkKK3sKKyAgICBzdWNjZWVkZWQgPSB0cnVl
OworCisgICAgLy8gQXJndW1lbnQgaXMgb3B0aW9uYWwgKGhlbmNlIHVuZGVmaW5lZCBpcyBhbGxv
d2VkKSwgYW5kIG51bGwgaXMgYWxsb3dlZC4KKyAgICBpZiAoaXNVbmRlZmluZWRPck51bGwodmFs
dWUpKQorICAgICAgICByZXR1cm4gMDsKKworICAgIC8vIFRoZSBzcGVjIHNwZWNpZmllcyAnRnVu
Y3Rpb25Pbmx5JyBmb3IgdGhpcyBvYmplY3QuCisgICAgaWYgKCF2YWx1ZS0+SXNGdW5jdGlvbigp
KSB7CisgICAgICAgIHN1Y2NlZWRlZCA9IGZhbHNlOworICAgICAgICB0aHJvd1R5cGVNaXNtYXRj
aEV4Y2VwdGlvbigpOworICAgICAgICByZXR1cm4gMDsKKyAgICB9CisKKyAgICByZXR1cm4gVjhO
YXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrQ3VzdG9tOjpjcmVhdGUodmFsdWUsIGdldFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQoKSk7Cit9CisKK3Y4OjpIYW5kbGU8djg6OlZhbHVlPiBWOE5h
dmlnYXRvcjo6d2Via2l0R2V0VXNlck1lZGlhQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYg
YXJncykKK3sKKyAgICBJTkNfU1RBVFMoIkRPTS5OYXZpZ2F0b3Iud2Via2l0R2V0VXNlck1lZGlh
KCkiKTsKKworICAgIHY4OjpUcnlDYXRjaCBleGNlcHRpb25DYXRjaGVyOworICAgIFN0cmluZyBv
cHRpb25zID0gdG9XZWJDb3JlU3RyaW5nKGFyZ3NbMF0pOworICAgIGlmIChleGNlcHRpb25DYXRj
aGVyLkhhc0NhdWdodCgpKQorICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihleGNlcHRpb25DYXRj
aGVyLkV4Y2VwdGlvbigpKTsKKworICAgIGJvb2wgc3VjY2VlZGVkID0gZmFsc2U7CisKKyAgICBS
ZWZQdHI8TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrPiBzdWNjZXNzQ2FsbGJhY2sg
PSBjcmVhdGVOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2soYXJnc1sxXSwgc3VjY2Vl
ZGVkKTsKKyAgICBpZiAoIXN1Y2NlZWRlZCB8fCAhc3VjY2Vzc0NhbGxiYWNrKQorICAgICAgICBy
ZXR1cm4gdjg6OlVuZGVmaW5lZCgpOworCisgICAgUmVmUHRyPE5hdmlnYXRvclVzZXJNZWRpYUVy
cm9yQ2FsbGJhY2s+IGVycm9yQ2FsbGJhY2sgPSBjcmVhdGVOYXZpZ2F0b3JVc2VyTWVkaWFFcnJv
ckNhbGxiYWNrKGFyZ3NbMl0sIHN1Y2NlZWRlZCk7CisgICAgaWYgKCFzdWNjZWVkZWQpCisgICAg
ICAgIHJldHVybiB2ODo6VW5kZWZpbmVkKCk7CisKKyAgICBOYXZpZ2F0b3IqIG5hdmlnYXRvciA9
IFY4TmF2aWdhdG9yOjp0b05hdGl2ZShhcmdzLkhvbGRlcigpKTsKKyAgICBuYXZpZ2F0b3ItPndl
YmtpdEdldFVzZXJNZWRpYShvcHRpb25zLCBzdWNjZXNzQ2FsbGJhY2sucmVsZWFzZSgpLCBlcnJv
ckNhbGxiYWNrLnJlbGVhc2UoKSk7CisgICAgcmV0dXJuIHY4OjpVbmRlZmluZWQoKTsKK30KKwor
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVBTSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE5hdmlnYXRv
clVzZXJNZWRpYUVycm9yQ2FsbGJhY2tDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4TmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFja0N1c3RvbS5jcHAK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTRiMGYwNzFmODVmMmIxODJkYjE4ZDU2ZmM4ZDRkYmNmMzEyMTZlYQotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE5hdmln
YXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2tDdXN0b20uY3BwCkBAIC0wLDAgKzEsODcgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICog
ZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBu
b3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0
aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9S
UworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVS
IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAq
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5j
bHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiVjhOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxi
YWNrQ3VzdG9tLmgiCisKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorCisjaW5jbHVkZSAiU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dC5oIgorI2luY2x1ZGUgIlY4Q3VzdG9tVm9pZENhbGxiYWNrLmgi
IC8vIEZvciBpbnZva2VDYWxsYmFjaworI2luY2x1ZGUgIlY4TmF2aWdhdG9yVXNlck1lZGlhRXJy
b3IuaCIKKyNpbmNsdWRlICJWOFByb3h5LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworVjhO
YXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrQ3VzdG9tOjpWOE5hdmlnYXRvclVzZXJNZWRp
YUVycm9yQ2FsbGJhY2tDdXN0b20odjg6OkxvY2FsPHY4OjpPYmplY3Q+IGNhbGxiYWNrLCBTY3Jp
cHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0KQorICAgIDogTmF2aWdhdG9yVXNlck1lZGlhRXJy
b3JDYWxsYmFjayhjb250ZXh0KQorICAgICwgbV9jYWxsYmFjayh2ODo6UGVyc2lzdGVudDx2ODo6
T2JqZWN0Pjo6TmV3KGNhbGxiYWNrKSkKK3sKK30KKworVjhOYXZpZ2F0b3JVc2VyTWVkaWFFcnJv
ckNhbGxiYWNrQ3VzdG9tOjp+VjhOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrQ3VzdG9t
KCkKK3sKKyAgICBtX2NhbGxiYWNrLkRpc3Bvc2UoKTsKK30KKwordm9pZCBWOE5hdmlnYXRvclVz
ZXJNZWRpYUVycm9yQ2FsbGJhY2tDdXN0b206OmhhbmRsZUV2ZW50KE5hdmlnYXRvclVzZXJNZWRp
YUVycm9yKiBlcnJvcikKK3sKKyAgICB2ODo6SGFuZGxlU2NvcGUgaGFuZGxlU2NvcGU7CisKKyAg
ICAvLyBBY3RpdmVET01PYmplY3Qgd2lsbCBudWxsIG91ciBwb2ludGVyIHRvIHRoZSBTY3JpcHRF
eGVjdXRpb25Db250ZXh0IHdoZW4gaXQgZ29lcyBhd2F5LgorICAgIFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQqIHNjcmlwdENvbnRleHQgPSBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7CisgICAgaWYg
KCFzY3JpcHRDb250ZXh0KQorICAgICAgICByZXR1cm47CisKKyAgICAvLyBUaGUgbG9va3VwIG9m
IHRoZSBwcm94eSB3aWxsIGZhaWwgaWYgdGhlIEZyYW1lIGhhcyBiZWVuIGRldGFjaGVkLgorICAg
IFY4UHJveHkqIHByb3h5ID0gVjhQcm94eTo6cmV0cmlldmUoc2NyaXB0Q29udGV4dCk7CisgICAg
aWYgKCFwcm94eSkKKyAgICAgICAgcmV0dXJuOworCisgICAgdjg6OkhhbmRsZTx2ODo6Q29udGV4
dD4gY29udGV4dCA9IHByb3h5LT5jb250ZXh0KCk7CisgICAgaWYgKGNvbnRleHQuSXNFbXB0eSgp
KQorICAgICAgICByZXR1cm47CisKKyAgICB2ODo6Q29udGV4dDo6U2NvcGUgc2NvcGUoY29udGV4
dCk7CisKKyAgICB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gYXJndltdID0geworICAgICAgICB0b1Y4
KGVycm9yKQorICAgIH07CisKKyAgICAvLyBQcm90ZWN0IHRoZSBzY3JpcHQgY29udGV4dCB1bnRp
bCB0aGUgY2FsbGJhY2sgcmV0dXJucy4KKyAgICBSZWZQdHI8U2NyaXB0RXhlY3V0aW9uQ29udGV4
dD4gcHJvdGVjdG9yKHNjcmlwdENvbnRleHQpOworCisgICAgYm9vbCBjYWxsYmFja1JldHVyblZh
bHVlID0gZmFsc2U7CisgICAgaW52b2tlQ2FsbGJhY2sobV9jYWxsYmFjaywgMSwgYXJndiwgY2Fs
bGJhY2tSZXR1cm5WYWx1ZSwgc2NyaXB0Q29udGV4dCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0pCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNh
bGxiYWNrQ3VzdG9tLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhOYXZp
Z2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrQ3VzdG9tLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDY3YjFhNWI2
NWE4ZTFlYWMxN2I5MTlmM2M3MjUzZDI1MjJiM2FhNAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2Fs
bGJhY2tDdXN0b20uaApAQCAtMCwwICsxLDY0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEx
IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAq
IE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAq
IGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMg
ZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3Jp
dHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAq
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBWOE5hdmlnYXRvclVzZXJNZWRp
YUVycm9yQ2FsbGJhY2tDdXN0b21faAorI2RlZmluZSBWOE5hdmlnYXRvclVzZXJNZWRpYUVycm9y
Q2FsbGJhY2tDdXN0b21faAorCisjaW5jbHVkZSAiTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxs
YmFjay5oIgorCisjaW5jbHVkZSA8djguaD4KKyNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgor
I2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBO
YXZpZ2F0b3JVc2VyTWVkaWFFcnJvcjsKK2NsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CisK
K2NsYXNzIFY4TmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFja0N1c3RvbSA6IHB1YmxpYyBO
YXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFz
c1JlZlB0cjxWOE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2tDdXN0b20+IGNyZWF0ZSh2
ODo6TG9jYWw8djg6OlZhbHVlPiB2YWx1ZSwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4
dCkKKyAgICB7CisgICAgICAgIEFTU0VSVCh2YWx1ZS0+SXNPYmplY3QoKSk7CisgICAgICAgIHJl
dHVybiBhZG9wdFJlZihuZXcgVjhOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrQ3VzdG9t
KHZhbHVlLT5Ub09iamVjdCgpLCBjb250ZXh0KSk7CisgICAgfQorICAgIHZpcnR1YWwgflY4TmF2
aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFja0N1c3RvbSgpOworCisgICAgdmlydHVhbCB2b2lk
IGhhbmRsZUV2ZW50KE5hdmlnYXRvclVzZXJNZWRpYUVycm9yKik7CisKK3ByaXZhdGU6CisgICAg
VjhOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrQ3VzdG9tKHY4OjpMb2NhbDx2ODo6T2Jq
ZWN0PiwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopOworCisgICAgdjg6OlBlcnNpc3RlbnQ8djg6
Ok9iamVjdD4gbV9jYWxsYmFjazsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2Vu
ZGlmIC8vIFY4TmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFja0N1c3RvbV9oCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhOYXZpZ2F0b3JVc2VyTWVk
aWFTdWNjZXNzQ2FsbGJhY2tDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrQ3VzdG9tLmNwcApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi40OTFmNTI2NjNiYzY1NDQwYjVhNDQ0ODRmM2YzMGQxZWFjYTlmMzQxCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4TmF2aWdhdG9y
VXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrQ3VzdG9tLmNwcApAQCAtMCwwICsxLDU1IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICog
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRp
c3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9y
IHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNl
IG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhv
dXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMK
KyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBP
UiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1
ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlY4TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxi
YWNrQ3VzdG9tLmgiCisKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorCisjaW5jbHVkZSAiU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dC5oIgorI2luY2x1ZGUgIlY4Q3VzdG9tVm9pZENhbGxiYWNrLmgi
IC8vIEZvciBpbnZva2VDYWxsYmFjaworI2luY2x1ZGUgIlY4UHJveHkuaCIKKworbmFtZXNwYWNl
IFdlYkNvcmUgeworCitWOE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFja0N1c3RvbTo6
VjhOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2tDdXN0b20odjg6OkxvY2FsPHY4OjpP
YmplY3Q+IGNhbGxiYWNrLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0KQorICAgIDog
TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrKGNvbnRleHQpCisgICAgLCBtX2NhbGxi
YWNrKHY4OjpQZXJzaXN0ZW50PHY4OjpPYmplY3Q+OjpOZXcoY2FsbGJhY2spKQoreworfQorCitW
OE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFja0N1c3RvbTo6flY4TmF2aWdhdG9yVXNl
ck1lZGlhU3VjY2Vzc0NhbGxiYWNrQ3VzdG9tKCkKK3sKKyAgICBtX2NhbGxiYWNrLkRpc3Bvc2Uo
KTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKE1FRElB
X1NUUkVBTSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9W
OE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFja0N1c3RvbS5oIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNr
Q3VzdG9tLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTFhYmQ2NThiMWNlYzY1Y2FjZTM2M2I3NzM2ZGE5ODhlMTIx
ZjBmMQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3Rv
bS9WOE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFja0N1c3RvbS5oCkBAIC0wLDAgKzEs
NjEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAq
CisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICog
aW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29n
bGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29m
dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP
TlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQK
KyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjaWZuZGVmIFY4TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrQ3VzdG9tX2gK
KyNkZWZpbmUgVjhOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2tDdXN0b21faAorCisj
aW5jbHVkZSAiTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmgiCisKKyNpbmNsdWRl
IDx2OC5oPgorI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0
ci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQ7CisKK2NsYXNzIFY4TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrQ3VzdG9tIDog
cHVibGljIE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjayB7CitwdWJsaWM6CisgICAg
c3RhdGljIFBhc3NSZWZQdHI8VjhOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2tDdXN0
b20+IGNyZWF0ZSh2ODo6TG9jYWw8djg6OlZhbHVlPiB2YWx1ZSwgU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCogY29udGV4dCkKKyAgICB7CisgICAgICAgIEFTU0VSVCh2YWx1ZS0+SXNPYmplY3QoKSk7
CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgVjhOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNz
Q2FsbGJhY2tDdXN0b20odmFsdWUtPlRvT2JqZWN0KCksIGNvbnRleHQpKTsKKyAgICB9CisgICAg
dmlydHVhbCB+VjhOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2tDdXN0b20oKTsKKwor
cHJpdmF0ZToKKyAgICBWOE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFja0N1c3RvbSh2
ODo6TG9jYWw8djg6Ok9iamVjdD4sIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKTsKKworICAgIHY4
OjpQZXJzaXN0ZW50PHY4OjpPYmplY3Q+IG1fY2FsbGJhY2s7Cit9OworCit9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBWOE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFj
a0N1c3RvbV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NhbGxiYWNrVGFzay5o
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9DYWxsYmFja1Rhc2suaApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yNTQ2OGE0
YTE0NDA2NDVhMjlmOTQ0YjMzZmFkNjQzYjc3NjIwYzI2Ci0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9DYWxsYmFja1Rhc2suaApAQCAtMCwwICsxLDg2IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3Ry
aWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRo
ZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9y
IHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQg
c3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAq
ICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworCisjaWZuZGVm
IENhbGxiYWNrVGFza19oCisjZGVmaW5lIENhbGxiYWNrVGFza19oCisKKyNpZiBFTkFCTEUoTUVE
SUFfU1RSRUFNKQorCisjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgorI2luY2x1
ZGUgPHd0Zi9Gb3J3YXJkLmg+CisjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KKyNpbmNsdWRl
IDx3dGYvUmVmUHRyLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworLy8gSGVscGVyIHRlbXBs
YXRlIHRvIHNjaGVkdWxlIGNhbGxzIHRvIGNhbGxiYWNrcyB1c2luZyB0aGVpciBvd24gc2NyaXB0
IGV4ZWN1dGlvbiBjb250ZXh0LgorLy8gQ2FsbGJhY2tUeXBlIGlzIGFzc3VtZWQgdG8gaW1wbGVt
ZW50IFNjaGVkdWxlciBhbmQgdG8gYmUgYSByZWZlcmVuY2UtY291bnRlZCBBY3RpdmVET01PYmpl
Y3QuCit0ZW1wbGF0ZSA8dHlwZW5hbWUgQ2FsbGJhY2tUeXBlLCB0eXBlbmFtZSBBcmd1bWVudFR5
cGU+CitjbGFzcyBDYWxsYmFja1Rhc2sgOiBwdWJsaWMgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6
VGFzayB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NPd25QdHI8Q2FsbGJhY2tUYXNrPiBjcmVh
dGUoUGFzc1JlZlB0cjxDYWxsYmFja1R5cGU+IGNhbGxiYWNrLCBQYXNzUmVmUHRyPEFyZ3VtZW50
VHlwZT4gZGF0YSkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFB0cihuZXcgQ2FsbGJhY2tU
YXNrKGNhbGxiYWNrLCBkYXRhKSk7CisgICAgfQorCisgICAgdmlydHVhbCB2b2lkIHBlcmZvcm1U
YXNrKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKQorICAgIHsKKyAgICAgICAgbV9jYWxsYmFjay0+
aGFuZGxlRXZlbnQobV9kYXRhLmdldCgpKTsKKyAgICB9CisKKyAgICBjbGFzcyBTY2hlZHVsZXIg
eworICAgIHB1YmxpYzoKKyAgICAgICAgYm9vbCBzY2hlZHVsZUNhbGxiYWNrKFBhc3NSZWZQdHI8
QXJndW1lbnRUeXBlPiBkYXRhKQorICAgICAgICB7CisgICAgICAgICAgICBpZiAoU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCogY29udGV4dCA9IHN0YXRpY19jYXN0PENhbGxiYWNrVHlwZSo+KHRoaXMp
LT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpIHsKKyAgICAgICAgICAgICAgICBjb250ZXh0LT5w
b3N0VGFzayhDYWxsYmFja1Rhc2s8Q2FsbGJhY2tUeXBlLCBBcmd1bWVudFR5cGU+OjpjcmVhdGUo
c3RhdGljX2Nhc3Q8Q2FsbGJhY2tUeXBlKj4odGhpcyksIGRhdGEpKTsKKyAgICAgICAgICAgICAg
ICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsK
KyAgICAgICAgfQorICAgIH07CisKK3ByaXZhdGU6CisgICAgQ2FsbGJhY2tUYXNrKFBhc3NSZWZQ
dHI8Q2FsbGJhY2tUeXBlPiBjYWxsYmFjaywgUGFzc1JlZlB0cjxBcmd1bWVudFR5cGU+IGRhdGEp
CisgICAgICAgIDogbV9jYWxsYmFjayhjYWxsYmFjaykKKyAgICAgICAgLCBtX2RhdGEoZGF0YSkK
KyAgICB7CisgICAgfQorCisgICAgUmVmUHRyPENhbGxiYWNrVHlwZT4gbV9jYWxsYmFjazsKKyAg
ICBSZWZQdHI8QXJndW1lbnRUeXBlPiBtX2RhdGE7Cit9OworCit9CisKKyNlbmRpZiAvLyBFTkFC
TEUoTUVESUFfU1RSRUFNKQorCisjZW5kaWYgLy8gQ2FsbGJhY2tUYXNrX2gKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
TmF2aWdhdG9yLmNwcAppbmRleCA2YTI2N2FkNDE2MTk2OTkwM2M4MGNhNjM5NDQwYzM5MWFmNTMw
N2VkLi5kMWRhN2E4MTlkYmZhYjBlZjcwMjk4Yjk3Y2ZiNzhmNDE4YzhjZGZiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9OYXZpZ2F0b3IuY3BwCkBAIC0yNDIsNCArMjQyLDEzIEBAIHZvaWQgTmF2aWdhdG9yOjpy
ZWdpc3RlclByb3RvY29sSGFuZGxlcihjb25zdCBTdHJpbmcmIHNjaGVtZSwgY29uc3QgU3RyaW5n
JiB1cmwsCiB9CiAjZW5kaWYKIAorI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCit2b2lkIE5hdmln
YXRvcjo6d2Via2l0R2V0VXNlck1lZGlhKGNvbnN0IFN0cmluZyYgb3B0aW9ucywKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgUGFzc1JlZlB0cjxOYXZpZ2F0b3JVc2VyTWVkaWFT
dWNjZXNzQ2FsbGJhY2s+IHN1Y2Nlc3NDYWxsYmFjaywKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgUGFzc1JlZlB0cjxOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrPiBl
cnJvckNhbGxiYWNrKQoreworICAgIC8vIEZJWE1FOiBpbXBsZW1lbnQgYSBjYWxsIHRvIHRoZSBN
ZWRpYVN0cmVhbUNvbnRyb2xsZXIgd2hlbiBpdCdzIGF2YWlsYWJsZS4KK30KKyNlbmRpZgorCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL05h
dmlnYXRvci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3IuaAppbmRleCA2OTNiZGUx
M2Y5MDgyYzRhYzE3N2ZmNTVlNjM0NDhiMTYzYTNmMTcyLi4yYTdkY2VhOTcwODY0Y2RjYjk5MDhl
MmY4ZjE5ZjQ3ODViYjYxNTJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmln
YXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yLmgKQEAgLTIxLDYgKzIx
LDggQEAKICNkZWZpbmUgTmF2aWdhdG9yX2gKIAogI2luY2x1ZGUgIk5hdmlnYXRvckJhc2UuaCIK
KyNpbmNsdWRlICJOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmgiCisjaW5jbHVkZSAi
TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmgiCiAjaW5jbHVkZSA8d3RmL0Zvcndh
cmQuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3Vu
dGVkLmg+CkBAIC02Nyw2ICs2OSwxMSBAQCBwdWJsaWM6CiAgICAgdm9pZCByZWdpc3RlclByb3Rv
Y29sSGFuZGxlcihjb25zdCBTdHJpbmcmIHNjaGVtZSwgY29uc3QgU3RyaW5nJiB1cmwsIGNvbnN0
IFN0cmluZyYgdGl0bGUsIEV4Y2VwdGlvbkNvZGUmKTsKICNlbmRpZgogCisjaWYgRU5BQkxFKE1F
RElBX1NUUkVBTSkKKyAgICB2aXJ0dWFsIHZvaWQgd2Via2l0R2V0VXNlck1lZGlhKGNvbnN0IFN0
cmluZyYgb3B0aW9ucywgUGFzc1JlZlB0cjxOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJh
Y2s+LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUGFzc1JlZlB0cjxOYXZp
Z2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrPiA9IDApOworI2VuZGlmCisKIHByaXZhdGU6CiAg
ICAgTmF2aWdhdG9yKEZyYW1lKik7CiAgICAgRnJhbWUqIG1fZnJhbWU7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL05h
dmlnYXRvci5pZGwKaW5kZXggYmYzZjEwOGVjOTAyNWMwMDg2YmYyODBmMzgxOTBjNGU5M2FlZDk3
ZS4uNjY3ZjFkMDcxYjNlNWNmNzk1YzI0MmVmMjE1NzMxMDJjNTU1NzFkMyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3IuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvTmF2aWdhdG9yLmlkbApAQCAtMzcsNyArMzcsNyBAQCBtb2R1bGUgd2luZG93IHsKICAgICAg
ICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyB2ZW5kb3JTdWI7CiAgICAgICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSBib29sZWFuIGNvb2tpZUVuYWJsZWQ7CiAgICAgICAgIGJvb2xlYW4gamF2
YUVuYWJsZWQoKTsKLSAgICAgICAgCisKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xl
YW4gb25MaW5lOwogCiAjaWYgZGVmaW5lZChFTkFCTEVfR0VPTE9DQVRJT04pICYmIEVOQUJMRV9H
RU9MT0NBVElPTgpAQCAtNTIsNiArNTIsMTIgQEAgbW9kdWxlIHdpbmRvdyB7CiAgICAgICAgIHZv
aWQgcmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIoaW4gRE9NU3RyaW5nIHNjaGVtZSwgaW4gRE9NU3Ry
aW5nIHVybCwgaW4gRE9NU3RyaW5nIHRpdGxlKQogICAgICAgICAgICAgcmFpc2VzKERvbUV4Y2Vw
dGlvbik7CiAjZW5kaWYKKworI2lmIGRlZmluZWQoRU5BQkxFX01FRElBX1NUUkVBTSkgJiYgRU5B
QkxFX01FRElBX1NUUkVBTQorICAgICAgICBbQ3VzdG9tLCBFbmFibGVkQXRSdW50aW1lXSB2b2lk
IHdlYmtpdEdldFVzZXJNZWRpYShpbiBET01TdHJpbmcgb3B0aW9ucywKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gW0NhbGxiYWNr
XSBOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
biBbQ2FsbGJhY2ssIE9wdGlvbmFsXSBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrIGVy
cm9yQ2FsbGJhY2spOworI2VuZGlmCiAgICAgfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5oIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9OYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFmZjI2YmU5ZDRkYWFiMjQ2
ZDhjZjBjYjUzNDVhNWY4Nzg0MTA0NjgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmgKQEAgLTAsMCArMSw1OSBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0
cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0
aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisg
KiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1Ig
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYg
TmF2aWdhdG9yVXNlck1lZGlhRXJyb3JfaAorI2RlZmluZSBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJv
cl9oCisKKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorCisjaWYgRU5BQkxFKE1FRElBX1NU
UkVBTSkKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBOYXZpZ2F0b3JVc2VyTWVkaWFF
cnJvciA6IHB1YmxpYyBSZWZDb3VudGVkPE5hdmlnYXRvclVzZXJNZWRpYUVycm9yPiB7CitwdWJs
aWM6CisgICAgTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IodW5zaWduZWQgc2hvcnQgY29kZSkgOiBt
X2NvZGUoY29kZSkgeyB9CisgICAgdmlydHVhbCB+TmF2aWdhdG9yVXNlck1lZGlhRXJyb3IoKSB7
IH0KKworICAgIGVudW0geworICAgICAgICBQRVJNSVNTSU9OX0RFTklFRCA9IDEKKyAgICB9Owor
CisgICAgdW5zaWduZWQgc2hvcnQgY29kZSgpIGNvbnN0IHsgcmV0dXJuIG1fY29kZTsgfQorCitw
cml2YXRlOgorICAgIHVuc2lnbmVkIHNob3J0IG1fY29kZTsKK307CisKK30gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0pCisKKyNlbmRpZiAvLyBO
YXZpZ2F0b3JVc2VyTWVkaWFFcnJvcl9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdh
dG9yVXNlck1lZGlhRXJyb3IuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM3NTY2NDhhYjU5NWE0ODcwODYzNDll
ZTNhYmI2M2Q1ODkyMTBmN2QKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmlkbApAQCAtMCwwICsxLDQyIEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1
dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBu
YW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHBy
b21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3Bl
Y2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJB
UyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwK
KyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworbW9kdWxlIHdpbmRv
dyB7CisKKyAgICAvLyBGSVhNRTogZGVsZXRlIHRoaXMgaW50ZXJmYWNlIGFuZCBpbXBsZW1lbnQg
YSBjdXN0b20gYmluZGluZyBzaW5jZSBzcGVjIGRlZmluZXMgaXQgYXMgYSBOb0ludGVyZmFjZU9i
amVjdC4KKyAgICBpbnRlcmZhY2UgWworICAgICAgICBDb25kaXRpb25hbD1NRURJQV9TVFJFQU0K
KyAgICBdIE5hdmlnYXRvclVzZXJNZWRpYUVycm9yIHsKKyAgICAgICAgY29uc3QgdW5zaWduZWQg
c2hvcnQgUEVSTUlTU0lPTl9ERU5JRUQgPSAxOworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUg
dW5zaWduZWQgc2hvcnQgY29kZTsKKyAgICB9OworCit9CisKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5oIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmgKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NzU0ODNiODk2ZmQwMmJiMWI3N2RlMGMyYzQwZjQ2ZjI5MzFkNzNhNwotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5o
CkBAIC0wLDAgKzEsNTggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUK
KyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUg
bmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3Jz
IG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20K
KyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Np
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICog
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
CisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjaWZuZGVmIE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2tf
aAorI2RlZmluZSBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrX2gKKworI2lmIEVOQUJM
RShNRURJQV9TVFJFQU0pCisKKyNpbmNsdWRlICJBY3RpdmVET01PYmplY3QuaCIKKyNpbmNsdWRl
ICJDYWxsYmFja1Rhc2suaCIKKyNpbmNsdWRlICJOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5oIgor
I2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xh
c3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKKworY2xhc3MgTmF2aWdhdG9yVXNlck1lZGlhRXJy
b3JDYWxsYmFjayA6IHB1YmxpYyBBY3RpdmVET01PYmplY3QsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgcHVibGljIFJlZkNvdW50ZWQ8TmF2aWdhdG9yVXNlck1lZGlh
RXJyb3JDYWxsYmFjaz4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
cHVibGljIENhbGxiYWNrVGFzazxOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLCBOYXZp
Z2F0b3JVc2VyTWVkaWFFcnJvcj46OlNjaGVkdWxlciB7CitwdWJsaWM6CisgICAgTmF2aWdhdG9y
VXNlck1lZGlhRXJyb3JDYWxsYmFjayhTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0KSA6
IEFjdGl2ZURPTU9iamVjdChjb250ZXh0LCB0aGlzKSB7IH0KKyAgICB2aXJ0dWFsIH5OYXZpZ2F0
b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrKCkgeyB9CisgICAgdmlydHVhbCB2b2lkIGhhbmRsZUV2
ZW50KE5hdmlnYXRvclVzZXJNZWRpYUVycm9yKikgPSAwOworfTsKKworfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVBTSkKKworI2VuZGlmIC8vIE5h
dmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2tfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suaCBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmgKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NWIwZmFmMmQzN2U0NDQ1OTNkODBlMGE3MmVjZmY2OWZjMDJmYjczMAotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNr
LmgKQEAgLTAsMCArMSw1NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFy
ZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRo
ZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRv
cnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJv
bQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlz
c2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQg
SE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisg
KiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxi
YWNrX2gKKyNkZWZpbmUgTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrX2gKKworI2lm
IEVOQUJMRShNRURJQV9TVFJFQU0pCisKKyNpbmNsdWRlICJBY3RpdmVET01PYmplY3QuaCIKKyNp
bmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNz
IFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CisKK2NsYXNzIE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nl
c3NDYWxsYmFjayA6IHB1YmxpYyBBY3RpdmVET01PYmplY3QsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWMgUmVmQ291bnRlZDxOYXZpZ2F0b3JVc2VyTWVk
aWFTdWNjZXNzQ2FsbGJhY2s+IHsKK3B1YmxpYzoKKyAgICBOYXZpZ2F0b3JVc2VyTWVkaWFTdWNj
ZXNzQ2FsbGJhY2soU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCkgOiBBY3RpdmVET01P
YmplY3QoY29udGV4dCwgdGhpcykgeyB9CisgICAgdmlydHVhbCB+TmF2aWdhdG9yVXNlck1lZGlh
U3VjY2Vzc0NhbGxiYWNrKCkgeyB9CisgICAgLy8gRklYTUU6IGltcGxlbWVudCB3aGVuIHRoZSBH
ZW5lcmF0ZWRTdHJlYW0gY2xhc3MgaXMgYXZhaWxhYmxlLgorICAgIC8vIHZpcnR1YWwgdm9pZCBo
YW5kbGVFdmVudChHZW5lcmF0ZWRTdHJlYW0qKSA9IDA7Cit9OworCit9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFNKQorCisjZW5kaWYgLy8gTmF2
aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrX2gK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>86676</attachid>
            <date>2011-03-23 13:05:03 -0700</date>
            <delta_ts>2011-04-01 13:14:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-56586-20110323200501.patch</filename>
            <type>text/plain</type>
            <size>75208</size>
            <attacher name="Leandro Graciá Gil">leandrogracia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQKaW5kZXggMmUwZTYzNmVkZjZkZGNhMGM1NGZhMzM4ZGQ4M2E3MGRm
OTk2NDRlNS4uOTJmNTU5ZmI1NGJmZDMxYmZmYjY4ODE3Y2Y4OGE5ZjUzM2EyM2Q4NyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUv
Q01ha2VMaXN0cy50eHQKQEAgLTE5MzgsNiArMTkzOCwxOCBAQCBJRiAoRU5BQkxFX1BST0dSRVNT
X1RBRykKICAgICApCiBFTkRJRiAoKQogCitJRiAoRU5BQkxFX01FRElBX1NUUkVBTSkKKyAgICBM
SVNUKEFQUEVORCBXZWJDb3JlX1NPVVJDRVMKKyAgICAgICAgYmluZGluZ3MvanMvSlNOYXZpZ2F0
b3JDdXN0b20uY3BwCisgICAgICAgIGJpbmRpbmdzL2pzL0pTTmF2aWdhdG9yVXNlck1lZGlhRXJy
b3JDYWxsYmFja0N1c3RvbS5jcHAKKyAgICAgICAgYmluZGluZ3MvanMvSlNOYXZpZ2F0b3JVc2Vy
TWVkaWFTdWNjZXNzQ2FsbGJhY2tDdXN0b20uY3BwCisgICAgKQorCisgICAgTElTVChBUFBFTkQg
V2ViQ29yZV9JRExfRklMRVMKKyAgICAgICAgcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5p
ZGwKKyAgICApCitFTkRJRiAoKQorCiAKIAogIyBNb2R1bGVzIHRoYXQgdGhlIGJpbmRpbmdzIGdl
bmVyYXRvciBzY3JpcHRzIG1heSB1c2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA3OWQxM2MzNDYyODk0NDU4MDFl
OTU4MDBhZDg5NTYyN2I0MGI3YzI0Li42MTJiNmMyZDA3OGIzZjllOWJmZWRjZWU2YjYwNGZkYTkz
ZjI1NDg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNzYgQEAKKzIwMTEtMDMtMjMgIExlYW5kcm8g
R3JhY2lhIEdpbCAgPGxlYW5kcm9ncmFjaWFAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1lZGlhIFN0cmVhbSBBUEk6IGFkZCB0
aGUgZ2V0VXNlck1lZGlhIG1ldGhvZCBhbmQgdGhlIEphdmFzY3JpcHQgYmluZGluZ3MuCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NjU4NgorCisgICAg
ICAgIEFkZCB0aGUgZ2V0VXNlck1lZGlhIG1ldGhvZCB0byB0aGUgbmF2aWdhdG9yIGFsb25nIGl0
cyBlcnJvciBhbmQgY2FsbGJhY2sgSlMgdHlwZXMuCisgICAgICAgIEN1cnJlbnQgc3BlY2lmaWNh
dGlvbjogaHR0cDovL3d3dy53aGF0d2cub3JnL3NwZWNzL3dlYi1hcHBzL2N1cnJlbnQtd29yay9t
dWx0aXBhZ2UvZG5kLmh0bWwjdmlkZW8tY29uZmVyZW5jaW5nLWFuZC1wZWVyLXRvLXBlZXItY29t
bXVuaWNhdGlvbgorCisgICAgICAgIFRlc3RzIGZvciB0aGUgTWVkaWEgU3RyZWFtIEFQSSB3aWxs
IGJlIHByb3ZpZGVkIGJ5IHRoZSBidWcgNTY1ODcuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4
dDoKKyAgICAgICAgKiBDb2RlR2VuZXJhdG9ycy5wcmk6CisgICAgICAgICogRGVyaXZlZFNvdXJj
ZXMuY3BwOgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogR05VbWFr
ZWZpbGUuYW06CisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIFdlYkNvcmUucHJv
OgorICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qOgorICAgICAgICAqIFdl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9K
U0JpbmRpbmdzQWxsSW5PbmUuY3BwOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTTmF2aWdhdG9y
Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZU5hdmlnYXRvclVzZXJNZWRpYVN1
Y2Nlc3NDYWxsYmFjayk6CisgICAgICAgIChXZWJDb3JlOjpjcmVhdGVOYXZpZ2F0b3JVc2VyTWVk
aWFFcnJvckNhbGxiYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OkpTTmF2aWdhdG9yOjp3ZWJraXRH
ZXRVc2VyTWVkaWEpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTTmF2aWdhdG9yVXNlck1lZGlh
RXJyb3JDYWxsYmFja0N1c3RvbS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6SlNOYXZp
Z2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrOjpKU05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2Fs
bGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6SlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxi
YWNrOjpoYW5kbGVFdmVudCk6CisgICAgICAgICogYmluZGluZ3MvanMvSlNOYXZpZ2F0b3JVc2Vy
TWVkaWFFcnJvckNhbGxiYWNrQ3VzdG9tLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6SlNO
YXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29y
ZTo6SlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrOjp+SlNOYXZpZ2F0b3JVc2VyTWVk
aWFFcnJvckNhbGxiYWNrKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU05hdmlnYXRvclVzZXJN
ZWRpYVN1Y2Nlc3NDYWxsYmFja0N1c3RvbS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6
SlNOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2s6OkpTTmF2aWdhdG9yVXNlck1lZGlh
U3VjY2Vzc0NhbGxiYWNrKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU05hdmlnYXRvclVzZXJN
ZWRpYVN1Y2Nlc3NDYWxsYmFja0N1c3RvbS5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkpT
TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrOjpjcmVhdGUpOgorICAgICAgICAqIGJp
bmRpbmdzL3Y4L2N1c3RvbS9WOE5hdmlnYXRvckN1c3RvbS5jcHA6IEFkZGVkLgorICAgICAgICAo
V2ViQ29yZTo6dGhyb3dUeXBlTWlzbWF0Y2hFeGNlcHRpb24pOgorICAgICAgICAoV2ViQ29yZTo6
Y3JlYXRlTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrKToKKyAgICAgICAgKFdlYkNv
cmU6OmNyZWF0ZU5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2spOgorICAgICAgICAoV2Vi
Q29yZTo6VjhOYXZpZ2F0b3I6OndlYmtpdEdldFVzZXJNZWRpYUNhbGxiYWNrKToKKyAgICAgICAg
KiBiaW5kaW5ncy92OC9jdXN0b20vVjhOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrQ3Vz
dG9tLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpWOE5hdmlnYXRvclVzZXJNZWRpYUVy
cm9yQ2FsbGJhY2tDdXN0b206OlY4TmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFja0N1c3Rv
bSk6CisgICAgICAgIChXZWJDb3JlOjpWOE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2tD
dXN0b206On5WOE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2tDdXN0b20pOgorICAgICAg
ICAoV2ViQ29yZTo6VjhOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrQ3VzdG9tOjpoYW5k
bGVFdmVudCk6CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4TmF2aWdhdG9yVXNlck1l
ZGlhRXJyb3JDYWxsYmFja0N1c3RvbS5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlY4TmF2
aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFja0N1c3RvbTo6Y3JlYXRlKToKKyAgICAgICAgKiBi
aW5kaW5ncy92OC9jdXN0b20vVjhOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2tDdXN0
b20uY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlY4TmF2aWdhdG9yVXNlck1lZGlhU3Vj
Y2Vzc0NhbGxiYWNrQ3VzdG9tOjpWOE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFja0N1
c3RvbSk6CisgICAgICAgIChXZWJDb3JlOjpWOE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxs
YmFja0N1c3RvbTo6flY4TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrQ3VzdG9tKToK
KyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNz
Q2FsbGJhY2tDdXN0b20uaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpWOE5hdmlnYXRvclVz
ZXJNZWRpYVN1Y2Nlc3NDYWxsYmFja0N1c3RvbTo6Y3JlYXRlKToKKyAgICAgICAgKiBwYWdlL0Nh
bGxiYWNrVGFzay5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkNhbGxiYWNrVGFzazo6Y3Jl
YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkNhbGxiYWNrVGFzazo6cGVyZm9ybVRhc2spOgorICAg
ICAgICAoV2ViQ29yZTo6Q2FsbGJhY2tUYXNrOjpTY2hlZHVsZXI6OnNjaGVkdWxlQ2FsbGJhY2sp
OgorICAgICAgICAoV2ViQ29yZTo6Q2FsbGJhY2tUYXNrOjpDYWxsYmFja1Rhc2spOgorICAgICAg
ICAqIHBhZ2UvTmF2aWdhdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRvcjo6d2Vi
a2l0R2V0VXNlck1lZGlhKToKKyAgICAgICAgKiBwYWdlL05hdmlnYXRvci5oOgorICAgICAgICAq
IHBhZ2UvTmF2aWdhdG9yLmlkbDoKKyAgICAgICAgKiBwYWdlL05hdmlnYXRvclVzZXJNZWRpYUVy
cm9yLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdG9yVXNlck1lZGlhRXJyb3I6
Ok5hdmlnYXRvclVzZXJNZWRpYUVycm9yKToKKyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRvclVz
ZXJNZWRpYUVycm9yOjp+TmF2aWdhdG9yVXNlck1lZGlhRXJyb3IpOgorICAgICAgICAoV2ViQ29y
ZTo6TmF2aWdhdG9yVXNlck1lZGlhRXJyb3I6OmNvZGUpOgorICAgICAgICAqIHBhZ2UvTmF2aWdh
dG9yVXNlck1lZGlhRXJyb3IuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBwYWdlL05hdmlnYXRvclVz
ZXJNZWRpYUVycm9yQ2FsbGJhY2suaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0
b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrOjpOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNr
KToKKyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2s6On5O
YXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrKToKKyAgICAgICAgKiBwYWdlL05hdmlnYXRv
clVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6Ok5h
dmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjazo6TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vz
c0NhbGxiYWNrKToKKyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3ND
YWxsYmFjazo6fk5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjayk6CisKIDIwMTEtMDMt
MjMgIENyaXMgTmVja2FyICA8Y2RuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBi
eSBFcmljIFNlaWRlbC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NvZGVHZW5lcmF0b3Jz
LnByaSBiL1NvdXJjZS9XZWJDb3JlL0NvZGVHZW5lcmF0b3JzLnByaQppbmRleCAyZjg5YTVkMGI3
ODlmYzE2NjE0NzBiNGJkNmJjYTMzZWZlMTRmOWQyLi5lNTM2MjY3MWMxZjk3NDlhZGZmMmJlNmM2
YjhmMGRjY2YxOTM2ZjNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Db2RlR2VuZXJhdG9y
cy5wcmkKKysrIGIvU291cmNlL1dlYkNvcmUvQ29kZUdlbmVyYXRvcnMucHJpCkBAIC0zMjYsNiAr
MzI2LDcgQEAgSURMX0JJTkRJTkdTICs9IFwKICAgICBwYWdlL0xvY2F0aW9uLmlkbCBcCiAgICAg
cGFnZS9NZW1vcnlJbmZvLmlkbCBcCiAgICAgcGFnZS9OYXZpZ2F0b3IuaWRsIFwKKyAgICBwYWdl
L05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmlkbCBcCiAgICAgcGFnZS9QZXJmb3JtYW5jZS5pZGwg
XAogICAgIHBhZ2UvUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmlkbCBcCiAgICAgcGFnZS9QZXJmb3Jt
YW5jZVRpbWluZy5pZGwgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCmluZGV4IDI0MDIyZjc0
ZWY2Yjg4MjM3YWViZmJlNTk4MDhjM2JhNDc3YmZlODIuLmM0OWY3ZTk1MTc5ZTdiZDgyNjQ0YmMz
MzNlZjVjMWI0OTNiZjY4YWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKQEAgLTI0NSw2
ICsyNDUsNyBAQAogI2luY2x1ZGUgIkpTTXV0YXRpb25FdmVudC5jcHAiCiAjaW5jbHVkZSAiSlNO
YW1lZE5vZGVNYXAuY3BwIgogI2luY2x1ZGUgIkpTTmF2aWdhdG9yLmNwcCIKKyNpbmNsdWRlICJK
U05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmNwcCIKICNpbmNsdWRlICJKU05vZGUuY3BwIgogI2lu
Y2x1ZGUgIkpTTm9kZUZpbHRlci5jcHAiCiAjaW5jbHVkZSAiSlNOb2RlSXRlcmF0b3IuY3BwIgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9X
ZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggNjk2ZWYxYzkyNDMzNzQ3ZmU0ZTk3OWJj
M2JkYjY0MmQyZDM2MTYyMi4uM2VlMWNhNjYzZjM0MDE1MDU4MDc4ZmM4YjA5ZTg3NDYyYjM5YmQ1
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9T
b3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC0zMDcsNiArMzA3LDcgQEAgRE9N
X0NMQVNTRVMgPSBcCiAgICAgTXV0YXRpb25FdmVudCBcCiAgICAgTmFtZWROb2RlTWFwIFwKICAg
ICBOYXZpZ2F0b3IgXAorICAgIE5hdmlnYXRvclVzZXJNZWRpYUVycm9yIFwKICAgICBOb2RlIFwK
ICAgICBOb2RlRmlsdGVyIFwKICAgICBOb2RlSXRlcmF0b3IgXApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvR05VbWFrZWZpbGUuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQpp
bmRleCA2Nzc4ZTU2ZTg3YWQ3NGFlZDliZWRhYzAzNWEwM2VjOTRhNDIzOTI3Li5kMzJhNWI0ZGVk
MWE2Yjc2NzE5MDZiZTBiYWZhODMyZDQ3ZjE3ZTk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9HTlVtYWtlZmlsZS5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQpAQCAt
NDcwLDYgKzQ3MCw4IEBAIHdlYmNvcmVfYnVpbHRfc291cmNlcyArPSBcCiAJRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU05hbWVkTm9kZU1hcC5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pT
TmF2aWdhdG9yLmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05hdmlnYXRvci5oIFwK
KwlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuY3BwIFwK
KwlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuaCBcCiAJ
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05vZGUuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTTm9kZUZpbHRlci5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOb2RlRmls
dGVyLmggXApAQCAtODQ0LDYgKzg0NiwxMCBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTWVzc2FnZVBvcnRDdXN0b20uaCBcCiAJU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNOYW1lZE5vZGVNYXBDdXN0b20uY3BwIFwKIAlTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU05hdmlnYXRvckN1c3RvbS5jcHAgXAorCVNvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFja0N1c3RvbS5jcHAg
XAorCVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JD
YWxsYmFja0N1c3RvbS5oIFwKKwlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU05hdmlnYXRv
clVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFja0N1c3RvbS5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrQ3VzdG9tLmggXAog
CVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTm9kZUN1c3RvbS5jcHAgXAogCVNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTTm9kZUN1c3RvbS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU05vZGVGaWx0ZXJDb25kaXRpb24uY3BwIFwKQEAgLTIyMDMsNiArMjIwOSw3IEBA
IHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vS2V5
ZnJhbWVBbmltYXRpb24uaCBcCiAJU291cmNlL1dlYkNvcmUvcGFnZS9CYXJJbmZvLmNwcCBcCiAJ
U291cmNlL1dlYkNvcmUvcGFnZS9CYXJJbmZvLmggXAorCVNvdXJjZS9XZWJDb3JlL3BhZ2UvQ2Fs
bGJhY2tUYXNrLmggXAogCVNvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmNwcCBcCiAJU291cmNl
L1dlYkNvcmUvcGFnZS9DaHJvbWUuaCBcCiAJU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGll
bnQuaCBcCkBAIC0yMjcwLDYgKzIyNzcsOSBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJj
ZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yLmggXAogCVNvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdh
dG9yQmFzZS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yQmFzZS5oIFwKKwlT
b3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmggXAorCVNvdXJjZS9X
ZWJDb3JlL3BhZ2UvTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5oIFwKKwlTb3VyY2Uv
V2ViQ29yZS9wYWdlL05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5oIFwKIAlTb3Vy
Y2UvV2ViQ29yZS9wYWdlL09yaWdpbkFjY2Vzc0VudHJ5LmNwcCBcCiAJU291cmNlL1dlYkNvcmUv
cGFnZS9PcmlnaW5BY2Nlc3NFbnRyeS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3Bw
IFwKQEAgLTQyMDAsNiArNDIxMCwxNiBAQCB3ZWJjb3JlX2NwcGZsYWdzICs9IC1ERU5BQkxFX0lO
UFVUX1NQRUVDSD0wCiBlbmRpZiAjIEVORCBFTkFCTEVfSU5QVVRfU1BFRUNICiAKICMgLS0tLQor
IyBNZWRpYSBTdHJlYW0gQVBJIHN1cHBvcnQKKyMgLS0tLQoraWYgRU5BQkxFX01FRElBX1NUUkVB
TQorRkVBVFVSRV9ERUZJTkVTICs9IEVOQUJMRV9NRURJQV9TVFJFQU09MQord2ViY29yZV9jcHBm
bGFncyArPSAtREVOQUJMRV9NRURJQV9TVFJFQU09MQorZWxzZQord2ViY29yZV9jcHBmbGFncyAr
PSAtREVOQUJMRV9NRURJQV9TVFJFQU09MAorZW5kaWYgIyBFTkQgRU5BQkxFX01FRElBX1NUUkVB
TQorCisjIC0tLS0KICMgSWNvbiBEYXRhYmFzZSBTdXBwb3J0CiAjIC0tLS0KIGlmIEVOQUJMRV9J
Q09OREFUQUJBU0UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCA5YmY1N2IxNDdjMmRhZDU0NzNiNTg0YWM4
Y2QyNTc2NmJmYzE2OTFlLi5lMzhlYWNiZWZkYzdkYzMzNjZlODA5Y2FhZjkxZDdkNDM1YjE2ODE3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS5neXBpCkBAIC0xMzIwLDYgKzEzMjAsNyBAQAogICAgICAgICAgICAgJ3Bh
Z2UvTG9jYXRpb24uaWRsJywKICAgICAgICAgICAgICdwYWdlL01lbW9yeUluZm8uaWRsJywKICAg
ICAgICAgICAgICdwYWdlL05hdmlnYXRvci5pZGwnLAorICAgICAgICAgICAgJ3BhZ2UvTmF2aWdh
dG9yVXNlck1lZGlhRXJyb3IuaWRsJywKICAgICAgICAgICAgICdwYWdlL1BlcmZvcm1hbmNlLmlk
bCcsCiAgICAgICAgICAgICAncGFnZS9QZXJmb3JtYW5jZU5hdmlnYXRpb24uaWRsJywKICAgICAg
ICAgICAgICdwYWdlL1BlcmZvcm1hbmNlVGltaW5nLmlkbCcsCkBAIC0yMTE0LDYgKzIxMTUsMTEg
QEAKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhOYW1lZE5vZGVNYXBDdXN0b20u
Y3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhOYW1lZE5vZGVzQ29sbGVj
dGlvbi5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE5hbWVkTm9kZXND
b2xsZWN0aW9uLmgnLAorICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE5hdmlnYXRv
ckN1c3RvbS5jcHAnLAorICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE5hdmlnYXRv
clVzZXJNZWRpYUVycm9yQ2FsbGJhY2tDdXN0b20uY3BwJywKKyAgICAgICAgICAgICdiaW5kaW5n
cy92OC9jdXN0b20vVjhOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrQ3VzdG9tLmgnLAor
ICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nl
c3NDYWxsYmFja0N1c3RvbS5jcHAnLAorICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9W
OE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFja0N1c3RvbS5oJywKICAgICAgICAgICAg
ICdiaW5kaW5ncy92OC9jdXN0b20vVjhOb2RlQ3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmlu
ZGluZ3MvdjgvY3VzdG9tL1Y4Tm9kZUxpc3RDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5k
aW5ncy92OC9jdXN0b20vVjhOb3RpZmljYXRpb25DZW50ZXJDdXN0b20uY3BwJywKQEAgLTMzMzks
NiArMzM0NSw3IEBACiAgICAgICAgICAgICAnbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25Db250
ZW50cy5oJywKICAgICAgICAgICAgICdwYWdlL0JhckluZm8uY3BwJywKICAgICAgICAgICAgICdw
YWdlL0JhckluZm8uaCcsCisgICAgICAgICAgICAncGFnZS9DYWxsYmFja1Rhc2suaCcsCiAgICAg
ICAgICAgICAncGFnZS9DaHJvbWUuY3BwJywKICAgICAgICAgICAgICdwYWdlL0NvbnNvbGUuY3Bw
JywKICAgICAgICAgICAgICdwYWdlL0NvbnRlbnRTZWN1cml0eVBvbGljeS5jcHAnLApAQCAtMzM3
Niw2ICszMzgzLDkgQEAKICAgICAgICAgICAgICdwYWdlL05hdmlnYXRvci5oJywKICAgICAgICAg
ICAgICdwYWdlL05hdmlnYXRvckJhc2UuY3BwJywKICAgICAgICAgICAgICdwYWdlL05hdmlnYXRv
ckJhc2UuaCcsCisgICAgICAgICAgICAncGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5oJywK
KyAgICAgICAgICAgICdwYWdlL05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2suaCcsCisg
ICAgICAgICAgICAncGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suaCcsCiAg
ICAgICAgICAgICAncGFnZS9PcmlnaW5BY2Nlc3NFbnRyeS5jcHAnLAogICAgICAgICAgICAgJ3Bh
Z2UvT3JpZ2luQWNjZXNzRW50cnkuaCcsCiAgICAgICAgICAgICAncGFnZS9QYWdlLmNwcCcsCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnBybyBiL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUucHJvCmluZGV4IDJhOTM0MDdiN2UzNmI3MTAyZjkyNThkYjllNmY4YzQ3MTdhM2ZkMjEu
LjU3NDgwMWU0MzZlNDg2MzcxMWFkMmY0ZTE1MDA0ZDdiNjIyY2Y2YjMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJv
CkBAIC0zMDk0LDYgKzMwOTQsMzQgQEAgY29udGFpbnMoREVGSU5FUywgRU5BQkxFX0dFT0xPQ0FU
SU9OPTEpIHsKICAgICB9CiB9CiAKK2NvbnRhaW5zKERFRklORVMsIEVOQUJMRV9NRURJQV9TVFJF
QU09MSkgeworICAgIEhFQURFUlMgKz0gXAorICAgICAgICBwYWdlL0NhbGxiYWNrVGFzay5oIFwK
KyAgICAgICAgcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5oIFwKKyAgICAgICAgcGFnZS9O
YXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmggXAorICAgICAgICBwYWdlL05hdmlnYXRv
clVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5oCisKKyAgICB2OCB7CisgICAgICAgIEhFQURFUlMg
Kz0gXAorICAgICAgICAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4TmF2aWdhdG9yVXNlck1lZGlh
RXJyb3JDYWxsYmFja0N1c3RvbS5oIFwKKyAgICAgICAgICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9W
OE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFja0N1c3RvbS5oCisKKyAgICAgICAgU09V
UkNFUyArPSBcCisgICAgICAgICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhOYXZpZ2F0b3JDdXN0
b20uY3BwIFwKKyAgICAgICAgICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOE5hdmlnYXRvclVzZXJN
ZWRpYUVycm9yQ2FsbGJhY2tDdXN0b20uY3BwIFwKKyAgICAgICAgICAgIGJpbmRpbmdzL3Y4L2N1
c3RvbS9WOE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFja0N1c3RvbS5jcHAKKworICAg
IH0gZWxzZSB7CisgICAgICAgIEhFQURFUlMgKz0gXAorICAgICAgICAgICAgYmluZGluZ3MvanMv
SlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrQ3VzdG9tLmggXAorICAgICAgICAgICAg
YmluZGluZ3MvanMvSlNOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2tDdXN0b20uaAor
CisgICAgICAgIFNPVVJDRVMgKz0gXAorICAgICAgICAgICAgYmluZGluZ3MvanMvSlNOYXZpZ2F0
b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrQ3VzdG9tLmNwcCBcCisgICAgICAgICAgICBiaW5kaW5n
cy9qcy9KU05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFja0N1c3RvbS5jcHAKKyAgICB9
Cit9CisKIGNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9TVkc9MSkgewogICAgICF2OCB7CiAgICAg
ICAgIFNPVVJDRVMgKz0gXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3By
b2ovV2ViQ29yZS52Y3Byb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3Jl
LnZjcHJvagppbmRleCA1ZTk3YmIyZWJmNDcxNzIwOTUxMjhlZWNmZTE5Nzc0Y2UzMDEyY2UwLi5j
ZWNhODBmYmE2OTBiOTZiMmFkOTk2OWRkNjFlYWY1NjMyMGRjZmRiIDEwMDc1NQotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagpAQCAtMjQ1OTAsNiArMjQ1OTAsMTAg
QEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGFn
ZVxDYWxsYmFja1Rhc2suaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQogCQkJCVJlbGF0
aXZlUGF0aD0iLi5ccGFnZVxDaHJvbWUuY3BwIgogCQkJCT4KIAkJCTwvRmlsZT4KQEAgLTI0ODc4
LDYgKzI0ODgyLDE4IEBACiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2
ZVBhdGg9Ii4uXHBhZ2VcTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuaCIKKwkJCQk+CisJCQk8L0Zp
bGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGFnZVxOYXZpZ2F0b3JVc2VyTWVk
aWFFcnJvckNhbGxiYWNrLmgiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxh
dGl2ZVBhdGg9Ii4uXHBhZ2VcTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmgiCisJ
CQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHBhZ2VcT3Jp
Z2luQWNjZXNzRW50cnkuY3BwIgogCQkJCT4KIAkJCTwvRmlsZT4KQEAgLTYxMjgxLDYgKzYxMjk3
LDExOCBAQAogCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgogCQkJCTwvRmlsZT4KIAkJCQk8Rmls
ZQorCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGJpbmRpbmdzXGpzXEpTTmF2aWdhdG9yVXNlck1lZGlh
RXJyb3JDYWxsYmFja0N1c3RvbS5jcHAiCisJCQkJCT4KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9u
CisJCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiIKKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVl
IgorCQkJCQkJPgorCQkJCQkJPFRvb2wKKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgor
CQkJCQkJLz4KKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQkJPEZpbGVDb25maWd1cmF0
aW9uCisJCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIgorCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9
InRydWUiCisJCQkJCQk+CisJCQkJCQk8VG9vbAorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRv
b2wiCisJCQkJCQkvPgorCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCQk8RmlsZUNvbmZp
Z3VyYXRpb24KKwkJCQkJCU5hbWU9IkRlYnVnX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJCUV4
Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQkJPgorCQkJCQkJPFRvb2wKKwkJCQkJCQlOYW1l
PSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkJLz4KKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4K
KwkJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCQlOYW1lPSJSZWxlYXNlX0NhaXJvX0NGTGl0
ZXxXaW4zMiIKKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQkJPgorCQkJCQkJ
PFRvb2wKKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkJLz4KKwkJCQkJPC9G
aWxlQ29uZmlndXJhdGlvbj4KKwkJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCQlOYW1lPSJE
ZWJ1Z19BbGx8V2luMzIiCisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJCT4K
KwkJCQkJCTxUb29sCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJCS8+CisJ
CQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQkJ
TmFtZT0iUmVsZWFzZV9MVENHfFdpbjMyIgorCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUi
CisJCQkJCQk+CisJCQkJCQk8VG9vbAorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJ
CQkJCQkvPgorCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTwvRmlsZT4KKwkJCQk8Rmls
ZQorCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGJpbmRpbmdzXGpzXEpTTmF2aWdhdG9yVXNlck1lZGlh
RXJyb3JDYWxsYmFja0N1c3RvbS5oIgorCQkJCQk+CisJCQkJPC9GaWxlPgorCQkJCTxGaWxlCisJ
CQkJCVJlbGF0aXZlUGF0aD0iLi5cYmluZGluZ3NcanNcSlNOYXZpZ2F0b3JVc2VyTWVkaWFTdWNj
ZXNzQ2FsbGJhY2tDdXN0b20uY3BwIgorCQkJCQk+CisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbgor
CQkJCQkJTmFtZT0iRGVidWd8V2luMzIiCisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIK
KwkJCQkJCT4KKwkJCQkJCTxUb29sCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJ
CQkJCS8+CisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJCTxGaWxlQ29uZmlndXJhdGlv
bgorCQkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiIKKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0
cnVlIgorCQkJCQkJPgorCQkJCQkJPFRvb2wKKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29s
IgorCQkJCQkJLz4KKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQkJPEZpbGVDb25maWd1
cmF0aW9uCisJCQkJCQlOYW1lPSJEZWJ1Z19DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCQlFeGNs
dWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJCT4KKwkJCQkJCTxUb29sCisJCQkJCQkJTmFtZT0i
VkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJCS8+CisJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJ
CQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQkJTmFtZT0iUmVsZWFzZV9DYWlyb19DRkxpdGV8
V2luMzIiCisJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJCT4KKwkJCQkJCTxU
b29sCisJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJCS8+CisJCQkJCTwvRmls
ZUNvbmZpZ3VyYXRpb24+CisJCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQkJTmFtZT0iRGVi
dWdfQWxsfFdpbjMyIgorCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCQk+CisJ
CQkJCQk8VG9vbAorCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCQkvPgorCQkJ
CQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJCU5h
bWU9IlJlbGVhc2VfTFRDR3xXaW4zMiIKKwkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgor
CQkJCQkJPgorCQkJCQkJPFRvb2wKKwkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJ
CQkJLz4KKwkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8L0ZpbGU+CisJCQkJPEZpbGUK
KwkJCQkJUmVsYXRpdmVQYXRoPSIuLlxiaW5kaW5nc1xqc1xKU05hdmlnYXRvclVzZXJNZWRpYVN1
Y2Nlc3NDYWxsYmFja0N1c3RvbS5oIgorCQkJCQk+CisJCQkJPC9GaWxlPgorCQkJCTxGaWxlCiAJ
CQkJCVJlbGF0aXZlUGF0aD0iLi5cYmluZGluZ3NcanNcSlNOb2RlQ3VzdG9tLmNwcCIKIAkJCQkJ
PgogCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA2ZDFiY2ViZmZkN2E3ZTI2ZjMxNDlhODY0
ZWU4YTE2MzU0YTdjM2I3Li44MzhhMjRhMTMxM2I1ZWFjMDNlMTRkNjIyNmQyZDJhNmJmNDY0MWYw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCkBAIC00MDgwLDYgKzQwODAsMTYgQEAKIAkJQjAxNDlFN0UxMUE0QjIxNTAwMTk2QTdCIC8q
IEFzeW5jSW1hZ2VSZXNpemVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBCMDE0OUU3QTExQTRCMjE1MDAxOTZBN0IgLyogQXN5bmNJbWFnZVJlc2l6ZXIu
aCAqLzsgfTsKIAkJQjAxNDlFN0YxMUE0QjIxNTAwMTk2QTdCIC8qIEltYWdlUmVzaXplclRocmVh
ZC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMDE0
OUU3QjExQTRCMjE1MDAxOTZBN0IgLyogSW1hZ2VSZXNpemVyVGhyZWFkLmNwcCAqLzsgfTsKIAkJ
QjAxNDlFODAxMUE0QjIxNTAwMTk2QTdCIC8qIEltYWdlUmVzaXplclRocmVhZC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjAxNDlFN0MxMUE0QjIxNTAw
MTk2QTdCIC8qIEltYWdlUmVzaXplclRocmVhZC5oICovOyB9OworCQlCMURDNEJBRjEzMzhFMEYz
MDBFRkY4RDggLyogSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrQ3VzdG9tLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIxREM0QkE4MTMz
OEUwRjMwMEVGRjhEOCAvKiBKU05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2tDdXN0b20u
Y3BwICovOyB9OworCQlCMURDNEJCMDEzMzhFMEYzMDBFRkY4RDggLyogSlNOYXZpZ2F0b3JVc2Vy
TWVkaWFFcnJvckNhbGxiYWNrQ3VzdG9tLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBCMURDNEJBOTEzMzhFMEYzMDBFRkY4RDggLyogSlNOYXZpZ2F0b3JV
c2VyTWVkaWFFcnJvckNhbGxiYWNrQ3VzdG9tLmggKi87IH07CisJCUIxREM0QkIxMTMzOEUwRjMw
MEVGRjhEOCAvKiBKU05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFja0N1c3RvbS5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMURDNEJBQTEz
MzhFMEYzMDBFRkY4RDggLyogSlNOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2tDdXN0
b20uY3BwICovOyB9OworCQlCMURDNEJCMjEzMzhFMEYzMDBFRkY4RDggLyogSlNOYXZpZ2F0b3JV
c2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2tDdXN0b20uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIxREM0QkFCMTMzOEUwRjMwMEVGRjhEOCAvKiBKU05hdmln
YXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFja0N1c3RvbS5oICovOyB9OworCQlCMURDNEJCNTEz
MzhFMTQwMDBFRkY4RDggLyogQ2FsbGJhY2tUYXNrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMURDNEJCNDEzMzhFMTQwMDBFRkY4RDggLyogQ2FsbGJh
Y2tUYXNrLmggKi87IH07CisJCUIxRTQ2QzA5MTMzM0I1N0YwMDgyMkQ3RiAvKiBOYXZpZ2F0b3JV
c2VyTWVkaWFFcnJvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQjFFNDZDMDExMzMzQjU3RjAwODIyRDdGIC8qIE5hdmlnYXRvclVzZXJNZWRpYUVycm9y
LmggKi87IH07CisJCUIxRTQ2QzBDMTMzM0I1N0YwMDgyMkQ3RiAvKiBOYXZpZ2F0b3JVc2VyTWVk
aWFFcnJvckNhbGxiYWNrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBCMUU0NkMwNDEzMzNCNTdGMDA4MjJEN0YgLyogTmF2aWdhdG9yVXNlck1lZGlhRXJy
b3JDYWxsYmFjay5oICovOyB9OworCQlCMUU0NkMwRjEzMzNCNTdGMDA4MjJEN0YgLyogTmF2aWdh
dG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBCMUU0NkMwNzEzMzNCNTdGMDA4MjJEN0YgLyogTmF2aWdhdG9y
VXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmggKi87IH07CisJCUIxRTQ2QzUyMTMzM0MxREMwMDgy
MkQ3RiAvKiBKU05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIxRTQ2QzQ0MTMzM0MxREMwMDgyMkQ3RiAvKiBK
U05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmNwcCAqLzsgfTsKKwkJQjFFNDZDNTMxMzMzQzFEQzAw
ODIyRDdGIC8qIEpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIxRTQ2QzQ1MTMzM0MxREMwMDgyMkQ3RiAvKiBK
U05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmggKi87IH07CiAJCUIyMDExMTA3MEFCNzc0MDUwMERC
MEU2OCAvKiBKU1NWR0FFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEIyMDExMTA1MEFCNzc0MDUwMERCMEU2OCAvKiBKU1NWR0FFbGVtZW50
LmNwcCAqLzsgfTsKIAkJQjIwMTExMDgwQUI3NzQwNTAwREIwRTY4IC8qIEpTU1ZHQUVsZW1lbnQu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIyMDExMTA2
MEFCNzc0MDUwMERCMEU2OCAvKiBKU1NWR0FFbGVtZW50LmggKi87IH07CiAJCUIyMjI3OTYyMEQw
MEJGMjIwMDcxQjc4MiAvKiBDb2xvckRpc3RhbmNlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIyMjI3N0NCMEQwMEJGMUYwMDcxQjc4MiAvKiBDb2xv
ckRpc3RhbmNlLmNwcCAqLzsgfTsKQEAgLTEwMzE5LDYgKzEwMzI5LDE3IEBACiAJCUIwMTQ5RTdB
MTFBNEIyMTUwMDE5NkE3QiAvKiBBc3luY0ltYWdlUmVzaXplci5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBBc3luY0ltYWdlUmVzaXplci5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlCMDE0OUU3QjExQTRCMjE1MDAxOTZBN0IgLyogSW1hZ2VSZXNpemVyVGhyZWFk
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEltYWdlUmVzaXplclRo
cmVhZC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIwMTQ5RTdDMTFBNEIyMTUw
MDE5NkE3QiAvKiBJbWFnZVJlc2l6ZXJUaHJlYWQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gSW1hZ2VSZXNpemVyVGhyZWFkLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUIxREM0QkE4MTMzOEUwRjMwMEVGRjhEOCAvKiBKU05hdmlnYXRvclVzZXJNZWRpYUVycm9y
Q2FsbGJhY2tDdXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
SlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrQ3VzdG9tLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJQjFEQzRCQTkxMzM4RTBGMzAwRUZGOEQ4IC8qIEpTTmF2aWdhdG9y
VXNlck1lZGlhRXJyb3JDYWxsYmFja0N1c3RvbS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBKU05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2tDdXN0b20uaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjFEQzRCQUExMzM4RTBGMzAwRUZGOEQ4IC8qIEpTTmF2
aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrQ3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNr
Q3VzdG9tLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjFEQzRCQUIxMzM4RTBG
MzAwRUZGOEQ4IC8qIEpTTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrQ3VzdG9tLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTTmF2aWdhdG9yVXNlck1lZGlhU3Vj
Y2Vzc0NhbGxiYWNrQ3VzdG9tLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIxREM0
QkI0MTMzOEUxNDAwMEVGRjhEOCAvKiBDYWxsYmFja1Rhc2suaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gQ2FsbGJhY2tUYXNrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUIxRTQ2QzAxMTMzM0I1N0YwMDgyMkQ3RiAvKiBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJv
ci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCMUU0NkMwMjEzMzNCNTdGMDA4MjJE
N0YgLyogTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9
IE5hdmlnYXRvclVzZXJNZWRpYUVycm9yLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJQjFFNDZDMDQxMzMzQjU3RjAwODIyRDdGIC8qIE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2Fs
bGJhY2suaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTmF2aWdhdG9yVXNlck1l
ZGlhRXJyb3JDYWxsYmFjay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCMUU0NkMw
NzEzMzNCNTdGMDA4MjJEN0YgLyogTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nl
c3NDYWxsYmFjay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCMUU0NkM0NDEzMzND
MURDMDA4MjJEN0YgLyogSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjFFNDZDNDUxMzMzQzFEQzAwODIyRDdGIC8q
IEpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlCMjAxMTEwNTBBQjc3NDA1MDBEQjBFNjggLyogSlNTVkdBRWxlbWVudC5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNTVkdBRWxlbWVudC5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIyMDExMTA2MEFCNzc0MDUwMERCMEU2OCAvKiBK
U1NWR0FFbGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1NWR0FF
bGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIyMjI3N0NCMEQwMEJGMUYw
MDcxQjc4MiAvKiBDb2xvckRpc3RhbmNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBDb2xvckRpc3RhbmNlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
QEAgLTE0MTAwLDYgKzE0MTIxLDcgQEAKIAkJCQlCQzEyNEVFNDBDMjY0MUNEMDA5RTIzNDkgLyog
QmFySW5mby5jcHAgKi8sCiAJCQkJQkMxMjRFRTUwQzI2NDFDRDAwOUUyMzQ5IC8qIEJhckluZm8u
aCAqLywKIAkJCQlCQzEyNEVFNjBDMjY0MUNEMDA5RTIzNDkgLyogQmFySW5mby5pZGwgKi8sCisJ
CQkJQjFEQzRCQjQxMzM4RTE0MDAwRUZGOEQ4IC8qIENhbGxiYWNrVGFzay5oICovLAogCQkJCTE0
RDgyMzhBMEFGOTJERjYwMDA0RjA1NyAvKiBDaHJvbWUuY3BwICovLAogCQkJCTE0RDgyMzUwMEFG
OTJBNzkwMDA0RjA1NyAvKiBDaHJvbWUuaCAqLywKIAkJCQkxNEQ4MjQwNjBBRjkzQUVCMDAwNEYw
NTcgLyogQ2hyb21lQ2xpZW50LmggKi8sCkBAIC0xNDE4MCw2ICsxNDIwMiwxMCBAQAogCQkJCUE5
QzZFNjVEMEQ3NDY2OTQwMDY0NDJFOSAvKiBOYXZpZ2F0b3IuaWRsICovLAogCQkJCUUxMjcxOUM5
MEVFRUMyMTMwMEY2MTIxMyAvKiBOYXZpZ2F0b3JCYXNlLmNwcCAqLywKIAkJCQlFMTI3MTlDNjBF
RUVDMTY4MDBGNjEyMTMgLyogTmF2aWdhdG9yQmFzZS5oICovLAorCQkJCUIxRTQ2QzAxMTMzM0I1
N0YwMDgyMkQ3RiAvKiBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5oICovLAorCQkJCUIxRTQ2QzAy
MTMzM0I1N0YwMDgyMkQ3RiAvKiBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5pZGwgKi8sCisJCQkJ
QjFFNDZDMDQxMzMzQjU3RjAwODIyRDdGIC8qIE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJh
Y2suaCAqLywKKwkJCQlCMUU0NkMwNzEzMzNCNTdGMDA4MjJEN0YgLyogTmF2aWdhdG9yVXNlck1l
ZGlhU3VjY2Vzc0NhbGxiYWNrLmggKi8sCiAJCQkJMDAxNDYyODgxMDNDRDFERTAwMEIyMERCIC8q
IE9yaWdpbkFjY2Vzc0VudHJ5LmNwcCAqLywKIAkJCQkwMDE0NjI4OTEwM0NEMURFMDAwQjIwREIg
LyogT3JpZ2luQWNjZXNzRW50cnkuaCAqLywKIAkJCQk2NUZFQTg2ODA5ODMzQURFMDBCRUQ0QUIg
LyogUGFnZS5jcHAgKi8sCkBAIC0xODExNSw2ICsxODE0MSwxMCBAQAogCQkJCTQxRjU4NEM2MTA0
NjUyQ0IwMDlDQUE2NCAvKiBKU01lc3NhZ2VQb3J0Q3VzdG9tLmggKi8sCiAJCQkJQkNEOUMyNUYw
QzE3QUE2NzAwNUM5MEEyIC8qIEpTTmFtZWROb2RlTWFwQ3VzdG9tLmNwcCAqLywKIAkJCQlBOUM2
RTY0ODBENzQ2NUQ4MDA2NDQyRTkgLyogSlNOYXZpZ2F0b3JDdXN0b20uY3BwICovLAorCQkJCUIx
REM0QkE4MTMzOEUwRjMwMEVGRjhEOCAvKiBKU05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJh
Y2tDdXN0b20uY3BwICovLAorCQkJCUIxREM0QkE5MTMzOEUwRjMwMEVGRjhEOCAvKiBKU05hdmln
YXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2tDdXN0b20uaCAqLywKKwkJCQlCMURDNEJBQTEzMzhF
MEYzMDBFRkY4RDggLyogSlNOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2tDdXN0b20u
Y3BwICovLAorCQkJCUIxREM0QkFCMTMzOEUwRjMwMEVGRjhEOCAvKiBKU05hdmlnYXRvclVzZXJN
ZWRpYVN1Y2Nlc3NDYWxsYmFja0N1c3RvbS5oICovLAogCQkJCUJDRDlDMjYwMEMxN0FBNjcwMDVD
OTBBMiAvKiBKU05vZGVDdXN0b20uY3BwICovLAogCQkJCUJDOTQzOUMyMTE2Q0Y0OTQwMDQ4Qzc1
MCAvKiBKU05vZGVDdXN0b20uaCAqLywKIAkJCQlCQ0I3NzM2MDBDMTc4NTNEMDAxMzJCQTQgLyog
SlNOb2RlRmlsdGVyQ3VzdG9tLmNwcCAqLywKQEAgLTE4MjQyLDYgKzE4MjcyLDggQEAKIAkJCQk5
RkZFM0VBNDExQjVBNDM5MDAzNzg3NEUgLyogSlNNZW1vcnlJbmZvLmggKi8sCiAJCQkJQTlEMjQ3
RjUwRDc1N0UzMzAwRkRGOTU5IC8qIEpTTmF2aWdhdG9yLmNwcCAqLywKIAkJCQlBOUQyNDdGNjBE
NzU3RTMzMDBGREY5NTkgLyogSlNOYXZpZ2F0b3IuaCAqLywKKwkJCQlCMUU0NkM0NDEzMzNDMURD
MDA4MjJEN0YgLyogSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5jcHAgKi8sCisJCQkJQjFFNDZD
NDUxMzMzQzFEQzAwODIyRDdGIC8qIEpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuaCAqLywKIAkJ
CQk4QTlBNTg3MjExRTg0QzgxMDA4QUNGRDEgLyogSlNQZXJmb3JtYW5jZS5jcHAgKi8sCiAJCQkJ
OEE5QTU4NzMxMUU4NEM4MTAwOEFDRkQxIC8qIEpTUGVyZm9ybWFuY2UuaCAqLywKIAkJCQk4QTlB
NTg2RTExRTg0QzM1MDA4QUNGRDEgLyogSlNQZXJmb3JtYW5jZU5hdmlnYXRpb24uY3BwICovLApA
QCAtMjI2OTQsNiArMjI3MjYsMTMgQEAKIAkJCQkzMTlFNjlCNjEzMjk5QkJEMDA0QUM5MUEgLyog
V2ViS2l0QW5pbWF0aW9uTGlzdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkM3NzJFMTMxMzMxNjIw
QzAwMUVDOUNFIC8qIENTU0xpbmVCb3hDb250YWluVmFsdWUuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTRGMTQ0MjI5MTMzOUZENjIwMEUwRDZGOCAvKiBET01Ob2RlSGlnaGxpZ2h0ZXIuaCBpbiBIZWFk
ZXJzICovLAorCQkJCUIxRTQ2QzA5MTMzM0I1N0YwMDgyMkQ3RiAvKiBOYXZpZ2F0b3JVc2VyTWVk
aWFFcnJvci5oIGluIEhlYWRlcnMgKi8sCisJCQkJQjFFNDZDMEMxMzMzQjU3RjAwODIyRDdGIC8q
IE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovLAorCQkJCUIx
RTQ2QzBGMTMzM0I1N0YwMDgyMkQ3RiAvKiBOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJh
Y2suaCBpbiBIZWFkZXJzICovLAorCQkJCUIxRTQ2QzUzMTMzM0MxREMwMDgyMkQ3RiAvKiBKU05h
dmlnYXRvclVzZXJNZWRpYUVycm9yLmggaW4gSGVhZGVycyAqLywKKwkJCQlCMURDNEJCMDEzMzhF
MEYzMDBFRkY4RDggLyogSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrQ3VzdG9tLmgg
aW4gSGVhZGVycyAqLywKKwkJCQlCMURDNEJCMjEzMzhFMEYzMDBFRkY4RDggLyogSlNOYXZpZ2F0
b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2tDdXN0b20uaCBpbiBIZWFkZXJzICovLAorCQkJCUIx
REM0QkI1MTMzOEUxNDAwMEVGRjhEOCAvKiBDYWxsYmFja1Rhc2suaCBpbiBIZWFkZXJzICovLAog
CQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpA
QCAtMjUzNjQsNiArMjU0MDMsOSBAQAogCQkJCUJDNzcyRTE2MTMzMTYyQzIwMDFFQzlDRSAvKiBD
U1NMaW5lQm94Q29udGFpblZhbHVlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdFMzdFRjJFMTMz
OTIwODgwMEIyOTI1MCAvKiBTdWJyZXNvdXJjZUxvYWRlckNGLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTRGMTQ0MjI4MTMzOUZENjIwMEUwRDZGOCAvKiBET01Ob2RlSGlnaGxpZ2h0ZXIuY3BwIGlu
IFNvdXJjZXMgKi8sCisJCQkJQjFFNDZDNTIxMzMzQzFEQzAwODIyRDdGIC8qIEpTTmF2aWdhdG9y
VXNlck1lZGlhRXJyb3IuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQjFEQzRCQUYxMzM4RTBGMzAw
RUZGOEQ4IC8qIEpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFja0N1c3RvbS5jcHAgaW4g
U291cmNlcyAqLywKKwkJCQlCMURDNEJCMTEzMzhFMEYzMDBFRkY4RDggLyogSlNOYXZpZ2F0b3JV
c2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2tDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkpOwog
CQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0JpbmRpbmdzQWxsSW5PbmUuY3BwIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNCaW5kaW5nc0FsbEluT25lLmNwcAppbmRleCA5
MzFmZWQzMjRjMDdkNDkwNjAwNzYzNmMwZWNjMTEzZTU3ZDgwNmFiLi45OTJkZTU2NGEyYjliMWUx
MTQyNjg4NzU4MWUwNjk0ZDUzMTNmNGRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU0JpbmRpbmdzQWxsSW5PbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTQmluZGluZ3NBbGxJbk9uZS5jcHAKQEAgLTExOCw2ICsxMTgsOCBAQAogI2luY2x1
ZGUgIkpTTWVzc2FnZVBvcnRDdXN0b20uY3BwIgogI2luY2x1ZGUgIkpTTmFtZWROb2RlTWFwQ3Vz
dG9tLmNwcCIKICNpbmNsdWRlICJKU05hdmlnYXRvckN1c3RvbS5jcHAiCisjaW5jbHVkZSAiSlNO
YXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrQ3VzdG9tLmNwcCIKKyNpbmNsdWRlICJKU05h
dmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFja0N1c3RvbS5jcHAiCiAjaW5jbHVkZSAiSlNO
b2RlQ3VzdG9tLmNwcCIKICNpbmNsdWRlICJKU05vZGVGaWx0ZXJDb25kaXRpb24uY3BwIgogI2lu
Y2x1ZGUgIkpTTm9kZUZpbHRlckN1c3RvbS5jcHAiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU05hdmlnYXRvckN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU05hdmlnYXRvckN1c3RvbS5jcHAKaW5kZXggYzAyMzkzMTMyYTgyMzJhMWQ0OGUx
MzE2ODZlMzcwZDFmZjQyZjdiMi4uYTJlOWMyNmEwNmM3MDQ3YTczNzVjODljMDk4YTA2ODAxYjBj
MTUxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNOYXZpZ2F0b3JD
dXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTmF2aWdhdG9yQ3Vz
dG9tLmNwcApAQCAtMjMsNyArMjMsMTEgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRl
ICJKU05hdmlnYXRvci5oIgogCisjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgorI2luY2x1ZGUg
IkpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFja0N1c3RvbS5oIgorI2luY2x1ZGUgIkpT
TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrQ3VzdG9tLmgiCiAjaW5jbHVkZSAiTmF2
aWdhdG9yLmgiCisjaW5jbHVkZSA8cnVudGltZS9KU0Z1bmN0aW9uLmg+CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIApAQCAtMzgsNCArNDIsNTggQEAgdm9pZCBKU05hdmlnYXRvcjo6bWFya0NoaWxk
cmVuKE1hcmtTdGFjayYgbWFya1N0YWNrKQogICAgIG1hcmtET01PYmplY3RXcmFwcGVyKG1hcmtT
dGFjaywgZ2xvYmFsRGF0YSwgaW1wbCgpLT5vcHRpb25hbEdlb2xvY2F0aW9uKCkpOwogfQogCisj
aWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKworc3RhdGljIFBhc3NSZWZQdHI8TmF2aWdhdG9yVXNl
ck1lZGlhU3VjY2Vzc0NhbGxiYWNrPiBjcmVhdGVOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2Fs
bGJhY2soRXhlY1N0YXRlKiBleGVjLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBK
U1ZhbHVlIHZhbHVlKQoreworICAgIC8vIFRoZSBzcGVjIHNwZWNpZmllcyAnRnVuY3Rpb25Pbmx5
JyBmb3IgdGhpcyBvYmplY3QuCisgICAgLy8gRklYTUU6IFRoaXMgY2hlY2sgZGlzYWxsb3dzIGNh
bGxhYmxlIG9iamVjdHMgY3JlYXRlZCB2aWEgSlNDIEFQSS4gSXQncyBub3QgY2xlYXIgd2hhdCBl
eGFjdGx5IHRoZSBzcGVjaWZpY2F0aW9uIGludGVuZHMgdG8gYWxsb3cuCisgICAgaWYgKCF2YWx1
ZS5pbmhlcml0cygmSlNGdW5jdGlvbjo6c19pbmZvKSkgeworICAgICAgICBzZXRET01FeGNlcHRp
b24oZXhlYywgVFlQRV9NSVNNQVRDSF9FUlIpOworICAgICAgICByZXR1cm4gMDsKKyAgICB9CisK
KyAgICBKU09iamVjdCogb2JqZWN0ID0gYXNPYmplY3QodmFsdWUpOworICAgIHJldHVybiBKU05h
dmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjazo6Y3JlYXRlKG9iamVjdCwgZ2xvYmFsT2Jq
ZWN0KTsKK30KKworc3RhdGljIFBhc3NSZWZQdHI8TmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxs
YmFjaz4gY3JlYXRlTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjayhFeGVjU3RhdGUqIGV4
ZWMsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTVmFsdWUgdmFsdWUpCit7Cisg
ICAgLy8gQXJndW1lbnQgaXMgb3B0aW9uYWwgKGhlbmNlIHVuZGVmaW5lZCBpcyBhbGxvd2VkKSwg
YW5kIG51bGwgaXMgYWxsb3dlZC4KKyAgICBpZiAodmFsdWUuaXNVbmRlZmluZWRPck51bGwoKSkK
KyAgICAgICAgcmV0dXJuIDA7CisKKyAgICAvLyBUaGUgc3BlYyBzcGVjaWZpZXMgJ0Z1bmN0aW9u
T25seScgZm9yIHRoaXMgb2JqZWN0LgorICAgIC8vIEZJWE1FOiBUaGlzIGNoZWNrIGRpc2FsbG93
cyBjYWxsYWJsZSBvYmplY3RzIGNyZWF0ZWQgdmlhIEpTQyBBUEkuIEl0J3Mgbm90IGNsZWFyIHdo
YXQgZXhhY3RseSB0aGUgc3BlY2lmaWNhdGlvbiBpbnRlbmRzIHRvIGFsbG93LgorICAgIGlmICgh
dmFsdWUuaW5oZXJpdHMoJkpTRnVuY3Rpb246OnNfaW5mbykpIHsKKyAgICAgICAgc2V0RE9NRXhj
ZXB0aW9uKGV4ZWMsIFRZUEVfTUlTTUFUQ0hfRVJSKTsKKyAgICAgICAgcmV0dXJuIDA7CisgICAg
fQorCisgICAgSlNPYmplY3QqIG9iamVjdCA9IGFzT2JqZWN0KHZhbHVlKTsKKyAgICByZXR1cm4g
SlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrOjpjcmVhdGUob2JqZWN0LCBnbG9iYWxP
YmplY3QpOworfQorCitKU1ZhbHVlIEpTTmF2aWdhdG9yOjp3ZWJraXRHZXRVc2VyTWVkaWEoRXhl
Y1N0YXRlKiBleGVjKQoreworICAgIC8vIEFyZ3VtZW50czogT3B0aW9ucywgc3VjY2Vzc0NhbGxi
YWNrLCAob3B0aW9uYWwpZXJyb3JDYWxsYmFjaworCisgICAgU3RyaW5nIG9wdGlvbnMgPSB1c3Ry
aW5nVG9TdHJpbmcoZXhlYy0+YXJndW1lbnQoMCkudG9TdHJpbmcoZXhlYykpOworICAgIGlmIChl
eGVjLT5oYWRFeGNlcHRpb24oKSkKKyAgICAgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7CisKKyAg
ICBSZWZQdHI8TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrPiBzdWNjZXNzQ2FsbGJh
Y2sgPSBjcmVhdGVOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2soZXhlYywgc3RhdGlj
X2Nhc3Q8SlNET01HbG9iYWxPYmplY3QqPihleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCkpLCBl
eGVjLT5hcmd1bWVudCgxKSk7CisgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpIHx8ICFzdWNj
ZXNzQ2FsbGJhY2spCisgICAgICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOworCisgICAgUmVmUHRy
PE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2s+IGVycm9yQ2FsbGJhY2sgPSBjcmVhdGVO
YXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrKGV4ZWMsIHN0YXRpY19jYXN0PEpTRE9NR2xv
YmFsT2JqZWN0Kj4oZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpKSwgZXhlYy0+YXJndW1lbnQo
MikpOworICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKKyAgICAgICAgcmV0dXJuIGpzVW5k
ZWZpbmVkKCk7CisKKyAgICBtX2ltcGwtPndlYmtpdEdldFVzZXJNZWRpYShvcHRpb25zLCBzdWNj
ZXNzQ2FsbGJhY2sucmVsZWFzZSgpLCBlcnJvckNhbGxiYWNrLnJlbGVhc2UoKSk7CisgICAgcmV0
dXJuIGpzVW5kZWZpbmVkKCk7Cit9CisKKyNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFNKQor
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU05hdmlnYXRvclVz
ZXJNZWRpYUVycm9yQ2FsbGJhY2tDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrQ3VzdG9tLmNwcApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mY2U2ZGEwYmMxZWQzN2UwN2IwMjNjZWQyZDE5NzIwNWY3Njg1ODBmCi0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJv
ckNhbGxiYWNrQ3VzdG9tLmNwcApAQCAtMCwwICsxLDY4IEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAq
ICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBp
dHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJv
ZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJp
b3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisg
KiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgor
I2luY2x1ZGUgIkpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFja0N1c3RvbS5oIgorCisj
aWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKworI2luY2x1ZGUgIkpTTmF2aWdhdG9yVXNlck1lZGlh
RXJyb3IuaCIKKyNpbmNsdWRlICJTY3JpcHRDb250cm9sbGVyLmgiCisjaW5jbHVkZSA8cnVudGlt
ZS9KU0xvY2suaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCit1c2luZyBuYW1lc3BhY2UgSlND
OworCitKU05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2s6OkpTTmF2aWdhdG9yVXNlck1l
ZGlhRXJyb3JDYWxsYmFjayhKU09iamVjdCogY2FsbGJhY2ssIEpTRE9NR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QpCisgICAgOiBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrKGdsb2Jh
bE9iamVjdC0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKQorICAgICwgbV9kYXRhKGNhbGxiYWNr
LCBnbG9iYWxPYmplY3QpCit7Cit9CisKK3ZvaWQgSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNh
bGxiYWNrOjpoYW5kbGVFdmVudChOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvciogZXJyb3IpCit7Cisg
ICAgLy8gQWN0aXZlRE9NT2JqZWN0IHdpbGwgbnVsbCBvdXIgcG9pbnRlciB0byB0aGUgU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCB3aGVuIGl0IGdvZXMgYXdheS4KKyAgICBpZiAoIXNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgUmVmUHRyPEpTTmF2aWdhdG9y
VXNlck1lZGlhRXJyb3JDYWxsYmFjaz4gcHJvdGVjdCh0aGlzKTsKKworICAgIEpTQzo6SlNMb2Nr
IGxvY2soU2lsZW5jZUFzc2VydGlvbnNPbmx5KTsKKyAgICBFeGVjU3RhdGUqIGV4ZWMgPSBtX2Rh
dGEuZ2xvYmFsT2JqZWN0KCktPmdsb2JhbEV4ZWMoKTsKKyAgICBNYXJrZWRBcmd1bWVudEJ1ZmZl
ciBhcmdzOworICAgIGFyZ3MuYXBwZW5kKHRvSlMoZXhlYywgZGVwcmVjYXRlZEdsb2JhbE9iamVj
dEZvclByb3RvdHlwZShleGVjKSwgZXJyb3IpKTsKKyAgICBtX2RhdGEuaW52b2tlQ2FsbGJhY2so
YXJncyk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShN
RURJQV9TVFJFQU0pCisKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
TmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFja0N1c3RvbS5oIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrQ3VzdG9tLmgKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMDRlMjJiNWU2NTI4N2IxNTQzNWQ4ZDk1NTU0OWU0Njk2YjY3ODFkYgotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTmF2aWdhdG9yVXNlck1l
ZGlhRXJyb3JDYWxsYmFja0N1c3RvbS5oCkBAIC0wLDAgKzEsNjYgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9u
LgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVz
IG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElT
IiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICog
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
KyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFdURl9KU05h
dmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2tDdXN0b21faAorI2RlZmluZSBXVEZfSlNOYXZp
Z2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrQ3VzdG9tX2gKKworI2lmIEVOQUJMRShNRURJQV9T
VFJFQU0pCisKKyNpbmNsdWRlICJKU0NhbGxiYWNrRGF0YS5oIgorI2luY2x1ZGUgIk5hdmlnYXRv
clVzZXJNZWRpYUVycm9yQ2FsbGJhY2suaCIKKyNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIE5hdmlnYXRvclVzZXJNZWRpYUVycm9yOworY2xh
c3MgSlNET01HbG9iYWxPYmplY3Q7CisKK2NsYXNzIEpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JD
YWxsYmFjayA6IHB1YmxpYyBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrIHsKK3B1Ymxp
YzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxKU05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJh
Y2s+IGNyZWF0ZShKU0M6OkpTT2JqZWN0KiBjYWxsYmFjaywgSlNET01HbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgSlNOYXZpZ2F0
b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrKGNhbGxiYWNrLCBnbG9iYWxPYmplY3QpKTsKKyAgICB9
CisKKyAgICB2aXJ0dWFsIH5KU05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2soKSB7IH0K
KworcHJpdmF0ZToKKyAgICBKU05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2soSlNDOjpK
U09iamVjdCogY2FsbGJhY2ssIEpTRE9NR2xvYmFsT2JqZWN0Kik7CisKKyAgICB2aXJ0dWFsIHZv
aWQgaGFuZGxlRXZlbnQoTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IqKTsKKworICAgIEpTQ2FsbGJh
Y2tEYXRhIG1fZGF0YTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8v
IEVOQUJMRShNRURJQV9TVFJFQU0pCisKKyNlbmRpZiAvLyBXVEZfSlNOYXZpZ2F0b3JVc2VyTWVk
aWFFcnJvckNhbGxiYWNrQ3VzdG9tX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrQ3VzdG9tLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxi
YWNrQ3VzdG9tLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wNTA0YTcyZGIxMjBjMTJjNzZiNmZlYjg1ZGFhZDMy
Y2ExNmQ4MWI0Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2tDdXN0b20uY3BwCkBAIC0wLDAgKzEs
NTIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAq
CisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICog
aW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29n
bGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29m
dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP
TlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQK
KyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiSlNOYXZpZ2F0b3JVc2VyTWVkaWFT
dWNjZXNzQ2FsbGJhY2tDdXN0b20uaCIKKworI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCisKKyNp
bmNsdWRlICJTY3JpcHRDb250cm9sbGVyLmgiCisjaW5jbHVkZSA8cnVudGltZS9KU0xvY2suaD4K
KworbmFtZXNwYWNlIFdlYkNvcmUgeworCit1c2luZyBuYW1lc3BhY2UgSlNDOworCitKU05hdmln
YXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjazo6SlNOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNz
Q2FsbGJhY2soSlNPYmplY3QqIGNhbGxiYWNrLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2Jq
ZWN0KQorICAgIDogTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrKGdsb2JhbE9iamVj
dC0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKQorICAgICwgbV9kYXRhKGNhbGxiYWNrLCBnbG9i
YWxPYmplY3QpCit7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVO
QUJMRShNRURJQV9TVFJFQU0pCisKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrQ3VzdG9tLmggYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFja0N1
c3RvbS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmYxNzAyYWIzNDFjNGVjOWQzMGQ1YjA0YmQ5OGViYTViZWI0MmQ4
M2IKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU05hdmln
YXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFja0N1c3RvbS5oCkBAIC0wLDAgKzEsNjMgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICog
ZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBu
b3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0
aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9S
UworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVS
IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAq
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZu
ZGVmIFdURl9KU05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFja0N1c3RvbV9oCisjZGVm
aW5lIFdURl9KU05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFja0N1c3RvbV9oCisKKyNp
ZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorCisjaW5jbHVkZSAiSlNDYWxsYmFja0RhdGEuaCIKKyNp
bmNsdWRlICJOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suaCIKKyNpbmNsdWRlIDx3
dGYvRm9yd2FyZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEpTRE9NR2xvYmFs
T2JqZWN0OworCitjbGFzcyBKU05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjayA6IHB1
YmxpYyBOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2sgeworcHVibGljOgorICAgIHN0
YXRpYyBQYXNzUmVmUHRyPEpTTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrPiBjcmVh
dGUoSlNDOjpKU09iamVjdCogY2FsbGJhY2ssIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IEpTTmF2aWdhdG9yVXNlck1l
ZGlhU3VjY2Vzc0NhbGxiYWNrKGNhbGxiYWNrLCBnbG9iYWxPYmplY3QpKTsKKyAgICB9CisKKyAg
ICB2aXJ0dWFsIH5KU05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjaygpIHsgfQorCitw
cml2YXRlOgorICAgIEpTTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrKEpTQzo6SlNP
YmplY3QqIGNhbGxiYWNrLCBKU0RPTUdsb2JhbE9iamVjdCopOworCisgICAgSlNDYWxsYmFja0Rh
dGEgbV9kYXRhOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5B
QkxFKE1FRElBX1NUUkVBTSkKKworI2VuZGlmIC8vIFdURl9KU05hdmlnYXRvclVzZXJNZWRpYVN1
Y2Nlc3NDYWxsYmFja0N1c3RvbV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy92OC9jdXN0b20vVjhOYXZpZ2F0b3JDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4TmF2aWdhdG9yQ3VzdG9tLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44NzQ4NTRiYjJm
ZTYxMmU2MmEyMWE4ZTgxMDljMDAzMDczYzVkNmZkCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4TmF2aWdhdG9yQ3VzdG9tLmNwcApAQCAtMCww
ICsxLDExMSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0
OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
CisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9m
IEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJl
IHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhp
cyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBB
TkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlS
SUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJWOE5hdmlnYXRvci5oIgor
CisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKworI2luY2x1ZGUgIk5hdmlnYXRvci5oIgorI2lu
Y2x1ZGUgIlY4QmluZGluZy5oIgorI2luY2x1ZGUgIlY4TmF2aWdhdG9yVXNlck1lZGlhRXJyb3JD
YWxsYmFja0N1c3RvbS5oIgorI2luY2x1ZGUgIlY4TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0Nh
bGxiYWNrQ3VzdG9tLmgiCisjaW5jbHVkZSAiVjhQcm94eS5oIgorCit1c2luZyBuYW1lc3BhY2Ug
V1RGOworCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0YXRpYyBjb25zdCBjaGFyIHR5cGVNaXNt
YXRjaEVycm9yW10gPSAiVFlQRV9NSVNNQVRDSF9FUlI6IERPTSBFeGNlcHRpb24gMTciOworCitz
dGF0aWMgdm9pZCB0aHJvd1R5cGVNaXNtYXRjaEV4Y2VwdGlvbigpCit7CisgICAgVjhQcm94eTo6
dGhyb3dFcnJvcihWOFByb3h5OjpHZW5lcmFsRXJyb3IsIHR5cGVNaXNtYXRjaEVycm9yKTsKK30K
Kworc3RhdGljIFBhc3NSZWZQdHI8TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrPiBj
cmVhdGVOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2sodjg6OkxvY2FsPHY4OjpWYWx1
ZT4gdmFsdWUsIGJvb2wmIHN1Y2NlZWRlZCkKK3sKKyAgICBzdWNjZWVkZWQgPSB0cnVlOworCisg
ICAgLy8gVGhlIHNwZWMgc3BlY2lmaWVzICdGdW5jdGlvbk9ubHknIGZvciB0aGlzIG9iamVjdC4K
KyAgICBpZiAoIXZhbHVlLT5Jc0Z1bmN0aW9uKCkpIHsKKyAgICAgICAgc3VjY2VlZGVkID0gZmFs
c2U7CisgICAgICAgIHRocm93VHlwZU1pc21hdGNoRXhjZXB0aW9uKCk7CisgICAgICAgIHJldHVy
biAwOworICAgIH0KKworICAgIHJldHVybiBWOE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxs
YmFja0N1c3RvbTo6Y3JlYXRlKHZhbHVlLCBnZXRTY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpOwor
fQorCitzdGF0aWMgUGFzc1JlZlB0cjxOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrPiBj
cmVhdGVOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrKHY4OjpMb2NhbDx2ODo6VmFsdWU+
IHZhbHVlLCBib29sJiBzdWNjZWVkZWQpCit7CisgICAgc3VjY2VlZGVkID0gdHJ1ZTsKKworICAg
IC8vIEFyZ3VtZW50IGlzIG9wdGlvbmFsIChoZW5jZSB1bmRlZmluZWQgaXMgYWxsb3dlZCksIGFu
ZCBudWxsIGlzIGFsbG93ZWQuCisgICAgaWYgKGlzVW5kZWZpbmVkT3JOdWxsKHZhbHVlKSkKKyAg
ICAgICAgcmV0dXJuIDA7CisKKyAgICAvLyBUaGUgc3BlYyBzcGVjaWZpZXMgJ0Z1bmN0aW9uT25s
eScgZm9yIHRoaXMgb2JqZWN0LgorICAgIGlmICghdmFsdWUtPklzRnVuY3Rpb24oKSkgeworICAg
ICAgICBzdWNjZWVkZWQgPSBmYWxzZTsKKyAgICAgICAgdGhyb3dUeXBlTWlzbWF0Y2hFeGNlcHRp
b24oKTsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQorCisgICAgcmV0dXJuIFY4TmF2aWdhdG9y
VXNlck1lZGlhRXJyb3JDYWxsYmFja0N1c3RvbTo6Y3JlYXRlKHZhbHVlLCBnZXRTY3JpcHRFeGVj
dXRpb25Db250ZXh0KCkpOworfQorCit2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhOYXZpZ2F0b3I6
OndlYmtpdEdldFVzZXJNZWRpYUNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCit7
CisgICAgSU5DX1NUQVRTKCJET00uTmF2aWdhdG9yLndlYmtpdEdldFVzZXJNZWRpYSgpIik7CisK
KyAgICB2ODo6VHJ5Q2F0Y2ggZXhjZXB0aW9uQ2F0Y2hlcjsKKyAgICBTdHJpbmcgb3B0aW9ucyA9
IHRvV2ViQ29yZVN0cmluZyhhcmdzWzBdKTsKKyAgICBpZiAoZXhjZXB0aW9uQ2F0Y2hlci5IYXND
YXVnaHQoKSkKKyAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoZXhjZXB0aW9uQ2F0Y2hlci5FeGNl
cHRpb24oKSk7CisKKyAgICBib29sIHN1Y2NlZWRlZCA9IGZhbHNlOworCisgICAgUmVmUHRyPE5h
dmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjaz4gc3VjY2Vzc0NhbGxiYWNrID0gY3JlYXRl
TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrKGFyZ3NbMV0sIHN1Y2NlZWRlZCk7Cisg
ICAgaWYgKCFzdWNjZWVkZWQgfHwgIXN1Y2Nlc3NDYWxsYmFjaykKKyAgICAgICAgcmV0dXJuIHY4
OjpVbmRlZmluZWQoKTsKKworICAgIFJlZlB0cjxOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxi
YWNrPiBlcnJvckNhbGxiYWNrID0gY3JlYXRlTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFj
ayhhcmdzWzJdLCBzdWNjZWVkZWQpOworICAgIGlmICghc3VjY2VlZGVkKQorICAgICAgICByZXR1
cm4gdjg6OlVuZGVmaW5lZCgpOworCisgICAgTmF2aWdhdG9yKiBuYXZpZ2F0b3IgPSBWOE5hdmln
YXRvcjo6dG9OYXRpdmUoYXJncy5Ib2xkZXIoKSk7CisgICAgbmF2aWdhdG9yLT53ZWJraXRHZXRV
c2VyTWVkaWEob3B0aW9ucywgc3VjY2Vzc0NhbGxiYWNrLnJlbGVhc2UoKSwgZXJyb3JDYWxsYmFj
ay5yZWxlYXNlKCkpOworICAgIHJldHVybiB2ODo6VW5kZWZpbmVkKCk7Cit9CisKK30gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0pCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhOYXZpZ2F0b3JVc2VyTWVk
aWFFcnJvckNhbGxiYWNrQ3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1
c3RvbS9WOE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2tDdXN0b20uY3BwCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjE0YjBmMDcxZjg1ZjJiMTgyZGIxOGQ1NmZjOGQ0ZGJjZjMxMjE2ZWEKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhOYXZpZ2F0b3JVc2Vy
TWVkaWFFcnJvckNhbGxiYWNrQ3VzdG9tLmNwcApAQCAtMCwwICsxLDg3IEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1
dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBu
YW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHBy
b21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3Bl
Y2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJB
UyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwK
KyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNv
bmZpZy5oIgorI2luY2x1ZGUgIlY4TmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFja0N1c3Rv
bS5oIgorCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKworI2luY2x1ZGUgIlNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQuaCIKKyNpbmNsdWRlICJWOEN1c3RvbVZvaWRDYWxsYmFjay5oIiAvLyBGb3Ig
aW52b2tlQ2FsbGJhY2sKKyNpbmNsdWRlICJWOE5hdmlnYXRvclVzZXJNZWRpYUVycm9yLmgiCisj
aW5jbHVkZSAiVjhQcm94eS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1Y4TmF2aWdhdG9y
VXNlck1lZGlhRXJyb3JDYWxsYmFja0N1c3RvbTo6VjhOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNh
bGxiYWNrQ3VzdG9tKHY4OjpMb2NhbDx2ODo6T2JqZWN0PiBjYWxsYmFjaywgU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCogY29udGV4dCkKKyAgICA6IE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJh
Y2soY29udGV4dCkKKyAgICAsIG1fY2FsbGJhY2sodjg6OlBlcnNpc3RlbnQ8djg6Ok9iamVjdD46
Ok5ldyhjYWxsYmFjaykpCit7Cit9CisKK1Y4TmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFj
a0N1c3RvbTo6flY4TmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFja0N1c3RvbSgpCit7Cisg
ICAgbV9jYWxsYmFjay5EaXNwb3NlKCk7Cit9CisKK3ZvaWQgVjhOYXZpZ2F0b3JVc2VyTWVkaWFF
cnJvckNhbGxiYWNrQ3VzdG9tOjpoYW5kbGVFdmVudChOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvciog
ZXJyb3IpCit7CisgICAgdjg6OkhhbmRsZVNjb3BlIGhhbmRsZVNjb3BlOworCisgICAgLy8gQWN0
aXZlRE9NT2JqZWN0IHdpbGwgbnVsbCBvdXIgcG9pbnRlciB0byB0aGUgU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCB3aGVuIGl0IGdvZXMgYXdheS4KKyAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBz
Y3JpcHRDb250ZXh0ID0gc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOworICAgIGlmICghc2NyaXB0
Q29udGV4dCkKKyAgICAgICAgcmV0dXJuOworCisgICAgLy8gVGhlIGxvb2t1cCBvZiB0aGUgcHJv
eHkgd2lsbCBmYWlsIGlmIHRoZSBGcmFtZSBoYXMgYmVlbiBkZXRhY2hlZC4KKyAgICBWOFByb3h5
KiBwcm94eSA9IFY4UHJveHk6OnJldHJpZXZlKHNjcmlwdENvbnRleHQpOworICAgIGlmICghcHJv
eHkpCisgICAgICAgIHJldHVybjsKKworICAgIHY4OjpIYW5kbGU8djg6OkNvbnRleHQ+IGNvbnRl
eHQgPSBwcm94eS0+Y29udGV4dCgpOworICAgIGlmIChjb250ZXh0LklzRW1wdHkoKSkKKyAgICAg
ICAgcmV0dXJuOworCisgICAgdjg6OkNvbnRleHQ6OlNjb3BlIHNjb3BlKGNvbnRleHQpOworCisg
ICAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGFyZ3ZbXSA9IHsKKyAgICAgICAgdG9WOChlcnJvcikK
KyAgICB9OworCisgICAgLy8gUHJvdGVjdCB0aGUgc2NyaXB0IGNvbnRleHQgdW50aWwgdGhlIGNh
bGxiYWNrIHJldHVybnMuCisgICAgUmVmUHRyPFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ+IHByb3Rl
Y3RvcihzY3JpcHRDb250ZXh0KTsKKworICAgIGJvb2wgY2FsbGJhY2tSZXR1cm5WYWx1ZSA9IGZh
bHNlOworICAgIGludm9rZUNhbGxiYWNrKG1fY2FsbGJhY2ssIDEsIGFyZ3YsIGNhbGxiYWNrUmV0
dXJuVmFsdWUsIHNjcmlwdENvbnRleHQpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisK
KyNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFNKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4TmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFja0N1
c3RvbS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4TmF2aWdhdG9yVXNl
ck1lZGlhRXJyb3JDYWxsYmFja0N1c3RvbS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA2N2IxYTViNjVhOGUxZWFj
MTdiOTE5ZjNjNzI1M2QyNTIyYjNhYTQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy92OC9jdXN0b20vVjhOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrQ3Vz
dG9tLmgKQEAgLTAsMCArMSw2NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
IGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVy
IHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmli
dXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQg
ZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVy
bWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklH
SFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywg
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
CisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisg
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgVjhOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNh
bGxiYWNrQ3VzdG9tX2gKKyNkZWZpbmUgVjhOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNr
Q3VzdG9tX2gKKworI2luY2x1ZGUgIk5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2suaCIK
KworI2luY2x1ZGUgPHY4Lmg+CisjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KKyNpbmNsdWRl
IDx3dGYvUmVmUHRyLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgTmF2aWdhdG9y
VXNlck1lZGlhRXJyb3I7CitjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OworCitjbGFzcyBW
OE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2tDdXN0b20gOiBwdWJsaWMgTmF2aWdhdG9y
VXNlck1lZGlhRXJyb3JDYWxsYmFjayB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8
VjhOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrQ3VzdG9tPiBjcmVhdGUodjg6OkxvY2Fs
PHY4OjpWYWx1ZT4gdmFsdWUsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQpCisgICAg
eworICAgICAgICBBU1NFUlQodmFsdWUtPklzT2JqZWN0KCkpOworICAgICAgICByZXR1cm4gYWRv
cHRSZWYobmV3IFY4TmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFja0N1c3RvbSh2YWx1ZS0+
VG9PYmplY3QoKSwgY29udGV4dCkpOworICAgIH0KKyAgICB2aXJ0dWFsIH5WOE5hdmlnYXRvclVz
ZXJNZWRpYUVycm9yQ2FsbGJhY2tDdXN0b20oKTsKKworICAgIHZpcnR1YWwgdm9pZCBoYW5kbGVF
dmVudChOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvciopOworCitwcml2YXRlOgorICAgIFY4TmF2aWdh
dG9yVXNlck1lZGlhRXJyb3JDYWxsYmFja0N1c3RvbSh2ODo6TG9jYWw8djg6Ok9iamVjdD4sIFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQqKTsKKworICAgIHY4OjpQZXJzaXN0ZW50PHY4OjpPYmplY3Q+
IG1fY2FsbGJhY2s7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBW
OE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2tDdXN0b21faApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vz
c0NhbGxiYWNrQ3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9W
OE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFja0N1c3RvbS5jcHAKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NDkxZjUyNjYzYmM2NTQ0MGI1YTQ0NDg0ZjNmMzBkMWVhY2E5ZjM0MQotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE5hdmlnYXRvclVzZXJNZWRp
YVN1Y2Nlc3NDYWxsYmFja0N1c3RvbS5jcHAKQEAgLTAsMCArMSw1NSBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRp
b24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFt
ZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9t
b3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNp
ZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMg
SVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisg
KiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25m
aWcuaCIKKyNpbmNsdWRlICJWOE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFja0N1c3Rv
bS5oIgorCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKworI2luY2x1ZGUgIlNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQuaCIKKyNpbmNsdWRlICJWOEN1c3RvbVZvaWRDYWxsYmFjay5oIiAvLyBGb3Ig
aW52b2tlQ2FsbGJhY2sKKyNpbmNsdWRlICJWOFByb3h5LmgiCisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKworVjhOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2tDdXN0b206OlY4TmF2aWdh
dG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrQ3VzdG9tKHY4OjpMb2NhbDx2ODo6T2JqZWN0PiBj
YWxsYmFjaywgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCkKKyAgICA6IE5hdmlnYXRv
clVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjayhjb250ZXh0KQorICAgICwgbV9jYWxsYmFjayh2ODo6
UGVyc2lzdGVudDx2ODo6T2JqZWN0Pjo6TmV3KGNhbGxiYWNrKSkKK3sKK30KKworVjhOYXZpZ2F0
b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2tDdXN0b206On5WOE5hdmlnYXRvclVzZXJNZWRpYVN1
Y2Nlc3NDYWxsYmFja0N1c3RvbSgpCit7CisgICAgbV9jYWxsYmFjay5EaXNwb3NlKCk7Cit9CisK
K30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0p
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhOYXZpZ2F0
b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2tDdXN0b20uaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3Y4L2N1c3RvbS9WOE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFja0N1c3RvbS5o
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjExYWJkNjU4YjFjZWM2NWNhY2UzNjNiNzczNmRhOTg4ZTEyMWYwZjEKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhOYXZp
Z2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2tDdXN0b20uaApAQCAtMCwwICsxLDYxIEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAg
ICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAq
IGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4g
bm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdp
dGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRP
UlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05F
UiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisg
KiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lm
bmRlZiBWOE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFja0N1c3RvbV9oCisjZGVmaW5l
IFY4TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrQ3VzdG9tX2gKKworI2luY2x1ZGUg
Ik5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5oIgorCisjaW5jbHVkZSA8djguaD4K
KyNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KKwor
bmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OworCitj
bGFzcyBWOE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFja0N1c3RvbSA6IHB1YmxpYyBO
YXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2sgeworcHVibGljOgorICAgIHN0YXRpYyBQ
YXNzUmVmUHRyPFY4TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrQ3VzdG9tPiBjcmVh
dGUodjg6OkxvY2FsPHY4OjpWYWx1ZT4gdmFsdWUsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNv
bnRleHQpCisgICAgeworICAgICAgICBBU1NFUlQodmFsdWUtPklzT2JqZWN0KCkpOworICAgICAg
ICByZXR1cm4gYWRvcHRSZWYobmV3IFY4TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNr
Q3VzdG9tKHZhbHVlLT5Ub09iamVjdCgpLCBjb250ZXh0KSk7CisgICAgfQorICAgIHZpcnR1YWwg
flY4TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrQ3VzdG9tKCk7CisKK3ByaXZhdGU6
CisgICAgVjhOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2tDdXN0b20odjg6OkxvY2Fs
PHY4OjpPYmplY3Q+LCBTY3JpcHRFeGVjdXRpb25Db250ZXh0Kik7CisKKyAgICB2ODo6UGVyc2lz
dGVudDx2ODo6T2JqZWN0PiBtX2NhbGxiYWNrOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQorCisjZW5kaWYgLy8gVjhOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2tDdXN0b21f
aApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9DYWxsYmFja1Rhc2suaCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvQ2FsbGJhY2tUYXNrLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjU0NjhhNGExNDQwNjQ1
YTI5Zjk0NGIzM2ZhZDY0M2I3NzYyMGMyNgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvQ2FsbGJhY2tUYXNrLmgKQEAgLTAsMCArMSw4NiBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24u
CisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMg
b2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAor
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKworI2lmbmRlZiBDYWxsYmFj
a1Rhc2tfaAorI2RlZmluZSBDYWxsYmFja1Rhc2tfaAorCisjaWYgRU5BQkxFKE1FRElBX1NUUkVB
TSkKKworI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKKyNpbmNsdWRlIDx3dGYv
Rm9yd2FyZC5oPgorI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1Jl
ZlB0ci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKKy8vIEhlbHBlciB0ZW1wbGF0ZSB0byBz
Y2hlZHVsZSBjYWxscyB0byBjYWxsYmFja3MgdXNpbmcgdGhlaXIgb3duIHNjcmlwdCBleGVjdXRp
b24gY29udGV4dC4KKy8vIENhbGxiYWNrVHlwZSBpcyBhc3N1bWVkIHRvIGltcGxlbWVudCBTY2hl
ZHVsZXIgYW5kIHRvIGJlIGEgcmVmZXJlbmNlLWNvdW50ZWQgQWN0aXZlRE9NT2JqZWN0LgordGVt
cGxhdGUgPHR5cGVuYW1lIENhbGxiYWNrVHlwZSwgdHlwZW5hbWUgQXJndW1lbnRUeXBlPgorY2xh
c3MgQ2FsbGJhY2tUYXNrIDogcHVibGljIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OlRhc2sgewor
cHVibGljOgorICAgIHN0YXRpYyBQYXNzT3duUHRyPENhbGxiYWNrVGFzaz4gY3JlYXRlKFBhc3NS
ZWZQdHI8Q2FsbGJhY2tUeXBlPiBjYWxsYmFjaywgUGFzc1JlZlB0cjxBcmd1bWVudFR5cGU+IGRh
dGEpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRQdHIobmV3IENhbGxiYWNrVGFzayhjYWxs
YmFjaywgZGF0YSkpOworICAgIH0KKworICAgIHZpcnR1YWwgdm9pZCBwZXJmb3JtVGFzayhTY3Jp
cHRFeGVjdXRpb25Db250ZXh0KikKKyAgICB7CisgICAgICAgIG1fY2FsbGJhY2stPmhhbmRsZUV2
ZW50KG1fZGF0YS5nZXQoKSk7CisgICAgfQorCisgICAgY2xhc3MgU2NoZWR1bGVyIHsKKyAgICBw
dWJsaWM6CisgICAgICAgIGJvb2wgc2NoZWR1bGVDYWxsYmFjayhQYXNzUmVmUHRyPEFyZ3VtZW50
VHlwZT4gZGF0YSkKKyAgICAgICAgeworICAgICAgICAgICAgaWYgKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQqIGNvbnRleHQgPSBzdGF0aWNfY2FzdDxDYWxsYmFja1R5cGUqPih0aGlzKS0+c2NyaXB0
RXhlY3V0aW9uQ29udGV4dCgpKSB7CisgICAgICAgICAgICAgICAgY29udGV4dC0+cG9zdFRhc2so
Q2FsbGJhY2tUYXNrPENhbGxiYWNrVHlwZSwgQXJndW1lbnRUeXBlPjo6Y3JlYXRlKHN0YXRpY19j
YXN0PENhbGxiYWNrVHlwZSo+KHRoaXMpLCBkYXRhKSk7CisgICAgICAgICAgICAgICAgcmV0dXJu
IHRydWU7CisgICAgICAgICAgICB9CisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAg
IH0KKyAgICB9OworCitwcml2YXRlOgorICAgIENhbGxiYWNrVGFzayhQYXNzUmVmUHRyPENhbGxi
YWNrVHlwZT4gY2FsbGJhY2ssIFBhc3NSZWZQdHI8QXJndW1lbnRUeXBlPiBkYXRhKQorICAgICAg
ICA6IG1fY2FsbGJhY2soY2FsbGJhY2spCisgICAgICAgICwgbV9kYXRhKGRhdGEpCisgICAgewor
ICAgIH0KKworICAgIFJlZlB0cjxDYWxsYmFja1R5cGU+IG1fY2FsbGJhY2s7CisgICAgUmVmUHRy
PEFyZ3VtZW50VHlwZT4gbV9kYXRhOworfTsKKworfQorCisjZW5kaWYgLy8gRU5BQkxFKE1FRElB
X1NUUkVBTSkKKworI2VuZGlmIC8vIENhbGxiYWNrVGFza19oCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL05hdmlnYXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRv
ci5jcHAKaW5kZXggNmEyNjdhZDQxNjE5Njk5MDNjODBjYTYzOTQ0MGMzOTFhZjUzMDdlZC4uZDFk
YTdhODE5ZGJmYWIwZWY3MDI5OGI5N2NmYjc4ZjQxOGM4Y2RmYiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2
aWdhdG9yLmNwcApAQCAtMjQyLDQgKzI0MiwxMyBAQCB2b2lkIE5hdmlnYXRvcjo6cmVnaXN0ZXJQ
cm90b2NvbEhhbmRsZXIoY29uc3QgU3RyaW5nJiBzY2hlbWUsIGNvbnN0IFN0cmluZyYgdXJsLAog
fQogI2VuZGlmCiAKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQordm9pZCBOYXZpZ2F0b3I6Ondl
YmtpdEdldFVzZXJNZWRpYShjb25zdCBTdHJpbmcmIG9wdGlvbnMsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFBhc3NSZWZQdHI8TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0Nh
bGxiYWNrPiBzdWNjZXNzQ2FsbGJhY2ssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFBhc3NSZWZQdHI8TmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjaz4gZXJyb3JDYWxs
YmFjaykKK3sKKyAgICAvLyBGSVhNRTogaW1wbGVtZW50IGEgY2FsbCB0byB0aGUgTWVkaWFTdHJl
YW1Db250cm9sbGVyIHdoZW4gaXQncyBhdmFpbGFibGUuCit9CisjZW5kaWYKKwogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3Iu
aCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yLmgKaW5kZXggNjkzYmRlMTNmOTA4MmM0
YWMxNzdmZjU1ZTYzNDQ4YjE2M2EzZjE3Mi4uMmE3ZGNlYTk3MDg2NGNkY2I5OTA4ZTJmOGYxOWY0
Nzg1YmI2MTUyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3IuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvci5oCkBAIC0yMSw2ICsyMSw4IEBACiAj
ZGVmaW5lIE5hdmlnYXRvcl9oCiAKICNpbmNsdWRlICJOYXZpZ2F0b3JCYXNlLmgiCisjaW5jbHVk
ZSAiTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5oIgorI2luY2x1ZGUgIk5hdmlnYXRv
clVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAj
aW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgpA
QCAtNjcsNiArNjksMTEgQEAgcHVibGljOgogICAgIHZvaWQgcmVnaXN0ZXJQcm90b2NvbEhhbmRs
ZXIoY29uc3QgU3RyaW5nJiBzY2hlbWUsIGNvbnN0IFN0cmluZyYgdXJsLCBjb25zdCBTdHJpbmcm
IHRpdGxlLCBFeGNlcHRpb25Db2RlJik7CiAjZW5kaWYKIAorI2lmIEVOQUJMRShNRURJQV9TVFJF
QU0pCisgICAgdmlydHVhbCB2b2lkIHdlYmtpdEdldFVzZXJNZWRpYShjb25zdCBTdHJpbmcmIG9w
dGlvbnMsIFBhc3NSZWZQdHI8TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrPiwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBhc3NSZWZQdHI8TmF2aWdhdG9yVXNl
ck1lZGlhRXJyb3JDYWxsYmFjaz4gPSAwKTsKKyNlbmRpZgorCiBwcml2YXRlOgogICAgIE5hdmln
YXRvcihGcmFtZSopOwogICAgIEZyYW1lKiBtX2ZyYW1lOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9OYXZpZ2F0b3IuaWRsIGIvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3Iu
aWRsCmluZGV4IGJmM2YxMDhlYzkwMjVjMDA4NmJmMjgwZjM4MTkwYzRlOTNhZWQ5N2UuLjY2N2Yx
ZDA3MWIzZTVjZjc5NWMyNDJlZjIxNTczMTAyYzU1NTcxZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvTmF2aWdhdG9yLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmln
YXRvci5pZGwKQEAgLTM3LDcgKzM3LDcgQEAgbW9kdWxlIHdpbmRvdyB7CiAgICAgICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgdmVuZG9yU3ViOwogICAgICAgICByZWFkb25seSBhdHRy
aWJ1dGUgYm9vbGVhbiBjb29raWVFbmFibGVkOwogICAgICAgICBib29sZWFuIGphdmFFbmFibGVk
KCk7Ci0gICAgICAgIAorCiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIG9uTGlu
ZTsKIAogI2lmIGRlZmluZWQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAmJiBFTkFCTEVfR0VPTE9DQVRJ
T04KQEAgLTUyLDYgKzUyLDEyIEBAIG1vZHVsZSB3aW5kb3cgewogICAgICAgICB2b2lkIHJlZ2lz
dGVyUHJvdG9jb2xIYW5kbGVyKGluIERPTVN0cmluZyBzY2hlbWUsIGluIERPTVN0cmluZyB1cmws
IGluIERPTVN0cmluZyB0aXRsZSkKICAgICAgICAgICAgIHJhaXNlcyhEb21FeGNlcHRpb24pOwog
I2VuZGlmCisKKyNpZiBkZWZpbmVkKEVOQUJMRV9NRURJQV9TVFJFQU0pICYmIEVOQUJMRV9NRURJ
QV9TVFJFQU0KKyAgICAgICAgW0N1c3RvbSwgRW5hYmxlZEF0UnVudGltZV0gdm9pZCB3ZWJraXRH
ZXRVc2VyTWVkaWEoaW4gRE9NU3RyaW5nIG9wdGlvbnMsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIFtDYWxsYmFja10gTmF2aWdh
dG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFjaywKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gW0NhbGxi
YWNrLCBPcHRpb25hbF0gTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjayBlcnJvckNhbGxi
YWNrKTsKKyNlbmRpZgogICAgIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdh
dG9yVXNlck1lZGlhRXJyb3IuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xZmYyNmJlOWQ0ZGFhYjI0NmQ4Y2YwY2I1
MzQ1YTVmODc4NDEwNDY4Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9O
YXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5oCkBAIC0wLDAgKzEsNTkgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9u
LgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVz
IG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElT
IiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICog
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
KyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIE5hdmlnYXRv
clVzZXJNZWRpYUVycm9yX2gKKyNkZWZpbmUgTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JfaAorCisj
aW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IgOiBw
dWJsaWMgUmVmQ291bnRlZDxOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvcj4geworcHVibGljOgorICAg
IE5hdmlnYXRvclVzZXJNZWRpYUVycm9yKHVuc2lnbmVkIHNob3J0IGNvZGUpIDogbV9jb2RlKGNv
ZGUpIHsgfQorICAgIHZpcnR1YWwgfk5hdmlnYXRvclVzZXJNZWRpYUVycm9yKCkgeyB9CisKKyAg
ICBlbnVtIHsKKyAgICAgICAgUEVSTUlTU0lPTl9ERU5JRUQgPSAxCisgICAgfTsKKworICAgIHVu
c2lnbmVkIHNob3J0IGNvZGUoKSBjb25zdCB7IHJldHVybiBtX2NvZGU7IH0KKworcHJpdmF0ZToK
KyAgICB1bnNpZ25lZCBzaG9ydCBtX2NvZGU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CisKKyNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFNKQorCisjZW5kaWYgLy8gTmF2aWdhdG9y
VXNlck1lZGlhRXJyb3JfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0
b3JVc2VyTWVkaWFFcnJvci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvclVzZXJN
ZWRpYUVycm9yLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNzU2NjQ4YWI1OTVhNDg3MDg2MzQ5ZWUzYWJiNjNk
NTg5MjEwZjdkCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0
b3JVc2VyTWVkaWFFcnJvci5pZGwKQEAgLTAsMCArMSw0MiBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisg
KiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2Yg
aXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHBy
b2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAor
ICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVD
SUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK21vZHVsZSB3aW5kb3cgeworCisg
ICAgLy8gRklYTUU6IGRlbGV0ZSB0aGlzIGludGVyZmFjZSBhbmQgaW1wbGVtZW50IGEgY3VzdG9t
IGJpbmRpbmcgc2luY2Ugc3BlYyBkZWZpbmVzIGl0IGFzIGEgTm9JbnRlcmZhY2VPYmplY3QuCisg
ICAgaW50ZXJmYWNlIFsKKyAgICAgICAgQ29uZGl0aW9uYWw9TUVESUFfU1RSRUFNCisgICAgXSBO
YXZpZ2F0b3JVc2VyTWVkaWFFcnJvciB7CisgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IFBF
Uk1JU1NJT05fREVOSUVEID0gMTsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVk
IHNob3J0IGNvZGU7CisgICAgfTsKKworfQorCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2suaCBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc1NDgzYjg5
NmZkMDJiYjFiNzdkZTBjMmM0MGY0NmYyOTMxZDczYTcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2suaApAQCAtMCww
ICsxLDU4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6
CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIK
KyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2Yg
R29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUg
dXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlz
IHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFO
RCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJ
R0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI2lmbmRlZiBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrX2gKKyNkZWZp
bmUgTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFja19oCisKKyNpZiBFTkFCTEUoTUVESUFf
U1RSRUFNKQorCisjaW5jbHVkZSAiQWN0aXZlRE9NT2JqZWN0LmgiCisjaW5jbHVkZSAiQ2FsbGJh
Y2tUYXNrLmgiCisjaW5jbHVkZSAiTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuaCIKKyNpbmNsdWRl
IDx3dGYvUmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQ7CisKK2NsYXNzIE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJh
Y2sgOiBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHB1YmxpYyBSZWZDb3VudGVkPE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2Fs
bGJhY2s+LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB1YmxpYyBD
YWxsYmFja1Rhc2s8TmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjaywgTmF2aWdhdG9yVXNl
ck1lZGlhRXJyb3I+OjpTY2hlZHVsZXIgeworcHVibGljOgorICAgIE5hdmlnYXRvclVzZXJNZWRp
YUVycm9yQ2FsbGJhY2soU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCkgOiBBY3RpdmVE
T01PYmplY3QoY29udGV4dCwgdGhpcykgeyB9CisgICAgdmlydHVhbCB+TmF2aWdhdG9yVXNlck1l
ZGlhRXJyb3JDYWxsYmFjaygpIHsgfQorICAgIHZpcnR1YWwgdm9pZCBoYW5kbGVFdmVudChOYXZp
Z2F0b3JVc2VyTWVkaWFFcnJvciopID0gMDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
KworI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0pCisKKyNlbmRpZiAvLyBOYXZpZ2F0b3JV
c2VyTWVkaWFFcnJvckNhbGxiYWNrX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjViMGZhZjJk
MzdlNDQ0NTkzZDgwZTBhNzJlY2ZmNjlmYzAyZmI3MzAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5oCkBAIC0w
LDAgKzEsNTYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1l
dDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
cgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBv
ZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBi
ZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRo
aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
QU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZ
UklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjaWZuZGVmIE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFja19oCisj
ZGVmaW5lIE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFja19oCisKKyNpZiBFTkFCTEUo
TUVESUFfU1RSRUFNKQorCisjaW5jbHVkZSAiQWN0aXZlRE9NT2JqZWN0LmgiCisjaW5jbHVkZSA8
d3RmL1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBTY3JpcHRF
eGVjdXRpb25Db250ZXh0OworCitjbGFzcyBOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJh
Y2sgOiBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgcHVibGljIFJlZkNvdW50ZWQ8TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vz
c0NhbGxiYWNrPiB7CitwdWJsaWM6CisgICAgTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxi
YWNrKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQpIDogQWN0aXZlRE9NT2JqZWN0KGNv
bnRleHQsIHRoaXMpIHsgfQorICAgIHZpcnR1YWwgfk5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3ND
YWxsYmFjaygpIHsgfQorICAgIC8vIEZJWE1FOiBpbXBsZW1lbnQgd2hlbiB0aGUgR2VuZXJhdGVk
U3RyZWFtIGNsYXNzIGlzIGF2YWlsYWJsZS4KKyAgICAvLyB2aXJ0dWFsIHZvaWQgaGFuZGxlRXZl
bnQoR2VuZXJhdGVkU3RyZWFtKikgPSAwOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQor
CisjZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVBTSkKKworI2VuZGlmIC8vIE5hdmlnYXRvclVz
ZXJNZWRpYVN1Y2Nlc3NDYWxsYmFja19oCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>87905</attachid>
            <date>2011-04-01 13:13:12 -0700</date>
            <delta_ts>2011-04-07 07:51:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-56586-20110401211310.patch</filename>
            <type>text/plain</type>
            <size>65310</size>
            <attacher name="Leandro Graciá Gil">leandrogracia</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODI3MTIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBlYjE4MzY0MTBjZjViZmMyOWM5OTZj
NTdjZmQ1MjA4NGE4NzA0Zjc1Li40YTFjMTJhMTFhOWVkYzcyNjJlNTdmMzFlODU0NDA2MmVmNGNl
YmU1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTEtMDQtMDEgIExlYW5kcm8gR3JhY2lhIEdp
bCAgPGxlYW5kcm9ncmFjaWFAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIE1lZGlhIFN0cmVhbSBBUEk6IGFkZCB0aGUgZ2V0VXNl
ck1lZGlhIG1ldGhvZCBhbmQgdGhlIEphdmFzY3JpcHQgYmluZGluZ3MuCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NjU4NgorCisgICAgICAgIFRlc3Qg
dGhlIEphdmFzY3JpcHQgYmVoYXZpb3VyIG9mIHRoZSBnZXRVc2VyTWVkaWEgbWV0aG9kIHdpdGgg
ZGlmZmVyZW50IHR5cGVzIG9mIGFyZ3VtZW50cy4KKyAgICAgICAgQ3VycmVudCBzcGVjaWZpY2F0
aW9uOiBodHRwOi8vd3d3LndoYXR3Zy5vcmcvc3BlY3Mvd2ViLWFwcHMvY3VycmVudC13b3JrL211
bHRpcGFnZS9kbmQuaHRtbCN2aWRlby1jb25mZXJlbmNpbmctYW5kLXBlZXItdG8tcGVlci1jb21t
dW5pY2F0aW9uCisKKyAgICAgICAgKiBmYXN0L2RvbS9NZWRpYVN0cmVhbS9hcmd1bWVudC10eXBl
cy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL01lZGlhU3RyZWFtL2Fy
Z3VtZW50LXR5cGVzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL01lZGlhU3RyZWFt
L3NjcmlwdC10ZXN0cy9hcmd1bWVudC10eXBlcy5qczogQWRkZWQuCisKIDIwMTEtMDQtMDEgIERh
bmllbCBCYXRlcyAgPGRiYXRlc0ByaW0uY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmlu
IEFkbGVyLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vTWVkaWFTdHJlYW0vYXJn
dW1lbnQtdHlwZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vTWVkaWFTdHJl
YW0vYXJndW1lbnQtdHlwZXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ4YzkwMzliOTkyNmM0
ZGFjOThiODhjYmIwZmE0ZDJjMzM5MWZhZjYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9NZWRpYVN0cmVhbS9hcmd1bWVudC10eXBlcy1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSw0NSBAQAorVGVzdHMgdGhlIGFjY2VwdGFibGUgdHlwZXMgZm9yIGFyZ3VtZW50cyB0byBu
YXZpZ2F0b3IuZ2V0VXNlck1lZGlhIG1ldGhvZHMuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworCitQQVNTIG5hdmlnYXRvci53ZWJraXRHZXRVc2VyTWVkaWEoKSB0aHJldyBleGNlcHRp
b24gRXJyb3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00gRXhjZXB0aW9uIDE3LgorUEFTUyBuYXZp
Z2F0b3Iud2Via2l0R2V0VXNlck1lZGlhKHVuZGVmaW5lZCkgdGhyZXcgZXhjZXB0aW9uIEVycm9y
OiBUWVBFX01JU01BVENIX0VSUjogRE9NIEV4Y2VwdGlvbiAxNy4KK1BBU1MgbmF2aWdhdG9yLndl
YmtpdEdldFVzZXJNZWRpYShudWxsKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFRZUEVfTUlTTUFU
Q0hfRVJSOiBET00gRXhjZXB0aW9uIDE3LgorUEFTUyBuYXZpZ2F0b3Iud2Via2l0R2V0VXNlck1l
ZGlhKHt9KSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00gRXhj
ZXB0aW9uIDE3LgorUEFTUyBuYXZpZ2F0b3Iud2Via2l0R2V0VXNlck1lZGlhKG9iamVjdFRocm93
aW5nRXhjZXB0aW9uKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBE
T00gRXhjZXB0aW9uIDE3LgorUEFTUyBuYXZpZ2F0b3Iud2Via2l0R2V0VXNlck1lZGlhKCJ2aWRl
byIpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogVFlQRV9NSVNNQVRDSF9FUlI6IERPTSBFeGNlcHRp
b24gMTcuCitQQVNTIG5hdmlnYXRvci53ZWJraXRHZXRVc2VyTWVkaWEodHJ1ZSkgdGhyZXcgZXhj
ZXB0aW9uIEVycm9yOiBUWVBFX01JU01BVENIX0VSUjogRE9NIEV4Y2VwdGlvbiAxNy4KK1BBU1Mg
bmF2aWdhdG9yLndlYmtpdEdldFVzZXJNZWRpYSg0MikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBU
WVBFX01JU01BVENIX0VSUjogRE9NIEV4Y2VwdGlvbiAxNy4KK1BBU1MgbmF2aWdhdG9yLndlYmtp
dEdldFVzZXJNZWRpYShJbmZpbml0eSkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBUWVBFX01JU01B
VENIX0VSUjogRE9NIEV4Y2VwdGlvbiAxNy4KK1BBU1MgbmF2aWdhdG9yLndlYmtpdEdldFVzZXJN
ZWRpYSgtSW5maW5pdHkpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogVFlQRV9NSVNNQVRDSF9FUlI6
IERPTSBFeGNlcHRpb24gMTcuCitQQVNTIG5hdmlnYXRvci53ZWJraXRHZXRVc2VyTWVkaWEoInZp
ZGVvIiwgZW1wdHlGdW5jdGlvbikgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIG5hdmln
YXRvci53ZWJraXRHZXRVc2VyTWVkaWEodW5kZWZpbmVkLCBlbXB0eUZ1bmN0aW9uKSBkaWQgbm90
IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgbmF2aWdhdG9yLndlYmtpdEdldFVzZXJNZWRpYShudWxs
LCBlbXB0eUZ1bmN0aW9uKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgbmF2aWdhdG9y
LndlYmtpdEdldFVzZXJNZWRpYSh7fSwgZW1wdHlGdW5jdGlvbikgZGlkIG5vdCB0aHJvdyBleGNl
cHRpb24uCitQQVNTIG5hdmlnYXRvci53ZWJraXRHZXRVc2VyTWVkaWEob2JqZWN0VGhyb3dpbmdF
eGNlcHRpb24sIGVtcHR5RnVuY3Rpb24pIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBu
YXZpZ2F0b3Iud2Via2l0R2V0VXNlck1lZGlhKHRydWUsIGVtcHR5RnVuY3Rpb24pIGRpZCBub3Qg
dGhyb3cgZXhjZXB0aW9uLgorUEFTUyBuYXZpZ2F0b3Iud2Via2l0R2V0VXNlck1lZGlhKDQyLCBl
bXB0eUZ1bmN0aW9uKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgbmF2aWdhdG9yLndl
YmtpdEdldFVzZXJNZWRpYShJbmZpbml0eSwgZW1wdHlGdW5jdGlvbikgZGlkIG5vdCB0aHJvdyBl
eGNlcHRpb24uCitQQVNTIG5hdmlnYXRvci53ZWJraXRHZXRVc2VyTWVkaWEoLUluZmluaXR5LCBl
bXB0eUZ1bmN0aW9uKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgbmF2aWdhdG9yLndl
YmtpdEdldFVzZXJNZWRpYSgidmlkZW8iLCB1bmRlZmluZWQpIHRocmV3IGV4Y2VwdGlvbiBFcnJv
cjogVFlQRV9NSVNNQVRDSF9FUlI6IERPTSBFeGNlcHRpb24gMTcuCitQQVNTIG5hdmlnYXRvci53
ZWJraXRHZXRVc2VyTWVkaWEoInZpZGVvIiwgbnVsbCkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBU
WVBFX01JU01BVENIX0VSUjogRE9NIEV4Y2VwdGlvbiAxNy4KK1BBU1MgbmF2aWdhdG9yLndlYmtp
dEdldFVzZXJNZWRpYSgidmlkZW8iLCB7fSkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBUWVBFX01J
U01BVENIX0VSUjogRE9NIEV4Y2VwdGlvbiAxNy4KK1BBU1MgbmF2aWdhdG9yLndlYmtpdEdldFVz
ZXJNZWRpYSgidmlkZW8iLCBvYmplY3RUaHJvd2luZ0V4Y2VwdGlvbikgdGhyZXcgZXhjZXB0aW9u
IEVycm9yOiBUWVBFX01JU01BVENIX0VSUjogRE9NIEV4Y2VwdGlvbiAxNy4KK1BBU1MgbmF2aWdh
dG9yLndlYmtpdEdldFVzZXJNZWRpYSgidmlkZW8iLCB0cnVlKSB0aHJldyBleGNlcHRpb24gRXJy
b3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00gRXhjZXB0aW9uIDE3LgorUEFTUyBuYXZpZ2F0b3Iu
d2Via2l0R2V0VXNlck1lZGlhKCJ2aWRlbyIsIDQyKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFRZ
UEVfTUlTTUFUQ0hfRVJSOiBET00gRXhjZXB0aW9uIDE3LgorUEFTUyBuYXZpZ2F0b3Iud2Via2l0
R2V0VXNlck1lZGlhKCJ2aWRlbyIsIEluZmluaXR5KSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFRZ
UEVfTUlTTUFUQ0hfRVJSOiBET00gRXhjZXB0aW9uIDE3LgorUEFTUyBuYXZpZ2F0b3Iud2Via2l0
R2V0VXNlck1lZGlhKCJ2aWRlbyIsIC1JbmZpbml0eSkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBU
WVBFX01JU01BVENIX0VSUjogRE9NIEV4Y2VwdGlvbiAxNy4KK1BBU1MgbmF2aWdhdG9yLndlYmtp
dEdldFVzZXJNZWRpYSgidmlkZW8iLCBlbXB0eUZ1bmN0aW9uLCBlbXB0eUZ1bmN0aW9uKSBkaWQg
bm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgbmF2aWdhdG9yLndlYmtpdEdldFVzZXJNZWRpYSgi
dmlkZW8iLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9u
LgorUEFTUyBuYXZpZ2F0b3Iud2Via2l0R2V0VXNlck1lZGlhKCJ2aWRlbyIsIGVtcHR5RnVuY3Rp
b24sIG51bGwpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogVFlQRV9NSVNNQVRDSF9FUlI6IERPTSBF
eGNlcHRpb24gMTcuCitQQVNTIG5hdmlnYXRvci53ZWJraXRHZXRVc2VyTWVkaWEoInZpZGVvIiwg
ZW1wdHlGdW5jdGlvbiwge30pIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogVFlQRV9NSVNNQVRDSF9F
UlI6IERPTSBFeGNlcHRpb24gMTcuCitQQVNTIG5hdmlnYXRvci53ZWJraXRHZXRVc2VyTWVkaWEo
InZpZGVvIiwgZW1wdHlGdW5jdGlvbiwgb2JqZWN0VGhyb3dpbmdFeGNlcHRpb24pIHRocmV3IGV4
Y2VwdGlvbiBFcnJvcjogVFlQRV9NSVNNQVRDSF9FUlI6IERPTSBFeGNlcHRpb24gMTcuCitQQVNT
IG5hdmlnYXRvci53ZWJraXRHZXRVc2VyTWVkaWEoInZpZGVvIiwgZW1wdHlGdW5jdGlvbiwgdHJ1
ZSkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBUWVBFX01JU01BVENIX0VSUjogRE9NIEV4Y2VwdGlv
biAxNy4KK1BBU1MgbmF2aWdhdG9yLndlYmtpdEdldFVzZXJNZWRpYSgidmlkZW8iLCBlbXB0eUZ1
bmN0aW9uLCA0MikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBUWVBFX01JU01BVENIX0VSUjogRE9N
IEV4Y2VwdGlvbiAxNy4KK1BBU1MgbmF2aWdhdG9yLndlYmtpdEdldFVzZXJNZWRpYSgidmlkZW8i
LCBlbXB0eUZ1bmN0aW9uLCBJbmZpbml0eSkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBUWVBFX01J
U01BVENIX0VSUjogRE9NIEV4Y2VwdGlvbiAxNy4KK1BBU1MgbmF2aWdhdG9yLndlYmtpdEdldFVz
ZXJNZWRpYSgidmlkZW8iLCBlbXB0eUZ1bmN0aW9uLCAtSW5maW5pdHkpIHRocmV3IGV4Y2VwdGlv
biBFcnJvcjogVFlQRV9NSVNNQVRDSF9FUlI6IERPTSBFeGNlcHRpb24gMTcuCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9kb20vTWVkaWFTdHJlYW0vYXJndW1lbnQtdHlwZXMuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvZG9tL01lZGlhU3RyZWFtL2FyZ3VtZW50LXR5cGVzLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZmVlZmNkM2IxMWM2MzE0NzZlMzA4MDRhZTgwMWE3N2RhNGM5Mzg0NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL01lZGlhU3RyZWFtL2FyZ3VtZW50LXR5cGVzLmh0
bWwKQEAgLTAsMCArMSwxMyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0i
Li4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdCBzcmM9InNjcmlwdC10ZXN0cy9hcmd1bWVudC10eXBlcy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9NZWRpYVN0
cmVhbS9zY3JpcHQtdGVzdHMvYXJndW1lbnQtdHlwZXMuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9NZWRpYVN0cmVhbS9zY3JpcHQtdGVzdHMvYXJndW1lbnQtdHlwZXMuanMKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODYwNTIxNmUwMDdhNjA0MTA2OTEyOTZkOWY4MmE1NWU4ZTA0MjIwYQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL01lZGlhU3RyZWFtL3NjcmlwdC10ZXN0cy9hcmd1bWVu
dC10eXBlcy5qcwpAQCAtMCwwICsxLDc5IEBACitkZXNjcmlwdGlvbigiVGVzdHMgdGhlIGFjY2Vw
dGFibGUgdHlwZXMgZm9yIGFyZ3VtZW50cyB0byBuYXZpZ2F0b3IuZ2V0VXNlck1lZGlhIG1ldGhv
ZHMuIik7CisKK2Z1bmN0aW9uIHNob3VsZE5vdFRocm93KGV4cHJlc3Npb24pCit7CisgIHRyeSB7
CisgICAgZXZhbChleHByZXNzaW9uKTsKKyAgICB0ZXN0UGFzc2VkKGV4cHJlc3Npb24gKyAiIGRp
ZCBub3QgdGhyb3cgZXhjZXB0aW9uLiIpOworICB9IGNhdGNoKGUpIHsKKyAgICB0ZXN0RmFpbGVk
KGV4cHJlc3Npb24gKyAiIHNob3VsZCBub3QgdGhyb3cgZXhjZXB0aW9uLiBUaHJldyBleGNlcHRp
b24gIiArIGUpOworICB9Cit9CisKK2Z1bmN0aW9uIHRlc3QoZXhwcmVzc2lvbiwgZXhwcmVzc2lv
blNob3VsZFRocm93LCBleHBlY3RlZEV4Y2VwdGlvbikgeworICAgIGlmIChleHByZXNzaW9uU2hv
dWxkVGhyb3cpIHsKKyAgICAgICAgaWYgKGV4cGVjdGVkRXhjZXB0aW9uKQorICAgICAgICAgICAg
c2hvdWxkVGhyb3coZXhwcmVzc2lvbiwgJyhmdW5jdGlvbigpIHsgcmV0dXJuICInICsgZXhwZWN0
ZWRFeGNlcHRpb24gKyAnIjsgfSkoKTsnKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgc2hv
dWxkVGhyb3coZXhwcmVzc2lvbiwgJyhmdW5jdGlvbigpIHsgcmV0dXJuICJFcnJvcjogVFlQRV9N
SVNNQVRDSF9FUlI6IERPTSBFeGNlcHRpb24gMTciOyB9KSgpOycpOworICAgIH0gZWxzZSB7Cisg
ICAgICAgIHNob3VsZE5vdFRocm93KGV4cHJlc3Npb24pOworICAgIH0KK30KKwordmFyIGVtcHR5
RnVuY3Rpb24gPSBmdW5jdGlvbigpIHt9OworCitmdW5jdGlvbiBPYmplY3RUaHJvd2luZ0V4Y2Vw
dGlvbigpIHt9OworT2JqZWN0VGhyb3dpbmdFeGNlcHRpb24ucHJvdG90eXBlLnZhbHVlT2YgPSBm
dW5jdGlvbigpIHsKKyAgICB0aHJvdyBuZXcgRXJyb3IoJ3ZhbHVlT2YgdGhyZXcgZXhjZXB0aW9u
Jyk7Cit9Cit2YXIgb2JqZWN0VGhyb3dpbmdFeGNlcHRpb24gPSBuZXcgT2JqZWN0VGhyb3dpbmdF
eGNlcHRpb24oKTsKKworLy8gTm8gYXJndW1lbnRzCit0ZXN0KCduYXZpZ2F0b3Iud2Via2l0R2V0
VXNlck1lZGlhKCknLCB0cnVlKTsKKworLy8gMSBBcmd1bWVudAordGVzdCgnbmF2aWdhdG9yLndl
YmtpdEdldFVzZXJNZWRpYSh1bmRlZmluZWQpJywgdHJ1ZSk7Cit0ZXN0KCduYXZpZ2F0b3Iud2Vi
a2l0R2V0VXNlck1lZGlhKG51bGwpJywgdHJ1ZSk7Cit0ZXN0KCduYXZpZ2F0b3Iud2Via2l0R2V0
VXNlck1lZGlhKHt9KScsIHRydWUpOwordGVzdCgnbmF2aWdhdG9yLndlYmtpdEdldFVzZXJNZWRp
YShvYmplY3RUaHJvd2luZ0V4Y2VwdGlvbiknLCB0cnVlKTsKK3Rlc3QoJ25hdmlnYXRvci53ZWJr
aXRHZXRVc2VyTWVkaWEoInZpZGVvIiknLCB0cnVlKTsKK3Rlc3QoJ25hdmlnYXRvci53ZWJraXRH
ZXRVc2VyTWVkaWEodHJ1ZSknLCB0cnVlKTsKK3Rlc3QoJ25hdmlnYXRvci53ZWJraXRHZXRVc2Vy
TWVkaWEoNDIpJywgdHJ1ZSk7Cit0ZXN0KCduYXZpZ2F0b3Iud2Via2l0R2V0VXNlck1lZGlhKElu
ZmluaXR5KScsIHRydWUpOwordGVzdCgnbmF2aWdhdG9yLndlYmtpdEdldFVzZXJNZWRpYSgtSW5m
aW5pdHkpJywgdHJ1ZSk7CisKKy8vIDIgQXJndW1lbnRzCit0ZXN0KCduYXZpZ2F0b3Iud2Via2l0
R2V0VXNlck1lZGlhKCJ2aWRlbyIsIGVtcHR5RnVuY3Rpb24pJywgZmFsc2UpOworCit0ZXN0KCdu
YXZpZ2F0b3Iud2Via2l0R2V0VXNlck1lZGlhKHVuZGVmaW5lZCwgZW1wdHlGdW5jdGlvbiknLCBm
YWxzZSk7Cit0ZXN0KCduYXZpZ2F0b3Iud2Via2l0R2V0VXNlck1lZGlhKG51bGwsIGVtcHR5RnVu
Y3Rpb24pJywgZmFsc2UpOwordGVzdCgnbmF2aWdhdG9yLndlYmtpdEdldFVzZXJNZWRpYSh7fSwg
ZW1wdHlGdW5jdGlvbiknLCBmYWxzZSk7Cit0ZXN0KCduYXZpZ2F0b3Iud2Via2l0R2V0VXNlck1l
ZGlhKG9iamVjdFRocm93aW5nRXhjZXB0aW9uLCBlbXB0eUZ1bmN0aW9uKScsIGZhbHNlKTsKK3Rl
c3QoJ25hdmlnYXRvci53ZWJraXRHZXRVc2VyTWVkaWEodHJ1ZSwgZW1wdHlGdW5jdGlvbiknLCBm
YWxzZSk7Cit0ZXN0KCduYXZpZ2F0b3Iud2Via2l0R2V0VXNlck1lZGlhKDQyLCBlbXB0eUZ1bmN0
aW9uKScsIGZhbHNlKTsKK3Rlc3QoJ25hdmlnYXRvci53ZWJraXRHZXRVc2VyTWVkaWEoSW5maW5p
dHksIGVtcHR5RnVuY3Rpb24pJywgZmFsc2UpOwordGVzdCgnbmF2aWdhdG9yLndlYmtpdEdldFVz
ZXJNZWRpYSgtSW5maW5pdHksIGVtcHR5RnVuY3Rpb24pJywgZmFsc2UpOworCit0ZXN0KCduYXZp
Z2F0b3Iud2Via2l0R2V0VXNlck1lZGlhKCJ2aWRlbyIsIHVuZGVmaW5lZCknLCB0cnVlKTsKK3Rl
c3QoJ25hdmlnYXRvci53ZWJraXRHZXRVc2VyTWVkaWEoInZpZGVvIiwgbnVsbCknLCB0cnVlKTsK
K3Rlc3QoJ25hdmlnYXRvci53ZWJraXRHZXRVc2VyTWVkaWEoInZpZGVvIiwge30pJywgdHJ1ZSk7
Cit0ZXN0KCduYXZpZ2F0b3Iud2Via2l0R2V0VXNlck1lZGlhKCJ2aWRlbyIsIG9iamVjdFRocm93
aW5nRXhjZXB0aW9uKScsIHRydWUpOwordGVzdCgnbmF2aWdhdG9yLndlYmtpdEdldFVzZXJNZWRp
YSgidmlkZW8iLCB0cnVlKScsIHRydWUpOwordGVzdCgnbmF2aWdhdG9yLndlYmtpdEdldFVzZXJN
ZWRpYSgidmlkZW8iLCA0MiknLCB0cnVlKTsKK3Rlc3QoJ25hdmlnYXRvci53ZWJraXRHZXRVc2Vy
TWVkaWEoInZpZGVvIiwgSW5maW5pdHkpJywgdHJ1ZSk7Cit0ZXN0KCduYXZpZ2F0b3Iud2Via2l0
R2V0VXNlck1lZGlhKCJ2aWRlbyIsIC1JbmZpbml0eSknLCB0cnVlKTsKKworLy8gMyBBcmd1bWVu
dHMKK3Rlc3QoJ25hdmlnYXRvci53ZWJraXRHZXRVc2VyTWVkaWEoInZpZGVvIiwgZW1wdHlGdW5j
dGlvbiwgZW1wdHlGdW5jdGlvbiknLCBmYWxzZSk7Cit0ZXN0KCduYXZpZ2F0b3Iud2Via2l0R2V0
VXNlck1lZGlhKCJ2aWRlbyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCknLCBmYWxzZSk7Cit0
ZXN0KCduYXZpZ2F0b3Iud2Via2l0R2V0VXNlck1lZGlhKCJ2aWRlbyIsIGVtcHR5RnVuY3Rpb24s
IG51bGwpJywgdHJ1ZSk7Cit0ZXN0KCduYXZpZ2F0b3Iud2Via2l0R2V0VXNlck1lZGlhKCJ2aWRl
byIsIGVtcHR5RnVuY3Rpb24sIHt9KScsIHRydWUpOwordGVzdCgnbmF2aWdhdG9yLndlYmtpdEdl
dFVzZXJNZWRpYSgidmlkZW8iLCBlbXB0eUZ1bmN0aW9uLCBvYmplY3RUaHJvd2luZ0V4Y2VwdGlv
biknLCB0cnVlKTsKK3Rlc3QoJ25hdmlnYXRvci53ZWJraXRHZXRVc2VyTWVkaWEoInZpZGVvIiwg
ZW1wdHlGdW5jdGlvbiwgdHJ1ZSknLCB0cnVlKTsKK3Rlc3QoJ25hdmlnYXRvci53ZWJraXRHZXRV
c2VyTWVkaWEoInZpZGVvIiwgZW1wdHlGdW5jdGlvbiwgNDIpJywgdHJ1ZSk7Cit0ZXN0KCduYXZp
Z2F0b3Iud2Via2l0R2V0VXNlck1lZGlhKCJ2aWRlbyIsIGVtcHR5RnVuY3Rpb24sIEluZmluaXR5
KScsIHRydWUpOwordGVzdCgnbmF2aWdhdG9yLndlYmtpdEdldFVzZXJNZWRpYSgidmlkZW8iLCBl
bXB0eUZ1bmN0aW9uLCAtSW5maW5pdHkpJywgdHJ1ZSk7CisKK3dpbmRvdy5qc1Rlc3RJc0FzeW5j
ID0gZmFsc2U7Cit3aW5kb3cuc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0
cy50eHQKaW5kZXggMGFmM2YwYjk1YTZlY2QzZjcwYmYzMTZiMTJlOGEwMDA5MGU3ZGZiYi4uMDNh
MTdlOWQzOWJmZDIyMWVjM2ZmZDI0MjBhNjQxYTgyM2Q3NjczZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50
eHQKQEAgLTE5NDMsNiArMTk0MywxOCBAQCBJRiAoRU5BQkxFX1BST0dSRVNTX1RBRykKICAgICAp
CiBFTkRJRiAoKQogCitJRiAoRU5BQkxFX01FRElBX1NUUkVBTSkKKyAgICBMSVNUKEFQUEVORCBX
ZWJDb3JlX1NPVVJDRVMKKyAgICAgICAgYmluZGluZ3MvanMvSlNOYXZpZ2F0b3JDdXN0b20uY3Bw
CisgICAgKQorCisgICAgTElTVChBUFBFTkQgV2ViQ29yZV9JRExfRklMRVMKKyAgICAgICAgcGFn
ZS9OYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5pZGwKKyAgICAgICAgcGFnZS9OYXZpZ2F0b3JVc2Vy
TWVkaWFFcnJvckNhbGxiYWNrLmlkbAorICAgICAgICBwYWdlL05hdmlnYXRvclVzZXJNZWRpYVN1
Y2Nlc3NDYWxsYmFjay5pZGwKKyAgICApCitFTkRJRiAoKQorCiAKIAogIyBNb2R1bGVzIHRoYXQg
dGhlIGJpbmRpbmdzIGdlbmVyYXRvciBzY3JpcHRzIG1heSB1c2UKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA5ZjM0
OGM5MGY1MTc1MjVjNjYyODBlMDViYTBmNzJlNDY2M2YxYjY3Li44MWU2MzNhZTc2ZTJkMmFhMzcx
MmQxNjE1N2NkNWRiNmU1NTRhNGVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTkgQEAKKzIwMTEt
MDQtMDEgIExlYW5kcm8gR3JhY2lhIEdpbCAgPGxlYW5kcm9ncmFjaWFAY2hyb21pdW0ub3JnPgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1lZGlhIFN0
cmVhbSBBUEk6IGFkZCB0aGUgZ2V0VXNlck1lZGlhIG1ldGhvZCBhbmQgdGhlIEphdmFzY3JpcHQg
YmluZGluZ3MuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD01NjU4NgorCisgICAgICAgIEFkZCB0aGUgZ2V0VXNlck1lZGlhIG1ldGhvZCB0byB0aGUgbmF2
aWdhdG9yIGFuZCBpdHMgbmV3IEphdmFzY3JpcHQgdHlwZXMuCisgICAgICAgIEN1cnJlbnQgc3Bl
Y2lmaWNhdGlvbjogaHR0cDovL3d3dy53aGF0d2cub3JnL3NwZWNzL3dlYi1hcHBzL2N1cnJlbnQt
d29yay9tdWx0aXBhZ2UvZG5kLmh0bWwjdmlkZW8tY29uZmVyZW5jaW5nLWFuZC1wZWVyLXRvLXBl
ZXItY29tbXVuaWNhdGlvbgorCisgICAgICAgIFRlc3Q6IGZhc3QvZG9tL01lZGlhU3RyZWFtL2Fy
Z3VtZW50LXR5cGVzLmh0bWwKKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAq
IENvZGVHZW5lcmF0b3JzLnByaToKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5jcHA6CisgICAg
ICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbToKKyAg
ICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogV2ViQ29yZS5wcm86CisgICAgICAgICog
V2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6CisgICAgICAgICogV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTTmF2aWdhdG9yQ3Vz
dG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZU5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nl
c3NDYWxsYmFjayk6CisgICAgICAgIChXZWJDb3JlOjpjcmVhdGVOYXZpZ2F0b3JVc2VyTWVkaWFF
cnJvckNhbGxiYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OkpTTmF2aWdhdG9yOjp3ZWJraXRHZXRV
c2VyTWVkaWEpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOE5hdmlnYXRvckN1c3Rv
bS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6dGhyb3dUeXBlTWlzbWF0Y2hFeGNlcHRp
b24pOgorICAgICAgICAoV2ViQ29yZTo6Y3JlYXRlTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0Nh
bGxiYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZU5hdmlnYXRvclVzZXJNZWRpYUVycm9y
Q2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6VjhOYXZpZ2F0b3I6OndlYmtpdEdldFVzZXJN
ZWRpYUNhbGxiYWNrKToKKyAgICAgICAgKiBwYWdlL0NhbGxiYWNrVGFzay5oOiBBZGRlZC4KKyAg
ICAgICAgKFdlYkNvcmU6OkNhbGxiYWNrVGFzazE6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3Jl
OjpDYWxsYmFja1Rhc2sxOjpwZXJmb3JtVGFzayk6CisgICAgICAgIChXZWJDb3JlOjpDYWxsYmFj
a1Rhc2sxOjpTY2hlZHVsZXI6OnNjaGVkdWxlQ2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6
Q2FsbGJhY2tUYXNrMTo6Q2FsbGJhY2tUYXNrMSk6CisgICAgICAgIChXZWJDb3JlOjpDYWxsYmFj
a1Rhc2syOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6Q2FsbGJhY2tUYXNrMjo6cGVyZm9y
bVRhc2spOgorICAgICAgICAoV2ViQ29yZTo6Q2FsbGJhY2tUYXNrMjo6U2NoZWR1bGVyOjpzY2hl
ZHVsZUNhbGxiYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OkNhbGxiYWNrVGFzazI6OkNhbGxiYWNr
VGFzazIpOgorICAgICAgICAqIHBhZ2UvTmF2aWdhdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
Ok5hdmlnYXRvcjo6ZGlzY29ubmVjdEZyYW1lKToKKyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRv
cjo6d2Via2l0R2V0VXNlck1lZGlhKToKKyAgICAgICAgKiBwYWdlL05hdmlnYXRvci5oOgorICAg
ICAgICAqIHBhZ2UvTmF2aWdhdG9yLmlkbDoKKyAgICAgICAgKiBwYWdlL05hdmlnYXRvclVzZXJN
ZWRpYUVycm9yLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdG9yVXNlck1lZGlh
RXJyb3I6Ok5hdmlnYXRvclVzZXJNZWRpYUVycm9yKToKKyAgICAgICAgKFdlYkNvcmU6Ok5hdmln
YXRvclVzZXJNZWRpYUVycm9yOjp+TmF2aWdhdG9yVXNlck1lZGlhRXJyb3IpOgorICAgICAgICAo
V2ViQ29yZTo6TmF2aWdhdG9yVXNlck1lZGlhRXJyb3I6OmNvZGUpOgorICAgICAgICAqIHBhZ2Uv
TmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBwYWdlL05hdmln
YXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2suaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpO
YXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrOjp+TmF2aWdhdG9yVXNlck1lZGlhRXJyb3JD
YWxsYmFjayk6CisgICAgICAgICogcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNr
LmlkbDogQWRkZWQuCisgICAgICAgICogcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2Fs
bGJhY2suaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0b3JVc2VyTWVkaWFTdWNj
ZXNzQ2FsbGJhY2s6On5OYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2spOgorICAgICAg
ICAqIHBhZ2UvTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmlkbDogQWRkZWQuCisK
IDIwMTEtMDQtMDEgIERhbmllbCBCYXRlcyAgPGRiYXRlc0ByaW0uY29tPgogCiAgICAgICAgIFJl
dmlld2VkIGJ5IERhcmluIEFkbGVyLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ29kZUdl
bmVyYXRvcnMucHJpIGIvU291cmNlL1dlYkNvcmUvQ29kZUdlbmVyYXRvcnMucHJpCmluZGV4IDJm
ODlhNWQwYjc4OWZjMTY2MTQ3MGI0YmQ2YmNhMzNlZmUxNGY5ZDIuLjVmNjIxMWU2MDlhMzVmODU3
OGUzMWZmMTc4NWEzMjg0YTU1N2I4NGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NvZGVH
ZW5lcmF0b3JzLnByaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9Db2RlR2VuZXJhdG9ycy5wcmkKQEAg
LTMyNiw2ICszMjYsOSBAQCBJRExfQklORElOR1MgKz0gXAogICAgIHBhZ2UvTG9jYXRpb24uaWRs
IFwKICAgICBwYWdlL01lbW9yeUluZm8uaWRsIFwKICAgICBwYWdlL05hdmlnYXRvci5pZGwgXAor
ICAgIHBhZ2UvTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuaWRsIFwKKyAgICBwYWdlL05hdmlnYXRv
clVzZXJNZWRpYUVycm9yQ2FsbGJhY2suaWRsIFwKKyAgICBwYWdlL05hdmlnYXRvclVzZXJNZWRp
YVN1Y2Nlc3NDYWxsYmFjay5pZGwgXAogICAgIHBhZ2UvUGVyZm9ybWFuY2UuaWRsIFwKICAgICBw
YWdlL1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5pZGwgXAogICAgIHBhZ2UvUGVyZm9ybWFuY2VUaW1p
bmcuaWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcAppbmRleCAyNDAyMmY3NGVmNmI4ODIz
N2FlYmZiZTU5ODA4YzNiYTQ3N2JmZTgyLi4yY2FlODBjM2UyNjI3MDYyZmVhZTgyY2VlOGJhYmJh
YWIxMDgwNjZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCkBAIC0yNDUsNiArMjQ1LDkg
QEAKICNpbmNsdWRlICJKU011dGF0aW9uRXZlbnQuY3BwIgogI2luY2x1ZGUgIkpTTmFtZWROb2Rl
TWFwLmNwcCIKICNpbmNsdWRlICJKU05hdmlnYXRvci5jcHAiCisjaW5jbHVkZSAiSlNOYXZpZ2F0
b3JVc2VyTWVkaWFFcnJvci5jcHAiCisjaW5jbHVkZSAiSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJv
ckNhbGxiYWNrLmNwcCIKKyNpbmNsdWRlICJKU05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxs
YmFjay5jcHAiCiAjaW5jbHVkZSAiSlNOb2RlLmNwcCIKICNpbmNsdWRlICJKU05vZGVGaWx0ZXIu
Y3BwIgogI2luY2x1ZGUgIkpTTm9kZUl0ZXJhdG9yLmNwcCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNl
cy5tYWtlCmluZGV4IDM1YTY1OTk4MTZlZmJhMzNlOWJhMDBmZmNkY2QzNzBlNjVhNWUxZGEuLjVk
MzVjZjZmMGIyYmI5MjBmMTBiMmVmMzE3NDllZjA5MzQ1ZGJkZjEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZl
ZFNvdXJjZXMubWFrZQpAQCAtMzA3LDYgKzMwNyw5IEBAIERPTV9DTEFTU0VTID0gXAogICAgIE11
dGF0aW9uRXZlbnQgXAogICAgIE5hbWVkTm9kZU1hcCBcCiAgICAgTmF2aWdhdG9yIFwKKyAgICBO
YXZpZ2F0b3JVc2VyTWVkaWFFcnJvciBcCisgICAgTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxs
YmFjayBcCisgICAgTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrIFwKICAgICBOb2Rl
IFwKICAgICBOb2RlRmlsdGVyIFwKICAgICBOb2RlSXRlcmF0b3IgXApAQCAtNzcyLDYgKzc3NSwx
MCBAQCBpZmVxICgkKGZpbmRzdHJpbmcgRU5BQkxFX1ZJREVPLCQoRkVBVFVSRV9ERUZJTkVTKSks
IEVOQUJMRV9WSURFTykKICAgICBIVE1MX0ZMQUdTIDo9ICQoSFRNTF9GTEFHUykgRU5BQkxFX1ZJ
REVPPTEKIGVuZGlmCiAKK2lmZXEgKCQoZmluZHN0cmluZyBFTkFCTEVfTUVESUFfU1RSRUFNLCQo
RkVBVFVSRV9ERUZJTkVTKSksIEVOQUJMRV9NRURJQV9TVFJFQU0pCisgICAgSFRNTF9GTEFHUyA6
PSAkKEhUTUxfRkxBR1MpIEVOQUJMRV9NRURJQV9TVFJFQU09MQorZW5kaWYKKwogaWZkZWYgSFRN
TF9GTEFHUwogCiBIVE1MRWxlbWVudEZhY3RvcnkuY3BwIEhUTUxOYW1lcy5jcHAgOiBkb20vbWFr
ZV9uYW1lcy5wbCBodG1sL0hUTUxUYWdOYW1lcy5pbiBodG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5p
bgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0gYi9Tb3VyY2UvV2Vi
Q29yZS9HTlVtYWtlZmlsZS5hbQppbmRleCA5OWQ2ODQxZWY1YTIwZTgxNzlhYTU2ZWMwMzUwNGE2
M2UwZTc1NTdlLi41ZTFjMmU5OGJkZGRiOGIyZDViZGMwMzZkMTdiZmRmYzUxZDBhZTg0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9HTlVtYWtlZmlsZS5hbQpAQCAtNDcwLDYgKzQ3MCwxMiBAQCB3ZWJjb3JlX2J1aWx0X3NvdXJj
ZXMgKz0gXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOYW1lZE5vZGVNYXAuaCBcCiAJRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU05hdmlnYXRvci5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNOYXZpZ2F0b3IuaCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05hdmlnYXRv
clVzZXJNZWRpYUVycm9yLmNwcCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05hdmlnYXRv
clVzZXJNZWRpYUVycm9yLmggXAorCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOYXZpZ2F0b3JV
c2VyTWVkaWFFcnJvckNhbGxiYWNrLmNwcCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05h
dmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2suaCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5jcHAgXAorCURlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suaCBcCiAJRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU05vZGUuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTTm9kZUZpbHRlci5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOb2RlRmlsdGVy
LmggXApAQCAtMjIxOSw2ICsyMjI1LDcgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2Uv
V2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9LZXlmcmFtZUFuaW1hdGlvbi5oIFwKIAlTb3VyY2UvV2Vi
Q29yZS9wYWdlL0JhckluZm8uY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9wYWdlL0JhckluZm8uaCBc
CisJU291cmNlL1dlYkNvcmUvcGFnZS9DYWxsYmFja1Rhc2suaCBcCiAJU291cmNlL1dlYkNvcmUv
cGFnZS9DaHJvbWUuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5oIFwKIAlTb3Vy
Y2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oIFwKQEAgLTIyODYsNiArMjI5Myw5IEBAIHdl
YmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3IuaCBcCiAJ
U291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3JCYXNlLmNwcCBcCiAJU291cmNlL1dlYkNvcmUv
cGFnZS9OYXZpZ2F0b3JCYXNlLmggXAorCVNvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yVXNl
ck1lZGlhRXJyb3IuaCBcCisJU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFF
cnJvckNhbGxiYWNrLmggXAorCVNvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yVXNlck1lZGlh
U3VjY2Vzc0NhbGxiYWNrLmggXAogCVNvdXJjZS9XZWJDb3JlL3BhZ2UvT3JpZ2luQWNjZXNzRW50
cnkuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9wYWdlL09yaWdpbkFjY2Vzc0VudHJ5LmggXAogCVNv
dXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAgXApAQCAtNDIxOSw2ICs0MjI5LDE2IEBAIHdlYmNv
cmVfY3BwZmxhZ3MgKz0gLURFTkFCTEVfSU5QVVRfU1BFRUNIPTAKIGVuZGlmICMgRU5EIEVOQUJM
RV9JTlBVVF9TUEVFQ0gKIAogIyAtLS0tCisjIE1lZGlhIFN0cmVhbSBBUEkgc3VwcG9ydAorIyAt
LS0tCitpZiBFTkFCTEVfTUVESUFfU1RSRUFNCitGRUFUVVJFX0RFRklORVMgKz0gRU5BQkxFX01F
RElBX1NUUkVBTT0xCit3ZWJjb3JlX2NwcGZsYWdzICs9IC1ERU5BQkxFX01FRElBX1NUUkVBTT0x
CitlbHNlCit3ZWJjb3JlX2NwcGZsYWdzICs9IC1ERU5BQkxFX01FRElBX1NUUkVBTT0wCitlbmRp
ZiAjIEVORCBFTkFCTEVfTUVESUFfU1RSRUFNCisKKyMgLS0tLQogIyBJY29uIERhdGFiYXNlIFN1
cHBvcnQKICMgLS0tLQogaWYgRU5BQkxFX0lDT05EQVRBQkFTRQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4
IDZmZDI1MWY0MDQ5Mzc4ZWZjOWU1NDNlMDYzNzhmY2EyMmU4NmVjMjYuLjUxM2UyM2IwMGQ2NTEy
MjUxYTk3NGI2NmM0ZGJhNDZkYzYwZjNiMmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTEzMjEsNiAr
MTMyMSw5IEBACiAgICAgICAgICAgICAncGFnZS9Mb2NhdGlvbi5pZGwnLAogICAgICAgICAgICAg
J3BhZ2UvTWVtb3J5SW5mby5pZGwnLAogICAgICAgICAgICAgJ3BhZ2UvTmF2aWdhdG9yLmlkbCcs
CisgICAgICAgICAgICAncGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5pZGwnLAorICAgICAg
ICAgICAgJ3BhZ2UvTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5pZGwnLAorICAgICAg
ICAgICAgJ3BhZ2UvTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmlkbCcsCiAgICAg
ICAgICAgICAncGFnZS9QZXJmb3JtYW5jZS5pZGwnLAogICAgICAgICAgICAgJ3BhZ2UvUGVyZm9y
bWFuY2VOYXZpZ2F0aW9uLmlkbCcsCiAgICAgICAgICAgICAncGFnZS9QZXJmb3JtYW5jZVRpbWlu
Zy5pZGwnLApAQCAtMjExOSw2ICsyMTIyLDcgQEAKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9j
dXN0b20vVjhOYW1lZE5vZGVNYXBDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92
OC9jdXN0b20vVjhOYW1lZE5vZGVzQ29sbGVjdGlvbi5jcHAnLAogICAgICAgICAgICAgJ2JpbmRp
bmdzL3Y4L2N1c3RvbS9WOE5hbWVkTm9kZXNDb2xsZWN0aW9uLmgnLAorICAgICAgICAgICAgJ2Jp
bmRpbmdzL3Y4L2N1c3RvbS9WOE5hdmlnYXRvckN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2Jp
bmRpbmdzL3Y4L2N1c3RvbS9WOE5vZGVDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5n
cy92OC9jdXN0b20vVjhOb2RlTGlzdEN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdz
L3Y4L2N1c3RvbS9WOE5vdGlmaWNhdGlvbkNlbnRlckN1c3RvbS5jcHAnLApAQCAtMzM1Nyw2ICsz
MzYxLDcgQEAKICAgICAgICAgICAgICdub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNvbnRlbnRz
LmgnLAogICAgICAgICAgICAgJ3BhZ2UvQmFySW5mby5jcHAnLAogICAgICAgICAgICAgJ3BhZ2Uv
QmFySW5mby5oJywKKyAgICAgICAgICAgICdwYWdlL0NhbGxiYWNrVGFzay5oJywKICAgICAgICAg
ICAgICdwYWdlL0Nocm9tZS5jcHAnLAogICAgICAgICAgICAgJ3BhZ2UvQ29uc29sZS5jcHAnLAog
ICAgICAgICAgICAgJ3BhZ2UvQ29udGVudFNlY3VyaXR5UG9saWN5LmNwcCcsCkBAIC0zMzk0LDYg
KzMzOTksOSBAQAogICAgICAgICAgICAgJ3BhZ2UvTmF2aWdhdG9yLmgnLAogICAgICAgICAgICAg
J3BhZ2UvTmF2aWdhdG9yQmFzZS5jcHAnLAogICAgICAgICAgICAgJ3BhZ2UvTmF2aWdhdG9yQmFz
ZS5oJywKKyAgICAgICAgICAgICdwYWdlL05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmgnLAorICAg
ICAgICAgICAgJ3BhZ2UvTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5oJywKKyAgICAg
ICAgICAgICdwYWdlL05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5oJywKICAgICAg
ICAgICAgICdwYWdlL09yaWdpbkFjY2Vzc0VudHJ5LmNwcCcsCiAgICAgICAgICAgICAncGFnZS9P
cmlnaW5BY2Nlc3NFbnRyeS5oJywKICAgICAgICAgICAgICdwYWdlL1BhZ2UuY3BwJywKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS5wcm8KaW5kZXggMmFjOTE3YWI1ZDI5ZGU0MGIzOWFhN2NmZjY0ZmZiMDcyMzc1NzI1ZC4uNmQ0
YjM2ZWYyODE5OTA0MDg3OGMyMTQ4YmQ2MWQxOTkyMDE1MTYxZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS5wcm8KKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5wcm8KQEAg
LTMxMTIsNiArMzExMiwyMCBAQCBjb250YWlucyhERUZJTkVTLCBFTkFCTEVfR0VPTE9DQVRJT049
MSkgewogICAgIH0KIH0KIAorY29udGFpbnMoREVGSU5FUywgRU5BQkxFX01FRElBX1NUUkVBTT0x
KSB7CisgICAgSEVBREVSUyArPSBcCisgICAgICAgIHBhZ2UvQ2FsbGJhY2tUYXNrLmggXAorICAg
ICAgICBwYWdlL05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmggXAorICAgICAgICBwYWdlL05hdmln
YXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2suaCBcCisgICAgICAgIHBhZ2UvTmF2aWdhdG9yVXNl
ck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmgKKworICAgIHY4IHsKKyAgICAgICAgU09VUkNFUyArPSBc
CisgICAgICAgICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhOYXZpZ2F0b3JDdXN0b20uY3BwCisK
KyAgICB9Cit9CisKIGNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9TVkc9MSkgewogICAgICF2OCB7
CiAgICAgICAgIFNPVVJDRVMgKz0gXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9X
ZWJDb3JlLnZjcHJvagppbmRleCBiYTA0OThmOTYwYzIyNTIwZTQ2Nzc0ZTU0NTAwYjE2MmMwODBh
NmEyLi4yM2VkYTc5MzFkZjYxMDUyZDdiYTk4NWY5NzNkMDI5MGZhYzhkZmYzIDEwMDc1NQotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagpAQCAtMTE4NzgsNiArMTE4
NzgsMTc0IEBACiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9
IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJj
ZXNcSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5jcHAiCisJCQkJPgorCQkJCTxGaWxlQ29uZmln
dXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9
InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wi
CisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRp
b24KKwkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRy
dWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJ
CQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24K
KwkJCQkJTmFtZT0iRGVidWdfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21C
dWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVy
VG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmln
dXJhdGlvbgorCQkJCQlOYW1lPSJSZWxlYXNlX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJRXhj
bHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZD
Q0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8
RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWdfQWxsfFdpbjMyIgorCQkJCQlFeGNs
dWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkND
TENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxG
aWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJQcm9kdWN0aW9ufFdpbjMyIgorCQkJCQlFeGNs
dWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkND
TENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJPC9G
aWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGly
KVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNOYXZpZ2F0b3JVc2VyTWVkaWFF
cnJvci5oIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIk
KENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2Vz
XEpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5jcHAiCisJCQkJPgorCQkJCTxGaWxl
Q29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9t
QnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxl
clRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZp
Z3VyYXRpb24KKwkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVp
bGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRv
b2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3Vy
YXRpb24KKwkJCQkJTmFtZT0iRGVidWdfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQlFeGNsdWRl
ZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENv
bXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxl
Q29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJSZWxlYXNlX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJ
CQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5h
bWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4K
KwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWdfQWxsfFdpbjMyIgorCQkJ
CQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFt
ZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgor
CQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJQcm9kdWN0aW9ufFdpbjMyIgorCQkJ
CQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFt
ZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgor
CQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1
aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNOYXZpZ2F0b3JVc2Vy
TWVkaWFFcnJvckNhbGxiYWNrLmgiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlS
ZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlc
RGVyaXZlZFNvdXJjZXNcSlNOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suY3BwIgor
CQkJCT4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWd8V2luMzIiCisJ
CQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlO
YW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+
CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiCisJCQkJ
CUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1l
PSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJ
CQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVnX0NhaXJvX0NGTGl0ZXxXaW4z
MiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJ
CQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJh
dGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUmVsZWFzZV9DYWlyb19D
RkxpdGV8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJ
CTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmls
ZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVn
X0FsbHxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJ
PFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxl
Q29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUHJvZHVj
dGlvbnxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJ
PFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxl
Q29uZmlndXJhdGlvbj4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIk
KENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2Vz
XEpTTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmgiCisJCQkJPgorCQkJPC9GaWxl
PgorCQkJPEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxv
YmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNOb2RlLmNwcCIKIAkJCQk+CiAJCQkJ
PEZpbGVDb25maWd1cmF0aW9uCkBAIC0yNDU5NCw2ICsyNDc2MiwxMCBAQAogCQkJCT4KIAkJCTwv
RmlsZT4KIAkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxwYWdlXENhbGxiYWNrVGFzay5o
IgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxwYWdl
XENocm9tZS5jcHAiCiAJCQkJPgogCQkJPC9GaWxlPgpAQCAtMjQ4ODIsNiArMjUwNTQsMTggQEAK
IAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGFnZVxO
YXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5oIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJ
CQkJUmVsYXRpdmVQYXRoPSIuLlxwYWdlXE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2su
aCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGFn
ZVxOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suaCIKKwkJCQk+CisJCQk8L0ZpbGU+
CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGFnZVxPcmlnaW5BY2Nlc3NFbnRyeS5j
cHAiCiAJCQkJPgogCQkJPC9GaWxlPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDZjOTllYzFmYzI4ZWM3NGFmNjJhMWRmMDkxZjM2
NTJmZDY0YTVmNGQuLmU2M2Q1NDc0YTgwMWE2ZTI1ODIzMzJhOTRhNTdjY2Y1NDE5ZTY4MTEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
QEAgLTQwODksNiArNDA4OSwxNiBAQAogCQlCMDE0OUU3RTExQTRCMjE1MDAxOTZBN0IgLyogQXN5
bmNJbWFnZVJlc2l6ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEIwMTQ5RTdBMTFBNEIyMTUwMDE5NkE3QiAvKiBBc3luY0ltYWdlUmVzaXplci5oICov
OyB9OwogCQlCMDE0OUU3RjExQTRCMjE1MDAxOTZBN0IgLyogSW1hZ2VSZXNpemVyVGhyZWFkLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIwMTQ5RTdC
MTFBNEIyMTUwMDE5NkE3QiAvKiBJbWFnZVJlc2l6ZXJUaHJlYWQuY3BwICovOyB9OwogCQlCMDE0
OUU4MDExQTRCMjE1MDAxOTZBN0IgLyogSW1hZ2VSZXNpemVyVGhyZWFkLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMDE0OUU3QzExQTRCMjE1MDAxOTZB
N0IgLyogSW1hZ2VSZXNpemVyVGhyZWFkLmggKi87IH07CisJCUIxRTU0NTkzMTM0NjI5QzEwMDky
QTU0NSAvKiBDYWxsYmFja1Rhc2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEIxRTU0NTg3MTM0NjI5QzEwMDkyQTU0NSAvKiBDYWxsYmFja1Rhc2suaCAq
LzsgfTsKKwkJQjFFNTQ1OTkxMzQ2MjlDMTAwOTJBNTQ1IC8qIE5hdmlnYXRvclVzZXJNZWRpYUVy
cm9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMUU1
NDU4RDEzNDYyOUMxMDA5MkE1NDUgLyogTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuaCAqLzsgfTsK
KwkJQjFFNTQ1OUIxMzQ2MjlDMTAwOTJBNTQ1IC8qIE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2Fs
bGJhY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIx
RTU0NThGMTM0NjI5QzEwMDkyQTU0NSAvKiBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNr
LmggKi87IH07CisJCUIxRTU0NTlEMTM0NjI5QzEwMDkyQTU0NSAvKiBOYXZpZ2F0b3JVc2VyTWVk
aWFTdWNjZXNzQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEIxRTU0NTkxMTM0NjI5QzEwMDkyQTU0NSAvKiBOYXZpZ2F0b3JVc2VyTWVkaWFT
dWNjZXNzQ2FsbGJhY2suaCAqLzsgfTsKKwkJQjFFNTQ1REYxMzQ2MkIwQjAwOTJBNTQ1IC8qIEpT
TmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQjFFNTQ1RDExMzQ2MkIwQjAwOTJBNTQ1IC8qIEpTTmF2aWdhdG9y
VXNlck1lZGlhRXJyb3IuY3BwICovOyB9OworCQlCMUU1NDVFMDEzNDYyQjBCMDA5MkE1NDUgLyog
SlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQjFFNTQ1RDIxMzQ2MkIwQjAwOTJBNTQ1IC8qIEpTTmF2aWdhdG9y
VXNlck1lZGlhRXJyb3IuaCAqLzsgfTsKKwkJQjFFNTQ1RTExMzQ2MkIwQjAwOTJBNTQ1IC8qIEpT
TmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMUU1NDVEMzEzNDYyQjBCMDA5MkE1NDUgLyogSlNO
YXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmNwcCAqLzsgfTsKKwkJQjFFNTQ1RTIxMzQ2
MkIwQjAwOTJBNTQ1IC8qIEpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjFFNTQ1RDQxMzQ2MkIw
QjAwOTJBNTQ1IC8qIEpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5oICovOyB9Owor
CQlCMUU1NDVFMzEzNDYyQjBCMDA5MkE1NDUgLyogSlNOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNz
Q2FsbGJhY2suY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQjFFNTQ1RDUxMzQ2MkIwQjAwOTJBNTQ1IC8qIEpTTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vz
c0NhbGxiYWNrLmNwcCAqLzsgfTsKKwkJQjFFNTQ1RTQxMzQ2MkIwQjAwOTJBNTQ1IC8qIEpTTmF2
aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMUU1NDVENjEzNDYyQjBCMDA5MkE1NDUgLyogSlNOYXZp
Z2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suaCAqLzsgfTsKIAkJQjIwMTExMDcwQUI3NzQw
NTAwREIwRTY4IC8qIEpTU1ZHQUVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQjIwMTExMDUwQUI3NzQwNTAwREIwRTY4IC8qIEpTU1ZHQUVs
ZW1lbnQuY3BwICovOyB9OwogCQlCMjAxMTEwODBBQjc3NDA1MDBEQjBFNjggLyogSlNTVkdBRWxl
bWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjIw
MTExMDYwQUI3NzQwNTAwREIwRTY4IC8qIEpTU1ZHQUVsZW1lbnQuaCAqLzsgfTsKIAkJQjIyMjc5
NjIwRDAwQkYyMjAwNzFCNzgyIC8qIENvbG9yRGlzdGFuY2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjIyMjc3Q0IwRDAwQkYxRjAwNzFCNzgyIC8q
IENvbG9yRGlzdGFuY2UuY3BwICovOyB9OwpAQCAtMTAzNDgsNiArMTAzNTgsMTkgQEAKIAkJQjAx
NDlFN0ExMUE0QjIxNTAwMTk2QTdCIC8qIEFzeW5jSW1hZ2VSZXNpemVyLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFzeW5jSW1hZ2VSZXNpemVyLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUIwMTQ5RTdCMTFBNEIyMTUwMDE5NkE3QiAvKiBJbWFnZVJlc2l6ZXJU
aHJlYWQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSW1hZ2VSZXNp
emVyVGhyZWFkLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjAxNDlFN0MxMUE0
QjIxNTAwMTk2QTdCIC8qIEltYWdlUmVzaXplclRocmVhZC5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBJbWFnZVJlc2l6ZXJUaHJlYWQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJQjFFNTQ1ODcxMzQ2MjlDMTAwOTJBNTQ1IC8qIENhbGxiYWNrVGFzay5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDYWxsYmFja1Rhc2suaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJQjFFNTQ1OEQxMzQ2MjlDMTAwOTJBNTQ1IC8qIE5hdmlnYXRvclVz
ZXJNZWRpYUVycm9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5hdmlnYXRv
clVzZXJNZWRpYUVycm9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIxRTU0NThF
MTM0NjI5QzEwMDkyQTU0NSAvKiBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5pZGwgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSB0ZXh0OyBwYXRoID0gTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuaWRsOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQlCMUU1NDU4RjEzNDYyOUMxMDA5MkE1NDUgLyogTmF2aWdhdG9yVXNl
ck1lZGlhRXJyb3JDYWxsYmFjay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBO
YXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCUIxRTU0NTkwMTM0NjI5QzEwMDkyQTU0NSAvKiBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJv
ckNhbGxiYWNrLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBOYXZpZ2F0b3JVc2VyTWVkaWFF
cnJvckNhbGxiYWNrLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjFFNTQ1OTEx
MzQ2MjlDMTAwOTJBNTQ1IC8qIE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNz
Q2FsbGJhY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjFFNTQ1OTIxMzQ2MjlD
MTAwOTJBNTQ1IC8qIE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5pZGwgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSB0ZXh0OyBwYXRoID0gTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmlkbDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjFFNTQ1RDExMzQ2MkIwQjAwOTJBNTQ1IC8q
IEpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCUIxRTU0NUQyMTM0NjJCMEIwMDkyQTU0NSAvKiBKU05hdmlnYXRvclVz
ZXJNZWRpYUVycm9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTTmF2aWdh
dG9yVXNlck1lZGlhRXJyb3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjFFNTQ1
RDMxMzQ2MkIwQjAwOTJBNTQ1IC8qIEpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU05hdmlnYXRvclVzZXJN
ZWRpYUVycm9yQ2FsbGJhY2suY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCMUU1
NDVENDEzNDYyQjBCMDA5MkE1NDUgLyogSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNr
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTTmF2aWdhdG9yVXNlck1lZGlh
RXJyb3JDYWxsYmFjay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCMUU1NDVENTEz
NDYyQjBCMDA5MkE1NDUgLyogSlNOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNOYXZpZ2F0b3JVc2VyTWVk
aWFTdWNjZXNzQ2FsbGJhY2suY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCMUU1
NDVENjEzNDYyQjBCMDA5MkE1NDUgLyogSlNOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJh
Y2suaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNOYXZpZ2F0b3JVc2VyTWVk
aWFTdWNjZXNzQ2FsbGJhY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjIwMTEx
MDUwQUI3NzQwNTAwREIwRTY4IC8qIEpTU1ZHQUVsZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTU1ZHQUVsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlCMjAxMTEwNjBBQjc3NDA1MDBEQjBFNjggLyogSlNTVkdBRWxlbWVudC5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNTVkdBRWxlbWVudC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCMjIyNzdDQjBEMDBCRjFGMDA3MUI3ODIgLyogQ29s
b3JEaXN0YW5jZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ29s
b3JEaXN0YW5jZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNDE0OSw2ICsx
NDE3Miw3IEBACiAJCQkJQkMxMjRFRTQwQzI2NDFDRDAwOUUyMzQ5IC8qIEJhckluZm8uY3BwICov
LAogCQkJCUJDMTI0RUU1MEMyNjQxQ0QwMDlFMjM0OSAvKiBCYXJJbmZvLmggKi8sCiAJCQkJQkMx
MjRFRTYwQzI2NDFDRDAwOUUyMzQ5IC8qIEJhckluZm8uaWRsICovLAorCQkJCUIxRTU0NTg3MTM0
NjI5QzEwMDkyQTU0NSAvKiBDYWxsYmFja1Rhc2suaCAqLywKIAkJCQkxNEQ4MjM4QTBBRjkyREY2
MDAwNEYwNTcgLyogQ2hyb21lLmNwcCAqLywKIAkJCQkxNEQ4MjM1MDBBRjkyQTc5MDAwNEYwNTcg
LyogQ2hyb21lLmggKi8sCiAJCQkJMTREODI0MDYwQUY5M0FFQjAwMDRGMDU3IC8qIENocm9tZUNs
aWVudC5oICovLApAQCAtMTQyMjgsNiArMTQyNTIsMTIgQEAKIAkJCQlBOUM2RTY1RDBENzQ2Njk0
MDA2NDQyRTkgLyogTmF2aWdhdG9yLmlkbCAqLywKIAkJCQlFMTI3MTlDOTBFRUVDMjEzMDBGNjEy
MTMgLyogTmF2aWdhdG9yQmFzZS5jcHAgKi8sCiAJCQkJRTEyNzE5QzYwRUVFQzE2ODAwRjYxMjEz
IC8qIE5hdmlnYXRvckJhc2UuaCAqLywKKwkJCQlCMUU1NDU4RDEzNDYyOUMxMDA5MkE1NDUgLyog
TmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuaCAqLywKKwkJCQlCMUU1NDU4RTEzNDYyOUMxMDA5MkE1
NDUgLyogTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuaWRsICovLAorCQkJCUIxRTU0NThGMTM0NjI5
QzEwMDkyQTU0NSAvKiBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmggKi8sCisJCQkJ
QjFFNTQ1OTAxMzQ2MjlDMTAwOTJBNTQ1IC8qIE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJh
Y2suaWRsICovLAorCQkJCUIxRTU0NTkxMTM0NjI5QzEwMDkyQTU0NSAvKiBOYXZpZ2F0b3JVc2Vy
TWVkaWFTdWNjZXNzQ2FsbGJhY2suaCAqLywKKwkJCQlCMUU1NDU5MjEzNDYyOUMxMDA5MkE1NDUg
LyogTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmlkbCAqLywKIAkJCQkwMDE0NjI4
ODEwM0NEMURFMDAwQjIwREIgLyogT3JpZ2luQWNjZXNzRW50cnkuY3BwICovLAogCQkJCTAwMTQ2
Mjg5MTAzQ0QxREUwMDBCMjBEQiAvKiBPcmlnaW5BY2Nlc3NFbnRyeS5oICovLAogCQkJCTY1RkVB
ODY4MDk4MzNBREUwMEJFRDRBQiAvKiBQYWdlLmNwcCAqLywKQEAgLTE4Mjk3LDYgKzE4MzI3LDEy
IEBACiAJCQkJOUZGRTNFQTQxMUI1QTQzOTAwMzc4NzRFIC8qIEpTTWVtb3J5SW5mby5oICovLAog
CQkJCUE5RDI0N0Y1MEQ3NTdFMzMwMEZERjk1OSAvKiBKU05hdmlnYXRvci5jcHAgKi8sCiAJCQkJ
QTlEMjQ3RjYwRDc1N0UzMzAwRkRGOTU5IC8qIEpTTmF2aWdhdG9yLmggKi8sCisJCQkJQjFFNTQ1
RDExMzQ2MkIwQjAwOTJBNTQ1IC8qIEpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuY3BwICovLAor
CQkJCUIxRTU0NUQyMTM0NjJCMEIwMDkyQTU0NSAvKiBKU05hdmlnYXRvclVzZXJNZWRpYUVycm9y
LmggKi8sCisJCQkJQjFFNTQ1RDMxMzQ2MkIwQjAwOTJBNTQ1IC8qIEpTTmF2aWdhdG9yVXNlck1l
ZGlhRXJyb3JDYWxsYmFjay5jcHAgKi8sCisJCQkJQjFFNTQ1RDQxMzQ2MkIwQjAwOTJBNTQ1IC8q
IEpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5oICovLAorCQkJCUIxRTU0NUQ1MTM0
NjJCMEIwMDkyQTU0NSAvKiBKU05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5jcHAg
Ki8sCisJCQkJQjFFNTQ1RDYxMzQ2MkIwQjAwOTJBNTQ1IC8qIEpTTmF2aWdhdG9yVXNlck1lZGlh
U3VjY2Vzc0NhbGxiYWNrLmggKi8sCiAJCQkJOEE5QTU4NzIxMUU4NEM4MTAwOEFDRkQxIC8qIEpT
UGVyZm9ybWFuY2UuY3BwICovLAogCQkJCThBOUE1ODczMTFFODRDODEwMDhBQ0ZEMSAvKiBKU1Bl
cmZvcm1hbmNlLmggKi8sCiAJCQkJOEE5QTU4NkUxMUU4NEMzNTAwOEFDRkQxIC8qIEpTUGVyZm9y
bWFuY2VOYXZpZ2F0aW9uLmNwcCAqLywKQEAgLTIyNzY2LDYgKzIyODAyLDEzIEBACiAJCQkJOTNG
MTk5RUQwODI0NUU1OTAwMUU5QUJDIC8qIFhTTFRQcm9jZXNzb3IuaCBpbiBIZWFkZXJzICovLAog
CQkJCUUxQkU1MTJFMENGNkM1MTIwMDJFQTk1OSAvKiBYU0xUVW5pY29kZVNvcnQuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTk3N0UyRTBGMTJGMEZDOUMwMEMxMzM3OSAvKiBYU1NGaWx0ZXIuaCBpbiBI
ZWFkZXJzICovLAorCQkJCUIxRTU0NTkzMTM0NjI5QzEwMDkyQTU0NSAvKiBDYWxsYmFja1Rhc2su
aCBpbiBIZWFkZXJzICovLAorCQkJCUIxRTU0NTk5MTM0NjI5QzEwMDkyQTU0NSAvKiBOYXZpZ2F0
b3JVc2VyTWVkaWFFcnJvci5oIGluIEhlYWRlcnMgKi8sCisJCQkJQjFFNTQ1OUIxMzQ2MjlDMTAw
OTJBNTQ1IC8qIE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2suaCBpbiBIZWFkZXJzICov
LAorCQkJCUIxRTU0NTlEMTM0NjI5QzEwMDkyQTU0NSAvKiBOYXZpZ2F0b3JVc2VyTWVkaWFTdWNj
ZXNzQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovLAorCQkJCUIxRTU0NUUwMTM0NjJCMEIwMDkyQTU0
NSAvKiBKU05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmggaW4gSGVhZGVycyAqLywKKwkJCQlCMUU1
NDVFMjEzNDYyQjBCMDA5MkE1NDUgLyogSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNr
LmggaW4gSGVhZGVycyAqLywKKwkJCQlCMUU1NDVFNDEzNDYyQjBCMDA5MkE1NDUgLyogSlNOYXZp
Z2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovLAogCQkJKTsKIAkJ
CXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAtMjU0NDQs
NiArMjU0ODcsOSBAQAogCQkJCTkzRjE5QjA1MDgyNDVFNTkwMDFFOUFCQyAvKiBYU0xUUHJvY2Vz
c29yTGlieHNsdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFMUJFNTEyRDBDRjZDNTEyMDAyRUE5
NTkgLyogWFNMVFVuaWNvZGVTb3J0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTk3N0UyRTBFMTJG
MEZDOUMwMEMxMzM3OSAvKiBYU1NGaWx0ZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQjFFNTQ1
REYxMzQ2MkIwQjAwOTJBNTQ1IC8qIEpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuY3BwIGluIFNv
dXJjZXMgKi8sCisJCQkJQjFFNTQ1RTExMzQ2MkIwQjAwOTJBNTQ1IC8qIEpTTmF2aWdhdG9yVXNl
ck1lZGlhRXJyb3JDYWxsYmFjay5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlCMUU1NDVFMzEzNDYy
QjBCMDA5MkE1NDUgLyogSlNOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2lu
ZyA9IDA7CiAJCX07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU05h
dmlnYXRvckN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU05hdmlnYXRv
ckN1c3RvbS5jcHAKaW5kZXggYzAyMzkzMTMyYTgyMzJhMWQ0OGUxMzE2ODZlMzcwZDFmZjQyZjdi
Mi4uZDA4NmM1MTExMTI1MGE3MjM1M2RiZTllMzc0YWMzODkwZjA0ODFkZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNOYXZpZ2F0b3JDdXN0b20uY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTmF2aWdhdG9yQ3VzdG9tLmNwcApAQCAtMjMsNyAr
MjMsMTEgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJKU05hdmlnYXRvci5oIgog
CisjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgorI2luY2x1ZGUgIkpTTmF2aWdhdG9yVXNlck1l
ZGlhRXJyb3JDYWxsYmFjay5oIgorI2luY2x1ZGUgIkpTTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vz
c0NhbGxiYWNrLmgiCiAjaW5jbHVkZSAiTmF2aWdhdG9yLmgiCisjaW5jbHVkZSA8cnVudGltZS9K
U0Z1bmN0aW9uLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMzgsNCArNDIsNjAgQEAg
dm9pZCBKU05hdmlnYXRvcjo6bWFya0NoaWxkcmVuKE1hcmtTdGFjayYgbWFya1N0YWNrKQogICAg
IG1hcmtET01PYmplY3RXcmFwcGVyKG1hcmtTdGFjaywgZ2xvYmFsRGF0YSwgaW1wbCgpLT5vcHRp
b25hbEdlb2xvY2F0aW9uKCkpOwogfQogCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKworc3Rh
dGljIFBhc3NSZWZQdHI8TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrPiBjcmVhdGVO
YXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2soRXhlY1N0YXRlKiBleGVjLCBKU0RPTUds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU1ZhbHVlIHZhbHVlKQoreworICAgIC8vIFRoZSBz
cGVjIHNwZWNpZmllcyAnRnVuY3Rpb25Pbmx5JyBmb3IgdGhpcyBvYmplY3QuCisgICAgLy8gRklY
TUU6IFRoaXMgY2hlY2sgZGlzYWxsb3dzIGNhbGxhYmxlIG9iamVjdHMgY3JlYXRlZCB2aWEgSlND
IEFQSS4gSXQncyBub3QgY2xlYXIgd2hhdCBleGFjdGx5IHRoZSBzcGVjaWZpY2F0aW9uIGludGVu
ZHMgdG8gYWxsb3cuCisgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTQwMDEyCisgICAgaWYgKCF2YWx1ZS5pbmhlcml0cygmSlNGdW5jdGlvbjo6c19pbmZvKSkg
eworICAgICAgICBzZXRET01FeGNlcHRpb24oZXhlYywgVFlQRV9NSVNNQVRDSF9FUlIpOworICAg
ICAgICByZXR1cm4gMDsKKyAgICB9CisKKyAgICBKU09iamVjdCogb2JqZWN0ID0gYXNPYmplY3Qo
dmFsdWUpOworICAgIHJldHVybiBKU05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjazo6
Y3JlYXRlKG9iamVjdCwgZ2xvYmFsT2JqZWN0KTsKK30KKworc3RhdGljIFBhc3NSZWZQdHI8TmF2
aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjaz4gY3JlYXRlTmF2aWdhdG9yVXNlck1lZGlhRXJy
b3JDYWxsYmFjayhFeGVjU3RhdGUqIGV4ZWMsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QsIEpTVmFsdWUgdmFsdWUpCit7CisgICAgLy8gQXJndW1lbnQgaXMgb3B0aW9uYWwgKGhlbmNl
IHVuZGVmaW5lZCBpcyBhbGxvd2VkKS4KKyAgICBpZiAodmFsdWUuaXNVbmRlZmluZWQoKSkKKyAg
ICAgICAgcmV0dXJuIDA7CisKKyAgICAvLyBUaGUgc3BlYyBzcGVjaWZpZXMgJ0Z1bmN0aW9uT25s
eScgZm9yIHRoaXMgb2JqZWN0LgorICAgIC8vIEZJWE1FOiBUaGlzIGNoZWNrIGRpc2FsbG93cyBj
YWxsYWJsZSBvYmplY3RzIGNyZWF0ZWQgdmlhIEpTQyBBUEkuIEl0J3Mgbm90IGNsZWFyIHdoYXQg
ZXhhY3RseSB0aGUgc3BlY2lmaWNhdGlvbiBpbnRlbmRzIHRvIGFsbG93LgorICAgIC8vIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MDAxMgorICAgIGlmICghdmFsdWUu
aW5oZXJpdHMoJkpTRnVuY3Rpb246OnNfaW5mbykpIHsKKyAgICAgICAgc2V0RE9NRXhjZXB0aW9u
KGV4ZWMsIFRZUEVfTUlTTUFUQ0hfRVJSKTsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQorCisg
ICAgSlNPYmplY3QqIG9iamVjdCA9IGFzT2JqZWN0KHZhbHVlKTsKKyAgICByZXR1cm4gSlNOYXZp
Z2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrOjpjcmVhdGUob2JqZWN0LCBnbG9iYWxPYmplY3Qp
OworfQorCitKU1ZhbHVlIEpTTmF2aWdhdG9yOjp3ZWJraXRHZXRVc2VyTWVkaWEoRXhlY1N0YXRl
KiBleGVjKQoreworICAgIC8vIEFyZ3VtZW50czogT3B0aW9ucywgc3VjY2Vzc0NhbGxiYWNrLCAo
b3B0aW9uYWwpZXJyb3JDYWxsYmFjaworCisgICAgU3RyaW5nIG9wdGlvbnMgPSB1c3RyaW5nVG9T
dHJpbmcoZXhlYy0+YXJndW1lbnQoMCkudG9TdHJpbmcoZXhlYykpOworICAgIGlmIChleGVjLT5o
YWRFeGNlcHRpb24oKSkKKyAgICAgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7CisKKyAgICBSZWZQ
dHI8TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrPiBzdWNjZXNzQ2FsbGJhY2sgPSBj
cmVhdGVOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2soZXhlYywgc3RhdGljX2Nhc3Q8
SlNET01HbG9iYWxPYmplY3QqPihleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCkpLCBleGVjLT5h
cmd1bWVudCgxKSk7CisgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpIHx8ICFzdWNjZXNzQ2Fs
bGJhY2spCisgICAgICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOworCisgICAgUmVmUHRyPE5hdmln
YXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2s+IGVycm9yQ2FsbGJhY2sgPSBjcmVhdGVOYXZpZ2F0
b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrKGV4ZWMsIHN0YXRpY19jYXN0PEpTRE9NR2xvYmFsT2Jq
ZWN0Kj4oZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpKSwgZXhlYy0+YXJndW1lbnQoMikpOwor
ICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKKyAgICAgICAgcmV0dXJuIGpzVW5kZWZpbmVk
KCk7CisKKyAgICBtX2ltcGwtPndlYmtpdEdldFVzZXJNZWRpYShvcHRpb25zLCBzdWNjZXNzQ2Fs
bGJhY2sucmVsZWFzZSgpLCBlcnJvckNhbGxiYWNrLnJlbGVhc2UoKSk7CisgICAgcmV0dXJuIGpz
VW5kZWZpbmVkKCk7Cit9CisKKyNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFNKQorCiB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhOYXZpZ2F0b3JD
dXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4TmF2aWdhdG9y
Q3VzdG9tLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mYmUzODY5ZGNmZDNjNTI2OGQ4N2UyZmU1MGQ0OGE0YjYz
Njc3MzliCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3Vz
dG9tL1Y4TmF2aWdhdG9yQ3VzdG9tLmNwcApAQCAtMCwwICsxLDExMSBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRp
b24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFt
ZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9t
b3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNp
ZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMg
SVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisg
KiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25m
aWcuaCIKKyNpbmNsdWRlICJWOE5hdmlnYXRvci5oIgorCisjaWYgRU5BQkxFKE1FRElBX1NUUkVB
TSkKKworI2luY2x1ZGUgIk5hdmlnYXRvci5oIgorI2luY2x1ZGUgIlY4QmluZGluZy5oIgorI2lu
Y2x1ZGUgIlY4TmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5oIgorI2luY2x1ZGUgIlY4
TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmgiCisjaW5jbHVkZSAiVjhQcm94eS5o
IgorCit1c2luZyBuYW1lc3BhY2UgV1RGOworCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0YXRp
YyBjb25zdCBjaGFyIHR5cGVNaXNtYXRjaEVycm9yW10gPSAiVFlQRV9NSVNNQVRDSF9FUlI6IERP
TSBFeGNlcHRpb24gMTciOworCitzdGF0aWMgdm9pZCB0aHJvd1R5cGVNaXNtYXRjaEV4Y2VwdGlv
bigpCit7CisgICAgVjhQcm94eTo6dGhyb3dFcnJvcihWOFByb3h5OjpHZW5lcmFsRXJyb3IsIHR5
cGVNaXNtYXRjaEVycm9yKTsKK30KKworc3RhdGljIFBhc3NSZWZQdHI8TmF2aWdhdG9yVXNlck1l
ZGlhU3VjY2Vzc0NhbGxiYWNrPiBjcmVhdGVOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJh
Y2sodjg6OkxvY2FsPHY4OjpWYWx1ZT4gdmFsdWUsIGJvb2wmIHN1Y2NlZWRlZCkKK3sKKyAgICBz
dWNjZWVkZWQgPSB0cnVlOworCisgICAgLy8gVGhlIHNwZWMgc3BlY2lmaWVzICdGdW5jdGlvbk9u
bHknIGZvciB0aGlzIG9iamVjdC4KKyAgICBpZiAoIXZhbHVlLT5Jc0Z1bmN0aW9uKCkpIHsKKyAg
ICAgICAgc3VjY2VlZGVkID0gZmFsc2U7CisgICAgICAgIHRocm93VHlwZU1pc21hdGNoRXhjZXB0
aW9uKCk7CisgICAgICAgIHJldHVybiAwOworICAgIH0KKworICAgIHJldHVybiBWOE5hdmlnYXRv
clVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjazo6Y3JlYXRlKHZhbHVlLCBnZXRTY3JpcHRFeGVjdXRp
b25Db250ZXh0KCkpOworfQorCitzdGF0aWMgUGFzc1JlZlB0cjxOYXZpZ2F0b3JVc2VyTWVkaWFF
cnJvckNhbGxiYWNrPiBjcmVhdGVOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrKHY4OjpM
b2NhbDx2ODo6VmFsdWU+IHZhbHVlLCBib29sJiBzdWNjZWVkZWQpCit7CisgICAgc3VjY2VlZGVk
ID0gdHJ1ZTsKKworICAgIC8vIEFyZ3VtZW50IGlzIG9wdGlvbmFsIChoZW5jZSB1bmRlZmluZWQg
aXMgYWxsb3dlZCkuCisgICAgaWYgKHZhbHVlLT5Jc1VuZGVmaW5lZCgpKQorICAgICAgICByZXR1
cm4gMDsKKworICAgIC8vIFRoZSBzcGVjIHNwZWNpZmllcyAnRnVuY3Rpb25Pbmx5JyBmb3IgdGhp
cyBvYmplY3QuCisgICAgaWYgKCF2YWx1ZS0+SXNGdW5jdGlvbigpKSB7CisgICAgICAgIHN1Y2Nl
ZWRlZCA9IGZhbHNlOworICAgICAgICB0aHJvd1R5cGVNaXNtYXRjaEV4Y2VwdGlvbigpOworICAg
ICAgICByZXR1cm4gMDsKKyAgICB9CisKKyAgICByZXR1cm4gVjhOYXZpZ2F0b3JVc2VyTWVkaWFF
cnJvckNhbGxiYWNrOjpjcmVhdGUodmFsdWUsIGdldFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSk7
Cit9CisKK3Y4OjpIYW5kbGU8djg6OlZhbHVlPiBWOE5hdmlnYXRvcjo6d2Via2l0R2V0VXNlck1l
ZGlhQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncykKK3sKKyAgICBJTkNfU1RBVFMo
IkRPTS5OYXZpZ2F0b3Iud2Via2l0R2V0VXNlck1lZGlhKCkiKTsKKworICAgIHY4OjpUcnlDYXRj
aCBleGNlcHRpb25DYXRjaGVyOworICAgIFN0cmluZyBvcHRpb25zID0gdG9XZWJDb3JlU3RyaW5n
KGFyZ3NbMF0pOworICAgIGlmIChleGNlcHRpb25DYXRjaGVyLkhhc0NhdWdodCgpKQorICAgICAg
ICByZXR1cm4gdGhyb3dFcnJvcihleGNlcHRpb25DYXRjaGVyLkV4Y2VwdGlvbigpKTsKKworICAg
IGJvb2wgc3VjY2VlZGVkID0gZmFsc2U7CisKKyAgICBSZWZQdHI8TmF2aWdhdG9yVXNlck1lZGlh
U3VjY2Vzc0NhbGxiYWNrPiBzdWNjZXNzQ2FsbGJhY2sgPSBjcmVhdGVOYXZpZ2F0b3JVc2VyTWVk
aWFTdWNjZXNzQ2FsbGJhY2soYXJnc1sxXSwgc3VjY2VlZGVkKTsKKyAgICBpZiAoIXN1Y2NlZWRl
ZCB8fCAhc3VjY2Vzc0NhbGxiYWNrKQorICAgICAgICByZXR1cm4gdjg6OlVuZGVmaW5lZCgpOwor
CisgICAgUmVmUHRyPE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2s+IGVycm9yQ2FsbGJh
Y2sgPSBjcmVhdGVOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrKGFyZ3NbMl0sIHN1Y2Nl
ZWRlZCk7CisgICAgaWYgKCFzdWNjZWVkZWQpCisgICAgICAgIHJldHVybiB2ODo6VW5kZWZpbmVk
KCk7CisKKyAgICBOYXZpZ2F0b3IqIG5hdmlnYXRvciA9IFY4TmF2aWdhdG9yOjp0b05hdGl2ZShh
cmdzLkhvbGRlcigpKTsKKyAgICBuYXZpZ2F0b3ItPndlYmtpdEdldFVzZXJNZWRpYShvcHRpb25z
LCBzdWNjZXNzQ2FsbGJhY2sucmVsZWFzZSgpLCBlcnJvckNhbGxiYWNrLnJlbGVhc2UoKSk7Cisg
ICAgcmV0dXJuIHY4OjpVbmRlZmluZWQoKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQor
CisjZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVBTSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvQ2FsbGJhY2tUYXNrLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NhbGxiYWNrVGFz
ay5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjkyNGViYzFlNzUzYWQ0MGU3NGU5ZDMyMTljYzNhZTE5MTcxM2IzNjkK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NhbGxiYWNrVGFzay5oCkBA
IC0wLDAgKzEsMTI1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisg
KiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5h
bWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBt
YXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisg
KiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xE
RVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
Q09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAor
ICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworCisjaWZuZGVmIENhbGxiYWNrVGFza19oCisjZGVmaW5lIENhbGxiYWNr
VGFza19oCisKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorCisjaW5jbHVkZSAiU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dC5oIgorI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CisjaW5jbHVkZSA8d3Rm
L1Bhc3NSZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKworLy8gSGVscGVyIHRlbXBsYXRlIHRvIHNjaGVkdWxlIGNhbGxzIHRvIGNhbGxiYWNr
cyB1c2luZyB0aGVpciBvd24gc2NyaXB0IGV4ZWN1dGlvbiBjb250ZXh0LgorLy8gQ2FsbGJhY2tU
eXBlIGlzIGFzc3VtZWQgdG8gaW1wbGVtZW50IFNjaGVkdWxlciBhbmQgdG8gYmUgcmVmZXJlbmNl
LWNvdW50ZWQuCit0ZW1wbGF0ZSA8dHlwZW5hbWUgQ2FsbGJhY2tUeXBlLCB0eXBlbmFtZSBBcmd1
bWVudFR5cGU+CitjbGFzcyBDYWxsYmFja1Rhc2sxIDogcHVibGljIFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQ6OlRhc2sgeworcHVibGljOgorICAgIHN0YXRpYyBQYXNzT3duUHRyPENhbGxiYWNrVGFz
azE+IGNyZWF0ZShQYXNzUmVmUHRyPENhbGxiYWNrVHlwZT4gY2FsbGJhY2ssIFBhc3NSZWZQdHI8
QXJndW1lbnRUeXBlPiBkYXRhKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBD
YWxsYmFja1Rhc2sxKGNhbGxiYWNrLCBkYXRhKSk7CisgICAgfQorCisgICAgdmlydHVhbCB2b2lk
IHBlcmZvcm1UYXNrKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKQorICAgIHsKKyAgICAgICAgbV9j
YWxsYmFjay0+aGFuZGxlRXZlbnQobV9kYXRhLmdldCgpKTsKKyAgICB9CisKKyAgICBjbGFzcyBT
Y2hlZHVsZXIgeworICAgIHB1YmxpYzoKKyAgICAgICAgYm9vbCBzY2hlZHVsZUNhbGxiYWNrKFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIFBhc3NSZWZQdHI8QXJndW1lbnRUeXBlPiBk
YXRhKQorICAgICAgICB7CisgICAgICAgICAgICBpZiAoY29udGV4dCkgeworICAgICAgICAgICAg
ICAgIGNvbnRleHQtPnBvc3RUYXNrKENhbGxiYWNrVGFzazE8Q2FsbGJhY2tUeXBlLCBBcmd1bWVu
dFR5cGU+OjpjcmVhdGUoc3RhdGljX2Nhc3Q8Q2FsbGJhY2tUeXBlKj4odGhpcyksIGRhdGEpKTsK
KyAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKKyAgICAgICAgfQorICAgIH07CisKK3ByaXZhdGU6CisgICAgQ2FsbGJh
Y2tUYXNrMShQYXNzUmVmUHRyPENhbGxiYWNrVHlwZT4gY2FsbGJhY2ssIFBhc3NSZWZQdHI8QXJn
dW1lbnRUeXBlPiBkYXRhKQorICAgICAgICA6IG1fY2FsbGJhY2soY2FsbGJhY2spCisgICAgICAg
ICwgbV9kYXRhKGRhdGEpCisgICAgeworICAgIH0KKworICAgIFJlZlB0cjxDYWxsYmFja1R5cGU+
IG1fY2FsbGJhY2s7CisgICAgUmVmUHRyPEFyZ3VtZW50VHlwZT4gbV9kYXRhOworfTsKKworLy8g
MiBhcmd1bWVudCB0ZW1wbGF0ZSB2ZXJzaW9uLgordGVtcGxhdGUgPHR5cGVuYW1lIENhbGxiYWNr
VHlwZSwgdHlwZW5hbWUgQXJndW1lbnRUeXBlMSwgdHlwZW5hbWUgQXJndW1lbnRUeXBlMj4KK2Ns
YXNzIENhbGxiYWNrVGFzazIgOiBwdWJsaWMgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6VGFzayB7
CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NPd25QdHI8Q2FsbGJhY2tUYXNrMj4gY3JlYXRlKFBh
c3NSZWZQdHI8Q2FsbGJhY2tUeXBlPiBjYWxsYmFjaywgUGFzc1JlZlB0cjxBcmd1bWVudFR5cGUx
PiBkYXRhMSwgUGFzc1JlZlB0cjxBcmd1bWVudFR5cGUyPiBkYXRhMikKKyAgICB7CisgICAgICAg
IHJldHVybiBhZG9wdFB0cihuZXcgQ2FsbGJhY2tUYXNrMihjYWxsYmFjaywgZGF0YTEsIGRhdGEy
KSk7CisgICAgfQorCisgICAgdmlydHVhbCB2b2lkIHBlcmZvcm1UYXNrKFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQqKQorICAgIHsKKyAgICAgICAgbV9jYWxsYmFjay0+aGFuZGxlRXZlbnQobV9kYXRh
MS5nZXQoKSwgbV9kYXRhMi5nZXQoKSk7CisgICAgfQorCisgICAgY2xhc3MgU2NoZWR1bGVyIHsK
KyAgICBwdWJsaWM6CisgICAgICAgIGJvb2wgc2NoZWR1bGVDYWxsYmFjayhTY3JpcHRFeGVjdXRp
b25Db250ZXh0KiBjb250ZXh0LCBQYXNzUmVmUHRyPEFyZ3VtZW50VHlwZTE+IGRhdGExLCBQYXNz
UmVmUHRyPEFyZ3VtZW50VHlwZTI+IGRhdGEyKQorICAgICAgICB7CisgICAgICAgICAgICBpZiAo
Y29udGV4dCkgeworICAgICAgICAgICAgICAgIGNvbnRleHQtPnBvc3RUYXNrKENhbGxiYWNrVGFz
azI8Q2FsbGJhY2tUeXBlLCBBcmd1bWVudFR5cGUxLCBBcmd1bWVudFR5cGUyPjo6Y3JlYXRlKHN0
YXRpY19jYXN0PENhbGxiYWNrVHlwZSo+KHRoaXMpLCBkYXRhMSwgZGF0YTIpKTsKKyAgICAgICAg
ICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHJldHVybiBm
YWxzZTsKKyAgICAgICAgfQorICAgIH07CisKK3ByaXZhdGU6CisgICAgQ2FsbGJhY2tUYXNrMihQ
YXNzUmVmUHRyPENhbGxiYWNrVHlwZT4gY2FsbGJhY2ssIFBhc3NSZWZQdHI8QXJndW1lbnRUeXBl
MT4gZGF0YTEsIFBhc3NSZWZQdHI8QXJndW1lbnRUeXBlMj4gZGF0YTIpCisgICAgICAgIDogbV9j
YWxsYmFjayhjYWxsYmFjaykKKyAgICAgICAgLCBtX2RhdGExKGRhdGExKQorICAgICAgICAsIG1f
ZGF0YTIoZGF0YTIpCisgICAgeworICAgIH0KKworICAgIFJlZlB0cjxDYWxsYmFja1R5cGU+IG1f
Y2FsbGJhY2s7CisgICAgUmVmUHRyPEFyZ3VtZW50VHlwZTE+IG1fZGF0YTE7CisgICAgUmVmUHRy
PEFyZ3VtZW50VHlwZTI+IG1fZGF0YTI7Cit9OworCit9CisKKyNlbmRpZiAvLyBFTkFCTEUoTUVE
SUFfU1RSRUFNKQorCisjZW5kaWYgLy8gQ2FsbGJhY2tUYXNrX2gKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdh
dG9yLmNwcAppbmRleCA2YTI2N2FkNDE2MTk2OTkwM2M4MGNhNjM5NDQwYzM5MWFmNTMwN2VkLi5i
MDEwZDE2ZmM2ZmRhZTlkZGFjNGY1ZjgwNDFkYmU5ZjUyN2Y5NzczIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9O
YXZpZ2F0b3IuY3BwCkBAIC0zNCw2ICszNCw4IEBACiAjaW5jbHVkZSAiR2VvbG9jYXRpb24uaCIK
ICNpbmNsdWRlICJLVVJMLmgiCiAjaW5jbHVkZSAiTGFuZ3VhZ2UuaCIKKyNpbmNsdWRlICJOYXZp
Z2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmgiCisjaW5jbHVkZSAiTmF2aWdhdG9yVXNlck1l
ZGlhU3VjY2Vzc0NhbGxiYWNrLmgiCiAjaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIlBhZ2VH
cm91cC5oIgogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCkBAIC0yNDIsNCArMjQ0LDEzIEBA
IHZvaWQgTmF2aWdhdG9yOjpyZWdpc3RlclByb3RvY29sSGFuZGxlcihjb25zdCBTdHJpbmcmIHNj
aGVtZSwgY29uc3QgU3RyaW5nJiB1cmwsCiB9CiAjZW5kaWYKIAorI2lmIEVOQUJMRShNRURJQV9T
VFJFQU0pCit2b2lkIE5hdmlnYXRvcjo6d2Via2l0R2V0VXNlck1lZGlhKGNvbnN0IFN0cmluZyYg
b3B0aW9ucywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUGFzc1JlZlB0cjxO
YXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2s+IHN1Y2Nlc3NDYWxsYmFjaywKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUGFzc1JlZlB0cjxOYXZpZ2F0b3JVc2VyTWVk
aWFFcnJvckNhbGxiYWNrPiBlcnJvckNhbGxiYWNrKQoreworICAgIC8vIEZJWE1FOiBpbXBsZW1l
bnQgYSBjYWxsIHRvIHRoZSBtZWRpYSBzdHJlYW0gY29udGV4dCB3aGVuIGF2YWlsYWJsZS4KK30K
KyNlbmRpZgorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL05hdmlnYXRvci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3IuaApp
bmRleCA2OTNiZGUxM2Y5MDgyYzRhYzE3N2ZmNTVlNjM0NDhiMTYzYTNmMTcyLi4wNjY1ZTAzYjBi
YWM5YzIxODA4NTdhNmY4NDk3NmRmNTg5M2E2ZWM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL05hdmlnYXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yLmgK
QEAgLTMyLDYgKzMyLDggQEAgY2xhc3MgRE9NTWltZVR5cGVBcnJheTsKIGNsYXNzIERPTVBsdWdp
bkFycmF5OwogY2xhc3MgRnJhbWU7CiBjbGFzcyBHZW9sb2NhdGlvbjsKK2NsYXNzIE5hdmlnYXRv
clVzZXJNZWRpYUVycm9yQ2FsbGJhY2s7CitjbGFzcyBOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNz
Q2FsbGJhY2s7CiBjbGFzcyBQbHVnaW5EYXRhOwogCiB0eXBlZGVmIGludCBFeGNlcHRpb25Db2Rl
OwpAQCAtNjcsNiArNjksMTEgQEAgcHVibGljOgogICAgIHZvaWQgcmVnaXN0ZXJQcm90b2NvbEhh
bmRsZXIoY29uc3QgU3RyaW5nJiBzY2hlbWUsIGNvbnN0IFN0cmluZyYgdXJsLCBjb25zdCBTdHJp
bmcmIHRpdGxlLCBFeGNlcHRpb25Db2RlJik7CiAjZW5kaWYKIAorI2lmIEVOQUJMRShNRURJQV9T
VFJFQU0pCisgICAgdmlydHVhbCB2b2lkIHdlYmtpdEdldFVzZXJNZWRpYShjb25zdCBTdHJpbmcm
IG9wdGlvbnMsIFBhc3NSZWZQdHI8TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrPiwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBhc3NSZWZQdHI8TmF2aWdhdG9y
VXNlck1lZGlhRXJyb3JDYWxsYmFjaz4gPSAwKTsKKyNlbmRpZgorCiBwcml2YXRlOgogICAgIE5h
dmlnYXRvcihGcmFtZSopOwogICAgIEZyYW1lKiBtX2ZyYW1lOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3IuaWRsIGIvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0
b3IuaWRsCmluZGV4IGJmM2YxMDhlYzkwMjVjMDA4NmJmMjgwZjM4MTkwYzRlOTNhZWQ5N2UuLjY2
N2YxZDA3MWIzZTVjZjc5NWMyNDJlZjIxNTczMTAyYzU1NTcxZDMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL05h
dmlnYXRvci5pZGwKQEAgLTM3LDcgKzM3LDcgQEAgbW9kdWxlIHdpbmRvdyB7CiAgICAgICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgdmVuZG9yU3ViOwogICAgICAgICByZWFkb25seSBh
dHRyaWJ1dGUgYm9vbGVhbiBjb29raWVFbmFibGVkOwogICAgICAgICBib29sZWFuIGphdmFFbmFi
bGVkKCk7Ci0gICAgICAgIAorCiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIG9u
TGluZTsKIAogI2lmIGRlZmluZWQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAmJiBFTkFCTEVfR0VPTE9D
QVRJT04KQEAgLTUyLDYgKzUyLDEyIEBAIG1vZHVsZSB3aW5kb3cgewogICAgICAgICB2b2lkIHJl
Z2lzdGVyUHJvdG9jb2xIYW5kbGVyKGluIERPTVN0cmluZyBzY2hlbWUsIGluIERPTVN0cmluZyB1
cmwsIGluIERPTVN0cmluZyB0aXRsZSkKICAgICAgICAgICAgIHJhaXNlcyhEb21FeGNlcHRpb24p
OwogI2VuZGlmCisKKyNpZiBkZWZpbmVkKEVOQUJMRV9NRURJQV9TVFJFQU0pICYmIEVOQUJMRV9N
RURJQV9TVFJFQU0KKyAgICAgICAgW0N1c3RvbSwgRW5hYmxlZEF0UnVudGltZV0gdm9pZCB3ZWJr
aXRHZXRVc2VyTWVkaWEoaW4gRE9NU3RyaW5nIG9wdGlvbnMsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIFtDYWxsYmFja10gTmF2
aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFjaywKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gW0Nh
bGxiYWNrLCBPcHRpb25hbF0gTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjayBlcnJvckNh
bGxiYWNrKTsKKyNlbmRpZgogICAgIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2
aWdhdG9yVXNlck1lZGlhRXJyb3IuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xZmYyNmJlOWQ0ZGFhYjI0NmQ4Y2Yw
Y2I1MzQ1YTVmODc4NDEwNDY4Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9OYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5oCkBAIC0wLDAgKzEsNTkgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0
aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5h
bWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVj
aWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFT
IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAor
ICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIE5hdmln
YXRvclVzZXJNZWRpYUVycm9yX2gKKyNkZWZpbmUgTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JfaAor
CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworI2lmIEVOQUJMRShNRURJQV9TVFJFQU0p
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgTmF2aWdhdG9yVXNlck1lZGlhRXJyb3Ig
OiBwdWJsaWMgUmVmQ291bnRlZDxOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvcj4geworcHVibGljOgor
ICAgIE5hdmlnYXRvclVzZXJNZWRpYUVycm9yKHVuc2lnbmVkIHNob3J0IGNvZGUpIDogbV9jb2Rl
KGNvZGUpIHsgfQorICAgIHZpcnR1YWwgfk5hdmlnYXRvclVzZXJNZWRpYUVycm9yKCkgeyB9CisK
KyAgICBlbnVtIHsKKyAgICAgICAgUEVSTUlTU0lPTl9ERU5JRUQgPSAxCisgICAgfTsKKworICAg
IHVuc2lnbmVkIHNob3J0IGNvZGUoKSBjb25zdCB7IHJldHVybiBtX2NvZGU7IH0KKworcHJpdmF0
ZToKKyAgICB1bnNpZ25lZCBzaG9ydCBtX2NvZGU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFNKQorCisjZW5kaWYgLy8gTmF2aWdh
dG9yVXNlck1lZGlhRXJyb3JfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZp
Z2F0b3JVc2VyTWVkaWFFcnJvci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvclVz
ZXJNZWRpYUVycm9yLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iMGNkZTU3OGEyMzgwMTVkZjY0ODQyNTg4ZDBm
Y2ZkMGRkMTMzMTFlCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZp
Z2F0b3JVc2VyTWVkaWFFcnJvci5pZGwKQEAgLTAsMCArMSw0MSBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24u
CisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMg
b2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAor
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK21vZHVsZSB3aW5kb3cgewor
CisgICAgaW50ZXJmYWNlIFsKKyAgICAgICAgQ29uZGl0aW9uYWw9TUVESUFfU1RSRUFNCisgICAg
XSBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvciB7CisgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0
IFBFUk1JU1NJT05fREVOSUVEID0gMTsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2ln
bmVkIHNob3J0IGNvZGU7CisgICAgfTsKKworfQorCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2suaCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5oCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjlkYTQ3
MWMzMDYyZmE1MzdlMTU4ZTU5MTQ0YTMyMjE4MTc5ZmZjMTQKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2suaApAQCAt
MCwwICsxLDUzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBt
ZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUg
b2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJT
IEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09Q
WVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICog
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI2lmbmRlZiBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrX2gKKyNk
ZWZpbmUgTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFja19oCisKKyNpZiBFTkFCTEUoTUVE
SUFfU1RSRUFNKQorCisjaW5jbHVkZSAiQ2FsbGJhY2tUYXNrLmgiCisjaW5jbHVkZSAiTmF2aWdh
dG9yVXNlck1lZGlhRXJyb3IuaCIKKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorCituYW1l
c3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2sg
OiBwdWJsaWMgUmVmQ291bnRlZDxOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrPiwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWMgQ2FsbGJhY2tUYXNr
MTxOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLCBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJv
cj46OlNjaGVkdWxlciB7CitwdWJsaWM6CisgICAgdmlydHVhbCB+TmF2aWdhdG9yVXNlck1lZGlh
RXJyb3JDYWxsYmFjaygpIHsgfQorICAgIHZpcnR1YWwgYm9vbCBoYW5kbGVFdmVudChOYXZpZ2F0
b3JVc2VyTWVkaWFFcnJvciopID0gMDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKwor
I2VuZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0pCisKKyNlbmRpZiAvLyBOYXZpZ2F0b3JVc2Vy
TWVkaWFFcnJvckNhbGxiYWNrX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2
aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL05h
dmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2suaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyYTc0NmU4OWQ0
MTkzMzY1MjlhYjNiMmRmMzEzZmQzMTFkZThkOGQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2suaWRsCkBAIC0wLDAg
KzEsNDAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoK
KyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgor
ICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBH
b29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMg
c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5E
IENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklH
SFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCittb2R1bGUgd2luZG93IHsKKworICAgIGludGVyZmFjZSBbCisgICAgICAgIENvbmRp
dGlvbmFsPU1FRElBX1NUUkVBTSwKKyAgICAgICAgQ2FsbGJhY2s9RnVuY3Rpb25Pbmx5CisgICAg
XSBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrIHsKKyAgICAgICAgYm9vbGVhbiBoYW5k
bGVFdmVudChpbiBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvciBlcnJvcik7CisgICAgfTsKKworfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNz
Q2FsbGJhY2suaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vz
c0NhbGxiYWNrLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTIzMmU1NmM3OWNlNWVkN2QwYjhjZWNiZDdhMTllMWYx
M2QwNGFlNwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9y
VXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmgKQEAgLTAsMCArMSw1MiBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRp
b24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFt
ZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9t
b3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNp
ZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMg
SVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisg
KiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgTmF2aWdh
dG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrX2gKKyNkZWZpbmUgTmF2aWdhdG9yVXNlck1lZGlh
U3VjY2Vzc0NhbGxiYWNrX2gKKworI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCisKKyNpbmNsdWRl
IDx3dGYvUmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIE5hdmln
YXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjayA6IHB1YmxpYyBSZWZDb3VudGVkPE5hdmlnYXRv
clVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjaz4geworcHVibGljOgorICAgIHZpcnR1YWwgfk5hdmln
YXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjaygpIHsgfQorICAgIC8vIEZJWE1FOiBzZXQgY29y
cmVjdCB0eXBlIHdoZW4gdGhlIEdlbmVyYXRlZFN0cmVhbSBjbGFzcyBpcyBhdmFpbGFibGUuCisg
ICAgLy8gdmlydHVhbCBib29sIGhhbmRsZUV2ZW50KEdlbmVyYXRlZFN0cmVhbSopID0gMDsKKyAg
ICB2aXJ0dWFsIGJvb2wgaGFuZGxlRXZlbnQoaW50IGR1bW15KSA9IDA7Cit9OworCit9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFNKQorCisjZW5k
aWYgLy8gTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrX2gKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmlkbCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmlk
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi40Yzg0NTg2ZGZiZmRkNWFkYTllYWRmYzMzYzY4MWI5NzdkMjhiZmU5Ci0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFT
dWNjZXNzQ2FsbGJhY2suaWRsCkBAIC0wLDAgKzEsNDIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICog
ICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0
cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9k
dWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAq
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCittb2R1bGUgd2luZG93IHsKKworICAg
IGludGVyZmFjZSBbCisgICAgICAgIENvbmRpdGlvbmFsPU1FRElBX1NUUkVBTSwKKyAgICAgICAg
Q2FsbGJhY2s9RnVuY3Rpb25Pbmx5CisgICAgXSBOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2Fs
bGJhY2sgeworICAgICAgICAvLyBGSVhNRTogaW1wbGVtZW50IHRoZSBjb3JyZWN0IHR5cGUgd2hl
biB0aGUgR2VuZXJhdGVkU3RyZWFtIGNsYXNzIGlzIGF2YWlsYWJsZS4KKyAgICAgICAgLy8gYm9v
bGVhbiBoYW5kbGVFdmVudChpbiBHZW5lcmF0ZWRTdHJlYW0gc3RyZWFtKTsKKyAgICAgICAgYm9v
bGVhbiBoYW5kbGVFdmVudChpbiBpbnQgZHVtbXkpOworICAgIH07CisKK30K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>88637</attachid>
            <date>2011-04-07 07:49:45 -0700</date>
            <delta_ts>2011-04-08 04:04:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-56586-20110407154943.patch</filename>
            <type>text/plain</type>
            <size>62721</size>
            <attacher name="Leandro Graciá Gil">leandrogracia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA0ZDRkNTE4Zjg0MDA4NGU3NGIwNzJhYzY4M2QwNjVhODA1OTk4ZTI5Li5mNDIxOGY2
ZWMwMDBlYzZmZTNlMDc1NWNjNzZmOWM3ODVkY2M4ZDgzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzEgQEAK
KzIwMTEtMDQtMDcgIExlYW5kcm8gR3JhY2lhIEdpbCAgPGxlYW5kcm9ncmFjaWFAY2hyb21pdW0u
b3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1l
ZGlhIFN0cmVhbSBBUEk6IGFkZCB0aGUgZ2V0VXNlck1lZGlhIG1ldGhvZCBhbmQgdGhlIEphdmFz
Y3JpcHQgYmluZGluZ3MuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD01NjU4NgorCisgICAgICAgIFRlc3QgdGhlIEphdmFzY3JpcHQgYmVoYXZpb3VyIG9m
IHRoZSBnZXRVc2VyTWVkaWEgbWV0aG9kIHdpdGggZGlmZmVyZW50IHR5cGVzIG9mIGFyZ3VtZW50
cy4KKyAgICAgICAgQ3VycmVudCBzcGVjaWZpY2F0aW9uOiBodHRwOi8vd3d3LndoYXR3Zy5vcmcv
c3BlY3Mvd2ViLWFwcHMvY3VycmVudC13b3JrL211bHRpcGFnZS9kbmQuaHRtbCN2aWRlby1jb25m
ZXJlbmNpbmctYW5kLXBlZXItdG8tcGVlci1jb21tdW5pY2F0aW9uCisKKyAgICAgICAgKiBmYXN0
L2RvbS9NZWRpYVN0cmVhbS9hcmd1bWVudC10eXBlcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGZhc3QvZG9tL01lZGlhU3RyZWFtL2FyZ3VtZW50LXR5cGVzLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGZhc3QvZG9tL01lZGlhU3RyZWFtL2VuYWJsZWQtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBmYXN0L2RvbS9NZWRpYVN0cmVhbS9lbmFibGVkLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGZhc3QvZG9tL01lZGlhU3RyZWFtL25vLWludGVyZmFjZS1vYmplY3QtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9NZWRpYVN0cmVhbS9uby1pbnRlcmZh
Y2Utb2JqZWN0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL01lZGlhU3RyZWFtL3Nj
cmlwdC10ZXN0cy9hcmd1bWVudC10eXBlcy5qczogQWRkZWQuCisgICAgICAgIChzaG91bGROb3RU
aHJvdyk6CisgICAgICAgICh0ZXN0KToKKyAgICAgICAgKGVtcHR5RnVuY3Rpb24pOgorICAgICAg
ICAoKToKKyAgICAgICAgKE9iamVjdFRocm93aW5nRXhjZXB0aW9uLnByb3RvdHlwZS52YWx1ZU9m
KToKKyAgICAgICAgKE9iamVjdFRocm93aW5nRXhjZXB0aW9uLnByb3RvdHlwZS50b1N0cmluZyk6
CisgICAgICAgICogZmFzdC9kb20vTWVkaWFTdHJlYW0vc2NyaXB0LXRlc3RzL2VuYWJsZWQuanM6
IEFkZGVkLgorICAgICAgICAoaGFzR2VvbG9jYXRpb25Qcm9wZXJ0eSk6CisgICAgICAgICogZmFz
dC9kb20vTWVkaWFTdHJlYW0vc2NyaXB0LXRlc3RzL25vLWludGVyZmFjZS1vYmplY3QuanM6IEFk
ZGVkLgorICAgICAgICAodGVzdCk6CisKIDIwMTEtMDQtMDcgIFBoaWxpcHBlIE5vcm1hbmQgIDxw
bm9ybWFuZEBpZ2FsaWEuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHVuc2tpcCBhIGZhc3Qv
eG1saHR0cHJlcXVlc3QgdGVzdCBwYXNzaW5nIG9uIEdUSy4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvZG9tL01lZGlhU3RyZWFtL2FyZ3VtZW50LXR5cGVzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL01lZGlhU3RyZWFtL2FyZ3VtZW50LXR5cGVzLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5jNTM2Njk4M2E5MDAzZjJiMTM4YTQ5NTllNDcxMmFiZmE0ZTAzZGJlCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vTWVkaWFTdHJlYW0vYXJndW1l
bnQtdHlwZXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNDkgQEAKK1Rlc3RzIHRoZSBhY2NlcHRh
YmxlIHR5cGVzIGZvciBhcmd1bWVudHMgdG8gbmF2aWdhdG9yLmdldFVzZXJNZWRpYSBtZXRob2Rz
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBuYXZpZ2F0b3Iud2Via2l0
R2V0VXNlck1lZGlhKCkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBUWVBFX01JU01BVENIX0VSUjog
RE9NIEV4Y2VwdGlvbiAxNy4KK1BBU1MgbmF2aWdhdG9yLndlYmtpdEdldFVzZXJNZWRpYSh1bmRl
ZmluZWQpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogVFlQRV9NSVNNQVRDSF9FUlI6IERPTSBFeGNl
cHRpb24gMTcuCitQQVNTIG5hdmlnYXRvci53ZWJraXRHZXRVc2VyTWVkaWEobnVsbCkgdGhyZXcg
ZXhjZXB0aW9uIEVycm9yOiBUWVBFX01JU01BVENIX0VSUjogRE9NIEV4Y2VwdGlvbiAxNy4KK1BB
U1MgbmF2aWdhdG9yLndlYmtpdEdldFVzZXJNZWRpYSh7fSkgdGhyZXcgZXhjZXB0aW9uIEVycm9y
OiBUWVBFX01JU01BVENIX0VSUjogRE9NIEV4Y2VwdGlvbiAxNy4KK1BBU1MgbmF2aWdhdG9yLndl
YmtpdEdldFVzZXJNZWRpYShvYmplY3RUaHJvd2luZ0V4Y2VwdGlvbikgdGhyZXcgZXhjZXB0aW9u
IEVycm9yOiBUWVBFX01JU01BVENIX0VSUjogRE9NIEV4Y2VwdGlvbiAxNy4KK1BBU1MgbmF2aWdh
dG9yLndlYmtpdEdldFVzZXJNZWRpYSgidmlkZW8iKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFRZ
UEVfTUlTTUFUQ0hfRVJSOiBET00gRXhjZXB0aW9uIDE3LgorUEFTUyBuYXZpZ2F0b3Iud2Via2l0
R2V0VXNlck1lZGlhKHRydWUpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogVFlQRV9NSVNNQVRDSF9F
UlI6IERPTSBFeGNlcHRpb24gMTcuCitQQVNTIG5hdmlnYXRvci53ZWJraXRHZXRVc2VyTWVkaWEo
NDIpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogVFlQRV9NSVNNQVRDSF9FUlI6IERPTSBFeGNlcHRp
b24gMTcuCitQQVNTIG5hdmlnYXRvci53ZWJraXRHZXRVc2VyTWVkaWEoSW5maW5pdHkpIHRocmV3
IGV4Y2VwdGlvbiBFcnJvcjogVFlQRV9NSVNNQVRDSF9FUlI6IERPTSBFeGNlcHRpb24gMTcuCitQ
QVNTIG5hdmlnYXRvci53ZWJraXRHZXRVc2VyTWVkaWEoLUluZmluaXR5KSB0aHJldyBleGNlcHRp
b24gRXJyb3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00gRXhjZXB0aW9uIDE3LgorUEFTUyBuYXZp
Z2F0b3Iud2Via2l0R2V0VXNlck1lZGlhKGVtcHR5RnVuY3Rpb24pIHRocmV3IGV4Y2VwdGlvbiBF
cnJvcjogVFlQRV9NSVNNQVRDSF9FUlI6IERPTSBFeGNlcHRpb24gMTcuCitQQVNTIG5hdmlnYXRv
ci53ZWJraXRHZXRVc2VyTWVkaWEoInZpZGVvIiwgZW1wdHlGdW5jdGlvbikgZGlkIG5vdCB0aHJv
dyBleGNlcHRpb24uCitQQVNTIG5hdmlnYXRvci53ZWJraXRHZXRVc2VyTWVkaWEodW5kZWZpbmVk
LCBlbXB0eUZ1bmN0aW9uKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgbmF2aWdhdG9y
LndlYmtpdEdldFVzZXJNZWRpYShudWxsLCBlbXB0eUZ1bmN0aW9uKSBkaWQgbm90IHRocm93IGV4
Y2VwdGlvbi4KK1BBU1MgbmF2aWdhdG9yLndlYmtpdEdldFVzZXJNZWRpYSh7fSwgZW1wdHlGdW5j
dGlvbikgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIG5hdmlnYXRvci53ZWJraXRHZXRV
c2VyTWVkaWEob2JqZWN0VGhyb3dpbmdFeGNlcHRpb24sIGVtcHR5RnVuY3Rpb24pIHRocmV3IGV4
Y2VwdGlvbiBFcnJvcjogdG9TdHJpbmcgdGhyZXcgZXhjZXB0aW9uLgorUEFTUyBuYXZpZ2F0b3Iu
d2Via2l0R2V0VXNlck1lZGlhKHRydWUsIGVtcHR5RnVuY3Rpb24pIGRpZCBub3QgdGhyb3cgZXhj
ZXB0aW9uLgorUEFTUyBuYXZpZ2F0b3Iud2Via2l0R2V0VXNlck1lZGlhKDQyLCBlbXB0eUZ1bmN0
aW9uKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgbmF2aWdhdG9yLndlYmtpdEdldFVz
ZXJNZWRpYShJbmZpbml0eSwgZW1wdHlGdW5jdGlvbikgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24u
CitQQVNTIG5hdmlnYXRvci53ZWJraXRHZXRVc2VyTWVkaWEoLUluZmluaXR5LCBlbXB0eUZ1bmN0
aW9uKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgbmF2aWdhdG9yLndlYmtpdEdldFVz
ZXJNZWRpYShlbXB0eUZ1bmN0aW9uLCBlbXB0eUZ1bmN0aW9uKSBkaWQgbm90IHRocm93IGV4Y2Vw
dGlvbi4KK1BBU1MgbmF2aWdhdG9yLndlYmtpdEdldFVzZXJNZWRpYSgidmlkZW8iLCAidmlkZW8i
KSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00gRXhjZXB0aW9u
IDE3LgorUEFTUyBuYXZpZ2F0b3Iud2Via2l0R2V0VXNlck1lZGlhKCJ2aWRlbyIsIHVuZGVmaW5l
ZCkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBUWVBFX01JU01BVENIX0VSUjogRE9NIEV4Y2VwdGlv
biAxNy4KK1BBU1MgbmF2aWdhdG9yLndlYmtpdEdldFVzZXJNZWRpYSgidmlkZW8iLCBudWxsKSB0
aHJldyBleGNlcHRpb24gRXJyb3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00gRXhjZXB0aW9uIDE3
LgorUEFTUyBuYXZpZ2F0b3Iud2Via2l0R2V0VXNlck1lZGlhKCJ2aWRlbyIsIHt9KSB0aHJldyBl
eGNlcHRpb24gRXJyb3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00gRXhjZXB0aW9uIDE3LgorUEFT
UyBuYXZpZ2F0b3Iud2Via2l0R2V0VXNlck1lZGlhKCJ2aWRlbyIsIG9iamVjdFRocm93aW5nRXhj
ZXB0aW9uKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00gRXhj
ZXB0aW9uIDE3LgorUEFTUyBuYXZpZ2F0b3Iud2Via2l0R2V0VXNlck1lZGlhKCJ2aWRlbyIsIHRy
dWUpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogVFlQRV9NSVNNQVRDSF9FUlI6IERPTSBFeGNlcHRp
b24gMTcuCitQQVNTIG5hdmlnYXRvci53ZWJraXRHZXRVc2VyTWVkaWEoInZpZGVvIiwgNDIpIHRo
cmV3IGV4Y2VwdGlvbiBFcnJvcjogVFlQRV9NSVNNQVRDSF9FUlI6IERPTSBFeGNlcHRpb24gMTcu
CitQQVNTIG5hdmlnYXRvci53ZWJraXRHZXRVc2VyTWVkaWEoInZpZGVvIiwgSW5maW5pdHkpIHRo
cmV3IGV4Y2VwdGlvbiBFcnJvcjogVFlQRV9NSVNNQVRDSF9FUlI6IERPTSBFeGNlcHRpb24gMTcu
CitQQVNTIG5hdmlnYXRvci53ZWJraXRHZXRVc2VyTWVkaWEoInZpZGVvIiwgLUluZmluaXR5KSB0
aHJldyBleGNlcHRpb24gRXJyb3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00gRXhjZXB0aW9uIDE3
LgorUEFTUyBuYXZpZ2F0b3Iud2Via2l0R2V0VXNlck1lZGlhKCJ2aWRlbyIsIGVtcHR5RnVuY3Rp
b24sIGVtcHR5RnVuY3Rpb24pIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBuYXZpZ2F0
b3Iud2Via2l0R2V0VXNlck1lZGlhKCJ2aWRlbyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCkg
ZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIG5hdmlnYXRvci53ZWJraXRHZXRVc2VyTWVk
aWEoInZpZGVvIiwgZW1wdHlGdW5jdGlvbiwgInZpZGVvIikgdGhyZXcgZXhjZXB0aW9uIEVycm9y
OiBUWVBFX01JU01BVENIX0VSUjogRE9NIEV4Y2VwdGlvbiAxNy4KK1BBU1MgbmF2aWdhdG9yLndl
YmtpdEdldFVzZXJNZWRpYSgidmlkZW8iLCBlbXB0eUZ1bmN0aW9uLCBudWxsKSB0aHJldyBleGNl
cHRpb24gRXJyb3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00gRXhjZXB0aW9uIDE3LgorUEFTUyBu
YXZpZ2F0b3Iud2Via2l0R2V0VXNlck1lZGlhKCJ2aWRlbyIsIGVtcHR5RnVuY3Rpb24sIHt9KSB0
aHJldyBleGNlcHRpb24gRXJyb3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00gRXhjZXB0aW9uIDE3
LgorUEFTUyBuYXZpZ2F0b3Iud2Via2l0R2V0VXNlck1lZGlhKCJ2aWRlbyIsIGVtcHR5RnVuY3Rp
b24sIG9iamVjdFRocm93aW5nRXhjZXB0aW9uKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFRZUEVf
TUlTTUFUQ0hfRVJSOiBET00gRXhjZXB0aW9uIDE3LgorUEFTUyBuYXZpZ2F0b3Iud2Via2l0R2V0
VXNlck1lZGlhKCJ2aWRlbyIsIGVtcHR5RnVuY3Rpb24sIHRydWUpIHRocmV3IGV4Y2VwdGlvbiBF
cnJvcjogVFlQRV9NSVNNQVRDSF9FUlI6IERPTSBFeGNlcHRpb24gMTcuCitQQVNTIG5hdmlnYXRv
ci53ZWJraXRHZXRVc2VyTWVkaWEoInZpZGVvIiwgZW1wdHlGdW5jdGlvbiwgNDIpIHRocmV3IGV4
Y2VwdGlvbiBFcnJvcjogVFlQRV9NSVNNQVRDSF9FUlI6IERPTSBFeGNlcHRpb24gMTcuCitQQVNT
IG5hdmlnYXRvci53ZWJraXRHZXRVc2VyTWVkaWEoInZpZGVvIiwgZW1wdHlGdW5jdGlvbiwgSW5m
aW5pdHkpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogVFlQRV9NSVNNQVRDSF9FUlI6IERPTSBFeGNl
cHRpb24gMTcuCitQQVNTIG5hdmlnYXRvci53ZWJraXRHZXRVc2VyTWVkaWEoInZpZGVvIiwgZW1w
dHlGdW5jdGlvbiwgLUluZmluaXR5KSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFRZUEVfTUlTTUFU
Q0hfRVJSOiBET00gRXhjZXB0aW9uIDE3LgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL01l
ZGlhU3RyZWFtL2FyZ3VtZW50LXR5cGVzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9NZWRp
YVN0cmVhbS9hcmd1bWVudC10eXBlcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZlZWZjZDNiMTFjNjMxNDc2
ZTMwODA0YWU4MDFhNzdkYTRjOTM4NDcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9NZWRpYVN0cmVhbS9hcmd1bWVudC10eXBlcy5odG1sCkBAIC0wLDAgKzEsMTMgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2pzL3Jlc291cmNlcy9q
cy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9u
Ij48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVz
dHMvYXJndW1lbnQtdHlwZXMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vTWVkaWFTdHJlYW0vZW5hYmxlZC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9NZWRpYVN0cmVhbS9lbmFibGVkLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4wNThjYjgxMDIzMDc0MmY5YzczMjk0YzUxOTJjYWRiNjY4MjIzNTJm
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vTWVkaWFTdHJlYW0vZW5h
YmxlZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGVzdHMgdGhhdCBuYXZpZ2F0b3Iu
d2Via2l0R2V0VXNlck1lZGlhIGlzIHByZXNlbnQuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworCitQQVNTIHR5cGVvZiBuYXZpZ2F0b3Iud2Via2l0R2V0VXNlck1lZGlhID09ICdmdW5j
dGlvbicgaXMgdHJ1ZQorUEFTUyBoYXNHZW9sb2NhdGlvblByb3BlcnR5KCkgaXMgdHJ1ZQorUEFT
UyAnd2Via2l0R2V0VXNlck1lZGlhJyBpbiBuYXZpZ2F0b3IgaXMgdHJ1ZQorUEFTUyBuYXZpZ2F0
b3IuaGFzT3duUHJvcGVydHkoJ3dlYmtpdEdldFVzZXJNZWRpYScpIGlzIGZhbHNlCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9kb20vTWVkaWFTdHJlYW0vZW5hYmxlZC5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9kb20vTWVkaWFTdHJlYW0vZW5hYmxlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmUwOGJjYjdk
YTFiZjUwMDM0ZDc5YzdkODdhYWU2OTQ2MzdiOWZhOTIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9NZWRpYVN0cmVhbS9lbmFibGVkLmh0bWwKQEAgLTAsMCArMSwxMyBA
QAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+
Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vanMvcmVzb3VyY2Vz
L2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9InNjcmlwdC10
ZXN0cy9lbmFibGVkLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJj
ZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL01lZGlhU3RyZWFtL25vLWludGVyZmFjZS1vYmplY3Qt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vTWVkaWFTdHJlYW0vbm8taW50ZXJm
YWNlLW9iamVjdC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjAwNDI3NTE2MmU0MjcwOTRlMDk3
NzdhZDIyYTIwMWNmMWZhOTVmOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL01lZGlhU3RyZWFtL25vLWludGVyZmFjZS1vYmplY3QtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTcgQEAKK1Rlc3RzIHRoYXQgdGhlIGZvbGxvd2luZyBjbGFzc2VzIGFyZSBub3QgbWFuaXB1
bGFibGUgYnkgSmF2YVNjcmlwdCAoTm9JbnRlcmZhY2VPYmplY3QpLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKKworUEFTUyB0eXBlb2YgTmF2aWdhdG9yVXNlck1lZGlhIGlzICJ1bmRl
ZmluZWQiCitQQVNTIE5hdmlnYXRvclVzZXJNZWRpYS5wcm90b3R5cGUgdGhyZXcgZXhjZXB0aW9u
IFJlZmVyZW5jZUVycm9yOiBOYXZpZ2F0b3JVc2VyTWVkaWEgaXMgbm90IGRlZmluZWQuCitQQVNT
IHR5cGVvZiBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvciBpcyAidW5kZWZpbmVkIgorUEFTUyBOYXZp
Z2F0b3JVc2VyTWVkaWFFcnJvci5wcm90b3R5cGUgdGhyZXcgZXhjZXB0aW9uIFJlZmVyZW5jZUVy
cm9yOiBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvciBpcyBub3QgZGVmaW5lZC4KK1BBU1MgdHlwZW9m
IE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjayBpcyAidW5kZWZpbmVkIgorUEFTUyBO
YXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2sucHJvdG90eXBlIHRocmV3IGV4Y2VwdGlv
biBSZWZlcmVuY2VFcnJvcjogTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrIGlzIG5v
dCBkZWZpbmVkLgorUEFTUyB0eXBlb2YgTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjayBp
cyAidW5kZWZpbmVkIgorUEFTUyBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLnByb3Rv
dHlwZSB0aHJldyBleGNlcHRpb24gUmVmZXJlbmNlRXJyb3I6IE5hdmlnYXRvclVzZXJNZWRpYUVy
cm9yQ2FsbGJhY2sgaXMgbm90IGRlZmluZWQuCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20v
TWVkaWFTdHJlYW0vbm8taW50ZXJmYWNlLW9iamVjdC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9k
b20vTWVkaWFTdHJlYW0vbm8taW50ZXJmYWNlLW9iamVjdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNhNDg5
Y2Q3ZTUyNjY4YTQyN2FiMWFlNWNjMDkyMTllYzhkYjM0YTYKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9NZWRpYVN0cmVhbS9uby1pbnRlcmZhY2Utb2JqZWN0Lmh0bWwK
QEAgLTAsMCArMSwxMyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4v
Li4vanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9q
cy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dCBzcmM9InNjcmlwdC10ZXN0cy9uby1pbnRlcmZhY2Utb2JqZWN0LmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL01lZGlh
U3RyZWFtL3NjcmlwdC10ZXN0cy9hcmd1bWVudC10eXBlcy5qcyBiL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL01lZGlhU3RyZWFtL3NjcmlwdC10ZXN0cy9hcmd1bWVudC10eXBlcy5qcwpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5iN2I5ZGM2NmNmODMwMmYzZmI4MjZlYmY5MWQwYjY2NTQ0NWMxNDE1Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vTWVkaWFTdHJlYW0vc2NyaXB0LXRlc3RzL2FyZ3Vt
ZW50LXR5cGVzLmpzCkBAIC0wLDAgKzEsODUgQEAKK2Rlc2NyaXB0aW9uKCJUZXN0cyB0aGUgYWNj
ZXB0YWJsZSB0eXBlcyBmb3IgYXJndW1lbnRzIHRvIG5hdmlnYXRvci5nZXRVc2VyTWVkaWEgbWV0
aG9kcy4iKTsKKworZnVuY3Rpb24gc2hvdWxkTm90VGhyb3coZXhwcmVzc2lvbikKK3sKKyAgdHJ5
IHsKKyAgICBldmFsKGV4cHJlc3Npb24pOworICAgIHRlc3RQYXNzZWQoZXhwcmVzc2lvbiArICIg
ZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uIik7CisgIH0gY2F0Y2goZSkgeworICAgIHRlc3RGYWls
ZWQoZXhwcmVzc2lvbiArICIgc2hvdWxkIG5vdCB0aHJvdyBleGNlcHRpb24uIFRocmV3IGV4Y2Vw
dGlvbiAiICsgZSk7CisgIH0KK30KKworZnVuY3Rpb24gdGVzdChleHByZXNzaW9uLCBleHByZXNz
aW9uU2hvdWxkVGhyb3csIGV4cGVjdGVkRXhjZXB0aW9uKSB7CisgICAgaWYgKGV4cHJlc3Npb25T
aG91bGRUaHJvdykgeworICAgICAgICBpZiAoZXhwZWN0ZWRFeGNlcHRpb24pCisgICAgICAgICAg
ICBzaG91bGRUaHJvdyhleHByZXNzaW9uLCAnKGZ1bmN0aW9uKCkgeyByZXR1cm4gIicgKyBleHBl
Y3RlZEV4Y2VwdGlvbiArICciOyB9KSgpOycpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBz
aG91bGRUaHJvdyhleHByZXNzaW9uLCAnKGZ1bmN0aW9uKCkgeyByZXR1cm4gIkVycm9yOiBUWVBF
X01JU01BVENIX0VSUjogRE9NIEV4Y2VwdGlvbiAxNyI7IH0pKCk7Jyk7CisgICAgfSBlbHNlIHsK
KyAgICAgICAgc2hvdWxkTm90VGhyb3coZXhwcmVzc2lvbik7CisgICAgfQorfQorCit2YXIgZW1w
dHlGdW5jdGlvbiA9IGZ1bmN0aW9uKCkge307CisKK2Z1bmN0aW9uIE9iamVjdFRocm93aW5nRXhj
ZXB0aW9uKCkge307CitPYmplY3RUaHJvd2luZ0V4Y2VwdGlvbi5wcm90b3R5cGUudmFsdWVPZiA9
IGZ1bmN0aW9uKCkgeworICAgIHRocm93IG5ldyBFcnJvcigndmFsdWVPZiB0aHJldyBleGNlcHRp
b24nKTsKK30KK09iamVjdFRocm93aW5nRXhjZXB0aW9uLnByb3RvdHlwZS50b1N0cmluZyA9IGZ1
bmN0aW9uKCkgeworICAgIHRocm93IG5ldyBFcnJvcigndG9TdHJpbmcgdGhyZXcgZXhjZXB0aW9u
Jyk7Cit9Cit2YXIgb2JqZWN0VGhyb3dpbmdFeGNlcHRpb24gPSBuZXcgT2JqZWN0VGhyb3dpbmdF
eGNlcHRpb24oKTsKKworLy8gTm8gYXJndW1lbnRzCit0ZXN0KCduYXZpZ2F0b3Iud2Via2l0R2V0
VXNlck1lZGlhKCknLCB0cnVlKTsKKworLy8gMSBBcmd1bWVudCAoZ2V0VXNlck1lZGlhIHJlcXVp
cmVzIGF0IGxlYXN0IDIgYXJndW1lbnRzKS4KK3Rlc3QoJ25hdmlnYXRvci53ZWJraXRHZXRVc2Vy
TWVkaWEodW5kZWZpbmVkKScsIHRydWUpOwordGVzdCgnbmF2aWdhdG9yLndlYmtpdEdldFVzZXJN
ZWRpYShudWxsKScsIHRydWUpOwordGVzdCgnbmF2aWdhdG9yLndlYmtpdEdldFVzZXJNZWRpYSh7
fSknLCB0cnVlKTsKK3Rlc3QoJ25hdmlnYXRvci53ZWJraXRHZXRVc2VyTWVkaWEob2JqZWN0VGhy
b3dpbmdFeGNlcHRpb24pJywgdHJ1ZSk7Cit0ZXN0KCduYXZpZ2F0b3Iud2Via2l0R2V0VXNlck1l
ZGlhKCJ2aWRlbyIpJywgdHJ1ZSk7Cit0ZXN0KCduYXZpZ2F0b3Iud2Via2l0R2V0VXNlck1lZGlh
KHRydWUpJywgdHJ1ZSk7Cit0ZXN0KCduYXZpZ2F0b3Iud2Via2l0R2V0VXNlck1lZGlhKDQyKScs
IHRydWUpOwordGVzdCgnbmF2aWdhdG9yLndlYmtpdEdldFVzZXJNZWRpYShJbmZpbml0eSknLCB0
cnVlKTsKK3Rlc3QoJ25hdmlnYXRvci53ZWJraXRHZXRVc2VyTWVkaWEoLUluZmluaXR5KScsIHRy
dWUpOwordGVzdCgnbmF2aWdhdG9yLndlYmtpdEdldFVzZXJNZWRpYShlbXB0eUZ1bmN0aW9uKScs
IHRydWUpOworCisvLyAyIEFyZ3VtZW50cy4KK3Rlc3QoJ25hdmlnYXRvci53ZWJraXRHZXRVc2Vy
TWVkaWEoInZpZGVvIiwgZW1wdHlGdW5jdGlvbiknLCBmYWxzZSk7Cit0ZXN0KCduYXZpZ2F0b3Iu
d2Via2l0R2V0VXNlck1lZGlhKHVuZGVmaW5lZCwgZW1wdHlGdW5jdGlvbiknLCBmYWxzZSk7Cit0
ZXN0KCduYXZpZ2F0b3Iud2Via2l0R2V0VXNlck1lZGlhKG51bGwsIGVtcHR5RnVuY3Rpb24pJywg
ZmFsc2UpOwordGVzdCgnbmF2aWdhdG9yLndlYmtpdEdldFVzZXJNZWRpYSh7fSwgZW1wdHlGdW5j
dGlvbiknLCBmYWxzZSk7Cit0ZXN0KCduYXZpZ2F0b3Iud2Via2l0R2V0VXNlck1lZGlhKG9iamVj
dFRocm93aW5nRXhjZXB0aW9uLCBlbXB0eUZ1bmN0aW9uKScsIHRydWUsIG5ldyBFcnJvcigndG9T
dHJpbmcgdGhyZXcgZXhjZXB0aW9uJykpOwordGVzdCgnbmF2aWdhdG9yLndlYmtpdEdldFVzZXJN
ZWRpYSh0cnVlLCBlbXB0eUZ1bmN0aW9uKScsIGZhbHNlKTsKK3Rlc3QoJ25hdmlnYXRvci53ZWJr
aXRHZXRVc2VyTWVkaWEoNDIsIGVtcHR5RnVuY3Rpb24pJywgZmFsc2UpOwordGVzdCgnbmF2aWdh
dG9yLndlYmtpdEdldFVzZXJNZWRpYShJbmZpbml0eSwgZW1wdHlGdW5jdGlvbiknLCBmYWxzZSk7
Cit0ZXN0KCduYXZpZ2F0b3Iud2Via2l0R2V0VXNlck1lZGlhKC1JbmZpbml0eSwgZW1wdHlGdW5j
dGlvbiknLCBmYWxzZSk7Cit0ZXN0KCduYXZpZ2F0b3Iud2Via2l0R2V0VXNlck1lZGlhKGVtcHR5
RnVuY3Rpb24sIGVtcHR5RnVuY3Rpb24pJywgZmFsc2UpOworCit0ZXN0KCduYXZpZ2F0b3Iud2Vi
a2l0R2V0VXNlck1lZGlhKCJ2aWRlbyIsICJ2aWRlbyIpJywgdHJ1ZSk7Cit0ZXN0KCduYXZpZ2F0
b3Iud2Via2l0R2V0VXNlck1lZGlhKCJ2aWRlbyIsIHVuZGVmaW5lZCknLCB0cnVlKTsKK3Rlc3Qo
J25hdmlnYXRvci53ZWJraXRHZXRVc2VyTWVkaWEoInZpZGVvIiwgbnVsbCknLCB0cnVlKTsKK3Rl
c3QoJ25hdmlnYXRvci53ZWJraXRHZXRVc2VyTWVkaWEoInZpZGVvIiwge30pJywgdHJ1ZSk7Cit0
ZXN0KCduYXZpZ2F0b3Iud2Via2l0R2V0VXNlck1lZGlhKCJ2aWRlbyIsIG9iamVjdFRocm93aW5n
RXhjZXB0aW9uKScsIHRydWUpOwordGVzdCgnbmF2aWdhdG9yLndlYmtpdEdldFVzZXJNZWRpYSgi
dmlkZW8iLCB0cnVlKScsIHRydWUpOwordGVzdCgnbmF2aWdhdG9yLndlYmtpdEdldFVzZXJNZWRp
YSgidmlkZW8iLCA0MiknLCB0cnVlKTsKK3Rlc3QoJ25hdmlnYXRvci53ZWJraXRHZXRVc2VyTWVk
aWEoInZpZGVvIiwgSW5maW5pdHkpJywgdHJ1ZSk7Cit0ZXN0KCduYXZpZ2F0b3Iud2Via2l0R2V0
VXNlck1lZGlhKCJ2aWRlbyIsIC1JbmZpbml0eSknLCB0cnVlKTsKKworLy8gMyBBcmd1bWVudHMu
Cit0ZXN0KCduYXZpZ2F0b3Iud2Via2l0R2V0VXNlck1lZGlhKCJ2aWRlbyIsIGVtcHR5RnVuY3Rp
b24sIGVtcHR5RnVuY3Rpb24pJywgZmFsc2UpOwordGVzdCgnbmF2aWdhdG9yLndlYmtpdEdldFVz
ZXJNZWRpYSgidmlkZW8iLCBlbXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQpJywgZmFsc2UpOwordGVz
dCgnbmF2aWdhdG9yLndlYmtpdEdldFVzZXJNZWRpYSgidmlkZW8iLCBlbXB0eUZ1bmN0aW9uLCAi
dmlkZW8iKScsIHRydWUpOwordGVzdCgnbmF2aWdhdG9yLndlYmtpdEdldFVzZXJNZWRpYSgidmlk
ZW8iLCBlbXB0eUZ1bmN0aW9uLCBudWxsKScsIHRydWUpOwordGVzdCgnbmF2aWdhdG9yLndlYmtp
dEdldFVzZXJNZWRpYSgidmlkZW8iLCBlbXB0eUZ1bmN0aW9uLCB7fSknLCB0cnVlKTsKK3Rlc3Qo
J25hdmlnYXRvci53ZWJraXRHZXRVc2VyTWVkaWEoInZpZGVvIiwgZW1wdHlGdW5jdGlvbiwgb2Jq
ZWN0VGhyb3dpbmdFeGNlcHRpb24pJywgdHJ1ZSk7Cit0ZXN0KCduYXZpZ2F0b3Iud2Via2l0R2V0
VXNlck1lZGlhKCJ2aWRlbyIsIGVtcHR5RnVuY3Rpb24sIHRydWUpJywgdHJ1ZSk7Cit0ZXN0KCdu
YXZpZ2F0b3Iud2Via2l0R2V0VXNlck1lZGlhKCJ2aWRlbyIsIGVtcHR5RnVuY3Rpb24sIDQyKScs
IHRydWUpOwordGVzdCgnbmF2aWdhdG9yLndlYmtpdEdldFVzZXJNZWRpYSgidmlkZW8iLCBlbXB0
eUZ1bmN0aW9uLCBJbmZpbml0eSknLCB0cnVlKTsKK3Rlc3QoJ25hdmlnYXRvci53ZWJraXRHZXRV
c2VyTWVkaWEoInZpZGVvIiwgZW1wdHlGdW5jdGlvbiwgLUluZmluaXR5KScsIHRydWUpOworCit3
aW5kb3cuanNUZXN0SXNBc3luYyA9IGZhbHNlOword2luZG93LnN1Y2Nlc3NmdWxseVBhcnNlZCA9
IHRydWU7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9NZWRpYVN0cmVhbS9zY3Jp
cHQtdGVzdHMvZW5hYmxlZC5qcyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL01lZGlhU3RyZWFtL3Nj
cmlwdC10ZXN0cy9lbmFibGVkLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU3ODk5MzZmZTAwMGJkOWVjZDIyNmEz
YWM4ZmZkYWQ5NTE1ZDJlM2EKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9NZWRpYVN0cmVhbS9zY3JpcHQtdGVzdHMvZW5hYmxlZC5qcwpAQCAtMCwwICsxLDE4IEBACitk
ZXNjcmlwdGlvbigiVGVzdHMgdGhhdCBuYXZpZ2F0b3Iud2Via2l0R2V0VXNlck1lZGlhIGlzIHBy
ZXNlbnQuIik7CisKK2Z1bmN0aW9uIGhhc0dlb2xvY2F0aW9uUHJvcGVydHkoKQoreworICAgIGZv
ciAodmFyIHByb3BlcnR5IGluIG5hdmlnYXRvcikgeworICAgICAgICBpZiAocHJvcGVydHkgPT0g
IndlYmtpdEdldFVzZXJNZWRpYSIpCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9Cisg
ICAgcmV0dXJuIGZhbHNlOworfQorCitzaG91bGRCZVRydWUoInR5cGVvZiBuYXZpZ2F0b3Iud2Vi
a2l0R2V0VXNlck1lZGlhID09ICdmdW5jdGlvbiciKTsKK3Nob3VsZEJlVHJ1ZSgiaGFzR2VvbG9j
YXRpb25Qcm9wZXJ0eSgpIik7CitzaG91bGRCZVRydWUoIid3ZWJraXRHZXRVc2VyTWVkaWEnIGlu
IG5hdmlnYXRvciIpOworc2hvdWxkQmVGYWxzZSgibmF2aWdhdG9yLmhhc093blByb3BlcnR5KCd3
ZWJraXRHZXRVc2VyTWVkaWEnKSIpOworCit3aW5kb3cuanNUZXN0SXNBc3luYyA9IGZhbHNlOwor
d2luZG93LnN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9NZWRpYVN0cmVhbS9zY3JpcHQtdGVzdHMvbm8taW50ZXJmYWNlLW9iamVjdC5q
cyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL01lZGlhU3RyZWFtL3NjcmlwdC10ZXN0cy9uby1pbnRl
cmZhY2Utb2JqZWN0LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY4MTdmMGY5N2YyYTYzNzFjYjhkZTIwOTUwZTcz
NjE5ZDYxZTMwOWQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9NZWRp
YVN0cmVhbS9zY3JpcHQtdGVzdHMvbm8taW50ZXJmYWNlLW9iamVjdC5qcwpAQCAtMCwwICsxLDE1
IEBACitkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCB0aGUgZm9sbG93aW5nIGNsYXNzZXMgYXJlIG5v
dCBtYW5pcHVsYWJsZSBieSBKYXZhU2NyaXB0IChOb0ludGVyZmFjZU9iamVjdCkuIik7CisKK2Z1
bmN0aW9uIHRlc3QobmFtZSkKK3sKKyAgICBzaG91bGRCZSgndHlwZW9mICcgKyBuYW1lLCAnInVu
ZGVmaW5lZCInKTsKKyAgICBzaG91bGRUaHJvdyhuYW1lICsgJy5wcm90b3R5cGUnKTsKK30KKwor
dGVzdCgnTmF2aWdhdG9yVXNlck1lZGlhJyk7Cit0ZXN0KCdOYXZpZ2F0b3JVc2VyTWVkaWFFcnJv
cicpOwordGVzdCgnTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrJyk7Cit0ZXN0KCdO
YXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrJyk7CisKK3dpbmRvdy5qc1Rlc3RJc0FzeW5j
ID0gZmFsc2U7Cit3aW5kb3cuc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0FuZHJvaWQuZGVyaXZlZC5qc2NiaW5kaW5ncy5tayBiL1NvdXJjZS9X
ZWJDb3JlL0FuZHJvaWQuZGVyaXZlZC5qc2NiaW5kaW5ncy5tawppbmRleCAwN2RkYzJhMWE2NWMy
MjIyYmVmMWRhMWU3NzRiZmFiMDI2MWQ5YzA3Li4xMzZmMDE3MzdjODg5NDUyZmIwOThlNjgyNDZh
NWY4ODQ0YmVkYTBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9BbmRyb2lkLmRlcml2ZWQu
anNjYmluZGluZ3MubWsKKysrIGIvU291cmNlL1dlYkNvcmUvQW5kcm9pZC5kZXJpdmVkLmpzY2Jp
bmRpbmdzLm1rCkBAIC0yOTYsNiArMjk2LDkgQEAgR0VOIDo9IFwKICAgICAkKGludGVybWVkaWF0
ZXMpL3BhZ2UvSlNIaXN0b3J5LmggXAogICAgICQoaW50ZXJtZWRpYXRlcykvcGFnZS9KU0xvY2F0
aW9uLmggXAogICAgICQoaW50ZXJtZWRpYXRlcykvcGFnZS9KU05hdmlnYXRvci5oIFwKKyAgICAk
KGludGVybWVkaWF0ZXMpL3BhZ2UvSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5oIFwKKyAgICAk
KGludGVybWVkaWF0ZXMpL3BhZ2UvSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmgg
XAorICAgICQoaW50ZXJtZWRpYXRlcykvcGFnZS9KU05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3ND
YWxsYmFjay5oIFwKICAgICAkKGludGVybWVkaWF0ZXMpL3BhZ2UvSlNQb3NpdGlvbkVycm9yLmgg
XAogICAgICQoaW50ZXJtZWRpYXRlcykvcGFnZS9KU1NjcmVlbi5oIFwKICAgICAkKGludGVybWVk
aWF0ZXMpL3BhZ2UvSlNXZWJLaXRBbmltYXRpb24uaCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9BbmRyb2lkLmRlcml2ZWQudjhiaW5kaW5ncy5tayBiL1NvdXJjZS9XZWJDb3JlL0FuZHJv
aWQuZGVyaXZlZC52OGJpbmRpbmdzLm1rCmluZGV4IDVhMGZlY2VjNDBkZDc5NGU1YmFkMzQ2OWY3
MjI2YjI4NmJjZjlkNzguLjE0NDAxZGRiMDliZmU0Zjk0MDcxZmViYzU4NWFkMmZkYjIxYTA5ZmUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0FuZHJvaWQuZGVyaXZlZC52OGJpbmRpbmdzLm1r
CisrKyBiL1NvdXJjZS9XZWJDb3JlL0FuZHJvaWQuZGVyaXZlZC52OGJpbmRpbmdzLm1rCkBAIC0y
NzcsNiArMjc3LDkgQEAgR0VOIDo9IFwKICAgICAkKGludGVybWVkaWF0ZXMpL2JpbmRpbmdzL1Y4
SGlzdG9yeS5oIFwKICAgICAkKGludGVybWVkaWF0ZXMpL2JpbmRpbmdzL1Y4TG9jYXRpb24uaCBc
CiAgICAgJChpbnRlcm1lZGlhdGVzKS9iaW5kaW5ncy9WOE5hdmlnYXRvci5oIFwKKyAgICAkKGlu
dGVybWVkaWF0ZXMpL2JpbmRpbmdzL1Y4TmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuaCBcCisgICAg
JChpbnRlcm1lZGlhdGVzKS9iaW5kaW5ncy9WOE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJh
Y2suaCBcCisgICAgJChpbnRlcm1lZGlhdGVzKS9iaW5kaW5ncy9WOE5hdmlnYXRvclVzZXJNZWRp
YVN1Y2Nlc3NDYWxsYmFjay5oIFwKICAgICAkKGludGVybWVkaWF0ZXMpL2JpbmRpbmdzL1Y4UG9z
aXRpb25FcnJvci5oIFwKICAgICAkKGludGVybWVkaWF0ZXMpL2JpbmRpbmdzL1Y4U2NyZWVuLmgg
XAogICAgICQoaW50ZXJtZWRpYXRlcykvYmluZGluZ3MvVjhXZWJLaXRBbmltYXRpb24uaCBcCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9BbmRyb2lkLnY4YmluZGluZ3MubWsgYi9Tb3VyY2Uv
V2ViQ29yZS9BbmRyb2lkLnY4YmluZGluZ3MubWsKaW5kZXggOWU0MzhlN2Y0ZGZmODUxNzE0NTMz
ZGM3YzBhNjY2MDE3NWI2MDU3ZC4uYTRkYjI4OGY5YmU0ZTIwZThkYzFhM2VlODM4ZjI5ZTg3ODE2
ODc2ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQW5kcm9pZC52OGJpbmRpbmdzLm1rCisr
KyBiL1NvdXJjZS9XZWJDb3JlL0FuZHJvaWQudjhiaW5kaW5ncy5tawpAQCAtMTQxLDYgKzE0MSw3
IEBAIExPQ0FMX1NSQ19GSUxFUyArPSBcCiAJYmluZGluZ3MvdjgvY3VzdG9tL1Y4TWVzc2FnZUNo
YW5uZWxDb25zdHJ1Y3Rvci5jcHAgXAogCWJpbmRpbmdzL3Y4L2N1c3RvbS9WOE1lc3NhZ2VQb3J0
Q3VzdG9tLmNwcCBcCiAJYmluZGluZ3MvdjgvY3VzdG9tL1Y4TWVzc2FnZUV2ZW50Q3VzdG9tLmNw
cCBcCisJYmluZGluZ3MvdjgvY3VzdG9tL1Y4TmF2aWdhdG9yQ3VzdG9tLmNwcCBcCiAJYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4TmFtZWROb2RlTWFwQ3VzdG9tLmNwcCBcCiAJYmluZGluZ3MvdjgvY3Vz
dG9tL1Y4TmFtZWROb2Rlc0NvbGxlY3Rpb24uY3BwIFwKIAliaW5kaW5ncy92OC9jdXN0b20vVjhO
b2RlQ3VzdG9tLmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4
dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDkwMGE3OTIyMzVjNWMyNWUz
NDQwNDk5YjQzMzA2YjZmN2ZhZDhlYTMuLmY1ZjFkMWRkMzE1YWQ5OGRkZDhiMzcyYWUzMzQyMDk0
NGZhNDU1ZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBi
L1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0zMzAsNiArMzMwLDggQEAgU0VUKFdl
YkNvcmVfSURMX0ZJTEVTCiAgICAgcGFnZS9Mb2NhdGlvbi5pZGwKICAgICBwYWdlL01lbW9yeUlu
Zm8uaWRsCiAgICAgcGFnZS9OYXZpZ2F0b3IuaWRsCisgICAgcGFnZS9OYXZpZ2F0b3JVc2VyTWVk
aWFFcnJvckNhbGxiYWNrLmlkbAorICAgIHBhZ2UvTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0Nh
bGxiYWNrLmlkbAogICAgIHBhZ2UvUGVyZm9ybWFuY2UuaWRsCiAgICAgcGFnZS9QZXJmb3JtYW5j
ZU5hdmlnYXRpb24uaWRsCiAgICAgcGFnZS9QZXJmb3JtYW5jZVRpbWluZy5pZGwKQEAgLTE5NDUs
NiArMTk0NywxNiBAQCBJRiAoRU5BQkxFX1BST0dSRVNTX1RBRykKICAgICApCiBFTkRJRiAoKQog
CitJRiAoRU5BQkxFX01FRElBX1NUUkVBTSkKKyAgICBMSVNUKEFQUEVORCBXZWJDb3JlX1NPVVJD
RVMKKyAgICAgICAgYmluZGluZ3MvanMvSlNOYXZpZ2F0b3JDdXN0b20uY3BwCisgICAgKQorCisg
ICAgTElTVChBUFBFTkQgV2ViQ29yZV9JRExfRklMRVMKKyAgICAgICAgcGFnZS9OYXZpZ2F0b3JV
c2VyTWVkaWFFcnJvci5pZGwKKyAgICApCitFTkRJRiAoKQorCiAKIAogIyBNb2R1bGVzIHRoYXQg
dGhlIGJpbmRpbmdzIGdlbmVyYXRvciBzY3JpcHRzIG1heSB1c2UKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBjODI0
YzAzYzgyODY5ZWM5Y2Y0OTlhMDNjODJkYTJjMmJlMDQxNzAyLi40N2UzYzhhZGMyNWMxZGQwNmM5
ZThhYmZiZTU1NDI1YjIxMjQyMWNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDkgQEAKKzIwMTEt
MDQtMDcgIExlYW5kcm8gR3JhY2lhIEdpbCAgPGxlYW5kcm9ncmFjaWFAY2hyb21pdW0ub3JnPgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1lZGlhIFN0
cmVhbSBBUEk6IGFkZCB0aGUgZ2V0VXNlck1lZGlhIG1ldGhvZCBhbmQgdGhlIEphdmFzY3JpcHQg
YmluZGluZ3MuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD01NjU4NgorCisgICAgICAgIEFkZCB0aGUgZ2V0VXNlck1lZGlhIG1ldGhvZCB0byB0aGUgbmF2
aWdhdG9yIGFuZCBpdHMgbmV3IEphdmFzY3JpcHQgdHlwZXMuCisgICAgICAgIEN1cnJlbnQgc3Bl
Y2lmaWNhdGlvbjogaHR0cDovL3d3dy53aGF0d2cub3JnL3NwZWNzL3dlYi1hcHBzL2N1cnJlbnQt
d29yay9tdWx0aXBhZ2UvZG5kLmh0bWwjdmlkZW8tY29uZmVyZW5jaW5nLWFuZC1wZWVyLXRvLXBl
ZXItY29tbXVuaWNhdGlvbgorCisgICAgICAgIFRlc3RzOiBmYXN0L2RvbS9NZWRpYVN0cmVhbS9h
cmd1bWVudC10eXBlcy5odG1sCisgICAgICAgICAgICAgICBmYXN0L2RvbS9NZWRpYVN0cmVhbS9l
bmFibGVkLmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvZG9tL01lZGlhU3RyZWFtL25vLWludGVy
ZmFjZS1vYmplY3QuaHRtbAorCisgICAgICAgICogQW5kcm9pZC5kZXJpdmVkLmpzY2JpbmRpbmdz
Lm1rOgorICAgICAgICAqIEFuZHJvaWQuZGVyaXZlZC52OGJpbmRpbmdzLm1rOgorICAgICAgICAq
IEFuZHJvaWQudjhiaW5kaW5ncy5tazoKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAg
ICAgKiBDb2RlR2VuZXJhdG9ycy5wcmk6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMuY3BwOgor
ICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogR05VbWFrZWZpbGUuYW06
CisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIFdlYkNvcmUucHJvOgorICAgICAg
ICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qOgorICAgICAgICAqIFdlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU05hdmlnYXRv
ckN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU05hdmlnYXRvcjo6d2Via2l0R2V0VXNl
ck1lZGlhKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhOYXZpZ2F0b3JDdXN0b20u
Y3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlY4TmF2aWdhdG9yOjp3ZWJraXRHZXRVc2Vy
TWVkaWFDYWxsYmFjayk6CisgICAgICAgICogcGFnZS9OYXZpZ2F0b3IuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6TmF2aWdhdG9yOjp3ZWJraXRHZXRVc2VyTWVkaWEpOgorICAgICAgICAqIHBhZ2Uv
TmF2aWdhdG9yLmg6CisgICAgICAgICogcGFnZS9OYXZpZ2F0b3IuaWRsOgorICAgICAgICAqIHBh
Z2UvTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpO
YXZpZ2F0b3JVc2VyTWVkaWFFcnJvcjo6TmF2aWdhdG9yVXNlck1lZGlhRXJyb3IpOgorICAgICAg
ICAoV2ViQ29yZTo6TmF2aWdhdG9yVXNlck1lZGlhRXJyb3I6On5OYXZpZ2F0b3JVc2VyTWVkaWFF
cnJvcik6CisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvcjo6Y29kZSk6
CisgICAgICAgICogcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5pZGw6IEFkZGVkLgorICAg
ICAgICAqIHBhZ2UvTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5oOiBBZGRlZC4KKyAg
ICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2s6On5OYXZpZ2F0
b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrKToKKyAgICAgICAgKiBwYWdlL05hdmlnYXRvclVzZXJN
ZWRpYUVycm9yQ2FsbGJhY2suaWRsOiBBZGRlZC4KKyAgICAgICAgKiBwYWdlL05hdmlnYXRvclVz
ZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6Ok5hdmln
YXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjazo6fk5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3ND
YWxsYmFjayk6CisgICAgICAgICogcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJh
Y2suaWRsOiBBZGRlZC4KKwogMjAxMS0wNC0wNiAgSWx5YSBUaWtob25vdnNreSAgPGxvaXNsb0Bj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgWXVyeSBTZW1pa2hhdHNreS4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NvZGVHZW5lcmF0b3JzLnByaSBiL1NvdXJjZS9XZWJD
b3JlL0NvZGVHZW5lcmF0b3JzLnByaQppbmRleCA5ZWRlY2M5MDJhYWI1OTgyZjhjMmU5ZDc4NWE0
MDFjN2UwYzAyMWZkLi4xNDJmNGZlMjVjMmI4MDBkNzIwOWIzOTc0MDIwNTUxZDJmMWViNzY1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Db2RlR2VuZXJhdG9ycy5wcmkKKysrIGIvU291cmNl
L1dlYkNvcmUvQ29kZUdlbmVyYXRvcnMucHJpCkBAIC0zMjUsNiArMzI1LDkgQEAgSURMX0JJTkRJ
TkdTICs9IFwKICAgICBwYWdlL0xvY2F0aW9uLmlkbCBcCiAgICAgcGFnZS9NZW1vcnlJbmZvLmlk
bCBcCiAgICAgcGFnZS9OYXZpZ2F0b3IuaWRsIFwKKyAgICBwYWdlL05hdmlnYXRvclVzZXJNZWRp
YUVycm9yLmlkbCBcCisgICAgcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmlk
bCBcCisgICAgcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suaWRsIFwKICAg
ICBwYWdlL1BlcmZvcm1hbmNlLmlkbCBcCiAgICAgcGFnZS9QZXJmb3JtYW5jZU5hdmlnYXRpb24u
aWRsIFwKICAgICBwYWdlL1BlcmZvcm1hbmNlVGltaW5nLmlkbCBcCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291
cmNlcy5jcHAKaW5kZXggMjQwMjJmNzRlZjZiODgyMzdhZWJmYmU1OTgwOGMzYmE0NzdiZmU4Mi4u
MmNhZTgwYzNlMjYyNzA2MmZlYWU4MmNlZThiYWJiYWFiMTA4MDY2YiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2
ZWRTb3VyY2VzLmNwcApAQCAtMjQ1LDYgKzI0NSw5IEBACiAjaW5jbHVkZSAiSlNNdXRhdGlvbkV2
ZW50LmNwcCIKICNpbmNsdWRlICJKU05hbWVkTm9kZU1hcC5jcHAiCiAjaW5jbHVkZSAiSlNOYXZp
Z2F0b3IuY3BwIgorI2luY2x1ZGUgIkpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuY3BwIgorI2lu
Y2x1ZGUgIkpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5jcHAiCisjaW5jbHVkZSAi
SlNOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suY3BwIgogI2luY2x1ZGUgIkpTTm9k
ZS5jcHAiCiAjaW5jbHVkZSAiSlNOb2RlRmlsdGVyLmNwcCIKICNpbmNsdWRlICJKU05vZGVJdGVy
YXRvci5jcHAiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtl
IGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCBhZjg5NGYzOTc4YTgz
NjJmZTQ0MDJlNzQ3YWM5OWViMTk1YzU3Y2YwLi4xNGUxOTY5NWY0NTc1ODMzMjVkNWY5YWU4MDgw
N2MxYjZhMDQwM2M1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5t
YWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTMwOCw2ICsz
MDgsOSBAQCBET01fQ0xBU1NFUyA9IFwKICAgICBNdXRhdGlvbkV2ZW50IFwKICAgICBOYW1lZE5v
ZGVNYXAgXAogICAgIE5hdmlnYXRvciBcCisgICAgTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IgXAor
ICAgIE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2sgXAorICAgIE5hdmlnYXRvclVzZXJN
ZWRpYVN1Y2Nlc3NDYWxsYmFjayBcCiAgICAgTm9kZSBcCiAgICAgTm9kZUZpbHRlciBcCiAgICAg
Tm9kZUl0ZXJhdG9yIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFt
IGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KaW5kZXggZWU3MGE0ZmJhMWQxNDg0MzVh
ZTZjMjZlYWVmNzEyODk0YTIwNWVhMS4uOWZlYTIyMzZjNWM1MjcwNWQ4MTI1ZDMyZWRlZjIyMzJi
NmNhODA4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KKysrIGIv
U291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KQEAgLTQ3NSw2ICs0NzUsMTIgQEAgd2ViY29y
ZV9idWlsdF9zb3VyY2VzICs9IFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTmFtZWROb2Rl
TWFwLmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOYXZpZ2F0b3IuY3BwIFwKIAlEZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTTmF2aWdhdG9yLmggXAorCURlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5jcHAgXAorCURlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5oIFwKKwlEZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5jcHAgXAorCURlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmggXAorCURlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suY3BwIFwK
KwlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxi
YWNrLmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOb2RlLmNwcCBcCiAJRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU05vZGVGaWx0ZXIuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTTm9kZUZpbHRlci5oIFwKQEAgLTIyOTksNiArMjMwNSw5IEBAIHdlYmNvcmVfc291cmNlcyAr
PSBcCiAJU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3IuaCBcCiAJU291cmNlL1dlYkNvcmUv
cGFnZS9OYXZpZ2F0b3JCYXNlLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3JC
YXNlLmggXAorCVNvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuaCBc
CisJU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmgg
XAorCVNvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNr
LmggXAogCVNvdXJjZS9XZWJDb3JlL3BhZ2UvT3JpZ2luQWNjZXNzRW50cnkuY3BwIFwKIAlTb3Vy
Y2UvV2ViQ29yZS9wYWdlL09yaWdpbkFjY2Vzc0VudHJ5LmggXAogCVNvdXJjZS9XZWJDb3JlL3Bh
Z2UvUGFnZS5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IGU5ZjdmMmFmY2RiODFjYmY4Y2RlYWIy
MGNhYWM3MDI3NDA1NWUxNGEuLjQwYWNjNTA5N2UyMmI3NDhhMmNhYjhmM2I2ZmE3N2QzMjk2ZWY0
ZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTEzMjIsNiArMTMyMiw5IEBACiAgICAgICAgICAgICAn
cGFnZS9Mb2NhdGlvbi5pZGwnLAogICAgICAgICAgICAgJ3BhZ2UvTWVtb3J5SW5mby5pZGwnLAog
ICAgICAgICAgICAgJ3BhZ2UvTmF2aWdhdG9yLmlkbCcsCisgICAgICAgICAgICAncGFnZS9OYXZp
Z2F0b3JVc2VyTWVkaWFFcnJvci5pZGwnLAorICAgICAgICAgICAgJ3BhZ2UvTmF2aWdhdG9yVXNl
ck1lZGlhRXJyb3JDYWxsYmFjay5pZGwnLAorICAgICAgICAgICAgJ3BhZ2UvTmF2aWdhdG9yVXNl
ck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmlkbCcsCiAgICAgICAgICAgICAncGFnZS9QZXJmb3JtYW5j
ZS5pZGwnLAogICAgICAgICAgICAgJ3BhZ2UvUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmlkbCcsCiAg
ICAgICAgICAgICAncGFnZS9QZXJmb3JtYW5jZVRpbWluZy5pZGwnLApAQCAtMjEyMyw2ICsyMTI2
LDcgQEAKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhOYW1lZE5vZGVNYXBDdXN0
b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhOYW1lZE5vZGVzQ29s
bGVjdGlvbi5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE5hbWVkTm9k
ZXNDb2xsZWN0aW9uLmgnLAorICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE5hdmln
YXRvckN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE5vZGVD
dXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhOb2RlTGlzdEN1
c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE5vdGlmaWNhdGlv
bkNlbnRlckN1c3RvbS5jcHAnLApAQCAtMzQwNSw2ICszNDA5LDkgQEAKICAgICAgICAgICAgICdw
YWdlL05hdmlnYXRvci5oJywKICAgICAgICAgICAgICdwYWdlL05hdmlnYXRvckJhc2UuY3BwJywK
ICAgICAgICAgICAgICdwYWdlL05hdmlnYXRvckJhc2UuaCcsCisgICAgICAgICAgICAncGFnZS9O
YXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5oJywKKyAgICAgICAgICAgICdwYWdlL05hdmlnYXRvclVz
ZXJNZWRpYUVycm9yQ2FsbGJhY2suaCcsCisgICAgICAgICAgICAncGFnZS9OYXZpZ2F0b3JVc2Vy
TWVkaWFTdWNjZXNzQ2FsbGJhY2suaCcsCiAgICAgICAgICAgICAncGFnZS9PcmlnaW5BY2Nlc3NF
bnRyeS5jcHAnLAogICAgICAgICAgICAgJ3BhZ2UvT3JpZ2luQWNjZXNzRW50cnkuaCcsCiAgICAg
ICAgICAgICAncGFnZS9QYWdlLmNwcCcsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnBybyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvCmluZGV4IGQ0MjIxZmY5ZGZkM2E5
ODRhMGVkZDk2MTQyNzc5YjcwZDhmYzdjMGUuLjFmMGZhMGNjZjUxNWJhZDczNDBiMzlmY2Y0MjZj
Njc1Y2QzNzFjZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvCisrKyBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvCkBAIC0zMTE5LDYgKzMxMTksMTkgQEAgY29udGFp
bnMoREVGSU5FUywgRU5BQkxFX0dFT0xPQ0FUSU9OPTEpIHsKICAgICB9CiB9CiAKK2NvbnRhaW5z
KERFRklORVMsIEVOQUJMRV9NRURJQV9TVFJFQU09MSkgeworICAgIEhFQURFUlMgKz0gXAorICAg
ICAgICBwYWdlL05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmggXAorICAgICAgICBwYWdlL05hdmln
YXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2suaCBcCisgICAgICAgIHBhZ2UvTmF2aWdhdG9yVXNl
ck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmgKKworICAgIHY4IHsKKyAgICAgICAgU09VUkNFUyArPSBc
CisgICAgICAgICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhOYXZpZ2F0b3JDdXN0b20uY3BwCisK
KyAgICB9Cit9CisKIGNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9TVkc9MSkgewogICAgICF2OCB7
CiAgICAgICAgIFNPVVJDRVMgKz0gXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9X
ZWJDb3JlLnZjcHJvagppbmRleCBhYjIxMTc2ZDAyNzA1ZjQxZDgxZTYxZjQ3Njk2NjVmNTJjZDk4
ZWZlLi43M2Y4MTAwMzE3NDhlODFkZWJjMzI2YjIyZmQyZGZlYzk1NjU1YzA3IDEwMDc1NQotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagpAQCAtMTE4NzgsNiArMTE4
NzgsMTc0IEBACiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9
IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJj
ZXNcSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5jcHAiCisJCQkJPgorCQkJCTxGaWxlQ29uZmln
dXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9
InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wi
CisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRp
b24KKwkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRy
dWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJ
CQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24K
KwkJCQkJTmFtZT0iRGVidWdfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21C
dWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVy
VG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmln
dXJhdGlvbgorCQkJCQlOYW1lPSJSZWxlYXNlX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJRXhj
bHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZD
Q0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8
RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWdfQWxsfFdpbjMyIgorCQkJCQlFeGNs
dWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkND
TENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxG
aWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJQcm9kdWN0aW9ufFdpbjMyIgorCQkJCQlFeGNs
dWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkND
TENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJPC9G
aWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGly
KVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNOYXZpZ2F0b3JVc2VyTWVkaWFF
cnJvci5oIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIk
KENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2Vz
XEpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5jcHAiCisJCQkJPgorCQkJCTxGaWxl
Q29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9t
QnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxl
clRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZp
Z3VyYXRpb24KKwkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVp
bGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRv
b2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3Vy
YXRpb24KKwkJCQkJTmFtZT0iRGVidWdfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQlFeGNsdWRl
ZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENv
bXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxl
Q29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJSZWxlYXNlX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJ
CQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5h
bWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4K
KwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWdfQWxsfFdpbjMyIgorCQkJ
CQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFt
ZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgor
CQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJQcm9kdWN0aW9ufFdpbjMyIgorCQkJ
CQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFt
ZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgor
CQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1
aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNOYXZpZ2F0b3JVc2Vy
TWVkaWFFcnJvckNhbGxiYWNrLmgiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlS
ZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlc
RGVyaXZlZFNvdXJjZXNcSlNOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suY3BwIgor
CQkJCT4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWd8V2luMzIiCisJ
CQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlO
YW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+
CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiCisJCQkJ
CUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1l
PSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJ
CQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVnX0NhaXJvX0NGTGl0ZXxXaW4z
MiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJ
CQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJh
dGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUmVsZWFzZV9DYWlyb19D
RkxpdGV8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJ
CTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmls
ZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVn
X0FsbHxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJ
PFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxl
Q29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUHJvZHVj
dGlvbnxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJ
PFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxl
Q29uZmlndXJhdGlvbj4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIk
KENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2Vz
XEpTTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmgiCisJCQkJPgorCQkJPC9GaWxl
PgorCQkJPEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxv
YmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNOb2RlLmNwcCIKIAkJCQk+CiAJCQkJ
PEZpbGVDb25maWd1cmF0aW9uCkBAIC0yNDg4Miw2ICsyNTA1MCwxOCBAQAogCQkJCT4KIAkJCTwv
RmlsZT4KIAkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxwYWdlXE5hdmlnYXRvclVzZXJN
ZWRpYUVycm9yLmgiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBh
dGg9Ii4uXHBhZ2VcTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5oIgorCQkJCT4KKwkJ
CTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxwYWdlXE5hdmlnYXRvclVz
ZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5oIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCiAJ
CQkJUmVsYXRpdmVQYXRoPSIuLlxwYWdlXE9yaWdpbkFjY2Vzc0VudHJ5LmNwcCIKIAkJCQk+CiAJ
CQk8L0ZpbGU+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKaW5kZXggMTA4ZDNjNjM4Y2E3ZjVkNjQ5MmFjNjFkZjM5YzI4OWVkOTBlZjg2NS4u
OTEzODcyZTkwNjNkYTA3NDJiMWQ1ZTJhODc4NDMyNmFkYTAyMjNmYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNDA5OCw2ICs0
MDk4LDE1IEBACiAJCUIwMTQ5RTgwMTFBNEIyMTUwMDE5NkE3QiAvKiBJbWFnZVJlc2l6ZXJUaHJl
YWQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIwMTQ5
RTdDMTFBNEIyMTUwMDE5NkE3QiAvKiBJbWFnZVJlc2l6ZXJUaHJlYWQuaCAqLzsgfTsKIAkJQjE4
Mjc0OTMxMzRDQTRDMTAwQjk4QzJEIC8qIENhbGxiYWNrRnVuY3Rpb24uY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjE4Mjc0OTIxMzRDQTRDMTAwQjk4
QzJEIC8qIENhbGxiYWNrRnVuY3Rpb24uY3BwICovOyB9OwogCQlCMUQ1RUNCNTEzNEI1OERBMDA4
N0M3OEYgLyogQ2FsbGJhY2tGdW5jdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQjFENUVDQjQxMzRCNThEQTAwODdDNzhGIC8qIENhbGxiYWNrRnVu
Y3Rpb24uaCAqLzsgfTsKKwkJQjFFNTQ1OTkxMzQ2MjlDMTAwOTJBNTQ1IC8qIE5hdmlnYXRvclVz
ZXJNZWRpYUVycm9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBCMUU1NDU4RDEzNDYyOUMxMDA5MkE1NDUgLyogTmF2aWdhdG9yVXNlck1lZGlhRXJyb3Iu
aCAqLzsgfTsKKwkJQjFFNTQ1OUIxMzQ2MjlDMTAwOTJBNTQ1IC8qIE5hdmlnYXRvclVzZXJNZWRp
YUVycm9yQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEIxRTU0NThGMTM0NjI5QzEwMDkyQTU0NSAvKiBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJv
ckNhbGxiYWNrLmggKi87IH07CisJCUIxRTU0NTlEMTM0NjI5QzEwMDkyQTU0NSAvKiBOYXZpZ2F0
b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEIxRTU0NTkxMTM0NjI5QzEwMDkyQTU0NSAvKiBOYXZpZ2F0b3JV
c2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suaCAqLzsgfTsKKwkJQjFFNTQ1REYxMzQ2MkIwQjAwOTJB
NTQ1IC8qIEpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjFFNTQ1RDExMzQ2MkIwQjAwOTJBNTQ1IC8qIEpT
TmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuY3BwICovOyB9OworCQlCMUU1NDVFMDEzNDYyQjBCMDA5
MkE1NDUgLyogSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjFFNTQ1RDIxMzQ2MkIwQjAwOTJBNTQ1IC8qIEpT
TmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuaCAqLzsgfTsKKwkJQjFFNTQ1RTExMzQ2MkIwQjAwOTJB
NTQ1IC8qIEpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMUU1NDVEMzEzNDYyQjBCMDA5MkE1
NDUgLyogSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmNwcCAqLzsgfTsKKwkJQjFF
NTQ1RTIxMzQ2MkIwQjAwOTJBNTQ1IC8qIEpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFj
ay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjFFNTQ1
RDQxMzQ2MkIwQjAwOTJBNTQ1IC8qIEpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5o
ICovOyB9OworCQlCMUU1NDVFMzEzNDYyQjBCMDA5MkE1NDUgLyogSlNOYXZpZ2F0b3JVc2VyTWVk
aWFTdWNjZXNzQ2FsbGJhY2suY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQjFFNTQ1RDUxMzQ2MkIwQjAwOTJBNTQ1IC8qIEpTTmF2aWdhdG9yVXNlck1l
ZGlhU3VjY2Vzc0NhbGxiYWNrLmNwcCAqLzsgfTsKKwkJQjFFNTQ1RTQxMzQ2MkIwQjAwOTJBNTQ1
IC8qIEpTTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMUU1NDVENjEzNDYyQjBCMDA5MkE1NDUg
LyogSlNOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suaCAqLzsgfTsKIAkJQjIwMTEx
MDcwQUI3NzQwNTAwREIwRTY4IC8qIEpTU1ZHQUVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjIwMTExMDUwQUI3NzQwNTAwREIwRTY4IC8q
IEpTU1ZHQUVsZW1lbnQuY3BwICovOyB9OwogCQlCMjAxMTEwODBBQjc3NDA1MDBEQjBFNjggLyog
SlNTVkdBRWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQjIwMTExMDYwQUI3NzQwNTAwREIwRTY4IC8qIEpTU1ZHQUVsZW1lbnQuaCAqLzsgfTsK
IAkJQjIyMjc5NjIwRDAwQkYyMjAwNzFCNzgyIC8qIENvbG9yRGlzdGFuY2UuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjIyMjc3Q0IwRDAwQkYxRjAw
NzFCNzgyIC8qIENvbG9yRGlzdGFuY2UuY3BwICovOyB9OwpAQCAtMTAzNzcsNiArMTAzODYsMTgg
QEAKIAkJQjAxNDlFN0MxMUE0QjIxNTAwMTk2QTdCIC8qIEltYWdlUmVzaXplclRocmVhZC5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbWFnZVJlc2l6ZXJUaHJlYWQuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjE4Mjc0OTIxMzRDQTRDMTAwQjk4QzJEIC8qIENh
bGxiYWNrRnVuY3Rpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
Q2FsbGJhY2tGdW5jdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIxRDVF
Q0I0MTM0QjU4REEwMDg3Qzc4RiAvKiBDYWxsYmFja0Z1bmN0aW9uLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IENhbGxiYWNrRnVuY3Rpb24uaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJQjFFNTQ1OEQxMzQ2MjlDMTAwOTJBNTQ1IC8qIE5hdmlnYXRvclVzZXJNZWRp
YUVycm9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5hdmlnYXRvclVzZXJN
ZWRpYUVycm9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIxRTU0NThFMTM0NjI5
QzEwMDkyQTU0NSAvKiBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5pZGwgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0
OyBwYXRoID0gTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQlCMUU1NDU4RjEzNDYyOUMxMDA5MkE1NDUgLyogTmF2aWdhdG9yVXNlck1lZGlh
RXJyb3JDYWxsYmFjay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOYXZpZ2F0
b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CUIxRTU0NTkwMTM0NjI5QzEwMDkyQTU0NSAvKiBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxi
YWNrLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNh
bGxiYWNrLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjFFNTQ1OTExMzQ2MjlD
MTAwOTJBNTQ1IC8qIE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJh
Y2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjFFNTQ1OTIxMzQ2MjlDMTAwOTJB
NTQ1IC8qIE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5pZGwgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0
ZXh0OyBwYXRoID0gTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmlkbDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjFFNTQ1RDExMzQ2MkIwQjAwOTJBNTQ1IC8qIEpTTmF2
aWdhdG9yVXNlck1lZGlhRXJyb3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCUIxRTU0NUQyMTM0NjJCMEIwMDkyQTU0NSAvKiBKU05hdmlnYXRvclVzZXJNZWRp
YUVycm9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTTmF2aWdhdG9yVXNl
ck1lZGlhRXJyb3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjFFNTQ1RDMxMzQ2
MkIwQjAwOTJBNTQ1IC8qIEpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU05hdmlnYXRvclVzZXJNZWRpYUVy
cm9yQ2FsbGJhY2suY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCMUU1NDVENDEz
NDYyQjBCMDA5MkE1NDUgLyogSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JD
YWxsYmFjay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCMUU1NDVENTEzNDYyQjBC
MDA5MkE1NDUgLyogSlNOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNOYXZpZ2F0b3JVc2VyTWVkaWFTdWNj
ZXNzQ2FsbGJhY2suY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCMUU1NDVENjEz
NDYyQjBCMDA5MkE1NDUgLyogSlNOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNOYXZpZ2F0b3JVc2VyTWVkaWFTdWNj
ZXNzQ2FsbGJhY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjIwMTExMDUwQUI3
NzQwNTAwREIwRTY4IC8qIEpTU1ZHQUVsZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEpTU1ZHQUVsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlCMjAxMTEwNjBBQjc3NDA1MDBEQjBFNjggLyogSlNTVkdBRWxlbWVudC5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNTVkdBRWxlbWVudC5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlCMjIyNzdDQjBEMDBCRjFGMDA3MUI3ODIgLyogQ29sb3JEaXN0
YW5jZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ29sb3JEaXN0
YW5jZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNDI3NCw2ICsxNDI5NSwx
MiBAQAogCQkJCUE5QzZFNjVEMEQ3NDY2OTQwMDY0NDJFOSAvKiBOYXZpZ2F0b3IuaWRsICovLAog
CQkJCUUxMjcxOUM5MEVFRUMyMTMwMEY2MTIxMyAvKiBOYXZpZ2F0b3JCYXNlLmNwcCAqLywKIAkJ
CQlFMTI3MTlDNjBFRUVDMTY4MDBGNjEyMTMgLyogTmF2aWdhdG9yQmFzZS5oICovLAorCQkJCUIx
RTU0NThEMTM0NjI5QzEwMDkyQTU0NSAvKiBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5oICovLAor
CQkJCUIxRTU0NThFMTM0NjI5QzEwMDkyQTU0NSAvKiBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5p
ZGwgKi8sCisJCQkJQjFFNTQ1OEYxMzQ2MjlDMTAwOTJBNTQ1IC8qIE5hdmlnYXRvclVzZXJNZWRp
YUVycm9yQ2FsbGJhY2suaCAqLywKKwkJCQlCMUU1NDU5MDEzNDYyOUMxMDA5MkE1NDUgLyogTmF2
aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5pZGwgKi8sCisJCQkJQjFFNTQ1OTExMzQ2MjlD
MTAwOTJBNTQ1IC8qIE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5oICovLAorCQkJ
CUIxRTU0NTkyMTM0NjI5QzEwMDkyQTU0NSAvKiBOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2Fs
bGJhY2suaWRsICovLAogCQkJCTAwMTQ2Mjg4MTAzQ0QxREUwMDBCMjBEQiAvKiBPcmlnaW5BY2Nl
c3NFbnRyeS5jcHAgKi8sCiAJCQkJMDAxNDYyODkxMDNDRDFERTAwMEIyMERCIC8qIE9yaWdpbkFj
Y2Vzc0VudHJ5LmggKi8sCiAJCQkJNjVGRUE4NjgwOTgzM0FERTAwQkVENEFCIC8qIFBhZ2UuY3Bw
ICovLApAQCAtMTgzNDYsNiArMTgzNzMsMTIgQEAKIAkJCQk5RkZFM0VBNDExQjVBNDM5MDAzNzg3
NEUgLyogSlNNZW1vcnlJbmZvLmggKi8sCiAJCQkJQTlEMjQ3RjUwRDc1N0UzMzAwRkRGOTU5IC8q
IEpTTmF2aWdhdG9yLmNwcCAqLywKIAkJCQlBOUQyNDdGNjBENzU3RTMzMDBGREY5NTkgLyogSlNO
YXZpZ2F0b3IuaCAqLywKKwkJCQlCMUU1NDVEMTEzNDYyQjBCMDA5MkE1NDUgLyogSlNOYXZpZ2F0
b3JVc2VyTWVkaWFFcnJvci5jcHAgKi8sCisJCQkJQjFFNTQ1RDIxMzQ2MkIwQjAwOTJBNTQ1IC8q
IEpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuaCAqLywKKwkJCQlCMUU1NDVEMzEzNDYyQjBCMDA5
MkE1NDUgLyogSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmNwcCAqLywKKwkJCQlC
MUU1NDVENDEzNDYyQjBCMDA5MkE1NDUgLyogSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxi
YWNrLmggKi8sCisJCQkJQjFFNTQ1RDUxMzQ2MkIwQjAwOTJBNTQ1IC8qIEpTTmF2aWdhdG9yVXNl
ck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmNwcCAqLywKKwkJCQlCMUU1NDVENjEzNDYyQjBCMDA5MkE1
NDUgLyogSlNOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suaCAqLywKIAkJCQk4QTlB
NTg3MjExRTg0QzgxMDA4QUNGRDEgLyogSlNQZXJmb3JtYW5jZS5jcHAgKi8sCiAJCQkJOEE5QTU4
NzMxMUU4NEM4MTAwOEFDRkQxIC8qIEpTUGVyZm9ybWFuY2UuaCAqLywKIAkJCQk4QTlBNTg2RTEx
RTg0QzM1MDA4QUNGRDEgLyogSlNQZXJmb3JtYW5jZU5hdmlnYXRpb24uY3BwICovLApAQCAtMjI4
MzcsNiArMjI4NzAsMTIgQEAKIAkJCQlFMUEzMTYyRDEzNEJDMzJEMDA3QzlBNEYgLyogV2ViTlNB
dHRyaWJ1dGVkU3RyaW5nRXh0cmFzLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMUEzMTY2MzEzNEJD
QUU4MDA3QzlBNEYgLyogSFRNTENvbnZlcnRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjFENUVD
QjUxMzRCNThEQTAwODdDNzhGIC8qIENhbGxiYWNrRnVuY3Rpb24uaCBpbiBIZWFkZXJzICovLAor
CQkJCUIxRTU0NTk5MTM0NjI5QzEwMDkyQTU0NSAvKiBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5o
IGluIEhlYWRlcnMgKi8sCisJCQkJQjFFNTQ1OUIxMzQ2MjlDMTAwOTJBNTQ1IC8qIE5hdmlnYXRv
clVzZXJNZWRpYUVycm9yQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovLAorCQkJCUIxRTU0NTlEMTM0
NjI5QzEwMDkyQTU0NSAvKiBOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suaCBpbiBI
ZWFkZXJzICovLAorCQkJCUIxRTU0NUUwMTM0NjJCMEIwMDkyQTU0NSAvKiBKU05hdmlnYXRvclVz
ZXJNZWRpYUVycm9yLmggaW4gSGVhZGVycyAqLywKKwkJCQlCMUU1NDVFMjEzNDYyQjBCMDA5MkE1
NDUgLyogSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmggaW4gSGVhZGVycyAqLywK
KwkJCQlCMUU1NDVFNDEzNDYyQjBCMDA5MkE1NDUgLyogSlNOYXZpZ2F0b3JVc2VyTWVkaWFTdWNj
ZXNzQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3lt
ZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAtMjU1MjYsNiArMjU1NjUsOSBAQAogCQkJ
CUZEMDZERkE1MTM0QTRERUYwMDZGNUQ3RCAvKiBEZWZhdWx0QXVkaW9EZXN0aW5hdGlvbk5vZGUu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTFBMzE2MkUxMzRCQzMyRDAwN0M5QTRGIC8qIFdlYk5T
QXR0cmlidXRlZFN0cmluZ0V4dHJhcy5tbSBpbiBTb3VyY2VzICovLAogCQkJCUIxODI3NDkzMTM0
Q0E0QzEwMEI5OEMyRCAvKiBDYWxsYmFja0Z1bmN0aW9uLmNwcCBpbiBTb3VyY2VzICovLAorCQkJ
CUIxRTU0NURGMTM0NjJCMEIwMDkyQTU0NSAvKiBKU05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmNw
cCBpbiBTb3VyY2VzICovLAorCQkJCUIxRTU0NUUxMTM0NjJCMEIwMDkyQTU0NSAvKiBKU05hdmln
YXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2suY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQjFFNTQ1
RTMxMzQ2MkIwQjAwOTJBNTQ1IC8qIEpTTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNr
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHBy
b2Nlc3NpbmcgPSAwOwogCQl9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNOYXZpZ2F0b3JDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNO
YXZpZ2F0b3JDdXN0b20uY3BwCmluZGV4IGMwMjM5MzEzMmE4MjMyYTFkNDhlMTMxNjg2ZTM3MGQx
ZmY0MmY3YjIuLmY4YWE5ZTcwZWI0NjJkMzEzMzU5M2FkMmI3MWNlOTZkOWQ0YjZiYmYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTmF2aWdhdG9yQ3VzdG9tLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU05hdmlnYXRvckN1c3RvbS5jcHAKQEAg
LTIzLDYgKzIzLDkgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJKU05hdmlnYXRv
ci5oIgogCisjaW5jbHVkZSAiQ2FsbGJhY2tGdW5jdGlvbi5oIgorI2luY2x1ZGUgIkpTTmF2aWdh
dG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5oIgorI2luY2x1ZGUgIkpTTmF2aWdhdG9yVXNlck1l
ZGlhU3VjY2Vzc0NhbGxiYWNrLmgiCiAjaW5jbHVkZSAiTmF2aWdhdG9yLmgiCiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKQEAgLTM4LDQgKzQxLDI2IEBAIHZvaWQgSlNOYXZpZ2F0b3I6Om1hcmtDaGls
ZHJlbihNYXJrU3RhY2smIG1hcmtTdGFjaykKICAgICBtYXJrRE9NT2JqZWN0V3JhcHBlcihtYXJr
U3RhY2ssIGdsb2JhbERhdGEsIGltcGwoKS0+b3B0aW9uYWxHZW9sb2NhdGlvbigpKTsKIH0KIAor
I2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCitKU1ZhbHVlIEpTTmF2aWdhdG9yOjp3ZWJraXRHZXRV
c2VyTWVkaWEoRXhlY1N0YXRlKiBleGVjKQoreworICAgIC8vIEFyZ3VtZW50czogT3B0aW9ucywg
c3VjY2Vzc0NhbGxiYWNrLCAob3B0aW9uYWwpZXJyb3JDYWxsYmFjaworCisgICAgU3RyaW5nIG9w
dGlvbnMgPSB1c3RyaW5nVG9TdHJpbmcoZXhlYy0+YXJndW1lbnQoMCkudG9TdHJpbmcoZXhlYykp
OworICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKKyAgICAgICAgcmV0dXJuIGpzVW5kZWZp
bmVkKCk7CisKKyAgICBSZWZQdHI8TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrPiBz
dWNjZXNzQ2FsbGJhY2sgPSBjcmVhdGVGdW5jdGlvbk9ubHlDYWxsYmFjazxKU05hdmlnYXRvclVz
ZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjaz4oZXhlYywgc3RhdGljX2Nhc3Q8SlNET01HbG9iYWxPYmpl
Y3QqPihleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCkpLCBleGVjLT5hcmd1bWVudCgxKSk7Cisg
ICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpIHx8ICFzdWNjZXNzQ2FsbGJhY2spCisgICAgICAg
IHJldHVybiBqc1VuZGVmaW5lZCgpOworCisgICAgUmVmUHRyPE5hdmlnYXRvclVzZXJNZWRpYUVy
cm9yQ2FsbGJhY2s+IGVycm9yQ2FsbGJhY2sgPSBjcmVhdGVGdW5jdGlvbk9ubHlDYWxsYmFjazxK
U05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2s+KGV4ZWMsIHN0YXRpY19jYXN0PEpTRE9N
R2xvYmFsT2JqZWN0Kj4oZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpKSwgZXhlYy0+YXJndW1l
bnQoMiksIENhbGxiYWNrQWxsb3dVbmRlZmluZWQpOworICAgIGlmIChleGVjLT5oYWRFeGNlcHRp
b24oKSkKKyAgICAgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7CisKKyAgICBtX2ltcGwtPndlYmtp
dEdldFVzZXJNZWRpYShvcHRpb25zLCBzdWNjZXNzQ2FsbGJhY2sucmVsZWFzZSgpLCBlcnJvckNh
bGxiYWNrLnJlbGVhc2UoKSk7CisgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7Cit9CisjZW5kaWYg
Ly8gRU5BQkxFKE1FRElBX1NUUkVBTSkKKwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvdjgvY3VzdG9tL1Y4TmF2aWdhdG9yQ3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE5hdmlnYXRvckN1c3RvbS5jcHAKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzE4
NTk0ODc1NzkwNGEzODRjMDFhNTM3ZWM0NmE1YjYxMTIwZjZmNAotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE5hdmlnYXRvckN1c3RvbS5jcHAK
QEAgLTAsMCArMSw2NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFO
RCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgorICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTCisgKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5j
bHVkZSAiVjhOYXZpZ2F0b3IuaCIKKworI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCisKKyNpbmNs
dWRlICJOYXZpZ2F0b3IuaCIKKyNpbmNsdWRlICJWOEJpbmRpbmcuaCIKKyNpbmNsdWRlICJWOE5h
dmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2suaCIKKyNpbmNsdWRlICJWOE5hdmlnYXRvclVz
ZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5oIgorI2luY2x1ZGUgIlY4VXRpbGl0aWVzLmgiCisKK3Vz
aW5nIG5hbWVzcGFjZSBXVEY7CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwordjg6OkhhbmRsZTx2
ODo6VmFsdWU+IFY4TmF2aWdhdG9yOjp3ZWJraXRHZXRVc2VyTWVkaWFDYWxsYmFjayhjb25zdCB2
ODo6QXJndW1lbnRzJiBhcmdzKQoreworICAgIElOQ19TVEFUUygiRE9NLk5hdmlnYXRvci53ZWJr
aXRHZXRVc2VyTWVkaWEoKSIpOworCisgICAgdjg6OlRyeUNhdGNoIGV4Y2VwdGlvbkNhdGNoZXI7
CisgICAgU3RyaW5nIG9wdGlvbnMgPSB0b1dlYkNvcmVTdHJpbmcoYXJnc1swXSk7CisgICAgaWYg
KGV4Y2VwdGlvbkNhdGNoZXIuSGFzQ2F1Z2h0KCkpCisgICAgICAgIHJldHVybiB0aHJvd0Vycm9y
KGV4Y2VwdGlvbkNhdGNoZXIuRXhjZXB0aW9uKCkpOworCisgICAgYm9vbCBzdWNjZWVkZWQgPSBm
YWxzZTsKKworICAgIFJlZlB0cjxOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2s+IHN1
Y2Nlc3NDYWxsYmFjayA9IGNyZWF0ZUZ1bmN0aW9uT25seUNhbGxiYWNrPFY4TmF2aWdhdG9yVXNl
ck1lZGlhU3VjY2Vzc0NhbGxiYWNrPihhcmdzWzFdLCBzdWNjZWVkZWQpOworICAgIGlmICghc3Vj
Y2VlZGVkKQorICAgICAgICByZXR1cm4gdjg6OlVuZGVmaW5lZCgpOworCisgICAgLy8gQXJndW1l
bnQgaXMgb3B0aW9uYWwsIGhlbmNlIHVuZGVmaW5lZCBpcyBhbGxvd2VkLgorICAgIFJlZlB0cjxO
YXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrPiBlcnJvckNhbGxiYWNrID0gY3JlYXRlRnVu
Y3Rpb25Pbmx5Q2FsbGJhY2s8VjhOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrPihhcmdz
WzJdLCBzdWNjZWVkZWQsIENhbGxiYWNrQWxsb3dVbmRlZmluZWQpOworICAgIGlmICghc3VjY2Vl
ZGVkKQorICAgICAgICByZXR1cm4gdjg6OlVuZGVmaW5lZCgpOworCisgICAgTmF2aWdhdG9yKiBu
YXZpZ2F0b3IgPSBWOE5hdmlnYXRvcjo6dG9OYXRpdmUoYXJncy5Ib2xkZXIoKSk7CisgICAgbmF2
aWdhdG9yLT53ZWJraXRHZXRVc2VyTWVkaWEob3B0aW9ucywgc3VjY2Vzc0NhbGxiYWNrLnJlbGVh
c2UoKSwgZXJyb3JDYWxsYmFjay5yZWxlYXNlKCkpOworICAgIHJldHVybiB2ODo6VW5kZWZpbmVk
KCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShNRURJ
QV9TVFJFQU0pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvci5jcHAKaW5kZXggNmEyNjdhZDQxNjE5Njk5
MDNjODBjYTYzOTQ0MGMzOTFhZjUzMDdlZC4uYjAxMGQxNmZjNmZkYWU5ZGRhYzRmNWY4MDQxZGJl
OWY1MjdmOTc3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3IuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yLmNwcApAQCAtMzQsNiArMzQsOCBA
QAogI2luY2x1ZGUgIkdlb2xvY2F0aW9uLmgiCiAjaW5jbHVkZSAiS1VSTC5oIgogI2luY2x1ZGUg
Ikxhbmd1YWdlLmgiCisjaW5jbHVkZSAiTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5o
IgorI2luY2x1ZGUgIk5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5oIgogI2luY2x1
ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJQYWdlR3JvdXAuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVN0
cmluZy5oIgpAQCAtMjQyLDQgKzI0NCwxMyBAQCB2b2lkIE5hdmlnYXRvcjo6cmVnaXN0ZXJQcm90
b2NvbEhhbmRsZXIoY29uc3QgU3RyaW5nJiBzY2hlbWUsIGNvbnN0IFN0cmluZyYgdXJsLAogfQog
I2VuZGlmCiAKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQordm9pZCBOYXZpZ2F0b3I6OndlYmtp
dEdldFVzZXJNZWRpYShjb25zdCBTdHJpbmcmIG9wdGlvbnMsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFBhc3NSZWZQdHI8TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxi
YWNrPiBzdWNjZXNzQ2FsbGJhY2ssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFBhc3NSZWZQdHI8TmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjaz4gZXJyb3JDYWxsYmFj
aykKK3sKKyAgICAvLyBGSVhNRTogaW1wbGVtZW50IGEgY2FsbCB0byB0aGUgbWVkaWEgc3RyZWFt
IGNvbnRleHQgd2hlbiBhdmFpbGFibGUuCit9CisjZW5kaWYKKwogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3IuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yLmgKaW5kZXggNjkzYmRlMTNmOTA4MmM0YWMxNzdmZjU1
ZTYzNDQ4YjE2M2EzZjE3Mi4uMDY2NWUwM2IwYmFjOWMyMTgwODU3YTZmODQ5NzZkZjU4OTNhNmVj
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3IuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvci5oCkBAIC0zMiw2ICszMiw4IEBAIGNsYXNzIERPTU1p
bWVUeXBlQXJyYXk7CiBjbGFzcyBET01QbHVnaW5BcnJheTsKIGNsYXNzIEZyYW1lOwogY2xhc3Mg
R2VvbG9jYXRpb247CitjbGFzcyBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrOworY2xh
c3MgTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrOwogY2xhc3MgUGx1Z2luRGF0YTsK
IAogdHlwZWRlZiBpbnQgRXhjZXB0aW9uQ29kZTsKQEAgLTY3LDYgKzY5LDExIEBAIHB1YmxpYzoK
ICAgICB2b2lkIHJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKGNvbnN0IFN0cmluZyYgc2NoZW1lLCBj
b25zdCBTdHJpbmcmIHVybCwgY29uc3QgU3RyaW5nJiB0aXRsZSwgRXhjZXB0aW9uQ29kZSYpOwog
I2VuZGlmCiAKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorICAgIHZpcnR1YWwgdm9pZCB3ZWJr
aXRHZXRVc2VyTWVkaWEoY29uc3QgU3RyaW5nJiBvcHRpb25zLCBQYXNzUmVmUHRyPE5hdmlnYXRv
clVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjaz4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBQYXNzUmVmUHRyPE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2s+ID0gMCk7
CisjZW5kaWYKKwogcHJpdmF0ZToKICAgICBOYXZpZ2F0b3IoRnJhbWUqKTsKICAgICBGcmFtZSog
bV9mcmFtZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yLmlkbCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yLmlkbAppbmRleCBiZjNmMTA4ZWM5MDI1YzAw
ODZiZjI4MGYzODE5MGM0ZTkzYWVkOTdlLi5mMTM5M2I5OTA0OGNmZjBkZGY4YzdkMTU3MjIyMTdm
NzYyMmQ5MWNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvci5pZGwK
KysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3IuaWRsCkBAIC0zNyw3ICszNyw3IEBA
IG1vZHVsZSB3aW5kb3cgewogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHZl
bmRvclN1YjsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gY29va2llRW5hYmxl
ZDsKICAgICAgICAgYm9vbGVhbiBqYXZhRW5hYmxlZCgpOwotICAgICAgICAKKwogICAgICAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiBvbkxpbmU7CiAKICNpZiBkZWZpbmVkKEVOQUJMRV9H
RU9MT0NBVElPTikgJiYgRU5BQkxFX0dFT0xPQ0FUSU9OCkBAIC01Miw2ICs1MiwxMiBAQCBtb2R1
bGUgd2luZG93IHsKICAgICAgICAgdm9pZCByZWdpc3RlclByb3RvY29sSGFuZGxlcihpbiBET01T
dHJpbmcgc2NoZW1lLCBpbiBET01TdHJpbmcgdXJsLCBpbiBET01TdHJpbmcgdGl0bGUpCiAgICAg
ICAgICAgICByYWlzZXMoRG9tRXhjZXB0aW9uKTsKICNlbmRpZgorCisjaWYgZGVmaW5lZChFTkFC
TEVfTUVESUFfU1RSRUFNKSAmJiBFTkFCTEVfTUVESUFfU1RSRUFNCisgICAgICAgIFtDdXN0b20s
IEVuYWJsZWRBdFJ1bnRpbWVdIHZvaWQgd2Via2l0R2V0VXNlck1lZGlhKGluIERPTVN0cmluZyBv
cHRpb25zLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbiBbQ2FsbGJhY2s9RnVuY3Rpb25Pbmx5XSBOYXZpZ2F0b3JVc2VyTWVkaWFT
dWNjZXNzQ2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBbQ2FsbGJhY2s9RnVuY3Rpb25P
bmx5LCBPcHRpb25hbF0gTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjayBlcnJvckNhbGxi
YWNrKTsKKyNlbmRpZgogICAgIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdh
dG9yVXNlck1lZGlhRXJyb3IuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hNjc2MTJlYjA5YTc2NmQ1OWI5ZjdmYjM2
MjNkMjYzYjdhNDU5OGY4Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9O
YXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5oCkBAIC0wLDAgKzEsNTMgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04KKyAq
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUworICogU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I2lmbmRlZiBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvcl9oCisjZGVmaW5lIE5hdmlnYXRvclVzZXJN
ZWRpYUVycm9yX2gKKworI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisKKyNpZiBFTkFCTEUo
TUVESUFfU1RSRUFNKQorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIE5hdmlnYXRvclVz
ZXJNZWRpYUVycm9yIDogcHVibGljIFJlZkNvdW50ZWQ8TmF2aWdhdG9yVXNlck1lZGlhRXJyb3I+
IHsKK3B1YmxpYzoKKyAgICBlbnVtIEVycm9yQ29kZSB7CisgICAgICAgIFBFUk1JU1NJT05fREVO
SUVEID0gMQorICAgIH07CisKKyAgICBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvcihFcnJvckNvZGUg
Y29kZSkgOiBtX2NvZGUoY29kZSkgeyB9CisgICAgdmlydHVhbCB+TmF2aWdhdG9yVXNlck1lZGlh
RXJyb3IoKSB7IH0KKworICAgIEVycm9yQ29kZSBjb2RlKCkgY29uc3QgeyByZXR1cm4gbV9jb2Rl
OyB9CisKK3ByaXZhdGU6CisgICAgRXJyb3JDb2RlIG1fY29kZTsKK307CisKK30gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0pCisKKyNlbmRpZiAv
LyBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvcl9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2
aWdhdG9yVXNlck1lZGlhRXJyb3IuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdhZWQwYTQ4YTlhM2EyMzZhM2Zl
YTMyOGM0MTczYmJjMmVjYTM4M2IKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmlkbApAQCAtMCwwICsxLDM0IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuICBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OCisgKiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKKyAqIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKK21vZHVsZSB3aW5kb3cgeworICAgIGludGVyZmFjZSBbCisgICAgICAgIENvbmRpdGlv
bmFsPU1FRElBX1NUUkVBTQorICAgIF0gTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IgeworICAgICAg
ICBjb25zdCB1bnNpZ25lZCBzaG9ydCBQRVJNSVNTSU9OX0RFTklFRCA9IDE7CisgICAgICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBzaG9ydCBjb2RlOworICAgIH07CisKK30KKwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxi
YWNrLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJh
Y2suaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5kZjEwZDAyNGQwZThhMTU3MzljY2Q2Yjk5ZDZkODdkMTFjNmU2YmVh
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3JVc2VyTWVk
aWFFcnJvckNhbGxiYWNrLmgKQEAgLTAsMCArMSw0NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAq
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgorICogQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCisgKiBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVm
IE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2tfaAorI2RlZmluZSBOYXZpZ2F0b3JVc2Vy
TWVkaWFFcnJvckNhbGxiYWNrX2gKKworI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCisKKyNpbmNs
dWRlIDx3dGYvUmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIE5h
dmlnYXRvclVzZXJNZWRpYUVycm9yOworCitjbGFzcyBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNh
bGxiYWNrIDogcHVibGljIFJlZkNvdW50ZWQ8TmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFj
az4geworcHVibGljOgorICAgIHZpcnR1YWwgfk5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJh
Y2soKSB7IH0KKyAgICB2aXJ0dWFsIGJvb2wgaGFuZGxlRXZlbnQoTmF2aWdhdG9yVXNlck1lZGlh
RXJyb3IqKSA9IDA7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBF
TkFCTEUoTUVESUFfU1RSRUFNKQorCisjZW5kaWYgLy8gTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JD
YWxsYmFja19oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvclVzZXJN
ZWRpYUVycm9yQ2FsbGJhY2suaWRsIGIvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3JVc2Vy
TWVkaWFFcnJvckNhbGxiYWNrLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44M2E2YWNiOTA1ZjFmZmNhNzU0OWZh
MDBkZDNlMDQzZTI5M2U0YTIxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9OYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmlkbApAQCAtMCwwICsxLDMzIEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuICBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OCisgKiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKKyAq
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKK21vZHVsZSB3aW5kb3cgeworICAgIGludGVyZmFjZSBbCisgICAgICAgIENv
bmRpdGlvbmFsPU1FRElBX1NUUkVBTSwKKyAgICAgICAgQ2FsbGJhY2s9RnVuY3Rpb25Pbmx5Cisg
ICAgXSBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrIHsKKyAgICAgICAgYm9vbGVhbiBo
YW5kbGVFdmVudChpbiBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvciBlcnJvcik7CisgICAgfTsKKwor
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFTdWNj
ZXNzQ2FsbGJhY2suaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yVXNlck1lZGlhU3Vj
Y2Vzc0NhbGxiYWNrLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTIyYWYzNjUwZTc2YjJhZThmOTVjY2EyNTdmNDhj
NWFlZDZlZDEyNgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdh
dG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmgKQEAgLTAsMCArMSw0NiBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiAgUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQK
KyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TgorICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCisgKiBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjaWZuZGVmIE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFja19oCisjZGVmaW5l
IE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFja19oCisKKyNpZiBFTkFCTEUoTUVESUFf
U1RSRUFNKQorCisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNv
cmUgeworCitjbGFzcyBOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2sgOiBwdWJsaWMg
UmVmQ291bnRlZDxOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2s+IHsKK3B1YmxpYzoK
KyAgICB2aXJ0dWFsIH5OYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2soKSB7IH0KKyAg
ICAvLyBGSVhNRTogc2V0IGNvcnJlY3QgdHlwZSB3aGVuIHRoZSBHZW5lcmF0ZWRTdHJlYW0gY2xh
c3MgaXMgYXZhaWxhYmxlLgorICAgIC8vIHZpcnR1YWwgYm9vbCBoYW5kbGVFdmVudChHZW5lcmF0
ZWRTdHJlYW0qKSA9IDA7CisgICAgdmlydHVhbCBib29sIGhhbmRsZUV2ZW50KGludCBkdW1teSkg
PSAwOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKE1F
RElBX1NUUkVBTSkKKworI2VuZGlmIC8vIE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFj
a19oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvclVzZXJNZWRpYVN1
Y2Nlc3NDYWxsYmFjay5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvclVzZXJNZWRp
YVN1Y2Nlc3NDYWxsYmFjay5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWU2ODc3MThhNTk0ZDBiM2MxMDBlMjYy
NWFlZDM0MWM4YzE2YTk4ZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmlkbApAQCAtMCwwICsxLDM1IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuICBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OCisgKiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKKyAq
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKK21vZHVsZSB3aW5kb3cgeworICAgIGludGVyZmFjZSBbCisgICAgICAgIENv
bmRpdGlvbmFsPU1FRElBX1NUUkVBTSwKKyAgICAgICAgQ2FsbGJhY2s9RnVuY3Rpb25Pbmx5Cisg
ICAgXSBOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2sgeworICAgICAgICAvLyBGSVhN
RTogaW1wbGVtZW50IHRoZSBjb3JyZWN0IHR5cGUgd2hlbiB0aGUgR2VuZXJhdGVkU3RyZWFtIGNs
YXNzIGlzIGF2YWlsYWJsZS4KKyAgICAgICAgLy8gYm9vbGVhbiBoYW5kbGVFdmVudChpbiBHZW5l
cmF0ZWRTdHJlYW0gc3RyZWFtKTsKKyAgICAgICAgYm9vbGVhbiBoYW5kbGVFdmVudChpbiBpbnQg
ZHVtbXkpOworICAgIH07CisKK30K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>88795</attachid>
            <date>2011-04-08 04:04:30 -0700</date>
            <delta_ts>2011-04-08 04:40:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-56586-20110408120428.patch</filename>
            <type>text/plain</type>
            <size>62744</size>
            <attacher name="Leandro Graciá Gil">leandrogracia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA2NjMxZGNiMDk1M2ZiYjQ3Y2Y3NTAwNmUxYWViZTc5ZWY2NmNmMjAxLi41MTY2ZmQ4
YzE4YWI0MzEzN2MzYjdjODdmNGFjMmY1ZWNhN2IyN2NjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzEgQEAK
KzIwMTEtMDQtMDggIExlYW5kcm8gR3JhY2lhIEdpbCAgPGxlYW5kcm9ncmFjaWFAY2hyb21pdW0u
b3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1l
ZGlhIFN0cmVhbSBBUEk6IGFkZCB0aGUgZ2V0VXNlck1lZGlhIG1ldGhvZCBhbmQgdGhlIEphdmFz
Y3JpcHQgYmluZGluZ3MuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD01NjU4NgorCisgICAgICAgIFRlc3QgdGhlIEphdmFzY3JpcHQgYmVoYXZpb3VyIG9m
IHRoZSBnZXRVc2VyTWVkaWEgbWV0aG9kIHdpdGggZGlmZmVyZW50IHR5cGVzIG9mIGFyZ3VtZW50
cy4KKyAgICAgICAgQ3VycmVudCBzcGVjaWZpY2F0aW9uOiBodHRwOi8vd3d3LndoYXR3Zy5vcmcv
c3BlY3Mvd2ViLWFwcHMvY3VycmVudC13b3JrL211bHRpcGFnZS9kbmQuaHRtbCN2aWRlby1jb25m
ZXJlbmNpbmctYW5kLXBlZXItdG8tcGVlci1jb21tdW5pY2F0aW9uCisKKyAgICAgICAgKiBmYXN0
L2RvbS9NZWRpYVN0cmVhbS9hcmd1bWVudC10eXBlcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGZhc3QvZG9tL01lZGlhU3RyZWFtL2FyZ3VtZW50LXR5cGVzLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGZhc3QvZG9tL01lZGlhU3RyZWFtL2VuYWJsZWQtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBmYXN0L2RvbS9NZWRpYVN0cmVhbS9lbmFibGVkLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGZhc3QvZG9tL01lZGlhU3RyZWFtL25vLWludGVyZmFjZS1vYmplY3QtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9NZWRpYVN0cmVhbS9uby1pbnRlcmZh
Y2Utb2JqZWN0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL01lZGlhU3RyZWFtL3Nj
cmlwdC10ZXN0cy9hcmd1bWVudC10eXBlcy5qczogQWRkZWQuCisgICAgICAgIChzaG91bGROb3RU
aHJvdyk6CisgICAgICAgICh0ZXN0KToKKyAgICAgICAgKGVtcHR5RnVuY3Rpb24pOgorICAgICAg
ICAoKToKKyAgICAgICAgKE9iamVjdFRocm93aW5nRXhjZXB0aW9uLnByb3RvdHlwZS52YWx1ZU9m
KToKKyAgICAgICAgKE9iamVjdFRocm93aW5nRXhjZXB0aW9uLnByb3RvdHlwZS50b1N0cmluZyk6
CisgICAgICAgICogZmFzdC9kb20vTWVkaWFTdHJlYW0vc2NyaXB0LXRlc3RzL2VuYWJsZWQuanM6
IEFkZGVkLgorICAgICAgICAoaGFzR2V0VXNlck1lZGlhUHJvcGVydHkpOgorICAgICAgICAqIGZh
c3QvZG9tL01lZGlhU3RyZWFtL3NjcmlwdC10ZXN0cy9uby1pbnRlcmZhY2Utb2JqZWN0LmpzOiBB
ZGRlZC4KKyAgICAgICAgKHRlc3QpOgorCiAyMDExLTA0LTA4ICBBbmRyZXkgS29zeWFrb3YgIDxj
YXNlcUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZC4gQWRqdXN0ZWQgdGVzdCBl
eHBlY3RhdGlvbnMgZm9sbG93aW5nIHI4MzI3NS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvZG9tL01lZGlhU3RyZWFtL2FyZ3VtZW50LXR5cGVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2Zhc3QvZG9tL01lZGlhU3RyZWFtL2FyZ3VtZW50LXR5cGVzLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5jNTM2Njk4M2E5MDAzZjJiMTM4YTQ5NTllNDcxMmFiZmE0ZTAzZGJlCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vTWVkaWFTdHJlYW0vYXJndW1lbnQtdHlw
ZXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNDkgQEAKK1Rlc3RzIHRoZSBhY2NlcHRhYmxlIHR5
cGVzIGZvciBhcmd1bWVudHMgdG8gbmF2aWdhdG9yLmdldFVzZXJNZWRpYSBtZXRob2RzLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBuYXZpZ2F0b3Iud2Via2l0R2V0VXNl
ck1lZGlhKCkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBUWVBFX01JU01BVENIX0VSUjogRE9NIEV4
Y2VwdGlvbiAxNy4KK1BBU1MgbmF2aWdhdG9yLndlYmtpdEdldFVzZXJNZWRpYSh1bmRlZmluZWQp
IHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogVFlQRV9NSVNNQVRDSF9FUlI6IERPTSBFeGNlcHRpb24g
MTcuCitQQVNTIG5hdmlnYXRvci53ZWJraXRHZXRVc2VyTWVkaWEobnVsbCkgdGhyZXcgZXhjZXB0
aW9uIEVycm9yOiBUWVBFX01JU01BVENIX0VSUjogRE9NIEV4Y2VwdGlvbiAxNy4KK1BBU1MgbmF2
aWdhdG9yLndlYmtpdEdldFVzZXJNZWRpYSh7fSkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBUWVBF
X01JU01BVENIX0VSUjogRE9NIEV4Y2VwdGlvbiAxNy4KK1BBU1MgbmF2aWdhdG9yLndlYmtpdEdl
dFVzZXJNZWRpYShvYmplY3RUaHJvd2luZ0V4Y2VwdGlvbikgdGhyZXcgZXhjZXB0aW9uIEVycm9y
OiBUWVBFX01JU01BVENIX0VSUjogRE9NIEV4Y2VwdGlvbiAxNy4KK1BBU1MgbmF2aWdhdG9yLndl
YmtpdEdldFVzZXJNZWRpYSgidmlkZW8iKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFRZUEVfTUlT
TUFUQ0hfRVJSOiBET00gRXhjZXB0aW9uIDE3LgorUEFTUyBuYXZpZ2F0b3Iud2Via2l0R2V0VXNl
ck1lZGlhKHRydWUpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogVFlQRV9NSVNNQVRDSF9FUlI6IERP
TSBFeGNlcHRpb24gMTcuCitQQVNTIG5hdmlnYXRvci53ZWJraXRHZXRVc2VyTWVkaWEoNDIpIHRo
cmV3IGV4Y2VwdGlvbiBFcnJvcjogVFlQRV9NSVNNQVRDSF9FUlI6IERPTSBFeGNlcHRpb24gMTcu
CitQQVNTIG5hdmlnYXRvci53ZWJraXRHZXRVc2VyTWVkaWEoSW5maW5pdHkpIHRocmV3IGV4Y2Vw
dGlvbiBFcnJvcjogVFlQRV9NSVNNQVRDSF9FUlI6IERPTSBFeGNlcHRpb24gMTcuCitQQVNTIG5h
dmlnYXRvci53ZWJraXRHZXRVc2VyTWVkaWEoLUluZmluaXR5KSB0aHJldyBleGNlcHRpb24gRXJy
b3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00gRXhjZXB0aW9uIDE3LgorUEFTUyBuYXZpZ2F0b3Iu
d2Via2l0R2V0VXNlck1lZGlhKGVtcHR5RnVuY3Rpb24pIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjog
VFlQRV9NSVNNQVRDSF9FUlI6IERPTSBFeGNlcHRpb24gMTcuCitQQVNTIG5hdmlnYXRvci53ZWJr
aXRHZXRVc2VyTWVkaWEoInZpZGVvIiwgZW1wdHlGdW5jdGlvbikgZGlkIG5vdCB0aHJvdyBleGNl
cHRpb24uCitQQVNTIG5hdmlnYXRvci53ZWJraXRHZXRVc2VyTWVkaWEodW5kZWZpbmVkLCBlbXB0
eUZ1bmN0aW9uKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgbmF2aWdhdG9yLndlYmtp
dEdldFVzZXJNZWRpYShudWxsLCBlbXB0eUZ1bmN0aW9uKSBkaWQgbm90IHRocm93IGV4Y2VwdGlv
bi4KK1BBU1MgbmF2aWdhdG9yLndlYmtpdEdldFVzZXJNZWRpYSh7fSwgZW1wdHlGdW5jdGlvbikg
ZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIG5hdmlnYXRvci53ZWJraXRHZXRVc2VyTWVk
aWEob2JqZWN0VGhyb3dpbmdFeGNlcHRpb24sIGVtcHR5RnVuY3Rpb24pIHRocmV3IGV4Y2VwdGlv
biBFcnJvcjogdG9TdHJpbmcgdGhyZXcgZXhjZXB0aW9uLgorUEFTUyBuYXZpZ2F0b3Iud2Via2l0
R2V0VXNlck1lZGlhKHRydWUsIGVtcHR5RnVuY3Rpb24pIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9u
LgorUEFTUyBuYXZpZ2F0b3Iud2Via2l0R2V0VXNlck1lZGlhKDQyLCBlbXB0eUZ1bmN0aW9uKSBk
aWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgbmF2aWdhdG9yLndlYmtpdEdldFVzZXJNZWRp
YShJbmZpbml0eSwgZW1wdHlGdW5jdGlvbikgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNT
IG5hdmlnYXRvci53ZWJraXRHZXRVc2VyTWVkaWEoLUluZmluaXR5LCBlbXB0eUZ1bmN0aW9uKSBk
aWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgbmF2aWdhdG9yLndlYmtpdEdldFVzZXJNZWRp
YShlbXB0eUZ1bmN0aW9uLCBlbXB0eUZ1bmN0aW9uKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4K
K1BBU1MgbmF2aWdhdG9yLndlYmtpdEdldFVzZXJNZWRpYSgidmlkZW8iLCAidmlkZW8iKSB0aHJl
dyBleGNlcHRpb24gRXJyb3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00gRXhjZXB0aW9uIDE3Lgor
UEFTUyBuYXZpZ2F0b3Iud2Via2l0R2V0VXNlck1lZGlhKCJ2aWRlbyIsIHVuZGVmaW5lZCkgdGhy
ZXcgZXhjZXB0aW9uIEVycm9yOiBUWVBFX01JU01BVENIX0VSUjogRE9NIEV4Y2VwdGlvbiAxNy4K
K1BBU1MgbmF2aWdhdG9yLndlYmtpdEdldFVzZXJNZWRpYSgidmlkZW8iLCBudWxsKSB0aHJldyBl
eGNlcHRpb24gRXJyb3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00gRXhjZXB0aW9uIDE3LgorUEFT
UyBuYXZpZ2F0b3Iud2Via2l0R2V0VXNlck1lZGlhKCJ2aWRlbyIsIHt9KSB0aHJldyBleGNlcHRp
b24gRXJyb3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00gRXhjZXB0aW9uIDE3LgorUEFTUyBuYXZp
Z2F0b3Iud2Via2l0R2V0VXNlck1lZGlhKCJ2aWRlbyIsIG9iamVjdFRocm93aW5nRXhjZXB0aW9u
KSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00gRXhjZXB0aW9u
IDE3LgorUEFTUyBuYXZpZ2F0b3Iud2Via2l0R2V0VXNlck1lZGlhKCJ2aWRlbyIsIHRydWUpIHRo
cmV3IGV4Y2VwdGlvbiBFcnJvcjogVFlQRV9NSVNNQVRDSF9FUlI6IERPTSBFeGNlcHRpb24gMTcu
CitQQVNTIG5hdmlnYXRvci53ZWJraXRHZXRVc2VyTWVkaWEoInZpZGVvIiwgNDIpIHRocmV3IGV4
Y2VwdGlvbiBFcnJvcjogVFlQRV9NSVNNQVRDSF9FUlI6IERPTSBFeGNlcHRpb24gMTcuCitQQVNT
IG5hdmlnYXRvci53ZWJraXRHZXRVc2VyTWVkaWEoInZpZGVvIiwgSW5maW5pdHkpIHRocmV3IGV4
Y2VwdGlvbiBFcnJvcjogVFlQRV9NSVNNQVRDSF9FUlI6IERPTSBFeGNlcHRpb24gMTcuCitQQVNT
IG5hdmlnYXRvci53ZWJraXRHZXRVc2VyTWVkaWEoInZpZGVvIiwgLUluZmluaXR5KSB0aHJldyBl
eGNlcHRpb24gRXJyb3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00gRXhjZXB0aW9uIDE3LgorUEFT
UyBuYXZpZ2F0b3Iud2Via2l0R2V0VXNlck1lZGlhKCJ2aWRlbyIsIGVtcHR5RnVuY3Rpb24sIGVt
cHR5RnVuY3Rpb24pIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBuYXZpZ2F0b3Iud2Vi
a2l0R2V0VXNlck1lZGlhKCJ2aWRlbyIsIGVtcHR5RnVuY3Rpb24sIHVuZGVmaW5lZCkgZGlkIG5v
dCB0aHJvdyBleGNlcHRpb24uCitQQVNTIG5hdmlnYXRvci53ZWJraXRHZXRVc2VyTWVkaWEoInZp
ZGVvIiwgZW1wdHlGdW5jdGlvbiwgInZpZGVvIikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBUWVBF
X01JU01BVENIX0VSUjogRE9NIEV4Y2VwdGlvbiAxNy4KK1BBU1MgbmF2aWdhdG9yLndlYmtpdEdl
dFVzZXJNZWRpYSgidmlkZW8iLCBlbXB0eUZ1bmN0aW9uLCBudWxsKSB0aHJldyBleGNlcHRpb24g
RXJyb3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00gRXhjZXB0aW9uIDE3LgorUEFTUyBuYXZpZ2F0
b3Iud2Via2l0R2V0VXNlck1lZGlhKCJ2aWRlbyIsIGVtcHR5RnVuY3Rpb24sIHt9KSB0aHJldyBl
eGNlcHRpb24gRXJyb3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00gRXhjZXB0aW9uIDE3LgorUEFT
UyBuYXZpZ2F0b3Iud2Via2l0R2V0VXNlck1lZGlhKCJ2aWRlbyIsIGVtcHR5RnVuY3Rpb24sIG9i
amVjdFRocm93aW5nRXhjZXB0aW9uKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFRZUEVfTUlTTUFU
Q0hfRVJSOiBET00gRXhjZXB0aW9uIDE3LgorUEFTUyBuYXZpZ2F0b3Iud2Via2l0R2V0VXNlck1l
ZGlhKCJ2aWRlbyIsIGVtcHR5RnVuY3Rpb24sIHRydWUpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjog
VFlQRV9NSVNNQVRDSF9FUlI6IERPTSBFeGNlcHRpb24gMTcuCitQQVNTIG5hdmlnYXRvci53ZWJr
aXRHZXRVc2VyTWVkaWEoInZpZGVvIiwgZW1wdHlGdW5jdGlvbiwgNDIpIHRocmV3IGV4Y2VwdGlv
biBFcnJvcjogVFlQRV9NSVNNQVRDSF9FUlI6IERPTSBFeGNlcHRpb24gMTcuCitQQVNTIG5hdmln
YXRvci53ZWJraXRHZXRVc2VyTWVkaWEoInZpZGVvIiwgZW1wdHlGdW5jdGlvbiwgSW5maW5pdHkp
IHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogVFlQRV9NSVNNQVRDSF9FUlI6IERPTSBFeGNlcHRpb24g
MTcuCitQQVNTIG5hdmlnYXRvci53ZWJraXRHZXRVc2VyTWVkaWEoInZpZGVvIiwgZW1wdHlGdW5j
dGlvbiwgLUluZmluaXR5KSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFRZUEVfTUlTTUFUQ0hfRVJS
OiBET00gRXhjZXB0aW9uIDE3LgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL01lZGlhU3Ry
ZWFtL2FyZ3VtZW50LXR5cGVzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9NZWRpYVN0cmVh
bS9hcmd1bWVudC10eXBlcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZlZWZjZDNiMTFjNjMxNDc2ZTMwODA0
YWU4MDFhNzdkYTRjOTM4NDcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9NZWRpYVN0cmVhbS9hcmd1bWVudC10eXBlcy5odG1sCkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0
LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+
Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvYXJn
dW1lbnQtdHlwZXMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vTWVkaWFTdHJlYW0vZW5hYmxlZC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9NZWRpYVN0cmVhbS9lbmFibGVkLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mYWFkYmE5MWZiOTkzNDFjZDMwNTEwMzBhNGQwZTcyZDk2YjE4MmVjCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vTWVkaWFTdHJlYW0vZW5hYmxlZC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGVzdHMgdGhhdCBuYXZpZ2F0b3Iud2Via2l0
R2V0VXNlck1lZGlhIGlzIHByZXNlbnQuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
CitQQVNTIHR5cGVvZiBuYXZpZ2F0b3Iud2Via2l0R2V0VXNlck1lZGlhID09ICdmdW5jdGlvbicg
aXMgdHJ1ZQorUEFTUyBoYXNHZXRVc2VyTWVkaWFQcm9wZXJ0eSgpIGlzIHRydWUKK1BBU1MgJ3dl
YmtpdEdldFVzZXJNZWRpYScgaW4gbmF2aWdhdG9yIGlzIHRydWUKK1BBU1MgbmF2aWdhdG9yLmhh
c093blByb3BlcnR5KCd3ZWJraXRHZXRVc2VyTWVkaWEnKSBpcyBmYWxzZQorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvZG9tL01lZGlhU3RyZWFtL2VuYWJsZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvZG9tL01lZGlhU3RyZWFtL2VuYWJsZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lMDhiY2I3ZGExYmY1
MDAzNGQ3OWM3ZDg3YWFlNjk0NjM3YjlmYTkyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9kb20vTWVkaWFTdHJlYW0vZW5hYmxlZC5odG1sCkBAIC0wLDAgKzEsMTMgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10
ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48
L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMv
ZW5hYmxlZC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9NZWRpYVN0cmVhbS9uby1pbnRlcmZhY2Utb2JqZWN0LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL01lZGlhU3RyZWFtL25vLWludGVyZmFjZS1v
YmplY3QtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmIwMDQyNzUxNjJlNDI3MDk0ZTA5Nzc3YWQy
MmEyMDFjZjFmYTk1ZjkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9N
ZWRpYVN0cmVhbS9uby1pbnRlcmZhY2Utb2JqZWN0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3
IEBACitUZXN0cyB0aGF0IHRoZSBmb2xsb3dpbmcgY2xhc3NlcyBhcmUgbm90IG1hbmlwdWxhYmxl
IGJ5IEphdmFTY3JpcHQgKE5vSW50ZXJmYWNlT2JqZWN0KS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCisKK1BBU1MgdHlwZW9mIE5hdmlnYXRvclVzZXJNZWRpYSBpcyAidW5kZWZpbmVk
IgorUEFTUyBOYXZpZ2F0b3JVc2VyTWVkaWEucHJvdG90eXBlIHRocmV3IGV4Y2VwdGlvbiBSZWZl
cmVuY2VFcnJvcjogTmF2aWdhdG9yVXNlck1lZGlhIGlzIG5vdCBkZWZpbmVkLgorUEFTUyB0eXBl
b2YgTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IgaXMgInVuZGVmaW5lZCIKK1BBU1MgTmF2aWdhdG9y
VXNlck1lZGlhRXJyb3IucHJvdG90eXBlIHRocmV3IGV4Y2VwdGlvbiBSZWZlcmVuY2VFcnJvcjog
TmF2aWdhdG9yVXNlck1lZGlhRXJyb3IgaXMgbm90IGRlZmluZWQuCitQQVNTIHR5cGVvZiBOYXZp
Z2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2sgaXMgInVuZGVmaW5lZCIKK1BBU1MgTmF2aWdh
dG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLnByb3RvdHlwZSB0aHJldyBleGNlcHRpb24gUmVm
ZXJlbmNlRXJyb3I6IE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjayBpcyBub3QgZGVm
aW5lZC4KK1BBU1MgdHlwZW9mIE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2sgaXMgInVu
ZGVmaW5lZCIKK1BBU1MgTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5wcm90b3R5cGUg
dGhyZXcgZXhjZXB0aW9uIFJlZmVyZW5jZUVycm9yOiBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNh
bGxiYWNrIGlzIG5vdCBkZWZpbmVkLgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL01lZGlh
U3RyZWFtL25vLWludGVyZmFjZS1vYmplY3QuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL01l
ZGlhU3RyZWFtL25vLWludGVyZmFjZS1vYmplY3QuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jYTQ4OWNkN2U1
MjY2OGE0MjdhYjFhZTVjYzA5MjE5ZWM4ZGIzNGE2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9kb20vTWVkaWFTdHJlYW0vbm8taW50ZXJmYWNlLW9iamVjdC5odG1sCkBAIC0w
LDAgKzEsMTMgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2pz
L3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgc3Jj
PSJzY3JpcHQtdGVzdHMvbm8taW50ZXJmYWNlLW9iamVjdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9NZWRpYVN0cmVh
bS9zY3JpcHQtdGVzdHMvYXJndW1lbnQtdHlwZXMuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9N
ZWRpYVN0cmVhbS9zY3JpcHQtdGVzdHMvYXJndW1lbnQtdHlwZXMuanMKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjdi
OWRjNjZjZjgzMDJmM2ZiODI2ZWJmOTFkMGI2NjU0NDVjMTQxNQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvZG9tL01lZGlhU3RyZWFtL3NjcmlwdC10ZXN0cy9hcmd1bWVudC10
eXBlcy5qcwpAQCAtMCwwICsxLDg1IEBACitkZXNjcmlwdGlvbigiVGVzdHMgdGhlIGFjY2VwdGFi
bGUgdHlwZXMgZm9yIGFyZ3VtZW50cyB0byBuYXZpZ2F0b3IuZ2V0VXNlck1lZGlhIG1ldGhvZHMu
Iik7CisKK2Z1bmN0aW9uIHNob3VsZE5vdFRocm93KGV4cHJlc3Npb24pCit7CisgIHRyeSB7Cisg
ICAgZXZhbChleHByZXNzaW9uKTsKKyAgICB0ZXN0UGFzc2VkKGV4cHJlc3Npb24gKyAiIGRpZCBu
b3QgdGhyb3cgZXhjZXB0aW9uLiIpOworICB9IGNhdGNoKGUpIHsKKyAgICB0ZXN0RmFpbGVkKGV4
cHJlc3Npb24gKyAiIHNob3VsZCBub3QgdGhyb3cgZXhjZXB0aW9uLiBUaHJldyBleGNlcHRpb24g
IiArIGUpOworICB9Cit9CisKK2Z1bmN0aW9uIHRlc3QoZXhwcmVzc2lvbiwgZXhwcmVzc2lvblNo
b3VsZFRocm93LCBleHBlY3RlZEV4Y2VwdGlvbikgeworICAgIGlmIChleHByZXNzaW9uU2hvdWxk
VGhyb3cpIHsKKyAgICAgICAgaWYgKGV4cGVjdGVkRXhjZXB0aW9uKQorICAgICAgICAgICAgc2hv
dWxkVGhyb3coZXhwcmVzc2lvbiwgJyhmdW5jdGlvbigpIHsgcmV0dXJuICInICsgZXhwZWN0ZWRF
eGNlcHRpb24gKyAnIjsgfSkoKTsnKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgc2hvdWxk
VGhyb3coZXhwcmVzc2lvbiwgJyhmdW5jdGlvbigpIHsgcmV0dXJuICJFcnJvcjogVFlQRV9NSVNN
QVRDSF9FUlI6IERPTSBFeGNlcHRpb24gMTciOyB9KSgpOycpOworICAgIH0gZWxzZSB7CisgICAg
ICAgIHNob3VsZE5vdFRocm93KGV4cHJlc3Npb24pOworICAgIH0KK30KKwordmFyIGVtcHR5RnVu
Y3Rpb24gPSBmdW5jdGlvbigpIHt9OworCitmdW5jdGlvbiBPYmplY3RUaHJvd2luZ0V4Y2VwdGlv
bigpIHt9OworT2JqZWN0VGhyb3dpbmdFeGNlcHRpb24ucHJvdG90eXBlLnZhbHVlT2YgPSBmdW5j
dGlvbigpIHsKKyAgICB0aHJvdyBuZXcgRXJyb3IoJ3ZhbHVlT2YgdGhyZXcgZXhjZXB0aW9uJyk7
Cit9CitPYmplY3RUaHJvd2luZ0V4Y2VwdGlvbi5wcm90b3R5cGUudG9TdHJpbmcgPSBmdW5jdGlv
bigpIHsKKyAgICB0aHJvdyBuZXcgRXJyb3IoJ3RvU3RyaW5nIHRocmV3IGV4Y2VwdGlvbicpOwor
fQordmFyIG9iamVjdFRocm93aW5nRXhjZXB0aW9uID0gbmV3IE9iamVjdFRocm93aW5nRXhjZXB0
aW9uKCk7CisKKy8vIE5vIGFyZ3VtZW50cwordGVzdCgnbmF2aWdhdG9yLndlYmtpdEdldFVzZXJN
ZWRpYSgpJywgdHJ1ZSk7CisKKy8vIDEgQXJndW1lbnQgKGdldFVzZXJNZWRpYSByZXF1aXJlcyBh
dCBsZWFzdCAyIGFyZ3VtZW50cykuCit0ZXN0KCduYXZpZ2F0b3Iud2Via2l0R2V0VXNlck1lZGlh
KHVuZGVmaW5lZCknLCB0cnVlKTsKK3Rlc3QoJ25hdmlnYXRvci53ZWJraXRHZXRVc2VyTWVkaWEo
bnVsbCknLCB0cnVlKTsKK3Rlc3QoJ25hdmlnYXRvci53ZWJraXRHZXRVc2VyTWVkaWEoe30pJywg
dHJ1ZSk7Cit0ZXN0KCduYXZpZ2F0b3Iud2Via2l0R2V0VXNlck1lZGlhKG9iamVjdFRocm93aW5n
RXhjZXB0aW9uKScsIHRydWUpOwordGVzdCgnbmF2aWdhdG9yLndlYmtpdEdldFVzZXJNZWRpYSgi
dmlkZW8iKScsIHRydWUpOwordGVzdCgnbmF2aWdhdG9yLndlYmtpdEdldFVzZXJNZWRpYSh0cnVl
KScsIHRydWUpOwordGVzdCgnbmF2aWdhdG9yLndlYmtpdEdldFVzZXJNZWRpYSg0MiknLCB0cnVl
KTsKK3Rlc3QoJ25hdmlnYXRvci53ZWJraXRHZXRVc2VyTWVkaWEoSW5maW5pdHkpJywgdHJ1ZSk7
Cit0ZXN0KCduYXZpZ2F0b3Iud2Via2l0R2V0VXNlck1lZGlhKC1JbmZpbml0eSknLCB0cnVlKTsK
K3Rlc3QoJ25hdmlnYXRvci53ZWJraXRHZXRVc2VyTWVkaWEoZW1wdHlGdW5jdGlvbiknLCB0cnVl
KTsKKworLy8gMiBBcmd1bWVudHMuCit0ZXN0KCduYXZpZ2F0b3Iud2Via2l0R2V0VXNlck1lZGlh
KCJ2aWRlbyIsIGVtcHR5RnVuY3Rpb24pJywgZmFsc2UpOwordGVzdCgnbmF2aWdhdG9yLndlYmtp
dEdldFVzZXJNZWRpYSh1bmRlZmluZWQsIGVtcHR5RnVuY3Rpb24pJywgZmFsc2UpOwordGVzdCgn
bmF2aWdhdG9yLndlYmtpdEdldFVzZXJNZWRpYShudWxsLCBlbXB0eUZ1bmN0aW9uKScsIGZhbHNl
KTsKK3Rlc3QoJ25hdmlnYXRvci53ZWJraXRHZXRVc2VyTWVkaWEoe30sIGVtcHR5RnVuY3Rpb24p
JywgZmFsc2UpOwordGVzdCgnbmF2aWdhdG9yLndlYmtpdEdldFVzZXJNZWRpYShvYmplY3RUaHJv
d2luZ0V4Y2VwdGlvbiwgZW1wdHlGdW5jdGlvbiknLCB0cnVlLCBuZXcgRXJyb3IoJ3RvU3RyaW5n
IHRocmV3IGV4Y2VwdGlvbicpKTsKK3Rlc3QoJ25hdmlnYXRvci53ZWJraXRHZXRVc2VyTWVkaWEo
dHJ1ZSwgZW1wdHlGdW5jdGlvbiknLCBmYWxzZSk7Cit0ZXN0KCduYXZpZ2F0b3Iud2Via2l0R2V0
VXNlck1lZGlhKDQyLCBlbXB0eUZ1bmN0aW9uKScsIGZhbHNlKTsKK3Rlc3QoJ25hdmlnYXRvci53
ZWJraXRHZXRVc2VyTWVkaWEoSW5maW5pdHksIGVtcHR5RnVuY3Rpb24pJywgZmFsc2UpOwordGVz
dCgnbmF2aWdhdG9yLndlYmtpdEdldFVzZXJNZWRpYSgtSW5maW5pdHksIGVtcHR5RnVuY3Rpb24p
JywgZmFsc2UpOwordGVzdCgnbmF2aWdhdG9yLndlYmtpdEdldFVzZXJNZWRpYShlbXB0eUZ1bmN0
aW9uLCBlbXB0eUZ1bmN0aW9uKScsIGZhbHNlKTsKKwordGVzdCgnbmF2aWdhdG9yLndlYmtpdEdl
dFVzZXJNZWRpYSgidmlkZW8iLCAidmlkZW8iKScsIHRydWUpOwordGVzdCgnbmF2aWdhdG9yLndl
YmtpdEdldFVzZXJNZWRpYSgidmlkZW8iLCB1bmRlZmluZWQpJywgdHJ1ZSk7Cit0ZXN0KCduYXZp
Z2F0b3Iud2Via2l0R2V0VXNlck1lZGlhKCJ2aWRlbyIsIG51bGwpJywgdHJ1ZSk7Cit0ZXN0KCdu
YXZpZ2F0b3Iud2Via2l0R2V0VXNlck1lZGlhKCJ2aWRlbyIsIHt9KScsIHRydWUpOwordGVzdCgn
bmF2aWdhdG9yLndlYmtpdEdldFVzZXJNZWRpYSgidmlkZW8iLCBvYmplY3RUaHJvd2luZ0V4Y2Vw
dGlvbiknLCB0cnVlKTsKK3Rlc3QoJ25hdmlnYXRvci53ZWJraXRHZXRVc2VyTWVkaWEoInZpZGVv
IiwgdHJ1ZSknLCB0cnVlKTsKK3Rlc3QoJ25hdmlnYXRvci53ZWJraXRHZXRVc2VyTWVkaWEoInZp
ZGVvIiwgNDIpJywgdHJ1ZSk7Cit0ZXN0KCduYXZpZ2F0b3Iud2Via2l0R2V0VXNlck1lZGlhKCJ2
aWRlbyIsIEluZmluaXR5KScsIHRydWUpOwordGVzdCgnbmF2aWdhdG9yLndlYmtpdEdldFVzZXJN
ZWRpYSgidmlkZW8iLCAtSW5maW5pdHkpJywgdHJ1ZSk7CisKKy8vIDMgQXJndW1lbnRzLgordGVz
dCgnbmF2aWdhdG9yLndlYmtpdEdldFVzZXJNZWRpYSgidmlkZW8iLCBlbXB0eUZ1bmN0aW9uLCBl
bXB0eUZ1bmN0aW9uKScsIGZhbHNlKTsKK3Rlc3QoJ25hdmlnYXRvci53ZWJraXRHZXRVc2VyTWVk
aWEoInZpZGVvIiwgZW1wdHlGdW5jdGlvbiwgdW5kZWZpbmVkKScsIGZhbHNlKTsKK3Rlc3QoJ25h
dmlnYXRvci53ZWJraXRHZXRVc2VyTWVkaWEoInZpZGVvIiwgZW1wdHlGdW5jdGlvbiwgInZpZGVv
IiknLCB0cnVlKTsKK3Rlc3QoJ25hdmlnYXRvci53ZWJraXRHZXRVc2VyTWVkaWEoInZpZGVvIiwg
ZW1wdHlGdW5jdGlvbiwgbnVsbCknLCB0cnVlKTsKK3Rlc3QoJ25hdmlnYXRvci53ZWJraXRHZXRV
c2VyTWVkaWEoInZpZGVvIiwgZW1wdHlGdW5jdGlvbiwge30pJywgdHJ1ZSk7Cit0ZXN0KCduYXZp
Z2F0b3Iud2Via2l0R2V0VXNlck1lZGlhKCJ2aWRlbyIsIGVtcHR5RnVuY3Rpb24sIG9iamVjdFRo
cm93aW5nRXhjZXB0aW9uKScsIHRydWUpOwordGVzdCgnbmF2aWdhdG9yLndlYmtpdEdldFVzZXJN
ZWRpYSgidmlkZW8iLCBlbXB0eUZ1bmN0aW9uLCB0cnVlKScsIHRydWUpOwordGVzdCgnbmF2aWdh
dG9yLndlYmtpdEdldFVzZXJNZWRpYSgidmlkZW8iLCBlbXB0eUZ1bmN0aW9uLCA0MiknLCB0cnVl
KTsKK3Rlc3QoJ25hdmlnYXRvci53ZWJraXRHZXRVc2VyTWVkaWEoInZpZGVvIiwgZW1wdHlGdW5j
dGlvbiwgSW5maW5pdHkpJywgdHJ1ZSk7Cit0ZXN0KCduYXZpZ2F0b3Iud2Via2l0R2V0VXNlck1l
ZGlhKCJ2aWRlbyIsIGVtcHR5RnVuY3Rpb24sIC1JbmZpbml0eSknLCB0cnVlKTsKKword2luZG93
LmpzVGVzdElzQXN5bmMgPSBmYWxzZTsKK3dpbmRvdy5zdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVl
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vTWVkaWFTdHJlYW0vc2NyaXB0LXRl
c3RzL2VuYWJsZWQuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9NZWRpYVN0cmVhbS9zY3JpcHQt
dGVzdHMvZW5hYmxlZC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zOTE5ZmI1NDRlY2JhNmVhYmYxMTU2MzAwNjQx
ODllNDhiYmFiOTQ3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vTWVk
aWFTdHJlYW0vc2NyaXB0LXRlc3RzL2VuYWJsZWQuanMKQEAgLTAsMCArMSwxOCBAQAorZGVzY3Jp
cHRpb24oIlRlc3RzIHRoYXQgbmF2aWdhdG9yLndlYmtpdEdldFVzZXJNZWRpYSBpcyBwcmVzZW50
LiIpOworCitmdW5jdGlvbiBoYXNHZXRVc2VyTWVkaWFQcm9wZXJ0eSgpCit7CisgICAgZm9yICh2
YXIgcHJvcGVydHkgaW4gbmF2aWdhdG9yKSB7CisgICAgICAgIGlmIChwcm9wZXJ0eSA9PSAid2Vi
a2l0R2V0VXNlck1lZGlhIikKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKyAgICBy
ZXR1cm4gZmFsc2U7Cit9CisKK3Nob3VsZEJlVHJ1ZSgidHlwZW9mIG5hdmlnYXRvci53ZWJraXRH
ZXRVc2VyTWVkaWEgPT0gJ2Z1bmN0aW9uJyIpOworc2hvdWxkQmVUcnVlKCJoYXNHZXRVc2VyTWVk
aWFQcm9wZXJ0eSgpIik7CitzaG91bGRCZVRydWUoIid3ZWJraXRHZXRVc2VyTWVkaWEnIGluIG5h
dmlnYXRvciIpOworc2hvdWxkQmVGYWxzZSgibmF2aWdhdG9yLmhhc093blByb3BlcnR5KCd3ZWJr
aXRHZXRVc2VyTWVkaWEnKSIpOworCit3aW5kb3cuanNUZXN0SXNBc3luYyA9IGZhbHNlOword2lu
ZG93LnN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9NZWRpYVN0cmVhbS9zY3JpcHQtdGVzdHMvbm8taW50ZXJmYWNlLW9iamVjdC5qcyBi
L0xheW91dFRlc3RzL2Zhc3QvZG9tL01lZGlhU3RyZWFtL3NjcmlwdC10ZXN0cy9uby1pbnRlcmZh
Y2Utb2JqZWN0LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY4MTdmMGY5N2YyYTYzNzFjYjhkZTIwOTUwZTczNjE5
ZDYxZTMwOWQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9NZWRpYVN0
cmVhbS9zY3JpcHQtdGVzdHMvbm8taW50ZXJmYWNlLW9iamVjdC5qcwpAQCAtMCwwICsxLDE1IEBA
CitkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCB0aGUgZm9sbG93aW5nIGNsYXNzZXMgYXJlIG5vdCBt
YW5pcHVsYWJsZSBieSBKYXZhU2NyaXB0IChOb0ludGVyZmFjZU9iamVjdCkuIik7CisKK2Z1bmN0
aW9uIHRlc3QobmFtZSkKK3sKKyAgICBzaG91bGRCZSgndHlwZW9mICcgKyBuYW1lLCAnInVuZGVm
aW5lZCInKTsKKyAgICBzaG91bGRUaHJvdyhuYW1lICsgJy5wcm90b3R5cGUnKTsKK30KKwordGVz
dCgnTmF2aWdhdG9yVXNlck1lZGlhJyk7Cit0ZXN0KCdOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvcicp
OwordGVzdCgnTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrJyk7Cit0ZXN0KCdOYXZp
Z2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrJyk7CisKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0g
ZmFsc2U7Cit3aW5kb3cuc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL0FuZHJvaWQuZGVyaXZlZC5qc2NiaW5kaW5ncy5tayBiL1NvdXJjZS9XZWJD
b3JlL0FuZHJvaWQuZGVyaXZlZC5qc2NiaW5kaW5ncy5tawppbmRleCAwN2RkYzJhMWE2NWMyMjIy
YmVmMWRhMWU3NzRiZmFiMDI2MWQ5YzA3Li4xMzZmMDE3MzdjODg5NDUyZmIwOThlNjgyNDZhNWY4
ODQ0YmVkYTBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9BbmRyb2lkLmRlcml2ZWQuanNj
YmluZGluZ3MubWsKKysrIGIvU291cmNlL1dlYkNvcmUvQW5kcm9pZC5kZXJpdmVkLmpzY2JpbmRp
bmdzLm1rCkBAIC0yOTYsNiArMjk2LDkgQEAgR0VOIDo9IFwKICAgICAkKGludGVybWVkaWF0ZXMp
L3BhZ2UvSlNIaXN0b3J5LmggXAogICAgICQoaW50ZXJtZWRpYXRlcykvcGFnZS9KU0xvY2F0aW9u
LmggXAogICAgICQoaW50ZXJtZWRpYXRlcykvcGFnZS9KU05hdmlnYXRvci5oIFwKKyAgICAkKGlu
dGVybWVkaWF0ZXMpL3BhZ2UvSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5oIFwKKyAgICAkKGlu
dGVybWVkaWF0ZXMpL3BhZ2UvSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmggXAor
ICAgICQoaW50ZXJtZWRpYXRlcykvcGFnZS9KU05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxs
YmFjay5oIFwKICAgICAkKGludGVybWVkaWF0ZXMpL3BhZ2UvSlNQb3NpdGlvbkVycm9yLmggXAog
ICAgICQoaW50ZXJtZWRpYXRlcykvcGFnZS9KU1NjcmVlbi5oIFwKICAgICAkKGludGVybWVkaWF0
ZXMpL3BhZ2UvSlNXZWJLaXRBbmltYXRpb24uaCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9BbmRyb2lkLmRlcml2ZWQudjhiaW5kaW5ncy5tayBiL1NvdXJjZS9XZWJDb3JlL0FuZHJvaWQu
ZGVyaXZlZC52OGJpbmRpbmdzLm1rCmluZGV4IDVhMGZlY2VjNDBkZDc5NGU1YmFkMzQ2OWY3MjI2
YjI4NmJjZjlkNzguLjE0NDAxZGRiMDliZmU0Zjk0MDcxZmViYzU4NWFkMmZkYjIxYTA5ZmUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0FuZHJvaWQuZGVyaXZlZC52OGJpbmRpbmdzLm1rCisr
KyBiL1NvdXJjZS9XZWJDb3JlL0FuZHJvaWQuZGVyaXZlZC52OGJpbmRpbmdzLm1rCkBAIC0yNzcs
NiArMjc3LDkgQEAgR0VOIDo9IFwKICAgICAkKGludGVybWVkaWF0ZXMpL2JpbmRpbmdzL1Y4SGlz
dG9yeS5oIFwKICAgICAkKGludGVybWVkaWF0ZXMpL2JpbmRpbmdzL1Y4TG9jYXRpb24uaCBcCiAg
ICAgJChpbnRlcm1lZGlhdGVzKS9iaW5kaW5ncy9WOE5hdmlnYXRvci5oIFwKKyAgICAkKGludGVy
bWVkaWF0ZXMpL2JpbmRpbmdzL1Y4TmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuaCBcCisgICAgJChp
bnRlcm1lZGlhdGVzKS9iaW5kaW5ncy9WOE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2su
aCBcCisgICAgJChpbnRlcm1lZGlhdGVzKS9iaW5kaW5ncy9WOE5hdmlnYXRvclVzZXJNZWRpYVN1
Y2Nlc3NDYWxsYmFjay5oIFwKICAgICAkKGludGVybWVkaWF0ZXMpL2JpbmRpbmdzL1Y4UG9zaXRp
b25FcnJvci5oIFwKICAgICAkKGludGVybWVkaWF0ZXMpL2JpbmRpbmdzL1Y4U2NyZWVuLmggXAog
ICAgICQoaW50ZXJtZWRpYXRlcykvYmluZGluZ3MvVjhXZWJLaXRBbmltYXRpb24uaCBcCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9BbmRyb2lkLnY4YmluZGluZ3MubWsgYi9Tb3VyY2UvV2Vi
Q29yZS9BbmRyb2lkLnY4YmluZGluZ3MubWsKaW5kZXggOWU0MzhlN2Y0ZGZmODUxNzE0NTMzZGM3
YzBhNjY2MDE3NWI2MDU3ZC4uYTRkYjI4OGY5YmU0ZTIwZThkYzFhM2VlODM4ZjI5ZTg3ODE2ODc2
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQW5kcm9pZC52OGJpbmRpbmdzLm1rCisrKyBi
L1NvdXJjZS9XZWJDb3JlL0FuZHJvaWQudjhiaW5kaW5ncy5tawpAQCAtMTQxLDYgKzE0MSw3IEBA
IExPQ0FMX1NSQ19GSUxFUyArPSBcCiAJYmluZGluZ3MvdjgvY3VzdG9tL1Y4TWVzc2FnZUNoYW5u
ZWxDb25zdHJ1Y3Rvci5jcHAgXAogCWJpbmRpbmdzL3Y4L2N1c3RvbS9WOE1lc3NhZ2VQb3J0Q3Vz
dG9tLmNwcCBcCiAJYmluZGluZ3MvdjgvY3VzdG9tL1Y4TWVzc2FnZUV2ZW50Q3VzdG9tLmNwcCBc
CisJYmluZGluZ3MvdjgvY3VzdG9tL1Y4TmF2aWdhdG9yQ3VzdG9tLmNwcCBcCiAJYmluZGluZ3Mv
djgvY3VzdG9tL1Y4TmFtZWROb2RlTWFwQ3VzdG9tLmNwcCBcCiAJYmluZGluZ3MvdjgvY3VzdG9t
L1Y4TmFtZWROb2Rlc0NvbGxlY3Rpb24uY3BwIFwKIAliaW5kaW5ncy92OC9jdXN0b20vVjhOb2Rl
Q3VzdG9tLmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBi
L1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IGI1MTgwYzlkYjE5MDBmODVjNjdm
ZmE5Yzk1YzEyN2YwMDI3M2NjYzEuLjZiY2UwMDRjYzhlZDViNDVhNzhiN2Q5Nzc4NTA1NTE2MGQ1
YTNiOGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0zMzAsNiArMzMwLDggQEAgU0VUKFdlYkNv
cmVfSURMX0ZJTEVTCiAgICAgcGFnZS9Mb2NhdGlvbi5pZGwKICAgICBwYWdlL01lbW9yeUluZm8u
aWRsCiAgICAgcGFnZS9OYXZpZ2F0b3IuaWRsCisgICAgcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFF
cnJvckNhbGxiYWNrLmlkbAorICAgIHBhZ2UvTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxi
YWNrLmlkbAogICAgIHBhZ2UvUGVyZm9ybWFuY2UuaWRsCiAgICAgcGFnZS9QZXJmb3JtYW5jZU5h
dmlnYXRpb24uaWRsCiAgICAgcGFnZS9QZXJmb3JtYW5jZVRpbWluZy5pZGwKQEAgLTE5NDYsNiAr
MTk0OCwxNiBAQCBJRiAoRU5BQkxFX1BST0dSRVNTX1RBRykKICAgICApCiBFTkRJRiAoKQogCitJ
RiAoRU5BQkxFX01FRElBX1NUUkVBTSkKKyAgICBMSVNUKEFQUEVORCBXZWJDb3JlX1NPVVJDRVMK
KyAgICAgICAgYmluZGluZ3MvanMvSlNOYXZpZ2F0b3JDdXN0b20uY3BwCisgICAgKQorCisgICAg
TElTVChBUFBFTkQgV2ViQ29yZV9JRExfRklMRVMKKyAgICAgICAgcGFnZS9OYXZpZ2F0b3JVc2Vy
TWVkaWFFcnJvci5pZGwKKyAgICApCitFTkRJRiAoKQorCiAKIAogIyBNb2R1bGVzIHRoYXQgdGhl
IGJpbmRpbmdzIGdlbmVyYXRvciBzY3JpcHRzIG1heSB1c2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAwZTliYzY0
NzU4YTUxZGNhMDU2NTk1NDAwNjRmOTBhZjFiYzhiMTJhLi5lZjFhMWMzOWUyM2IyZDJiYjdmNTE2
ZTQ2ZmJjOWNjYjhiNzhiOGViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDkgQEAKKzIwMTEtMDQt
MDggIExlYW5kcm8gR3JhY2lhIEdpbCAgPGxlYW5kcm9ncmFjaWFAY2hyb21pdW0ub3JnPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1lZGlhIFN0cmVh
bSBBUEk6IGFkZCB0aGUgZ2V0VXNlck1lZGlhIG1ldGhvZCBhbmQgdGhlIEphdmFzY3JpcHQgYmlu
ZGluZ3MuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01
NjU4NgorCisgICAgICAgIEFkZCB0aGUgZ2V0VXNlck1lZGlhIG1ldGhvZCB0byB0aGUgbmF2aWdh
dG9yIGFuZCBpdHMgbmV3IEphdmFzY3JpcHQgdHlwZXMuCisgICAgICAgIEN1cnJlbnQgc3BlY2lm
aWNhdGlvbjogaHR0cDovL3d3dy53aGF0d2cub3JnL3NwZWNzL3dlYi1hcHBzL2N1cnJlbnQtd29y
ay9tdWx0aXBhZ2UvZG5kLmh0bWwjdmlkZW8tY29uZmVyZW5jaW5nLWFuZC1wZWVyLXRvLXBlZXIt
Y29tbXVuaWNhdGlvbgorCisgICAgICAgIFRlc3RzOiBmYXN0L2RvbS9NZWRpYVN0cmVhbS9hcmd1
bWVudC10eXBlcy5odG1sCisgICAgICAgICAgICAgICBmYXN0L2RvbS9NZWRpYVN0cmVhbS9lbmFi
bGVkLmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvZG9tL01lZGlhU3RyZWFtL25vLWludGVyZmFj
ZS1vYmplY3QuaHRtbAorCisgICAgICAgICogQW5kcm9pZC5kZXJpdmVkLmpzY2JpbmRpbmdzLm1r
OgorICAgICAgICAqIEFuZHJvaWQuZGVyaXZlZC52OGJpbmRpbmdzLm1rOgorICAgICAgICAqIEFu
ZHJvaWQudjhiaW5kaW5ncy5tazoKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAg
KiBDb2RlR2VuZXJhdG9ycy5wcmk6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMuY3BwOgorICAg
ICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5h
bToKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogV2ViQ29yZS5wcm86CisgICAg
ICAgICogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6CisgICAgICAgICogV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTTmF2aWdh
dG9yQ3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTTmF2aWdhdG9yOjp3ZWJraXRHZXRV
c2VyTWVkaWEpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOE5hdmlnYXRvckN1c3Rv
bS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6VjhOYXZpZ2F0b3I6OndlYmtpdEdldFVz
ZXJNZWRpYUNhbGxiYWNrKToKKyAgICAgICAgKiBwYWdlL05hdmlnYXRvci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpOYXZpZ2F0b3I6OndlYmtpdEdldFVzZXJNZWRpYSk6CisgICAgICAgICogcGFn
ZS9OYXZpZ2F0b3IuaDoKKyAgICAgICAgKiBwYWdlL05hdmlnYXRvci5pZGw6CisgICAgICAgICog
cGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6
Ok5hdmlnYXRvclVzZXJNZWRpYUVycm9yOjpOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvcik6CisgICAg
ICAgIChXZWJDb3JlOjpOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvcjo6fk5hdmlnYXRvclVzZXJNZWRp
YUVycm9yKToKKyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRvclVzZXJNZWRpYUVycm9yOjpjb2Rl
KToKKyAgICAgICAgKiBwYWdlL05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmlkbDogQWRkZWQuCisg
ICAgICAgICogcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmg6IEFkZGVkLgor
ICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjazo6fk5hdmln
YXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2spOgorICAgICAgICAqIHBhZ2UvTmF2aWdhdG9yVXNl
ck1lZGlhRXJyb3JDYWxsYmFjay5pZGw6IEFkZGVkLgorICAgICAgICAqIHBhZ2UvTmF2aWdhdG9y
VXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6TmF2
aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrOjp+TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vz
c0NhbGxiYWNrKToKKyAgICAgICAgKiBwYWdlL05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxs
YmFjay5pZGw6IEFkZGVkLgorCiAyMDExLTA0LTA4ICBBbmRyZXkgQWRhaWtpbiAgPGFhbmRyZXlA
Z29vZ2xlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBQYXZlbCBGZWxkbWFuLgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvQ29kZUdlbmVyYXRvcnMucHJpIGIvU291cmNlL1dlYkNvcmUv
Q29kZUdlbmVyYXRvcnMucHJpCmluZGV4IDllZGVjYzkwMmFhYjU5ODJmOGMyZTlkNzg1YTQwMWM3
ZTBjMDIxZmQuLjE0MmY0ZmUyNWMyYjgwMGQ3MjA5YjM5NzQwMjA1NTFkMmYxZWI3NjUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NvZGVHZW5lcmF0b3JzLnByaQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Db2RlR2VuZXJhdG9ycy5wcmkKQEAgLTMyNSw2ICszMjUsOSBAQCBJRExfQklORElOR1Mg
Kz0gXAogICAgIHBhZ2UvTG9jYXRpb24uaWRsIFwKICAgICBwYWdlL01lbW9yeUluZm8uaWRsIFwK
ICAgICBwYWdlL05hdmlnYXRvci5pZGwgXAorICAgIHBhZ2UvTmF2aWdhdG9yVXNlck1lZGlhRXJy
b3IuaWRsIFwKKyAgICBwYWdlL05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2suaWRsIFwK
KyAgICBwYWdlL05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5pZGwgXAogICAgIHBh
Z2UvUGVyZm9ybWFuY2UuaWRsIFwKICAgICBwYWdlL1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5pZGwg
XAogICAgIHBhZ2UvUGVyZm9ybWFuY2VUaW1pbmcuaWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2Vz
LmNwcAppbmRleCAyNDAyMmY3NGVmNmI4ODIzN2FlYmZiZTU5ODA4YzNiYTQ3N2JmZTgyLi4yY2Fl
ODBjM2UyNjI3MDYyZmVhZTgyY2VlOGJhYmJhYWIxMDgwNjZiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMuY3BwCkBAIC0yNDUsNiArMjQ1LDkgQEAKICNpbmNsdWRlICJKU011dGF0aW9uRXZlbnQu
Y3BwIgogI2luY2x1ZGUgIkpTTmFtZWROb2RlTWFwLmNwcCIKICNpbmNsdWRlICJKU05hdmlnYXRv
ci5jcHAiCisjaW5jbHVkZSAiSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5jcHAiCisjaW5jbHVk
ZSAiSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmNwcCIKKyNpbmNsdWRlICJKU05h
dmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5jcHAiCiAjaW5jbHVkZSAiSlNOb2RlLmNw
cCIKICNpbmNsdWRlICJKU05vZGVGaWx0ZXIuY3BwIgogI2luY2x1ZGUgIkpTTm9kZUl0ZXJhdG9y
LmNwcCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9T
b3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IGFmODk0ZjM5NzhhODM2MmZl
NDQwMmU3NDdhYzk5ZWIxOTVjNTdjZjAuLjE0ZTE5Njk1ZjQ1NzU4MzMyNWQ1ZjlhZTgwODA3YzFi
NmEwNDAzYzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UK
KysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtMzA4LDYgKzMwOCw5
IEBAIERPTV9DTEFTU0VTID0gXAogICAgIE11dGF0aW9uRXZlbnQgXAogICAgIE5hbWVkTm9kZU1h
cCBcCiAgICAgTmF2aWdhdG9yIFwKKyAgICBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvciBcCisgICAg
TmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjayBcCisgICAgTmF2aWdhdG9yVXNlck1lZGlh
U3VjY2Vzc0NhbGxiYWNrIFwKICAgICBOb2RlIFwKICAgICBOb2RlRmlsdGVyIFwKICAgICBOb2Rl
SXRlcmF0b3IgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5h
bSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggZGFiOTA0MmNhZDQ0
OGUzMzNhNDk1N2NhNWZmYWIwOWYzZGRhZjM0NS4uMTI3NTBhNGQ2NjJmNTFjMWI3NGUzOGQ0YzQ5
NDNjN2VmZmRhODg5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlz
dC5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC0zNzksNiAr
Mzc5LDEyIEBAIHdlYmNvcmVfYnVpbHRfc291cmNlcyArPSBcCiAJRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU05hbWVkTm9kZU1hcC5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTmF2aWdh
dG9yLmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05hdmlnYXRvci5oIFwKKwlEZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuY3BwIFwKKwlEZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuaCBcCisJRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2suY3BwIFwK
KwlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFj
ay5oIFwKKwlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vz
c0NhbGxiYWNrLmNwcCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05hdmlnYXRvclVzZXJN
ZWRpYVN1Y2Nlc3NDYWxsYmFjay5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTm9kZS5j
cHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOb2RlRmlsdGVyLmNwcCBcCiAJRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU05vZGVGaWx0ZXIuaCBcCkBAIC0yMjA1LDYgKzIyMTEsOSBAQCB3
ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yLmggXAog
CVNvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yQmFzZS5jcHAgXAogCVNvdXJjZS9XZWJDb3Jl
L3BhZ2UvTmF2aWdhdG9yQmFzZS5oIFwKKwlTb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvclVz
ZXJNZWRpYUVycm9yLmggXAorCVNvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yVXNlck1lZGlh
RXJyb3JDYWxsYmFjay5oIFwKKwlTb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvclVzZXJNZWRp
YVN1Y2Nlc3NDYWxsYmFjay5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wYWdlL09yaWdpbkFjY2Vzc0Vu
dHJ5LmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGFnZS9PcmlnaW5BY2Nlc3NFbnRyeS5oIFwKIAlT
b3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCBjY2NhNDc5
NDZkZTY0MjViYjA0ZDEwZWUzYTJkOGQyMDhiZjAzNDJlLi5hZDE1OGUwZTZiNzBiYzJmYzM3Zjc3
NzQzZGRhMDc5ODJjMDgyYWExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5
cGkKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC0xMzI0LDYgKzEzMjQsOSBA
QAogICAgICAgICAgICAgJ3BhZ2UvTG9jYXRpb24uaWRsJywKICAgICAgICAgICAgICdwYWdlL01l
bW9yeUluZm8uaWRsJywKICAgICAgICAgICAgICdwYWdlL05hdmlnYXRvci5pZGwnLAorICAgICAg
ICAgICAgJ3BhZ2UvTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuaWRsJywKKyAgICAgICAgICAgICdw
YWdlL05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2suaWRsJywKKyAgICAgICAgICAgICdw
YWdlL05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5pZGwnLAogICAgICAgICAgICAg
J3BhZ2UvUGVyZm9ybWFuY2UuaWRsJywKICAgICAgICAgICAgICdwYWdlL1BlcmZvcm1hbmNlTmF2
aWdhdGlvbi5pZGwnLAogICAgICAgICAgICAgJ3BhZ2UvUGVyZm9ybWFuY2VUaW1pbmcuaWRsJywK
QEAgLTIxMjUsNiArMjEyOCw3IEBACiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4
TmFtZWROb2RlTWFwQ3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9t
L1Y4TmFtZWROb2Rlc0NvbGxlY3Rpb24uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9j
dXN0b20vVjhOYW1lZE5vZGVzQ29sbGVjdGlvbi5oJywKKyAgICAgICAgICAgICdiaW5kaW5ncy92
OC9jdXN0b20vVjhOYXZpZ2F0b3JDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92
OC9jdXN0b20vVjhOb2RlQ3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3Vz
dG9tL1Y4Tm9kZUxpc3RDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0
b20vVjhOb3RpZmljYXRpb25DZW50ZXJDdXN0b20uY3BwJywKQEAgLTM0MDksNiArMzQxMyw5IEBA
CiAgICAgICAgICAgICAncGFnZS9OYXZpZ2F0b3IuaCcsCiAgICAgICAgICAgICAncGFnZS9OYXZp
Z2F0b3JCYXNlLmNwcCcsCiAgICAgICAgICAgICAncGFnZS9OYXZpZ2F0b3JCYXNlLmgnLAorICAg
ICAgICAgICAgJ3BhZ2UvTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuaCcsCisgICAgICAgICAgICAn
cGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmgnLAorICAgICAgICAgICAgJ3Bh
Z2UvTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmgnLAogICAgICAgICAgICAgJ3Bh
Z2UvT3JpZ2luQWNjZXNzRW50cnkuY3BwJywKICAgICAgICAgICAgICdwYWdlL09yaWdpbkFjY2Vz
c0VudHJ5LmgnLAogICAgICAgICAgICAgJ3BhZ2UvUGFnZS5jcHAnLApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS5wcm8gYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnBybwppbmRl
eCBkZjMzNjljNjRlZTYwNjg1MmQzZWM2N2E1OGVmZTk5NmIxYTkxNTBhLi43ZTgxZjUyYmRjMTc5
MmE3OWY2NmI5NTFiYmViMDVlYTllMTRiOWFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnBybworKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnBybwpAQCAtMzEyMiw2ICsz
MTIyLDE5IEBAIGNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9HRU9MT0NBVElPTj0xKSB7CiAgICAg
fQogfQogCitjb250YWlucyhERUZJTkVTLCBFTkFCTEVfTUVESUFfU1RSRUFNPTEpIHsKKyAgICBI
RUFERVJTICs9IFwKKyAgICAgICAgcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5oIFwKKyAg
ICAgICAgcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmggXAorICAgICAgICBw
YWdlL05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5oCisKKyAgICB2OCB7CisgICAg
ICAgIFNPVVJDRVMgKz0gXAorICAgICAgICAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4TmF2aWdh
dG9yQ3VzdG9tLmNwcAorCisgICAgfQorfQorCiBjb250YWlucyhERUZJTkVTLCBFTkFCTEVfU1ZH
PTEpIHsKICAgICAhdjggewogICAgICAgICBTT1VSQ0VTICs9IFwKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXggYzJlM2E1NDA5NThjNTY1ZmNjN2E2
NDViNmYzZGIxYWZhYzljOTQ1Zi4uMGE5ZTZhZTVlMmYxNGU1YTc3MDg5Mzc0MjU3MjI1MjhiMWQ3
MmQ1YiAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52
Y3Byb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oK
QEAgLTExODc4LDYgKzExODc4LDE3NCBAQAogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCisJ
CQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5h
bWUpXERlcml2ZWRTb3VyY2VzXEpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuY3BwIgorCQkJCT4K
KwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWd8V2luMzIiCisJCQkJCUV4
Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJW
Q0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJ
PEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiCisJCQkJCUV4Y2x1
ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NM
Q29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZp
bGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVnX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJ
CQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5h
bWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4K
KwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUmVsZWFzZV9DYWlyb19DRkxpdGV8
V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29s
CisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZp
Z3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVnX0FsbHxX
aW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wK
KwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmln
dXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUHJvZHVjdGlvbnxX
aW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wK
KwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmln
dXJhdGlvbj4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZp
Z3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTmF2
aWdhdG9yVXNlck1lZGlhRXJyb3IuaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJ
CVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1l
KVxEZXJpdmVkU291cmNlc1xKU05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2suY3BwIgor
CQkJCT4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWd8V2luMzIiCisJ
CQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlO
YW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+
CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiCisJCQkJ
CUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1l
PSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJ
CQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVnX0NhaXJvX0NGTGl0ZXxXaW4z
MiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJ
CQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJh
dGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUmVsZWFzZV9DYWlyb19D
RkxpdGV8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJ
CTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmls
ZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVn
X0FsbHxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJ
PFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxl
Q29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUHJvZHVj
dGlvbnxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJ
PFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxl
Q29uZmlndXJhdGlvbj4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIk
KENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2Vz
XEpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5oIgorCQkJCT4KKwkJCTwvRmlsZT4K
KwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2Jq
XCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vz
c0NhbGxiYWNrLmNwcCIKKwkJCQk+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9
IkRlYnVnfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJ
CQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0Zp
bGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJSZWxl
YXNlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8
VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVD
b25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z19D
YWlyb19DRkxpdGV8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+
CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJ
CTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9
IlJlbGVhc2VfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1
ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJ
CQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgor
CQkJCQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVl
IgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJ
CQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJ
CQkJCU5hbWU9IlByb2R1Y3Rpb258V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVl
IgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJ
CQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJ
CVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1l
KVxEZXJpdmVkU291cmNlc1xKU05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5oIgor
CQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3Vy
YXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTm9kZS5j
cHAiCiAJCQkJPgogCQkJCTxGaWxlQ29uZmlndXJhdGlvbgpAQCAtMjQ4ODIsNiArMjUwNTAsMTgg
QEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGFn
ZVxOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5oIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxl
CisJCQkJUmVsYXRpdmVQYXRoPSIuLlxwYWdlXE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJh
Y2suaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5c
cGFnZVxOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suaCIKKwkJCQk+CisJCQk8L0Zp
bGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGFnZVxPcmlnaW5BY2Nlc3NFbnRy
eS5jcHAiCiAJCQkJPgogCQkJPC9GaWxlPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDhmYWQxYmZkY2Y5OGNjYWQ1ZGQxMzFkYjE3
YWI4ZTg2MGRlOTE3ODUuLjZhMjYyZmI2NTQwMTFhNWMyYzZhNTM5MmZiNmYzNGE5ZTE2NTBmNzIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKQEAgLTQxMDEsNiArNDEwMSwxNSBAQAogCQlCMDE0OUU4MDExQTRCMjE1MDAxOTZBN0IgLyog
SW1hZ2VSZXNpemVyVGhyZWFkLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBCMDE0OUU3QzExQTRCMjE1MDAxOTZBN0IgLyogSW1hZ2VSZXNpemVyVGhyZWFk
LmggKi87IH07CiAJCUIxODI3NDkzMTM0Q0E0QzEwMEI5OEMyRCAvKiBDYWxsYmFja0Z1bmN0aW9u
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIxODI3
NDkyMTM0Q0E0QzEwMEI5OEMyRCAvKiBDYWxsYmFja0Z1bmN0aW9uLmNwcCAqLzsgfTsKIAkJQjFE
NUVDQjUxMzRCNThEQTAwODdDNzhGIC8qIENhbGxiYWNrRnVuY3Rpb24uaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIxRDVFQ0I0MTM0QjU4REEwMDg3Qzc4
RiAvKiBDYWxsYmFja0Z1bmN0aW9uLmggKi87IH07CisJCUIxRTU0NTk5MTM0NjI5QzEwMDkyQTU0
NSAvKiBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQjFFNTQ1OEQxMzQ2MjlDMTAwOTJBNTQ1IC8qIE5hdmlnYXRv
clVzZXJNZWRpYUVycm9yLmggKi87IH07CisJCUIxRTU0NTlCMTM0NjI5QzEwMDkyQTU0NSAvKiBO
YXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMUU1NDU4RjEzNDYyOUMxMDA5MkE1NDUgLyogTmF2aWdh
dG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5oICovOyB9OworCQlCMUU1NDU5RDEzNDYyOUMxMDA5
MkE1NDUgLyogTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMUU1NDU5MTEzNDYyOUMxMDA5MkE1
NDUgLyogTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmggKi87IH07CisJCUIxRTU0
NURGMTM0NjJCMEIwMDkyQTU0NSAvKiBKU05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIxRTU0NUQxMTM0NjJC
MEIwMDkyQTU0NSAvKiBKU05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmNwcCAqLzsgfTsKKwkJQjFF
NTQ1RTAxMzQ2MkIwQjAwOTJBNTQ1IC8qIEpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIxRTU0NUQyMTM0NjJC
MEIwMDkyQTU0NSAvKiBKU05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmggKi87IH07CisJCUIxRTU0
NUUxMTM0NjJCMEIwMDkyQTU0NSAvKiBKU05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2su
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjFFNTQ1
RDMxMzQ2MkIwQjAwOTJBNTQ1IC8qIEpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5j
cHAgKi87IH07CisJCUIxRTU0NUUyMTM0NjJCMEIwMDkyQTU0NSAvKiBKU05hdmlnYXRvclVzZXJN
ZWRpYUVycm9yQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEIxRTU0NUQ0MTM0NjJCMEIwMDkyQTU0NSAvKiBKU05hdmlnYXRvclVzZXJNZWRp
YUVycm9yQ2FsbGJhY2suaCAqLzsgfTsKKwkJQjFFNTQ1RTMxMzQ2MkIwQjAwOTJBNTQ1IC8qIEpT
TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIxRTU0NUQ1MTM0NjJCMEIwMDkyQTU0NSAvKiBK
U05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5jcHAgKi87IH07CisJCUIxRTU0NUU0
MTM0NjJCMEIwMDkyQTU0NSAvKiBKU05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjFFNTQ1RDYx
MzQ2MkIwQjAwOTJBNTQ1IC8qIEpTTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmgg
Ki87IH07CiAJCUIyMDExMTA3MEFCNzc0MDUwMERCMEU2OCAvKiBKU1NWR0FFbGVtZW50LmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIyMDExMTA1MEFC
Nzc0MDUwMERCMEU2OCAvKiBKU1NWR0FFbGVtZW50LmNwcCAqLzsgfTsKIAkJQjIwMTExMDgwQUI3
NzQwNTAwREIwRTY4IC8qIEpTU1ZHQUVsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIyMDExMTA2MEFCNzc0MDUwMERCMEU2OCAvKiBKU1NWR0FF
bGVtZW50LmggKi87IH07CiAJCUIyMjI3OTYyMEQwMEJGMjIwMDcxQjc4MiAvKiBDb2xvckRpc3Rh
bmNlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIy
MjI3N0NCMEQwMEJGMUYwMDcxQjc4MiAvKiBDb2xvckRpc3RhbmNlLmNwcCAqLzsgfTsKQEAgLTEw
MzgzLDYgKzEwMzkyLDE4IEBACiAJCUIwMTQ5RTdDMTFBNEIyMTUwMDE5NkE3QiAvKiBJbWFnZVJl
c2l6ZXJUaHJlYWQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW1hZ2VSZXNp
emVyVGhyZWFkLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIxODI3NDkyMTM0Q0E0
QzEwMEI5OEMyRCAvKiBDYWxsYmFja0Z1bmN0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IENhbGxiYWNrRnVuY3Rpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlCMUQ1RUNCNDEzNEI1OERBMDA4N0M3OEYgLyogQ2FsbGJhY2tGdW5jdGlvbi5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDYWxsYmFja0Z1bmN0aW9uLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIxRTU0NThEMTM0NjI5QzEwMDkyQTU0NSAvKiBO
YXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQlCMUU1NDU4RTEzNDYyOUMxMDA5MkE1NDUgLyogTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuaWRs
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IE5hdmlnYXRvclVzZXJNZWRpYUVycm9yLmlkbDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjFFNTQ1OEYxMzQ2MjlDMTAwOTJBNTQ1IC8qIE5h
dmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2suaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQlCMUU1NDU5MDEzNDYyOUMxMDA5MkE1NDUgLyogTmF2aWdhdG9yVXNl
ck1lZGlhRXJyb3JDYWxsYmFjay5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gTmF2aWdhdG9y
VXNlck1lZGlhRXJyb3JDYWxsYmFjay5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CUIxRTU0NTkxMTM0NjI5QzEwMDkyQTU0NSAvKiBOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2Fs
bGJhY2suaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTmF2aWdhdG9yVXNlck1l
ZGlhU3VjY2Vzc0NhbGxiYWNrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIxRTU0
NTkyMTM0NjI5QzEwMDkyQTU0NSAvKiBOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2su
aWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxs
YmFjay5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIxRTU0NUQxMTM0NjJCMEIw
MDkyQTU0NSAvKiBKU05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCMUU1NDVEMjEzNDYyQjBCMDA5MkE1NDUgLyogSlNO
YXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBKU05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUIxRTU0NUQzMTM0NjJCMEIwMDkyQTU0NSAvKiBKU05hdmlnYXRvclVzZXJNZWRpYUVycm9y
Q2FsbGJhY2suY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNOYXZp
Z2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJQjFFNTQ1RDQxMzQ2MkIwQjAwOTJBNTQ1IC8qIEpTTmF2aWdhdG9yVXNlck1lZGlhRXJy
b3JDYWxsYmFjay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU05hdmlnYXRv
clVzZXJNZWRpYUVycm9yQ2FsbGJhY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
QjFFNTQ1RDUxMzQ2MkIwQjAwOTJBNTQ1IC8qIEpTTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0Nh
bGxiYWNrLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTTmF2aWdh
dG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJQjFFNTQ1RDYxMzQ2MkIwQjAwOTJBNTQ1IC8qIEpTTmF2aWdhdG9yVXNlck1lZGlhU3Vj
Y2Vzc0NhbGxiYWNrLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTTmF2aWdh
dG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUIyMDExMTA1MEFCNzc0MDUwMERCMEU2OCAvKiBKU1NWR0FFbGVtZW50LmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1NWR0FFbGVtZW50LmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjIwMTExMDYwQUI3NzQwNTAwREIwRTY4IC8qIEpTU1ZH
QUVsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAz
MDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTU1ZHQUVsZW1l
bnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjIyMjc3Q0IwRDAwQkYxRjAwNzFC
NzgyIC8qIENvbG9yRGlzdGFuY2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IENvbG9yRGlzdGFuY2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAt
MTQyODAsNiArMTQzMDEsMTIgQEAKIAkJCQlBOUM2RTY1RDBENzQ2Njk0MDA2NDQyRTkgLyogTmF2
aWdhdG9yLmlkbCAqLywKIAkJCQlFMTI3MTlDOTBFRUVDMjEzMDBGNjEyMTMgLyogTmF2aWdhdG9y
QmFzZS5jcHAgKi8sCiAJCQkJRTEyNzE5QzYwRUVFQzE2ODAwRjYxMjEzIC8qIE5hdmlnYXRvckJh
c2UuaCAqLywKKwkJCQlCMUU1NDU4RDEzNDYyOUMxMDA5MkE1NDUgLyogTmF2aWdhdG9yVXNlck1l
ZGlhRXJyb3IuaCAqLywKKwkJCQlCMUU1NDU4RTEzNDYyOUMxMDA5MkE1NDUgLyogTmF2aWdhdG9y
VXNlck1lZGlhRXJyb3IuaWRsICovLAorCQkJCUIxRTU0NThGMTM0NjI5QzEwMDkyQTU0NSAvKiBO
YXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmggKi8sCisJCQkJQjFFNTQ1OTAxMzQ2MjlD
MTAwOTJBNTQ1IC8qIE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2suaWRsICovLAorCQkJ
CUIxRTU0NTkxMTM0NjI5QzEwMDkyQTU0NSAvKiBOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2Fs
bGJhY2suaCAqLywKKwkJCQlCMUU1NDU5MjEzNDYyOUMxMDA5MkE1NDUgLyogTmF2aWdhdG9yVXNl
ck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmlkbCAqLywKIAkJCQkwMDE0NjI4ODEwM0NEMURFMDAwQjIw
REIgLyogT3JpZ2luQWNjZXNzRW50cnkuY3BwICovLAogCQkJCTAwMTQ2Mjg5MTAzQ0QxREUwMDBC
MjBEQiAvKiBPcmlnaW5BY2Nlc3NFbnRyeS5oICovLAogCQkJCTY1RkVBODY4MDk4MzNBREUwMEJF
RDRBQiAvKiBQYWdlLmNwcCAqLywKQEAgLTE4MzUzLDYgKzE4MzgwLDEyIEBACiAJCQkJOUZGRTNF
QTQxMUI1QTQzOTAwMzc4NzRFIC8qIEpTTWVtb3J5SW5mby5oICovLAogCQkJCUE5RDI0N0Y1MEQ3
NTdFMzMwMEZERjk1OSAvKiBKU05hdmlnYXRvci5jcHAgKi8sCiAJCQkJQTlEMjQ3RjYwRDc1N0Uz
MzAwRkRGOTU5IC8qIEpTTmF2aWdhdG9yLmggKi8sCisJCQkJQjFFNTQ1RDExMzQ2MkIwQjAwOTJB
NTQ1IC8qIEpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuY3BwICovLAorCQkJCUIxRTU0NUQyMTM0
NjJCMEIwMDkyQTU0NSAvKiBKU05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmggKi8sCisJCQkJQjFF
NTQ1RDMxMzQ2MkIwQjAwOTJBNTQ1IC8qIEpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFj
ay5jcHAgKi8sCisJCQkJQjFFNTQ1RDQxMzQ2MkIwQjAwOTJBNTQ1IC8qIEpTTmF2aWdhdG9yVXNl
ck1lZGlhRXJyb3JDYWxsYmFjay5oICovLAorCQkJCUIxRTU0NUQ1MTM0NjJCMEIwMDkyQTU0NSAv
KiBKU05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5jcHAgKi8sCisJCQkJQjFFNTQ1
RDYxMzQ2MkIwQjAwOTJBNTQ1IC8qIEpTTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNr
LmggKi8sCiAJCQkJOEE5QTU4NzIxMUU4NEM4MTAwOEFDRkQxIC8qIEpTUGVyZm9ybWFuY2UuY3Bw
ICovLAogCQkJCThBOUE1ODczMTFFODRDODEwMDhBQ0ZEMSAvKiBKU1BlcmZvcm1hbmNlLmggKi8s
CiAJCQkJOEE5QTU4NkUxMUU4NEMzNTAwOEFDRkQxIC8qIEpTUGVyZm9ybWFuY2VOYXZpZ2F0aW9u
LmNwcCAqLywKQEAgLTIyODUyLDYgKzIyODg1LDEyIEBACiAJCQkJOTNGMTk5RUQwODI0NUU1OTAw
MUU5QUJDIC8qIFhTTFRQcm9jZXNzb3IuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxQkU1MTJFMENG
NkM1MTIwMDJFQTk1OSAvKiBYU0xUVW5pY29kZVNvcnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3
N0UyRTBGMTJGMEZDOUMwMEMxMzM3OSAvKiBYU1NGaWx0ZXIuaCBpbiBIZWFkZXJzICovLAorCQkJ
CUIxRTU0NTk5MTM0NjI5QzEwMDkyQTU0NSAvKiBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJQjFFNTQ1OUIxMzQ2MjlDMTAwOTJBNTQ1IC8qIE5hdmlnYXRvclVz
ZXJNZWRpYUVycm9yQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovLAorCQkJCUIxRTU0NTlEMTM0NjI5
QzEwMDkyQTU0NSAvKiBOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suaCBpbiBIZWFk
ZXJzICovLAorCQkJCUIxRTU0NUUwMTM0NjJCMEIwMDkyQTU0NSAvKiBKU05hdmlnYXRvclVzZXJN
ZWRpYUVycm9yLmggaW4gSGVhZGVycyAqLywKKwkJCQlCMUU1NDVFMjEzNDYyQjBCMDA5MkE1NDUg
LyogSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmggaW4gSGVhZGVycyAqLywKKwkJ
CQlCMUU1NDVFNDEzNDYyQjBCMDA5MkE1NDUgLyogSlNOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNz
Q2FsbGJhY2suaCBpbiBIZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50
UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAtMjU1NDYsNiArMjU1ODUsOSBAQAogCQkJCTkz
RjE5QjA1MDgyNDVFNTkwMDFFOUFCQyAvKiBYU0xUUHJvY2Vzc29yTGlieHNsdC5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQlFMUJFNTEyRDBDRjZDNTEyMDAyRUE5NTkgLyogWFNMVFVuaWNvZGVTb3J0
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTk3N0UyRTBFMTJGMEZDOUMwMEMxMzM3OSAvKiBYU1NG
aWx0ZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQjFFNTQ1REYxMzQ2MkIwQjAwOTJBNTQ1IC8q
IEpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQjFFNTQ1
RTExMzQ2MkIwQjAwOTJBNTQ1IC8qIEpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5j
cHAgaW4gU291cmNlcyAqLywKKwkJCQlCMUU1NDVFMzEzNDYyQjBCMDA5MkE1NDUgLyogSlNOYXZp
Z2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkpOwog
CQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU05hdmlnYXRvckN1c3RvbS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU05hdmlnYXRvckN1c3RvbS5jcHAKaW5kZXggYzAy
MzkzMTMyYTgyMzJhMWQ0OGUxMzE2ODZlMzcwZDFmZjQyZjdiMi4uNTBmYjRkYTZjMzVjNGIyZWU3
YTAxNjY1ZmY4NTQ2MGFlYTA4MzVkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNOYXZpZ2F0b3JDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTTmF2aWdhdG9yQ3VzdG9tLmNwcApAQCAtMjMsNiArMjMsOSBAQAogI2luY2x1ZGUgImNv
bmZpZy5oIgogI2luY2x1ZGUgIkpTTmF2aWdhdG9yLmgiCiAKKyNpbmNsdWRlICJDYWxsYmFja0Z1
bmN0aW9uLmgiCisjaW5jbHVkZSAiSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmgi
CisjaW5jbHVkZSAiSlNOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suaCIKICNpbmNs
dWRlICJOYXZpZ2F0b3IuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMzgsNCArNDEsMjYg
QEAgdm9pZCBKU05hdmlnYXRvcjo6bWFya0NoaWxkcmVuKE1hcmtTdGFjayYgbWFya1N0YWNrKQog
ICAgIG1hcmtET01PYmplY3RXcmFwcGVyKG1hcmtTdGFjaywgZ2xvYmFsRGF0YSwgaW1wbCgpLT5v
cHRpb25hbEdlb2xvY2F0aW9uKCkpOwogfQogCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKK0pT
VmFsdWUgSlNOYXZpZ2F0b3I6OndlYmtpdEdldFVzZXJNZWRpYShFeGVjU3RhdGUqIGV4ZWMpCit7
CisgICAgLy8gQXJndW1lbnRzOiBPcHRpb25zLCBzdWNjZXNzQ2FsbGJhY2ssIChvcHRpb25hbCll
cnJvckNhbGxiYWNrCisKKyAgICBTdHJpbmcgb3B0aW9ucyA9IHVzdHJpbmdUb1N0cmluZyhleGVj
LT5hcmd1bWVudCgwKS50b1N0cmluZyhleGVjKSk7CisgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlv
bigpKQorICAgICAgICByZXR1cm4ganNVbmRlZmluZWQoKTsKKworICAgIFJlZlB0cjxOYXZpZ2F0
b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2s+IHN1Y2Nlc3NDYWxsYmFjayA9IGNyZWF0ZUZ1bmN0
aW9uT25seUNhbGxiYWNrPEpTTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrPihleGVj
LCBzdGF0aWNfY2FzdDxKU0RPTUdsb2JhbE9iamVjdCo+KGV4ZWMtPmxleGljYWxHbG9iYWxPYmpl
Y3QoKSksIGV4ZWMtPmFyZ3VtZW50KDEpKTsKKyAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkp
CisgICAgICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOworCisgICAgUmVmUHRyPE5hdmlnYXRvclVz
ZXJNZWRpYUVycm9yQ2FsbGJhY2s+IGVycm9yQ2FsbGJhY2sgPSBjcmVhdGVGdW5jdGlvbk9ubHlD
YWxsYmFjazxKU05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2s+KGV4ZWMsIHN0YXRpY19j
YXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4oZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpKSwgZXhl
Yy0+YXJndW1lbnQoMiksIENhbGxiYWNrQWxsb3dVbmRlZmluZWQpOworICAgIGlmIChleGVjLT5o
YWRFeGNlcHRpb24oKSkKKyAgICAgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7CisKKyAgICBtX2lt
cGwtPndlYmtpdEdldFVzZXJNZWRpYShvcHRpb25zLCBzdWNjZXNzQ2FsbGJhY2sucmVsZWFzZSgp
LCBlcnJvckNhbGxiYWNrLnJlbGVhc2UoKSk7CisgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7Cit9
CisjZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVBTSkKKwogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4TmF2aWdhdG9yQ3VzdG9tLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE5hdmlnYXRvckN1c3RvbS5jcHAKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uOTIyOWFiYmFhMzNhZTdkMDU1ZDZkZmQ3ZTdiNjQwNDQ5MDdiMzU4ZgotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE5hdmlnYXRvckN1
c3RvbS5jcHAKQEAgLTAsMCArMSw2NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29n
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisg
KiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04KKyAqIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUworICogU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZp
Zy5oIgorI2luY2x1ZGUgIlY4TmF2aWdhdG9yLmgiCisKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFN
KQorCisjaW5jbHVkZSAiTmF2aWdhdG9yLmgiCisjaW5jbHVkZSAiVjhCaW5kaW5nLmgiCisjaW5j
bHVkZSAiVjhOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmgiCisjaW5jbHVkZSAiVjhO
YXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suaCIKKyNpbmNsdWRlICJWOFV0aWxpdGll
cy5oIgorCit1c2luZyBuYW1lc3BhY2UgV1RGOworCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3Y4
OjpIYW5kbGU8djg6OlZhbHVlPiBWOE5hdmlnYXRvcjo6d2Via2l0R2V0VXNlck1lZGlhQ2FsbGJh
Y2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncykKK3sKKyAgICBJTkNfU1RBVFMoIkRPTS5OYXZp
Z2F0b3Iud2Via2l0R2V0VXNlck1lZGlhKCkiKTsKKworICAgIHY4OjpUcnlDYXRjaCBleGNlcHRp
b25DYXRjaGVyOworICAgIFN0cmluZyBvcHRpb25zID0gdG9XZWJDb3JlU3RyaW5nKGFyZ3NbMF0p
OworICAgIGlmIChleGNlcHRpb25DYXRjaGVyLkhhc0NhdWdodCgpKQorICAgICAgICByZXR1cm4g
dGhyb3dFcnJvcihleGNlcHRpb25DYXRjaGVyLkV4Y2VwdGlvbigpKTsKKworICAgIGJvb2wgc3Vj
Y2VlZGVkID0gZmFsc2U7CisKKyAgICBSZWZQdHI8TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0Nh
bGxiYWNrPiBzdWNjZXNzQ2FsbGJhY2sgPSBjcmVhdGVGdW5jdGlvbk9ubHlDYWxsYmFjazxWOE5h
dmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjaz4oYXJnc1sxXSwgc3VjY2VlZGVkKTsKKyAg
ICBpZiAoIXN1Y2NlZWRlZCkKKyAgICAgICAgcmV0dXJuIHY4OjpVbmRlZmluZWQoKTsKKworICAg
IC8vIEFyZ3VtZW50IGlzIG9wdGlvbmFsLCBoZW5jZSB1bmRlZmluZWQgaXMgYWxsb3dlZC4KKyAg
ICBSZWZQdHI8TmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjaz4gZXJyb3JDYWxsYmFjayA9
IGNyZWF0ZUZ1bmN0aW9uT25seUNhbGxiYWNrPFY4TmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxs
YmFjaz4oYXJnc1syXSwgc3VjY2VlZGVkLCBDYWxsYmFja0FsbG93VW5kZWZpbmVkKTsKKyAgICBp
ZiAoIXN1Y2NlZWRlZCkKKyAgICAgICAgcmV0dXJuIHY4OjpVbmRlZmluZWQoKTsKKworICAgIE5h
dmlnYXRvciogbmF2aWdhdG9yID0gVjhOYXZpZ2F0b3I6OnRvTmF0aXZlKGFyZ3MuSG9sZGVyKCkp
OworICAgIG5hdmlnYXRvci0+d2Via2l0R2V0VXNlck1lZGlhKG9wdGlvbnMsIHN1Y2Nlc3NDYWxs
YmFjay5yZWxlYXNlKCksIGVycm9yQ2FsbGJhY2sucmVsZWFzZSgpKTsKKyAgICByZXR1cm4gdjg6
OlVuZGVmaW5lZCgpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBF
TkFCTEUoTUVESUFfU1RSRUFNKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZp
Z2F0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3IuY3BwCmluZGV4IDZhMjY3
YWQ0MTYxOTY5OTAzYzgwY2E2Mzk0NDBjMzkxYWY1MzA3ZWQuLmIwMTBkMTZmYzZmZGFlOWRkYWM0
ZjVmODA0MWRiZTlmNTI3Zjk3NzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2
aWdhdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvci5jcHAKQEAgLTM0
LDYgKzM0LDggQEAKICNpbmNsdWRlICJHZW9sb2NhdGlvbi5oIgogI2luY2x1ZGUgIktVUkwuaCIK
ICNpbmNsdWRlICJMYW5ndWFnZS5oIgorI2luY2x1ZGUgIk5hdmlnYXRvclVzZXJNZWRpYUVycm9y
Q2FsbGJhY2suaCIKKyNpbmNsdWRlICJOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2su
aCIKICNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiUGFnZUdyb3VwLmgiCiAjaW5jbHVkZSAi
UGxhdGZvcm1TdHJpbmcuaCIKQEAgLTI0Miw0ICsyNDQsMTMgQEAgdm9pZCBOYXZpZ2F0b3I6OnJl
Z2lzdGVyUHJvdG9jb2xIYW5kbGVyKGNvbnN0IFN0cmluZyYgc2NoZW1lLCBjb25zdCBTdHJpbmcm
IHVybCwKIH0KICNlbmRpZgogCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKK3ZvaWQgTmF2aWdh
dG9yOjp3ZWJraXRHZXRVc2VyTWVkaWEoY29uc3QgU3RyaW5nJiBvcHRpb25zLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBQYXNzUmVmUHRyPE5hdmlnYXRvclVzZXJNZWRpYVN1
Y2Nlc3NDYWxsYmFjaz4gc3VjY2Vzc0NhbGxiYWNrLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBQYXNzUmVmUHRyPE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2s+IGVy
cm9yQ2FsbGJhY2spCit7CisgICAgLy8gRklYTUU6IGltcGxlbWVudCBhIGNhbGwgdG8gdGhlIG1l
ZGlhIHN0cmVhbSBjb250ZXh0IHdoZW4gYXZhaWxhYmxlLgorfQorI2VuZGlmCisKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9y
LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvci5oCmluZGV4IDY5M2JkZTEzZjkwODJj
NGFjMTc3ZmY1NWU2MzQ0OGIxNjNhM2YxNzIuLjA2NjVlMDNiMGJhYzljMjE4MDg1N2E2Zjg0OTc2
ZGY1ODkzYTZlYzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3IuaApAQCAtMzIsNiArMzIsOCBAQCBj
bGFzcyBET01NaW1lVHlwZUFycmF5OwogY2xhc3MgRE9NUGx1Z2luQXJyYXk7CiBjbGFzcyBGcmFt
ZTsKIGNsYXNzIEdlb2xvY2F0aW9uOworY2xhc3MgTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxs
YmFjazsKK2NsYXNzIE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjazsKIGNsYXNzIFBs
dWdpbkRhdGE7CiAKIHR5cGVkZWYgaW50IEV4Y2VwdGlvbkNvZGU7CkBAIC02Nyw2ICs2OSwxMSBA
QCBwdWJsaWM6CiAgICAgdm9pZCByZWdpc3RlclByb3RvY29sSGFuZGxlcihjb25zdCBTdHJpbmcm
IHNjaGVtZSwgY29uc3QgU3RyaW5nJiB1cmwsIGNvbnN0IFN0cmluZyYgdGl0bGUsIEV4Y2VwdGlv
bkNvZGUmKTsKICNlbmRpZgogCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKyAgICB2aXJ0dWFs
IHZvaWQgd2Via2l0R2V0VXNlck1lZGlhKGNvbnN0IFN0cmluZyYgb3B0aW9ucywgUGFzc1JlZlB0
cjxOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2s+LAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgUGFzc1JlZlB0cjxOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxi
YWNrPiA9IDApOworI2VuZGlmCisKIHByaXZhdGU6CiAgICAgTmF2aWdhdG9yKEZyYW1lKik7CiAg
ICAgRnJhbWUqIG1fZnJhbWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmln
YXRvci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvci5pZGwKaW5kZXggYmYzZjEw
OGVjOTAyNWMwMDg2YmYyODBmMzgxOTBjNGU5M2FlZDk3ZS4uZjEzOTNiOTkwNDhjZmYwZGRmOGM3
ZDE1NzIyMjE3Zjc2MjJkOTFjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZp
Z2F0b3IuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yLmlkbApAQCAtMzcs
NyArMzcsNyBAQCBtb2R1bGUgd2luZG93IHsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERP
TVN0cmluZyB2ZW5kb3JTdWI7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIGNv
b2tpZUVuYWJsZWQ7CiAgICAgICAgIGJvb2xlYW4gamF2YUVuYWJsZWQoKTsKLSAgICAgICAgCisK
ICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gb25MaW5lOwogCiAjaWYgZGVmaW5l
ZChFTkFCTEVfR0VPTE9DQVRJT04pICYmIEVOQUJMRV9HRU9MT0NBVElPTgpAQCAtNTIsNiArNTIs
MTIgQEAgbW9kdWxlIHdpbmRvdyB7CiAgICAgICAgIHZvaWQgcmVnaXN0ZXJQcm90b2NvbEhhbmRs
ZXIoaW4gRE9NU3RyaW5nIHNjaGVtZSwgaW4gRE9NU3RyaW5nIHVybCwgaW4gRE9NU3RyaW5nIHRp
dGxlKQogICAgICAgICAgICAgcmFpc2VzKERvbUV4Y2VwdGlvbik7CiAjZW5kaWYKKworI2lmIGRl
ZmluZWQoRU5BQkxFX01FRElBX1NUUkVBTSkgJiYgRU5BQkxFX01FRElBX1NUUkVBTQorICAgICAg
ICBbQ3VzdG9tLCBFbmFibGVkQXRSdW50aW1lXSB2b2lkIHdlYmtpdEdldFVzZXJNZWRpYShpbiBE
T01TdHJpbmcgb3B0aW9ucywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW4gW0NhbGxiYWNrPUZ1bmN0aW9uT25seV0gTmF2aWdhdG9y
VXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrIHN1Y2Nlc3NDYWxsYmFjaywKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gW0NhbGxiYWNr
PUZ1bmN0aW9uT25seSwgT3B0aW9uYWxdIE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2sg
ZXJyb3JDYWxsYmFjayk7CisjZW5kaWYKICAgICB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmggYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2M4OGI0ZjExZjY3NjI2
NDUzMTE5NjcyYmMxMTJiMTA2Nzc5MDJjOAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuaApAQCAtMCwwICsxLDU0IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiAgUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElN
UExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTgorICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCisgKiBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjaWZuZGVmIE5hdmlnYXRvclVzZXJNZWRpYUVycm9yX2gKKyNkZWZpbmUgTmF2
aWdhdG9yVXNlck1lZGlhRXJyb3JfaAorCisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKwor
I2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3Mg
TmF2aWdhdG9yVXNlck1lZGlhRXJyb3IgOiBwdWJsaWMgUmVmQ291bnRlZDxOYXZpZ2F0b3JVc2Vy
TWVkaWFFcnJvcj4geworcHVibGljOgorICAgIC8vIFNob3VsZCBiZSBrZXB0IGluIHN5bmMgd2l0
aCB0aGUgdmFsdWVzIGluIHRoZSBpZGwgZmlsZS4KKyAgICBlbnVtIEVycm9yQ29kZSB7CisgICAg
ICAgIFBFUk1JU1NJT05fREVOSUVEID0gMQorICAgIH07CisKKyAgICBOYXZpZ2F0b3JVc2VyTWVk
aWFFcnJvcihFcnJvckNvZGUgY29kZSkgOiBtX2NvZGUoY29kZSkgeyB9CisgICAgdmlydHVhbCB+
TmF2aWdhdG9yVXNlck1lZGlhRXJyb3IoKSB7IH0KKworICAgIEVycm9yQ29kZSBjb2RlKCkgY29u
c3QgeyByZXR1cm4gbV9jb2RlOyB9CisKK3ByaXZhdGU6CisgICAgRXJyb3JDb2RlIG1fY29kZTsK
K307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShNRURJQV9T
VFJFQU0pCisKKyNlbmRpZiAvLyBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvcl9oCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmlkbCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuaWRsCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI5
MzQ1MGIyMmJiYjhlOTk1ZmY1ZjMzZWE3NzA4NDFhZGViZWVmZjgKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmlkbApAQCAtMCww
ICsxLDM0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkK
KyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAq
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTgorICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTCisgKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCittb2R1bGUgd2luZG93IHsKKyAgICBpbnRlcmZhY2Ug
WworICAgICAgICBDb25kaXRpb25hbD1NRURJQV9TVFJFQU0KKyAgICBdIE5hdmlnYXRvclVzZXJN
ZWRpYUVycm9yIHsKKyAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgUEVSTUlTU0lPTl9ERU5J
RUQgPSAxOworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgc2hvcnQgY29kZTsK
KyAgICB9OworCit9CisKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9y
VXNlck1lZGlhRXJyb3JDYWxsYmFjay5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3JV
c2VyTWVkaWFFcnJvckNhbGxiYWNrLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTlmYjlmNjk5NDIxM2VlYjQ5ZDFm
N2I5NTM3Y2IwOTc1MTk3MzQ1NQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5oCkBAIC0wLDAgKzEsNDYgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuICBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OCisgKiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKKyAq
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNpZm5kZWYgTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFja19oCisj
ZGVmaW5lIE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2tfaAorCisjaWYgRU5BQkxFKE1F
RElBX1NUUkVBTSkKKworI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisKK25hbWVzcGFjZSBX
ZWJDb3JlIHsKKworY2xhc3MgTmF2aWdhdG9yVXNlck1lZGlhRXJyb3I7CisKK2NsYXNzIE5hdmln
YXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2sgOiBwdWJsaWMgUmVmQ291bnRlZDxOYXZpZ2F0b3JV
c2VyTWVkaWFFcnJvckNhbGxiYWNrPiB7CitwdWJsaWM6CisgICAgdmlydHVhbCB+TmF2aWdhdG9y
VXNlck1lZGlhRXJyb3JDYWxsYmFjaygpIHsgfQorICAgIHZpcnR1YWwgYm9vbCBoYW5kbGVFdmVu
dChOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvciopID0gMDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0pCisKKyNlbmRpZiAvLyBOYXZp
Z2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5pZGwgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2suaWRsCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY2
NzQ4Y2Q0OGU5YTcwYjYyYjNhN2RhNTM1YmVjYTkyYTJlNzE3OTQKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2suaWRs
CkBAIC0wLDAgKzEsMzMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycg
QU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCisgKiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMKKyAqIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK21vZHVsZSB3aW5kb3cgeworICAgIGlu
dGVyZmFjZSBbCisgICAgICAgIENvbmRpdGlvbmFsPU1FRElBX1NUUkVBTSwKKyAgICAgICAgQ2Fs
bGJhY2s9RnVuY3Rpb25Pbmx5CisgICAgXSBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNr
IHsKKyAgICAgICAgYm9vbGVhbiBoYW5kbGVFdmVudChpbiBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJv
ciBlcnJvcik7CisgICAgfTsKKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9O
YXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzcwNjkzZDA2
ZTQ3MTU2YzdlMTU2MGE1YzJiN2RiOTVmYzMxZjYxOAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmgKQEAgLTAs
MCArMSw0NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5Z
CisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7Cisg
KiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04KKyAqIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUworICogU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBOYXZpZ2F0b3JVc2VyTWVkaWFTdWNj
ZXNzQ2FsbGJhY2tfaAorI2RlZmluZSBOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2tf
aAorCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKworI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVk
Lmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgTmF2aWdhdG9yVXNlck1lZGlhU3Vj
Y2Vzc0NhbGxiYWNrIDogcHVibGljIFJlZkNvdW50ZWQ8TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vz
c0NhbGxiYWNrPiB7CitwdWJsaWM6CisgICAgdmlydHVhbCB+TmF2aWdhdG9yVXNlck1lZGlhU3Vj
Y2Vzc0NhbGxiYWNrKCkgeyB9CisgICAgLy8gRklYTUU6IHNldCBjb3JyZWN0IHR5cGUgd2hlbiB0
aGUgR2VuZXJhdGVkU3RyZWFtIGNsYXNzIGlzIGF2YWlsYWJsZS4KKyAgICAvLyB2aXJ0dWFsIGJv
b2wgaGFuZGxlRXZlbnQoR2VuZXJhdGVkU3RyZWFtKikgPSAwOworICAgIHZpcnR1YWwgYm9vbCBo
YW5kbGVFdmVudChpbnQgZHVtbXkpID0gMDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
KworI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0pCisKKyNlbmRpZiAvLyBOYXZpZ2F0b3JV
c2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2tfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9OYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suaWRsIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suaWRsCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmUx
MjU0MGNhNjNmMGZlZDQ3ZTZhMmNkMDE3YmNlOWYxZDU2OGJlZmMKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5p
ZGwKQEAgLTAsMCArMSwzNSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04KKyAqIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUworICogU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworbW9kdWxlIHdpbmRvdyB7CisgICAg
aW50ZXJmYWNlIFsKKyAgICAgICAgQ29uZGl0aW9uYWw9TUVESUFfU1RSRUFNLAorICAgICAgICBD
YWxsYmFjaz1GdW5jdGlvbk9ubHkKKyAgICBdIE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxs
YmFjayB7CisgICAgICAgIC8vIEZJWE1FOiBpbXBsZW1lbnQgdGhlIGNvcnJlY3QgdHlwZSB3aGVu
IHRoZSBHZW5lcmF0ZWRTdHJlYW0gY2xhc3MgaXMgYXZhaWxhYmxlLgorICAgICAgICAvLyBib29s
ZWFuIGhhbmRsZUV2ZW50KGluIEdlbmVyYXRlZFN0cmVhbSBzdHJlYW0pOworICAgICAgICBib29s
ZWFuIGhhbmRsZUV2ZW50KGluIGludCBkdW1teSk7CisgICAgfTsKKworfQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>88798</attachid>
            <date>2011-04-08 04:40:59 -0700</date>
            <delta_ts>2011-04-08 04:45:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-56586-20110408124051.patch</filename>
            <type>text/plain</type>
            <size>62718</size>
            <attacher name="Leandro Graciá Gil">leandrogracia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA0NWFkM2ViZjQ2ZTBhZTU0MTg5NzJhODdlM2I3MTBhMjE1MTA5MDA1Li44ZTM4YTRk
MzJlNDM4OTliOGU4MjdlNzI4YzY0MTM4NmI4NTRmOGViIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzEgQEAK
KzIwMTEtMDQtMDggIExlYW5kcm8gR3JhY2lhIEdpbCAgPGxlYW5kcm9ncmFjaWFAY2hyb21pdW0u
b3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1l
ZGlhIFN0cmVhbSBBUEk6IGFkZCB0aGUgZ2V0VXNlck1lZGlhIG1ldGhvZCBhbmQgdGhlIEphdmFz
Y3JpcHQgYmluZGluZ3MuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD01NjU4NgorCisgICAgICAgIFRlc3QgdGhlIEphdmFzY3JpcHQgYmVoYXZpb3VyIG9m
IHRoZSBnZXRVc2VyTWVkaWEgbWV0aG9kIHdpdGggZGlmZmVyZW50IHR5cGVzIG9mIGFyZ3VtZW50
cy4KKyAgICAgICAgQ3VycmVudCBzcGVjaWZpY2F0aW9uOiBodHRwOi8vd3d3LndoYXR3Zy5vcmcv
c3BlY3Mvd2ViLWFwcHMvY3VycmVudC13b3JrL211bHRpcGFnZS9kbmQuaHRtbCN2aWRlby1jb25m
ZXJlbmNpbmctYW5kLXBlZXItdG8tcGVlci1jb21tdW5pY2F0aW9uCisKKyAgICAgICAgKiBmYXN0
L2RvbS9NZWRpYVN0cmVhbS9hcmd1bWVudC10eXBlcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGZhc3QvZG9tL01lZGlhU3RyZWFtL2FyZ3VtZW50LXR5cGVzLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGZhc3QvZG9tL01lZGlhU3RyZWFtL2VuYWJsZWQtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBmYXN0L2RvbS9NZWRpYVN0cmVhbS9lbmFibGVkLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGZhc3QvZG9tL01lZGlhU3RyZWFtL25vLWludGVyZmFjZS1vYmplY3QtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9NZWRpYVN0cmVhbS9uby1pbnRlcmZh
Y2Utb2JqZWN0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL01lZGlhU3RyZWFtL3Nj
cmlwdC10ZXN0cy9hcmd1bWVudC10eXBlcy5qczogQWRkZWQuCisgICAgICAgIChzaG91bGROb3RU
aHJvdyk6CisgICAgICAgICh0ZXN0KToKKyAgICAgICAgKGVtcHR5RnVuY3Rpb24pOgorICAgICAg
ICAoKToKKyAgICAgICAgKE9iamVjdFRocm93aW5nRXhjZXB0aW9uLnByb3RvdHlwZS52YWx1ZU9m
KToKKyAgICAgICAgKE9iamVjdFRocm93aW5nRXhjZXB0aW9uLnByb3RvdHlwZS50b1N0cmluZyk6
CisgICAgICAgICogZmFzdC9kb20vTWVkaWFTdHJlYW0vc2NyaXB0LXRlc3RzL2VuYWJsZWQuanM6
IEFkZGVkLgorICAgICAgICAoaGFzR2V0VXNlck1lZGlhUHJvcGVydHkpOgorICAgICAgICAqIGZh
c3QvZG9tL01lZGlhU3RyZWFtL3NjcmlwdC10ZXN0cy9uby1pbnRlcmZhY2Utb2JqZWN0LmpzOiBB
ZGRlZC4KKyAgICAgICAgKHRlc3QpOgorCiAyMDExLTA0LTA3ICBQYXZlbCBQb2Rpdmlsb3YgIDxw
b2Rpdmlsb3ZAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFBhdmVsIEZlbGRt
YW4uCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9NZWRpYVN0cmVhbS9hcmd1bWVu
dC10eXBlcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9NZWRpYVN0cmVhbS9h
cmd1bWVudC10eXBlcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzUzNjY5ODNhOTAwM2YyYjEz
OGE0OTU5ZTQ3MTJhYmZhNGUwM2RiZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvZG9tL01lZGlhU3RyZWFtL2FyZ3VtZW50LXR5cGVzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDQ5IEBACitUZXN0cyB0aGUgYWNjZXB0YWJsZSB0eXBlcyBmb3IgYXJndW1lbnRzIHRvIG5hdmln
YXRvci5nZXRVc2VyTWVkaWEgbWV0aG9kcy4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CisKK1BBU1MgbmF2aWdhdG9yLndlYmtpdEdldFVzZXJNZWRpYSgpIHRocmV3IGV4Y2VwdGlvbiBF
cnJvcjogVFlQRV9NSVNNQVRDSF9FUlI6IERPTSBFeGNlcHRpb24gMTcuCitQQVNTIG5hdmlnYXRv
ci53ZWJraXRHZXRVc2VyTWVkaWEodW5kZWZpbmVkKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFRZ
UEVfTUlTTUFUQ0hfRVJSOiBET00gRXhjZXB0aW9uIDE3LgorUEFTUyBuYXZpZ2F0b3Iud2Via2l0
R2V0VXNlck1lZGlhKG51bGwpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogVFlQRV9NSVNNQVRDSF9F
UlI6IERPTSBFeGNlcHRpb24gMTcuCitQQVNTIG5hdmlnYXRvci53ZWJraXRHZXRVc2VyTWVkaWEo
e30pIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogVFlQRV9NSVNNQVRDSF9FUlI6IERPTSBFeGNlcHRp
b24gMTcuCitQQVNTIG5hdmlnYXRvci53ZWJraXRHZXRVc2VyTWVkaWEob2JqZWN0VGhyb3dpbmdF
eGNlcHRpb24pIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogVFlQRV9NSVNNQVRDSF9FUlI6IERPTSBF
eGNlcHRpb24gMTcuCitQQVNTIG5hdmlnYXRvci53ZWJraXRHZXRVc2VyTWVkaWEoInZpZGVvIikg
dGhyZXcgZXhjZXB0aW9uIEVycm9yOiBUWVBFX01JU01BVENIX0VSUjogRE9NIEV4Y2VwdGlvbiAx
Ny4KK1BBU1MgbmF2aWdhdG9yLndlYmtpdEdldFVzZXJNZWRpYSh0cnVlKSB0aHJldyBleGNlcHRp
b24gRXJyb3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00gRXhjZXB0aW9uIDE3LgorUEFTUyBuYXZp
Z2F0b3Iud2Via2l0R2V0VXNlck1lZGlhKDQyKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFRZUEVf
TUlTTUFUQ0hfRVJSOiBET00gRXhjZXB0aW9uIDE3LgorUEFTUyBuYXZpZ2F0b3Iud2Via2l0R2V0
VXNlck1lZGlhKEluZmluaXR5KSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFRZUEVfTUlTTUFUQ0hf
RVJSOiBET00gRXhjZXB0aW9uIDE3LgorUEFTUyBuYXZpZ2F0b3Iud2Via2l0R2V0VXNlck1lZGlh
KC1JbmZpbml0eSkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBUWVBFX01JU01BVENIX0VSUjogRE9N
IEV4Y2VwdGlvbiAxNy4KK1BBU1MgbmF2aWdhdG9yLndlYmtpdEdldFVzZXJNZWRpYShlbXB0eUZ1
bmN0aW9uKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00gRXhj
ZXB0aW9uIDE3LgorUEFTUyBuYXZpZ2F0b3Iud2Via2l0R2V0VXNlck1lZGlhKCJ2aWRlbyIsIGVt
cHR5RnVuY3Rpb24pIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBuYXZpZ2F0b3Iud2Vi
a2l0R2V0VXNlck1lZGlhKHVuZGVmaW5lZCwgZW1wdHlGdW5jdGlvbikgZGlkIG5vdCB0aHJvdyBl
eGNlcHRpb24uCitQQVNTIG5hdmlnYXRvci53ZWJraXRHZXRVc2VyTWVkaWEobnVsbCwgZW1wdHlG
dW5jdGlvbikgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIG5hdmlnYXRvci53ZWJraXRH
ZXRVc2VyTWVkaWEoe30sIGVtcHR5RnVuY3Rpb24pIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgor
UEFTUyBuYXZpZ2F0b3Iud2Via2l0R2V0VXNlck1lZGlhKG9iamVjdFRocm93aW5nRXhjZXB0aW9u
LCBlbXB0eUZ1bmN0aW9uKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IHRvU3RyaW5nIHRocmV3IGV4
Y2VwdGlvbi4KK1BBU1MgbmF2aWdhdG9yLndlYmtpdEdldFVzZXJNZWRpYSh0cnVlLCBlbXB0eUZ1
bmN0aW9uKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgbmF2aWdhdG9yLndlYmtpdEdl
dFVzZXJNZWRpYSg0MiwgZW1wdHlGdW5jdGlvbikgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQ
QVNTIG5hdmlnYXRvci53ZWJraXRHZXRVc2VyTWVkaWEoSW5maW5pdHksIGVtcHR5RnVuY3Rpb24p
IGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBuYXZpZ2F0b3Iud2Via2l0R2V0VXNlck1l
ZGlhKC1JbmZpbml0eSwgZW1wdHlGdW5jdGlvbikgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQ
QVNTIG5hdmlnYXRvci53ZWJraXRHZXRVc2VyTWVkaWEoZW1wdHlGdW5jdGlvbiwgZW1wdHlGdW5j
dGlvbikgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIG5hdmlnYXRvci53ZWJraXRHZXRV
c2VyTWVkaWEoInZpZGVvIiwgInZpZGVvIikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBUWVBFX01J
U01BVENIX0VSUjogRE9NIEV4Y2VwdGlvbiAxNy4KK1BBU1MgbmF2aWdhdG9yLndlYmtpdEdldFVz
ZXJNZWRpYSgidmlkZW8iLCB1bmRlZmluZWQpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogVFlQRV9N
SVNNQVRDSF9FUlI6IERPTSBFeGNlcHRpb24gMTcuCitQQVNTIG5hdmlnYXRvci53ZWJraXRHZXRV
c2VyTWVkaWEoInZpZGVvIiwgbnVsbCkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBUWVBFX01JU01B
VENIX0VSUjogRE9NIEV4Y2VwdGlvbiAxNy4KK1BBU1MgbmF2aWdhdG9yLndlYmtpdEdldFVzZXJN
ZWRpYSgidmlkZW8iLCB7fSkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBUWVBFX01JU01BVENIX0VS
UjogRE9NIEV4Y2VwdGlvbiAxNy4KK1BBU1MgbmF2aWdhdG9yLndlYmtpdEdldFVzZXJNZWRpYSgi
dmlkZW8iLCBvYmplY3RUaHJvd2luZ0V4Y2VwdGlvbikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBU
WVBFX01JU01BVENIX0VSUjogRE9NIEV4Y2VwdGlvbiAxNy4KK1BBU1MgbmF2aWdhdG9yLndlYmtp
dEdldFVzZXJNZWRpYSgidmlkZW8iLCB0cnVlKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFRZUEVf
TUlTTUFUQ0hfRVJSOiBET00gRXhjZXB0aW9uIDE3LgorUEFTUyBuYXZpZ2F0b3Iud2Via2l0R2V0
VXNlck1lZGlhKCJ2aWRlbyIsIDQyKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFRZUEVfTUlTTUFU
Q0hfRVJSOiBET00gRXhjZXB0aW9uIDE3LgorUEFTUyBuYXZpZ2F0b3Iud2Via2l0R2V0VXNlck1l
ZGlhKCJ2aWRlbyIsIEluZmluaXR5KSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFRZUEVfTUlTTUFU
Q0hfRVJSOiBET00gRXhjZXB0aW9uIDE3LgorUEFTUyBuYXZpZ2F0b3Iud2Via2l0R2V0VXNlck1l
ZGlhKCJ2aWRlbyIsIC1JbmZpbml0eSkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBUWVBFX01JU01B
VENIX0VSUjogRE9NIEV4Y2VwdGlvbiAxNy4KK1BBU1MgbmF2aWdhdG9yLndlYmtpdEdldFVzZXJN
ZWRpYSgidmlkZW8iLCBlbXB0eUZ1bmN0aW9uLCBlbXB0eUZ1bmN0aW9uKSBkaWQgbm90IHRocm93
IGV4Y2VwdGlvbi4KK1BBU1MgbmF2aWdhdG9yLndlYmtpdEdldFVzZXJNZWRpYSgidmlkZW8iLCBl
bXB0eUZ1bmN0aW9uLCB1bmRlZmluZWQpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBu
YXZpZ2F0b3Iud2Via2l0R2V0VXNlck1lZGlhKCJ2aWRlbyIsIGVtcHR5RnVuY3Rpb24sICJ2aWRl
byIpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogVFlQRV9NSVNNQVRDSF9FUlI6IERPTSBFeGNlcHRp
b24gMTcuCitQQVNTIG5hdmlnYXRvci53ZWJraXRHZXRVc2VyTWVkaWEoInZpZGVvIiwgZW1wdHlG
dW5jdGlvbiwgbnVsbCkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBUWVBFX01JU01BVENIX0VSUjog
RE9NIEV4Y2VwdGlvbiAxNy4KK1BBU1MgbmF2aWdhdG9yLndlYmtpdEdldFVzZXJNZWRpYSgidmlk
ZW8iLCBlbXB0eUZ1bmN0aW9uLCB7fSkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBUWVBFX01JU01B
VENIX0VSUjogRE9NIEV4Y2VwdGlvbiAxNy4KK1BBU1MgbmF2aWdhdG9yLndlYmtpdEdldFVzZXJN
ZWRpYSgidmlkZW8iLCBlbXB0eUZ1bmN0aW9uLCBvYmplY3RUaHJvd2luZ0V4Y2VwdGlvbikgdGhy
ZXcgZXhjZXB0aW9uIEVycm9yOiBUWVBFX01JU01BVENIX0VSUjogRE9NIEV4Y2VwdGlvbiAxNy4K
K1BBU1MgbmF2aWdhdG9yLndlYmtpdEdldFVzZXJNZWRpYSgidmlkZW8iLCBlbXB0eUZ1bmN0aW9u
LCB0cnVlKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00gRXhj
ZXB0aW9uIDE3LgorUEFTUyBuYXZpZ2F0b3Iud2Via2l0R2V0VXNlck1lZGlhKCJ2aWRlbyIsIGVt
cHR5RnVuY3Rpb24sIDQyKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFRZUEVfTUlTTUFUQ0hfRVJS
OiBET00gRXhjZXB0aW9uIDE3LgorUEFTUyBuYXZpZ2F0b3Iud2Via2l0R2V0VXNlck1lZGlhKCJ2
aWRlbyIsIGVtcHR5RnVuY3Rpb24sIEluZmluaXR5KSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFRZ
UEVfTUlTTUFUQ0hfRVJSOiBET00gRXhjZXB0aW9uIDE3LgorUEFTUyBuYXZpZ2F0b3Iud2Via2l0
R2V0VXNlck1lZGlhKCJ2aWRlbyIsIGVtcHR5RnVuY3Rpb24sIC1JbmZpbml0eSkgdGhyZXcgZXhj
ZXB0aW9uIEVycm9yOiBUWVBFX01JU01BVENIX0VSUjogRE9NIEV4Y2VwdGlvbiAxNy4KK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9NZWRpYVN0cmVhbS9hcmd1bWVudC10eXBlcy5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC9kb20vTWVkaWFTdHJlYW0vYXJndW1lbnQtdHlwZXMuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mZWVmY2QzYjExYzYzMTQ3NmUzMDgwNGFlODAxYTc3ZGE0YzkzODQ3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vTWVkaWFTdHJlYW0vYXJndW1lbnQtdHlw
ZXMuaHRtbApAQCAtMCwwICsxLDEzIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYv
L0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBo
cmVmPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL2FyZ3VtZW50LXR5cGVzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL01l
ZGlhU3RyZWFtL2VuYWJsZWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vTWVk
aWFTdHJlYW0vZW5hYmxlZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmFhZGJhOTFmYjk5MzQx
Y2QzMDUxMDMwYTRkMGU3MmQ5NmIxODJlYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL01lZGlhU3RyZWFtL2VuYWJsZWQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1Rlc3RzIHRoYXQgbmF2aWdhdG9yLndlYmtpdEdldFVzZXJNZWRpYSBpcyBwcmVzZW50Lgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyB0eXBlb2YgbmF2aWdhdG9yLndl
YmtpdEdldFVzZXJNZWRpYSA9PSAnZnVuY3Rpb24nIGlzIHRydWUKK1BBU1MgaGFzR2V0VXNlck1l
ZGlhUHJvcGVydHkoKSBpcyB0cnVlCitQQVNTICd3ZWJraXRHZXRVc2VyTWVkaWEnIGluIG5hdmln
YXRvciBpcyB0cnVlCitQQVNTIG5hdmlnYXRvci5oYXNPd25Qcm9wZXJ0eSgnd2Via2l0R2V0VXNl
ck1lZGlhJykgaXMgZmFsc2UKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9NZWRpYVN0cmVh
bS9lbmFibGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9NZWRpYVN0cmVhbS9lbmFibGVk
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZTA4YmNiN2RhMWJmNTAwMzRkNzljN2Q4N2FhZTY5NDYzN2I5ZmE5
MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL01lZGlhU3RyZWFtL2Vu
YWJsZWQuaHRtbApAQCAtMCwwICsxLDEzIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lF
VEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0
IiBocmVmPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL2VuYWJsZWQuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vTWVkaWFT
dHJlYW0vbm8taW50ZXJmYWNlLW9iamVjdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9NZWRpYVN0cmVhbS9uby1pbnRlcmZhY2Utb2JqZWN0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5iMDA0Mjc1MTYyZTQyNzA5NGUwOTc3N2FkMjJhMjAxY2YxZmE5NWY5Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vTWVkaWFTdHJlYW0vbm8taW50ZXJmYWNlLW9i
amVjdC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNyBAQAorVGVzdHMgdGhhdCB0aGUgZm9sbG93
aW5nIGNsYXNzZXMgYXJlIG5vdCBtYW5pcHVsYWJsZSBieSBKYXZhU2NyaXB0IChOb0ludGVyZmFj
ZU9iamVjdCkuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIHR5cGVvZiBO
YXZpZ2F0b3JVc2VyTWVkaWEgaXMgInVuZGVmaW5lZCIKK1BBU1MgTmF2aWdhdG9yVXNlck1lZGlh
LnByb3RvdHlwZSB0aHJldyBleGNlcHRpb24gUmVmZXJlbmNlRXJyb3I6IE5hdmlnYXRvclVzZXJN
ZWRpYSBpcyBub3QgZGVmaW5lZC4KK1BBU1MgdHlwZW9mIE5hdmlnYXRvclVzZXJNZWRpYUVycm9y
IGlzICJ1bmRlZmluZWQiCitQQVNTIE5hdmlnYXRvclVzZXJNZWRpYUVycm9yLnByb3RvdHlwZSB0
aHJldyBleGNlcHRpb24gUmVmZXJlbmNlRXJyb3I6IE5hdmlnYXRvclVzZXJNZWRpYUVycm9yIGlz
IG5vdCBkZWZpbmVkLgorUEFTUyB0eXBlb2YgTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxi
YWNrIGlzICJ1bmRlZmluZWQiCitQQVNTIE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFj
ay5wcm90b3R5cGUgdGhyZXcgZXhjZXB0aW9uIFJlZmVyZW5jZUVycm9yOiBOYXZpZ2F0b3JVc2Vy
TWVkaWFTdWNjZXNzQ2FsbGJhY2sgaXMgbm90IGRlZmluZWQuCitQQVNTIHR5cGVvZiBOYXZpZ2F0
b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrIGlzICJ1bmRlZmluZWQiCitQQVNTIE5hdmlnYXRvclVz
ZXJNZWRpYUVycm9yQ2FsbGJhY2sucHJvdG90eXBlIHRocmV3IGV4Y2VwdGlvbiBSZWZlcmVuY2VF
cnJvcjogTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjayBpcyBub3QgZGVmaW5lZC4KK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9NZWRpYVN0cmVhbS9uby1pbnRlcmZhY2Utb2JqZWN0
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9NZWRpYVN0cmVhbS9uby1pbnRlcmZhY2Utb2Jq
ZWN0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uY2E0ODljZDdlNTI2NjhhNDI3YWIxYWU1Y2MwOTIxOWVjOGRi
MzRhNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL01lZGlhU3RyZWFt
L25vLWludGVyZmFjZS1vYmplY3QuaHRtbApAQCAtMCwwICsxLDEzIEBACis8IURPQ1RZUEUgSFRN
TCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsg
cmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5j
c3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL25vLWludGVyZmFj
ZS1vYmplY3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9kb20vTWVkaWFTdHJlYW0vc2NyaXB0LXRlc3RzL2FyZ3VtZW50LXR5
cGVzLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vTWVkaWFTdHJlYW0vc2NyaXB0LXRlc3RzL2Fy
Z3VtZW50LXR5cGVzLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI3YjlkYzY2Y2Y4MzAyZjNmYjgyNmViZjkxZDBi
NjY1NDQ1YzE0MTUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9NZWRp
YVN0cmVhbS9zY3JpcHQtdGVzdHMvYXJndW1lbnQtdHlwZXMuanMKQEAgLTAsMCArMSw4NSBAQAor
ZGVzY3JpcHRpb24oIlRlc3RzIHRoZSBhY2NlcHRhYmxlIHR5cGVzIGZvciBhcmd1bWVudHMgdG8g
bmF2aWdhdG9yLmdldFVzZXJNZWRpYSBtZXRob2RzLiIpOworCitmdW5jdGlvbiBzaG91bGROb3RU
aHJvdyhleHByZXNzaW9uKQoreworICB0cnkgeworICAgIGV2YWwoZXhwcmVzc2lvbik7CisgICAg
dGVzdFBhc3NlZChleHByZXNzaW9uICsgIiBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4iKTsKKyAg
fSBjYXRjaChlKSB7CisgICAgdGVzdEZhaWxlZChleHByZXNzaW9uICsgIiBzaG91bGQgbm90IHRo
cm93IGV4Y2VwdGlvbi4gVGhyZXcgZXhjZXB0aW9uICIgKyBlKTsKKyAgfQorfQorCitmdW5jdGlv
biB0ZXN0KGV4cHJlc3Npb24sIGV4cHJlc3Npb25TaG91bGRUaHJvdywgZXhwZWN0ZWRFeGNlcHRp
b24pIHsKKyAgICBpZiAoZXhwcmVzc2lvblNob3VsZFRocm93KSB7CisgICAgICAgIGlmIChleHBl
Y3RlZEV4Y2VwdGlvbikKKyAgICAgICAgICAgIHNob3VsZFRocm93KGV4cHJlc3Npb24sICcoZnVu
Y3Rpb24oKSB7IHJldHVybiAiJyArIGV4cGVjdGVkRXhjZXB0aW9uICsgJyI7IH0pKCk7Jyk7Cisg
ICAgICAgIGVsc2UKKyAgICAgICAgICAgIHNob3VsZFRocm93KGV4cHJlc3Npb24sICcoZnVuY3Rp
b24oKSB7IHJldHVybiAiRXJyb3I6IFRZUEVfTUlTTUFUQ0hfRVJSOiBET00gRXhjZXB0aW9uIDE3
IjsgfSkoKTsnKTsKKyAgICB9IGVsc2UgeworICAgICAgICBzaG91bGROb3RUaHJvdyhleHByZXNz
aW9uKTsKKyAgICB9Cit9CisKK3ZhciBlbXB0eUZ1bmN0aW9uID0gZnVuY3Rpb24oKSB7fTsKKwor
ZnVuY3Rpb24gT2JqZWN0VGhyb3dpbmdFeGNlcHRpb24oKSB7fTsKK09iamVjdFRocm93aW5nRXhj
ZXB0aW9uLnByb3RvdHlwZS52YWx1ZU9mID0gZnVuY3Rpb24oKSB7CisgICAgdGhyb3cgbmV3IEVy
cm9yKCd2YWx1ZU9mIHRocmV3IGV4Y2VwdGlvbicpOworfQorT2JqZWN0VGhyb3dpbmdFeGNlcHRp
b24ucHJvdG90eXBlLnRvU3RyaW5nID0gZnVuY3Rpb24oKSB7CisgICAgdGhyb3cgbmV3IEVycm9y
KCd0b1N0cmluZyB0aHJldyBleGNlcHRpb24nKTsKK30KK3ZhciBvYmplY3RUaHJvd2luZ0V4Y2Vw
dGlvbiA9IG5ldyBPYmplY3RUaHJvd2luZ0V4Y2VwdGlvbigpOworCisvLyBObyBhcmd1bWVudHMK
K3Rlc3QoJ25hdmlnYXRvci53ZWJraXRHZXRVc2VyTWVkaWEoKScsIHRydWUpOworCisvLyAxIEFy
Z3VtZW50IChnZXRVc2VyTWVkaWEgcmVxdWlyZXMgYXQgbGVhc3QgMiBhcmd1bWVudHMpLgordGVz
dCgnbmF2aWdhdG9yLndlYmtpdEdldFVzZXJNZWRpYSh1bmRlZmluZWQpJywgdHJ1ZSk7Cit0ZXN0
KCduYXZpZ2F0b3Iud2Via2l0R2V0VXNlck1lZGlhKG51bGwpJywgdHJ1ZSk7Cit0ZXN0KCduYXZp
Z2F0b3Iud2Via2l0R2V0VXNlck1lZGlhKHt9KScsIHRydWUpOwordGVzdCgnbmF2aWdhdG9yLndl
YmtpdEdldFVzZXJNZWRpYShvYmplY3RUaHJvd2luZ0V4Y2VwdGlvbiknLCB0cnVlKTsKK3Rlc3Qo
J25hdmlnYXRvci53ZWJraXRHZXRVc2VyTWVkaWEoInZpZGVvIiknLCB0cnVlKTsKK3Rlc3QoJ25h
dmlnYXRvci53ZWJraXRHZXRVc2VyTWVkaWEodHJ1ZSknLCB0cnVlKTsKK3Rlc3QoJ25hdmlnYXRv
ci53ZWJraXRHZXRVc2VyTWVkaWEoNDIpJywgdHJ1ZSk7Cit0ZXN0KCduYXZpZ2F0b3Iud2Via2l0
R2V0VXNlck1lZGlhKEluZmluaXR5KScsIHRydWUpOwordGVzdCgnbmF2aWdhdG9yLndlYmtpdEdl
dFVzZXJNZWRpYSgtSW5maW5pdHkpJywgdHJ1ZSk7Cit0ZXN0KCduYXZpZ2F0b3Iud2Via2l0R2V0
VXNlck1lZGlhKGVtcHR5RnVuY3Rpb24pJywgdHJ1ZSk7CisKKy8vIDIgQXJndW1lbnRzLgordGVz
dCgnbmF2aWdhdG9yLndlYmtpdEdldFVzZXJNZWRpYSgidmlkZW8iLCBlbXB0eUZ1bmN0aW9uKScs
IGZhbHNlKTsKK3Rlc3QoJ25hdmlnYXRvci53ZWJraXRHZXRVc2VyTWVkaWEodW5kZWZpbmVkLCBl
bXB0eUZ1bmN0aW9uKScsIGZhbHNlKTsKK3Rlc3QoJ25hdmlnYXRvci53ZWJraXRHZXRVc2VyTWVk
aWEobnVsbCwgZW1wdHlGdW5jdGlvbiknLCBmYWxzZSk7Cit0ZXN0KCduYXZpZ2F0b3Iud2Via2l0
R2V0VXNlck1lZGlhKHt9LCBlbXB0eUZ1bmN0aW9uKScsIGZhbHNlKTsKK3Rlc3QoJ25hdmlnYXRv
ci53ZWJraXRHZXRVc2VyTWVkaWEob2JqZWN0VGhyb3dpbmdFeGNlcHRpb24sIGVtcHR5RnVuY3Rp
b24pJywgdHJ1ZSwgbmV3IEVycm9yKCd0b1N0cmluZyB0aHJldyBleGNlcHRpb24nKSk7Cit0ZXN0
KCduYXZpZ2F0b3Iud2Via2l0R2V0VXNlck1lZGlhKHRydWUsIGVtcHR5RnVuY3Rpb24pJywgZmFs
c2UpOwordGVzdCgnbmF2aWdhdG9yLndlYmtpdEdldFVzZXJNZWRpYSg0MiwgZW1wdHlGdW5jdGlv
biknLCBmYWxzZSk7Cit0ZXN0KCduYXZpZ2F0b3Iud2Via2l0R2V0VXNlck1lZGlhKEluZmluaXR5
LCBlbXB0eUZ1bmN0aW9uKScsIGZhbHNlKTsKK3Rlc3QoJ25hdmlnYXRvci53ZWJraXRHZXRVc2Vy
TWVkaWEoLUluZmluaXR5LCBlbXB0eUZ1bmN0aW9uKScsIGZhbHNlKTsKK3Rlc3QoJ25hdmlnYXRv
ci53ZWJraXRHZXRVc2VyTWVkaWEoZW1wdHlGdW5jdGlvbiwgZW1wdHlGdW5jdGlvbiknLCBmYWxz
ZSk7CisKK3Rlc3QoJ25hdmlnYXRvci53ZWJraXRHZXRVc2VyTWVkaWEoInZpZGVvIiwgInZpZGVv
IiknLCB0cnVlKTsKK3Rlc3QoJ25hdmlnYXRvci53ZWJraXRHZXRVc2VyTWVkaWEoInZpZGVvIiwg
dW5kZWZpbmVkKScsIHRydWUpOwordGVzdCgnbmF2aWdhdG9yLndlYmtpdEdldFVzZXJNZWRpYSgi
dmlkZW8iLCBudWxsKScsIHRydWUpOwordGVzdCgnbmF2aWdhdG9yLndlYmtpdEdldFVzZXJNZWRp
YSgidmlkZW8iLCB7fSknLCB0cnVlKTsKK3Rlc3QoJ25hdmlnYXRvci53ZWJraXRHZXRVc2VyTWVk
aWEoInZpZGVvIiwgb2JqZWN0VGhyb3dpbmdFeGNlcHRpb24pJywgdHJ1ZSk7Cit0ZXN0KCduYXZp
Z2F0b3Iud2Via2l0R2V0VXNlck1lZGlhKCJ2aWRlbyIsIHRydWUpJywgdHJ1ZSk7Cit0ZXN0KCdu
YXZpZ2F0b3Iud2Via2l0R2V0VXNlck1lZGlhKCJ2aWRlbyIsIDQyKScsIHRydWUpOwordGVzdCgn
bmF2aWdhdG9yLndlYmtpdEdldFVzZXJNZWRpYSgidmlkZW8iLCBJbmZpbml0eSknLCB0cnVlKTsK
K3Rlc3QoJ25hdmlnYXRvci53ZWJraXRHZXRVc2VyTWVkaWEoInZpZGVvIiwgLUluZmluaXR5KScs
IHRydWUpOworCisvLyAzIEFyZ3VtZW50cy4KK3Rlc3QoJ25hdmlnYXRvci53ZWJraXRHZXRVc2Vy
TWVkaWEoInZpZGVvIiwgZW1wdHlGdW5jdGlvbiwgZW1wdHlGdW5jdGlvbiknLCBmYWxzZSk7Cit0
ZXN0KCduYXZpZ2F0b3Iud2Via2l0R2V0VXNlck1lZGlhKCJ2aWRlbyIsIGVtcHR5RnVuY3Rpb24s
IHVuZGVmaW5lZCknLCBmYWxzZSk7Cit0ZXN0KCduYXZpZ2F0b3Iud2Via2l0R2V0VXNlck1lZGlh
KCJ2aWRlbyIsIGVtcHR5RnVuY3Rpb24sICJ2aWRlbyIpJywgdHJ1ZSk7Cit0ZXN0KCduYXZpZ2F0
b3Iud2Via2l0R2V0VXNlck1lZGlhKCJ2aWRlbyIsIGVtcHR5RnVuY3Rpb24sIG51bGwpJywgdHJ1
ZSk7Cit0ZXN0KCduYXZpZ2F0b3Iud2Via2l0R2V0VXNlck1lZGlhKCJ2aWRlbyIsIGVtcHR5RnVu
Y3Rpb24sIHt9KScsIHRydWUpOwordGVzdCgnbmF2aWdhdG9yLndlYmtpdEdldFVzZXJNZWRpYSgi
dmlkZW8iLCBlbXB0eUZ1bmN0aW9uLCBvYmplY3RUaHJvd2luZ0V4Y2VwdGlvbiknLCB0cnVlKTsK
K3Rlc3QoJ25hdmlnYXRvci53ZWJraXRHZXRVc2VyTWVkaWEoInZpZGVvIiwgZW1wdHlGdW5jdGlv
biwgdHJ1ZSknLCB0cnVlKTsKK3Rlc3QoJ25hdmlnYXRvci53ZWJraXRHZXRVc2VyTWVkaWEoInZp
ZGVvIiwgZW1wdHlGdW5jdGlvbiwgNDIpJywgdHJ1ZSk7Cit0ZXN0KCduYXZpZ2F0b3Iud2Via2l0
R2V0VXNlck1lZGlhKCJ2aWRlbyIsIGVtcHR5RnVuY3Rpb24sIEluZmluaXR5KScsIHRydWUpOwor
dGVzdCgnbmF2aWdhdG9yLndlYmtpdEdldFVzZXJNZWRpYSgidmlkZW8iLCBlbXB0eUZ1bmN0aW9u
LCAtSW5maW5pdHkpJywgdHJ1ZSk7CisKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gZmFsc2U7Cit3
aW5kb3cuc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL01lZGlhU3RyZWFtL3NjcmlwdC10ZXN0cy9lbmFibGVkLmpzIGIvTGF5b3V0VGVz
dHMvZmFzdC9kb20vTWVkaWFTdHJlYW0vc2NyaXB0LXRlc3RzL2VuYWJsZWQuanMKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMzkxOWZiNTQ0ZWNiYTZlYWJmMTE1NjMwMDY0MTg5ZTQ4YmJhYjk0NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL01lZGlhU3RyZWFtL3NjcmlwdC10ZXN0cy9lbmFi
bGVkLmpzCkBAIC0wLDAgKzEsMTggQEAKK2Rlc2NyaXB0aW9uKCJUZXN0cyB0aGF0IG5hdmlnYXRv
ci53ZWJraXRHZXRVc2VyTWVkaWEgaXMgcHJlc2VudC4iKTsKKworZnVuY3Rpb24gaGFzR2V0VXNl
ck1lZGlhUHJvcGVydHkoKQoreworICAgIGZvciAodmFyIHByb3BlcnR5IGluIG5hdmlnYXRvcikg
eworICAgICAgICBpZiAocHJvcGVydHkgPT0gIndlYmtpdEdldFVzZXJNZWRpYSIpCisgICAgICAg
ICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisgICAgcmV0dXJuIGZhbHNlOworfQorCitzaG91bGRC
ZVRydWUoInR5cGVvZiBuYXZpZ2F0b3Iud2Via2l0R2V0VXNlck1lZGlhID09ICdmdW5jdGlvbici
KTsKK3Nob3VsZEJlVHJ1ZSgiaGFzR2V0VXNlck1lZGlhUHJvcGVydHkoKSIpOworc2hvdWxkQmVU
cnVlKCInd2Via2l0R2V0VXNlck1lZGlhJyBpbiBuYXZpZ2F0b3IiKTsKK3Nob3VsZEJlRmFsc2Uo
Im5hdmlnYXRvci5oYXNPd25Qcm9wZXJ0eSgnd2Via2l0R2V0VXNlck1lZGlhJykiKTsKKword2lu
ZG93LmpzVGVzdElzQXN5bmMgPSBmYWxzZTsKK3dpbmRvdy5zdWNjZXNzZnVsbHlQYXJzZWQgPSB0
cnVlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vTWVkaWFTdHJlYW0vc2NyaXB0
LXRlc3RzL25vLWludGVyZmFjZS1vYmplY3QuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9NZWRp
YVN0cmVhbS9zY3JpcHQtdGVzdHMvbm8taW50ZXJmYWNlLW9iamVjdC5qcwpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42
ODE3ZjBmOTdmMmE2MzcxY2I4ZGUyMDk1MGU3MzYxOWQ2MWUzMDlkCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vTWVkaWFTdHJlYW0vc2NyaXB0LXRlc3RzL25vLWludGVy
ZmFjZS1vYmplY3QuanMKQEAgLTAsMCArMSwxNSBAQAorZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQg
dGhlIGZvbGxvd2luZyBjbGFzc2VzIGFyZSBub3QgbWFuaXB1bGFibGUgYnkgSmF2YVNjcmlwdCAo
Tm9JbnRlcmZhY2VPYmplY3QpLiIpOworCitmdW5jdGlvbiB0ZXN0KG5hbWUpCit7CisgICAgc2hv
dWxkQmUoJ3R5cGVvZiAnICsgbmFtZSwgJyJ1bmRlZmluZWQiJyk7CisgICAgc2hvdWxkVGhyb3co
bmFtZSArICcucHJvdG90eXBlJyk7Cit9CisKK3Rlc3QoJ05hdmlnYXRvclVzZXJNZWRpYScpOwor
dGVzdCgnTmF2aWdhdG9yVXNlck1lZGlhRXJyb3InKTsKK3Rlc3QoJ05hdmlnYXRvclVzZXJNZWRp
YVN1Y2Nlc3NDYWxsYmFjaycpOwordGVzdCgnTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFj
aycpOworCit3aW5kb3cuanNUZXN0SXNBc3luYyA9IGZhbHNlOword2luZG93LnN1Y2Nlc3NmdWxs
eVBhcnNlZCA9IHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9BbmRyb2lkLmRlcml2
ZWQuanNjYmluZGluZ3MubWsgYi9Tb3VyY2UvV2ViQ29yZS9BbmRyb2lkLmRlcml2ZWQuanNjYmlu
ZGluZ3MubWsKaW5kZXggMDdkZGMyYTFhNjVjMjIyMmJlZjFkYTFlNzc0YmZhYjAyNjFkOWMwNy4u
MTM2ZjAxNzM3Yzg4OTQ1MmZiMDk4ZTY4MjQ2YTVmODg0NGJlZGEwYSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQW5kcm9pZC5kZXJpdmVkLmpzY2JpbmRpbmdzLm1rCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL0FuZHJvaWQuZGVyaXZlZC5qc2NiaW5kaW5ncy5tawpAQCAtMjk2LDYgKzI5Niw5IEBA
IEdFTiA6PSBcCiAgICAgJChpbnRlcm1lZGlhdGVzKS9wYWdlL0pTSGlzdG9yeS5oIFwKICAgICAk
KGludGVybWVkaWF0ZXMpL3BhZ2UvSlNMb2NhdGlvbi5oIFwKICAgICAkKGludGVybWVkaWF0ZXMp
L3BhZ2UvSlNOYXZpZ2F0b3IuaCBcCisgICAgJChpbnRlcm1lZGlhdGVzKS9wYWdlL0pTTmF2aWdh
dG9yVXNlck1lZGlhRXJyb3IuaCBcCisgICAgJChpbnRlcm1lZGlhdGVzKS9wYWdlL0pTTmF2aWdh
dG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5oIFwKKyAgICAkKGludGVybWVkaWF0ZXMpL3BhZ2Uv
SlNOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suaCBcCiAgICAgJChpbnRlcm1lZGlh
dGVzKS9wYWdlL0pTUG9zaXRpb25FcnJvci5oIFwKICAgICAkKGludGVybWVkaWF0ZXMpL3BhZ2Uv
SlNTY3JlZW4uaCBcCiAgICAgJChpbnRlcm1lZGlhdGVzKS9wYWdlL0pTV2ViS2l0QW5pbWF0aW9u
LmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQW5kcm9pZC5kZXJpdmVkLnY4YmluZGlu
Z3MubWsgYi9Tb3VyY2UvV2ViQ29yZS9BbmRyb2lkLmRlcml2ZWQudjhiaW5kaW5ncy5tawppbmRl
eCA1YTBmZWNlYzQwZGQ3OTRlNWJhZDM0NjlmNzIyNmIyODZiY2Y5ZDc4Li4xNDQwMWRkYjA5YmZl
NGY5NDA3MWZlYmM1ODVhZDJmZGIyMWEwOWZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9B
bmRyb2lkLmRlcml2ZWQudjhiaW5kaW5ncy5taworKysgYi9Tb3VyY2UvV2ViQ29yZS9BbmRyb2lk
LmRlcml2ZWQudjhiaW5kaW5ncy5tawpAQCAtMjc3LDYgKzI3Nyw5IEBAIEdFTiA6PSBcCiAgICAg
JChpbnRlcm1lZGlhdGVzKS9iaW5kaW5ncy9WOEhpc3RvcnkuaCBcCiAgICAgJChpbnRlcm1lZGlh
dGVzKS9iaW5kaW5ncy9WOExvY2F0aW9uLmggXAogICAgICQoaW50ZXJtZWRpYXRlcykvYmluZGlu
Z3MvVjhOYXZpZ2F0b3IuaCBcCisgICAgJChpbnRlcm1lZGlhdGVzKS9iaW5kaW5ncy9WOE5hdmln
YXRvclVzZXJNZWRpYUVycm9yLmggXAorICAgICQoaW50ZXJtZWRpYXRlcykvYmluZGluZ3MvVjhO
YXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmggXAorICAgICQoaW50ZXJtZWRpYXRlcykv
YmluZGluZ3MvVjhOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suaCBcCiAgICAgJChp
bnRlcm1lZGlhdGVzKS9iaW5kaW5ncy9WOFBvc2l0aW9uRXJyb3IuaCBcCiAgICAgJChpbnRlcm1l
ZGlhdGVzKS9iaW5kaW5ncy9WOFNjcmVlbi5oIFwKICAgICAkKGludGVybWVkaWF0ZXMpL2JpbmRp
bmdzL1Y4V2ViS2l0QW5pbWF0aW9uLmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQW5k
cm9pZC52OGJpbmRpbmdzLm1rIGIvU291cmNlL1dlYkNvcmUvQW5kcm9pZC52OGJpbmRpbmdzLm1r
CmluZGV4IDllNDM4ZTdmNGRmZjg1MTcxNDUzM2RjN2MwYTY2NjAxNzViNjA1N2QuLmE0ZGIyODhm
OWJlNGUyMGU4ZGMxYTNlZTgzOGYyOWU4NzgxNjg3NmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL0FuZHJvaWQudjhiaW5kaW5ncy5taworKysgYi9Tb3VyY2UvV2ViQ29yZS9BbmRyb2lkLnY4
YmluZGluZ3MubWsKQEAgLTE0MSw2ICsxNDEsNyBAQCBMT0NBTF9TUkNfRklMRVMgKz0gXAogCWJp
bmRpbmdzL3Y4L2N1c3RvbS9WOE1lc3NhZ2VDaGFubmVsQ29uc3RydWN0b3IuY3BwIFwKIAliaW5k
aW5ncy92OC9jdXN0b20vVjhNZXNzYWdlUG9ydEN1c3RvbS5jcHAgXAogCWJpbmRpbmdzL3Y4L2N1
c3RvbS9WOE1lc3NhZ2VFdmVudEN1c3RvbS5jcHAgXAorCWJpbmRpbmdzL3Y4L2N1c3RvbS9WOE5h
dmlnYXRvckN1c3RvbS5jcHAgXAogCWJpbmRpbmdzL3Y4L2N1c3RvbS9WOE5hbWVkTm9kZU1hcEN1
c3RvbS5jcHAgXAogCWJpbmRpbmdzL3Y4L2N1c3RvbS9WOE5hbWVkTm9kZXNDb2xsZWN0aW9uLmNw
cCBcCiAJYmluZGluZ3MvdjgvY3VzdG9tL1Y4Tm9kZUN1c3RvbS5jcHAgXApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3Rz
LnR4dAppbmRleCBiNTE4MGM5ZGIxOTAwZjg1YzY3ZmZhOWM5NWMxMjdmMDAyNzNjY2MxLi42YmNl
MDA0Y2M4ZWQ1YjQ1YTc4YjdkOTc3ODUwNTUxNjBkNWEzYjhjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4
dApAQCAtMzMwLDYgKzMzMCw4IEBAIFNFVChXZWJDb3JlX0lETF9GSUxFUwogICAgIHBhZ2UvTG9j
YXRpb24uaWRsCiAgICAgcGFnZS9NZW1vcnlJbmZvLmlkbAogICAgIHBhZ2UvTmF2aWdhdG9yLmlk
bAorICAgIHBhZ2UvTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5pZGwKKyAgICBwYWdl
L05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5pZGwKICAgICBwYWdlL1BlcmZvcm1h
bmNlLmlkbAogICAgIHBhZ2UvUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmlkbAogICAgIHBhZ2UvUGVy
Zm9ybWFuY2VUaW1pbmcuaWRsCkBAIC0xOTQ2LDYgKzE5NDgsMTYgQEAgSUYgKEVOQUJMRV9QUk9H
UkVTU19UQUcpCiAgICAgKQogRU5ESUYgKCkKIAorSUYgKEVOQUJMRV9NRURJQV9TVFJFQU0pCisg
ICAgTElTVChBUFBFTkQgV2ViQ29yZV9TT1VSQ0VTCisgICAgICAgIGJpbmRpbmdzL2pzL0pTTmF2
aWdhdG9yQ3VzdG9tLmNwcAorICAgICkKKworICAgIExJU1QoQVBQRU5EIFdlYkNvcmVfSURMX0ZJ
TEVTCisgICAgICAgIHBhZ2UvTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuaWRsCisgICAgKQorRU5E
SUYgKCkKKwogCiAKICMgTW9kdWxlcyB0aGF0IHRoZSBiaW5kaW5ncyBnZW5lcmF0b3Igc2NyaXB0
cyBtYXkgdXNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDI4ODdhM2U0Nzg1YzhjMmI0YjYxYTYxMWY3NmI4NDA2
YmFkYWI3ZS4uOGQyZDE5YWJlZjdhZmYwNDAyNDYwZjMzMGE3OWNhY2E0Mzc3YWRiYiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDQ5IEBACisyMDExLTA0LTA4ICBMZWFuZHJvIEdyYWNpYSBHaWwgIDxs
ZWFuZHJvZ3JhY2lhQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBNZWRpYSBTdHJlYW0gQVBJOiBhZGQgdGhlIGdldFVzZXJNZWRp
YSBtZXRob2QgYW5kIHRoZSBKYXZhc2NyaXB0IGJpbmRpbmdzLgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTY1ODYKKworICAgICAgICBBZGQgdGhlIGdl
dFVzZXJNZWRpYSBtZXRob2QgdG8gdGhlIG5hdmlnYXRvciBhbmQgaXRzIG5ldyBKYXZhc2NyaXB0
IHR5cGVzLgorICAgICAgICBDdXJyZW50IHNwZWNpZmljYXRpb246IGh0dHA6Ly93d3cud2hhdHdn
Lm9yZy9zcGVjcy93ZWItYXBwcy9jdXJyZW50LXdvcmsvbXVsdGlwYWdlL2RuZC5odG1sI3ZpZGVv
LWNvbmZlcmVuY2luZy1hbmQtcGVlci10by1wZWVyLWNvbW11bmljYXRpb24KKworICAgICAgICBU
ZXN0czogZmFzdC9kb20vTWVkaWFTdHJlYW0vYXJndW1lbnQtdHlwZXMuaHRtbAorICAgICAgICAg
ICAgICAgZmFzdC9kb20vTWVkaWFTdHJlYW0vZW5hYmxlZC5odG1sCisgICAgICAgICAgICAgICBm
YXN0L2RvbS9NZWRpYVN0cmVhbS9uby1pbnRlcmZhY2Utb2JqZWN0Lmh0bWwKKworICAgICAgICAq
IEFuZHJvaWQuZGVyaXZlZC5qc2NiaW5kaW5ncy5tazoKKyAgICAgICAgKiBBbmRyb2lkLmRlcml2
ZWQudjhiaW5kaW5ncy5tazoKKyAgICAgICAgKiBBbmRyb2lkLnY4YmluZGluZ3MubWs6CisgICAg
ICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogQ29kZUdlbmVyYXRvcnMucHJpOgorICAg
ICAgICAqIERlcml2ZWRTb3VyY2VzLmNwcDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtl
OgorICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAgICAgICogV2ViQ29yZS5neXBp
OgorICAgICAgICAqIFdlYkNvcmUucHJvOgorICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNv
cmUudmNwcm9qOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoK
KyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU05hdmlnYXRvckN1c3RvbS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpKU05hdmlnYXRvcjo6d2Via2l0R2V0VXNlck1lZGlhKToKKyAgICAgICAgKiBiaW5k
aW5ncy92OC9jdXN0b20vVjhOYXZpZ2F0b3JDdXN0b20uY3BwOiBBZGRlZC4KKyAgICAgICAgKFdl
YkNvcmU6OlY4TmF2aWdhdG9yOjp3ZWJraXRHZXRVc2VyTWVkaWFDYWxsYmFjayk6CisgICAgICAg
ICogcGFnZS9OYXZpZ2F0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdG9yOjp3ZWJr
aXRHZXRVc2VyTWVkaWEpOgorICAgICAgICAqIHBhZ2UvTmF2aWdhdG9yLmg6CisgICAgICAgICog
cGFnZS9OYXZpZ2F0b3IuaWRsOgorICAgICAgICAqIHBhZ2UvTmF2aWdhdG9yVXNlck1lZGlhRXJy
b3IuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvcjo6
TmF2aWdhdG9yVXNlck1lZGlhRXJyb3IpOgorICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdG9yVXNl
ck1lZGlhRXJyb3I6On5OYXZpZ2F0b3JVc2VyTWVkaWFFcnJvcik6CisgICAgICAgIChXZWJDb3Jl
OjpOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvcjo6Y29kZSk6CisgICAgICAgICogcGFnZS9OYXZpZ2F0
b3JVc2VyTWVkaWFFcnJvci5pZGw6IEFkZGVkLgorICAgICAgICAqIHBhZ2UvTmF2aWdhdG9yVXNl
ck1lZGlhRXJyb3JDYWxsYmFjay5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRv
clVzZXJNZWRpYUVycm9yQ2FsbGJhY2s6On5OYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNr
KToKKyAgICAgICAgKiBwYWdlL05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2suaWRsOiBB
ZGRlZC4KKyAgICAgICAgKiBwYWdlL05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5o
OiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxs
YmFjazo6fk5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjayk6CisgICAgICAgICogcGFn
ZS9OYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suaWRsOiBBZGRlZC4KKwogMjAxMS0w
NC0wOCAgQW5kcmV5IEFkYWlraW4gIDxhYW5kcmV5QGdvb2dsZS5jb20+CiAKICAgICAgICAgUmV2
aWV3ZWQgYnkgUGF2ZWwgRmVsZG1hbi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NvZGVH
ZW5lcmF0b3JzLnByaSBiL1NvdXJjZS9XZWJDb3JlL0NvZGVHZW5lcmF0b3JzLnByaQppbmRleCA5
ZWRlY2M5MDJhYWI1OTgyZjhjMmU5ZDc4NWE0MDFjN2UwYzAyMWZkLi4xNDJmNGZlMjVjMmI4MDBk
NzIwOWIzOTc0MDIwNTUxZDJmMWViNzY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Db2Rl
R2VuZXJhdG9ycy5wcmkKKysrIGIvU291cmNlL1dlYkNvcmUvQ29kZUdlbmVyYXRvcnMucHJpCkBA
IC0zMjUsNiArMzI1LDkgQEAgSURMX0JJTkRJTkdTICs9IFwKICAgICBwYWdlL0xvY2F0aW9uLmlk
bCBcCiAgICAgcGFnZS9NZW1vcnlJbmZvLmlkbCBcCiAgICAgcGFnZS9OYXZpZ2F0b3IuaWRsIFwK
KyAgICBwYWdlL05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmlkbCBcCisgICAgcGFnZS9OYXZpZ2F0
b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmlkbCBcCisgICAgcGFnZS9OYXZpZ2F0b3JVc2VyTWVk
aWFTdWNjZXNzQ2FsbGJhY2suaWRsIFwKICAgICBwYWdlL1BlcmZvcm1hbmNlLmlkbCBcCiAgICAg
cGFnZS9QZXJmb3JtYW5jZU5hdmlnYXRpb24uaWRsIFwKICAgICBwYWdlL1BlcmZvcm1hbmNlVGlt
aW5nLmlkbCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKaW5kZXggMjQwMjJmNzRlZjZiODgy
MzdhZWJmYmU1OTgwOGMzYmE0NzdiZmU4Mi4uMmNhZTgwYzNlMjYyNzA2MmZlYWU4MmNlZThiYWJi
YWFiMTA4MDY2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcApAQCAtMjQ1LDYgKzI0NSw5
IEBACiAjaW5jbHVkZSAiSlNNdXRhdGlvbkV2ZW50LmNwcCIKICNpbmNsdWRlICJKU05hbWVkTm9k
ZU1hcC5jcHAiCiAjaW5jbHVkZSAiSlNOYXZpZ2F0b3IuY3BwIgorI2luY2x1ZGUgIkpTTmF2aWdh
dG9yVXNlck1lZGlhRXJyb3IuY3BwIgorI2luY2x1ZGUgIkpTTmF2aWdhdG9yVXNlck1lZGlhRXJy
b3JDYWxsYmFjay5jcHAiCisjaW5jbHVkZSAiSlNOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2Fs
bGJhY2suY3BwIgogI2luY2x1ZGUgIkpTTm9kZS5jcHAiCiAjaW5jbHVkZSAiSlNOb2RlRmlsdGVy
LmNwcCIKICNpbmNsdWRlICJKU05vZGVJdGVyYXRvci5jcHAiCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMubWFrZQppbmRleCBhZjg5NGYzOTc4YTgzNjJmZTQ0MDJlNzQ3YWM5OWViMTk1YzU3Y2YwLi4x
NGUxOTY5NWY0NTc1ODMzMjVkNWY5YWU4MDgwN2MxYjZhMDQwM2M1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2
ZWRTb3VyY2VzLm1ha2UKQEAgLTMwOCw2ICszMDgsOSBAQCBET01fQ0xBU1NFUyA9IFwKICAgICBN
dXRhdGlvbkV2ZW50IFwKICAgICBOYW1lZE5vZGVNYXAgXAogICAgIE5hdmlnYXRvciBcCisgICAg
TmF2aWdhdG9yVXNlck1lZGlhRXJyb3IgXAorICAgIE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2Fs
bGJhY2sgXAorICAgIE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjayBcCiAgICAgTm9k
ZSBcCiAgICAgTm9kZUZpbHRlciBcCiAgICAgTm9kZUl0ZXJhdG9yIFwKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtl
ZmlsZS5saXN0LmFtCmluZGV4IGRhYjkwNDJjYWQ0NDhlMzMzYTQ5NTdjYTVmZmFiMDlmM2RkYWYz
NDUuLjEyNzUwYTRkNjYyZjUxYzFiNzRlMzhkNGM0OTQzYzdlZmZkYTg4OWUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNvcmUv
R05VbWFrZWZpbGUubGlzdC5hbQpAQCAtMzc5LDYgKzM3OSwxMiBAQCB3ZWJjb3JlX2J1aWx0X3Nv
dXJjZXMgKz0gXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOYW1lZE5vZGVNYXAuaCBcCiAJ
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05hdmlnYXRvci5jcHAgXAogCURlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNOYXZpZ2F0b3IuaCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05hdmln
YXRvclVzZXJNZWRpYUVycm9yLmNwcCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05hdmln
YXRvclVzZXJNZWRpYUVycm9yLmggXAorCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOYXZpZ2F0
b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmNwcCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2suaCBcCisJRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5jcHAgXAorCURlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suaCBcCiAJ
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU05vZGUuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTTm9kZUZpbHRlci5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNOb2RlRmls
dGVyLmggXApAQCAtMjIwNSw2ICsyMjExLDkgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3Vy
Y2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvci5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wYWdlL05hdmln
YXRvckJhc2UuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvckJhc2UuaCBcCisJ
U291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5oIFwKKwlTb3VyY2Uv
V2ViQ29yZS9wYWdlL05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2suaCBcCisJU291cmNl
L1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suaCBcCiAJU291
cmNlL1dlYkNvcmUvcGFnZS9PcmlnaW5BY2Nlc3NFbnRyeS5jcHAgXAogCVNvdXJjZS9XZWJDb3Jl
L3BhZ2UvT3JpZ2luQWNjZXNzRW50cnkuaCBcCiAJU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNw
cCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLmd5cGkKaW5kZXggY2NjYTQ3OTQ2ZGU2NDI1YmIwNGQxMGVlM2EyZDhkMjA4
YmYwMzQyZS4uYWQxNThlMGU2YjcwYmMyZmMzN2Y3Nzc0M2RkYTA3OTgyYzA4MmFhMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUuZ3lwaQpAQCAtMTMyNCw2ICsxMzI0LDkgQEAKICAgICAgICAgICAgICdwYWdlL0xvY2F0
aW9uLmlkbCcsCiAgICAgICAgICAgICAncGFnZS9NZW1vcnlJbmZvLmlkbCcsCiAgICAgICAgICAg
ICAncGFnZS9OYXZpZ2F0b3IuaWRsJywKKyAgICAgICAgICAgICdwYWdlL05hdmlnYXRvclVzZXJN
ZWRpYUVycm9yLmlkbCcsCisgICAgICAgICAgICAncGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFFcnJv
ckNhbGxiYWNrLmlkbCcsCisgICAgICAgICAgICAncGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFTdWNj
ZXNzQ2FsbGJhY2suaWRsJywKICAgICAgICAgICAgICdwYWdlL1BlcmZvcm1hbmNlLmlkbCcsCiAg
ICAgICAgICAgICAncGFnZS9QZXJmb3JtYW5jZU5hdmlnYXRpb24uaWRsJywKICAgICAgICAgICAg
ICdwYWdlL1BlcmZvcm1hbmNlVGltaW5nLmlkbCcsCkBAIC0yMTI1LDYgKzIxMjgsNyBAQAogICAg
ICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE5hbWVkTm9kZU1hcEN1c3RvbS5jcHAnLAog
ICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE5hbWVkTm9kZXNDb2xsZWN0aW9uLmNw
cCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4TmFtZWROb2Rlc0NvbGxlY3Rp
b24uaCcsCisgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4TmF2aWdhdG9yQ3VzdG9t
LmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4Tm9kZUN1c3RvbS5jcHAn
LAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE5vZGVMaXN0Q3VzdG9tLmNwcCcs
CiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4Tm90aWZpY2F0aW9uQ2VudGVyQ3Vz
dG9tLmNwcCcsCkBAIC0zNDA5LDYgKzM0MTMsOSBAQAogICAgICAgICAgICAgJ3BhZ2UvTmF2aWdh
dG9yLmgnLAogICAgICAgICAgICAgJ3BhZ2UvTmF2aWdhdG9yQmFzZS5jcHAnLAogICAgICAgICAg
ICAgJ3BhZ2UvTmF2aWdhdG9yQmFzZS5oJywKKyAgICAgICAgICAgICdwYWdlL05hdmlnYXRvclVz
ZXJNZWRpYUVycm9yLmgnLAorICAgICAgICAgICAgJ3BhZ2UvTmF2aWdhdG9yVXNlck1lZGlhRXJy
b3JDYWxsYmFjay5oJywKKyAgICAgICAgICAgICdwYWdlL05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nl
c3NDYWxsYmFjay5oJywKICAgICAgICAgICAgICdwYWdlL09yaWdpbkFjY2Vzc0VudHJ5LmNwcCcs
CiAgICAgICAgICAgICAncGFnZS9PcmlnaW5BY2Nlc3NFbnRyeS5oJywKICAgICAgICAgICAgICdw
YWdlL1BhZ2UuY3BwJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS5wcm8KaW5kZXggZGYzMzY5YzY0ZWU2MDY4NTJkM2VjNjdh
NThlZmU5OTZiMWE5MTUwYS4uN2U4MWY1MmJkYzE3OTJhNzlmNjZiOTUxYmJlYjA1ZWE5ZTE0Yjlh
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5wcm8KKysrIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS5wcm8KQEAgLTMxMjIsNiArMzEyMiwxOSBAQCBjb250YWlucyhERUZJTkVT
LCBFTkFCTEVfR0VPTE9DQVRJT049MSkgewogICAgIH0KIH0KIAorY29udGFpbnMoREVGSU5FUywg
RU5BQkxFX01FRElBX1NUUkVBTT0xKSB7CisgICAgSEVBREVSUyArPSBcCisgICAgICAgIHBhZ2Uv
TmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuaCBcCisgICAgICAgIHBhZ2UvTmF2aWdhdG9yVXNlck1l
ZGlhRXJyb3JDYWxsYmFjay5oIFwKKyAgICAgICAgcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFTdWNj
ZXNzQ2FsbGJhY2suaAorCisgICAgdjggeworICAgICAgICBTT1VSQ0VTICs9IFwKKyAgICAgICAg
ICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOE5hdmlnYXRvckN1c3RvbS5jcHAKKworICAgIH0KK30K
KwogY29udGFpbnMoREVGSU5FUywgRU5BQkxFX1NWRz0xKSB7CiAgICAgIXY4IHsKICAgICAgICAg
U09VUkNFUyArPSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9X
ZWJDb3JlLnZjcHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNw
cm9qCmluZGV4IGMyZTNhNTQwOTU4YzU2NWZjYzdhNjQ1YjZmM2RiMWFmYWM5Yzk0NWYuLjBhOWU2
YWU1ZTJmMTRlNWE3NzA4OTM3NDI1NzIyNTI4YjFkNzJkNWIgMTAwNzU1Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCkBAIC0xMTg3OCw2ICsxMTg3OCwxNzQgQEAK
IAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1
cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU05hdmln
YXRvclVzZXJNZWRpYUVycm9yLmNwcCIKKwkJCQk+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJ
CQkJCU5hbWU9IkRlYnVnfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJ
CQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4K
KwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlO
YW1lPSJSZWxlYXNlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJ
PgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJ
CQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1l
PSJEZWJ1Z19DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVl
IgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJ
CQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJ
CQkJCU5hbWU9IlJlbGVhc2VfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21C
dWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVy
VG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmln
dXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1
aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJU
b29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1
cmF0aW9uCisJCQkJCU5hbWU9IlByb2R1Y3Rpb258V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1
aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJU
b29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQk8L0ZpbGU+CisJCQk8
RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFBy
b2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmgiCisJ
CQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJh
dGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNOYXZpZ2F0
b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmNwcCIKKwkJCQk+CisJCQkJPEZpbGVDb25maWd1cmF0
aW9uCisJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1
ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJ
CQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgor
CQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIK
KwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJ
Lz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJ
CQlOYW1lPSJEZWJ1Z19DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxk
PSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29s
IgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0
aW9uCisJCQkJCU5hbWU9IlJlbGVhc2VfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQlFeGNsdWRl
ZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENv
bXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxl
Q29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIiCisJCQkJCUV4Y2x1ZGVk
RnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29t
cGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVD
b25maWd1cmF0aW9uCisJCQkJCU5hbWU9IlByb2R1Y3Rpb258V2luMzIiCisJCQkJCUV4Y2x1ZGVk
RnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29t
cGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQk8L0ZpbGU+
CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9i
alwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU05hdmlnYXRvclVzZXJNZWRpYUVycm9y
Q2FsbGJhY2suaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0
aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291
cmNlc1xKU05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5jcHAiCisJCQkJPgorCQkJ
CTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiIKKwkJCQkJRXhjbHVk
ZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xD
b21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8Rmls
ZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRG
cm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21w
aWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNv
bmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWdfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQlF
eGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0i
VkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJ
CTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJSZWxlYXNlX0NhaXJvX0NGTGl0ZXxXaW4z
MiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJ
CQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJh
dGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWdfQWxsfFdpbjMy
IgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJ
CQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0
aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJQcm9kdWN0aW9ufFdpbjMy
IgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJ
CQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0
aW9uPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJh
dGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNOYXZpZ2F0
b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8Rmls
ZQogCQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2pl
Y3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU05vZGUuY3BwIgogCQkJCT4KIAkJCQk8RmlsZUNvbmZp
Z3VyYXRpb24KQEAgLTI0ODgyLDYgKzI1MDUwLDE4IEBACiAJCQkJPgogCQkJPC9GaWxlPgogCQkJ
PEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHBhZ2VcTmF2aWdhdG9yVXNlck1lZGlhRXJyb3Iu
aCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGFn
ZVxOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmgiCisJCQkJPgorCQkJPC9GaWxlPgor
CQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHBhZ2VcTmF2aWdhdG9yVXNlck1lZGlhU3Vj
Y2Vzc0NhbGxiYWNrLmgiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKIAkJCQlSZWxhdGl2
ZVBhdGg9Ii4uXHBhZ2VcT3JpZ2luQWNjZXNzRW50cnkuY3BwIgogCQkJCT4KIAkJCTwvRmlsZT4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpp
bmRleCA0NDk5MDdkZTY0YTdiNmYxMTFjNjA1ZDc3Njg1ZTk4MWVjNjA4NzU2Li5kY2RkMTk3MjUw
Njg3YzMyY2E4NjExZjNmNzRkYWQ2YjU4NDUzMGZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC00MTAxLDYgKzQxMDEsMTUgQEAK
IAkJQjAxNDlFODAxMUE0QjIxNTAwMTk2QTdCIC8qIEltYWdlUmVzaXplclRocmVhZC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjAxNDlFN0MxMUE0QjIx
NTAwMTk2QTdCIC8qIEltYWdlUmVzaXplclRocmVhZC5oICovOyB9OwogCQlCMTgyNzQ5MzEzNENB
NEMxMDBCOThDMkQgLyogQ2FsbGJhY2tGdW5jdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMTgyNzQ5MjEzNENBNEMxMDBCOThDMkQgLyogQ2Fs
bGJhY2tGdW5jdGlvbi5jcHAgKi87IH07CiAJCUIxRDVFQ0I1MTM0QjU4REEwMDg3Qzc4RiAvKiBD
YWxsYmFja0Z1bmN0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBCMUQ1RUNCNDEzNEI1OERBMDA4N0M3OEYgLyogQ2FsbGJhY2tGdW5jdGlvbi5oICov
OyB9OworCQlCMUU1NDU5OTEzNDYyOUMxMDA5MkE1NDUgLyogTmF2aWdhdG9yVXNlck1lZGlhRXJy
b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIxRTU0
NThEMTM0NjI5QzEwMDkyQTU0NSAvKiBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5oICovOyB9Owor
CQlCMUU1NDU5QjEzNDYyOUMxMDA5MkE1NDUgLyogTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxs
YmFjay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjFF
NTQ1OEYxMzQ2MjlDMTAwOTJBNTQ1IC8qIE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2su
aCAqLzsgfTsKKwkJQjFFNTQ1OUQxMzQ2MjlDMTAwOTJBNTQ1IC8qIE5hdmlnYXRvclVzZXJNZWRp
YVN1Y2Nlc3NDYWxsYmFjay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQjFFNTQ1OTExMzQ2MjlDMTAwOTJBNTQ1IC8qIE5hdmlnYXRvclVzZXJNZWRpYVN1
Y2Nlc3NDYWxsYmFjay5oICovOyB9OworCQlCMUU1NDVERjEzNDYyQjBCMDA5MkE1NDUgLyogSlNO
YXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBCMUU1NDVEMTEzNDYyQjBCMDA5MkE1NDUgLyogSlNOYXZpZ2F0b3JV
c2VyTWVkaWFFcnJvci5jcHAgKi87IH07CisJCUIxRTU0NUUwMTM0NjJCMEIwMDkyQTU0NSAvKiBK
U05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBCMUU1NDVEMjEzNDYyQjBCMDA5MkE1NDUgLyogSlNOYXZpZ2F0b3JV
c2VyTWVkaWFFcnJvci5oICovOyB9OworCQlCMUU1NDVFMTEzNDYyQjBCMDA5MkE1NDUgLyogSlNO
YXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIxRTU0NUQzMTM0NjJCMEIwMDkyQTU0NSAvKiBKU05h
dmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2suY3BwICovOyB9OworCQlCMUU1NDVFMjEzNDYy
QjBCMDA5MkE1NDUgLyogSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMUU1NDVENDEzNDYyQjBC
MDA5MkE1NDUgLyogSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmggKi87IH07CisJ
CUIxRTU0NUUzMTM0NjJCMEIwMDkyQTU0NSAvKiBKU05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3ND
YWxsYmFjay5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBCMUU1NDVENTEzNDYyQjBCMDA5MkE1NDUgLyogSlNOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNz
Q2FsbGJhY2suY3BwICovOyB9OworCQlCMUU1NDVFNDEzNDYyQjBCMDA5MkE1NDUgLyogSlNOYXZp
Z2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIxRTU0NUQ2MTM0NjJCMEIwMDkyQTU0NSAvKiBKU05hdmln
YXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5oICovOyB9OwogCQlCMjAxMTEwNzBBQjc3NDA1
MDBEQjBFNjggLyogSlNTVkdBRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBCMjAxMTEwNTBBQjc3NDA1MDBEQjBFNjggLyogSlNTVkdBRWxl
bWVudC5jcHAgKi87IH07CiAJCUIyMDExMTA4MEFCNzc0MDUwMERCMEU2OCAvKiBKU1NWR0FFbGVt
ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMjAx
MTEwNjBBQjc3NDA1MDBEQjBFNjggLyogSlNTVkdBRWxlbWVudC5oICovOyB9OwogCQlCMjIyNzk2
MjBEMDBCRjIyMDA3MUI3ODIgLyogQ29sb3JEaXN0YW5jZS5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMjIyNzdDQjBEMDBCRjFGMDA3MUI3ODIgLyog
Q29sb3JEaXN0YW5jZS5jcHAgKi87IH07CkBAIC0xMDM4Myw2ICsxMDM5MiwxOCBAQAogCQlCMDE0
OUU3QzExQTRCMjE1MDAxOTZBN0IgLyogSW1hZ2VSZXNpemVyVGhyZWFkLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEltYWdlUmVzaXplclRocmVhZC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlCMTgyNzQ5MjEzNENBNEMxMDBCOThDMkQgLyogQ2FsbGJhY2tGdW5j
dGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDYWxsYmFja0Z1
bmN0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjFENUVDQjQxMzRCNThE
QTAwODdDNzhGIC8qIENhbGxiYWNrRnVuY3Rpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gQ2FsbGJhY2tGdW5jdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQlCMUU1NDU4RDEzNDYyOUMxMDA5MkE1NDUgLyogTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTmF2aWdhdG9yVXNlck1lZGlhRXJyb3Iu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjFFNTQ1OEUxMzQ2MjlDMTAwOTJBNTQ1
IC8qIE5hdmlnYXRvclVzZXJNZWRpYUVycm9yLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBO
YXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CUIxRTU0NThGMTM0NjI5QzEwMDkyQTU0NSAvKiBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxi
YWNrLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5hdmlnYXRvclVzZXJNZWRp
YUVycm9yQ2FsbGJhY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjFFNTQ1OTAx
MzQ2MjlDMTAwOTJBNTQ1IC8qIE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2suaWRsICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gdGV4dDsgcGF0aCA9IE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2suaWRs
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCMUU1NDU5MTEzNDYyOUMxMDA5MkE1NDUg
LyogTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCMUU1NDU5MjEzNDYyOUMxMDA5MkE1NDUgLyogTmF2
aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGgg
PSBOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suaWRsOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlCMUU1NDVEMTEzNDYyQjBCMDA5MkE1NDUgLyogSlNOYXZpZ2F0b3JVc2Vy
TWVkaWFFcnJvci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU05h
dmlnYXRvclVzZXJNZWRpYUVycm9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
QjFFNTQ1RDIxMzQ2MkIwQjAwOTJBNTQ1IC8qIEpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJv
ci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCMUU1NDVEMzEzNDYyQjBCMDA5MkE1
NDUgLyogSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFj
ay5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIxRTU0NUQ0MTM0NjJCMEIwMDky
QTU0NSAvKiBKU05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2suaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIxRTU0NUQ1MTM0NjJCMEIwMDkyQTU0NSAv
KiBKU05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFj
ay5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIxRTU0NUQ2MTM0NjJCMEIwMDky
QTU0NSAvKiBKU05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBKU05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFj
ay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCMjAxMTEwNTBBQjc3NDA1MDBEQjBF
NjggLyogSlNTVkdBRWxlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gSlNTVkdBRWxlbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIy
MDExMTA2MEFCNzc0MDUwMERCMEU2OCAvKiBKU1NWR0FFbGVtZW50LmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBKU1NWR0FFbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUIyMjI3N0NCMEQwMEJGMUYwMDcxQjc4MiAvKiBDb2xvckRpc3RhbmNlLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDb2xvckRpc3RhbmNlLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE0MjgwLDYgKzE0MzAxLDEyIEBACiAJCQkJ
QTlDNkU2NUQwRDc0NjY5NDAwNjQ0MkU5IC8qIE5hdmlnYXRvci5pZGwgKi8sCiAJCQkJRTEyNzE5
QzkwRUVFQzIxMzAwRjYxMjEzIC8qIE5hdmlnYXRvckJhc2UuY3BwICovLAogCQkJCUUxMjcxOUM2
MEVFRUMxNjgwMEY2MTIxMyAvKiBOYXZpZ2F0b3JCYXNlLmggKi8sCisJCQkJQjFFNTQ1OEQxMzQ2
MjlDMTAwOTJBNTQ1IC8qIE5hdmlnYXRvclVzZXJNZWRpYUVycm9yLmggKi8sCisJCQkJQjFFNTQ1
OEUxMzQ2MjlDMTAwOTJBNTQ1IC8qIE5hdmlnYXRvclVzZXJNZWRpYUVycm9yLmlkbCAqLywKKwkJ
CQlCMUU1NDU4RjEzNDYyOUMxMDA5MkE1NDUgLyogTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxs
YmFjay5oICovLAorCQkJCUIxRTU0NTkwMTM0NjI5QzEwMDkyQTU0NSAvKiBOYXZpZ2F0b3JVc2Vy
TWVkaWFFcnJvckNhbGxiYWNrLmlkbCAqLywKKwkJCQlCMUU1NDU5MTEzNDYyOUMxMDA5MkE1NDUg
LyogTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmggKi8sCisJCQkJQjFFNTQ1OTIx
MzQ2MjlDMTAwOTJBNTQ1IC8qIE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5pZGwg
Ki8sCiAJCQkJMDAxNDYyODgxMDNDRDFERTAwMEIyMERCIC8qIE9yaWdpbkFjY2Vzc0VudHJ5LmNw
cCAqLywKIAkJCQkwMDE0NjI4OTEwM0NEMURFMDAwQjIwREIgLyogT3JpZ2luQWNjZXNzRW50cnku
aCAqLywKIAkJCQk2NUZFQTg2ODA5ODMzQURFMDBCRUQ0QUIgLyogUGFnZS5jcHAgKi8sCkBAIC0x
ODM1Myw2ICsxODM4MCwxMiBAQAogCQkJCTlGRkUzRUE0MTFCNUE0MzkwMDM3ODc0RSAvKiBKU01l
bW9yeUluZm8uaCAqLywKIAkJCQlBOUQyNDdGNTBENzU3RTMzMDBGREY5NTkgLyogSlNOYXZpZ2F0
b3IuY3BwICovLAogCQkJCUE5RDI0N0Y2MEQ3NTdFMzMwMEZERjk1OSAvKiBKU05hdmlnYXRvci5o
ICovLAorCQkJCUIxRTU0NUQxMTM0NjJCMEIwMDkyQTU0NSAvKiBKU05hdmlnYXRvclVzZXJNZWRp
YUVycm9yLmNwcCAqLywKKwkJCQlCMUU1NDVEMjEzNDYyQjBCMDA5MkE1NDUgLyogSlNOYXZpZ2F0
b3JVc2VyTWVkaWFFcnJvci5oICovLAorCQkJCUIxRTU0NUQzMTM0NjJCMEIwMDkyQTU0NSAvKiBK
U05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2suY3BwICovLAorCQkJCUIxRTU0NUQ0MTM0
NjJCMEIwMDkyQTU0NSAvKiBKU05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2suaCAqLywK
KwkJCQlCMUU1NDVENTEzNDYyQjBCMDA5MkE1NDUgLyogSlNOYXZpZ2F0b3JVc2VyTWVkaWFTdWNj
ZXNzQ2FsbGJhY2suY3BwICovLAorCQkJCUIxRTU0NUQ2MTM0NjJCMEIwMDkyQTU0NSAvKiBKU05h
dmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5oICovLAogCQkJCThBOUE1ODcyMTFFODRD
ODEwMDhBQ0ZEMSAvKiBKU1BlcmZvcm1hbmNlLmNwcCAqLywKIAkJCQk4QTlBNTg3MzExRTg0Qzgx
MDA4QUNGRDEgLyogSlNQZXJmb3JtYW5jZS5oICovLAogCQkJCThBOUE1ODZFMTFFODRDMzUwMDhB
Q0ZEMSAvKiBKU1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5jcHAgKi8sCkBAIC0yMjg1Miw2ICsyMjg4
NSwxMiBAQAogCQkJCTkzRjE5OUVEMDgyNDVFNTkwMDFFOUFCQyAvKiBYU0xUUHJvY2Vzc29yLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlFMUJFNTEyRTBDRjZDNTEyMDAyRUE5NTkgLyogWFNMVFVuaWNv
ZGVTb3J0LmggaW4gSGVhZGVycyAqLywKIAkJCQk5NzdFMkUwRjEyRjBGQzlDMDBDMTMzNzkgLyog
WFNTRmlsdGVyLmggaW4gSGVhZGVycyAqLywKKwkJCQlCMUU1NDU5OTEzNDYyOUMxMDA5MkE1NDUg
LyogTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuaCBpbiBIZWFkZXJzICovLAorCQkJCUIxRTU0NTlC
MTM0NjI5QzEwMDkyQTU0NSAvKiBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmggaW4g
SGVhZGVycyAqLywKKwkJCQlCMUU1NDU5RDEzNDYyOUMxMDA5MkE1NDUgLyogTmF2aWdhdG9yVXNl
ck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmggaW4gSGVhZGVycyAqLywKKwkJCQlCMUU1NDVFMDEzNDYy
QjBCMDA5MkE1NDUgLyogSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5oIGluIEhlYWRlcnMgKi8s
CisJCQkJQjFFNTQ1RTIxMzQ2MkIwQjAwOTJBNTQ1IC8qIEpTTmF2aWdhdG9yVXNlck1lZGlhRXJy
b3JDYWxsYmFjay5oIGluIEhlYWRlcnMgKi8sCisJCQkJQjFFNTQ1RTQxMzQ2MkIwQjAwOTJBNTQ1
IC8qIEpTTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmggaW4gSGVhZGVycyAqLywK
IAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsK
QEAgLTI1NTQ2LDYgKzI1NTg1LDkgQEAKIAkJCQk5M0YxOUIwNTA4MjQ1RTU5MDAxRTlBQkMgLyog
WFNMVFByb2Nlc3NvckxpYnhzbHQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTFCRTUxMkQwQ0Y2
QzUxMjAwMkVBOTU5IC8qIFhTTFRVbmljb2RlU29ydC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5
NzdFMkUwRTEyRjBGQzlDMDBDMTMzNzkgLyogWFNTRmlsdGVyLmNwcCBpbiBTb3VyY2VzICovLAor
CQkJCUIxRTU0NURGMTM0NjJCMEIwMDkyQTU0NSAvKiBKU05hdmlnYXRvclVzZXJNZWRpYUVycm9y
LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUIxRTU0NUUxMTM0NjJCMEIwMDkyQTU0NSAvKiBKU05h
dmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2suY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQjFF
NTQ1RTMxMzQ2MkIwQjAwOTJBNTQ1IC8qIEpTTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxi
YWNrLmNwcCBpbiBTb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9z
dHByb2Nlc3NpbmcgPSAwOwogCQl9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNOYXZpZ2F0b3JDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNOYXZpZ2F0b3JDdXN0b20uY3BwCmluZGV4IGMwMjM5MzEzMmE4MjMyYTFkNDhlMTMxNjg2ZTM3
MGQxZmY0MmY3YjIuLjUwZmI0ZGE2YzM1YzRiMmVlN2EwMTY2NWZmODU0NjBhZWEwODM1ZDEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTmF2aWdhdG9yQ3VzdG9tLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU05hdmlnYXRvckN1c3RvbS5jcHAK
QEAgLTIzLDYgKzIzLDkgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJKU05hdmln
YXRvci5oIgogCisjaW5jbHVkZSAiQ2FsbGJhY2tGdW5jdGlvbi5oIgorI2luY2x1ZGUgIkpTTmF2
aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5oIgorI2luY2x1ZGUgIkpTTmF2aWdhdG9yVXNl
ck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmgiCiAjaW5jbHVkZSAiTmF2aWdhdG9yLmgiCiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKQEAgLTM4LDQgKzQxLDI2IEBAIHZvaWQgSlNOYXZpZ2F0b3I6Om1hcmtD
aGlsZHJlbihNYXJrU3RhY2smIG1hcmtTdGFjaykKICAgICBtYXJrRE9NT2JqZWN0V3JhcHBlciht
YXJrU3RhY2ssIGdsb2JhbERhdGEsIGltcGwoKS0+b3B0aW9uYWxHZW9sb2NhdGlvbigpKTsKIH0K
IAorI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCitKU1ZhbHVlIEpTTmF2aWdhdG9yOjp3ZWJraXRH
ZXRVc2VyTWVkaWEoRXhlY1N0YXRlKiBleGVjKQoreworICAgIC8vIEFyZ3VtZW50czogT3B0aW9u
cywgc3VjY2Vzc0NhbGxiYWNrLCAob3B0aW9uYWwpZXJyb3JDYWxsYmFjaworCisgICAgU3RyaW5n
IG9wdGlvbnMgPSB1c3RyaW5nVG9TdHJpbmcoZXhlYy0+YXJndW1lbnQoMCkudG9TdHJpbmcoZXhl
YykpOworICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKKyAgICAgICAgcmV0dXJuIGpzVW5k
ZWZpbmVkKCk7CisKKyAgICBSZWZQdHI8TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNr
PiBzdWNjZXNzQ2FsbGJhY2sgPSBjcmVhdGVGdW5jdGlvbk9ubHlDYWxsYmFjazxKU05hdmlnYXRv
clVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjaz4oZXhlYywgc3RhdGljX2Nhc3Q8SlNET01HbG9iYWxP
YmplY3QqPihleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCkpLCBleGVjLT5hcmd1bWVudCgxKSk7
CisgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQorICAgICAgICByZXR1cm4ganNVbmRlZmlu
ZWQoKTsKKworICAgIFJlZlB0cjxOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrPiBlcnJv
ckNhbGxiYWNrID0gY3JlYXRlRnVuY3Rpb25Pbmx5Q2FsbGJhY2s8SlNOYXZpZ2F0b3JVc2VyTWVk
aWFFcnJvckNhbGxiYWNrPihleGVjLCBzdGF0aWNfY2FzdDxKU0RPTUdsb2JhbE9iamVjdCo+KGV4
ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSksIGV4ZWMtPmFyZ3VtZW50KDIpLCBDYWxsYmFja0Fs
bG93VW5kZWZpbmVkKTsKKyAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCisgICAgICAgIHJl
dHVybiBqc1VuZGVmaW5lZCgpOworCisgICAgbV9pbXBsLT53ZWJraXRHZXRVc2VyTWVkaWEob3B0
aW9ucywgc3VjY2Vzc0NhbGxiYWNrLnJlbGVhc2UoKSwgZXJyb3JDYWxsYmFjay5yZWxlYXNlKCkp
OworICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOworfQorI2VuZGlmIC8vIEVOQUJMRShNRURJQV9T
VFJFQU0pCisKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3Rv
bS9WOE5hdmlnYXRvckN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0
b20vVjhOYXZpZ2F0b3JDdXN0b20uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjkyMjlhYmJhYTMzYWU3ZDA1NWQ2
ZGZkN2U3YjY0MDQ0OTA3YjM1OGYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9jdXN0b20vVjhOYXZpZ2F0b3JDdXN0b20uY3BwCkBAIC0wLDAgKzEsNjcgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuICBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisg
KiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OCisgKiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMK
KyAqIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJWOE5hdmlnYXRv
ci5oIgorCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKworI2luY2x1ZGUgIk5hdmlnYXRvci5o
IgorI2luY2x1ZGUgIlY4QmluZGluZy5oIgorI2luY2x1ZGUgIlY4TmF2aWdhdG9yVXNlck1lZGlh
RXJyb3JDYWxsYmFjay5oIgorI2luY2x1ZGUgIlY4TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0Nh
bGxiYWNrLmgiCisjaW5jbHVkZSAiVjhVdGlsaXRpZXMuaCIKKwordXNpbmcgbmFtZXNwYWNlIFdU
RjsKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCit2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhOYXZp
Z2F0b3I6OndlYmtpdEdldFVzZXJNZWRpYUNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFy
Z3MpCit7CisgICAgSU5DX1NUQVRTKCJET00uTmF2aWdhdG9yLndlYmtpdEdldFVzZXJNZWRpYSgp
Iik7CisKKyAgICB2ODo6VHJ5Q2F0Y2ggZXhjZXB0aW9uQ2F0Y2hlcjsKKyAgICBTdHJpbmcgb3B0
aW9ucyA9IHRvV2ViQ29yZVN0cmluZyhhcmdzWzBdKTsKKyAgICBpZiAoZXhjZXB0aW9uQ2F0Y2hl
ci5IYXNDYXVnaHQoKSkKKyAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoZXhjZXB0aW9uQ2F0Y2hl
ci5FeGNlcHRpb24oKSk7CisKKyAgICBib29sIHN1Y2NlZWRlZCA9IGZhbHNlOworCisgICAgUmVm
UHRyPE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjaz4gc3VjY2Vzc0NhbGxiYWNrID0g
Y3JlYXRlRnVuY3Rpb25Pbmx5Q2FsbGJhY2s8VjhOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2Fs
bGJhY2s+KGFyZ3NbMV0sIHN1Y2NlZWRlZCk7CisgICAgaWYgKCFzdWNjZWVkZWQpCisgICAgICAg
IHJldHVybiB2ODo6VW5kZWZpbmVkKCk7CisKKyAgICAvLyBBcmd1bWVudCBpcyBvcHRpb25hbCwg
aGVuY2UgdW5kZWZpbmVkIGlzIGFsbG93ZWQuCisgICAgUmVmUHRyPE5hdmlnYXRvclVzZXJNZWRp
YUVycm9yQ2FsbGJhY2s+IGVycm9yQ2FsbGJhY2sgPSBjcmVhdGVGdW5jdGlvbk9ubHlDYWxsYmFj
azxWOE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2s+KGFyZ3NbMl0sIHN1Y2NlZWRlZCwg
Q2FsbGJhY2tBbGxvd1VuZGVmaW5lZCk7CisgICAgaWYgKCFzdWNjZWVkZWQpCisgICAgICAgIHJl
dHVybiB2ODo6VW5kZWZpbmVkKCk7CisKKyAgICBOYXZpZ2F0b3IqIG5hdmlnYXRvciA9IFY4TmF2
aWdhdG9yOjp0b05hdGl2ZShhcmdzLkhvbGRlcigpKTsKKyAgICBuYXZpZ2F0b3ItPndlYmtpdEdl
dFVzZXJNZWRpYShvcHRpb25zLCBzdWNjZXNzQ2FsbGJhY2sucmVsZWFzZSgpLCBlcnJvckNhbGxi
YWNrLnJlbGVhc2UoKSk7CisgICAgcmV0dXJuIHY4OjpVbmRlZmluZWQoKTsKK30KKworfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVBTSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvTmF2aWdhdG9yLmNwcAppbmRleCA2YTI2N2FkNDE2MTk2OTkwM2M4MGNhNjM5NDQwYzM5
MWFmNTMwN2VkLi5iMDEwZDE2ZmM2ZmRhZTlkZGFjNGY1ZjgwNDFkYmU5ZjUyN2Y5NzczIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9OYXZpZ2F0b3IuY3BwCkBAIC0zNCw2ICszNCw4IEBACiAjaW5jbHVkZSAiR2Vv
bG9jYXRpb24uaCIKICNpbmNsdWRlICJLVVJMLmgiCiAjaW5jbHVkZSAiTGFuZ3VhZ2UuaCIKKyNp
bmNsdWRlICJOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmgiCisjaW5jbHVkZSAiTmF2
aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmgiCiAjaW5jbHVkZSAiUGFnZS5oIgogI2lu
Y2x1ZGUgIlBhZ2VHcm91cC5oIgogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCkBAIC0yNDIs
NCArMjQ0LDEzIEBAIHZvaWQgTmF2aWdhdG9yOjpyZWdpc3RlclByb3RvY29sSGFuZGxlcihjb25z
dCBTdHJpbmcmIHNjaGVtZSwgY29uc3QgU3RyaW5nJiB1cmwsCiB9CiAjZW5kaWYKIAorI2lmIEVO
QUJMRShNRURJQV9TVFJFQU0pCit2b2lkIE5hdmlnYXRvcjo6d2Via2l0R2V0VXNlck1lZGlhKGNv
bnN0IFN0cmluZyYgb3B0aW9ucywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
UGFzc1JlZlB0cjxOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2s+IHN1Y2Nlc3NDYWxs
YmFjaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUGFzc1JlZlB0cjxOYXZp
Z2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrPiBlcnJvckNhbGxiYWNrKQoreworICAgIC8vIEZJ
WE1FOiBpbXBsZW1lbnQgYSBjYWxsIHRvIHRoZSBtZWRpYSBzdHJlYW0gY29udGV4dCB3aGVuIGF2
YWlsYWJsZS4KK30KKyNlbmRpZgorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9O
YXZpZ2F0b3IuaAppbmRleCA2OTNiZGUxM2Y5MDgyYzRhYzE3N2ZmNTVlNjM0NDhiMTYzYTNmMTcy
Li4wNjY1ZTAzYjBiYWM5YzIxODA4NTdhNmY4NDk3NmRmNTg5M2E2ZWM2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
TmF2aWdhdG9yLmgKQEAgLTMyLDYgKzMyLDggQEAgY2xhc3MgRE9NTWltZVR5cGVBcnJheTsKIGNs
YXNzIERPTVBsdWdpbkFycmF5OwogY2xhc3MgRnJhbWU7CiBjbGFzcyBHZW9sb2NhdGlvbjsKK2Ns
YXNzIE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2s7CitjbGFzcyBOYXZpZ2F0b3JVc2Vy
TWVkaWFTdWNjZXNzQ2FsbGJhY2s7CiBjbGFzcyBQbHVnaW5EYXRhOwogCiB0eXBlZGVmIGludCBF
eGNlcHRpb25Db2RlOwpAQCAtNjcsNiArNjksMTEgQEAgcHVibGljOgogICAgIHZvaWQgcmVnaXN0
ZXJQcm90b2NvbEhhbmRsZXIoY29uc3QgU3RyaW5nJiBzY2hlbWUsIGNvbnN0IFN0cmluZyYgdXJs
LCBjb25zdCBTdHJpbmcmIHRpdGxlLCBFeGNlcHRpb25Db2RlJik7CiAjZW5kaWYKIAorI2lmIEVO
QUJMRShNRURJQV9TVFJFQU0pCisgICAgdmlydHVhbCB2b2lkIHdlYmtpdEdldFVzZXJNZWRpYShj
b25zdCBTdHJpbmcmIG9wdGlvbnMsIFBhc3NSZWZQdHI8TmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vz
c0NhbGxiYWNrPiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBhc3NSZWZQ
dHI8TmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjaz4gPSAwKTsKKyNlbmRpZgorCiBwcml2
YXRlOgogICAgIE5hdmlnYXRvcihGcmFtZSopOwogICAgIEZyYW1lKiBtX2ZyYW1lOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3IuaWRsIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9OYXZpZ2F0b3IuaWRsCmluZGV4IGJmM2YxMDhlYzkwMjVjMDA4NmJmMjgwZjM4MTkwYzRl
OTNhZWQ5N2UuLmYxMzkzYjk5MDQ4Y2ZmMGRkZjhjN2QxNTcyMjIxN2Y3NjIyZDkxY2UgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yLmlkbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL05hdmlnYXRvci5pZGwKQEAgLTM3LDcgKzM3LDcgQEAgbW9kdWxlIHdpbmRvdyB7
CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgdmVuZG9yU3ViOwogICAgICAg
ICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiBjb29raWVFbmFibGVkOwogICAgICAgICBib29s
ZWFuIGphdmFFbmFibGVkKCk7Ci0gICAgICAgIAorCiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBib29sZWFuIG9uTGluZTsKIAogI2lmIGRlZmluZWQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAmJiBF
TkFCTEVfR0VPTE9DQVRJT04KQEAgLTUyLDYgKzUyLDEyIEBAIG1vZHVsZSB3aW5kb3cgewogICAg
ICAgICB2b2lkIHJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKGluIERPTVN0cmluZyBzY2hlbWUsIGlu
IERPTVN0cmluZyB1cmwsIGluIERPTVN0cmluZyB0aXRsZSkKICAgICAgICAgICAgIHJhaXNlcyhE
b21FeGNlcHRpb24pOwogI2VuZGlmCisKKyNpZiBkZWZpbmVkKEVOQUJMRV9NRURJQV9TVFJFQU0p
ICYmIEVOQUJMRV9NRURJQV9TVFJFQU0KKyAgICAgICAgW0N1c3RvbSwgRW5hYmxlZEF0UnVudGlt
ZV0gdm9pZCB3ZWJraXRHZXRVc2VyTWVkaWEoaW4gRE9NU3RyaW5nIG9wdGlvbnMsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIFtD
YWxsYmFjaz1GdW5jdGlvbk9ubHldIE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjayBz
dWNjZXNzQ2FsbGJhY2ssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGluIFtDYWxsYmFjaz1GdW5jdGlvbk9ubHksIE9wdGlvbmFsXSBO
YXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spOworI2VuZGlmCiAg
ICAgfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3JVc2Vy
TWVkaWFFcnJvci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFFcnJv
ci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmNjODhiNGYxMWY2NzYyNjQ1MzExOTY3MmJjMTEyYjEwNjc3OTAyYzgK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvclVzZXJNZWRp
YUVycm9yLmgKQEAgLTAsMCArMSw1NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29n
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisg
KiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04KKyAqIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUworICogU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBOYXZpZ2F0
b3JVc2VyTWVkaWFFcnJvcl9oCisjZGVmaW5lIE5hdmlnYXRvclVzZXJNZWRpYUVycm9yX2gKKwor
I2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQor
CituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIE5hdmlnYXRvclVzZXJNZWRpYUVycm9yIDog
cHVibGljIFJlZkNvdW50ZWQ8TmF2aWdhdG9yVXNlck1lZGlhRXJyb3I+IHsKK3B1YmxpYzoKKyAg
ICAvLyBTaG91bGQgYmUga2VwdCBpbiBzeW5jIHdpdGggdGhlIHZhbHVlcyBpbiB0aGUgaWRsIGZp
bGUuCisgICAgZW51bSBFcnJvckNvZGUgeworICAgICAgICBQRVJNSVNTSU9OX0RFTklFRCA9IDEK
KyAgICB9OworCisgICAgTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IoRXJyb3JDb2RlIGNvZGUpIDog
bV9jb2RlKGNvZGUpIHsgfQorICAgIHZpcnR1YWwgfk5hdmlnYXRvclVzZXJNZWRpYUVycm9yKCkg
eyB9CisKKyAgICBFcnJvckNvZGUgY29kZSgpIGNvbnN0IHsgcmV0dXJuIG1fY29kZTsgfQorCitw
cml2YXRlOgorICAgIEVycm9yQ29kZSBtX2NvZGU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFNKQorCisjZW5kaWYgLy8gTmF2aWdh
dG9yVXNlck1lZGlhRXJyb3JfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZp
Z2F0b3JVc2VyTWVkaWFFcnJvci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvclVz
ZXJNZWRpYUVycm9yLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yOTM0NTBiMjJiYmI4ZTk5NWZmNWYzM2VhNzcw
ODQxYWRlYmVlZmY4Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZp
Z2F0b3JVc2VyTWVkaWFFcnJvci5pZGwKQEAgLTAsMCArMSwzNCBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04KKyAq
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUworICogU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
bW9kdWxlIHdpbmRvdyB7CisgICAgaW50ZXJmYWNlIFsKKyAgICAgICAgQ29uZGl0aW9uYWw9TUVE
SUFfU1RSRUFNCisgICAgXSBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvciB7CisgICAgICAgIGNvbnN0
IHVuc2lnbmVkIHNob3J0IFBFUk1JU1NJT05fREVOSUVEID0gMTsKKyAgICAgICAgcmVhZG9ubHkg
YXR0cmlidXRlIHVuc2lnbmVkIHNob3J0IGNvZGU7CisgICAgfTsKKworfQorCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2suaCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5oCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjE5ZmI5ZjY5OTQyMTNlZWI0OWQxZjdiOTUzN2NiMDk3NTE5NzM0NTUKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvclVzZXJNZWRpYUVycm9y
Q2FsbGJhY2suaApAQCAtMCwwICsxLDQ2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEdv
b2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUK
KyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgorICogQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCisgKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIE5hdmln
YXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2tfaAorI2RlZmluZSBOYXZpZ2F0b3JVc2VyTWVkaWFF
cnJvckNhbGxiYWNrX2gKKworI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCisKKyNpbmNsdWRlIDx3
dGYvUmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIE5hdmlnYXRv
clVzZXJNZWRpYUVycm9yOworCitjbGFzcyBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNr
IDogcHVibGljIFJlZkNvdW50ZWQ8TmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjaz4gewor
cHVibGljOgorICAgIHZpcnR1YWwgfk5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2soKSB7
IH0KKyAgICB2aXJ0dWFsIGJvb2wgaGFuZGxlRXZlbnQoTmF2aWdhdG9yVXNlck1lZGlhRXJyb3Iq
KSA9IDA7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUo
TUVESUFfU1RSRUFNKQorCisjZW5kaWYgLy8gTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFj
a19oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvclVzZXJNZWRpYUVy
cm9yQ2FsbGJhY2suaWRsIGIvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3JVc2VyTWVkaWFF
cnJvckNhbGxiYWNrLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42Njc0OGNkNDhlOWE3MGI2MmIzYTdkYTUzNWJl
Y2E5MmEyZTcxNzk0Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZp
Z2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmlkbApAQCAtMCwwICsxLDMzIEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiAgUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJ
RUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTgorICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCisgKiBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCittb2R1bGUgd2luZG93IHsKKyAgICBpbnRlcmZhY2UgWworICAgICAgICBDb25kaXRp
b25hbD1NRURJQV9TVFJFQU0sCisgICAgICAgIENhbGxiYWNrPUZ1bmN0aW9uT25seQorICAgIF0g
TmF2aWdhdG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjayB7CisgICAgICAgIGJvb2xlYW4gaGFuZGxl
RXZlbnQoaW4gTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IgZXJyb3IpOworICAgIH07CisKK30KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0Nh
bGxiYWNrLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3ND
YWxsYmFjay5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc3MDY5M2QwNmU0NzE1NmM3ZTE1NjBhNWMyYjdkYjk1ZmMz
MWY2MTgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvclVz
ZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5oCkBAIC0wLDAgKzEsNDYgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICog
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCisg
KiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKKyAqIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpZm5kZWYgTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrX2gKKyNkZWZpbmUgTmF2
aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrX2gKKworI2lmIEVOQUJMRShNRURJQV9TVFJF
QU0pCisKKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7
CisKK2NsYXNzIE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjayA6IHB1YmxpYyBSZWZD
b3VudGVkPE5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjaz4geworcHVibGljOgorICAg
IHZpcnR1YWwgfk5hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjaygpIHsgfQorICAgIC8v
IEZJWE1FOiBzZXQgY29ycmVjdCB0eXBlIHdoZW4gdGhlIEdlbmVyYXRlZFN0cmVhbSBjbGFzcyBp
cyBhdmFpbGFibGUuCisgICAgLy8gdmlydHVhbCBib29sIGhhbmRsZUV2ZW50KEdlbmVyYXRlZFN0
cmVhbSopID0gMDsKKyAgICB2aXJ0dWFsIGJvb2wgaGFuZGxlRXZlbnQoaW50IGR1bW15KSA9IDA7
Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoTUVESUFf
U1RSRUFNKQorCisjZW5kaWYgLy8gTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrX2gK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vz
c0NhbGxiYWNrLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yVXNlck1lZGlhU3Vj
Y2Vzc0NhbGxiYWNrLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lMTI1NDBjYTYzZjBmZWQ0N2U2YTJjZDAxN2Jj
ZTlmMWQ1NjhiZWZjCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZp
Z2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suaWRsCkBAIC0wLDAgKzEsMzUgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuICBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OCisgKiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKKyAqIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKK21vZHVsZSB3aW5kb3cgeworICAgIGludGVyZmFjZSBbCisgICAgICAgIENvbmRp
dGlvbmFsPU1FRElBX1NUUkVBTSwKKyAgICAgICAgQ2FsbGJhY2s9RnVuY3Rpb25Pbmx5CisgICAg
XSBOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2sgeworICAgICAgICAvLyBGSVhNRTog
aW1wbGVtZW50IHRoZSBjb3JyZWN0IHR5cGUgd2hlbiB0aGUgR2VuZXJhdGVkU3RyZWFtIGNsYXNz
IGlzIGF2YWlsYWJsZS4KKyAgICAgICAgLy8gYm9vbGVhbiBoYW5kbGVFdmVudChpbiBHZW5lcmF0
ZWRTdHJlYW0gc3RyZWFtKTsKKyAgICAgICAgYm9vbGVhbiBoYW5kbGVFdmVudChpbiBpbnQgZHVt
bXkpOworICAgIH07CisKK30K
</data>
<flag name="review"
          id="81366"
          type_id="1"
          status="+"
          setter="steveblock"
    />
    <flag name="commit-queue"
          id="81368"
          type_id="3"
          status="-"
          setter="commit-queue"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>88814</attachid>
            <date>2011-04-08 06:54:20 -0700</date>
            <delta_ts>2011-04-08 07:17:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-56586-20110408145417.patch</filename>
            <type>text/plain</type>
            <size>8663</size>
            <attacher name="Leandro Graciá Gil">leandrogracia</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODMyOTAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL2d0ay9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQKaW5kZXgg
OWYwNjVlMmE2NGRiNzAwMDMyZDA3NzRjNDdhNjc5NzY3YzA1N2M4My4uYjg0ZjYyZWM1ZDliOGU3
ZDZhOWYwZmU3MGY2ZDBkNDkyZWU5YWI0MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vZ3RrL1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQKQEAg
LTEzNzcsMyArMTM3Nyw4IEBAIGZhc3QvcmVwYWludC9zY2FsZS1wYWdlLXNocmluay5odG1sCiAK
ICMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU4MDIwCiBmYXN0L2Zv
cm1zL2lucHV0LW51bWJlci1sYXJnZS1wYWRkaW5nLmh0bWwKKworIyBNZWRpYSBTdHJlYW0gQVBJ
IG5vdCBlbmFibGVkLgorZmFzdC9kb20vTWVkaWFTdHJlYW0vYXJndW1lbnQtdHlwZXMuaHRtbAor
ZmFzdC9kb20vTWVkaWFTdHJlYW0vZW5hYmxlZC5odG1sCitmYXN0L2RvbS9NZWRpYVN0cmVhbS9u
by1pbnRlcmZhY2Utb2JqZWN0Lmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy1sZW9wYXJkL1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtbGVvcGFyZC9T
a2lwcGVkCmluZGV4IGQ3MDgxYTk3MTU4OTdlZWEyYjU4NWQ5MjY3ZmZmMzExMmQyNzMxMWUuLmY5
YWEzNWUzYWRiNjU1NmFhZTNjYWE2YzU0ZmZhNWE5NDFlODNmN2QgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL21hYy1sZW9wYXJkL1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjLWxlb3BhcmQvU2tpcHBlZApAQCAtMjIwLDMgKzIyMCw4IEBAIGh0dHAvdGVzdHMv
aW5zcGVjdG9yL3Jlc291cmNlLWhhci1jb252ZXJzaW9uLmh0bWwKIGZhc3QvcHJlbG9hZGVyL2Rv
Y3VtZW50LXdyaXRlLmh0bWwKIGZhc3QvcHJlbG9hZGVyL2RvY3VtZW50LXdyaXRlLTIuaHRtbAog
ZmFzdC9wcmVsb2FkZXIvc2Nhbi1ib2R5LWZyb20taGVhZC1zY3JpcHQuaHRtbAorCisjIE1lZGlh
IFN0cmVhbSBBUEkgbm90IGVuYWJsZWQuCitmYXN0L2RvbS9NZWRpYVN0cmVhbS9hcmd1bWVudC10
eXBlcy5odG1sCitmYXN0L2RvbS9NZWRpYVN0cmVhbS9lbmFibGVkLmh0bWwKK2Zhc3QvZG9tL01l
ZGlhU3RyZWFtL25vLWludGVyZmFjZS1vYmplY3QuaHRtbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjLXNub3dsZW9wYXJkL1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMtc25vd2xlb3BhcmQvU2tpcHBlZAppbmRleCAyODlkMzRlNjlkZmY4MjQyN2FjZjQyZGU5
ODc3OGRmZjdiNDA3MGVlLi5jMzdiNTc1MmY1NTcxMDQ0YmM0YzIxOTE2MTQ1NmUzY2NkMjAyN2M4
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtc25vd2xlb3BhcmQvU2tpcHBl
ZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtc25vd2xlb3BhcmQvU2tpcHBlZApAQCAt
MTY5LDMgKzE2OSw4IEBAIGh0dHAvdGVzdHMvbmF2aWdhdGlvbi9jaGFuZ2luZy1mcmFtZS1oaWVy
YXJjaHktaW4tb25sb2FkLmh0bWwKIAogIyBUaGUgbGVnYWN5IGZ1bGwgc2NyZWVuIEFQSSBub3cg
cmVkaXJlY3RzIHRvIHRoZSBuZXcgZnVsbCBzY3JlZW4gQVBJLgogbWVkaWEvbWVkaWEtZnVsbHNj
cmVlbi1pbmxpbmUuaHRtbAorCisjIE1lZGlhIFN0cmVhbSBBUEkgbm90IGVuYWJsZWQuCitmYXN0
L2RvbS9NZWRpYVN0cmVhbS9hcmd1bWVudC10eXBlcy5odG1sCitmYXN0L2RvbS9NZWRpYVN0cmVh
bS9lbmFibGVkLmh0bWwKK2Zhc3QvZG9tL01lZGlhU3RyZWFtL25vLWludGVyZmFjZS1vYmplY3Qu
aHRtbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXRpZ2VyL1NraXBwZWQg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtdGlnZXIvU2tpcHBlZAppbmRleCBhYmQ3MjY3ZjM3
OTI1NWY3MmQ2Mzg5YzE4NThkNjE2OThmN2Q1YzVmLi41N2FjODM2NzQ3YzU1NDJlNGZiYThiMDBl
YTFiYmUyMTZhZDcwY2NiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtdGln
ZXIvU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtdGlnZXIvU2tpcHBlZApA
QCAtMjMwLDMgKzIzMCw4IEBAIHBsYXRmb3JtL21hYy9lZGl0aW5nL3NwZWxsaW5nL21vdmUtY3Vy
c29yLWFyb3VuZC1taXNzcGVsbGVkLXdvcmQuaHRtbAogcGxhdGZvcm0vbWFjL2VkaXRpbmcvc3Bl
bGxpbmcvbW92ZS1jdXJzb3ItdG8tYXV0b2NvcnJlY3RlZC13b3JkLmh0bWwKIHBsYXRmb3JtL21h
Yy9lZGl0aW5nL3NwZWxsaW5nL21vdmUtY3Vyc29yLXRvLWJlZ2lubmluZy1vZi1hdXRvY29ycmVj
dGVkLXdvcmQuaHRtbAogcGxhdGZvcm0vbWFjL2VkaXRpbmcvc3BlbGxpbmcvcmVtb3ZpbmctdW5k
ZXJsaW5lLWFmdGVyLWFjY2VwdGluZy1hdXRvY29ycmVjdGlvbi11c2luZy1wdW5jdHVhdGlvbi5o
dG1sCisKKyMgTWVkaWEgU3RyZWFtIEFQSSBub3QgZW5hYmxlZC4KK2Zhc3QvZG9tL01lZGlhU3Ry
ZWFtL2FyZ3VtZW50LXR5cGVzLmh0bWwKK2Zhc3QvZG9tL01lZGlhU3RyZWFtL2VuYWJsZWQuaHRt
bAorZmFzdC9kb20vTWVkaWFTdHJlYW0vbm8taW50ZXJmYWNlLW9iamVjdC5odG1sCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1NraXBwZWQgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMtd2syL1NraXBwZWQKaW5kZXggYTdiMGVmZGFmMGRhZDBhNzIyMWJiZTE0OGE4
NDc2M2EwYmFlMGJlZC4uM2U3NTU2Yjc5MmY0YzFkOGQzNWU0ZjEyZGNhMzUyNjM1NjFjNGI1ZSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9Ta2lwcGVkCisrKyBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvU2tpcHBlZApAQCAtMjA0MCwzICsyMDQwLDggQEAg
ZmFzdC9wYXJzZXIvcHJlLWh0bWw1LXBhcnNlci1xdWlya3MuaHRtbAogIyMjICgyKSBDbGFzc2lm
aWVkIGZhaWx1cmVzIHdpdGhvdXQgYnVnIHJlcG9ydHMgKHlldCkKICMjIyAoMykgVW5jbGFzc2lm
aWVkIGZhaWx1cmVzCiAjIyMgKDQpIEZlYXR1cmVzIHRoYXQgYXJlIG5vdCBzdXBwb3J0ZWQgaW4g
V2ViS2l0MiBhbmQgbGlrZWx5IG5ldmVyIHdpbGwgYmUKKworIyBNZWRpYSBTdHJlYW0gQVBJIG5v
dCBlbmFibGVkLgorZmFzdC9kb20vTWVkaWFTdHJlYW0vYXJndW1lbnQtdHlwZXMuaHRtbAorZmFz
dC9kb20vTWVkaWFTdHJlYW0vZW5hYmxlZC5odG1sCitmYXN0L2RvbS9NZWRpYVN0cmVhbS9uby1p
bnRlcmZhY2Utb2JqZWN0Lmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1NraXBwZWQKaW5kZXggZGMxMGZk
NzQwOTJlOTZmYTg5ODc1NjllNmYxMzI0ZGQ4YWM1ZmI4ZS4uODNjZTViYzhjZmE5MTFhZWI4ODAw
OWRiOWMyNjRkY2QxZjJlNjJiZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1NraXBwZWQKQEAgLTMxOCwz
ICszMTgsOCBAQCB3ZWJhcmNoaXZlL3Rlc3QtbGluay1yZWwtaWNvbi5odG1sCiAjIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NjY5MQogaHR0cC90ZXN0cy9pbnNwZWN0
b3IvbmV0d29yay9uZXR3b3JrLXNpemUtY2h1bmtlZC5odG1sCiBodHRwL3Rlc3RzL2luc3BlY3Rv
ci9uZXR3b3JrL25ldHdvcmstc2l6ZS1zeW5jLmh0bWwKKworIyBNZWRpYSBTdHJlYW0gQVBJIG5v
dCBlbmFibGVkLgorZmFzdC9kb20vTWVkaWFTdHJlYW0vYXJndW1lbnQtdHlwZXMuaHRtbAorZmFz
dC9kb20vTWVkaWFTdHJlYW0vZW5hYmxlZC5odG1sCitmYXN0L2RvbS9NZWRpYVN0cmVhbS9uby1p
bnRlcmZhY2Utb2JqZWN0Lmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0
LWxpbnV4L1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC1saW51eC9Ta2lwcGVkCmlu
ZGV4IGU2OWRlMjliYjJkMWQ2NDM0YjhiMjlhZTc3NWFkOGMyZTQ4YzUzOTEuLjRjOGU0ZTZlZGFi
ZTlhMDY5Y2JkYjU2YTAyNjI4OWZiMjBkYWU3NzMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL3F0LWxpbnV4L1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQtbGlu
dXgvU2tpcHBlZApAQCAtMCwwICsxLDUgQEAKKworIyBNZWRpYSBTdHJlYW0gQVBJIG5vdCBlbmFi
bGVkLgorZmFzdC9kb20vTWVkaWFTdHJlYW0vYXJndW1lbnQtdHlwZXMuaHRtbAorZmFzdC9kb20v
TWVkaWFTdHJlYW0vZW5hYmxlZC5odG1sCitmYXN0L2RvbS9NZWRpYVN0cmVhbS9uby1pbnRlcmZh
Y2Utb2JqZWN0Lmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0LW1hYy9T
a2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQtbWFjL1NraXBwZWQKaW5kZXggNTg1M2Y0
MGI3MWFiODMzNzBiZmU5MDRjNWE4NWRlZTU3MWU0MjMzZi4uZDA2NzEwMmJlMGE0YjI4MjgyOGI5
MzIxYzU3YjNkYjNlZDBlMzVhZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQt
bWFjL1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQtbWFjL1NraXBwZWQKQEAg
LTQsMyArNCw4IEBAIG1lZGlhL21lZGlhLWNhbi1wbGF5LW9nZy5odG1sCiAKICMgcmVxdWlyZXMg
dmlkZW8uYnVmZmVyZWQgdG8gYmUgYWJsZSB0byByZXR1cm4gbXVsdGlwbGUgdGltZXJhbmdlcwog
aHR0cC90ZXN0cy9tZWRpYS92aWRlby1idWZmZXJlZC5odG1sCisKKyMgTWVkaWEgU3RyZWFtIEFQ
SSBub3QgZW5hYmxlZC4KK2Zhc3QvZG9tL01lZGlhU3RyZWFtL2FyZ3VtZW50LXR5cGVzLmh0bWwK
K2Zhc3QvZG9tL01lZGlhU3RyZWFtL2VuYWJsZWQuaHRtbAorZmFzdC9kb20vTWVkaWFTdHJlYW0v
bm8taW50ZXJmYWNlLW9iamVjdC5odG1sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9xdC13aW4vU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0LXdpbi9Ta2lwcGVkCmlu
ZGV4IDU4NTNmNDBiNzFhYjgzMzcwYmZlOTA0YzVhODVkZWU1NzFlNDIzM2YuLmQwNjcxMDJiZTBh
NGIyODI4MjhiOTMyMWM1N2IzZGIzZWQwZTM1YWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL3F0LXdpbi9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0LXdpbi9T
a2lwcGVkCkBAIC00LDMgKzQsOCBAQCBtZWRpYS9tZWRpYS1jYW4tcGxheS1vZ2cuaHRtbAogCiAj
IHJlcXVpcmVzIHZpZGVvLmJ1ZmZlcmVkIHRvIGJlIGFibGUgdG8gcmV0dXJuIG11bHRpcGxlIHRp
bWVyYW5nZXMKIGh0dHAvdGVzdHMvbWVkaWEvdmlkZW8tYnVmZmVyZWQuaHRtbAorCisjIE1lZGlh
IFN0cmVhbSBBUEkgbm90IGVuYWJsZWQuCitmYXN0L2RvbS9NZWRpYVN0cmVhbS9hcmd1bWVudC10
eXBlcy5odG1sCitmYXN0L2RvbS9NZWRpYVN0cmVhbS9lbmFibGVkLmh0bWwKK2Zhc3QvZG9tL01l
ZGlhU3RyZWFtL25vLWludGVyZmFjZS1vYmplY3QuaHRtbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vcXQtd2syL1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC13azIv
U2tpcHBlZAppbmRleCBlYjgyYzEwZTAyYmNiMWIwOWJkNjljMDAyOWFhMGQwOWY2MmM3ZmY4Li42
Mjg2NzQ4YmQxODc5OWM0YTk2ODNhNjRiZGQ1MzEyNmQ1ZDAxNDM5IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9xdC13azIvU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9xdC13azIvU2tpcHBlZApAQCAtMzI5NSwzICszMjk1LDggQEAgdHJhbnNpdGlvbnMvaGFuZy13
aXRoLWJhZC10cmFuc2l0aW9uLWxpc3QuaHRtbAogdHJhbnNpdGlvbnMvcmVtb3ZlLXRyYW5zaXRp
b24tc3R5bGUuaHRtbAogdHJhbnNpdGlvbnMvcmVwZWF0ZWQtZmlyaW5nLWJhY2tncm91bmQtY29s
b3IuaHRtbAogdHJhbnNpdGlvbnMvemVyby1kdXJhdGlvbi13aXRoLW5vbi16ZXJvLWRlbGF5LWVu
ZC5odG1sCisKKyMgTWVkaWEgU3RyZWFtIEFQSSBub3QgZW5hYmxlZC4KK2Zhc3QvZG9tL01lZGlh
U3RyZWFtL2FyZ3VtZW50LXR5cGVzLmh0bWwKK2Zhc3QvZG9tL01lZGlhU3RyZWFtL2VuYWJsZWQu
aHRtbAorZmFzdC9kb20vTWVkaWFTdHJlYW0vbm8taW50ZXJmYWNlLW9iamVjdC5odG1sCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vcXQvU2tpcHBlZAppbmRleCBlN2Q2NmZlOWY2N2EwOTFlYzU3MGJiZDIzZGU5OTA5ZDU2
MzI4Y2VkLi41MmVmZjdhMGI5NDk5MTYxMGUxOWI0MTlkODBlNzgxYzgyODRjZWE0IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL3F0L1NraXBwZWQKQEAgLTMyNDIsMyArMzI0Miw4IEBAIG1lZGlhL3ZpZGVvLXBsYXli
YWNrcmF0ZS5odG1sCiAjIFtRdF1SRUdSRVNTSU9OKHI4MjQxOSk6IGV4dHJhIGJvcmRlciBpbiB0
MDgwNS1jNTUxOS1pYnJkci1yLTAwLWEuaHRtbAogIyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NTc0NTkKIGNzczIuMS90MDgwNS1jNTUxOS1pYnJkci1yLTAwLWEuaHRt
bAorCisjIE1lZGlhIFN0cmVhbSBBUEkgbm90IGVuYWJsZWQuCitmYXN0L2RvbS9NZWRpYVN0cmVh
bS9hcmd1bWVudC10eXBlcy5odG1sCitmYXN0L2RvbS9NZWRpYVN0cmVhbS9lbmFibGVkLmh0bWwK
K2Zhc3QvZG9tL01lZGlhU3RyZWFtL25vLWludGVyZmFjZS1vYmplY3QuaHRtbApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luLXdrMi9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vd2luLXdrMi9Ta2lwcGVkCmluZGV4IGM5OTZkYzdiODQwNTI3YWUzMGNmMTM5NTNmYmRh
ZTZjYjllOGFjZWUuLjc1MTljNmRkYjkwOTFkN2Y0YzIyNDA2YjAyMThlMGNmMTNmNzBkNzcgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi13azIvU2tpcHBlZAorKysgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS93aW4td2syL1NraXBwZWQKQEAgLTIwOCwzICsyMDgsOCBAQCBtZWRp
YS92aWRlby1sb2FkLXJlYWR5U3RhdGUuaHRtbAogCiAjIFNvbWV0aW1lcyB0aW1lcyBvdXQgaHR0
cDovL3dlYmtpdC5vcmcvYi81NzAyNwogaW5zcGVjdG9yL2RlYnVnZ2VyL3NvdXJjZS1mcmFtZS5o
dG1sCisKKyMgTWVkaWEgU3RyZWFtIEFQSSBub3QgZW5hYmxlZC4KK2Zhc3QvZG9tL01lZGlhU3Ry
ZWFtL2FyZ3VtZW50LXR5cGVzLmh0bWwKK2Zhc3QvZG9tL01lZGlhU3RyZWFtL2VuYWJsZWQuaHRt
bAorZmFzdC9kb20vTWVkaWFTdHJlYW0vbm8taW50ZXJmYWNlLW9iamVjdC5odG1sCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4teHAvU2tpcHBlZCBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL3dpbi14cC9Ta2lwcGVkCmluZGV4IGE5ZTNmYjhiYTg0OGVkYzZmZDZhMDM5YzU4YTAx
YTgyODRlNjdkNmEuLjkwYTZhNzNjOWEzN2U3NTgwMzhkOTU5MGFiMTgwMTQxZTRmNjgyMDQgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi14cC9Ta2lwcGVkCisrKyBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL3dpbi14cC9Ta2lwcGVkCkBAIC0zNiwzICszNiw4IEBAIGZhc3Qvd29y
a2Vycy9zdG9yYWdlL2ludGVycnVwdC1kYXRhYmFzZS1zeW5jLmh0bWwKICMgbGF5b3V0VGVzdENv
bnRyb2xsZXIuc2V0UGx1Z2luc0VuYWJsZWQgc2VlbXMgdG8gYmUgYSBuby1vcCBvbiBXaW5YUAog
IyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTcxMzUKIGZhc3QvaW1h
Z2VzL2VtYmVkLWltYWdlLmh0bWwKKworIyBNZWRpYSBTdHJlYW0gQVBJIG5vdCBlbmFibGVkLgor
ZmFzdC9kb20vTWVkaWFTdHJlYW0vYXJndW1lbnQtdHlwZXMuaHRtbAorZmFzdC9kb20vTWVkaWFT
dHJlYW0vZW5hYmxlZC5odG1sCitmYXN0L2RvbS9NZWRpYVN0cmVhbS9uby1pbnRlcmZhY2Utb2Jq
ZWN0Lmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQKaW5kZXggY2I1YzZjOWVlZjRhYWFmMmIx
YjNiZjdiMTM0MzczYmU5MjBiYzViMC4uNDU2YTNmMzg1NGM1OWI3NWRjMGFiYzdmYjVhYzY4ZTFi
MzAwMzk3MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQKKysr
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQKQEAgLTEyMzAsMyArMTIzMCw4IEBA
IGZhc3QvZG9tL0VsZW1lbnQvc2NhbGUtcGFnZS1jbGllbnQtcmVjdHMuaHRtbAogZmFzdC9kb20v
UmFuZ2Uvc2NhbGUtcGFnZS1ib3VuZGluZy1jbGllbnQtcmVjdC5odG1sCiBmYXN0L2RvbS9SYW5n
ZS9zY2FsZS1wYWdlLWNsaWVudC1yZWN0cy5odG1sCiBmYXN0L3JlcGFpbnQvc2NhbGUtcGFnZS1z
aHJpbmsuaHRtbAorCisjIE1lZGlhIFN0cmVhbSBBUEkgbm90IGVuYWJsZWQuCitmYXN0L2RvbS9N
ZWRpYVN0cmVhbS9hcmd1bWVudC10eXBlcy5odG1sCitmYXN0L2RvbS9NZWRpYVN0cmVhbS9lbmFi
bGVkLmh0bWwKK2Zhc3QvZG9tL01lZGlhU3RyZWFtL25vLWludGVyZmFjZS1vYmplY3QuaHRtbAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>88820</attachid>
            <date>2011-04-08 07:15:52 -0700</date>
            <delta_ts>2011-04-08 07:24:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-56586-20110408151550.patch</filename>
            <type>text/plain</type>
            <size>2282</size>
            <attacher name="Leandro Graciá Gil">leandrogracia</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODMyOTEKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL2d0ay9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQKaW5kZXgg
OWYwNjVlMmE2NGRiNzAwMDMyZDA3NzRjNDdhNjc5NzY3YzA1N2M4My4uZjA0OTIyNjcwZDhlOTNm
NzAwMjNhOTVkNzk3YzAxY2FiMTI4YzMzMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vZ3RrL1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQKQEAg
LTI2OSw2ICsyNjksOSBAQCBzdG9yYWdlL2RvbXN0b3JhZ2UvbG9jYWxzdG9yYWdlL3N0b3JhZ2V0
cmFja2VyCiAjIFNwZWVjaCBpbnB1dCBpcyBub3QgeWV0IGVuYWJsZWQuCiBmYXN0L3NwZWVjaAog
CisjIE1lZGlhIFN0cmVhbSBBUEkgaXMgbm90IHlldCBlbmFibGVkLgorZmFzdC9kb20vTWVkaWFT
dHJlYW0KKwogIyBXZWIgVGltaW5nIGlzIG5vdCBlbmFibGVkLgogIyBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDI0MzIKIGZhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJv
cGVydGllcy1wZXJmb3JtYW5jZS5odG1sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVkCmluZGV4IGRj
MTBmZDc0MDkyZTk2ZmE4OTg3NTY5ZTZmMTMyNGRkOGFjNWZiOGUuLjliOGY2NzUwOGI0OTNmMzgy
N2RhM2ViOTQyM2FiNDZlNDNhY2YxNGEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVkCkBAIC0x
OTYsNiArMTk2LDkgQEAgaHR0cC90ZXN0cy9tdWx0aXBhcnQvcG9saWN5LWlnbm9yZS1jcmFzaC5w
aHAKICMgU3BlZWNoIGlucHV0IGlzIG5vdCB5ZXQgZW5hYmxlZC4KIGZhc3Qvc3BlZWNoCiAKKyMg
TWVkaWEgU3RyZWFtIEFQSSBpcyBub3QgeWV0IGVuYWJsZWQuCitmYXN0L2RvbS9NZWRpYVN0cmVh
bQorCiAjIE5lZWRzIHRvIGJlIGZpeGVkIGF0IGltYWdlIGRlY29kZXIgbGF5ZXIgZm9yIFNhZmFy
aS4KIGZhc3QvaW1hZ2VzL2xhcmdlLXNpemUtaW1hZ2UtY3Jhc2guaHRtbAogCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
cXQvU2tpcHBlZAppbmRleCBlN2Q2NmZlOWY2N2EwOTFlYzU3MGJiZDIzZGU5OTA5ZDU2MzI4Y2Vk
Li42NTZlODVmM2YxNDUwM2RkYzg1MDkxZTMxZWMzMTQwNzM2ZmViZTEwIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L3F0L1NraXBwZWQKQEAgLTI5NzgsNiArMjk3OCw5IEBAIGZhc3QvZm9ybXMvaW5wdXQtbnVtYmVy
LWxhcmdlLXBhZGRpbmcuaHRtbAogIyBTcGVlY2ggaW5wdXQgaXMgbm90IHlldCBlbmFibGVkLgog
ZmFzdC9zcGVlY2gKIAorIyBNZWRpYSBTdHJlYW0gQVBJIGlzIG5vdCB5ZXQgZW5hYmxlZC4KK2Zh
c3QvZG9tL01lZGlhU3RyZWFtCisKICMgW1F0XSBmYXN0L2RvbS9iZWZvcmVsb2FkL3NjcmlwdC1i
ZWZvcmUtbG9hZC1keW5hbWljLmh0bWwgaXMgY3Jhc2h5LWZsYWtleQogIyBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDE0NTIKIGZhc3QvZG9tL2JlZm9yZWxvYWQvcmVt
b3ZlLXZpZGVvLWluLWJlZm9yZWxvYWQtbGlzdGVuZXIuaHRtbApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tp
cHBlZAppbmRleCBjYjVjNmM5ZWVmNGFhYWYyYjFiM2JmN2IxMzQzNzNiZTkyMGJjNWIwLi44YmYy
YjcxZThjMTBjNjJkY2JhYjNlMTVkMjhkMDlhZWY2OGY0YTAxIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4v
U2tpcHBlZApAQCAtMTA0Nyw2ICsxMDQ3LDkgQEAgZmFzdC9mb3Jtcy9pbnB1dC1zcGluYnV0dG9u
LWNhcHR1cmluZy5odG1sCiAjIFNwZWVjaCBpbnB1dCBpcyBub3QgeWV0IGVuYWJsZWQuCiBmYXN0
L3NwZWVjaAogCisjIE1lZGlhIFN0cmVhbSBBUEkgaXMgbm90IHlldCBlbmFibGVkLgorZmFzdC9k
b20vTWVkaWFTdHJlYW0KKwogIyBOZWVkcyB0byBiZSBmaXhlZCBhdCBpbWFnZSBkZWNvZGVyIGxh
eWVyIGZvciBTYWZhcmkuCiBmYXN0L2ltYWdlcy9sYXJnZS1zaXplLWltYWdlLWNyYXNoLmh0bWwK
IAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>