<?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>125380</bug_id>
          
          <creation_ts>2013-12-06 22:10:11 -0800</creation_ts>
          <short_desc>[MSE] Add support for VideoPlaybackMetrics.</short_desc>
          <delta_ts>2013-12-09 16:38:40 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>125474</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Jer Noble">jer.noble</reporter>
          <assigned_to name="Jer Noble">jer.noble</assigned_to>
          <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eflews.bot</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>gtk-ews</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>ltilve+ews</cc>
    
    <cc>philn</cc>
    
    <cc>rakuco</cc>
    
    <cc>xan.lopez</cc>
    
    <cc>zan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>957481</commentid>
    <comment_count>0</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2013-12-06 22:10:11 -0800</bug_when>
    <thetext>[MSE] Add support for VideoPlaybackMetrics.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>957491</commentid>
    <comment_count>1</comment_count>
      <attachid>218653</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2013-12-06 23:01:44 -0800</bug_when>
    <thetext>Created attachment 218653
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>957558</commentid>
    <comment_count>2</comment_count>
      <attachid>218653</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2013-12-07 17:48:47 -0800</bug_when>
    <thetext>Comment on attachment 218653
Patch

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

&gt; Source/WebCore/Modules/mediasource/VideoPlaybackQuality.idl:28
&gt; +    NoInterfaceObject,

Why no NoInterfaceObject?

&gt; Source/WebCore/Modules/mediasource/VideoPlaybackQuality.idl:31
&gt; +    readonly attribute double creationTime;

The spec says this should be a DOMHighResTimeStamp? Does the generator not support that?

&gt; Source/WebCore/html/HTMLMediaElement.cpp:5250
&gt; +#if ENABLE(WEB_TIMING)
&gt; +    DOMWindow* domWindow = document().domWindow();
&gt; +    Performance* performance = domWindow ? domWindow-&gt;performance() : nullptr;
&gt; +    double now = performance ? performance-&gt;now() : 0;
&gt; +#else
&gt; +    double now = monotonicallyIncreasingTime();
&gt; +#endif

I believe performance()-&gt;now() is implemented as:

1000.0 * document()-&gt;loader()-&gt;timing()-&gt;monotonicTimeToZeroBasedDocumentTime(monotonicallyIncreasingTime())

So you should probably match that in the non-WEB_TIMING enabled case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>957582</commentid>
    <comment_count>3</comment_count>
      <attachid>218678</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2013-12-07 22:58:58 -0800</bug_when>
    <thetext>Created attachment 218678
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>957583</commentid>
    <comment_count>4</comment_count>
      <attachid>218678</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-12-07 23:04:03 -0800</bug_when>
    <thetext>Comment on attachment 218678
Patch

Attachment 218678 did not pass efl-ews (efl):
Output: http://webkit-queues.appspot.com/results/46948080</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>957584</commentid>
    <comment_count>5</comment_count>
      <attachid>218678</attachid>
    <who name="kov&apos;s GTK+ EWS bot">gtk-ews</who>
    <bug_when>2013-12-07 23:05:42 -0800</bug_when>
    <thetext>Comment on attachment 218678
Patch

Attachment 218678 did not pass gtk-ews (gtk):
Output: http://webkit-queues.appspot.com/results/47008090</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>957585</commentid>
    <comment_count>6</comment_count>
      <attachid>218678</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-12-07 23:07:09 -0800</bug_when>
    <thetext>Comment on attachment 218678
Patch

Attachment 218678 did not pass efl-wk2-ews (efl-wk2):
Output: http://webkit-queues.appspot.com/results/46948081</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>957586</commentid>
    <comment_count>7</comment_count>
      <attachid>218678</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-12-07 23:49:12 -0800</bug_when>
    <thetext>Comment on attachment 218678
Patch

Attachment 218678 did not pass win-ews (win):
Output: http://webkit-queues.appspot.com/results/46938079</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>957671</commentid>
    <comment_count>8</comment_count>
      <attachid>218699</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2013-12-08 11:17:25 -0800</bug_when>
    <thetext>Created attachment 218699
Patch

Protect getVideoPlaybackQuality with ENABLE guards.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>957672</commentid>
    <comment_count>9</comment_count>
      <attachid>218699</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-12-08 11:23:06 -0800</bug_when>
    <thetext>Comment on attachment 218699
Patch

Attachment 218699 did not pass efl-ews (efl):
Output: http://webkit-queues.appspot.com/results/47138059</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>957674</commentid>
    <comment_count>10</comment_count>
      <attachid>218699</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-12-08 11:30:27 -0800</bug_when>
    <thetext>Comment on attachment 218699
Patch

Attachment 218699 did not pass efl-wk2-ews (efl-wk2):
Output: http://webkit-queues.appspot.com/results/47188069</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>957690</commentid>
    <comment_count>11</comment_count>
      <attachid>218699</attachid>
    <who name="kov&apos;s GTK+ EWS bot">gtk-ews</who>
    <bug_when>2013-12-08 12:09:32 -0800</bug_when>
    <thetext>Comment on attachment 218699
Patch

Attachment 218699 did not pass gtk-ews (gtk):
Output: http://webkit-queues.appspot.com/results/46908082</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>957691</commentid>
    <comment_count>12</comment_count>
      <attachid>218699</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-12-08 12:10:50 -0800</bug_when>
    <thetext>Comment on attachment 218699
Patch

Attachment 218699 did not pass win-ews (win):
Output: http://webkit-queues.appspot.com/results/46638075</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>957698</commentid>
    <comment_count>13</comment_count>
      <attachid>218706</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2013-12-08 12:49:47 -0800</bug_when>
    <thetext>Created attachment 218706
Patch

Also protect the m_droppedVideoFrames initializer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>957701</commentid>
    <comment_count>14</comment_count>
      <attachid>218706</attachid>
    <who name="kov&apos;s GTK+ EWS bot">gtk-ews</who>
    <bug_when>2013-12-08 12:58:17 -0800</bug_when>
    <thetext>Comment on attachment 218706
Patch

Attachment 218706 did not pass gtk-ews (gtk):
Output: http://webkit-queues.appspot.com/results/47128078</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>957901</commentid>
    <comment_count>15</comment_count>
      <attachid>218765</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2013-12-09 08:18:41 -0800</bug_when>
    <thetext>Created attachment 218765
Patch

Add new files to cmakelists.txt</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>957914</commentid>
    <comment_count>16</comment_count>
      <attachid>218765</attachid>
    <who name="kov&apos;s GTK+ EWS bot">gtk-ews</who>
    <bug_when>2013-12-09 08:47:30 -0800</bug_when>
    <thetext>Comment on attachment 218765
Patch

Attachment 218765 did not pass gtk-ews (gtk):
Output: http://webkit-queues.appspot.com/results/45898143</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>957922</commentid>
    <comment_count>17</comment_count>
      <attachid>218768</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2013-12-09 08:57:53 -0800</bug_when>
    <thetext>Created attachment 218768
Patch

Add VideoPlaybackQuality.idl to GNUMakefile.list.am.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>957925</commentid>
    <comment_count>18</comment_count>
      <attachid>218768</attachid>
    <who name="kov&apos;s GTK+ EWS bot">gtk-ews</who>
    <bug_when>2013-12-09 09:09:05 -0800</bug_when>
    <thetext>Comment on attachment 218768
Patch

Attachment 218768 did not pass gtk-ews (gtk):
Output: http://webkit-queues.appspot.com/results/46278167</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>958054</commentid>
    <comment_count>19</comment_count>
      <attachid>218768</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2013-12-09 12:28:24 -0800</bug_when>
    <thetext>Comment on attachment 218768
Patch

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

&gt; Source/WebCore/ChangeLog:52
&gt; +        (WebCore::SourceBuffer::TrackBuffer::TrackBuffer): needsRandomAccessFlag defaulst to true.

Nit: &quot;defaulst&quot;.

&gt; LayoutTests/media/media-source/media-source-video-playback-quality.html:17
&gt; +    function runTest() {

Nit: a function&apos;s opening brace should be on a new line.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>958055</commentid>
    <comment_count>20</comment_count>
      <attachid>218768</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2013-12-09 12:32:26 -0800</bug_when>
    <thetext>Comment on attachment 218768
Patch

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

&gt; Source/WebCore/html/HTMLMediaElement.cpp:5252
&gt; +#if ENABLE(WEB_TIMING)
&gt; +    DOMWindow* domWindow = document().domWindow();
&gt; +    Performance* performance = domWindow ? domWindow-&gt;performance() : nullptr;
&gt; +    double now = performance ? performance-&gt;now() : 0;
&gt; +#else
&gt; +    double now = monotonicallyIncreasingTime();
&gt; +#endif

In an earlier review, Sam said:

I believe performance()-&gt;now() is implemented as:

1000.0 * document()-&gt;loader()-&gt;timing()-&gt;monotonicTimeToZeroBasedDocumentTime(monotonicallyIncreasingTime())

So you should probably match that in the non-WEB_TIMING enabled case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>958076</commentid>
    <comment_count>21</comment_count>
      <attachid>218797</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2013-12-09 13:54:59 -0800</bug_when>
    <thetext>Created attachment 218797
Patch

Addressed review comments, and yet another attempt to fix the GTK bot.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>958112</commentid>
    <comment_count>22</comment_count>
      <attachid>218797</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-12-09 15:33:56 -0800</bug_when>
    <thetext>Comment on attachment 218797
Patch

Clearing flags on attachment: 218797

Committed r160336: &lt;http://trac.webkit.org/changeset/160336&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>958113</commentid>
    <comment_count>23</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-12-09 15:34:01 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>958131</commentid>
    <comment_count>24</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2013-12-09 16:33:15 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 218653 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=218653&amp;action=review

Sam, sorry this got lost in the blizzard of build failure messages.

&gt; &gt; Source/WebCore/Modules/mediasource/VideoPlaybackQuality.idl:28
&gt; &gt; +    NoInterfaceObject,
&gt; 
&gt; Why no NoInterfaceObject?

I had thought this meant no window-level constructors, but that&apos;s not correct.  It means no object prototype, and therefore the object can&apos;t be extended by page authors.

I&apos;ll put up a follow-up patch to remove this.

&gt; &gt; Source/WebCore/Modules/mediasource/VideoPlaybackQuality.idl:31
&gt; &gt; +    readonly attribute double creationTime;
&gt; 
&gt; The spec says this should be a DOMHighResTimeStamp? Does the generator not support that?

The spec says a DOMHighResTimeStamp is a double.  Since that&apos;s what the Performance.idl file lists as the return value as &quot;now&quot;, that&apos;s what I used here.  And now that I look, there doesn&apos;t seem to be support in the generator for that type.

&gt; &gt; Source/WebCore/html/HTMLMediaElement.cpp:5250
&gt; &gt; +#if ENABLE(WEB_TIMING)
&gt; &gt; +    DOMWindow* domWindow = document().domWindow();
&gt; &gt; +    Performance* performance = domWindow ? domWindow-&gt;performance() : nullptr;
&gt; &gt; +    double now = performance ? performance-&gt;now() : 0;
&gt; &gt; +#else
&gt; &gt; +    double now = monotonicallyIncreasingTime();
&gt; &gt; +#endif
&gt; 
&gt; I believe performance()-&gt;now() is implemented as:
&gt; 
&gt; 1000.0 * document()-&gt;loader()-&gt;timing()-&gt;monotonicTimeToZeroBasedDocumentTime(monotonicallyIncreasingTime())
&gt; 
&gt; So you should probably match that in the non-WEB_TIMING enabled case.

Okay, I did this in the committed patch.  I&apos;ll post a follow up patch to address the NoInterfaceObject change above.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>958133</commentid>
    <comment_count>25</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2013-12-09 16:34:40 -0800</bug_when>
    <thetext>Re-opening.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>958136</commentid>
    <comment_count>26</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2013-12-09 16:38:40 -0800</bug_when>
    <thetext>Actually, I&apos;ll address the follow up patch in a new bug: http://webkit.org/b/125474.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>218653</attachid>
            <date>2013-12-06 23:01:44 -0800</date>
            <delta_ts>2013-12-07 22:58:54 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-125380-20131206230141.patch</filename>
            <type>text/plain</type>
            <size>47075</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYwMjYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzJiN2Q2MzI2M2E4NzAy
ZTg4MmJlMDE1NTZjNWFiZGFjNDNiYzA3YS4uNjg4YWUyYmJjZDlkYjE3YjY1YTM1MTVhY2NkZmQ0
OGY2ZmJkODRjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDk3IEBACisyMDEzLTEyLTA2ICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFtNU0VdIEFkZCBzdXBwb3J0
IGZvciBWaWRlb1BsYXliYWNrTWV0cmljcy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTEyNTM4MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFRlc3Q6IG1lZGlhL21lZGlhLXNvdXJjZS9tZWRpYS1zb3VyY2Ut
dmlkZW8tcGxheWJhY2stcXVhbGl0eS5odG1sCisKKyAgICAgICAgQWRkIGEgbmV3IG9iamVjdCB0
eXBlIFZpZGVvUGxheWJhY2tRdWFsaXR5IHRvIGJlIHJldHVybmVkIGJ5CisgICAgICAgIEhUTUxN
ZWRpYUVsZW1lbnQuZ2V0VmlkZW9QbGF5YmFja1F1YWxpdHkoKS4KKworICAgICAgICBIVE1MTWVk
aWFFbGVtZW50cyBtdXN0IHNlcGFyYXRlbHkgdHJhY2sgYSBkcm9wcGVkVmlkZW9GcmFtZSBjb3Vu
dCwgYXMKKyAgICAgICAgY2VydGFpbiBvcGVyYXRpb25zIG9uIFNvdXJjZUJ1ZmZlciB3aWxsIGRy
b3AgaW5jb21pbmcgZnJhbWVzLCB3aGljaCBtdXN0CisgICAgICAgIGJlIGFjY291bnRlZCBmb3Iu
IFJlc2V0IHRoaXMgY291bnQgd2hlbiB0aGUgbWVkaWEgZW5naW5lIGNoYW5nZXMsIHdoaWNoIGlz
CisgICAgICAgIGluZGljaXRpdmUgb2YgYSBuZXcgbWVkaWEgbG9hZCByZXF1c2V0IHN0YXJ0aW5n
LgorCisgICAgICAgIEFkZCB0aGUgbmV3IFZpZGVvUGxheWJhY2tRdWFsaXR5IGNsYXNzOgorICAg
ICAgICAqIE1vZHVsZXMvbWVkaWFzb3VyY2UvVmlkZW9QbGF5YmFja1F1YWxpdHkuY3BwOiBBZGRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6OlZpZGVvUGxheWJhY2tRdWFsaXR5OjpjcmVhdGUpOgorICAg
ICAgICAoV2ViQ29yZTo6VmlkZW9QbGF5YmFja1F1YWxpdHk6OlZpZGVvUGxheWJhY2tRdWFsaXR5
KToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc291cmNlL1ZpZGVvUGxheWJhY2tRdWFsaXR5Lmg6
IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6VmlkZW9QbGF5YmFja1F1YWxpdHk6OmNyZWF0aW9u
VGltZSk6CisgICAgICAgIChXZWJDb3JlOjpWaWRlb1BsYXliYWNrUXVhbGl0eTo6dG90YWxWaWRl
b0ZyYW1lcyk6CisgICAgICAgIChXZWJDb3JlOjpWaWRlb1BsYXliYWNrUXVhbGl0eTo6ZHJvcHBl
ZFZpZGVvRnJhbWVzKToKKyAgICAgICAgKFdlYkNvcmU6OlZpZGVvUGxheWJhY2tRdWFsaXR5Ojpj
b3JydXB0ZWRWaWRlb0ZyYW1lcyk6CisgICAgICAgIChXZWJDb3JlOjpWaWRlb1BsYXliYWNrUXVh
bGl0eTo6dG90YWxGcmFtZURlbGF5KToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc291cmNlL1Zp
ZGVvUGxheWJhY2tRdWFsaXR5LmlkbDogQWRkZWQuCisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9y
IHRoZSBuZXcgY2xhc3MgdG8gSFRNTE1lZGlhRWxlbWVudDoKKyAgICAgICAgKiBodG1sL0hUTUxN
ZWRpYUVsZW1lbnQuY3BwOgorICAgICAgICAoSFRNTE1lZGlhRWxlbWVudDo6c2hvdWxkVXNlVmlk
ZW9QbHVnaW5Qcm94eSk6CisgICAgICAgIChIVE1MTWVkaWFFbGVtZW50OjpnZXRWaWRlb1BsYXli
YWNrUXVhbGl0eSk6CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50Lmg6CisgICAgICAg
ICogaHRtbC9IVE1MTWVkaWFFbGVtZW50LmlkbDoKKworICAgICAgICBSZXBvcnQgdGhlIHZpZGVv
IHF1YWxpdHkgbWV0cmljcyBmcm9tIHRoZSBNZWRpYVBsYXllcjoKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXll
cjo6dG90YWxWaWRlb0ZyYW1lcyk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllcjo6ZHJv
cHBlZFZpZGVvRnJhbWVzKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyOjpjb3JydXB0
ZWRWaWRlb0ZyYW1lcyk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllcjo6dG90YWxGcmFt
ZURlbGF5KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNlOjp0b3RhbFZpZGVvRnJhbWVzKToK
KyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZTo6ZHJvcHBlZFZp
ZGVvRnJhbWVzKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFj
ZTo6Y29ycnVwdGVkVmlkZW9GcmFtZXMpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQ
cml2YXRlSW50ZXJmYWNlOjp0b3RhbEZyYW1lRGVsYXkpOgorCisgICAgICAgIENvcnJlY3RseSBy
ZXBvcnQgdGhlIGRyb3BwZWQgZnJhbWUgY291bnQ6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXNv
dXJjZS9Tb3VyY2VCdWZmZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U291cmNlQnVmZmVyOjpU
cmFja0J1ZmZlcjo6VHJhY2tCdWZmZXIpOiBuZWVkc1JhbmRvbUFjY2Vzc0ZsYWcgZGVmYXVsc3Qg
dG8gdHJ1ZS4KKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlcjo6c291cmNlQnVmZmVyUHJp
dmF0ZURpZFJlY2VpdmVTYW1wbGUpOiBDaGVjayB0aGUgc3luYyBzdGF0dXMgb2YgdGhlIGluY29t
aW5nIHNhbXBsZS4KKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlcjo6ZGlkRHJvcFNhbXBs
ZSk6IE5vdGlmeSB0aGUgbWVkaWEgZWxlbWVudCBvZiBhIGRyb3BwZWQgZnJhbWUuCisgICAgICAg
ICogTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuaDoKKyAgICAgICAgKiBodG1sL0hU
TUxNZWRpYUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6
SFRNTE1lZGlhRWxlbWVudCk6CisgICAgICAgIChIVE1MTWVkaWFFbGVtZW50OjptZWRpYVBsYXll
ckVuZ2luZVVwZGF0ZWQpOiBSZXNldCBtX2Ryb3BwZWRGcmFtZUNvdW50LgorICAgICAgICAoSFRN
TE1lZGlhRWxlbWVudDo6Z2V0VmlkZW9QbGF5YmFja1F1YWxpdHkpOiBSZXR1cm4gYSBuZXcgVmlk
ZW9QbGF5YmFja1F1YWxpdHkgb2JqZWN0LgorICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVu
dC5oOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6aW5jcmVtZW50RHJvcHBl
ZEZyYW1lQ291bnQpOiBTaW1wbGUgaW5jcmVtZW50ZXIuCisgICAgICAgICogcGxhdGZvcm0vTWVk
aWFTYW1wbGUuaDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU2FtcGxlOjppc1N5bmMpOiBDb252
ZW5pZW5jZSBmdW5jdGlvbi4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU2FtcGxlOjppc05vbkRp
c3BsYXlpbmcpOiBEaXR0by4KKworICAgICAgICBBZGQgc3VwcG9ydCBpbiB0aGUgQVZGb3VuZGF0
aW9uIE1lZGlhU291cmNlIEVuZ2luZToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZv
dW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMuaDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclBy
aXZhdGVNZWRpYVNvdXJjZUFWRk9iakMubW06CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXll
clByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OnRvdGFsVmlkZW9GcmFtZXMpOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpkcm9wcGVkVmlk
ZW9GcmFtZXMpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3Vy
Y2VBVkZPYmpDOjpjb3JydXB0ZWRWaWRlb0ZyYW1lcyk6CisgICAgICAgIChXZWJDb3JlOjpNZWRp
YVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OnRvdGFsRnJhbWVEZWxheSk6CisKKyAg
ICAgICAgQWRkIHN1cHBvcnQgaW4gdGhlIE1vY2sgTWVkaWFTb3VyY2UgRW5naW5lOgorICAgICAg
ICAqIHBsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja0JveC5oOgorICAgICAgICAqIHBsYXRm
b3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2UuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6TW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2U6OnRvdGFsVmlkZW9GcmFt
ZXMpOiBTaW1wbGUgYWNjZXNzb3IuCisgICAgICAgIChXZWJDb3JlOjpNb2NrTWVkaWFQbGF5ZXJN
ZWRpYVNvdXJjZTo6ZHJvcHBlZFZpZGVvRnJhbWVzKTogRGl0dG8uCisgICAgICAgIChXZWJDb3Jl
OjpNb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZTo6Y29ycnVwdGVkVmlkZW9GcmFtZXMpOiBEaXR0
by4KKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tNZWRpYVBsYXllck1lZGlhU291cmNlOjp0b3RhbEZy
YW1lRGVsYXkpOiBEaXR0by4KKyAgICAgICAgKiBwbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01v
Y2tNZWRpYVBsYXllck1lZGlhU291cmNlLmg6CisgICAgICAgICogcGxhdGZvcm0vbW9jay9tZWRp
YXNvdXJjZS9Nb2NrTWVkaWFTb3VyY2VQcml2YXRlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1v
Y2tNZWRpYVNvdXJjZVByaXZhdGU6Ok1vY2tNZWRpYVNvdXJjZVByaXZhdGUpOgorICAgICAgICAq
IHBsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja01lZGlhU291cmNlUHJpdmF0ZS5oOgorICAg
ICAgICAqIHBsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja1NvdXJjZUJ1ZmZlclByaXZhdGUu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6TW9ja1NvdXJjZUJ1ZmZlclByaXZhdGU6OmVucXVldWVT
YW1wbGUpOiBJbmNyZW1lbnQgdGhlIGZyYW1lIGNvdW50cyBiYXNlZCBvbgorICAgICAgICAgICAg
dGhlIGluY29taW5nIHNhbXBsZS4KKyAgICAgICAgKiBwbGF0Zm9ybS9tb2NrL21lZGlhc291cmNl
L01vY2tTb3VyY2VCdWZmZXJQcml2YXRlLmg6CisKKyAgICAgICAgQWRkIHRoZSBuZXcgZmlsZXMg
dG8gdGhlIHByb2plY3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAg
KiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogR05VTWFrZWZp
bGUubGlzdC5hbToKKwogMjAxMy0xMi0wNSAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNv
bT4KIAogICAgICAgICBbTVNFXSBCcmluZyBlbmQtb2Ytc3RyZWFtIGFsZ29yaXRobSBzZWN0aW9u
IHVwIHRvIGN1cnJlbnQgc3BlYy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IDUy
NWFkOTBkZTM3YThiMzMxMjI0YTc2ODNjNWZkMzJlYTk5NmE2ZGQuLjQ5ZmNlMGY5NWUwMzgwMzQ5
MTkxYWRkOWMwZGE0Njk4OTEzZDRlYzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2
ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpA
QCAtMTAzLDYgKzEwMyw3IEBAIEJJTkRJTkdfSURMUyA9IFwKICAgICAkKFdlYkNvcmUpL01vZHVs
ZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyTGlzdC5pZGwgXAogCSQoV2ViQ29yZSkvTW9kdWxl
cy9tZWRpYXNvdXJjZS9UZXh0VHJhY2tNZWRpYVNvdXJjZS5pZGwgXAogCSQoV2ViQ29yZSkvTW9k
dWxlcy9tZWRpYXNvdXJjZS9WaWRlb1RyYWNrTWVkaWFTb3VyY2UuaWRsIFwKKwkkKFdlYkNvcmUp
L01vZHVsZXMvbWVkaWFzb3VyY2UvVmlkZW9QbGF5YmFja1F1YWxpdHkuaWRsIFwKIAkkKFdlYkNv
cmUpL01vZHVsZXMvbWVkaWFzdHJlYW0vQWxsVmlkZW9DYXBhYmlsaXRpZXMuaWRsIFwKIAkkKFdl
YkNvcmUpL01vZHVsZXMvbWVkaWFzdHJlYW0vQWxsQXVkaW9DYXBhYmlsaXRpZXMuaWRsIFwKIAkk
KFdlYkNvcmUpL01vZHVsZXMvbWVkaWFzdHJlYW0vQXVkaW9TdHJlYW1UcmFjay5pZGwgXApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJD
b3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggNmI0NWI5MzU2ZjJkOWRmZDllZGVkZjc4OGU3
YjEzMjdmOGM1Yjk4YS4uNmNkODAyODhhZDJiOTMyNTgzZmNhOTkwNWUyMWJkZjI2MjgwOGEwZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC03MzUsNiArNzM1LDggQEAgd2ViY29y
ZV9idWlsdF9zb3VyY2VzICs9IFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTVmFsaWRpdHlT
dGF0ZS5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTVm9pZENhbGxiYWNrLmNwcCBcCiAJ
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1ZvaWRDYWxsYmFjay5oIFwKKwlEZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTVmlkZW9QbGF5YmFja1F1YWxpdHkuaCBcCisJRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU1ZpZGVvUGxheWJhY2tRdWFsaXR5LmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU1ZpZGVvU3RyZWFtVHJhY2suaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1ZpZGVv
U3RyZWFtVHJhY2suY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTVmlkZW9UcmFjay5j
cHAgXApAQCAtMTg4NCw2ICsxODg2LDggQEAgd2ViY29yZV9tb2R1bGVzX3NvdXJjZXMgKz0gXAog
CVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvRE9NVVJMTWVkaWFTb3VyY2UuaCBc
CiAJU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9TYW1wbGVNYXAuY3BwIFwKIAlT
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NhbXBsZU1hcC5oIFwKKwlTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1ZpZGVvUGxheWJhY2tRdWFsaXR5LmNwcCBcCisJ
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9WaWRlb1BsYXliYWNrUXVhbGl0eS5o
IFwKIAlTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL0FsbEF1ZGlvQ2FwYWJpbGl0
aWVzLmggXAogCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vQWxsVmlkZW9DYXBh
YmlsaXRpZXMuaCBcCiAJU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9BdWRpb1N0
cmVhbVRyYWNrLmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c291cmNlL1NvdXJjZUJ1ZmZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291
cmNlL1NvdXJjZUJ1ZmZlci5jcHAKaW5kZXggMGNkZWRmZmU2YjFiMjlhZTYxYjQ4Mjg3ZmE3YTc3
YTNlMjBhYjIxOS4uMmIzODFlZWVmMzMyYWM1ZjJiMDMwMWVhNWVlZGNiNTEzNDgzMDhhYSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVy
LmNwcApAQCAtNjksNyArNjksNyBAQCBzdHJ1Y3QgU291cmNlQnVmZmVyOjpUcmFja0J1ZmZlciB7
CiAgICAgICAgICwgbGFzdEZyYW1lRHVyYXRpb24oTWVkaWFUaW1lOjppbnZhbGlkVGltZSgpKQog
ICAgICAgICAsIGhpZ2hlc3RQcmVzZW50YXRpb25UaW1lc3RhbXAoTWVkaWFUaW1lOjppbnZhbGlk
VGltZSgpKQogICAgICAgICAsIGxhc3RFbnF1ZXVlZFByZXNlbnRhdGlvblRpbWUoTWVkaWFUaW1l
OjppbnZhbGlkVGltZSgpKQotICAgICAgICAsIG5lZWRSYW5kb21BY2Nlc3NGbGFnKGZhbHNlKQor
ICAgICAgICAsIG5lZWRSYW5kb21BY2Nlc3NGbGFnKHRydWUpCiAgICAgICAgICwgZW5hYmxlZChm
YWxzZSkKICAgICB7CiAgICAgfQpAQCAtODYwLDEwICs4NjAsMTcgQEAgdm9pZCBTb3VyY2VCdWZm
ZXI6OnNvdXJjZUJ1ZmZlclByaXZhdGVEaWRSZWNlaXZlU2FtcGxlKFNvdXJjZUJ1ZmZlclByaXZh
dGUqLCBQYXMKICAgICAgICAgLy8gRklYTUU6IGltcGxlbWVudCBhcHBlbmQgd2luZG93cwogCiAg
ICAgICAgIC8vIDEuMTEgSWYgdGhlIG5lZWQgcmFuZG9tIGFjY2VzcyBwb2ludCBmbGFnIG9uIHRy
YWNrIGJ1ZmZlciBlcXVhbHMgdHJ1ZSwgdGhlbiBydW4gdGhlIGZvbGxvd2luZyBzdGVwczoKLSAg
ICAgICAgLy8gMS4xMS4xIElmIHRoZSBjb2RlZCBmcmFtZSBpcyBub3QgYSByYW5kb20gYWNjZXNz
IHBvaW50LCB0aGVuIGRyb3AgdGhlIGNvZGVkIGZyYW1lIGFuZCBqdW1wCi0gICAgICAgIC8vIHRv
IHRoZSB0b3Agb2YgdGhlIGxvb3AgdG8gc3RhcnQgcHJvY2Vzc2luZyB0aGUgbmV4dCBjb2RlZCBm
cmFtZS4KLSAgICAgICAgLy8gMS4xMS4yIFNldCB0aGUgbmVlZCByYW5kb20gYWNjZXNzIHBvaW50
IGZsYWcgb24gdHJhY2sgYnVmZmVyIHRvIGZhbHNlLgotICAgICAgICAvLyBOT1RFOiBNb2NrU2Ft
cGxlQm94ZXMgYXJlIG5vdCBkZWNvZGFibGUuCisgICAgICAgIGlmICh0cmFja0J1ZmZlci5uZWVk
UmFuZG9tQWNjZXNzRmxhZykgeworICAgICAgICAgICAgLy8gMS4xMS4xIElmIHRoZSBjb2RlZCBm
cmFtZSBpcyBub3QgYSByYW5kb20gYWNjZXNzIHBvaW50LCB0aGVuIGRyb3AgdGhlIGNvZGVkIGZy
YW1lIGFuZCBqdW1wCisgICAgICAgICAgICAvLyB0byB0aGUgdG9wIG9mIHRoZSBsb29wIHRvIHN0
YXJ0IHByb2Nlc3NpbmcgdGhlIG5leHQgY29kZWQgZnJhbWUuCisgICAgICAgICAgICBpZiAoIXNh
bXBsZS0+aXNTeW5jKCkpIHsKKyAgICAgICAgICAgICAgICBkaWREcm9wU2FtcGxlKCk7CisgICAg
ICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICAvLyAxLjEx
LjIgU2V0IHRoZSBuZWVkIHJhbmRvbSBhY2Nlc3MgcG9pbnQgZmxhZyBvbiB0cmFjayBidWZmZXIg
dG8gZmFsc2UuCisgICAgICAgICAgICB0cmFja0J1ZmZlci5uZWVkUmFuZG9tQWNjZXNzRmxhZyA9
IGZhbHNlOworICAgICAgICB9CiAKICAgICAgICAgLy8gMS4xMiBMZXQgc3BsaWNlZCBhdWRpbyBm
cmFtZSBiZSBhbiB1bnNldCB2YXJpYWJsZSBmb3IgaG9sZGluZyBhdWRpbyBzcGxpY2UgaW5mb3Jt
YXRpb24KICAgICAgICAgLy8gMS4xMyBMZXQgc3BsaWNlZCB0aW1lZCB0ZXh0IGZyYW1lIGJlIGFu
IHVuc2V0IHZhcmlhYmxlIGZvciBob2xkaW5nIHRpbWVkIHRleHQgc3BsaWNlIGluZm9ybWF0aW9u
CkBAIC0xMTQwLDYgKzExNDcsMTIgQEAgdm9pZCBTb3VyY2VCdWZmZXI6OnByb3ZpZGVNZWRpYURh
dGEoKQogICAgIExPRyhNZWRpYSwgIlNvdXJjZUJ1ZmZlcjo6cHJvdmlkZU1lZGlhRGF0YSglcCkg
LSBFbnF1ZXVlZCAldSBzYW1wbGVzIiwgdGhpcywgZW5xdWV1ZWRTYW1wbGVzKTsKIH0KIAordm9p
ZCBTb3VyY2VCdWZmZXI6OmRpZERyb3BTYW1wbGUoKQoreworICAgIGlmICghaXNSZW1vdmVkKCkp
CisgICAgICAgIG1fc291cmNlLT5tZWRpYUVsZW1lbnQoKS0+aW5jcmVtZW50RHJvcHBlZEZyYW1l
Q291bnQoKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmggYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5oCmluZGV4IDc1
NjNhMzRmMTc1MTI1MjMyZjBiYzdhZDAxM2RjZjU4ZGU5MGQwNjIuLmQyMmNkYTFhZGQyMzc5MGY5
MTAzNzJjOTc1YmMyZTBjN2M1YzE3OGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuaApAQCAtMTQxLDYgKzE0MSw3IEBAIHByaXZhdGU6
CiAgICAgYm9vbCB2YWxpZGF0ZUluaXRpYWxpemF0aW9uU2VnbWVudChjb25zdCBJbml0aWFsaXph
dGlvblNlZ21lbnQmKTsKIAogICAgIHZvaWQgcHJvdmlkZU1lZGlhRGF0YSgpOworICAgIHZvaWQg
ZGlkRHJvcFNhbXBsZSgpOwogCiAgICAgUmVmUHRyPFNvdXJjZUJ1ZmZlclByaXZhdGU+IG1fcHJp
dmF0ZTsKICAgICBNZWRpYVNvdXJjZSogbV9zb3VyY2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1ZpZGVvUGxheWJhY2tRdWFsaXR5LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvVmlkZW9QbGF5YmFja1F1YWxpdHkuY3BwCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmY3YTVjZjgzY2YyMGVjODc5ZmI4NDg5NDU5MThiYWI2OWY0ZTZmYWEKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1ZpZGVvUGxh
eWJhY2tRdWFsaXR5LmNwcApAQCAtMCwwICsxLDQ1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUg
ImNvbmZpZy5oIgorI2luY2x1ZGUgIlZpZGVvUGxheWJhY2tRdWFsaXR5LmgiCisKK25hbWVzcGFj
ZSBXZWJDb3JlIHsKKworUmVmUHRyPFZpZGVvUGxheWJhY2tRdWFsaXR5PiBWaWRlb1BsYXliYWNr
UXVhbGl0eTo6Y3JlYXRlKGRvdWJsZSBjcmVhdGlvblRpbWUsIHVuc2lnbmVkIGxvbmcgdG90YWxW
aWRlb0ZyYW1lcywgdW5zaWduZWQgbG9uZyBkcm9wcGVkVmlkZW9GcmFtZXMsIHVuc2lnbmVkIGxv
bmcgY29ycnVwdGVkVmlkZW9GcmFtZXMsIGRvdWJsZSB0b3RhbEZyYW1lRGVsYXkpCit7CisgICAg
cmV0dXJuIGFkb3B0UmVmKG5ldyBWaWRlb1BsYXliYWNrUXVhbGl0eShjcmVhdGlvblRpbWUsIHRv
dGFsVmlkZW9GcmFtZXMsIGRyb3BwZWRWaWRlb0ZyYW1lcywgY29ycnVwdGVkVmlkZW9GcmFtZXMs
IHRvdGFsRnJhbWVEZWxheSkpOworfQorCitWaWRlb1BsYXliYWNrUXVhbGl0eTo6VmlkZW9QbGF5
YmFja1F1YWxpdHkoZG91YmxlIGNyZWF0aW9uVGltZSwgdW5zaWduZWQgbG9uZyB0b3RhbFZpZGVv
RnJhbWVzLCB1bnNpZ25lZCBsb25nIGRyb3BwZWRWaWRlb0ZyYW1lcywgdW5zaWduZWQgbG9uZyBj
b3JydXB0ZWRWaWRlb0ZyYW1lcywgZG91YmxlIHRvdGFsRnJhbWVEZWxheSkKKyAgICA6IG1fY3Jl
YXRpb25UaW1lKGNyZWF0aW9uVGltZSkKKyAgICAsIG1fdG90YWxWaWRlb0ZyYW1lcyh0b3RhbFZp
ZGVvRnJhbWVzKQorICAgICwgbV9kcm9wcGVkVmlkZW9GcmFtZXMoZHJvcHBlZFZpZGVvRnJhbWVz
KQorICAgICwgbV9jb3JydXB0ZWRWaWRlb0ZyYW1lcyhjb3JydXB0ZWRWaWRlb0ZyYW1lcykKKyAg
ICAsIG1fdG90YWxGcmFtZURlbGF5KHRvdGFsRnJhbWVEZWxheSkKK3sKK30KKworfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9WaWRlb1BsYXliYWNrUXVh
bGl0eS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9WaWRlb1BsYXliYWNr
UXVhbGl0eS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjViODkzNzdiN2M1MDY2MzUzYzI2N2I5Y2FiMjY2MDRmNDBi
MDI4MDcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291
cmNlL1ZpZGVvUGxheWJhY2tRdWFsaXR5LmgKQEAgLTAsMCArMSw1NyBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpZm5kZWYgVmlkZW9QbGF5YmFja1F1YWxpdHlfaAorI2RlZmluZSBWaWRlb1BsYXliYWNrUXVh
bGl0eV9oCisKKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorI2luY2x1ZGUgPHd0Zi9SZWZQ
dHIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBWaWRlb1BsYXliYWNrUXVhbGl0
eSA6IHB1YmxpYyBSZWZDb3VudGVkPFZpZGVvUGxheWJhY2tRdWFsaXR5PiB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoVmlkZW9QbGF5YmFja1F1YWxpdHkpCitwdWJsaWM6CisgICAgc3RhdGlj
IFJlZlB0cjxWaWRlb1BsYXliYWNrUXVhbGl0eT4gY3JlYXRlKGRvdWJsZSBjcmVhdGlvblRpbWUs
IHVuc2lnbmVkIGxvbmcgdG90YWxWaWRlb0ZyYW1lcywgdW5zaWduZWQgbG9uZyBkcm9wcGVkVmlk
ZW9GcmFtZXMsIHVuc2lnbmVkIGxvbmcgY29ycnVwdGVkVmlkZW9GcmFtZXMsIGRvdWJsZSB0b3Rh
bEZyYW1lRGVsYXkpOworCisgICAgZG91YmxlIGNyZWF0aW9uVGltZSgpIGNvbnN0IHsgcmV0dXJu
IG1fY3JlYXRpb25UaW1lOyB9CisgICAgdW5zaWduZWQgbG9uZyB0b3RhbFZpZGVvRnJhbWVzKCkg
Y29uc3QgeyByZXR1cm4gbV90b3RhbFZpZGVvRnJhbWVzOyB9CisgICAgdW5zaWduZWQgbG9uZyBk
cm9wcGVkVmlkZW9GcmFtZXMoKSBjb25zdCB7IHJldHVybiBtX2Ryb3BwZWRWaWRlb0ZyYW1lczsg
fQorICAgIHVuc2lnbmVkIGxvbmcgY29ycnVwdGVkVmlkZW9GcmFtZXMoKSBjb25zdCB7IHJldHVy
biBtX2NvcnJ1cHRlZFZpZGVvRnJhbWVzOyB9CisgICAgZG91YmxlIHRvdGFsRnJhbWVEZWxheSgp
IGNvbnN0IHsgcmV0dXJuIG1fdG90YWxGcmFtZURlbGF5OyB9CisKK3Byb3RlY3RlZDoKKyAgICBW
aWRlb1BsYXliYWNrUXVhbGl0eShkb3VibGUgY3JlYXRpb25UaW1lLCB1bnNpZ25lZCBsb25nIHRv
dGFsVmlkZW9GcmFtZXMsIHVuc2lnbmVkIGxvbmcgZHJvcHBlZFZpZGVvRnJhbWVzLCB1bnNpZ25l
ZCBsb25nIGNvcnJ1cHRlZFZpZGVvRnJhbWVzLCBkb3VibGUgdG90YWxGcmFtZURlbGF5KTsKKwor
ICAgIGRvdWJsZSBtX2NyZWF0aW9uVGltZTsKKyAgICB1bnNpZ25lZCBsb25nIG1fdG90YWxWaWRl
b0ZyYW1lczsKKyAgICB1bnNpZ25lZCBsb25nIG1fZHJvcHBlZFZpZGVvRnJhbWVzOworICAgIHVu
c2lnbmVkIGxvbmcgbV9jb3JydXB0ZWRWaWRlb0ZyYW1lczsKKyAgICBkb3VibGUgbV90b3RhbEZy
YW1lRGVsYXk7Cit9OworCit9CisKKyNlbmRpZiAvLyBWaWRlb1BsYXliYWNrUXVhbGl0eV9oCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1ZpZGVvUGxheWJh
Y2tRdWFsaXR5LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvVmlkZW9Q
bGF5YmFja1F1YWxpdHkuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY1YzYxOTMwMTc2MGEzODMxZTVlZmJhZjZj
NmZlMDUzMjM1NzVkMDYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc291cmNlL1ZpZGVvUGxheWJhY2tRdWFsaXR5LmlkbApAQCAtMCwwICsxLDM5IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworWworICAgIENvbmRpdGlvbmFsPU1FRElBX1NPVVJDRSwKKyAgICBOb0ludGVy
ZmFjZU9iamVjdCwKKyAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAorXSBpbnRlcmZhY2Ug
VmlkZW9QbGF5YmFja1F1YWxpdHkgeworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBkb3VibGUgY3Jl
YXRpb25UaW1lOworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHRvdGFsVmlk
ZW9GcmFtZXM7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgZHJvcHBlZFZp
ZGVvRnJhbWVzOworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGNvcnJ1cHRl
ZFZpZGVvRnJhbWVzOworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBkb3VibGUgdG90YWxGcmFtZURl
bGF5OworfTsKKworCisKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagppbmRleCAyNjkxNGQ1MWU1NWMxMzIxZmM0NTY1NzM1ZGUzNDU1NmU1YTVl
ZjUyLi41YTM4YmQ4NTFjNzZkZDM0OTcxMWRkOTBkNDY0Mzc1MzFkZjI2MTc0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC01NDE4
LDYgKzU0MTgsOSBAQAogCQlDREUzQTg1ODE3RjYwMjA0MDBDNUJFMjAgLyogQXVkaW9UcmFja1By
aXZhdGVBVkZPYmpDLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBDREUzQTg1NjE3RjYwMjA0MDBDNUJFMjAgLyogQXVkaW9UcmFja1ByaXZhdGVBVkZPYmpD
LmggKi87IH07CiAJCUNERTdGQzQ0MTgxOTA0QjEwMDJCQkI3NyAvKiBPcmRlckl0ZXJhdG9yLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENERTdGQzQy
MTgxOTA0QjEwMDJCQkI3NyAvKiBPcmRlckl0ZXJhdG9yLmNwcCAqLzsgfTsKIAkJQ0RFN0ZDNDUx
ODE5MDRCMTAwMkJCQjc3IC8qIE9yZGVySXRlcmF0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENERTdGQzQzMTgxOTA0QjEwMDJCQkI3NyAvKiBPcmRl
ckl0ZXJhdG9yLmggKi87IH07CisJCUNERTgzREIxMTgzQzQ0MDYwMDMxRUFBMyAvKiBWaWRlb1Bs
YXliYWNrUXVhbGl0eS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBDREU4M0RBRjE4M0M0NDA2MDAzMUVBQTMgLyogVmlkZW9QbGF5YmFja1F1YWxpdHku
Y3BwICovOyB9OworCQlDREU4M0RCMjE4M0M0NDA2MDAzMUVBQTMgLyogVmlkZW9QbGF5YmFja1F1
YWxpdHkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENE
RTgzREIwMTgzQzQ0MDYwMDMxRUFBMyAvKiBWaWRlb1BsYXliYWNrUXVhbGl0eS5oICovOyB9Owor
CQlDREU4M0RCNjE4M0QzNTJBMDAzMUVBQTMgLyogSlNWaWRlb1BsYXliYWNrUXVhbGl0eS5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDREU4M0RCNDE4
M0QzNTJBMDAzMUVBQTMgLyogSlNWaWRlb1BsYXliYWNrUXVhbGl0eS5jcHAgKi87IH07CiAJCUNE
RUE3NjMwMTQ2MDhBNTMwMDhCMzFGMSAvKiBQbGF0Zm9ybUNsb2NrQ0EuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RFQTc2MkUxNDYwODRERTAwOEIz
MUYxIC8qIFBsYXRmb3JtQ2xvY2tDQS5jcHAgKi87IH07CiAJCUNERUE3NjM0MTQ2MEI1NkYwMDhC
MzFGMSAvKiBDbG9ja0dlbmVyaWMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQ0RFQTc2MzIxNDYwQUUyOTAwOEIzMUYxIC8qIENsb2NrR2VuZXJpYy5j
cHAgKi87IH07CiAJCUNERUE3NjM1MTQ2MEI3MUEwMDhCMzFGMSAvKiBDbG9jay5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDREVBNzYzMzE0NjBCNDYy
MDA4QjMxRjEgLyogQ2xvY2suY3BwICovOyB9OwpAQCAtMTI1NDMsNiArMTI1NDYsMTEgQEAKIAkJ
Q0RFNjU2MEUxN0NBNkU3NjAwNTI2QkE3IC8qIG1lZGlhQ29udHJvbHNBcHBsZS5qcyAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuamF2
YXNjcmlwdDsgcGF0aCA9IG1lZGlhQ29udHJvbHNBcHBsZS5qczsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJQ0RFN0ZDNDIxODE5MDRCMTAwMkJCQjc3IC8qIE9yZGVySXRlcmF0b3IuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gT3JkZXJJdGVyYXRvci5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNERTdGQzQzMTgxOTA0QjEwMDJCQkI3NyAv
KiBPcmRlckl0ZXJhdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE9yZGVy
SXRlcmF0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0RFODNEQUYxODNDNDQw
NjAwMzFFQUEzIC8qIFZpZGVvUGxheWJhY2tRdWFsaXR5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFZpZGVvUGxheWJhY2tRdWFsaXR5LmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJQ0RFODNEQjAxODNDNDQwNjAwMzFFQUEzIC8qIFZpZGVvUGxheWJh
Y2tRdWFsaXR5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFZpZGVvUGxheWJh
Y2tRdWFsaXR5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNERTgzREIzMTgzQzQ0
MUUwMDMxRUFBMyAvKiBWaWRlb1BsYXliYWNrUXVhbGl0eS5pZGwgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gVmlkZW9QbGF5YmFj
a1F1YWxpdHkuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDREU4M0RCNDE4M0Qz
NTJBMDAzMUVBQTMgLyogSlNWaWRlb1BsYXliYWNrUXVhbGl0eS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1ZpZGVvUGxheWJhY2tRdWFsaXR5LmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0RFODNEQjUxODNEMzUyQTAwMzFFQUEzIC8qIEpTVmlk
ZW9QbGF5YmFja1F1YWxpdHkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNW
aWRlb1BsYXliYWNrUXVhbGl0eS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDREVB
NzYyQzE0NjA4MjI0MDA4QjMxRjEgLyogQ2xvY2suaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gQ2xvY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0RFQTc2MkUx
NDYwODRERTAwOEIzMUYxIC8qIFBsYXRmb3JtQ2xvY2tDQS5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBQbGF0Zm9ybUNsb2NrQ0EuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlDREVBNzYyRjE0NjA4NEVFMDA4QjMxRjEgLyogUGxhdGZvcm1DbG9ja0NB
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBsYXRmb3JtQ2xvY2tDQS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTc3NjksNiArMTc3NzcsOCBAQAogCQkJCUJF
OEVGMDQ4MTcxQzkwMTQwMDlCNDhDMyAvKiBKU1ZpZGVvVHJhY2tMaXN0LmNwcCAqLywKIAkJCQlC
RThFRjA0OTE3MUM5MDE0MDA5QjQ4QzMgLyogSlNWaWRlb1RyYWNrTGlzdC5oICovLAogCQkJCTk3
RTlFQzhCMTVEQzQ5MkYwMDRGMkU3MSAvKiBKU1ZvaWRDYWxsYmFjay5jcHAgKi8sCisJCQkJQ0RF
ODNEQjQxODNEMzUyQTAwMzFFQUEzIC8qIEpTVmlkZW9QbGF5YmFja1F1YWxpdHkuY3BwICovLAor
CQkJCUNERTgzREI1MTgzRDM1MkEwMDMxRUFBMyAvKiBKU1ZpZGVvUGxheWJhY2tRdWFsaXR5Lmgg
Ki8sCiAJCQkJOTdFOUVDOEMxNURDNDkyRjAwNEYyRTcxIC8qIEpTVm9pZENhbGxiYWNrLmggKi8s
CiAJCQkJQTdEMjBGNjAxMDdGNDA2OTAwQTgwMzkyIC8qIEpTV2ViR0xBY3RpdmVJbmZvLmNwcCAq
LywKIAkJCQlBN0QyMEY2MTEwN0Y0MDY5MDBBODAzOTIgLyogSlNXZWJHTEFjdGl2ZUluZm8uaCAq
LywKQEAgLTE4NTc0LDYgKzE4NTg0LDkgQEAKIAkJCQlDRDNBNDk1RDE3QTlEMDFCMDAyNzRFNDIg
LyogU291cmNlQnVmZmVyTGlzdC5pZGwgKi8sCiAJCQkJQ0Q4QjVBNDgxODBFMTM4QjAwOEI4RTY1
IC8qIFRleHRUcmFja01lZGlhU291cmNlLmggKi8sCiAJCQkJQ0Q4QjVBNDcxODBFMTM2MTAwOEI4
RTY1IC8qIFRleHRUcmFja01lZGlhU291cmNlLmlkbCAqLywKKwkJCQlDREU4M0RBRjE4M0M0NDA2
MDAzMUVBQTMgLyogVmlkZW9QbGF5YmFja1F1YWxpdHkuY3BwICovLAorCQkJCUNERTgzREIwMTgz
QzQ0MDYwMDMxRUFBMyAvKiBWaWRlb1BsYXliYWNrUXVhbGl0eS5oICovLAorCQkJCUNERTgzREIz
MTgzQzQ0MUUwMDMxRUFBMyAvKiBWaWRlb1BsYXliYWNrUXVhbGl0eS5pZGwgKi8sCiAJCQkJQ0Q4
QjVBNDUxODBERkY0RTAwOEI4RTY1IC8qIFZpZGVvVHJhY2tNZWRpYVNvdXJjZS5oICovLAogCQkJ
CUNEOEI1QTQ0MTgwREQ4RDYwMDhCOEU2NSAvKiBWaWRlb1RyYWNrTWVkaWFTb3VyY2UuaWRsICov
LAogCQkJCUNERDcwODk0MTgzNTlGNkUwMDJCM0RDNiAvKiBTYW1wbGVNYXAuY3BwICovLApAQCAt
MjM5MDcsNiArMjM5MjAsNyBAQAogCQkJCUIyRkEzREZEMEFCNzVBNkYwMDBFNUFDNCAvKiBKU1NW
R1NWR0VsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyRkEzREZGMEFCNzVBNkYwMDBFNUFD
NCAvKiBKU1NWR1N3aXRjaEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyRkEzRTAxMEFC
NzVBNkYwMDBFNUFDNCAvKiBKU1NWR1N5bWJvbEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAorCQkJ
CUNERTgzREIyMTgzQzQ0MDYwMDMxRUFBMyAvKiBWaWRlb1BsYXliYWNrUXVhbGl0eS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQjJGQTNFMDMwQUI3NUE2RjAwMEU1QUM0IC8qIEpTU1ZHVGV4dENvbnRl
bnRFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlCMkZBM0UwNTBBQjc1QTZGMDAwRTVBQzQg
LyogSlNTVkdUZXh0RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjIyMzYyMjkwQzNBRjA0
QTAwMDhDQTlCIC8qIEpTU1ZHVGV4dFBhdGhFbGVtZW50LmggaW4gSGVhZGVycyAqLywKQEAgLTI2
NDMyLDYgKzI2NDQ2LDcgQEAKIAkJCQk0RkIzOTBBRDE1RUY2MUYzMDA3QUQ1MUYgLyogR2VuZXJh
dGVkSW1hZ2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkQ0ODFGMDMxNDZCNUM2NTAwQUE3ODM0
IC8qIEdyYWRpZW50SW1hZ2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMDcyMEIwQTAxNEQzMzIz
NTAwNjQyOTU1IC8qIEdlbmVyaWNFdmVudFF1ZXVlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUNE
RTgzREIxMTgzQzQ0MDYwMDMxRUFBMyAvKiBWaWRlb1BsYXliYWNrUXVhbGl0eS5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQk5NzQ2QUYyMzE0RjREREU2MDAzRTdBNzAgLyogR2VvbG9jYXRpb24uY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJOTc0NkFGMjYxNEY0RERFNjAwM0U3QTcwIC8qIEdlb2xvY2F0
aW9uQ29udHJvbGxlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCMkMzREE2RDBEMDA2Q0Q2MDBF
RjZGMjYgLyogR2x5cGhQYWdlVHJlZU5vZGUuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0yODAyNSw2
ICsyODA0MCw3IEBACiAJCQkJQjIyMjc5QTQwRDAwQkYyMjAwNzFCNzgyIC8qIFNWR0NvbXBvbmVu
dFRyYW5zZmVyRnVuY3Rpb25FbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUIyMjI3QjA1
MEQwMEJGRjEwMDcxQjc4MiAvKiBTVkdDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJMDc4RTA5MEMxN0QxNENFRTAwNDIwQUExIC8qIFJUQ1Nlc3Npb25E
ZXNjcmlwdGlvbi5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlDREU4M0RCNjE4M0QzNTJBMDAzMUVB
QTMgLyogSlNWaWRlb1BsYXliYWNrUXVhbGl0eS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCMjIy
N0IwNjBEMDBCRkYxMDA3MUI3ODIgLyogU1ZHQ1NTUGFyc2VyLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCUIyMjI3QjA4MEQwMEJGRjEwMDcxQjc4MiAvKiBTVkdDU1NTdHlsZVNlbGVjdG9yLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCUIyMjI3OUE3MEQwMEJGMjIwMDcxQjc4MiAvKiBTVkdDdXJzb3JF
bGVtZW50LmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MTWVkaWFFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxl
bWVudC5jcHAKaW5kZXggNzQ0OGJkOThlYTFmNGE1YWZmZjE0MjZjNTc2MTMyZjc4OTQxMzdjMC4u
YWJmMWNkYmEyOTU3YzAzMTM4ZWJkYzJlZGFlODFlYThlZjc2ZGE1ZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCkBAIC0xMDgsNyArMTA4LDEwIEBACiAjZW5kaWYK
IAogI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisjaW5jbHVkZSAiRE9NV2luZG93LmgiCiAjaW5j
bHVkZSAiSFRNTE1lZGlhU291cmNlLmgiCisjaW5jbHVkZSAiUGVyZm9ybWFuY2UuaCIKKyNpbmNs
dWRlICJWaWRlb1BsYXliYWNrUXVhbGl0eS5oIgogI2VuZGlmCiAKICNpZiBFTkFCTEUoTUVESUFf
U1RSRUFNKQpAQCAtMjcxLDYgKzI3NCw3IEBAIEhUTUxNZWRpYUVsZW1lbnQ6OkhUTUxNZWRpYUVs
ZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQmIGRvY3VtCiAgICAg
LCBtX3ByZWxvYWQoTWVkaWFQbGF5ZXI6OkF1dG8pCiAgICAgLCBtX2Rpc3BsYXlNb2RlKFVua25v
d24pCiAgICAgLCBtX3Byb2Nlc3NpbmdNZWRpYVBsYXllckNhbGxiYWNrKDApCisgICAgLCBtX2Ry
b3BwZWRWaWRlb0ZyYW1lcygwKQogICAgICwgbV9jYWNoZWRUaW1lKE1lZGlhUGxheWVyOjppbnZh
bGlkVGltZSgpKQogICAgICwgbV9jbG9ja1RpbWVBdExhc3RDYWNoZWRUaW1lVXBkYXRlKDApCiAg
ICAgLCBtX21pbmltdW1DbG9ja1RpbWVUb1VwZGF0ZUNhY2hlZFRpbWUoMCkKQEAgLTM5MDgsNiAr
MzkxMiwxMCBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlhUGxheWVyRW5naW5lVXBkYXRl
ZChNZWRpYVBsYXllciopCiAgICAgaWYgKHJlbmRlcmVyKCkpCiAgICAgICAgIHJlbmRlcmVyKCkt
PnVwZGF0ZUZyb21FbGVtZW50KCk7CiAgICAgZW5kUHJvY2Vzc2luZ01lZGlhUGxheWVyQ2FsbGJh
Y2soKTsKKworI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisgICAgbV9kcm9wcGVkVmlkZW9GcmFt
ZXMgPSAwOworI2VuZGlmCiB9CiAKIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6bWVkaWFQbGF5ZXJG
aXJzdFZpZGVvRnJhbWVBdmFpbGFibGUoTWVkaWFQbGF5ZXIqKQpAQCAtNTIzMCw2ICs1MjM4LDI4
IEBAIGJvb2wgSFRNTE1lZGlhRWxlbWVudDo6c2hvdWxkVXNlVmlkZW9QbHVnaW5Qcm94eSgpIGNv
bnN0CiB9CiAjZW5kaWYKIAorI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCitSZWZQdHI8VmlkZW9Q
bGF5YmFja1F1YWxpdHk+IEhUTUxNZWRpYUVsZW1lbnQ6OmdldFZpZGVvUGxheWJhY2tRdWFsaXR5
KCkKK3sKKyNpZiBFTkFCTEUoV0VCX1RJTUlORykKKyAgICBET01XaW5kb3cqIGRvbVdpbmRvdyA9
IGRvY3VtZW50KCkuZG9tV2luZG93KCk7CisgICAgUGVyZm9ybWFuY2UqIHBlcmZvcm1hbmNlID0g
ZG9tV2luZG93ID8gZG9tV2luZG93LT5wZXJmb3JtYW5jZSgpIDogbnVsbHB0cjsKKyAgICBkb3Vi
bGUgbm93ID0gcGVyZm9ybWFuY2UgPyBwZXJmb3JtYW5jZS0+bm93KCkgOiAwOworI2Vsc2UKKyAg
ICBkb3VibGUgbm93ID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7CisjZW5kaWYKKwor
ICAgIGlmICghbV9wbGF5ZXIpCisgICAgICAgIHJldHVybiBWaWRlb1BsYXliYWNrUXVhbGl0eTo6
Y3JlYXRlKG5vdywgMCwgMCwgMCwgMCk7CisKKyAgICByZXR1cm4gVmlkZW9QbGF5YmFja1F1YWxp
dHk6OmNyZWF0ZShub3csCisgICAgICAgIG1fZHJvcHBlZFZpZGVvRnJhbWVzICsgbV9wbGF5ZXIt
PnRvdGFsVmlkZW9GcmFtZXMoKSwKKyAgICAgICAgbV9kcm9wcGVkVmlkZW9GcmFtZXMgKyBtX3Bs
YXllci0+ZHJvcHBlZFZpZGVvRnJhbWVzKCksCisgICAgICAgIG1fcGxheWVyLT5jb3JydXB0ZWRW
aWRlb0ZyYW1lcygpLAorICAgICAgICBtX3BsYXllci0+dG90YWxGcmFtZURlbGF5KCkpOworfQor
I2VuZGlmCisKICNpZiBFTkFCTEUoTUVESUFfQ09OVFJPTFNfU0NSSVBUKQogRE9NV3JhcHBlcldv
cmxkJiBIVE1MTWVkaWFFbGVtZW50OjplbnN1cmVJc29sYXRlZFdvcmxkKCkKIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKaW5kZXggNDQxODI1NjBhNTk3NGIxNWFmMmZkNTNj
ZGY2NTBhOTM1YmJjYjVmOC4uM2VmOWQ2MTI0MDE0YWY3Y2JlZjhjZGFlMjNmYTM3NWFjN2I2NTUz
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKQEAgLTgwLDYgKzgwLDkg
QEAgY2xhc3MgRGlzcGxheVNsZWVwRGlzYWJsZXI7CiAjaWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJ
QV9WMikKIGNsYXNzIE1lZGlhS2V5czsKICNlbmRpZgorI2lmIEVOQUJMRShNRURJQV9TT1VSQ0Up
CitjbGFzcyBWaWRlb1BsYXliYWNrUXVhbGl0eTsKKyNlbmRpZgogCiAjaWYgRU5BQkxFKFZJREVP
X1RSQUNLKQogY2xhc3MgQXVkaW9UcmFja0xpc3Q7CkBAIC0yMDEsNyArMjA0LDggQEAgcHVibGlj
OgogI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCiAvLyAgTWVkaWEgU291cmNlLgogICAgIHZvaWQg
Y2xvc2VNZWRpYVNvdXJjZSgpOwotI2VuZGlmIAorICAgIHZvaWQgaW5jcmVtZW50RHJvcHBlZEZy
YW1lQ291bnQoKSB7ICsrbV9kcm9wcGVkVmlkZW9GcmFtZXM7IH0KKyNlbmRpZgogCiAjaWYgRU5B
QkxFKEVOQ1JZUFRFRF9NRURJQSkKICAgICB2b2lkIHdlYmtpdEdlbmVyYXRlS2V5UmVxdWVzdChj
b25zdCBTdHJpbmcmIGtleVN5c3RlbSwgUGFzc1JlZlB0cjxVaW50OEFycmF5PiBpbml0RGF0YSwg
RXhjZXB0aW9uQ29kZSYpOwpAQCAtMzk4LDYgKzQwMiw4IEBAIHB1YmxpYzoKICAgICB2b2lkIG1l
ZGlhTG9hZGluZ0ZhaWxlZChNZWRpYVBsYXllcjo6TmV0d29ya1N0YXRlKTsKICAgICB2b2lkIG1l
ZGlhTG9hZGluZ0ZhaWxlZEZhdGFsbHkoTWVkaWFQbGF5ZXI6Ok5ldHdvcmtTdGF0ZSk7CiAKKyAg
ICBSZWZQdHI8VmlkZW9QbGF5YmFja1F1YWxpdHk+IGdldFZpZGVvUGxheWJhY2tRdWFsaXR5KCk7
CisKIHByb3RlY3RlZDoKICAgICBIVE1MTWVkaWFFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUm
LCBEb2N1bWVudCYsIGJvb2wpOwogICAgIHZpcnR1YWwgfkhUTUxNZWRpYUVsZW1lbnQoKTsKQEAg
LTY5OSw2ICs3MDUsNyBAQCBwcml2YXRlOgogCiAjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKICAg
ICBSZWZQdHI8SFRNTE1lZGlhU291cmNlPiBtX21lZGlhU291cmNlOworICAgIHVuc2lnbmVkIGxv
bmcgbV9kcm9wcGVkVmlkZW9GcmFtZXM7CiAjZW5kaWYKIAogICAgIG11dGFibGUgZG91YmxlIG1f
Y2FjaGVkVGltZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxl
bWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaWRsCmluZGV4
IGQ5NWIzZTg0ZWUzNGM4MDFkOTA4NDUzNDBkNDFlZmI2ZjYwZjM4NzYuLmRlNmY5MjQwMjZiYjVm
MDlhMGJiZTc3NzE5NTliMWFjYzUyYTI2NjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTE1lZGlhRWxlbWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVk
aWFFbGVtZW50LmlkbApAQCAtMTE3LDQgKzExNyw2IEBACiAKICAgICBbUmVmbGVjdCwgVHJlYXRO
dWxsQXM9TnVsbFN0cmluZ10gYXR0cmlidXRlIERPTVN0cmluZyBtZWRpYUdyb3VwOwogICAgIFtD
dXN0b21TZXR0ZXJdIGF0dHJpYnV0ZSBNZWRpYUNvbnRyb2xsZXIgY29udHJvbGxlcjsKKyAgICAK
KyAgICBbQ29uZGl0aW9uYWw9TUVESUFfU09VUkNFXSBWaWRlb1BsYXliYWNrUXVhbGl0eSBnZXRW
aWRlb1BsYXliYWNrUXVhbGl0eSgpOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL01lZGlhU2FtcGxlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZWRpYVNhbXBs
ZS5oCmluZGV4IDc0NGQzYzc5YWI5MWY2YmI2NTJjYjU0OWU1NzM4ZDVhOTViZWYxYzguLjU3NjJl
M2RlMmFjNjIyZTAwZTRjOWM3MTAzYmQ2NTcxNjYyZGQ2ZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL01lZGlhU2FtcGxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vTWVkaWFTYW1wbGUuaApAQCAtNjMsNiArNjMsOSBAQCBwdWJsaWM6CiAgICAgfTsKICAgICB2
aXJ0dWFsIFNhbXBsZUZsYWdzIGZsYWdzKCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgUGxhdGZv
cm1TYW1wbGUgcGxhdGZvcm1TYW1wbGUoKSA9IDA7CisKKyAgICBib29sIGlzU3luYygpIGNvbnN0
IHsgcmV0dXJuIGZsYWdzKCkgJiBJc1N5bmM7IH0KKyAgICBib29sIGlzTm9uRGlzcGxheWluZygp
IGNvbnN0IHsgcmV0dXJuIGZsYWdzKCkgJiBOb25EaXNwbGF5aW5nOyB9CiB9OwogCiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAKaW5kZXgg
NjQ2NThmNzdiNGZjZjgwZjVlNDk2MGZmOTU2ZmYxOWY5OTM5YWQ2MS4uZGE0Mzc3ZTAxNjZhOTAy
N2VkNjRhOTdhZjA4NmMwYzYxMmIzNDYwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcApAQCAtMTIzOSw2ICsxMjM5LDQwIEBAIHVuc2ln
bmVkIGxvbmcgbG9uZyBNZWRpYVBsYXllcjo6ZmlsZVNpemUoKSBjb25zdAogICAgIHJldHVybiBt
X3ByaXZhdGUtPmZpbGVTaXplKCk7CiB9CiAKKyNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQordW5z
aWduZWQgbG9uZyBNZWRpYVBsYXllcjo6dG90YWxWaWRlb0ZyYW1lcygpCit7CisgICAgaWYgKCFt
X3ByaXZhdGUpCisgICAgICAgIHJldHVybiAwOworCisgICAgcmV0dXJuIG1fcHJpdmF0ZS0+dG90
YWxWaWRlb0ZyYW1lcygpOworfQorCit1bnNpZ25lZCBsb25nIE1lZGlhUGxheWVyOjpkcm9wcGVk
VmlkZW9GcmFtZXMoKQoreworICAgIGlmICghbV9wcml2YXRlKQorICAgICAgICByZXR1cm4gMDsK
KworICAgIHJldHVybiBtX3ByaXZhdGUtPmRyb3BwZWRWaWRlb0ZyYW1lcygpOworfQorCit1bnNp
Z25lZCBsb25nIE1lZGlhUGxheWVyOjpjb3JydXB0ZWRWaWRlb0ZyYW1lcygpCit7CisgICAgaWYg
KCFtX3ByaXZhdGUpCisgICAgICAgIHJldHVybiAwOworCisgICAgcmV0dXJuIG1fcHJpdmF0ZS0+
Y29ycnVwdGVkVmlkZW9GcmFtZXMoKTsKK30KKworZG91YmxlIE1lZGlhUGxheWVyOjp0b3RhbEZy
YW1lRGVsYXkoKQoreworICAgIGlmICghbV9wcml2YXRlKQorICAgICAgICByZXR1cm4gMDsKKwor
ICAgIHJldHVybiBtX3ByaXZhdGUtPnRvdGFsRnJhbWVEZWxheSgpOworfQorI2VuZGlmCisKIHZv
aWQgTWVkaWFQbGF5ZXJGYWN0b3J5U3VwcG9ydDo6Y2FsbFJlZ2lzdGVyTWVkaWFFbmdpbmUoTWVk
aWFFbmdpbmVSZWdpc3RlciByZWdpc3Rlck1lZGlhRW5naW5lKQogewogICAgIHJlZ2lzdGVyTWVk
aWFFbmdpbmUoYWRkTWVkaWFFbmdpbmUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL01lZGlhUGxheWVyLmgKaW5kZXggZDRlMjE5MDNjNTc2OTg4ZDVjNzg4NjM3ODljMGU4
MTU0MzBlZGM3My4uODE1MTYzY2NiZTg1MWI0NTA1MzdlNjFjNjU1OTZmZjgyMTJkODM3ZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oCkBAIC01
MTQsNiArNTE0LDEzIEBAIHB1YmxpYzoKIAogICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBmaWxlU2l6
ZSgpIGNvbnN0OwogCisjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKKyAgICB1bnNpZ25lZCBsb25n
IHRvdGFsVmlkZW9GcmFtZXMoKTsKKyAgICB1bnNpZ25lZCBsb25nIGRyb3BwZWRWaWRlb0ZyYW1l
cygpOworICAgIHVuc2lnbmVkIGxvbmcgY29ycnVwdGVkVmlkZW9GcmFtZXMoKTsKKyAgICBkb3Vi
bGUgdG90YWxGcmFtZURlbGF5KCk7CisjZW5kaWYKKwogcHJpdmF0ZToKICAgICBNZWRpYVBsYXll
cihNZWRpYVBsYXllckNsaWVudCopOwogICAgIE1lZGlhUGxheWVyRmFjdG9yeSogbmV4dEJlc3RN
ZWRpYUVuZ2luZShNZWRpYVBsYXllckZhY3RvcnkqKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmgKaW5kZXggNDM2
YzY4YjRmNjIyN2U0ZDMyZmIwYTJiN2ExNmU0ZmE1ZWVmNTA3ZS4uY2Y3YjVmMjg4NWY1MTVmMjYz
NDMwM2JlNjNhZTc1NWQyYjg0MzRkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmgKQEAgLTIxNSw2ICsyMTUsMTMgQEAg
cHVibGljOgogICAgIHZpcnR1YWwgc2l6ZV90IGV4dHJhTWVtb3J5Q29zdCgpIGNvbnN0IHsgcmV0
dXJuIDA7IH0KICAgICAKICAgICB2aXJ0dWFsIHVuc2lnbmVkIGxvbmcgbG9uZyBmaWxlU2l6ZSgp
IGNvbnN0IHsgcmV0dXJuIDA7IH0KKworI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisgICAgdmly
dHVhbCB1bnNpZ25lZCBsb25nIHRvdGFsVmlkZW9GcmFtZXMoKSB7IHJldHVybiAwOyB9CisgICAg
dmlydHVhbCB1bnNpZ25lZCBsb25nIGRyb3BwZWRWaWRlb0ZyYW1lcygpIHsgcmV0dXJuIDA7IH0K
KyAgICB2aXJ0dWFsIHVuc2lnbmVkIGxvbmcgY29ycnVwdGVkVmlkZW9GcmFtZXMoKSB7IHJldHVy
biAwOyB9CisgICAgdmlydHVhbCBkb3VibGUgdG90YWxGcmFtZURlbGF5KCkgeyByZXR1cm4gMDsg
fQorI2VuZGlmCiB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFW
Rk9iakMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9v
YmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5oCmluZGV4IDZlMDc0YmYz
NGQyZWUwMjBiYWEzMDY3MWUwMTk0NjgwOWM5YTczMTQuLmIzMDYzN2M4YzkzOTdmMmQ5NzcwOWU0
ODQ1NjY2NDBhMGI2NTZlOWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZG
T2JqQy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlv
bi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5oCkBAIC0xMzgsNiAr
MTM4LDExIEBAIHByaXZhdGU6CiAKICAgICB2aXJ0dWFsIHNpemVfdCBleHRyYU1lbW9yeUNvc3Qo
KSBjb25zdCBPVkVSUklERTsKIAorICAgIHZpcnR1YWwgdW5zaWduZWQgbG9uZyB0b3RhbFZpZGVv
RnJhbWVzKCkgT1ZFUlJJREU7CisgICAgdmlydHVhbCB1bnNpZ25lZCBsb25nIGRyb3BwZWRWaWRl
b0ZyYW1lcygpIE9WRVJSSURFOworICAgIHZpcnR1YWwgdW5zaWduZWQgbG9uZyBjb3JydXB0ZWRW
aWRlb0ZyYW1lcygpIE9WRVJSSURFOworICAgIHZpcnR1YWwgZG91YmxlIHRvdGFsRnJhbWVEZWxh
eSgpIE9WRVJSSURFOworCiAgICAgdm9pZCBlbnN1cmVMYXllcigpOwogICAgIHZvaWQgZGVzdHJv
eUxheWVyKCk7CiAgICAgdm9pZCBkdXJhdGlvbkNoYW5nZWQoKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVy
UHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZG
T2JqQy5tbQppbmRleCA0OGZkYWMxYjVmYzJjY2IyOTIwZGFiOGE2YjE5ZTBkNzA4NTA1NTQ4Li5k
NjBhNWU1N2I4ODg1MGFlYTRlZWQwNzRmMDVkMDVmMjJlM2M4NDQzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXll
clByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3Vy
Y2VBVkZPYmpDLm1tCkBAIC01MSw3ICs1MSw3IEBAIFNPRlRfTElOS19DTEFTU19PUFRJT05BTChB
VkZvdW5kYXRpb24sIEFWVVJMQXNzZXQpCiBTT0ZUX0xJTktfQ0xBU1NfT1BUSU9OQUwoQVZGb3Vu
ZGF0aW9uLCBBVlNhbXBsZUJ1ZmZlckF1ZGlvUmVuZGVyZXIpCiBTT0ZUX0xJTktfQ0xBU1NfT1BU
SU9OQUwoQVZGb3VuZGF0aW9uLCBBVlNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllcikKIFNPRlRfTElO
S19DTEFTU19PUFRJT05BTChBVkZvdW5kYXRpb24sIEFWU3RyZWFtRGF0YVBhcnNlcikKLQorU09G
VF9MSU5LX0NMQVNTX09QVElPTkFMKEFWRm91bmRhdGlvbiwgQVZWaWRlb1BlcmZvcm1hbmNlTWV0
cmljcykKIAogI3ByYWdtYSBtYXJrIC0KICNwcmFnbWEgbWFyayBBVlNhbXBsZUJ1ZmZlckF1ZGlv
UmVuZGVyZXIKQEAgLTYyLDYgKzYyLDIwIEBAIFNPRlRfTElOS19DTEFTU19PUFRJT05BTChBVkZv
dW5kYXRpb24sIEFWU3RyZWFtRGF0YVBhcnNlcikKIC0gKHZvaWQpc2V0TXV0ZWQ6KEJPT0wpbXV0
ZWQ7CiBAZW5kCiAKKyNwcmFnbWEgbWFyayAtCisjcHJhZ21hIG1hcmsgQVZWaWRlb1BlcmZvcm1h
bmNlTWV0cmljcworCitAaW50ZXJmYWNlIEFWVmlkZW9QZXJmb3JtYW5jZU1ldHJpY3MgOiBOU09i
amVjdAorLSAodW5zaWduZWQgbG9uZyl0b3RhbE51bWJlck9mVmlkZW9GcmFtZXM7CistICh1bnNp
Z25lZCBsb25nKW51bWJlck9mRHJvcHBlZFZpZGVvRnJhbWVzOworLSAodW5zaWduZWQgbG9uZylu
dW1iZXJPZkNvcnJ1cHRlZFZpZGVvRnJhbWVzOworLSAoZG91YmxlKXRvdGFsRnJhbWVEZWxheTsK
K0BlbmQKKworQGludGVyZmFjZSBBVlNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllciAoV2ViQ29yZUFW
U2FtcGxlQnVmZmVyRGlzcGxheUxheWVyUHJpdmF0ZSkKKy0gKEFWVmlkZW9QZXJmb3JtYW5jZU1l
dHJpY3MgKil2aWRlb1BlcmZvcm1hbmNlTWV0cmljczsKK0BlbmQKKwogbmFtZXNwYWNlIFdlYkNv
cmUgewogCiAjcHJhZ21hIG1hcmsgLQpAQCAtMzg5LDYgKzQwMywyNiBAQCBzaXplX3QgTWVkaWFQ
bGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpleHRyYU1lbW9yeUNvc3QoKSBjb25zdAog
ICAgIHJldHVybiAwOwogfQogCit1bnNpZ25lZCBsb25nIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlh
U291cmNlQVZGT2JqQzo6dG90YWxWaWRlb0ZyYW1lcygpCit7CisgICAgcmV0dXJuIFtbbV9zYW1w
bGVCdWZmZXJEaXNwbGF5TGF5ZXIgdmlkZW9QZXJmb3JtYW5jZU1ldHJpY3NdIHRvdGFsTnVtYmVy
T2ZWaWRlb0ZyYW1lc107Cit9CisKK3Vuc2lnbmVkIGxvbmcgTWVkaWFQbGF5ZXJQcml2YXRlTWVk
aWFTb3VyY2VBVkZPYmpDOjpkcm9wcGVkVmlkZW9GcmFtZXMoKQoreworICAgIHJldHVybiBbW21f
c2FtcGxlQnVmZmVyRGlzcGxheUxheWVyIHZpZGVvUGVyZm9ybWFuY2VNZXRyaWNzXSBudW1iZXJP
ZkRyb3BwZWRWaWRlb0ZyYW1lc107Cit9CisKK3Vuc2lnbmVkIGxvbmcgTWVkaWFQbGF5ZXJQcml2
YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpjb3JydXB0ZWRWaWRlb0ZyYW1lcygpCit7CisgICAgcmV0
dXJuIFtbbV9zYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIgdmlkZW9QZXJmb3JtYW5jZU1ldHJpY3Nd
IG51bWJlck9mQ29ycnVwdGVkVmlkZW9GcmFtZXNdOworfQorCitkb3VibGUgTWVkaWFQbGF5ZXJQ
cml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjp0b3RhbEZyYW1lRGVsYXkoKQoreworICAgIHJldHVy
biBbW21fc2FtcGxlQnVmZmVyRGlzcGxheUxheWVyIHZpZGVvUGVyZm9ybWFuY2VNZXRyaWNzXSB0
b3RhbEZyYW1lRGVsYXldOworfQorCiAjcHJhZ21hIG1hcmsgLQogI3ByYWdtYSBtYXJrIFV0aWxp
dHkgTWV0aG9kcwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21l
ZGlhc291cmNlL01vY2tCb3guaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFz
b3VyY2UvTW9ja0JveC5oCmluZGV4IDNmMGMwZDNjZTIwODUxMmU3Mjg0NjUxZGNmN2Y4NzdlZjI4
MjUwMTkuLmYyZmQ2NDNmZGZiODIwMGU4OTQ5MjQzY2NkYWRlOTJiMWZiM2VkNmMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja0JveC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja0JveC5oCkBA
IC0xMjksOCArMTI5LDE2IEBAIHB1YmxpYzoKICAgICBpbnQzMl90IHRyYWNrSUQoKSBjb25zdCB7
IHJldHVybiBtX3RyYWNrSUQ7IH0KICAgICB1aW50OF90IGZsYWdzKCkgY29uc3QgeyByZXR1cm4g
bV9mbGFnczsgfQogCi0gICAgZW51bSB7IElzU3luYyA9IDEgPDwgMCB9OworICAgIGVudW0gewor
ICAgICAgICBJc1N5bmMgPSAxIDw8IDAsCisgICAgICAgIElzQ29ycnVwdGVkID0gMSA8PCAxLAor
ICAgICAgICBJc0Ryb3BwZWQgPSAxIDw8IDIsCisgICAgICAgIElzRGVsYXllZCA9IDEgPDwgMywK
KyAgICB9OwogICAgIGJvb2wgaXNTeW5jKCkgY29uc3QgeyByZXR1cm4gbV9mbGFncyAmIElzU3lu
YzsgfQorICAgIGJvb2wgaXNDb3JydXB0ZWQoKSBjb25zdCB7IHJldHVybiBtX2ZsYWdzICYgSXND
b3JydXB0ZWQ7IH0KKyAgICBib29sIGlzRHJvcHBlZCgpIGNvbnN0IHsgcmV0dXJuIG1fZmxhZ3Mg
JiBJc0Ryb3BwZWQ7IH0KKyAgICBib29sIGlzRGVsYXllZCgpIGNvbnN0IHsgcmV0dXJuIG1fZmxh
Z3MgJiBJc0RlbGF5ZWQ7IH0KIAogcHJvdGVjdGVkOgogICAgIE1lZGlhVGltZSBtX3ByZXNlbnRh
dGlvblRpbWVzdGFtcDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2sv
bWVkaWFzb3VyY2UvTW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2UuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZS5j
cHAKaW5kZXggMmYyMzA0ODZiOTJiNjBiMzM5ODlhYTI1NzQ4ZDQ5ZmM2Yzc1Yjc4OS4uZTBmYzUx
YzlmMGNlM2YwMjU0NzA4NTJiOTBhNGExMmU0MTBmNTg2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJj
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2Nr
TWVkaWFQbGF5ZXJNZWRpYVNvdXJjZS5jcHAKQEAgLTI0NSw2ICsyNDUsMjYgQEAgdm9pZCBNb2Nr
TWVkaWFQbGF5ZXJNZWRpYVNvdXJjZTo6c2V0TmV0d29ya1N0YXRlKE1lZGlhUGxheWVyOjpOZXR3
b3JrU3RhdGUgbmV0d28KICAgICBtX3BsYXllci0+bmV0d29ya1N0YXRlQ2hhbmdlZCgpOwogfQog
Cit1bnNpZ25lZCBsb25nIE1vY2tNZWRpYVBsYXllck1lZGlhU291cmNlOjp0b3RhbFZpZGVvRnJh
bWVzKCkKK3sKKyAgICByZXR1cm4gbV9tZWRpYVNvdXJjZVByaXZhdGUgPyBtX21lZGlhU291cmNl
UHJpdmF0ZS0+dG90YWxWaWRlb0ZyYW1lcygpIDogMDsKK30KKwordW5zaWduZWQgbG9uZyBNb2Nr
TWVkaWFQbGF5ZXJNZWRpYVNvdXJjZTo6ZHJvcHBlZFZpZGVvRnJhbWVzKCkKK3sKKyAgICByZXR1
cm4gbV9tZWRpYVNvdXJjZVByaXZhdGUgPyBtX21lZGlhU291cmNlUHJpdmF0ZS0+ZHJvcHBlZFZp
ZGVvRnJhbWVzKCkgOiAwOworfQorCit1bnNpZ25lZCBsb25nIE1vY2tNZWRpYVBsYXllck1lZGlh
U291cmNlOjpjb3JydXB0ZWRWaWRlb0ZyYW1lcygpCit7CisgICAgcmV0dXJuIG1fbWVkaWFTb3Vy
Y2VQcml2YXRlID8gbV9tZWRpYVNvdXJjZVByaXZhdGUtPmNvcnJ1cHRlZFZpZGVvRnJhbWVzKCkg
OiAwOworfQorCitkb3VibGUgTW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2U6OnRvdGFsRnJhbWVE
ZWxheSgpCit7CisgICAgcmV0dXJuIG1fbWVkaWFTb3VyY2VQcml2YXRlID8gbV9tZWRpYVNvdXJj
ZVByaXZhdGUtPnRvdGFsRnJhbWVEZWxheSgpIDogMDsKK30KKwogfQogCiAjZW5kaWYKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja01lZGlh
UGxheWVyTWVkaWFTb3VyY2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFz
b3VyY2UvTW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2UuaAppbmRleCBkMWNmOGI1ZWViMDA4NWE5
MjRiYTdjMjA2MDY1MTc1NTk1NzA4MzYyLi45ODVhMjFmYjZjNzc4MmI5NzY3YmJmYzdlMzRkNzA2
ZGRjYTMyMjJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21lZGlh
c291cmNlL01vY2tNZWRpYVBsYXllck1lZGlhU291cmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZS5oCkBA
IC03Nyw2ICs3NywxMCBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgZG91YmxlIGN1cnJlbnRUaW1l
RG91YmxlKCkgY29uc3QgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBkb3VibGUgZHVyYXRpb25Eb3Vi
bGUoKSBjb25zdCBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgc2Vla1dpdGhUb2xlcmFuY2Uo
ZG91YmxlIHRpbWUsIGRvdWJsZSwgZG91YmxlKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIHVuc2ln
bmVkIGxvbmcgdG90YWxWaWRlb0ZyYW1lcygpIE9WRVJSSURFOworICAgIHZpcnR1YWwgdW5zaWdu
ZWQgbG9uZyBkcm9wcGVkVmlkZW9GcmFtZXMoKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIHVuc2ln
bmVkIGxvbmcgY29ycnVwdGVkVmlkZW9GcmFtZXMoKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIGRv
dWJsZSB0b3RhbEZyYW1lRGVsYXkoKSBPVkVSUklERTsKIAogICAgIE1lZGlhUGxheWVyKiBtX3Bs
YXllcjsKICAgICBSZWZQdHI8SFRNTE1lZGlhU291cmNlPiBtX21lZGlhU291cmNlOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrTWVkaWFT
b3VyY2VQcml2YXRlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3Vy
Y2UvTW9ja01lZGlhU291cmNlUHJpdmF0ZS5jcHAKaW5kZXggMmVlODFmZTY1YTExNTk5ZDNhYTQy
ZWFkMmJjNzY0YWE0MjI2MDg1MC4uODhkN2FhNzVmYTY5ZWRjZjFkZjk4MDg1NmU1ZmY1YTAyN2Q5
OWIxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJj
ZS9Nb2NrTWVkaWFTb3VyY2VQcml2YXRlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tb2NrL21lZGlhc291cmNlL01vY2tNZWRpYVNvdXJjZVByaXZhdGUuY3BwCkBAIC00NCw2ICs0
NCwxMCBAQCBNb2NrTWVkaWFTb3VyY2VQcml2YXRlOjpNb2NrTWVkaWFTb3VyY2VQcml2YXRlKE1v
Y2tNZWRpYVBsYXllck1lZGlhU291cmNlKiBwYXJlbgogICAgIDogbV9wbGF5ZXIocGFyZW50KQog
ICAgICwgbV9kdXJhdGlvbigwKQogICAgICwgbV9pc0VuZGVkKGZhbHNlKQorICAgICwgbV90b3Rh
bFZpZGVvRnJhbWVzKDApCisgICAgLCBtX2Ryb3BwZWRWaWRlb0ZyYW1lcygwKQorICAgICwgbV9j
b3JydXB0ZWRWaWRlb0ZyYW1lcygwKQorICAgICwgbV90b3RhbEZyYW1lRGVsYXkoMCkKIHsKIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9N
b2NrTWVkaWFTb3VyY2VQcml2YXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21l
ZGlhc291cmNlL01vY2tNZWRpYVNvdXJjZVByaXZhdGUuaAppbmRleCA3MmQyMGE4MGViZjc0ZjBh
YmU3OTVmNDRmOGUwYTRhODFjMzk2MWRiLi5mNDQ4ZTFkZjY3OWRkNjZjZmM0MGViOTU4YTllN2I3
NTFkZWJkNDYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21lZGlh
c291cmNlL01vY2tNZWRpYVNvdXJjZVByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tNZWRpYVNvdXJjZVByaXZhdGUuaApAQCAtNTIsNiAr
NTIsMTYgQEAgcHVibGljOgogICAgIHZvaWQgc2Vla1RvVGltZShjb25zdCBNZWRpYVRpbWUmKTsK
ICAgICBNZWRpYVRpbWUgc2Vla1RvVGltZShjb25zdCBNZWRpYVRpbWUmLCBjb25zdCBNZWRpYVRp
bWUmIG5lZ2F0aXZlVGhyZXNob2xkLCBjb25zdCBNZWRpYVRpbWUmIHBvc2l0aXZlVGhyZXNob2xk
KTsKIAorICAgIHVuc2lnbmVkIGxvbmcgdG90YWxWaWRlb0ZyYW1lcygpIGNvbnN0IHsgcmV0dXJu
IG1fdG90YWxWaWRlb0ZyYW1lczsgfQorICAgIHVuc2lnbmVkIGxvbmcgZHJvcHBlZFZpZGVvRnJh
bWVzKCkgY29uc3QgIHsgcmV0dXJuIG1fZHJvcHBlZFZpZGVvRnJhbWVzOyB9CisgICAgdW5zaWdu
ZWQgbG9uZyBjb3JydXB0ZWRWaWRlb0ZyYW1lcygpIGNvbnN0IHsgcmV0dXJuIG1fY29ycnVwdGVk
VmlkZW9GcmFtZXM7IH0KKyAgICBkb3VibGUgdG90YWxGcmFtZURlbGF5KCkgY29uc3QgeyByZXR1
cm4gbV90b3RhbEZyYW1lRGVsYXk7IH0KKworICAgIHZvaWQgaW5jcmVtZW50VG90YWxWaWRlb0Zy
YW1lcygpIHsgKyttX3RvdGFsVmlkZW9GcmFtZXM7IH0KKyAgICB2b2lkIGluY3JlbWVudERyb3Bw
ZWRGcmFtZXMoKSB7ICsrbV9kcm9wcGVkVmlkZW9GcmFtZXM7IH0KKyAgICB2b2lkIGluY3JlbWVu
dENvcnJ1cHRlZEZyYW1lcygpIHsgKyttX2NvcnJ1cHRlZFZpZGVvRnJhbWVzOyB9CisgICAgdm9p
ZCBpbmNyZW1lbnRUb3RhbEZyYW1lRGVsYXlCeShkb3VibGUgZGVsYXkpIHsgbV90b3RhbEZyYW1l
RGVsYXkgKz0gZGVsYXk7IH0KKwogcHJpdmF0ZToKICAgICBNb2NrTWVkaWFTb3VyY2VQcml2YXRl
KE1vY2tNZWRpYVBsYXllck1lZGlhU291cmNlKik7CiAKQEAgLTc0LDYgKzg0LDExIEBAIHByaXZh
dGU6CiAgICAgVmVjdG9yPFJlZlB0cjxNb2NrU291cmNlQnVmZmVyUHJpdmF0ZT4+IG1fc291cmNl
QnVmZmVyczsKICAgICBWZWN0b3I8TW9ja1NvdXJjZUJ1ZmZlclByaXZhdGUqPiBtX2FjdGl2ZVNv
dXJjZUJ1ZmZlcnM7CiAgICAgYm9vbCBtX2lzRW5kZWQ7CisKKyAgICB1bnNpZ25lZCBsb25nIG1f
dG90YWxWaWRlb0ZyYW1lczsKKyAgICB1bnNpZ25lZCBsb25nIG1fZHJvcHBlZFZpZGVvRnJhbWVz
OworICAgIHVuc2lnbmVkIGxvbmcgbV9jb3JydXB0ZWRWaWRlb0ZyYW1lczsKKyAgICBkb3VibGUg
bV90b3RhbEZyYW1lRGVsYXk7CiB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tTb3VyY2VCdWZmZXJQcml2YXRlLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja1NvdXJjZUJ1ZmZlclBy
aXZhdGUuY3BwCmluZGV4IDg3NjcwZGFmZGJiY2Y0OWI5OTQ5NmQ4NDdlM2M1NDkwN2I4ZTI4NWQu
LjRkNTczYWIxN2Q0ZDM3MjZiYjY4YmVjNjQ3NmUyZDAwNzQ0M2NhZGUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja1NvdXJjZUJ1ZmZlclBy
aXZhdGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2Uv
TW9ja1NvdXJjZUJ1ZmZlclByaXZhdGUuY3BwCkBAIC0yMTgsNiArMjE4LDI4IEBAIHZvaWQgTW9j
a1NvdXJjZUJ1ZmZlclByaXZhdGU6OnNldEFjdGl2ZShib29sIGlzQWN0aXZlKQogICAgICAgICBt
X21lZGlhU291cmNlLT5zb3VyY2VCdWZmZXJQcml2YXRlRGlkQ2hhbmdlQWN0aXZlU3RhdGUodGhp
cywgaXNBY3RpdmUpOwogfQogCit2b2lkIE1vY2tTb3VyY2VCdWZmZXJQcml2YXRlOjplbnF1ZXVl
U2FtcGxlKFBhc3NSZWZQdHI8TWVkaWFTYW1wbGU+IHNhbXBsZSwgQXRvbWljU3RyaW5nKQorewor
ICAgIGlmICghbV9tZWRpYVNvdXJjZSB8fCAhc2FtcGxlKQorICAgICAgICByZXR1cm47CisKKyAg
ICBQbGF0Zm9ybVNhbXBsZSBwbGF0Zm9ybVNhbXBsZSA9IHNhbXBsZS0+cGxhdGZvcm1TYW1wbGUo
KTsKKyAgICBpZiAocGxhdGZvcm1TYW1wbGUudHlwZSAhPSBQbGF0Zm9ybVNhbXBsZTo6TW9ja1Nh
bXBsZUJveFR5cGUpCisgICAgICAgIHJldHVybjsKKworICAgIE1vY2tTYW1wbGVCb3gqIGJveCA9
IHBsYXRmb3JtU2FtcGxlLnNhbXBsZS5tb2NrU2FtcGxlQm94OworICAgIGlmICghYm94KQorICAg
ICAgICByZXR1cm47CisKKyAgICBtX21lZGlhU291cmNlLT5pbmNyZW1lbnRUb3RhbFZpZGVvRnJh
bWVzKCk7CisgICAgaWYgKGJveC0+aXNDb3JydXB0ZWQoKSkKKyAgICAgICAgbV9tZWRpYVNvdXJj
ZS0+aW5jcmVtZW50Q29ycnVwdGVkRnJhbWVzKCk7CisgICAgaWYgKGJveC0+aXNEcm9wcGVkKCkp
CisgICAgICAgIG1fbWVkaWFTb3VyY2UtPmluY3JlbWVudERyb3BwZWRGcmFtZXMoKTsKKyAgICBp
ZiAoYm94LT5pc0RlbGF5ZWQoKSkKKyAgICAgICAgbV9tZWRpYVNvdXJjZS0+aW5jcmVtZW50VG90
YWxGcmFtZURlbGF5QnkoMSk7Cit9CisKIGJvb2wgTW9ja1NvdXJjZUJ1ZmZlclByaXZhdGU6Omhh
c1ZpZGVvKCkgY29uc3QKIHsKICAgICBpZiAoIW1fY2xpZW50KQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrU291cmNlQnVmZmVyUHJpdmF0
ZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrU291cmNl
QnVmZmVyUHJpdmF0ZS5oCmluZGV4IDRhZmYyY2NjMzgzYzZhYmNmNDliM2I1NzQ4MDM5YzFmNDcz
YjRjZjcuLjYxYTAzYTdlNGUyYTlkZjlmODAzZmU5NTQ1Y2E4OTVjOTQ5YjRkZjkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja1NvdXJjZUJ1
ZmZlclByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291
cmNlL01vY2tTb3VyY2VCdWZmZXJQcml2YXRlLmgKQEAgLTcyLDcgKzcyLDcgQEAgcHJpdmF0ZToK
ICAgICB2aXJ0dWFsIGJvb2wgaXNGdWxsKCkgT1ZFUlJJREU7CiAKICAgICB2aXJ0dWFsIHZvaWQg
Zmx1c2hBbmRFbnF1ZXVlTm9uRGlzcGxheWluZ1NhbXBsZXMoVmVjdG9yPFJlZlB0cjxNZWRpYVNh
bXBsZT4+LCBBdG9taWNTdHJpbmcpIE9WRVJSSURFIHsgfQotICAgIHZpcnR1YWwgdm9pZCBlbnF1
ZXVlU2FtcGxlKFBhc3NSZWZQdHI8TWVkaWFTYW1wbGU+LCBBdG9taWNTdHJpbmcpIE9WRVJSSURF
IHsgfQorICAgIHZpcnR1YWwgdm9pZCBlbnF1ZXVlU2FtcGxlKFBhc3NSZWZQdHI8TWVkaWFTYW1w
bGU+LCBBdG9taWNTdHJpbmcpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgYm9vbCBpc1JlYWR5Rm9y
TW9yZVNhbXBsZXMoKSBPVkVSUklERSB7IHJldHVybiB0cnVlOyB9CiAgICAgdmlydHVhbCB2b2lk
IHNldEFjdGl2ZShib29sKSBPVkVSUklERTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVk
aWEvbWVkaWEtc291cmNlL21lZGlhLXNvdXJjZS12aWRlby1wbGF5YmFjay1xdWFsaXR5LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL21lZGlhL21lZGlhLXNvdXJjZS9tZWRpYS1zb3VyY2Utdmlk
ZW8tcGxheWJhY2stcXVhbGl0eS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzk5ZDk3ZWRkZmQw
Mzc4OTk4ZDIxOTMyMzgzMTc2M2NiMjBjOWM2MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL21lZGlhL21lZGlhLXNvdXJjZS9tZWRpYS1zb3VyY2UtdmlkZW8tcGxheWJhY2stcXVhbGl0
eS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyMyBAQAorCitSVU4odmlkZW8uc3JjID0gVVJMLmNy
ZWF0ZU9iamVjdFVSTChzb3VyY2UpKQorRVZFTlQoc291cmNlb3BlbikKK1JVTihzb3VyY2VCdWZm
ZXIgPSBzb3VyY2UuYWRkU291cmNlQnVmZmVyKCJ2aWRlby9tb2NrOyBjb2RlY3M9bW9jayIpKQor
UlVOKHNvdXJjZUJ1ZmZlci5hcHBlbmRCdWZmZXIoaW5pdFNlZ21lbnQpKQorRVZFTlQodXBkYXRl
ZW5kKQorVGVzdCB0aGF0IGJlZ2lubmluZyBhIHN0cmVhbSB3aXRoIGEgbm9uLXN5bmMgc2FtcGxl
IHJlc3VsdHMgaW4gdGhhdCBzYW1wbGUgYmVpbmcgZHJvcHBlZC4KK1JVTihzb3VyY2VCdWZmZXIu
YXBwZW5kQnVmZmVyKHNhbXBsZXMpKQorRVZFTlQodXBkYXRlZW5kKQorUlVOKHF1YWxpdHkgPSB2
aWRlby5nZXRWaWRlb1BsYXliYWNrUXVhbGl0eSgpKQorRVhQRUNURUQgKHF1YWxpdHkudG90YWxW
aWRlb0ZyYW1lcyA9PSAnMScpIE9LCitFWFBFQ1RFRCAocXVhbGl0eS5jb3JydXB0ZWRWaWRlb0Zy
YW1lcyA9PSAnMCcpIE9LCitFWFBFQ1RFRCAocXVhbGl0eS5kcm9wcGVkVmlkZW9GcmFtZXMgPT0g
JzEnKSBPSworRVhQRUNURUQgKHF1YWxpdHkudG90YWxGcmFtZURlbGF5ID09ICcwJykgT0sKK1JV
Tihzb3VyY2VCdWZmZXIuYXBwZW5kQnVmZmVyKHNhbXBsZXMpKQorRVZFTlQodXBkYXRlZW5kKQor
UlVOKHF1YWxpdHkgPSB2aWRlby5nZXRWaWRlb1BsYXliYWNrUXVhbGl0eSgpKQorRVhQRUNURUQg
KHF1YWxpdHkudG90YWxWaWRlb0ZyYW1lcyA9PSAnOCcpIE9LCitFWFBFQ1RFRCAocXVhbGl0eS5j
b3JydXB0ZWRWaWRlb0ZyYW1lcyA9PSAnMScpIE9LCitFWFBFQ1RFRCAocXVhbGl0eS5kcm9wcGVk
VmlkZW9GcmFtZXMgPT0gJzInKSBPSworRVhQRUNURUQgKHF1YWxpdHkudG90YWxGcmFtZURlbGF5
ID09ICczJykgT0sKK0VORCBPRiBURVNUCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21lZGlh
L21lZGlhLXNvdXJjZS9tZWRpYS1zb3VyY2UtdmlkZW8tcGxheWJhY2stcXVhbGl0eS5odG1sIGIv
TGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL21lZGlhLXNvdXJjZS12aWRlby1wbGF5YmFj
ay1xdWFsaXR5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmY0NjgxNTZmNDMxNzhlNzNhYTA2MWMwMWYzNmVi
MThlYWU5M2RlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL21lZGlhL21lZGlhLXNv
dXJjZS9tZWRpYS1zb3VyY2UtdmlkZW8tcGxheWJhY2stcXVhbGl0eS5odG1sCkBAIC0wLDAgKzEs
NzEgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKyAgICA8dGl0bGU+bW9jay1t
ZWRpYS1zb3VyY2U8L3RpdGxlPgorICAgIDxzY3JpcHQgc3JjPSJtb2NrLW1lZGlhLXNvdXJjZS5q
cyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uL3ZpZGVvLXRlc3QuanMiPjwvc2NyaXB0
PgorICAgIDxzY3JpcHQ+CisgICAgdmFyIHNvdXJjZTsKKyAgICB2YXIgc291cmNlQnVmZmVyOwor
ICAgIHZhciBpbml0U2VnbWVudDsKKyAgICB2YXIgc2FtcGxlczsKKyAgICB2YXIgcXVhbGl0eTsK
KworICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICBpbnRlcm5hbHMuaW5pdGlhbGl6
ZU1vY2tNZWRpYVNvdXJjZSgpOworCisgICAgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ZmluZE1lZGlhRWxlbWVudCgpOworCisgICAgICAgIHNvdXJjZSA9IG5ldyBNZWRpYVNvdXJjZSgp
OworICAgICAgICB3YWl0Rm9yRXZlbnRPbihzb3VyY2UsICdzb3VyY2VvcGVuJywgc291cmNlT3Bl
bik7CisgICAgICAgIHJ1bigndmlkZW8uc3JjID0gVVJMLmNyZWF0ZU9iamVjdFVSTChzb3VyY2Up
Jyk7CisgICAgfQorCisgICAgZnVuY3Rpb24gc291cmNlT3BlbigpIHsKKyAgICAgICAgcnVuKCdz
b3VyY2VCdWZmZXIgPSBzb3VyY2UuYWRkU291cmNlQnVmZmVyKCJ2aWRlby9tb2NrOyBjb2RlY3M9
bW9jayIpJyk7CisgICAgICAgIHdhaXRGb3JFdmVudE9uKHNvdXJjZUJ1ZmZlciwgJ3VwZGF0ZWVu
ZCcsIGxvYWRTYW1wbGUsIGZhbHNlLCB0cnVlKTsKKyAgICAgICAgaW5pdFNlZ21lbnQgPSBtYWtl
QUluaXQoOCwgW21ha2VBVHJhY2soMSwgJ21vY2snLCBUUkFDS19LSU5ELlZJREVPKV0pOworICAg
ICAgICBydW4oJ3NvdXJjZUJ1ZmZlci5hcHBlbmRCdWZmZXIoaW5pdFNlZ21lbnQpJyk7CisgICAg
fQorCisgICAgZnVuY3Rpb24gbG9hZFNhbXBsZSgpIHsKKyAgICAgICAgc2FtcGxlcyA9IGNvbmNh
dGVuYXRlU2FtcGxlcyhbbWFrZUFTYW1wbGUoMCwgMCwgMSwgMSwgU0FNUExFX0ZMQUcuTk9ORSld
KTsKKyAgICAgICAgd2FpdEZvckV2ZW50T24oc291cmNlQnVmZmVyLCAndXBkYXRlZW5kJywgbG9h
ZE1vcmVTYW1wbGVzLCBmYWxzZSwgdHJ1ZSk7CisgICAgICAgIGNvbnNvbGVXcml0ZSgnVGVzdCB0
aGF0IGJlZ2lubmluZyBhIGJ1ZmZlciB3aXRoIGEgbm9uLXN5bmMgc2FtcGxlIHJlc3VsdHMgaW4g
dGhhdCBzYW1wbGUgYmVpbmcgZHJvcHBlZC4nKQorICAgICAgICBydW4oJ3NvdXJjZUJ1ZmZlci5h
cHBlbmRCdWZmZXIoc2FtcGxlcyknKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBsb2FkTW9yZVNh
bXBsZXMoKSB7CisgICAgICAgIHJ1bigncXVhbGl0eSA9IHZpZGVvLmdldFZpZGVvUGxheWJhY2tR
dWFsaXR5KCknKTsKKyAgICAgICAgdGVzdEV4cGVjdGVkKCdxdWFsaXR5LnRvdGFsVmlkZW9GcmFt
ZXMnLCAxKTsKKyAgICAgICAgdGVzdEV4cGVjdGVkKCdxdWFsaXR5LmNvcnJ1cHRlZFZpZGVvRnJh
bWVzJywgMCk7CisgICAgICAgIHRlc3RFeHBlY3RlZCgncXVhbGl0eS5kcm9wcGVkVmlkZW9GcmFt
ZXMnLCAxKTsKKyAgICAgICAgdGVzdEV4cGVjdGVkKCdxdWFsaXR5LnRvdGFsRnJhbWVEZWxheScs
IDApOworCisgICAgICAgIHNhbXBsZXMgPSBjb25jYXRlbmF0ZVNhbXBsZXMoWworICAgICAgICAg
ICAgbWFrZUFTYW1wbGUoMCwgMCwgMSwgMSwgU0FNUExFX0ZMQUcuU1lOQyksCisgICAgICAgICAg
ICBtYWtlQVNhbXBsZSgxLCAxLCAxLCAxLCBTQU1QTEVfRkxBRy5DT1JSVVBURUQpLAorICAgICAg
ICAgICAgbWFrZUFTYW1wbGUoMiwgMiwgMSwgMSwgU0FNUExFX0ZMQUcuRFJPUFBFRCksCisgICAg
ICAgICAgICBtYWtlQVNhbXBsZSg0LCA0LCAxLCAxLCBTQU1QTEVfRkxBRy5ERUxBWUVEKSwKKyAg
ICAgICAgICAgIG1ha2VBU2FtcGxlKDUsIDUsIDEsIDEsIFNBTVBMRV9GTEFHLkRFTEFZRUQpLAor
ICAgICAgICAgICAgbWFrZUFTYW1wbGUoNiwgNiwgMSwgMSwgU0FNUExFX0ZMQUcuREVMQVlFRCks
CisgICAgICAgICAgICBtYWtlQVNhbXBsZSg3LCA3LCAxLCAxLCBTQU1QTEVfRkxBRy5OT05FKSwK
KyAgICAgICAgXSk7CisgICAgICAgIHdhaXRGb3JFdmVudE9uKHNvdXJjZUJ1ZmZlciwgJ3VwZGF0
ZWVuZCcsIHNhbXBsZXNBZGRlZCwgZmFsc2UsIHRydWUpOworICAgICAgICBydW4oJ3NvdXJjZUJ1
ZmZlci5hcHBlbmRCdWZmZXIoc2FtcGxlcyknKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBzYW1w
bGVzQWRkZWQoKSB7CisgICAgICAgIHJ1bigncXVhbGl0eSA9IHZpZGVvLmdldFZpZGVvUGxheWJh
Y2tRdWFsaXR5KCknKTsKKyAgICAgICAgdGVzdEV4cGVjdGVkKCdxdWFsaXR5LnRvdGFsVmlkZW9G
cmFtZXMnLCA4KTsKKyAgICAgICAgdGVzdEV4cGVjdGVkKCdxdWFsaXR5LmNvcnJ1cHRlZFZpZGVv
RnJhbWVzJywgMSk7CisgICAgICAgIHRlc3RFeHBlY3RlZCgncXVhbGl0eS5kcm9wcGVkVmlkZW9G
cmFtZXMnLCAyKTsKKyAgICAgICAgdGVzdEV4cGVjdGVkKCdxdWFsaXR5LnRvdGFsRnJhbWVEZWxh
eScsIDMpOworICAgICAgICBlbmRUZXN0KCk7CisgICAgfQorICAgIDwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorICAgIDx2aWRlbz48L3ZpZGVvPgorPC9ib2R5
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21l
ZGlhL21lZGlhLXNvdXJjZS9tb2NrLW1lZGlhLXNvdXJjZS5qcyBiL0xheW91dFRlc3RzL21lZGlh
L21lZGlhLXNvdXJjZS9tb2NrLW1lZGlhLXNvdXJjZS5qcwppbmRleCAzODZlN2NiMzFkNjFlYTE2
ZjRkNDZlMDZmYTA1YmZlNjYyNWE3NWMwLi43ZTRkNzk0MmMzNjRjYjFiYzJkNGRjODZlNmU4YmQ5
YmMzZjhkMzY0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvbW9j
ay1tZWRpYS1zb3VyY2UuanMKKysrIGIvTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL21v
Y2stbWVkaWEtc291cmNlLmpzCkBAIC0xMSw2ICsxMSw5IEBAIGZ1bmN0aW9uIHN0cmluZ1RvQXJy
YXkoc3RyaW5nKSB7CiB2YXIgU0FNUExFX0ZMQUcgPSB7CiAgICAgTk9ORTogMCwKICAgICBTWU5D
OiAxIDw8IDAsCisgICAgQ09SUlVQVEVEOiAxIDw8IDEsCisgICAgRFJPUFBFRDogMSA8PCAyLAor
ICAgIERFTEFZRUQ6IDEgPDwgMywKIH07CiAKIGZ1bmN0aW9uIG1ha2VBU2FtcGxlKHByZXNlbnRh
dGlvblRpbWUsIGRlY29kZVRpbWUsIGR1cmF0aW9uLCB0cmFja0lELCBmbGFncykgewo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>218678</attachid>
            <date>2013-12-07 22:58:58 -0800</date>
            <delta_ts>2013-12-08 11:17:20 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-125380-20131207225857.patch</filename>
            <type>text/plain</type>
            <size>49070</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYwMjgyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTBiM2Y2MDI1MGUxNzU5
ZjExNmNkODQ3NmQ0MjhkNWIzY2I3YzlkNi4uMTBjMGVjNGIxMTJiMTc1ZjkzNzI0YTlkYmUxMGQy
YjE3ZjdjMGM2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDk3IEBACisyMDEzLTEyLTA2ICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFtNU0VdIEFkZCBzdXBwb3J0
IGZvciBWaWRlb1BsYXliYWNrTWV0cmljcy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTEyNTM4MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFRlc3Q6IG1lZGlhL21lZGlhLXNvdXJjZS9tZWRpYS1zb3VyY2Ut
dmlkZW8tcGxheWJhY2stcXVhbGl0eS5odG1sCisKKyAgICAgICAgQWRkIGEgbmV3IG9iamVjdCB0
eXBlIFZpZGVvUGxheWJhY2tRdWFsaXR5IHRvIGJlIHJldHVybmVkIGJ5CisgICAgICAgIEhUTUxN
ZWRpYUVsZW1lbnQuZ2V0VmlkZW9QbGF5YmFja1F1YWxpdHkoKS4KKworICAgICAgICBIVE1MTWVk
aWFFbGVtZW50cyBtdXN0IHNlcGFyYXRlbHkgdHJhY2sgYSBkcm9wcGVkVmlkZW9GcmFtZSBjb3Vu
dCwgYXMKKyAgICAgICAgY2VydGFpbiBvcGVyYXRpb25zIG9uIFNvdXJjZUJ1ZmZlciB3aWxsIGRy
b3AgaW5jb21pbmcgZnJhbWVzLCB3aGljaCBtdXN0CisgICAgICAgIGJlIGFjY291bnRlZCBmb3Iu
IFJlc2V0IHRoaXMgY291bnQgd2hlbiB0aGUgbWVkaWEgZW5naW5lIGNoYW5nZXMsIHdoaWNoIGlz
CisgICAgICAgIGluZGljaXRpdmUgb2YgYSBuZXcgbWVkaWEgbG9hZCByZXF1c2V0IHN0YXJ0aW5n
LgorCisgICAgICAgIEFkZCB0aGUgbmV3IFZpZGVvUGxheWJhY2tRdWFsaXR5IGNsYXNzOgorICAg
ICAgICAqIE1vZHVsZXMvbWVkaWFzb3VyY2UvVmlkZW9QbGF5YmFja1F1YWxpdHkuY3BwOiBBZGRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6OlZpZGVvUGxheWJhY2tRdWFsaXR5OjpjcmVhdGUpOgorICAg
ICAgICAoV2ViQ29yZTo6VmlkZW9QbGF5YmFja1F1YWxpdHk6OlZpZGVvUGxheWJhY2tRdWFsaXR5
KToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc291cmNlL1ZpZGVvUGxheWJhY2tRdWFsaXR5Lmg6
IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6VmlkZW9QbGF5YmFja1F1YWxpdHk6OmNyZWF0aW9u
VGltZSk6CisgICAgICAgIChXZWJDb3JlOjpWaWRlb1BsYXliYWNrUXVhbGl0eTo6dG90YWxWaWRl
b0ZyYW1lcyk6CisgICAgICAgIChXZWJDb3JlOjpWaWRlb1BsYXliYWNrUXVhbGl0eTo6ZHJvcHBl
ZFZpZGVvRnJhbWVzKToKKyAgICAgICAgKFdlYkNvcmU6OlZpZGVvUGxheWJhY2tRdWFsaXR5Ojpj
b3JydXB0ZWRWaWRlb0ZyYW1lcyk6CisgICAgICAgIChXZWJDb3JlOjpWaWRlb1BsYXliYWNrUXVh
bGl0eTo6dG90YWxGcmFtZURlbGF5KToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc291cmNlL1Zp
ZGVvUGxheWJhY2tRdWFsaXR5LmlkbDogQWRkZWQuCisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9y
IHRoZSBuZXcgY2xhc3MgdG8gSFRNTE1lZGlhRWxlbWVudDoKKyAgICAgICAgKiBodG1sL0hUTUxN
ZWRpYUVsZW1lbnQuY3BwOgorICAgICAgICAoSFRNTE1lZGlhRWxlbWVudDo6c2hvdWxkVXNlVmlk
ZW9QbHVnaW5Qcm94eSk6CisgICAgICAgIChIVE1MTWVkaWFFbGVtZW50OjpnZXRWaWRlb1BsYXli
YWNrUXVhbGl0eSk6CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50Lmg6CisgICAgICAg
ICogaHRtbC9IVE1MTWVkaWFFbGVtZW50LmlkbDoKKworICAgICAgICBSZXBvcnQgdGhlIHZpZGVv
IHF1YWxpdHkgbWV0cmljcyBmcm9tIHRoZSBNZWRpYVBsYXllcjoKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXll
cjo6dG90YWxWaWRlb0ZyYW1lcyk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllcjo6ZHJv
cHBlZFZpZGVvRnJhbWVzKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyOjpjb3JydXB0
ZWRWaWRlb0ZyYW1lcyk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllcjo6dG90YWxGcmFt
ZURlbGF5KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNlOjp0b3RhbFZpZGVvRnJhbWVzKToK
KyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZTo6ZHJvcHBlZFZp
ZGVvRnJhbWVzKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFj
ZTo6Y29ycnVwdGVkVmlkZW9GcmFtZXMpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQ
cml2YXRlSW50ZXJmYWNlOjp0b3RhbEZyYW1lRGVsYXkpOgorCisgICAgICAgIENvcnJlY3RseSBy
ZXBvcnQgdGhlIGRyb3BwZWQgZnJhbWUgY291bnQ6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXNv
dXJjZS9Tb3VyY2VCdWZmZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U291cmNlQnVmZmVyOjpU
cmFja0J1ZmZlcjo6VHJhY2tCdWZmZXIpOiBuZWVkc1JhbmRvbUFjY2Vzc0ZsYWcgZGVmYXVsc3Qg
dG8gdHJ1ZS4KKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlcjo6c291cmNlQnVmZmVyUHJp
dmF0ZURpZFJlY2VpdmVTYW1wbGUpOiBDaGVjayB0aGUgc3luYyBzdGF0dXMgb2YgdGhlIGluY29t
aW5nIHNhbXBsZS4KKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlcjo6ZGlkRHJvcFNhbXBs
ZSk6IE5vdGlmeSB0aGUgbWVkaWEgZWxlbWVudCBvZiBhIGRyb3BwZWQgZnJhbWUuCisgICAgICAg
ICogTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuaDoKKyAgICAgICAgKiBodG1sL0hU
TUxNZWRpYUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6
SFRNTE1lZGlhRWxlbWVudCk6CisgICAgICAgIChIVE1MTWVkaWFFbGVtZW50OjptZWRpYVBsYXll
ckVuZ2luZVVwZGF0ZWQpOiBSZXNldCBtX2Ryb3BwZWRGcmFtZUNvdW50LgorICAgICAgICAoSFRN
TE1lZGlhRWxlbWVudDo6Z2V0VmlkZW9QbGF5YmFja1F1YWxpdHkpOiBSZXR1cm4gYSBuZXcgVmlk
ZW9QbGF5YmFja1F1YWxpdHkgb2JqZWN0LgorICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVu
dC5oOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6aW5jcmVtZW50RHJvcHBl
ZEZyYW1lQ291bnQpOiBTaW1wbGUgaW5jcmVtZW50ZXIuCisgICAgICAgICogcGxhdGZvcm0vTWVk
aWFTYW1wbGUuaDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU2FtcGxlOjppc1N5bmMpOiBDb252
ZW5pZW5jZSBmdW5jdGlvbi4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU2FtcGxlOjppc05vbkRp
c3BsYXlpbmcpOiBEaXR0by4KKworICAgICAgICBBZGQgc3VwcG9ydCBpbiB0aGUgQVZGb3VuZGF0
aW9uIE1lZGlhU291cmNlIEVuZ2luZToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZv
dW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMuaDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclBy
aXZhdGVNZWRpYVNvdXJjZUFWRk9iakMubW06CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXll
clByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OnRvdGFsVmlkZW9GcmFtZXMpOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpkcm9wcGVkVmlk
ZW9GcmFtZXMpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3Vy
Y2VBVkZPYmpDOjpjb3JydXB0ZWRWaWRlb0ZyYW1lcyk6CisgICAgICAgIChXZWJDb3JlOjpNZWRp
YVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OnRvdGFsRnJhbWVEZWxheSk6CisKKyAg
ICAgICAgQWRkIHN1cHBvcnQgaW4gdGhlIE1vY2sgTWVkaWFTb3VyY2UgRW5naW5lOgorICAgICAg
ICAqIHBsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja0JveC5oOgorICAgICAgICAqIHBsYXRm
b3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2UuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6TW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2U6OnRvdGFsVmlkZW9GcmFt
ZXMpOiBTaW1wbGUgYWNjZXNzb3IuCisgICAgICAgIChXZWJDb3JlOjpNb2NrTWVkaWFQbGF5ZXJN
ZWRpYVNvdXJjZTo6ZHJvcHBlZFZpZGVvRnJhbWVzKTogRGl0dG8uCisgICAgICAgIChXZWJDb3Jl
OjpNb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZTo6Y29ycnVwdGVkVmlkZW9GcmFtZXMpOiBEaXR0
by4KKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tNZWRpYVBsYXllck1lZGlhU291cmNlOjp0b3RhbEZy
YW1lRGVsYXkpOiBEaXR0by4KKyAgICAgICAgKiBwbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01v
Y2tNZWRpYVBsYXllck1lZGlhU291cmNlLmg6CisgICAgICAgICogcGxhdGZvcm0vbW9jay9tZWRp
YXNvdXJjZS9Nb2NrTWVkaWFTb3VyY2VQcml2YXRlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1v
Y2tNZWRpYVNvdXJjZVByaXZhdGU6Ok1vY2tNZWRpYVNvdXJjZVByaXZhdGUpOgorICAgICAgICAq
IHBsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja01lZGlhU291cmNlUHJpdmF0ZS5oOgorICAg
ICAgICAqIHBsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja1NvdXJjZUJ1ZmZlclByaXZhdGUu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6TW9ja1NvdXJjZUJ1ZmZlclByaXZhdGU6OmVucXVldWVT
YW1wbGUpOiBJbmNyZW1lbnQgdGhlIGZyYW1lIGNvdW50cyBiYXNlZCBvbgorICAgICAgICAgICAg
dGhlIGluY29taW5nIHNhbXBsZS4KKyAgICAgICAgKiBwbGF0Zm9ybS9tb2NrL21lZGlhc291cmNl
L01vY2tTb3VyY2VCdWZmZXJQcml2YXRlLmg6CisKKyAgICAgICAgQWRkIHRoZSBuZXcgZmlsZXMg
dG8gdGhlIHByb2plY3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAg
KiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogR05VTWFrZWZp
bGUubGlzdC5hbToKKwogMjAxMy0xMi0wNSAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNv
bT4KIAogICAgICAgICBbTVNFXSBCcmluZyBlbmQtb2Ytc3RyZWFtIGFsZ29yaXRobSBzZWN0aW9u
IHVwIHRvIGN1cnJlbnQgc3BlYy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IDUy
NWFkOTBkZTM3YThiMzMxMjI0YTc2ODNjNWZkMzJlYTk5NmE2ZGQuLjQ5ZmNlMGY5NWUwMzgwMzQ5
MTkxYWRkOWMwZGE0Njk4OTEzZDRlYzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2
ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpA
QCAtMTAzLDYgKzEwMyw3IEBAIEJJTkRJTkdfSURMUyA9IFwKICAgICAkKFdlYkNvcmUpL01vZHVs
ZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyTGlzdC5pZGwgXAogCSQoV2ViQ29yZSkvTW9kdWxl
cy9tZWRpYXNvdXJjZS9UZXh0VHJhY2tNZWRpYVNvdXJjZS5pZGwgXAogCSQoV2ViQ29yZSkvTW9k
dWxlcy9tZWRpYXNvdXJjZS9WaWRlb1RyYWNrTWVkaWFTb3VyY2UuaWRsIFwKKwkkKFdlYkNvcmUp
L01vZHVsZXMvbWVkaWFzb3VyY2UvVmlkZW9QbGF5YmFja1F1YWxpdHkuaWRsIFwKIAkkKFdlYkNv
cmUpL01vZHVsZXMvbWVkaWFzdHJlYW0vQWxsVmlkZW9DYXBhYmlsaXRpZXMuaWRsIFwKIAkkKFdl
YkNvcmUpL01vZHVsZXMvbWVkaWFzdHJlYW0vQWxsQXVkaW9DYXBhYmlsaXRpZXMuaWRsIFwKIAkk
KFdlYkNvcmUpL01vZHVsZXMvbWVkaWFzdHJlYW0vQXVkaW9TdHJlYW1UcmFjay5pZGwgXApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJD
b3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggNmI0NWI5MzU2ZjJkOWRmZDllZGVkZjc4OGU3
YjEzMjdmOGM1Yjk4YS4uNmNkODAyODhhZDJiOTMyNTgzZmNhOTkwNWUyMWJkZjI2MjgwOGEwZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC03MzUsNiArNzM1LDggQEAgd2ViY29y
ZV9idWlsdF9zb3VyY2VzICs9IFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTVmFsaWRpdHlT
dGF0ZS5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTVm9pZENhbGxiYWNrLmNwcCBcCiAJ
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1ZvaWRDYWxsYmFjay5oIFwKKwlEZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTVmlkZW9QbGF5YmFja1F1YWxpdHkuaCBcCisJRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU1ZpZGVvUGxheWJhY2tRdWFsaXR5LmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU1ZpZGVvU3RyZWFtVHJhY2suaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1ZpZGVv
U3RyZWFtVHJhY2suY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTVmlkZW9UcmFjay5j
cHAgXApAQCAtMTg4NCw2ICsxODg2LDggQEAgd2ViY29yZV9tb2R1bGVzX3NvdXJjZXMgKz0gXAog
CVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvRE9NVVJMTWVkaWFTb3VyY2UuaCBc
CiAJU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9TYW1wbGVNYXAuY3BwIFwKIAlT
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NhbXBsZU1hcC5oIFwKKwlTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1ZpZGVvUGxheWJhY2tRdWFsaXR5LmNwcCBcCisJ
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9WaWRlb1BsYXliYWNrUXVhbGl0eS5o
IFwKIAlTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL0FsbEF1ZGlvQ2FwYWJpbGl0
aWVzLmggXAogCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vQWxsVmlkZW9DYXBh
YmlsaXRpZXMuaCBcCiAJU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9BdWRpb1N0
cmVhbVRyYWNrLmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c291cmNlL1NvdXJjZUJ1ZmZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291
cmNlL1NvdXJjZUJ1ZmZlci5jcHAKaW5kZXggODk1YWFiNGMyODdiZTIyMjgyZGRmZmY2M2RiNjk2
MDE5YzFjZTA5Zi4uM2VhNzhkNmQwYmUzYzAxMTc0MDkyMzU5MjgxZTUxZWNmZmIwYTkxZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVy
LmNwcApAQCAtNjksNyArNjksNyBAQCBzdHJ1Y3QgU291cmNlQnVmZmVyOjpUcmFja0J1ZmZlciB7
CiAgICAgICAgICwgbGFzdEZyYW1lRHVyYXRpb24oTWVkaWFUaW1lOjppbnZhbGlkVGltZSgpKQog
ICAgICAgICAsIGhpZ2hlc3RQcmVzZW50YXRpb25UaW1lc3RhbXAoTWVkaWFUaW1lOjppbnZhbGlk
VGltZSgpKQogICAgICAgICAsIGxhc3RFbnF1ZXVlZFByZXNlbnRhdGlvblRpbWUoTWVkaWFUaW1l
OjppbnZhbGlkVGltZSgpKQotICAgICAgICAsIG5lZWRSYW5kb21BY2Nlc3NGbGFnKGZhbHNlKQor
ICAgICAgICAsIG5lZWRSYW5kb21BY2Nlc3NGbGFnKHRydWUpCiAgICAgICAgICwgZW5hYmxlZChm
YWxzZSkKICAgICB7CiAgICAgfQpAQCAtODYwLDEwICs4NjAsMTcgQEAgdm9pZCBTb3VyY2VCdWZm
ZXI6OnNvdXJjZUJ1ZmZlclByaXZhdGVEaWRSZWNlaXZlU2FtcGxlKFNvdXJjZUJ1ZmZlclByaXZh
dGUqLCBQYXMKICAgICAgICAgLy8gRklYTUU6IGltcGxlbWVudCBhcHBlbmQgd2luZG93cwogCiAg
ICAgICAgIC8vIDEuMTEgSWYgdGhlIG5lZWQgcmFuZG9tIGFjY2VzcyBwb2ludCBmbGFnIG9uIHRy
YWNrIGJ1ZmZlciBlcXVhbHMgdHJ1ZSwgdGhlbiBydW4gdGhlIGZvbGxvd2luZyBzdGVwczoKLSAg
ICAgICAgLy8gMS4xMS4xIElmIHRoZSBjb2RlZCBmcmFtZSBpcyBub3QgYSByYW5kb20gYWNjZXNz
IHBvaW50LCB0aGVuIGRyb3AgdGhlIGNvZGVkIGZyYW1lIGFuZCBqdW1wCi0gICAgICAgIC8vIHRv
IHRoZSB0b3Agb2YgdGhlIGxvb3AgdG8gc3RhcnQgcHJvY2Vzc2luZyB0aGUgbmV4dCBjb2RlZCBm
cmFtZS4KLSAgICAgICAgLy8gMS4xMS4yIFNldCB0aGUgbmVlZCByYW5kb20gYWNjZXNzIHBvaW50
IGZsYWcgb24gdHJhY2sgYnVmZmVyIHRvIGZhbHNlLgotICAgICAgICAvLyBOT1RFOiBNb2NrU2Ft
cGxlQm94ZXMgYXJlIG5vdCBkZWNvZGFibGUuCisgICAgICAgIGlmICh0cmFja0J1ZmZlci5uZWVk
UmFuZG9tQWNjZXNzRmxhZykgeworICAgICAgICAgICAgLy8gMS4xMS4xIElmIHRoZSBjb2RlZCBm
cmFtZSBpcyBub3QgYSByYW5kb20gYWNjZXNzIHBvaW50LCB0aGVuIGRyb3AgdGhlIGNvZGVkIGZy
YW1lIGFuZCBqdW1wCisgICAgICAgICAgICAvLyB0byB0aGUgdG9wIG9mIHRoZSBsb29wIHRvIHN0
YXJ0IHByb2Nlc3NpbmcgdGhlIG5leHQgY29kZWQgZnJhbWUuCisgICAgICAgICAgICBpZiAoIXNh
bXBsZS0+aXNTeW5jKCkpIHsKKyAgICAgICAgICAgICAgICBkaWREcm9wU2FtcGxlKCk7CisgICAg
ICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICAvLyAxLjEx
LjIgU2V0IHRoZSBuZWVkIHJhbmRvbSBhY2Nlc3MgcG9pbnQgZmxhZyBvbiB0cmFjayBidWZmZXIg
dG8gZmFsc2UuCisgICAgICAgICAgICB0cmFja0J1ZmZlci5uZWVkUmFuZG9tQWNjZXNzRmxhZyA9
IGZhbHNlOworICAgICAgICB9CiAKICAgICAgICAgLy8gMS4xMiBMZXQgc3BsaWNlZCBhdWRpbyBm
cmFtZSBiZSBhbiB1bnNldCB2YXJpYWJsZSBmb3IgaG9sZGluZyBhdWRpbyBzcGxpY2UgaW5mb3Jt
YXRpb24KICAgICAgICAgLy8gMS4xMyBMZXQgc3BsaWNlZCB0aW1lZCB0ZXh0IGZyYW1lIGJlIGFu
IHVuc2V0IHZhcmlhYmxlIGZvciBob2xkaW5nIHRpbWVkIHRleHQgc3BsaWNlIGluZm9ybWF0aW9u
CkBAIC0xMTQ2LDYgKzExNTMsMTIgQEAgdm9pZCBTb3VyY2VCdWZmZXI6OnByb3ZpZGVNZWRpYURh
dGEoKQogICAgIExPRyhNZWRpYSwgIlNvdXJjZUJ1ZmZlcjo6cHJvdmlkZU1lZGlhRGF0YSglcCkg
LSBFbnF1ZXVlZCAldSBzYW1wbGVzIiwgdGhpcywgZW5xdWV1ZWRTYW1wbGVzKTsKIH0KIAordm9p
ZCBTb3VyY2VCdWZmZXI6OmRpZERyb3BTYW1wbGUoKQoreworICAgIGlmICghaXNSZW1vdmVkKCkp
CisgICAgICAgIG1fc291cmNlLT5tZWRpYUVsZW1lbnQoKS0+aW5jcmVtZW50RHJvcHBlZEZyYW1l
Q291bnQoKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmggYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5oCmluZGV4IDc1
NjNhMzRmMTc1MTI1MjMyZjBiYzdhZDAxM2RjZjU4ZGU5MGQwNjIuLmQyMmNkYTFhZGQyMzc5MGY5
MTAzNzJjOTc1YmMyZTBjN2M1YzE3OGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuaApAQCAtMTQxLDYgKzE0MSw3IEBAIHByaXZhdGU6
CiAgICAgYm9vbCB2YWxpZGF0ZUluaXRpYWxpemF0aW9uU2VnbWVudChjb25zdCBJbml0aWFsaXph
dGlvblNlZ21lbnQmKTsKIAogICAgIHZvaWQgcHJvdmlkZU1lZGlhRGF0YSgpOworICAgIHZvaWQg
ZGlkRHJvcFNhbXBsZSgpOwogCiAgICAgUmVmUHRyPFNvdXJjZUJ1ZmZlclByaXZhdGU+IG1fcHJp
dmF0ZTsKICAgICBNZWRpYVNvdXJjZSogbV9zb3VyY2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1ZpZGVvUGxheWJhY2tRdWFsaXR5LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvVmlkZW9QbGF5YmFja1F1YWxpdHkuY3BwCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmY3YTVjZjgzY2YyMGVjODc5ZmI4NDg5NDU5MThiYWI2OWY0ZTZmYWEKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1ZpZGVvUGxh
eWJhY2tRdWFsaXR5LmNwcApAQCAtMCwwICsxLDQ1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUg
ImNvbmZpZy5oIgorI2luY2x1ZGUgIlZpZGVvUGxheWJhY2tRdWFsaXR5LmgiCisKK25hbWVzcGFj
ZSBXZWJDb3JlIHsKKworUmVmUHRyPFZpZGVvUGxheWJhY2tRdWFsaXR5PiBWaWRlb1BsYXliYWNr
UXVhbGl0eTo6Y3JlYXRlKGRvdWJsZSBjcmVhdGlvblRpbWUsIHVuc2lnbmVkIGxvbmcgdG90YWxW
aWRlb0ZyYW1lcywgdW5zaWduZWQgbG9uZyBkcm9wcGVkVmlkZW9GcmFtZXMsIHVuc2lnbmVkIGxv
bmcgY29ycnVwdGVkVmlkZW9GcmFtZXMsIGRvdWJsZSB0b3RhbEZyYW1lRGVsYXkpCit7CisgICAg
cmV0dXJuIGFkb3B0UmVmKG5ldyBWaWRlb1BsYXliYWNrUXVhbGl0eShjcmVhdGlvblRpbWUsIHRv
dGFsVmlkZW9GcmFtZXMsIGRyb3BwZWRWaWRlb0ZyYW1lcywgY29ycnVwdGVkVmlkZW9GcmFtZXMs
IHRvdGFsRnJhbWVEZWxheSkpOworfQorCitWaWRlb1BsYXliYWNrUXVhbGl0eTo6VmlkZW9QbGF5
YmFja1F1YWxpdHkoZG91YmxlIGNyZWF0aW9uVGltZSwgdW5zaWduZWQgbG9uZyB0b3RhbFZpZGVv
RnJhbWVzLCB1bnNpZ25lZCBsb25nIGRyb3BwZWRWaWRlb0ZyYW1lcywgdW5zaWduZWQgbG9uZyBj
b3JydXB0ZWRWaWRlb0ZyYW1lcywgZG91YmxlIHRvdGFsRnJhbWVEZWxheSkKKyAgICA6IG1fY3Jl
YXRpb25UaW1lKGNyZWF0aW9uVGltZSkKKyAgICAsIG1fdG90YWxWaWRlb0ZyYW1lcyh0b3RhbFZp
ZGVvRnJhbWVzKQorICAgICwgbV9kcm9wcGVkVmlkZW9GcmFtZXMoZHJvcHBlZFZpZGVvRnJhbWVz
KQorICAgICwgbV9jb3JydXB0ZWRWaWRlb0ZyYW1lcyhjb3JydXB0ZWRWaWRlb0ZyYW1lcykKKyAg
ICAsIG1fdG90YWxGcmFtZURlbGF5KHRvdGFsRnJhbWVEZWxheSkKK3sKK30KKworfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9WaWRlb1BsYXliYWNrUXVh
bGl0eS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9WaWRlb1BsYXliYWNr
UXVhbGl0eS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjViODkzNzdiN2M1MDY2MzUzYzI2N2I5Y2FiMjY2MDRmNDBi
MDI4MDcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291
cmNlL1ZpZGVvUGxheWJhY2tRdWFsaXR5LmgKQEAgLTAsMCArMSw1NyBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpZm5kZWYgVmlkZW9QbGF5YmFja1F1YWxpdHlfaAorI2RlZmluZSBWaWRlb1BsYXliYWNrUXVh
bGl0eV9oCisKKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorI2luY2x1ZGUgPHd0Zi9SZWZQ
dHIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBWaWRlb1BsYXliYWNrUXVhbGl0
eSA6IHB1YmxpYyBSZWZDb3VudGVkPFZpZGVvUGxheWJhY2tRdWFsaXR5PiB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoVmlkZW9QbGF5YmFja1F1YWxpdHkpCitwdWJsaWM6CisgICAgc3RhdGlj
IFJlZlB0cjxWaWRlb1BsYXliYWNrUXVhbGl0eT4gY3JlYXRlKGRvdWJsZSBjcmVhdGlvblRpbWUs
IHVuc2lnbmVkIGxvbmcgdG90YWxWaWRlb0ZyYW1lcywgdW5zaWduZWQgbG9uZyBkcm9wcGVkVmlk
ZW9GcmFtZXMsIHVuc2lnbmVkIGxvbmcgY29ycnVwdGVkVmlkZW9GcmFtZXMsIGRvdWJsZSB0b3Rh
bEZyYW1lRGVsYXkpOworCisgICAgZG91YmxlIGNyZWF0aW9uVGltZSgpIGNvbnN0IHsgcmV0dXJu
IG1fY3JlYXRpb25UaW1lOyB9CisgICAgdW5zaWduZWQgbG9uZyB0b3RhbFZpZGVvRnJhbWVzKCkg
Y29uc3QgeyByZXR1cm4gbV90b3RhbFZpZGVvRnJhbWVzOyB9CisgICAgdW5zaWduZWQgbG9uZyBk
cm9wcGVkVmlkZW9GcmFtZXMoKSBjb25zdCB7IHJldHVybiBtX2Ryb3BwZWRWaWRlb0ZyYW1lczsg
fQorICAgIHVuc2lnbmVkIGxvbmcgY29ycnVwdGVkVmlkZW9GcmFtZXMoKSBjb25zdCB7IHJldHVy
biBtX2NvcnJ1cHRlZFZpZGVvRnJhbWVzOyB9CisgICAgZG91YmxlIHRvdGFsRnJhbWVEZWxheSgp
IGNvbnN0IHsgcmV0dXJuIG1fdG90YWxGcmFtZURlbGF5OyB9CisKK3Byb3RlY3RlZDoKKyAgICBW
aWRlb1BsYXliYWNrUXVhbGl0eShkb3VibGUgY3JlYXRpb25UaW1lLCB1bnNpZ25lZCBsb25nIHRv
dGFsVmlkZW9GcmFtZXMsIHVuc2lnbmVkIGxvbmcgZHJvcHBlZFZpZGVvRnJhbWVzLCB1bnNpZ25l
ZCBsb25nIGNvcnJ1cHRlZFZpZGVvRnJhbWVzLCBkb3VibGUgdG90YWxGcmFtZURlbGF5KTsKKwor
ICAgIGRvdWJsZSBtX2NyZWF0aW9uVGltZTsKKyAgICB1bnNpZ25lZCBsb25nIG1fdG90YWxWaWRl
b0ZyYW1lczsKKyAgICB1bnNpZ25lZCBsb25nIG1fZHJvcHBlZFZpZGVvRnJhbWVzOworICAgIHVu
c2lnbmVkIGxvbmcgbV9jb3JydXB0ZWRWaWRlb0ZyYW1lczsKKyAgICBkb3VibGUgbV90b3RhbEZy
YW1lRGVsYXk7Cit9OworCit9CisKKyNlbmRpZiAvLyBWaWRlb1BsYXliYWNrUXVhbGl0eV9oCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1ZpZGVvUGxheWJh
Y2tRdWFsaXR5LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvVmlkZW9Q
bGF5YmFja1F1YWxpdHkuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY1YzYxOTMwMTc2MGEzODMxZTVlZmJhZjZj
NmZlMDUzMjM1NzVkMDYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc291cmNlL1ZpZGVvUGxheWJhY2tRdWFsaXR5LmlkbApAQCAtMCwwICsxLDM5IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworWworICAgIENvbmRpdGlvbmFsPU1FRElBX1NPVVJDRSwKKyAgICBOb0ludGVy
ZmFjZU9iamVjdCwKKyAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAorXSBpbnRlcmZhY2Ug
VmlkZW9QbGF5YmFja1F1YWxpdHkgeworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBkb3VibGUgY3Jl
YXRpb25UaW1lOworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHRvdGFsVmlk
ZW9GcmFtZXM7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgZHJvcHBlZFZp
ZGVvRnJhbWVzOworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGNvcnJ1cHRl
ZFZpZGVvRnJhbWVzOworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBkb3VibGUgdG90YWxGcmFtZURl
bGF5OworfTsKKworCisKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagppbmRleCAyNjkxNGQ1MWU1NWMxMzIxZmM0NTY1NzM1ZGUzNDU1NmU1YTVl
ZjUyLi41YTM4YmQ4NTFjNzZkZDM0OTcxMWRkOTBkNDY0Mzc1MzFkZjI2MTc0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC01NDE4
LDYgKzU0MTgsOSBAQAogCQlDREUzQTg1ODE3RjYwMjA0MDBDNUJFMjAgLyogQXVkaW9UcmFja1By
aXZhdGVBVkZPYmpDLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBDREUzQTg1NjE3RjYwMjA0MDBDNUJFMjAgLyogQXVkaW9UcmFja1ByaXZhdGVBVkZPYmpD
LmggKi87IH07CiAJCUNERTdGQzQ0MTgxOTA0QjEwMDJCQkI3NyAvKiBPcmRlckl0ZXJhdG9yLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENERTdGQzQy
MTgxOTA0QjEwMDJCQkI3NyAvKiBPcmRlckl0ZXJhdG9yLmNwcCAqLzsgfTsKIAkJQ0RFN0ZDNDUx
ODE5MDRCMTAwMkJCQjc3IC8qIE9yZGVySXRlcmF0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENERTdGQzQzMTgxOTA0QjEwMDJCQkI3NyAvKiBPcmRl
ckl0ZXJhdG9yLmggKi87IH07CisJCUNERTgzREIxMTgzQzQ0MDYwMDMxRUFBMyAvKiBWaWRlb1Bs
YXliYWNrUXVhbGl0eS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBDREU4M0RBRjE4M0M0NDA2MDAzMUVBQTMgLyogVmlkZW9QbGF5YmFja1F1YWxpdHku
Y3BwICovOyB9OworCQlDREU4M0RCMjE4M0M0NDA2MDAzMUVBQTMgLyogVmlkZW9QbGF5YmFja1F1
YWxpdHkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENE
RTgzREIwMTgzQzQ0MDYwMDMxRUFBMyAvKiBWaWRlb1BsYXliYWNrUXVhbGl0eS5oICovOyB9Owor
CQlDREU4M0RCNjE4M0QzNTJBMDAzMUVBQTMgLyogSlNWaWRlb1BsYXliYWNrUXVhbGl0eS5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDREU4M0RCNDE4
M0QzNTJBMDAzMUVBQTMgLyogSlNWaWRlb1BsYXliYWNrUXVhbGl0eS5jcHAgKi87IH07CiAJCUNE
RUE3NjMwMTQ2MDhBNTMwMDhCMzFGMSAvKiBQbGF0Zm9ybUNsb2NrQ0EuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RFQTc2MkUxNDYwODRERTAwOEIz
MUYxIC8qIFBsYXRmb3JtQ2xvY2tDQS5jcHAgKi87IH07CiAJCUNERUE3NjM0MTQ2MEI1NkYwMDhC
MzFGMSAvKiBDbG9ja0dlbmVyaWMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQ0RFQTc2MzIxNDYwQUUyOTAwOEIzMUYxIC8qIENsb2NrR2VuZXJpYy5j
cHAgKi87IH07CiAJCUNERUE3NjM1MTQ2MEI3MUEwMDhCMzFGMSAvKiBDbG9jay5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDREVBNzYzMzE0NjBCNDYy
MDA4QjMxRjEgLyogQ2xvY2suY3BwICovOyB9OwpAQCAtMTI1NDMsNiArMTI1NDYsMTEgQEAKIAkJ
Q0RFNjU2MEUxN0NBNkU3NjAwNTI2QkE3IC8qIG1lZGlhQ29udHJvbHNBcHBsZS5qcyAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuamF2
YXNjcmlwdDsgcGF0aCA9IG1lZGlhQ29udHJvbHNBcHBsZS5qczsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJQ0RFN0ZDNDIxODE5MDRCMTAwMkJCQjc3IC8qIE9yZGVySXRlcmF0b3IuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gT3JkZXJJdGVyYXRvci5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNERTdGQzQzMTgxOTA0QjEwMDJCQkI3NyAv
KiBPcmRlckl0ZXJhdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE9yZGVy
SXRlcmF0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0RFODNEQUYxODNDNDQw
NjAwMzFFQUEzIC8qIFZpZGVvUGxheWJhY2tRdWFsaXR5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFZpZGVvUGxheWJhY2tRdWFsaXR5LmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJQ0RFODNEQjAxODNDNDQwNjAwMzFFQUEzIC8qIFZpZGVvUGxheWJh
Y2tRdWFsaXR5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFZpZGVvUGxheWJh
Y2tRdWFsaXR5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNERTgzREIzMTgzQzQ0
MUUwMDMxRUFBMyAvKiBWaWRlb1BsYXliYWNrUXVhbGl0eS5pZGwgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gVmlkZW9QbGF5YmFj
a1F1YWxpdHkuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDREU4M0RCNDE4M0Qz
NTJBMDAzMUVBQTMgLyogSlNWaWRlb1BsYXliYWNrUXVhbGl0eS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1ZpZGVvUGxheWJhY2tRdWFsaXR5LmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0RFODNEQjUxODNEMzUyQTAwMzFFQUEzIC8qIEpTVmlk
ZW9QbGF5YmFja1F1YWxpdHkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNW
aWRlb1BsYXliYWNrUXVhbGl0eS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDREVB
NzYyQzE0NjA4MjI0MDA4QjMxRjEgLyogQ2xvY2suaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gQ2xvY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0RFQTc2MkUx
NDYwODRERTAwOEIzMUYxIC8qIFBsYXRmb3JtQ2xvY2tDQS5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBQbGF0Zm9ybUNsb2NrQ0EuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlDREVBNzYyRjE0NjA4NEVFMDA4QjMxRjEgLyogUGxhdGZvcm1DbG9ja0NB
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBsYXRmb3JtQ2xvY2tDQS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTc3NjksNiArMTc3NzcsOCBAQAogCQkJCUJF
OEVGMDQ4MTcxQzkwMTQwMDlCNDhDMyAvKiBKU1ZpZGVvVHJhY2tMaXN0LmNwcCAqLywKIAkJCQlC
RThFRjA0OTE3MUM5MDE0MDA5QjQ4QzMgLyogSlNWaWRlb1RyYWNrTGlzdC5oICovLAogCQkJCTk3
RTlFQzhCMTVEQzQ5MkYwMDRGMkU3MSAvKiBKU1ZvaWRDYWxsYmFjay5jcHAgKi8sCisJCQkJQ0RF
ODNEQjQxODNEMzUyQTAwMzFFQUEzIC8qIEpTVmlkZW9QbGF5YmFja1F1YWxpdHkuY3BwICovLAor
CQkJCUNERTgzREI1MTgzRDM1MkEwMDMxRUFBMyAvKiBKU1ZpZGVvUGxheWJhY2tRdWFsaXR5Lmgg
Ki8sCiAJCQkJOTdFOUVDOEMxNURDNDkyRjAwNEYyRTcxIC8qIEpTVm9pZENhbGxiYWNrLmggKi8s
CiAJCQkJQTdEMjBGNjAxMDdGNDA2OTAwQTgwMzkyIC8qIEpTV2ViR0xBY3RpdmVJbmZvLmNwcCAq
LywKIAkJCQlBN0QyMEY2MTEwN0Y0MDY5MDBBODAzOTIgLyogSlNXZWJHTEFjdGl2ZUluZm8uaCAq
LywKQEAgLTE4NTc0LDYgKzE4NTg0LDkgQEAKIAkJCQlDRDNBNDk1RDE3QTlEMDFCMDAyNzRFNDIg
LyogU291cmNlQnVmZmVyTGlzdC5pZGwgKi8sCiAJCQkJQ0Q4QjVBNDgxODBFMTM4QjAwOEI4RTY1
IC8qIFRleHRUcmFja01lZGlhU291cmNlLmggKi8sCiAJCQkJQ0Q4QjVBNDcxODBFMTM2MTAwOEI4
RTY1IC8qIFRleHRUcmFja01lZGlhU291cmNlLmlkbCAqLywKKwkJCQlDREU4M0RBRjE4M0M0NDA2
MDAzMUVBQTMgLyogVmlkZW9QbGF5YmFja1F1YWxpdHkuY3BwICovLAorCQkJCUNERTgzREIwMTgz
QzQ0MDYwMDMxRUFBMyAvKiBWaWRlb1BsYXliYWNrUXVhbGl0eS5oICovLAorCQkJCUNERTgzREIz
MTgzQzQ0MUUwMDMxRUFBMyAvKiBWaWRlb1BsYXliYWNrUXVhbGl0eS5pZGwgKi8sCiAJCQkJQ0Q4
QjVBNDUxODBERkY0RTAwOEI4RTY1IC8qIFZpZGVvVHJhY2tNZWRpYVNvdXJjZS5oICovLAogCQkJ
CUNEOEI1QTQ0MTgwREQ4RDYwMDhCOEU2NSAvKiBWaWRlb1RyYWNrTWVkaWFTb3VyY2UuaWRsICov
LAogCQkJCUNERDcwODk0MTgzNTlGNkUwMDJCM0RDNiAvKiBTYW1wbGVNYXAuY3BwICovLApAQCAt
MjM5MDcsNiArMjM5MjAsNyBAQAogCQkJCUIyRkEzREZEMEFCNzVBNkYwMDBFNUFDNCAvKiBKU1NW
R1NWR0VsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyRkEzREZGMEFCNzVBNkYwMDBFNUFD
NCAvKiBKU1NWR1N3aXRjaEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyRkEzRTAxMEFC
NzVBNkYwMDBFNUFDNCAvKiBKU1NWR1N5bWJvbEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAorCQkJ
CUNERTgzREIyMTgzQzQ0MDYwMDMxRUFBMyAvKiBWaWRlb1BsYXliYWNrUXVhbGl0eS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQjJGQTNFMDMwQUI3NUE2RjAwMEU1QUM0IC8qIEpTU1ZHVGV4dENvbnRl
bnRFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlCMkZBM0UwNTBBQjc1QTZGMDAwRTVBQzQg
LyogSlNTVkdUZXh0RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjIyMzYyMjkwQzNBRjA0
QTAwMDhDQTlCIC8qIEpTU1ZHVGV4dFBhdGhFbGVtZW50LmggaW4gSGVhZGVycyAqLywKQEAgLTI2
NDMyLDYgKzI2NDQ2LDcgQEAKIAkJCQk0RkIzOTBBRDE1RUY2MUYzMDA3QUQ1MUYgLyogR2VuZXJh
dGVkSW1hZ2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkQ0ODFGMDMxNDZCNUM2NTAwQUE3ODM0
IC8qIEdyYWRpZW50SW1hZ2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMDcyMEIwQTAxNEQzMzIz
NTAwNjQyOTU1IC8qIEdlbmVyaWNFdmVudFF1ZXVlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUNE
RTgzREIxMTgzQzQ0MDYwMDMxRUFBMyAvKiBWaWRlb1BsYXliYWNrUXVhbGl0eS5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQk5NzQ2QUYyMzE0RjREREU2MDAzRTdBNzAgLyogR2VvbG9jYXRpb24uY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJOTc0NkFGMjYxNEY0RERFNjAwM0U3QTcwIC8qIEdlb2xvY2F0
aW9uQ29udHJvbGxlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCMkMzREE2RDBEMDA2Q0Q2MDBF
RjZGMjYgLyogR2x5cGhQYWdlVHJlZU5vZGUuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0yODAyNSw2
ICsyODA0MCw3IEBACiAJCQkJQjIyMjc5QTQwRDAwQkYyMjAwNzFCNzgyIC8qIFNWR0NvbXBvbmVu
dFRyYW5zZmVyRnVuY3Rpb25FbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUIyMjI3QjA1
MEQwMEJGRjEwMDcxQjc4MiAvKiBTVkdDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJMDc4RTA5MEMxN0QxNENFRTAwNDIwQUExIC8qIFJUQ1Nlc3Npb25E
ZXNjcmlwdGlvbi5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlDREU4M0RCNjE4M0QzNTJBMDAzMUVB
QTMgLyogSlNWaWRlb1BsYXliYWNrUXVhbGl0eS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCMjIy
N0IwNjBEMDBCRkYxMDA3MUI3ODIgLyogU1ZHQ1NTUGFyc2VyLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCUIyMjI3QjA4MEQwMEJGRjEwMDcxQjc4MiAvKiBTVkdDU1NTdHlsZVNlbGVjdG9yLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCUIyMjI3OUE3MEQwMEJGMjIwMDcxQjc4MiAvKiBTVkdDdXJzb3JF
bGVtZW50LmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MTWVkaWFFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxl
bWVudC5jcHAKaW5kZXggNzQ0OGJkOThlYTFmNGE1YWZmZjE0MjZjNTc2MTMyZjc4OTQxMzdjMC4u
YWJmMWNkYmEyOTU3YzAzMTM4ZWJkYzJlZGFlODFlYThlZjc2ZGE1ZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCkBAIC0xMDgsNyArMTA4LDEwIEBACiAjZW5kaWYK
IAogI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisjaW5jbHVkZSAiRE9NV2luZG93LmgiCiAjaW5j
bHVkZSAiSFRNTE1lZGlhU291cmNlLmgiCisjaW5jbHVkZSAiUGVyZm9ybWFuY2UuaCIKKyNpbmNs
dWRlICJWaWRlb1BsYXliYWNrUXVhbGl0eS5oIgogI2VuZGlmCiAKICNpZiBFTkFCTEUoTUVESUFf
U1RSRUFNKQpAQCAtMjcxLDYgKzI3NCw3IEBAIEhUTUxNZWRpYUVsZW1lbnQ6OkhUTUxNZWRpYUVs
ZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQmIGRvY3VtCiAgICAg
LCBtX3ByZWxvYWQoTWVkaWFQbGF5ZXI6OkF1dG8pCiAgICAgLCBtX2Rpc3BsYXlNb2RlKFVua25v
d24pCiAgICAgLCBtX3Byb2Nlc3NpbmdNZWRpYVBsYXllckNhbGxiYWNrKDApCisgICAgLCBtX2Ry
b3BwZWRWaWRlb0ZyYW1lcygwKQogICAgICwgbV9jYWNoZWRUaW1lKE1lZGlhUGxheWVyOjppbnZh
bGlkVGltZSgpKQogICAgICwgbV9jbG9ja1RpbWVBdExhc3RDYWNoZWRUaW1lVXBkYXRlKDApCiAg
ICAgLCBtX21pbmltdW1DbG9ja1RpbWVUb1VwZGF0ZUNhY2hlZFRpbWUoMCkKQEAgLTM5MDgsNiAr
MzkxMiwxMCBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlhUGxheWVyRW5naW5lVXBkYXRl
ZChNZWRpYVBsYXllciopCiAgICAgaWYgKHJlbmRlcmVyKCkpCiAgICAgICAgIHJlbmRlcmVyKCkt
PnVwZGF0ZUZyb21FbGVtZW50KCk7CiAgICAgZW5kUHJvY2Vzc2luZ01lZGlhUGxheWVyQ2FsbGJh
Y2soKTsKKworI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisgICAgbV9kcm9wcGVkVmlkZW9GcmFt
ZXMgPSAwOworI2VuZGlmCiB9CiAKIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6bWVkaWFQbGF5ZXJG
aXJzdFZpZGVvRnJhbWVBdmFpbGFibGUoTWVkaWFQbGF5ZXIqKQpAQCAtNTIzMCw2ICs1MjM4LDI4
IEBAIGJvb2wgSFRNTE1lZGlhRWxlbWVudDo6c2hvdWxkVXNlVmlkZW9QbHVnaW5Qcm94eSgpIGNv
bnN0CiB9CiAjZW5kaWYKIAorI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCitSZWZQdHI8VmlkZW9Q
bGF5YmFja1F1YWxpdHk+IEhUTUxNZWRpYUVsZW1lbnQ6OmdldFZpZGVvUGxheWJhY2tRdWFsaXR5
KCkKK3sKKyNpZiBFTkFCTEUoV0VCX1RJTUlORykKKyAgICBET01XaW5kb3cqIGRvbVdpbmRvdyA9
IGRvY3VtZW50KCkuZG9tV2luZG93KCk7CisgICAgUGVyZm9ybWFuY2UqIHBlcmZvcm1hbmNlID0g
ZG9tV2luZG93ID8gZG9tV2luZG93LT5wZXJmb3JtYW5jZSgpIDogbnVsbHB0cjsKKyAgICBkb3Vi
bGUgbm93ID0gcGVyZm9ybWFuY2UgPyBwZXJmb3JtYW5jZS0+bm93KCkgOiAwOworI2Vsc2UKKyAg
ICBkb3VibGUgbm93ID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7CisjZW5kaWYKKwor
ICAgIGlmICghbV9wbGF5ZXIpCisgICAgICAgIHJldHVybiBWaWRlb1BsYXliYWNrUXVhbGl0eTo6
Y3JlYXRlKG5vdywgMCwgMCwgMCwgMCk7CisKKyAgICByZXR1cm4gVmlkZW9QbGF5YmFja1F1YWxp
dHk6OmNyZWF0ZShub3csCisgICAgICAgIG1fZHJvcHBlZFZpZGVvRnJhbWVzICsgbV9wbGF5ZXIt
PnRvdGFsVmlkZW9GcmFtZXMoKSwKKyAgICAgICAgbV9kcm9wcGVkVmlkZW9GcmFtZXMgKyBtX3Bs
YXllci0+ZHJvcHBlZFZpZGVvRnJhbWVzKCksCisgICAgICAgIG1fcGxheWVyLT5jb3JydXB0ZWRW
aWRlb0ZyYW1lcygpLAorICAgICAgICBtX3BsYXllci0+dG90YWxGcmFtZURlbGF5KCkpOworfQor
I2VuZGlmCisKICNpZiBFTkFCTEUoTUVESUFfQ09OVFJPTFNfU0NSSVBUKQogRE9NV3JhcHBlcldv
cmxkJiBIVE1MTWVkaWFFbGVtZW50OjplbnN1cmVJc29sYXRlZFdvcmxkKCkKIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKaW5kZXggNDQxODI1NjBhNTk3NGIxNWFmMmZkNTNj
ZGY2NTBhOTM1YmJjYjVmOC4uM2VmOWQ2MTI0MDE0YWY3Y2JlZjhjZGFlMjNmYTM3NWFjN2I2NTUz
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKQEAgLTgwLDYgKzgwLDkg
QEAgY2xhc3MgRGlzcGxheVNsZWVwRGlzYWJsZXI7CiAjaWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJ
QV9WMikKIGNsYXNzIE1lZGlhS2V5czsKICNlbmRpZgorI2lmIEVOQUJMRShNRURJQV9TT1VSQ0Up
CitjbGFzcyBWaWRlb1BsYXliYWNrUXVhbGl0eTsKKyNlbmRpZgogCiAjaWYgRU5BQkxFKFZJREVP
X1RSQUNLKQogY2xhc3MgQXVkaW9UcmFja0xpc3Q7CkBAIC0yMDEsNyArMjA0LDggQEAgcHVibGlj
OgogI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCiAvLyAgTWVkaWEgU291cmNlLgogICAgIHZvaWQg
Y2xvc2VNZWRpYVNvdXJjZSgpOwotI2VuZGlmIAorICAgIHZvaWQgaW5jcmVtZW50RHJvcHBlZEZy
YW1lQ291bnQoKSB7ICsrbV9kcm9wcGVkVmlkZW9GcmFtZXM7IH0KKyNlbmRpZgogCiAjaWYgRU5B
QkxFKEVOQ1JZUFRFRF9NRURJQSkKICAgICB2b2lkIHdlYmtpdEdlbmVyYXRlS2V5UmVxdWVzdChj
b25zdCBTdHJpbmcmIGtleVN5c3RlbSwgUGFzc1JlZlB0cjxVaW50OEFycmF5PiBpbml0RGF0YSwg
RXhjZXB0aW9uQ29kZSYpOwpAQCAtMzk4LDYgKzQwMiw4IEBAIHB1YmxpYzoKICAgICB2b2lkIG1l
ZGlhTG9hZGluZ0ZhaWxlZChNZWRpYVBsYXllcjo6TmV0d29ya1N0YXRlKTsKICAgICB2b2lkIG1l
ZGlhTG9hZGluZ0ZhaWxlZEZhdGFsbHkoTWVkaWFQbGF5ZXI6Ok5ldHdvcmtTdGF0ZSk7CiAKKyAg
ICBSZWZQdHI8VmlkZW9QbGF5YmFja1F1YWxpdHk+IGdldFZpZGVvUGxheWJhY2tRdWFsaXR5KCk7
CisKIHByb3RlY3RlZDoKICAgICBIVE1MTWVkaWFFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUm
LCBEb2N1bWVudCYsIGJvb2wpOwogICAgIHZpcnR1YWwgfkhUTUxNZWRpYUVsZW1lbnQoKTsKQEAg
LTY5OSw2ICs3MDUsNyBAQCBwcml2YXRlOgogCiAjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKICAg
ICBSZWZQdHI8SFRNTE1lZGlhU291cmNlPiBtX21lZGlhU291cmNlOworICAgIHVuc2lnbmVkIGxv
bmcgbV9kcm9wcGVkVmlkZW9GcmFtZXM7CiAjZW5kaWYKIAogICAgIG11dGFibGUgZG91YmxlIG1f
Y2FjaGVkVGltZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxl
bWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaWRsCmluZGV4
IGQ5NWIzZTg0ZWUzNGM4MDFkOTA4NDUzNDBkNDFlZmI2ZjYwZjM4NzYuLmRlNmY5MjQwMjZiYjVm
MDlhMGJiZTc3NzE5NTliMWFjYzUyYTI2NjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTE1lZGlhRWxlbWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVk
aWFFbGVtZW50LmlkbApAQCAtMTE3LDQgKzExNyw2IEBACiAKICAgICBbUmVmbGVjdCwgVHJlYXRO
dWxsQXM9TnVsbFN0cmluZ10gYXR0cmlidXRlIERPTVN0cmluZyBtZWRpYUdyb3VwOwogICAgIFtD
dXN0b21TZXR0ZXJdIGF0dHJpYnV0ZSBNZWRpYUNvbnRyb2xsZXIgY29udHJvbGxlcjsKKyAgICAK
KyAgICBbQ29uZGl0aW9uYWw9TUVESUFfU09VUkNFXSBWaWRlb1BsYXliYWNrUXVhbGl0eSBnZXRW
aWRlb1BsYXliYWNrUXVhbGl0eSgpOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL01lZGlhU2FtcGxlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZWRpYVNhbXBs
ZS5oCmluZGV4IDc0NGQzYzc5YWI5MWY2YmI2NTJjYjU0OWU1NzM4ZDVhOTViZWYxYzguLjU3NjJl
M2RlMmFjNjIyZTAwZTRjOWM3MTAzYmQ2NTcxNjYyZGQ2ZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL01lZGlhU2FtcGxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vTWVkaWFTYW1wbGUuaApAQCAtNjMsNiArNjMsOSBAQCBwdWJsaWM6CiAgICAgfTsKICAgICB2
aXJ0dWFsIFNhbXBsZUZsYWdzIGZsYWdzKCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgUGxhdGZv
cm1TYW1wbGUgcGxhdGZvcm1TYW1wbGUoKSA9IDA7CisKKyAgICBib29sIGlzU3luYygpIGNvbnN0
IHsgcmV0dXJuIGZsYWdzKCkgJiBJc1N5bmM7IH0KKyAgICBib29sIGlzTm9uRGlzcGxheWluZygp
IGNvbnN0IHsgcmV0dXJuIGZsYWdzKCkgJiBOb25EaXNwbGF5aW5nOyB9CiB9OwogCiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAKaW5kZXgg
NjQ2NThmNzdiNGZjZjgwZjVlNDk2MGZmOTU2ZmYxOWY5OTM5YWQ2MS4uZGE0Mzc3ZTAxNjZhOTAy
N2VkNjRhOTdhZjA4NmMwYzYxMmIzNDYwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcApAQCAtMTIzOSw2ICsxMjM5LDQwIEBAIHVuc2ln
bmVkIGxvbmcgbG9uZyBNZWRpYVBsYXllcjo6ZmlsZVNpemUoKSBjb25zdAogICAgIHJldHVybiBt
X3ByaXZhdGUtPmZpbGVTaXplKCk7CiB9CiAKKyNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQordW5z
aWduZWQgbG9uZyBNZWRpYVBsYXllcjo6dG90YWxWaWRlb0ZyYW1lcygpCit7CisgICAgaWYgKCFt
X3ByaXZhdGUpCisgICAgICAgIHJldHVybiAwOworCisgICAgcmV0dXJuIG1fcHJpdmF0ZS0+dG90
YWxWaWRlb0ZyYW1lcygpOworfQorCit1bnNpZ25lZCBsb25nIE1lZGlhUGxheWVyOjpkcm9wcGVk
VmlkZW9GcmFtZXMoKQoreworICAgIGlmICghbV9wcml2YXRlKQorICAgICAgICByZXR1cm4gMDsK
KworICAgIHJldHVybiBtX3ByaXZhdGUtPmRyb3BwZWRWaWRlb0ZyYW1lcygpOworfQorCit1bnNp
Z25lZCBsb25nIE1lZGlhUGxheWVyOjpjb3JydXB0ZWRWaWRlb0ZyYW1lcygpCit7CisgICAgaWYg
KCFtX3ByaXZhdGUpCisgICAgICAgIHJldHVybiAwOworCisgICAgcmV0dXJuIG1fcHJpdmF0ZS0+
Y29ycnVwdGVkVmlkZW9GcmFtZXMoKTsKK30KKworZG91YmxlIE1lZGlhUGxheWVyOjp0b3RhbEZy
YW1lRGVsYXkoKQoreworICAgIGlmICghbV9wcml2YXRlKQorICAgICAgICByZXR1cm4gMDsKKwor
ICAgIHJldHVybiBtX3ByaXZhdGUtPnRvdGFsRnJhbWVEZWxheSgpOworfQorI2VuZGlmCisKIHZv
aWQgTWVkaWFQbGF5ZXJGYWN0b3J5U3VwcG9ydDo6Y2FsbFJlZ2lzdGVyTWVkaWFFbmdpbmUoTWVk
aWFFbmdpbmVSZWdpc3RlciByZWdpc3Rlck1lZGlhRW5naW5lKQogewogICAgIHJlZ2lzdGVyTWVk
aWFFbmdpbmUoYWRkTWVkaWFFbmdpbmUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL01lZGlhUGxheWVyLmgKaW5kZXggZDRlMjE5MDNjNTc2OTg4ZDVjNzg4NjM3ODljMGU4
MTU0MzBlZGM3My4uODE1MTYzY2NiZTg1MWI0NTA1MzdlNjFjNjU1OTZmZjgyMTJkODM3ZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oCkBAIC01
MTQsNiArNTE0LDEzIEBAIHB1YmxpYzoKIAogICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBmaWxlU2l6
ZSgpIGNvbnN0OwogCisjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKKyAgICB1bnNpZ25lZCBsb25n
IHRvdGFsVmlkZW9GcmFtZXMoKTsKKyAgICB1bnNpZ25lZCBsb25nIGRyb3BwZWRWaWRlb0ZyYW1l
cygpOworICAgIHVuc2lnbmVkIGxvbmcgY29ycnVwdGVkVmlkZW9GcmFtZXMoKTsKKyAgICBkb3Vi
bGUgdG90YWxGcmFtZURlbGF5KCk7CisjZW5kaWYKKwogcHJpdmF0ZToKICAgICBNZWRpYVBsYXll
cihNZWRpYVBsYXllckNsaWVudCopOwogICAgIE1lZGlhUGxheWVyRmFjdG9yeSogbmV4dEJlc3RN
ZWRpYUVuZ2luZShNZWRpYVBsYXllckZhY3RvcnkqKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmgKaW5kZXggNDM2
YzY4YjRmNjIyN2U0ZDMyZmIwYTJiN2ExNmU0ZmE1ZWVmNTA3ZS4uY2Y3YjVmMjg4NWY1MTVmMjYz
NDMwM2JlNjNhZTc1NWQyYjg0MzRkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmgKQEAgLTIxNSw2ICsyMTUsMTMgQEAg
cHVibGljOgogICAgIHZpcnR1YWwgc2l6ZV90IGV4dHJhTWVtb3J5Q29zdCgpIGNvbnN0IHsgcmV0
dXJuIDA7IH0KICAgICAKICAgICB2aXJ0dWFsIHVuc2lnbmVkIGxvbmcgbG9uZyBmaWxlU2l6ZSgp
IGNvbnN0IHsgcmV0dXJuIDA7IH0KKworI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisgICAgdmly
dHVhbCB1bnNpZ25lZCBsb25nIHRvdGFsVmlkZW9GcmFtZXMoKSB7IHJldHVybiAwOyB9CisgICAg
dmlydHVhbCB1bnNpZ25lZCBsb25nIGRyb3BwZWRWaWRlb0ZyYW1lcygpIHsgcmV0dXJuIDA7IH0K
KyAgICB2aXJ0dWFsIHVuc2lnbmVkIGxvbmcgY29ycnVwdGVkVmlkZW9GcmFtZXMoKSB7IHJldHVy
biAwOyB9CisgICAgdmlydHVhbCBkb3VibGUgdG90YWxGcmFtZURlbGF5KCkgeyByZXR1cm4gMDsg
fQorI2VuZGlmCiB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFW
Rk9iakMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9v
YmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5oCmluZGV4IDk2ODE2MWZh
NzQxYTMyYzFmNTRkNWZiM2M5MjdjYzFiODYzN2Y1MmQuLmQ2Y2ZjMTI0NWRlMzIwZGM3NjU3MWZl
ZTQ3N2RjYWMzZjk4MjFhNWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZG
T2JqQy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlv
bi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5oCkBAIC0xMjksNiAr
MTI5LDExIEBAIHByaXZhdGU6CiAKICAgICB2aXJ0dWFsIHNpemVfdCBleHRyYU1lbW9yeUNvc3Qo
KSBjb25zdCBPVkVSUklERTsKIAorICAgIHZpcnR1YWwgdW5zaWduZWQgbG9uZyB0b3RhbFZpZGVv
RnJhbWVzKCkgT1ZFUlJJREU7CisgICAgdmlydHVhbCB1bnNpZ25lZCBsb25nIGRyb3BwZWRWaWRl
b0ZyYW1lcygpIE9WRVJSSURFOworICAgIHZpcnR1YWwgdW5zaWduZWQgbG9uZyBjb3JydXB0ZWRW
aWRlb0ZyYW1lcygpIE9WRVJSSURFOworICAgIHZpcnR1YWwgZG91YmxlIHRvdGFsRnJhbWVEZWxh
eSgpIE9WRVJSSURFOworCiAgICAgdm9pZCBlbnN1cmVMYXllcigpOwogICAgIHZvaWQgZGVzdHJv
eUxheWVyKCk7CiAgICAgdm9pZCBkdXJhdGlvbkNoYW5nZWQoKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVy
UHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZG
T2JqQy5tbQppbmRleCA5ODgwYjlmYmE2YWQzOGQ5ZTJlODYxMzE3NjZkMmE5NjhiNDMzYjcwLi5k
YWZiMGIyYjNiN2EwM2M1OWRkMmY3YmRkNjk4ZDdhNzRmNWUwMDNmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXll
clByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3Vy
Y2VBVkZPYmpDLm1tCkBAIC01MCw2ICs1MCwyMSBAQCBTT0ZUX0xJTktfQ0xBU1NfT1BUSU9OQUwo
QVZGb3VuZGF0aW9uLCBBVkFzc2V0KQogU09GVF9MSU5LX0NMQVNTX09QVElPTkFMKEFWRm91bmRh
dGlvbiwgQVZVUkxBc3NldCkKIFNPRlRfTElOS19DTEFTU19PUFRJT05BTChBVkZvdW5kYXRpb24s
IEFWU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyKQogU09GVF9MSU5LX0NMQVNTX09QVElPTkFMKEFW
Rm91bmRhdGlvbiwgQVZTdHJlYW1EYXRhUGFyc2VyKQorU09GVF9MSU5LX0NMQVNTX09QVElPTkFM
KEFWRm91bmRhdGlvbiwgQVZWaWRlb1BlcmZvcm1hbmNlTWV0cmljcykKKworI3ByYWdtYSBtYXJr
IC0KKyNwcmFnbWEgbWFyayBBVlZpZGVvUGVyZm9ybWFuY2VNZXRyaWNzCisKK0BpbnRlcmZhY2Ug
QVZWaWRlb1BlcmZvcm1hbmNlTWV0cmljcyA6IE5TT2JqZWN0CistICh1bnNpZ25lZCBsb25nKXRv
dGFsTnVtYmVyT2ZWaWRlb0ZyYW1lczsKKy0gKHVuc2lnbmVkIGxvbmcpbnVtYmVyT2ZEcm9wcGVk
VmlkZW9GcmFtZXM7CistICh1bnNpZ25lZCBsb25nKW51bWJlck9mQ29ycnVwdGVkVmlkZW9GcmFt
ZXM7CistIChkb3VibGUpdG90YWxGcmFtZURlbGF5OworQGVuZAorCitAaW50ZXJmYWNlIEFWU2Ft
cGxlQnVmZmVyRGlzcGxheUxheWVyIChXZWJDb3JlQVZTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXJQ
cml2YXRlKQorLSAoQVZWaWRlb1BlcmZvcm1hbmNlTWV0cmljcyAqKXZpZGVvUGVyZm9ybWFuY2VN
ZXRyaWNzOworQGVuZAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTM2Niw2ICszODEsMjYg
QEAgc2l6ZV90IE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6ZXh0cmFNZW1v
cnlDb3N0KCkgY29uc3QKICAgICByZXR1cm4gMDsKIH0KIAordW5zaWduZWQgbG9uZyBNZWRpYVBs
YXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OnRvdGFsVmlkZW9GcmFtZXMoKQoreworICAg
IHJldHVybiBbW21fc2FtcGxlQnVmZmVyRGlzcGxheUxheWVyIHZpZGVvUGVyZm9ybWFuY2VNZXRy
aWNzXSB0b3RhbE51bWJlck9mVmlkZW9GcmFtZXNdOworfQorCit1bnNpZ25lZCBsb25nIE1lZGlh
UGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6ZHJvcHBlZFZpZGVvRnJhbWVzKCkKK3sK
KyAgICByZXR1cm4gW1ttX3NhbXBsZUJ1ZmZlckRpc3BsYXlMYXllciB2aWRlb1BlcmZvcm1hbmNl
TWV0cmljc10gbnVtYmVyT2ZEcm9wcGVkVmlkZW9GcmFtZXNdOworfQorCit1bnNpZ25lZCBsb25n
IE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6Y29ycnVwdGVkVmlkZW9GcmFt
ZXMoKQoreworICAgIHJldHVybiBbW21fc2FtcGxlQnVmZmVyRGlzcGxheUxheWVyIHZpZGVvUGVy
Zm9ybWFuY2VNZXRyaWNzXSBudW1iZXJPZkNvcnJ1cHRlZFZpZGVvRnJhbWVzXTsKK30KKworZG91
YmxlIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6dG90YWxGcmFtZURlbGF5
KCkKK3sKKyAgICByZXR1cm4gW1ttX3NhbXBsZUJ1ZmZlckRpc3BsYXlMYXllciB2aWRlb1BlcmZv
cm1hbmNlTWV0cmljc10gdG90YWxGcmFtZURlbGF5XTsKK30KKwogI3ByYWdtYSBtYXJrIC0KICNw
cmFnbWEgbWFyayBVdGlsaXR5IE1ldGhvZHMKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrQm94LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tCb3guaAppbmRleCAzZjBjMGQzY2UyMDg1MTJlNzI4
NDY1MWRjZjdmODc3ZWYyODI1MDE5Li5mMmZkNjQzZmRmYjgyMDBlODk0OTI0M2NjZGFkZTkyYjFm
YjNlZDZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291
cmNlL01vY2tCb3guaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291
cmNlL01vY2tCb3guaApAQCAtMTI5LDggKzEyOSwxNiBAQCBwdWJsaWM6CiAgICAgaW50MzJfdCB0
cmFja0lEKCkgY29uc3QgeyByZXR1cm4gbV90cmFja0lEOyB9CiAgICAgdWludDhfdCBmbGFncygp
IGNvbnN0IHsgcmV0dXJuIG1fZmxhZ3M7IH0KIAotICAgIGVudW0geyBJc1N5bmMgPSAxIDw8IDAg
fTsKKyAgICBlbnVtIHsKKyAgICAgICAgSXNTeW5jID0gMSA8PCAwLAorICAgICAgICBJc0NvcnJ1
cHRlZCA9IDEgPDwgMSwKKyAgICAgICAgSXNEcm9wcGVkID0gMSA8PCAyLAorICAgICAgICBJc0Rl
bGF5ZWQgPSAxIDw8IDMsCisgICAgfTsKICAgICBib29sIGlzU3luYygpIGNvbnN0IHsgcmV0dXJu
IG1fZmxhZ3MgJiBJc1N5bmM7IH0KKyAgICBib29sIGlzQ29ycnVwdGVkKCkgY29uc3QgeyByZXR1
cm4gbV9mbGFncyAmIElzQ29ycnVwdGVkOyB9CisgICAgYm9vbCBpc0Ryb3BwZWQoKSBjb25zdCB7
IHJldHVybiBtX2ZsYWdzICYgSXNEcm9wcGVkOyB9CisgICAgYm9vbCBpc0RlbGF5ZWQoKSBjb25z
dCB7IHJldHVybiBtX2ZsYWdzICYgSXNEZWxheWVkOyB9CiAKIHByb3RlY3RlZDoKICAgICBNZWRp
YVRpbWUgbV9wcmVzZW50YXRpb25UaW1lc3RhbXA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tNZWRpYVBsYXllck1lZGlhU291cmNlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja01lZGlhUGxh
eWVyTWVkaWFTb3VyY2UuY3BwCmluZGV4IDJmMjMwNDg2YjkyYjYwYjMzOTg5YWEyNTc0OGQ0OWZj
NmM3NWI3ODkuLmUwZmM1MWM5ZjBjZTNmMDI1NDcwODUyYjkwYTRhMTJlNDEwZjU4NjUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja01lZGlh
UGxheWVyTWVkaWFTb3VyY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2sv
bWVkaWFzb3VyY2UvTW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2UuY3BwCkBAIC0yNDUsNiArMjQ1
LDI2IEBAIHZvaWQgTW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2U6OnNldE5ldHdvcmtTdGF0ZShN
ZWRpYVBsYXllcjo6TmV0d29ya1N0YXRlIG5ldHdvCiAgICAgbV9wbGF5ZXItPm5ldHdvcmtTdGF0
ZUNoYW5nZWQoKTsKIH0KIAordW5zaWduZWQgbG9uZyBNb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJj
ZTo6dG90YWxWaWRlb0ZyYW1lcygpCit7CisgICAgcmV0dXJuIG1fbWVkaWFTb3VyY2VQcml2YXRl
ID8gbV9tZWRpYVNvdXJjZVByaXZhdGUtPnRvdGFsVmlkZW9GcmFtZXMoKSA6IDA7Cit9CisKK3Vu
c2lnbmVkIGxvbmcgTW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2U6OmRyb3BwZWRWaWRlb0ZyYW1l
cygpCit7CisgICAgcmV0dXJuIG1fbWVkaWFTb3VyY2VQcml2YXRlID8gbV9tZWRpYVNvdXJjZVBy
aXZhdGUtPmRyb3BwZWRWaWRlb0ZyYW1lcygpIDogMDsKK30KKwordW5zaWduZWQgbG9uZyBNb2Nr
TWVkaWFQbGF5ZXJNZWRpYVNvdXJjZTo6Y29ycnVwdGVkVmlkZW9GcmFtZXMoKQoreworICAgIHJl
dHVybiBtX21lZGlhU291cmNlUHJpdmF0ZSA/IG1fbWVkaWFTb3VyY2VQcml2YXRlLT5jb3JydXB0
ZWRWaWRlb0ZyYW1lcygpIDogMDsKK30KKworZG91YmxlIE1vY2tNZWRpYVBsYXllck1lZGlhU291
cmNlOjp0b3RhbEZyYW1lRGVsYXkoKQoreworICAgIHJldHVybiBtX21lZGlhU291cmNlUHJpdmF0
ZSA/IG1fbWVkaWFTb3VyY2VQcml2YXRlLT50b3RhbEZyYW1lRGVsYXkoKSA6IDA7Cit9CisKIH0K
IAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21lZGlh
c291cmNlL01vY2tNZWRpYVBsYXllck1lZGlhU291cmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tNZWRpYVBsYXllck1lZGlhU291cmNlLmgKaW5kZXgg
ZDFjZjhiNWVlYjAwODVhOTI0YmE3YzIwNjA2NTE3NTU5NTcwODM2Mi4uOTg1YTIxZmI2Yzc3ODJi
OTc2N2JiZmM3ZTM0ZDcwNmRkY2EzMjIyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja01lZGlhUGxheWVy
TWVkaWFTb3VyY2UuaApAQCAtNzcsNiArNzcsMTAgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIGRv
dWJsZSBjdXJyZW50VGltZURvdWJsZSgpIGNvbnN0IE9WRVJSSURFOwogICAgIHZpcnR1YWwgZG91
YmxlIGR1cmF0aW9uRG91YmxlKCkgY29uc3QgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIHNl
ZWtXaXRoVG9sZXJhbmNlKGRvdWJsZSB0aW1lLCBkb3VibGUsIGRvdWJsZSkgT1ZFUlJJREU7Cisg
ICAgdmlydHVhbCB1bnNpZ25lZCBsb25nIHRvdGFsVmlkZW9GcmFtZXMoKSBPVkVSUklERTsKKyAg
ICB2aXJ0dWFsIHVuc2lnbmVkIGxvbmcgZHJvcHBlZFZpZGVvRnJhbWVzKCkgT1ZFUlJJREU7Cisg
ICAgdmlydHVhbCB1bnNpZ25lZCBsb25nIGNvcnJ1cHRlZFZpZGVvRnJhbWVzKCkgT1ZFUlJJREU7
CisgICAgdmlydHVhbCBkb3VibGUgdG90YWxGcmFtZURlbGF5KCkgT1ZFUlJJREU7CiAKICAgICBN
ZWRpYVBsYXllciogbV9wbGF5ZXI7CiAgICAgUmVmUHRyPEhUTUxNZWRpYVNvdXJjZT4gbV9tZWRp
YVNvdXJjZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFz
b3VyY2UvTW9ja01lZGlhU291cmNlUHJpdmF0ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tb2NrL21lZGlhc291cmNlL01vY2tNZWRpYVNvdXJjZVByaXZhdGUuY3BwCmluZGV4IDRiMmEz
NWYzOGY2MWM1YTg4NmUyZjgyYzUzYTE0MTZmZWU4N2RkMWUuLjgxMTE3M2RmYTU2ZGUzMTgyMGY3
YmI1ZDVmYWMwYTI0MjM1M2FlNmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21vY2svbWVkaWFzb3VyY2UvTW9ja01lZGlhU291cmNlUHJpdmF0ZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrTWVkaWFTb3VyY2VQcml2YXRl
LmNwcApAQCAtNDQsNiArNDQsMTAgQEAgTW9ja01lZGlhU291cmNlUHJpdmF0ZTo6TW9ja01lZGlh
U291cmNlUHJpdmF0ZShNb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZSogcGFyZW4KICAgICA6IG1f
cGxheWVyKHBhcmVudCkKICAgICAsIG1fZHVyYXRpb24oc3RkOjpudW1lcmljX2xpbWl0czxmbG9h
dD46OnF1aWV0X05hTigpKQogICAgICwgbV9pc0VuZGVkKGZhbHNlKQorICAgICwgbV90b3RhbFZp
ZGVvRnJhbWVzKDApCisgICAgLCBtX2Ryb3BwZWRWaWRlb0ZyYW1lcygwKQorICAgICwgbV9jb3Jy
dXB0ZWRWaWRlb0ZyYW1lcygwKQorICAgICwgbV90b3RhbEZyYW1lRGVsYXkoMCkKIHsKIH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2Nr
TWVkaWFTb3VyY2VQcml2YXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21lZGlh
c291cmNlL01vY2tNZWRpYVNvdXJjZVByaXZhdGUuaAppbmRleCA3MmQyMGE4MGViZjc0ZjBhYmU3
OTVmNDRmOGUwYTRhODFjMzk2MWRiLi5mNDQ4ZTFkZjY3OWRkNjZjZmM0MGViOTU4YTllN2I3NTFk
ZWJkNDYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291
cmNlL01vY2tNZWRpYVNvdXJjZVByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tb2NrL21lZGlhc291cmNlL01vY2tNZWRpYVNvdXJjZVByaXZhdGUuaApAQCAtNTIsNiArNTIs
MTYgQEAgcHVibGljOgogICAgIHZvaWQgc2Vla1RvVGltZShjb25zdCBNZWRpYVRpbWUmKTsKICAg
ICBNZWRpYVRpbWUgc2Vla1RvVGltZShjb25zdCBNZWRpYVRpbWUmLCBjb25zdCBNZWRpYVRpbWUm
IG5lZ2F0aXZlVGhyZXNob2xkLCBjb25zdCBNZWRpYVRpbWUmIHBvc2l0aXZlVGhyZXNob2xkKTsK
IAorICAgIHVuc2lnbmVkIGxvbmcgdG90YWxWaWRlb0ZyYW1lcygpIGNvbnN0IHsgcmV0dXJuIG1f
dG90YWxWaWRlb0ZyYW1lczsgfQorICAgIHVuc2lnbmVkIGxvbmcgZHJvcHBlZFZpZGVvRnJhbWVz
KCkgY29uc3QgIHsgcmV0dXJuIG1fZHJvcHBlZFZpZGVvRnJhbWVzOyB9CisgICAgdW5zaWduZWQg
bG9uZyBjb3JydXB0ZWRWaWRlb0ZyYW1lcygpIGNvbnN0IHsgcmV0dXJuIG1fY29ycnVwdGVkVmlk
ZW9GcmFtZXM7IH0KKyAgICBkb3VibGUgdG90YWxGcmFtZURlbGF5KCkgY29uc3QgeyByZXR1cm4g
bV90b3RhbEZyYW1lRGVsYXk7IH0KKworICAgIHZvaWQgaW5jcmVtZW50VG90YWxWaWRlb0ZyYW1l
cygpIHsgKyttX3RvdGFsVmlkZW9GcmFtZXM7IH0KKyAgICB2b2lkIGluY3JlbWVudERyb3BwZWRG
cmFtZXMoKSB7ICsrbV9kcm9wcGVkVmlkZW9GcmFtZXM7IH0KKyAgICB2b2lkIGluY3JlbWVudENv
cnJ1cHRlZEZyYW1lcygpIHsgKyttX2NvcnJ1cHRlZFZpZGVvRnJhbWVzOyB9CisgICAgdm9pZCBp
bmNyZW1lbnRUb3RhbEZyYW1lRGVsYXlCeShkb3VibGUgZGVsYXkpIHsgbV90b3RhbEZyYW1lRGVs
YXkgKz0gZGVsYXk7IH0KKwogcHJpdmF0ZToKICAgICBNb2NrTWVkaWFTb3VyY2VQcml2YXRlKE1v
Y2tNZWRpYVBsYXllck1lZGlhU291cmNlKik7CiAKQEAgLTc0LDYgKzg0LDExIEBAIHByaXZhdGU6
CiAgICAgVmVjdG9yPFJlZlB0cjxNb2NrU291cmNlQnVmZmVyUHJpdmF0ZT4+IG1fc291cmNlQnVm
ZmVyczsKICAgICBWZWN0b3I8TW9ja1NvdXJjZUJ1ZmZlclByaXZhdGUqPiBtX2FjdGl2ZVNvdXJj
ZUJ1ZmZlcnM7CiAgICAgYm9vbCBtX2lzRW5kZWQ7CisKKyAgICB1bnNpZ25lZCBsb25nIG1fdG90
YWxWaWRlb0ZyYW1lczsKKyAgICB1bnNpZ25lZCBsb25nIG1fZHJvcHBlZFZpZGVvRnJhbWVzOwor
ICAgIHVuc2lnbmVkIGxvbmcgbV9jb3JydXB0ZWRWaWRlb0ZyYW1lczsKKyAgICBkb3VibGUgbV90
b3RhbEZyYW1lRGVsYXk7CiB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tTb3VyY2VCdWZmZXJQcml2YXRlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja1NvdXJjZUJ1ZmZlclByaXZh
dGUuY3BwCmluZGV4IDg3NjcwZGFmZGJiY2Y0OWI5OTQ5NmQ4NDdlM2M1NDkwN2I4ZTI4NWQuLjRk
NTczYWIxN2Q0ZDM3MjZiYjY4YmVjNjQ3NmUyZDAwNzQ0M2NhZGUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja1NvdXJjZUJ1ZmZlclByaXZh
dGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9j
a1NvdXJjZUJ1ZmZlclByaXZhdGUuY3BwCkBAIC0yMTgsNiArMjE4LDI4IEBAIHZvaWQgTW9ja1Nv
dXJjZUJ1ZmZlclByaXZhdGU6OnNldEFjdGl2ZShib29sIGlzQWN0aXZlKQogICAgICAgICBtX21l
ZGlhU291cmNlLT5zb3VyY2VCdWZmZXJQcml2YXRlRGlkQ2hhbmdlQWN0aXZlU3RhdGUodGhpcywg
aXNBY3RpdmUpOwogfQogCit2b2lkIE1vY2tTb3VyY2VCdWZmZXJQcml2YXRlOjplbnF1ZXVlU2Ft
cGxlKFBhc3NSZWZQdHI8TWVkaWFTYW1wbGU+IHNhbXBsZSwgQXRvbWljU3RyaW5nKQoreworICAg
IGlmICghbV9tZWRpYVNvdXJjZSB8fCAhc2FtcGxlKQorICAgICAgICByZXR1cm47CisKKyAgICBQ
bGF0Zm9ybVNhbXBsZSBwbGF0Zm9ybVNhbXBsZSA9IHNhbXBsZS0+cGxhdGZvcm1TYW1wbGUoKTsK
KyAgICBpZiAocGxhdGZvcm1TYW1wbGUudHlwZSAhPSBQbGF0Zm9ybVNhbXBsZTo6TW9ja1NhbXBs
ZUJveFR5cGUpCisgICAgICAgIHJldHVybjsKKworICAgIE1vY2tTYW1wbGVCb3gqIGJveCA9IHBs
YXRmb3JtU2FtcGxlLnNhbXBsZS5tb2NrU2FtcGxlQm94OworICAgIGlmICghYm94KQorICAgICAg
ICByZXR1cm47CisKKyAgICBtX21lZGlhU291cmNlLT5pbmNyZW1lbnRUb3RhbFZpZGVvRnJhbWVz
KCk7CisgICAgaWYgKGJveC0+aXNDb3JydXB0ZWQoKSkKKyAgICAgICAgbV9tZWRpYVNvdXJjZS0+
aW5jcmVtZW50Q29ycnVwdGVkRnJhbWVzKCk7CisgICAgaWYgKGJveC0+aXNEcm9wcGVkKCkpCisg
ICAgICAgIG1fbWVkaWFTb3VyY2UtPmluY3JlbWVudERyb3BwZWRGcmFtZXMoKTsKKyAgICBpZiAo
Ym94LT5pc0RlbGF5ZWQoKSkKKyAgICAgICAgbV9tZWRpYVNvdXJjZS0+aW5jcmVtZW50VG90YWxG
cmFtZURlbGF5QnkoMSk7Cit9CisKIGJvb2wgTW9ja1NvdXJjZUJ1ZmZlclByaXZhdGU6Omhhc1Zp
ZGVvKCkgY29uc3QKIHsKICAgICBpZiAoIW1fY2xpZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrU291cmNlQnVmZmVyUHJpdmF0ZS5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrU291cmNlQnVm
ZmVyUHJpdmF0ZS5oCmluZGV4IGM1NDA5NzJjNjdkZDQ1MzY3NjVlMTlkYTM5ZjEwNWM0N2E0ZGIw
NWIuLjA2ZDJmNDQ1MGUxYjYxNjc3NjcwNWM1ZDZiMjYyNWM0YmI0NWIwNDQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja1NvdXJjZUJ1ZmZl
clByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291cmNl
L01vY2tTb3VyY2VCdWZmZXJQcml2YXRlLmgKQEAgLTcyLDcgKzcyLDcgQEAgcHJpdmF0ZToKICAg
ICB2aXJ0dWFsIGJvb2wgaXNGdWxsKCkgT1ZFUlJJREU7CiAKICAgICB2aXJ0dWFsIHZvaWQgZmx1
c2hBbmRFbnF1ZXVlTm9uRGlzcGxheWluZ1NhbXBsZXMoVmVjdG9yPFJlZlB0cjxNZWRpYVNhbXBs
ZT4+LCBBdG9taWNTdHJpbmcpIE9WRVJSSURFIHsgfQotICAgIHZpcnR1YWwgdm9pZCBlbnF1ZXVl
U2FtcGxlKFBhc3NSZWZQdHI8TWVkaWFTYW1wbGU+LCBBdG9taWNTdHJpbmcpIE9WRVJSSURFIHsg
fQorICAgIHZpcnR1YWwgdm9pZCBlbnF1ZXVlU2FtcGxlKFBhc3NSZWZQdHI8TWVkaWFTYW1wbGU+
LCBBdG9taWNTdHJpbmcpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgYm9vbCBpc1JlYWR5Rm9yTW9y
ZVNhbXBsZXMoKSBPVkVSUklERSB7IHJldHVybiB0cnVlOyB9CiAgICAgdmlydHVhbCB2b2lkIHNl
dEFjdGl2ZShib29sKSBPVkVSUklERTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDNmMDdiOWUzOWQxYzZkODVhMWQzNDE0
N2I3NDQyMTU3OTJiZGI1N2EuLjRmNWVkNmU2MDg1NGYwOTIwNTQ3MWQ2YWRiMWY5N2YyMjIzMjQ1
N2UgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMy0xMi0wNiAgSmVyIE5vYmxlICA8amVyLm5v
YmxlQGFwcGxlLmNvbT4KKworICAgICAgICBbTVNFXSBBZGQgc3VwcG9ydCBmb3IgVmlkZW9QbGF5
YmFja01ldHJpY3MuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMjUzODAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIG1lZGlhL21lZGlhLXNvdXJjZS9tZWRpYS1zb3VyY2UtdmlkZW8tcGxheWJhY2stcXVh
bGl0eS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIG1lZGlhL21lZGlhLXNvdXJjZS9t
ZWRpYS1zb3VyY2UtdmlkZW8tcGxheWJhY2stcXVhbGl0eS5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBtZWRpYS9tZWRpYS1zb3VyY2UvbW9jay1tZWRpYS1zb3VyY2UuanM6CisgICAgICAgICh2YXIp
OgorCiAyMDEzLTEyLTA1ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAg
ICAgIFtNU0VdIEJyaW5nIGVuZC1vZi1zdHJlYW0gYWxnb3JpdGhtIHNlY3Rpb24gdXAgdG8gY3Vy
cmVudCBzcGVjLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL21l
ZGlhLXNvdXJjZS1jYW5wbGF5dGhyb3VnaC5odG1sIGIvTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEt
c291cmNlL21lZGlhLXNvdXJjZS1jYW5wbGF5dGhyb3VnaC5odG1sCmluZGV4IDZlOTFmNzZlZGJl
MWUxNDFkZTBhYzk3YjZlNWUyMDE1MDU5ZGQ2MjIuLjc5NzhjMjJkNDNkNjQwOGM0OTgzZGM2Mzgz
YTdhYzUyMzkwYjNmOTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL21lZGlhL21lZGlhLXNvdXJj
ZS9tZWRpYS1zb3VyY2UtY2FucGxheXRocm91Z2guaHRtbAorKysgYi9MYXlvdXRUZXN0cy9tZWRp
YS9tZWRpYS1zb3VyY2UvbWVkaWEtc291cmNlLWNhbnBsYXl0aHJvdWdoLmh0bWwKQEAgLTM5LDcg
KzM5LDcgQEAKICAgICBmdW5jdGlvbiBzb3VyY2VVcGRhdGVkKCkgewogICAgICAgICBzb3VyY2Uu
YWN0aXZlU291cmNlQnVmZmVycy5sZW5ndGg7CiAgICAgICAgIGlmIChuZXh0UmVxdWVzdCA8IHRv
dGFsTGVuZ3RoKSB7Ci0gICAgICAgICAgICBzb3VyY2VCdWZmZXIuYXBwZW5kQnVmZmVyKG1ha2VB
U2FtcGxlKG5leHRSZXF1ZXN0LCBuZXh0UmVxdWVzdCwgMSwgMSwgMCkpOworICAgICAgICAgICAg
c291cmNlQnVmZmVyLmFwcGVuZEJ1ZmZlcihtYWtlQVNhbXBsZShuZXh0UmVxdWVzdCwgbmV4dFJl
cXVlc3QsIDEsIDEsIFNBTVBMRV9GTEFHLlNZTkMpKTsKICAgICAgICAgICAgICsrbmV4dFJlcXVl
c3Q7CiAgICAgICAgIH0KICAgICB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tZWRpYS9tZWRp
YS1zb3VyY2UvbWVkaWEtc291cmNlLXBsYXkuaHRtbCBiL0xheW91dFRlc3RzL21lZGlhL21lZGlh
LXNvdXJjZS9tZWRpYS1zb3VyY2UtcGxheS5odG1sCmluZGV4IDk2NTdhZTRmODBmN2ZlMjdhMjU0
MDk3ZTllMmEwMjFmN2E1NjBlZDIuLmNhMjQ2NGNiYjUwYjRmMTdjNDQwMzA5ZmI4ZDdjMzhkNGYy
OTdhMzIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL21lZGlhL21lZGlhLXNvdXJjZS9tZWRpYS1z
b3VyY2UtcGxheS5odG1sCisrKyBiL0xheW91dFRlc3RzL21lZGlhL21lZGlhLXNvdXJjZS9tZWRp
YS1zb3VyY2UtcGxheS5odG1sCkBAIC0zMSw3ICszMSw3IEBACiAgICAgfQogCiAgICAgZnVuY3Rp
b24gbG9hZFNhbXBsZXMoKSB7Ci0gICAgICAgIHNhbXBsZSA9IG1ha2VBU2FtcGxlKDAsIDAsIDEw
LCAxLCAwKTsKKyAgICAgICAgc2FtcGxlID0gbWFrZUFTYW1wbGUoMCwgMCwgMTAsIDEsIFNBTVBM
RV9GTEFHLlNZTkMpOwogICAgICAgICB3YWl0Rm9yRXZlbnRPbihzb3VyY2VCdWZmZXIsICd1cGRh
dGVlbmQnLCBwbGF5LCBmYWxzZSwgdHJ1ZSk7CiAgICAgICAgIHJ1bignc291cmNlQnVmZmVyLmFw
cGVuZEJ1ZmZlcihzYW1wbGUpJyk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVk
aWEvbWVkaWEtc291cmNlL21lZGlhLXNvdXJjZS12aWRlby1wbGF5YmFjay1xdWFsaXR5LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL21lZGlhL21lZGlhLXNvdXJjZS9tZWRpYS1zb3VyY2Utdmlk
ZW8tcGxheWJhY2stcXVhbGl0eS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjNhM2VhYzQwNDVm
YmEyMWFhZmFhNzc2OWE4ZTRiNThjMjBmYjgzZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL21lZGlhL21lZGlhLXNvdXJjZS9tZWRpYS1zb3VyY2UtdmlkZW8tcGxheWJhY2stcXVhbGl0
eS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyMyBAQAorCitSVU4odmlkZW8uc3JjID0gVVJMLmNy
ZWF0ZU9iamVjdFVSTChzb3VyY2UpKQorRVZFTlQoc291cmNlb3BlbikKK1JVTihzb3VyY2VCdWZm
ZXIgPSBzb3VyY2UuYWRkU291cmNlQnVmZmVyKCJ2aWRlby9tb2NrOyBjb2RlY3M9bW9jayIpKQor
UlVOKHNvdXJjZUJ1ZmZlci5hcHBlbmRCdWZmZXIoaW5pdFNlZ21lbnQpKQorRVZFTlQodXBkYXRl
ZW5kKQorVGVzdCB0aGF0IGJlZ2lubmluZyBhIGJ1ZmZlciB3aXRoIGEgbm9uLXN5bmMgc2FtcGxl
IHJlc3VsdHMgaW4gdGhhdCBzYW1wbGUgYmVpbmcgZHJvcHBlZC4KK1JVTihzb3VyY2VCdWZmZXIu
YXBwZW5kQnVmZmVyKHNhbXBsZXMpKQorRVZFTlQodXBkYXRlZW5kKQorUlVOKHF1YWxpdHkgPSB2
aWRlby5nZXRWaWRlb1BsYXliYWNrUXVhbGl0eSgpKQorRVhQRUNURUQgKHF1YWxpdHkudG90YWxW
aWRlb0ZyYW1lcyA9PSAnMScpIE9LCitFWFBFQ1RFRCAocXVhbGl0eS5jb3JydXB0ZWRWaWRlb0Zy
YW1lcyA9PSAnMCcpIE9LCitFWFBFQ1RFRCAocXVhbGl0eS5kcm9wcGVkVmlkZW9GcmFtZXMgPT0g
JzEnKSBPSworRVhQRUNURUQgKHF1YWxpdHkudG90YWxGcmFtZURlbGF5ID09ICcwJykgT0sKK1JV
Tihzb3VyY2VCdWZmZXIuYXBwZW5kQnVmZmVyKHNhbXBsZXMpKQorRVZFTlQodXBkYXRlZW5kKQor
UlVOKHF1YWxpdHkgPSB2aWRlby5nZXRWaWRlb1BsYXliYWNrUXVhbGl0eSgpKQorRVhQRUNURUQg
KHF1YWxpdHkudG90YWxWaWRlb0ZyYW1lcyA9PSAnOCcpIE9LCitFWFBFQ1RFRCAocXVhbGl0eS5j
b3JydXB0ZWRWaWRlb0ZyYW1lcyA9PSAnMScpIE9LCitFWFBFQ1RFRCAocXVhbGl0eS5kcm9wcGVk
VmlkZW9GcmFtZXMgPT0gJzInKSBPSworRVhQRUNURUQgKHF1YWxpdHkudG90YWxGcmFtZURlbGF5
ID09ICczJykgT0sKK0VORCBPRiBURVNUCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21lZGlh
L21lZGlhLXNvdXJjZS9tZWRpYS1zb3VyY2UtdmlkZW8tcGxheWJhY2stcXVhbGl0eS5odG1sIGIv
TGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL21lZGlhLXNvdXJjZS12aWRlby1wbGF5YmFj
ay1xdWFsaXR5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmY0NjgxNTZmNDMxNzhlNzNhYTA2MWMwMWYzNmVi
MThlYWU5M2RlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL21lZGlhL21lZGlhLXNv
dXJjZS9tZWRpYS1zb3VyY2UtdmlkZW8tcGxheWJhY2stcXVhbGl0eS5odG1sCkBAIC0wLDAgKzEs
NzEgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKyAgICA8dGl0bGU+bW9jay1t
ZWRpYS1zb3VyY2U8L3RpdGxlPgorICAgIDxzY3JpcHQgc3JjPSJtb2NrLW1lZGlhLXNvdXJjZS5q
cyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uL3ZpZGVvLXRlc3QuanMiPjwvc2NyaXB0
PgorICAgIDxzY3JpcHQ+CisgICAgdmFyIHNvdXJjZTsKKyAgICB2YXIgc291cmNlQnVmZmVyOwor
ICAgIHZhciBpbml0U2VnbWVudDsKKyAgICB2YXIgc2FtcGxlczsKKyAgICB2YXIgcXVhbGl0eTsK
KworICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICBpbnRlcm5hbHMuaW5pdGlhbGl6
ZU1vY2tNZWRpYVNvdXJjZSgpOworCisgICAgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAg
ZmluZE1lZGlhRWxlbWVudCgpOworCisgICAgICAgIHNvdXJjZSA9IG5ldyBNZWRpYVNvdXJjZSgp
OworICAgICAgICB3YWl0Rm9yRXZlbnRPbihzb3VyY2UsICdzb3VyY2VvcGVuJywgc291cmNlT3Bl
bik7CisgICAgICAgIHJ1bigndmlkZW8uc3JjID0gVVJMLmNyZWF0ZU9iamVjdFVSTChzb3VyY2Up
Jyk7CisgICAgfQorCisgICAgZnVuY3Rpb24gc291cmNlT3BlbigpIHsKKyAgICAgICAgcnVuKCdz
b3VyY2VCdWZmZXIgPSBzb3VyY2UuYWRkU291cmNlQnVmZmVyKCJ2aWRlby9tb2NrOyBjb2RlY3M9
bW9jayIpJyk7CisgICAgICAgIHdhaXRGb3JFdmVudE9uKHNvdXJjZUJ1ZmZlciwgJ3VwZGF0ZWVu
ZCcsIGxvYWRTYW1wbGUsIGZhbHNlLCB0cnVlKTsKKyAgICAgICAgaW5pdFNlZ21lbnQgPSBtYWtl
QUluaXQoOCwgW21ha2VBVHJhY2soMSwgJ21vY2snLCBUUkFDS19LSU5ELlZJREVPKV0pOworICAg
ICAgICBydW4oJ3NvdXJjZUJ1ZmZlci5hcHBlbmRCdWZmZXIoaW5pdFNlZ21lbnQpJyk7CisgICAg
fQorCisgICAgZnVuY3Rpb24gbG9hZFNhbXBsZSgpIHsKKyAgICAgICAgc2FtcGxlcyA9IGNvbmNh
dGVuYXRlU2FtcGxlcyhbbWFrZUFTYW1wbGUoMCwgMCwgMSwgMSwgU0FNUExFX0ZMQUcuTk9ORSld
KTsKKyAgICAgICAgd2FpdEZvckV2ZW50T24oc291cmNlQnVmZmVyLCAndXBkYXRlZW5kJywgbG9h
ZE1vcmVTYW1wbGVzLCBmYWxzZSwgdHJ1ZSk7CisgICAgICAgIGNvbnNvbGVXcml0ZSgnVGVzdCB0
aGF0IGJlZ2lubmluZyBhIGJ1ZmZlciB3aXRoIGEgbm9uLXN5bmMgc2FtcGxlIHJlc3VsdHMgaW4g
dGhhdCBzYW1wbGUgYmVpbmcgZHJvcHBlZC4nKQorICAgICAgICBydW4oJ3NvdXJjZUJ1ZmZlci5h
cHBlbmRCdWZmZXIoc2FtcGxlcyknKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBsb2FkTW9yZVNh
bXBsZXMoKSB7CisgICAgICAgIHJ1bigncXVhbGl0eSA9IHZpZGVvLmdldFZpZGVvUGxheWJhY2tR
dWFsaXR5KCknKTsKKyAgICAgICAgdGVzdEV4cGVjdGVkKCdxdWFsaXR5LnRvdGFsVmlkZW9GcmFt
ZXMnLCAxKTsKKyAgICAgICAgdGVzdEV4cGVjdGVkKCdxdWFsaXR5LmNvcnJ1cHRlZFZpZGVvRnJh
bWVzJywgMCk7CisgICAgICAgIHRlc3RFeHBlY3RlZCgncXVhbGl0eS5kcm9wcGVkVmlkZW9GcmFt
ZXMnLCAxKTsKKyAgICAgICAgdGVzdEV4cGVjdGVkKCdxdWFsaXR5LnRvdGFsRnJhbWVEZWxheScs
IDApOworCisgICAgICAgIHNhbXBsZXMgPSBjb25jYXRlbmF0ZVNhbXBsZXMoWworICAgICAgICAg
ICAgbWFrZUFTYW1wbGUoMCwgMCwgMSwgMSwgU0FNUExFX0ZMQUcuU1lOQyksCisgICAgICAgICAg
ICBtYWtlQVNhbXBsZSgxLCAxLCAxLCAxLCBTQU1QTEVfRkxBRy5DT1JSVVBURUQpLAorICAgICAg
ICAgICAgbWFrZUFTYW1wbGUoMiwgMiwgMSwgMSwgU0FNUExFX0ZMQUcuRFJPUFBFRCksCisgICAg
ICAgICAgICBtYWtlQVNhbXBsZSg0LCA0LCAxLCAxLCBTQU1QTEVfRkxBRy5ERUxBWUVEKSwKKyAg
ICAgICAgICAgIG1ha2VBU2FtcGxlKDUsIDUsIDEsIDEsIFNBTVBMRV9GTEFHLkRFTEFZRUQpLAor
ICAgICAgICAgICAgbWFrZUFTYW1wbGUoNiwgNiwgMSwgMSwgU0FNUExFX0ZMQUcuREVMQVlFRCks
CisgICAgICAgICAgICBtYWtlQVNhbXBsZSg3LCA3LCAxLCAxLCBTQU1QTEVfRkxBRy5OT05FKSwK
KyAgICAgICAgXSk7CisgICAgICAgIHdhaXRGb3JFdmVudE9uKHNvdXJjZUJ1ZmZlciwgJ3VwZGF0
ZWVuZCcsIHNhbXBsZXNBZGRlZCwgZmFsc2UsIHRydWUpOworICAgICAgICBydW4oJ3NvdXJjZUJ1
ZmZlci5hcHBlbmRCdWZmZXIoc2FtcGxlcyknKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBzYW1w
bGVzQWRkZWQoKSB7CisgICAgICAgIHJ1bigncXVhbGl0eSA9IHZpZGVvLmdldFZpZGVvUGxheWJh
Y2tRdWFsaXR5KCknKTsKKyAgICAgICAgdGVzdEV4cGVjdGVkKCdxdWFsaXR5LnRvdGFsVmlkZW9G
cmFtZXMnLCA4KTsKKyAgICAgICAgdGVzdEV4cGVjdGVkKCdxdWFsaXR5LmNvcnJ1cHRlZFZpZGVv
RnJhbWVzJywgMSk7CisgICAgICAgIHRlc3RFeHBlY3RlZCgncXVhbGl0eS5kcm9wcGVkVmlkZW9G
cmFtZXMnLCAyKTsKKyAgICAgICAgdGVzdEV4cGVjdGVkKCdxdWFsaXR5LnRvdGFsRnJhbWVEZWxh
eScsIDMpOworICAgICAgICBlbmRUZXN0KCk7CisgICAgfQorICAgIDwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorICAgIDx2aWRlbz48L3ZpZGVvPgorPC9ib2R5
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21l
ZGlhL21lZGlhLXNvdXJjZS9tb2NrLW1lZGlhLXNvdXJjZS5qcyBiL0xheW91dFRlc3RzL21lZGlh
L21lZGlhLXNvdXJjZS9tb2NrLW1lZGlhLXNvdXJjZS5qcwppbmRleCAzODZlN2NiMzFkNjFlYTE2
ZjRkNDZlMDZmYTA1YmZlNjYyNWE3NWMwLi43ZTRkNzk0MmMzNjRjYjFiYzJkNGRjODZlNmU4YmQ5
YmMzZjhkMzY0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvbW9j
ay1tZWRpYS1zb3VyY2UuanMKKysrIGIvTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL21v
Y2stbWVkaWEtc291cmNlLmpzCkBAIC0xMSw2ICsxMSw5IEBAIGZ1bmN0aW9uIHN0cmluZ1RvQXJy
YXkoc3RyaW5nKSB7CiB2YXIgU0FNUExFX0ZMQUcgPSB7CiAgICAgTk9ORTogMCwKICAgICBTWU5D
OiAxIDw8IDAsCisgICAgQ09SUlVQVEVEOiAxIDw8IDEsCisgICAgRFJPUFBFRDogMSA8PCAyLAor
ICAgIERFTEFZRUQ6IDEgPDwgMywKIH07CiAKIGZ1bmN0aW9uIG1ha2VBU2FtcGxlKHByZXNlbnRh
dGlvblRpbWUsIGRlY29kZVRpbWUsIGR1cmF0aW9uLCB0cmFja0lELCBmbGFncykgewo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>218699</attachid>
            <date>2013-12-08 11:17:25 -0800</date>
            <delta_ts>2013-12-08 12:49:42 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-125380-20131208111724.patch</filename>
            <type>text/plain</type>
            <size>49105</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYwMjgyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTBiM2Y2MDI1MGUxNzU5
ZjExNmNkODQ3NmQ0MjhkNWIzY2I3YzlkNi4uMTBjMGVjNGIxMTJiMTc1ZjkzNzI0YTlkYmUxMGQy
YjE3ZjdjMGM2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDk3IEBACisyMDEzLTEyLTA2ICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFtNU0VdIEFkZCBzdXBwb3J0
IGZvciBWaWRlb1BsYXliYWNrTWV0cmljcy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTEyNTM4MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFRlc3Q6IG1lZGlhL21lZGlhLXNvdXJjZS9tZWRpYS1zb3VyY2Ut
dmlkZW8tcGxheWJhY2stcXVhbGl0eS5odG1sCisKKyAgICAgICAgQWRkIGEgbmV3IG9iamVjdCB0
eXBlIFZpZGVvUGxheWJhY2tRdWFsaXR5IHRvIGJlIHJldHVybmVkIGJ5CisgICAgICAgIEhUTUxN
ZWRpYUVsZW1lbnQuZ2V0VmlkZW9QbGF5YmFja1F1YWxpdHkoKS4KKworICAgICAgICBIVE1MTWVk
aWFFbGVtZW50cyBtdXN0IHNlcGFyYXRlbHkgdHJhY2sgYSBkcm9wcGVkVmlkZW9GcmFtZSBjb3Vu
dCwgYXMKKyAgICAgICAgY2VydGFpbiBvcGVyYXRpb25zIG9uIFNvdXJjZUJ1ZmZlciB3aWxsIGRy
b3AgaW5jb21pbmcgZnJhbWVzLCB3aGljaCBtdXN0CisgICAgICAgIGJlIGFjY291bnRlZCBmb3Iu
IFJlc2V0IHRoaXMgY291bnQgd2hlbiB0aGUgbWVkaWEgZW5naW5lIGNoYW5nZXMsIHdoaWNoIGlz
CisgICAgICAgIGluZGljaXRpdmUgb2YgYSBuZXcgbWVkaWEgbG9hZCByZXF1c2V0IHN0YXJ0aW5n
LgorCisgICAgICAgIEFkZCB0aGUgbmV3IFZpZGVvUGxheWJhY2tRdWFsaXR5IGNsYXNzOgorICAg
ICAgICAqIE1vZHVsZXMvbWVkaWFzb3VyY2UvVmlkZW9QbGF5YmFja1F1YWxpdHkuY3BwOiBBZGRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6OlZpZGVvUGxheWJhY2tRdWFsaXR5OjpjcmVhdGUpOgorICAg
ICAgICAoV2ViQ29yZTo6VmlkZW9QbGF5YmFja1F1YWxpdHk6OlZpZGVvUGxheWJhY2tRdWFsaXR5
KToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc291cmNlL1ZpZGVvUGxheWJhY2tRdWFsaXR5Lmg6
IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6VmlkZW9QbGF5YmFja1F1YWxpdHk6OmNyZWF0aW9u
VGltZSk6CisgICAgICAgIChXZWJDb3JlOjpWaWRlb1BsYXliYWNrUXVhbGl0eTo6dG90YWxWaWRl
b0ZyYW1lcyk6CisgICAgICAgIChXZWJDb3JlOjpWaWRlb1BsYXliYWNrUXVhbGl0eTo6ZHJvcHBl
ZFZpZGVvRnJhbWVzKToKKyAgICAgICAgKFdlYkNvcmU6OlZpZGVvUGxheWJhY2tRdWFsaXR5Ojpj
b3JydXB0ZWRWaWRlb0ZyYW1lcyk6CisgICAgICAgIChXZWJDb3JlOjpWaWRlb1BsYXliYWNrUXVh
bGl0eTo6dG90YWxGcmFtZURlbGF5KToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc291cmNlL1Zp
ZGVvUGxheWJhY2tRdWFsaXR5LmlkbDogQWRkZWQuCisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9y
IHRoZSBuZXcgY2xhc3MgdG8gSFRNTE1lZGlhRWxlbWVudDoKKyAgICAgICAgKiBodG1sL0hUTUxN
ZWRpYUVsZW1lbnQuY3BwOgorICAgICAgICAoSFRNTE1lZGlhRWxlbWVudDo6c2hvdWxkVXNlVmlk
ZW9QbHVnaW5Qcm94eSk6CisgICAgICAgIChIVE1MTWVkaWFFbGVtZW50OjpnZXRWaWRlb1BsYXli
YWNrUXVhbGl0eSk6CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50Lmg6CisgICAgICAg
ICogaHRtbC9IVE1MTWVkaWFFbGVtZW50LmlkbDoKKworICAgICAgICBSZXBvcnQgdGhlIHZpZGVv
IHF1YWxpdHkgbWV0cmljcyBmcm9tIHRoZSBNZWRpYVBsYXllcjoKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXll
cjo6dG90YWxWaWRlb0ZyYW1lcyk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllcjo6ZHJv
cHBlZFZpZGVvRnJhbWVzKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyOjpjb3JydXB0
ZWRWaWRlb0ZyYW1lcyk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllcjo6dG90YWxGcmFt
ZURlbGF5KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNlOjp0b3RhbFZpZGVvRnJhbWVzKToK
KyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZTo6ZHJvcHBlZFZp
ZGVvRnJhbWVzKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFj
ZTo6Y29ycnVwdGVkVmlkZW9GcmFtZXMpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQ
cml2YXRlSW50ZXJmYWNlOjp0b3RhbEZyYW1lRGVsYXkpOgorCisgICAgICAgIENvcnJlY3RseSBy
ZXBvcnQgdGhlIGRyb3BwZWQgZnJhbWUgY291bnQ6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXNv
dXJjZS9Tb3VyY2VCdWZmZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U291cmNlQnVmZmVyOjpU
cmFja0J1ZmZlcjo6VHJhY2tCdWZmZXIpOiBuZWVkc1JhbmRvbUFjY2Vzc0ZsYWcgZGVmYXVsc3Qg
dG8gdHJ1ZS4KKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlcjo6c291cmNlQnVmZmVyUHJp
dmF0ZURpZFJlY2VpdmVTYW1wbGUpOiBDaGVjayB0aGUgc3luYyBzdGF0dXMgb2YgdGhlIGluY29t
aW5nIHNhbXBsZS4KKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlcjo6ZGlkRHJvcFNhbXBs
ZSk6IE5vdGlmeSB0aGUgbWVkaWEgZWxlbWVudCBvZiBhIGRyb3BwZWQgZnJhbWUuCisgICAgICAg
ICogTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuaDoKKyAgICAgICAgKiBodG1sL0hU
TUxNZWRpYUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6
SFRNTE1lZGlhRWxlbWVudCk6CisgICAgICAgIChIVE1MTWVkaWFFbGVtZW50OjptZWRpYVBsYXll
ckVuZ2luZVVwZGF0ZWQpOiBSZXNldCBtX2Ryb3BwZWRGcmFtZUNvdW50LgorICAgICAgICAoSFRN
TE1lZGlhRWxlbWVudDo6Z2V0VmlkZW9QbGF5YmFja1F1YWxpdHkpOiBSZXR1cm4gYSBuZXcgVmlk
ZW9QbGF5YmFja1F1YWxpdHkgb2JqZWN0LgorICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVu
dC5oOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6aW5jcmVtZW50RHJvcHBl
ZEZyYW1lQ291bnQpOiBTaW1wbGUgaW5jcmVtZW50ZXIuCisgICAgICAgICogcGxhdGZvcm0vTWVk
aWFTYW1wbGUuaDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU2FtcGxlOjppc1N5bmMpOiBDb252
ZW5pZW5jZSBmdW5jdGlvbi4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU2FtcGxlOjppc05vbkRp
c3BsYXlpbmcpOiBEaXR0by4KKworICAgICAgICBBZGQgc3VwcG9ydCBpbiB0aGUgQVZGb3VuZGF0
aW9uIE1lZGlhU291cmNlIEVuZ2luZToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZv
dW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMuaDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclBy
aXZhdGVNZWRpYVNvdXJjZUFWRk9iakMubW06CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXll
clByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OnRvdGFsVmlkZW9GcmFtZXMpOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpkcm9wcGVkVmlk
ZW9GcmFtZXMpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3Vy
Y2VBVkZPYmpDOjpjb3JydXB0ZWRWaWRlb0ZyYW1lcyk6CisgICAgICAgIChXZWJDb3JlOjpNZWRp
YVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OnRvdGFsRnJhbWVEZWxheSk6CisKKyAg
ICAgICAgQWRkIHN1cHBvcnQgaW4gdGhlIE1vY2sgTWVkaWFTb3VyY2UgRW5naW5lOgorICAgICAg
ICAqIHBsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja0JveC5oOgorICAgICAgICAqIHBsYXRm
b3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2UuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6TW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2U6OnRvdGFsVmlkZW9GcmFt
ZXMpOiBTaW1wbGUgYWNjZXNzb3IuCisgICAgICAgIChXZWJDb3JlOjpNb2NrTWVkaWFQbGF5ZXJN
ZWRpYVNvdXJjZTo6ZHJvcHBlZFZpZGVvRnJhbWVzKTogRGl0dG8uCisgICAgICAgIChXZWJDb3Jl
OjpNb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZTo6Y29ycnVwdGVkVmlkZW9GcmFtZXMpOiBEaXR0
by4KKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tNZWRpYVBsYXllck1lZGlhU291cmNlOjp0b3RhbEZy
YW1lRGVsYXkpOiBEaXR0by4KKyAgICAgICAgKiBwbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01v
Y2tNZWRpYVBsYXllck1lZGlhU291cmNlLmg6CisgICAgICAgICogcGxhdGZvcm0vbW9jay9tZWRp
YXNvdXJjZS9Nb2NrTWVkaWFTb3VyY2VQcml2YXRlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1v
Y2tNZWRpYVNvdXJjZVByaXZhdGU6Ok1vY2tNZWRpYVNvdXJjZVByaXZhdGUpOgorICAgICAgICAq
IHBsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja01lZGlhU291cmNlUHJpdmF0ZS5oOgorICAg
ICAgICAqIHBsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja1NvdXJjZUJ1ZmZlclByaXZhdGUu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6TW9ja1NvdXJjZUJ1ZmZlclByaXZhdGU6OmVucXVldWVT
YW1wbGUpOiBJbmNyZW1lbnQgdGhlIGZyYW1lIGNvdW50cyBiYXNlZCBvbgorICAgICAgICAgICAg
dGhlIGluY29taW5nIHNhbXBsZS4KKyAgICAgICAgKiBwbGF0Zm9ybS9tb2NrL21lZGlhc291cmNl
L01vY2tTb3VyY2VCdWZmZXJQcml2YXRlLmg6CisKKyAgICAgICAgQWRkIHRoZSBuZXcgZmlsZXMg
dG8gdGhlIHByb2plY3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAg
KiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogR05VTWFrZWZp
bGUubGlzdC5hbToKKwogMjAxMy0xMi0wNSAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNv
bT4KIAogICAgICAgICBbTVNFXSBCcmluZyBlbmQtb2Ytc3RyZWFtIGFsZ29yaXRobSBzZWN0aW9u
IHVwIHRvIGN1cnJlbnQgc3BlYy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IDUy
NWFkOTBkZTM3YThiMzMxMjI0YTc2ODNjNWZkMzJlYTk5NmE2ZGQuLjQ5ZmNlMGY5NWUwMzgwMzQ5
MTkxYWRkOWMwZGE0Njk4OTEzZDRlYzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2
ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpA
QCAtMTAzLDYgKzEwMyw3IEBAIEJJTkRJTkdfSURMUyA9IFwKICAgICAkKFdlYkNvcmUpL01vZHVs
ZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyTGlzdC5pZGwgXAogCSQoV2ViQ29yZSkvTW9kdWxl
cy9tZWRpYXNvdXJjZS9UZXh0VHJhY2tNZWRpYVNvdXJjZS5pZGwgXAogCSQoV2ViQ29yZSkvTW9k
dWxlcy9tZWRpYXNvdXJjZS9WaWRlb1RyYWNrTWVkaWFTb3VyY2UuaWRsIFwKKwkkKFdlYkNvcmUp
L01vZHVsZXMvbWVkaWFzb3VyY2UvVmlkZW9QbGF5YmFja1F1YWxpdHkuaWRsIFwKIAkkKFdlYkNv
cmUpL01vZHVsZXMvbWVkaWFzdHJlYW0vQWxsVmlkZW9DYXBhYmlsaXRpZXMuaWRsIFwKIAkkKFdl
YkNvcmUpL01vZHVsZXMvbWVkaWFzdHJlYW0vQWxsQXVkaW9DYXBhYmlsaXRpZXMuaWRsIFwKIAkk
KFdlYkNvcmUpL01vZHVsZXMvbWVkaWFzdHJlYW0vQXVkaW9TdHJlYW1UcmFjay5pZGwgXApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJD
b3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggNmI0NWI5MzU2ZjJkOWRmZDllZGVkZjc4OGU3
YjEzMjdmOGM1Yjk4YS4uNmNkODAyODhhZDJiOTMyNTgzZmNhOTkwNWUyMWJkZjI2MjgwOGEwZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC03MzUsNiArNzM1LDggQEAgd2ViY29y
ZV9idWlsdF9zb3VyY2VzICs9IFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTVmFsaWRpdHlT
dGF0ZS5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTVm9pZENhbGxiYWNrLmNwcCBcCiAJ
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1ZvaWRDYWxsYmFjay5oIFwKKwlEZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTVmlkZW9QbGF5YmFja1F1YWxpdHkuaCBcCisJRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU1ZpZGVvUGxheWJhY2tRdWFsaXR5LmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU1ZpZGVvU3RyZWFtVHJhY2suaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1ZpZGVv
U3RyZWFtVHJhY2suY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTVmlkZW9UcmFjay5j
cHAgXApAQCAtMTg4NCw2ICsxODg2LDggQEAgd2ViY29yZV9tb2R1bGVzX3NvdXJjZXMgKz0gXAog
CVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvRE9NVVJMTWVkaWFTb3VyY2UuaCBc
CiAJU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9TYW1wbGVNYXAuY3BwIFwKIAlT
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NhbXBsZU1hcC5oIFwKKwlTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1ZpZGVvUGxheWJhY2tRdWFsaXR5LmNwcCBcCisJ
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9WaWRlb1BsYXliYWNrUXVhbGl0eS5o
IFwKIAlTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL0FsbEF1ZGlvQ2FwYWJpbGl0
aWVzLmggXAogCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vQWxsVmlkZW9DYXBh
YmlsaXRpZXMuaCBcCiAJU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9BdWRpb1N0
cmVhbVRyYWNrLmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c291cmNlL1NvdXJjZUJ1ZmZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291
cmNlL1NvdXJjZUJ1ZmZlci5jcHAKaW5kZXggODk1YWFiNGMyODdiZTIyMjgyZGRmZmY2M2RiNjk2
MDE5YzFjZTA5Zi4uM2VhNzhkNmQwYmUzYzAxMTc0MDkyMzU5MjgxZTUxZWNmZmIwYTkxZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVy
LmNwcApAQCAtNjksNyArNjksNyBAQCBzdHJ1Y3QgU291cmNlQnVmZmVyOjpUcmFja0J1ZmZlciB7
CiAgICAgICAgICwgbGFzdEZyYW1lRHVyYXRpb24oTWVkaWFUaW1lOjppbnZhbGlkVGltZSgpKQog
ICAgICAgICAsIGhpZ2hlc3RQcmVzZW50YXRpb25UaW1lc3RhbXAoTWVkaWFUaW1lOjppbnZhbGlk
VGltZSgpKQogICAgICAgICAsIGxhc3RFbnF1ZXVlZFByZXNlbnRhdGlvblRpbWUoTWVkaWFUaW1l
OjppbnZhbGlkVGltZSgpKQotICAgICAgICAsIG5lZWRSYW5kb21BY2Nlc3NGbGFnKGZhbHNlKQor
ICAgICAgICAsIG5lZWRSYW5kb21BY2Nlc3NGbGFnKHRydWUpCiAgICAgICAgICwgZW5hYmxlZChm
YWxzZSkKICAgICB7CiAgICAgfQpAQCAtODYwLDEwICs4NjAsMTcgQEAgdm9pZCBTb3VyY2VCdWZm
ZXI6OnNvdXJjZUJ1ZmZlclByaXZhdGVEaWRSZWNlaXZlU2FtcGxlKFNvdXJjZUJ1ZmZlclByaXZh
dGUqLCBQYXMKICAgICAgICAgLy8gRklYTUU6IGltcGxlbWVudCBhcHBlbmQgd2luZG93cwogCiAg
ICAgICAgIC8vIDEuMTEgSWYgdGhlIG5lZWQgcmFuZG9tIGFjY2VzcyBwb2ludCBmbGFnIG9uIHRy
YWNrIGJ1ZmZlciBlcXVhbHMgdHJ1ZSwgdGhlbiBydW4gdGhlIGZvbGxvd2luZyBzdGVwczoKLSAg
ICAgICAgLy8gMS4xMS4xIElmIHRoZSBjb2RlZCBmcmFtZSBpcyBub3QgYSByYW5kb20gYWNjZXNz
IHBvaW50LCB0aGVuIGRyb3AgdGhlIGNvZGVkIGZyYW1lIGFuZCBqdW1wCi0gICAgICAgIC8vIHRv
IHRoZSB0b3Agb2YgdGhlIGxvb3AgdG8gc3RhcnQgcHJvY2Vzc2luZyB0aGUgbmV4dCBjb2RlZCBm
cmFtZS4KLSAgICAgICAgLy8gMS4xMS4yIFNldCB0aGUgbmVlZCByYW5kb20gYWNjZXNzIHBvaW50
IGZsYWcgb24gdHJhY2sgYnVmZmVyIHRvIGZhbHNlLgotICAgICAgICAvLyBOT1RFOiBNb2NrU2Ft
cGxlQm94ZXMgYXJlIG5vdCBkZWNvZGFibGUuCisgICAgICAgIGlmICh0cmFja0J1ZmZlci5uZWVk
UmFuZG9tQWNjZXNzRmxhZykgeworICAgICAgICAgICAgLy8gMS4xMS4xIElmIHRoZSBjb2RlZCBm
cmFtZSBpcyBub3QgYSByYW5kb20gYWNjZXNzIHBvaW50LCB0aGVuIGRyb3AgdGhlIGNvZGVkIGZy
YW1lIGFuZCBqdW1wCisgICAgICAgICAgICAvLyB0byB0aGUgdG9wIG9mIHRoZSBsb29wIHRvIHN0
YXJ0IHByb2Nlc3NpbmcgdGhlIG5leHQgY29kZWQgZnJhbWUuCisgICAgICAgICAgICBpZiAoIXNh
bXBsZS0+aXNTeW5jKCkpIHsKKyAgICAgICAgICAgICAgICBkaWREcm9wU2FtcGxlKCk7CisgICAg
ICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICAvLyAxLjEx
LjIgU2V0IHRoZSBuZWVkIHJhbmRvbSBhY2Nlc3MgcG9pbnQgZmxhZyBvbiB0cmFjayBidWZmZXIg
dG8gZmFsc2UuCisgICAgICAgICAgICB0cmFja0J1ZmZlci5uZWVkUmFuZG9tQWNjZXNzRmxhZyA9
IGZhbHNlOworICAgICAgICB9CiAKICAgICAgICAgLy8gMS4xMiBMZXQgc3BsaWNlZCBhdWRpbyBm
cmFtZSBiZSBhbiB1bnNldCB2YXJpYWJsZSBmb3IgaG9sZGluZyBhdWRpbyBzcGxpY2UgaW5mb3Jt
YXRpb24KICAgICAgICAgLy8gMS4xMyBMZXQgc3BsaWNlZCB0aW1lZCB0ZXh0IGZyYW1lIGJlIGFu
IHVuc2V0IHZhcmlhYmxlIGZvciBob2xkaW5nIHRpbWVkIHRleHQgc3BsaWNlIGluZm9ybWF0aW9u
CkBAIC0xMTQ2LDYgKzExNTMsMTIgQEAgdm9pZCBTb3VyY2VCdWZmZXI6OnByb3ZpZGVNZWRpYURh
dGEoKQogICAgIExPRyhNZWRpYSwgIlNvdXJjZUJ1ZmZlcjo6cHJvdmlkZU1lZGlhRGF0YSglcCkg
LSBFbnF1ZXVlZCAldSBzYW1wbGVzIiwgdGhpcywgZW5xdWV1ZWRTYW1wbGVzKTsKIH0KIAordm9p
ZCBTb3VyY2VCdWZmZXI6OmRpZERyb3BTYW1wbGUoKQoreworICAgIGlmICghaXNSZW1vdmVkKCkp
CisgICAgICAgIG1fc291cmNlLT5tZWRpYUVsZW1lbnQoKS0+aW5jcmVtZW50RHJvcHBlZEZyYW1l
Q291bnQoKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmggYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5oCmluZGV4IDc1
NjNhMzRmMTc1MTI1MjMyZjBiYzdhZDAxM2RjZjU4ZGU5MGQwNjIuLmQyMmNkYTFhZGQyMzc5MGY5
MTAzNzJjOTc1YmMyZTBjN2M1YzE3OGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuaApAQCAtMTQxLDYgKzE0MSw3IEBAIHByaXZhdGU6
CiAgICAgYm9vbCB2YWxpZGF0ZUluaXRpYWxpemF0aW9uU2VnbWVudChjb25zdCBJbml0aWFsaXph
dGlvblNlZ21lbnQmKTsKIAogICAgIHZvaWQgcHJvdmlkZU1lZGlhRGF0YSgpOworICAgIHZvaWQg
ZGlkRHJvcFNhbXBsZSgpOwogCiAgICAgUmVmUHRyPFNvdXJjZUJ1ZmZlclByaXZhdGU+IG1fcHJp
dmF0ZTsKICAgICBNZWRpYVNvdXJjZSogbV9zb3VyY2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1ZpZGVvUGxheWJhY2tRdWFsaXR5LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvVmlkZW9QbGF5YmFja1F1YWxpdHkuY3BwCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmY3YTVjZjgzY2YyMGVjODc5ZmI4NDg5NDU5MThiYWI2OWY0ZTZmYWEKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1ZpZGVvUGxh
eWJhY2tRdWFsaXR5LmNwcApAQCAtMCwwICsxLDQ1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUg
ImNvbmZpZy5oIgorI2luY2x1ZGUgIlZpZGVvUGxheWJhY2tRdWFsaXR5LmgiCisKK25hbWVzcGFj
ZSBXZWJDb3JlIHsKKworUmVmUHRyPFZpZGVvUGxheWJhY2tRdWFsaXR5PiBWaWRlb1BsYXliYWNr
UXVhbGl0eTo6Y3JlYXRlKGRvdWJsZSBjcmVhdGlvblRpbWUsIHVuc2lnbmVkIGxvbmcgdG90YWxW
aWRlb0ZyYW1lcywgdW5zaWduZWQgbG9uZyBkcm9wcGVkVmlkZW9GcmFtZXMsIHVuc2lnbmVkIGxv
bmcgY29ycnVwdGVkVmlkZW9GcmFtZXMsIGRvdWJsZSB0b3RhbEZyYW1lRGVsYXkpCit7CisgICAg
cmV0dXJuIGFkb3B0UmVmKG5ldyBWaWRlb1BsYXliYWNrUXVhbGl0eShjcmVhdGlvblRpbWUsIHRv
dGFsVmlkZW9GcmFtZXMsIGRyb3BwZWRWaWRlb0ZyYW1lcywgY29ycnVwdGVkVmlkZW9GcmFtZXMs
IHRvdGFsRnJhbWVEZWxheSkpOworfQorCitWaWRlb1BsYXliYWNrUXVhbGl0eTo6VmlkZW9QbGF5
YmFja1F1YWxpdHkoZG91YmxlIGNyZWF0aW9uVGltZSwgdW5zaWduZWQgbG9uZyB0b3RhbFZpZGVv
RnJhbWVzLCB1bnNpZ25lZCBsb25nIGRyb3BwZWRWaWRlb0ZyYW1lcywgdW5zaWduZWQgbG9uZyBj
b3JydXB0ZWRWaWRlb0ZyYW1lcywgZG91YmxlIHRvdGFsRnJhbWVEZWxheSkKKyAgICA6IG1fY3Jl
YXRpb25UaW1lKGNyZWF0aW9uVGltZSkKKyAgICAsIG1fdG90YWxWaWRlb0ZyYW1lcyh0b3RhbFZp
ZGVvRnJhbWVzKQorICAgICwgbV9kcm9wcGVkVmlkZW9GcmFtZXMoZHJvcHBlZFZpZGVvRnJhbWVz
KQorICAgICwgbV9jb3JydXB0ZWRWaWRlb0ZyYW1lcyhjb3JydXB0ZWRWaWRlb0ZyYW1lcykKKyAg
ICAsIG1fdG90YWxGcmFtZURlbGF5KHRvdGFsRnJhbWVEZWxheSkKK3sKK30KKworfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9WaWRlb1BsYXliYWNrUXVh
bGl0eS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9WaWRlb1BsYXliYWNr
UXVhbGl0eS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjViODkzNzdiN2M1MDY2MzUzYzI2N2I5Y2FiMjY2MDRmNDBi
MDI4MDcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291
cmNlL1ZpZGVvUGxheWJhY2tRdWFsaXR5LmgKQEAgLTAsMCArMSw1NyBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpZm5kZWYgVmlkZW9QbGF5YmFja1F1YWxpdHlfaAorI2RlZmluZSBWaWRlb1BsYXliYWNrUXVh
bGl0eV9oCisKKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorI2luY2x1ZGUgPHd0Zi9SZWZQ
dHIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBWaWRlb1BsYXliYWNrUXVhbGl0
eSA6IHB1YmxpYyBSZWZDb3VudGVkPFZpZGVvUGxheWJhY2tRdWFsaXR5PiB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoVmlkZW9QbGF5YmFja1F1YWxpdHkpCitwdWJsaWM6CisgICAgc3RhdGlj
IFJlZlB0cjxWaWRlb1BsYXliYWNrUXVhbGl0eT4gY3JlYXRlKGRvdWJsZSBjcmVhdGlvblRpbWUs
IHVuc2lnbmVkIGxvbmcgdG90YWxWaWRlb0ZyYW1lcywgdW5zaWduZWQgbG9uZyBkcm9wcGVkVmlk
ZW9GcmFtZXMsIHVuc2lnbmVkIGxvbmcgY29ycnVwdGVkVmlkZW9GcmFtZXMsIGRvdWJsZSB0b3Rh
bEZyYW1lRGVsYXkpOworCisgICAgZG91YmxlIGNyZWF0aW9uVGltZSgpIGNvbnN0IHsgcmV0dXJu
IG1fY3JlYXRpb25UaW1lOyB9CisgICAgdW5zaWduZWQgbG9uZyB0b3RhbFZpZGVvRnJhbWVzKCkg
Y29uc3QgeyByZXR1cm4gbV90b3RhbFZpZGVvRnJhbWVzOyB9CisgICAgdW5zaWduZWQgbG9uZyBk
cm9wcGVkVmlkZW9GcmFtZXMoKSBjb25zdCB7IHJldHVybiBtX2Ryb3BwZWRWaWRlb0ZyYW1lczsg
fQorICAgIHVuc2lnbmVkIGxvbmcgY29ycnVwdGVkVmlkZW9GcmFtZXMoKSBjb25zdCB7IHJldHVy
biBtX2NvcnJ1cHRlZFZpZGVvRnJhbWVzOyB9CisgICAgZG91YmxlIHRvdGFsRnJhbWVEZWxheSgp
IGNvbnN0IHsgcmV0dXJuIG1fdG90YWxGcmFtZURlbGF5OyB9CisKK3Byb3RlY3RlZDoKKyAgICBW
aWRlb1BsYXliYWNrUXVhbGl0eShkb3VibGUgY3JlYXRpb25UaW1lLCB1bnNpZ25lZCBsb25nIHRv
dGFsVmlkZW9GcmFtZXMsIHVuc2lnbmVkIGxvbmcgZHJvcHBlZFZpZGVvRnJhbWVzLCB1bnNpZ25l
ZCBsb25nIGNvcnJ1cHRlZFZpZGVvRnJhbWVzLCBkb3VibGUgdG90YWxGcmFtZURlbGF5KTsKKwor
ICAgIGRvdWJsZSBtX2NyZWF0aW9uVGltZTsKKyAgICB1bnNpZ25lZCBsb25nIG1fdG90YWxWaWRl
b0ZyYW1lczsKKyAgICB1bnNpZ25lZCBsb25nIG1fZHJvcHBlZFZpZGVvRnJhbWVzOworICAgIHVu
c2lnbmVkIGxvbmcgbV9jb3JydXB0ZWRWaWRlb0ZyYW1lczsKKyAgICBkb3VibGUgbV90b3RhbEZy
YW1lRGVsYXk7Cit9OworCit9CisKKyNlbmRpZiAvLyBWaWRlb1BsYXliYWNrUXVhbGl0eV9oCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1ZpZGVvUGxheWJh
Y2tRdWFsaXR5LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvVmlkZW9Q
bGF5YmFja1F1YWxpdHkuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY1YzYxOTMwMTc2MGEzODMxZTVlZmJhZjZj
NmZlMDUzMjM1NzVkMDYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc291cmNlL1ZpZGVvUGxheWJhY2tRdWFsaXR5LmlkbApAQCAtMCwwICsxLDM5IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworWworICAgIENvbmRpdGlvbmFsPU1FRElBX1NPVVJDRSwKKyAgICBOb0ludGVy
ZmFjZU9iamVjdCwKKyAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAorXSBpbnRlcmZhY2Ug
VmlkZW9QbGF5YmFja1F1YWxpdHkgeworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBkb3VibGUgY3Jl
YXRpb25UaW1lOworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHRvdGFsVmlk
ZW9GcmFtZXM7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgZHJvcHBlZFZp
ZGVvRnJhbWVzOworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGNvcnJ1cHRl
ZFZpZGVvRnJhbWVzOworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBkb3VibGUgdG90YWxGcmFtZURl
bGF5OworfTsKKworCisKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagppbmRleCAyNjkxNGQ1MWU1NWMxMzIxZmM0NTY1NzM1ZGUzNDU1NmU1YTVl
ZjUyLi41YTM4YmQ4NTFjNzZkZDM0OTcxMWRkOTBkNDY0Mzc1MzFkZjI2MTc0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC01NDE4
LDYgKzU0MTgsOSBAQAogCQlDREUzQTg1ODE3RjYwMjA0MDBDNUJFMjAgLyogQXVkaW9UcmFja1By
aXZhdGVBVkZPYmpDLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBDREUzQTg1NjE3RjYwMjA0MDBDNUJFMjAgLyogQXVkaW9UcmFja1ByaXZhdGVBVkZPYmpD
LmggKi87IH07CiAJCUNERTdGQzQ0MTgxOTA0QjEwMDJCQkI3NyAvKiBPcmRlckl0ZXJhdG9yLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENERTdGQzQy
MTgxOTA0QjEwMDJCQkI3NyAvKiBPcmRlckl0ZXJhdG9yLmNwcCAqLzsgfTsKIAkJQ0RFN0ZDNDUx
ODE5MDRCMTAwMkJCQjc3IC8qIE9yZGVySXRlcmF0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENERTdGQzQzMTgxOTA0QjEwMDJCQkI3NyAvKiBPcmRl
ckl0ZXJhdG9yLmggKi87IH07CisJCUNERTgzREIxMTgzQzQ0MDYwMDMxRUFBMyAvKiBWaWRlb1Bs
YXliYWNrUXVhbGl0eS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBDREU4M0RBRjE4M0M0NDA2MDAzMUVBQTMgLyogVmlkZW9QbGF5YmFja1F1YWxpdHku
Y3BwICovOyB9OworCQlDREU4M0RCMjE4M0M0NDA2MDAzMUVBQTMgLyogVmlkZW9QbGF5YmFja1F1
YWxpdHkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENE
RTgzREIwMTgzQzQ0MDYwMDMxRUFBMyAvKiBWaWRlb1BsYXliYWNrUXVhbGl0eS5oICovOyB9Owor
CQlDREU4M0RCNjE4M0QzNTJBMDAzMUVBQTMgLyogSlNWaWRlb1BsYXliYWNrUXVhbGl0eS5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDREU4M0RCNDE4
M0QzNTJBMDAzMUVBQTMgLyogSlNWaWRlb1BsYXliYWNrUXVhbGl0eS5jcHAgKi87IH07CiAJCUNE
RUE3NjMwMTQ2MDhBNTMwMDhCMzFGMSAvKiBQbGF0Zm9ybUNsb2NrQ0EuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RFQTc2MkUxNDYwODRERTAwOEIz
MUYxIC8qIFBsYXRmb3JtQ2xvY2tDQS5jcHAgKi87IH07CiAJCUNERUE3NjM0MTQ2MEI1NkYwMDhC
MzFGMSAvKiBDbG9ja0dlbmVyaWMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQ0RFQTc2MzIxNDYwQUUyOTAwOEIzMUYxIC8qIENsb2NrR2VuZXJpYy5j
cHAgKi87IH07CiAJCUNERUE3NjM1MTQ2MEI3MUEwMDhCMzFGMSAvKiBDbG9jay5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDREVBNzYzMzE0NjBCNDYy
MDA4QjMxRjEgLyogQ2xvY2suY3BwICovOyB9OwpAQCAtMTI1NDMsNiArMTI1NDYsMTEgQEAKIAkJ
Q0RFNjU2MEUxN0NBNkU3NjAwNTI2QkE3IC8qIG1lZGlhQ29udHJvbHNBcHBsZS5qcyAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuamF2
YXNjcmlwdDsgcGF0aCA9IG1lZGlhQ29udHJvbHNBcHBsZS5qczsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJQ0RFN0ZDNDIxODE5MDRCMTAwMkJCQjc3IC8qIE9yZGVySXRlcmF0b3IuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gT3JkZXJJdGVyYXRvci5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNERTdGQzQzMTgxOTA0QjEwMDJCQkI3NyAv
KiBPcmRlckl0ZXJhdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE9yZGVy
SXRlcmF0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0RFODNEQUYxODNDNDQw
NjAwMzFFQUEzIC8qIFZpZGVvUGxheWJhY2tRdWFsaXR5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFZpZGVvUGxheWJhY2tRdWFsaXR5LmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJQ0RFODNEQjAxODNDNDQwNjAwMzFFQUEzIC8qIFZpZGVvUGxheWJh
Y2tRdWFsaXR5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFZpZGVvUGxheWJh
Y2tRdWFsaXR5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNERTgzREIzMTgzQzQ0
MUUwMDMxRUFBMyAvKiBWaWRlb1BsYXliYWNrUXVhbGl0eS5pZGwgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gVmlkZW9QbGF5YmFj
a1F1YWxpdHkuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDREU4M0RCNDE4M0Qz
NTJBMDAzMUVBQTMgLyogSlNWaWRlb1BsYXliYWNrUXVhbGl0eS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1ZpZGVvUGxheWJhY2tRdWFsaXR5LmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0RFODNEQjUxODNEMzUyQTAwMzFFQUEzIC8qIEpTVmlk
ZW9QbGF5YmFja1F1YWxpdHkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNW
aWRlb1BsYXliYWNrUXVhbGl0eS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDREVB
NzYyQzE0NjA4MjI0MDA4QjMxRjEgLyogQ2xvY2suaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gQ2xvY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0RFQTc2MkUx
NDYwODRERTAwOEIzMUYxIC8qIFBsYXRmb3JtQ2xvY2tDQS5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBQbGF0Zm9ybUNsb2NrQ0EuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlDREVBNzYyRjE0NjA4NEVFMDA4QjMxRjEgLyogUGxhdGZvcm1DbG9ja0NB
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBsYXRmb3JtQ2xvY2tDQS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTc3NjksNiArMTc3NzcsOCBAQAogCQkJCUJF
OEVGMDQ4MTcxQzkwMTQwMDlCNDhDMyAvKiBKU1ZpZGVvVHJhY2tMaXN0LmNwcCAqLywKIAkJCQlC
RThFRjA0OTE3MUM5MDE0MDA5QjQ4QzMgLyogSlNWaWRlb1RyYWNrTGlzdC5oICovLAogCQkJCTk3
RTlFQzhCMTVEQzQ5MkYwMDRGMkU3MSAvKiBKU1ZvaWRDYWxsYmFjay5jcHAgKi8sCisJCQkJQ0RF
ODNEQjQxODNEMzUyQTAwMzFFQUEzIC8qIEpTVmlkZW9QbGF5YmFja1F1YWxpdHkuY3BwICovLAor
CQkJCUNERTgzREI1MTgzRDM1MkEwMDMxRUFBMyAvKiBKU1ZpZGVvUGxheWJhY2tRdWFsaXR5Lmgg
Ki8sCiAJCQkJOTdFOUVDOEMxNURDNDkyRjAwNEYyRTcxIC8qIEpTVm9pZENhbGxiYWNrLmggKi8s
CiAJCQkJQTdEMjBGNjAxMDdGNDA2OTAwQTgwMzkyIC8qIEpTV2ViR0xBY3RpdmVJbmZvLmNwcCAq
LywKIAkJCQlBN0QyMEY2MTEwN0Y0MDY5MDBBODAzOTIgLyogSlNXZWJHTEFjdGl2ZUluZm8uaCAq
LywKQEAgLTE4NTc0LDYgKzE4NTg0LDkgQEAKIAkJCQlDRDNBNDk1RDE3QTlEMDFCMDAyNzRFNDIg
LyogU291cmNlQnVmZmVyTGlzdC5pZGwgKi8sCiAJCQkJQ0Q4QjVBNDgxODBFMTM4QjAwOEI4RTY1
IC8qIFRleHRUcmFja01lZGlhU291cmNlLmggKi8sCiAJCQkJQ0Q4QjVBNDcxODBFMTM2MTAwOEI4
RTY1IC8qIFRleHRUcmFja01lZGlhU291cmNlLmlkbCAqLywKKwkJCQlDREU4M0RBRjE4M0M0NDA2
MDAzMUVBQTMgLyogVmlkZW9QbGF5YmFja1F1YWxpdHkuY3BwICovLAorCQkJCUNERTgzREIwMTgz
QzQ0MDYwMDMxRUFBMyAvKiBWaWRlb1BsYXliYWNrUXVhbGl0eS5oICovLAorCQkJCUNERTgzREIz
MTgzQzQ0MUUwMDMxRUFBMyAvKiBWaWRlb1BsYXliYWNrUXVhbGl0eS5pZGwgKi8sCiAJCQkJQ0Q4
QjVBNDUxODBERkY0RTAwOEI4RTY1IC8qIFZpZGVvVHJhY2tNZWRpYVNvdXJjZS5oICovLAogCQkJ
CUNEOEI1QTQ0MTgwREQ4RDYwMDhCOEU2NSAvKiBWaWRlb1RyYWNrTWVkaWFTb3VyY2UuaWRsICov
LAogCQkJCUNERDcwODk0MTgzNTlGNkUwMDJCM0RDNiAvKiBTYW1wbGVNYXAuY3BwICovLApAQCAt
MjM5MDcsNiArMjM5MjAsNyBAQAogCQkJCUIyRkEzREZEMEFCNzVBNkYwMDBFNUFDNCAvKiBKU1NW
R1NWR0VsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyRkEzREZGMEFCNzVBNkYwMDBFNUFD
NCAvKiBKU1NWR1N3aXRjaEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyRkEzRTAxMEFC
NzVBNkYwMDBFNUFDNCAvKiBKU1NWR1N5bWJvbEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAorCQkJ
CUNERTgzREIyMTgzQzQ0MDYwMDMxRUFBMyAvKiBWaWRlb1BsYXliYWNrUXVhbGl0eS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQjJGQTNFMDMwQUI3NUE2RjAwMEU1QUM0IC8qIEpTU1ZHVGV4dENvbnRl
bnRFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlCMkZBM0UwNTBBQjc1QTZGMDAwRTVBQzQg
LyogSlNTVkdUZXh0RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjIyMzYyMjkwQzNBRjA0
QTAwMDhDQTlCIC8qIEpTU1ZHVGV4dFBhdGhFbGVtZW50LmggaW4gSGVhZGVycyAqLywKQEAgLTI2
NDMyLDYgKzI2NDQ2LDcgQEAKIAkJCQk0RkIzOTBBRDE1RUY2MUYzMDA3QUQ1MUYgLyogR2VuZXJh
dGVkSW1hZ2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkQ0ODFGMDMxNDZCNUM2NTAwQUE3ODM0
IC8qIEdyYWRpZW50SW1hZ2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMDcyMEIwQTAxNEQzMzIz
NTAwNjQyOTU1IC8qIEdlbmVyaWNFdmVudFF1ZXVlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUNE
RTgzREIxMTgzQzQ0MDYwMDMxRUFBMyAvKiBWaWRlb1BsYXliYWNrUXVhbGl0eS5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQk5NzQ2QUYyMzE0RjREREU2MDAzRTdBNzAgLyogR2VvbG9jYXRpb24uY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJOTc0NkFGMjYxNEY0RERFNjAwM0U3QTcwIC8qIEdlb2xvY2F0
aW9uQ29udHJvbGxlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCMkMzREE2RDBEMDA2Q0Q2MDBF
RjZGMjYgLyogR2x5cGhQYWdlVHJlZU5vZGUuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0yODAyNSw2
ICsyODA0MCw3IEBACiAJCQkJQjIyMjc5QTQwRDAwQkYyMjAwNzFCNzgyIC8qIFNWR0NvbXBvbmVu
dFRyYW5zZmVyRnVuY3Rpb25FbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUIyMjI3QjA1
MEQwMEJGRjEwMDcxQjc4MiAvKiBTVkdDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJMDc4RTA5MEMxN0QxNENFRTAwNDIwQUExIC8qIFJUQ1Nlc3Npb25E
ZXNjcmlwdGlvbi5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlDREU4M0RCNjE4M0QzNTJBMDAzMUVB
QTMgLyogSlNWaWRlb1BsYXliYWNrUXVhbGl0eS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCMjIy
N0IwNjBEMDBCRkYxMDA3MUI3ODIgLyogU1ZHQ1NTUGFyc2VyLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCUIyMjI3QjA4MEQwMEJGRjEwMDcxQjc4MiAvKiBTVkdDU1NTdHlsZVNlbGVjdG9yLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCUIyMjI3OUE3MEQwMEJGMjIwMDcxQjc4MiAvKiBTVkdDdXJzb3JF
bGVtZW50LmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MTWVkaWFFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxl
bWVudC5jcHAKaW5kZXggNzQ0OGJkOThlYTFmNGE1YWZmZjE0MjZjNTc2MTMyZjc4OTQxMzdjMC4u
YWJmMWNkYmEyOTU3YzAzMTM4ZWJkYzJlZGFlODFlYThlZjc2ZGE1ZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCkBAIC0xMDgsNyArMTA4LDEwIEBACiAjZW5kaWYK
IAogI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisjaW5jbHVkZSAiRE9NV2luZG93LmgiCiAjaW5j
bHVkZSAiSFRNTE1lZGlhU291cmNlLmgiCisjaW5jbHVkZSAiUGVyZm9ybWFuY2UuaCIKKyNpbmNs
dWRlICJWaWRlb1BsYXliYWNrUXVhbGl0eS5oIgogI2VuZGlmCiAKICNpZiBFTkFCTEUoTUVESUFf
U1RSRUFNKQpAQCAtMjcxLDYgKzI3NCw3IEBAIEhUTUxNZWRpYUVsZW1lbnQ6OkhUTUxNZWRpYUVs
ZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQmIGRvY3VtCiAgICAg
LCBtX3ByZWxvYWQoTWVkaWFQbGF5ZXI6OkF1dG8pCiAgICAgLCBtX2Rpc3BsYXlNb2RlKFVua25v
d24pCiAgICAgLCBtX3Byb2Nlc3NpbmdNZWRpYVBsYXllckNhbGxiYWNrKDApCisgICAgLCBtX2Ry
b3BwZWRWaWRlb0ZyYW1lcygwKQogICAgICwgbV9jYWNoZWRUaW1lKE1lZGlhUGxheWVyOjppbnZh
bGlkVGltZSgpKQogICAgICwgbV9jbG9ja1RpbWVBdExhc3RDYWNoZWRUaW1lVXBkYXRlKDApCiAg
ICAgLCBtX21pbmltdW1DbG9ja1RpbWVUb1VwZGF0ZUNhY2hlZFRpbWUoMCkKQEAgLTM5MDgsNiAr
MzkxMiwxMCBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlhUGxheWVyRW5naW5lVXBkYXRl
ZChNZWRpYVBsYXllciopCiAgICAgaWYgKHJlbmRlcmVyKCkpCiAgICAgICAgIHJlbmRlcmVyKCkt
PnVwZGF0ZUZyb21FbGVtZW50KCk7CiAgICAgZW5kUHJvY2Vzc2luZ01lZGlhUGxheWVyQ2FsbGJh
Y2soKTsKKworI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisgICAgbV9kcm9wcGVkVmlkZW9GcmFt
ZXMgPSAwOworI2VuZGlmCiB9CiAKIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6bWVkaWFQbGF5ZXJG
aXJzdFZpZGVvRnJhbWVBdmFpbGFibGUoTWVkaWFQbGF5ZXIqKQpAQCAtNTIzMCw2ICs1MjM4LDI4
IEBAIGJvb2wgSFRNTE1lZGlhRWxlbWVudDo6c2hvdWxkVXNlVmlkZW9QbHVnaW5Qcm94eSgpIGNv
bnN0CiB9CiAjZW5kaWYKIAorI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCitSZWZQdHI8VmlkZW9Q
bGF5YmFja1F1YWxpdHk+IEhUTUxNZWRpYUVsZW1lbnQ6OmdldFZpZGVvUGxheWJhY2tRdWFsaXR5
KCkKK3sKKyNpZiBFTkFCTEUoV0VCX1RJTUlORykKKyAgICBET01XaW5kb3cqIGRvbVdpbmRvdyA9
IGRvY3VtZW50KCkuZG9tV2luZG93KCk7CisgICAgUGVyZm9ybWFuY2UqIHBlcmZvcm1hbmNlID0g
ZG9tV2luZG93ID8gZG9tV2luZG93LT5wZXJmb3JtYW5jZSgpIDogbnVsbHB0cjsKKyAgICBkb3Vi
bGUgbm93ID0gcGVyZm9ybWFuY2UgPyBwZXJmb3JtYW5jZS0+bm93KCkgOiAwOworI2Vsc2UKKyAg
ICBkb3VibGUgbm93ID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7CisjZW5kaWYKKwor
ICAgIGlmICghbV9wbGF5ZXIpCisgICAgICAgIHJldHVybiBWaWRlb1BsYXliYWNrUXVhbGl0eTo6
Y3JlYXRlKG5vdywgMCwgMCwgMCwgMCk7CisKKyAgICByZXR1cm4gVmlkZW9QbGF5YmFja1F1YWxp
dHk6OmNyZWF0ZShub3csCisgICAgICAgIG1fZHJvcHBlZFZpZGVvRnJhbWVzICsgbV9wbGF5ZXIt
PnRvdGFsVmlkZW9GcmFtZXMoKSwKKyAgICAgICAgbV9kcm9wcGVkVmlkZW9GcmFtZXMgKyBtX3Bs
YXllci0+ZHJvcHBlZFZpZGVvRnJhbWVzKCksCisgICAgICAgIG1fcGxheWVyLT5jb3JydXB0ZWRW
aWRlb0ZyYW1lcygpLAorICAgICAgICBtX3BsYXllci0+dG90YWxGcmFtZURlbGF5KCkpOworfQor
I2VuZGlmCisKICNpZiBFTkFCTEUoTUVESUFfQ09OVFJPTFNfU0NSSVBUKQogRE9NV3JhcHBlcldv
cmxkJiBIVE1MTWVkaWFFbGVtZW50OjplbnN1cmVJc29sYXRlZFdvcmxkKCkKIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKaW5kZXggNDQxODI1NjBhNTk3NGIxNWFmMmZkNTNj
ZGY2NTBhOTM1YmJjYjVmOC4uYzNkMWJmMTczZDhhMWY5M2U2MWRiZTgwZTA2MmRmMmNmNjQ2NWM5
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKQEAgLTgwLDYgKzgwLDkg
QEAgY2xhc3MgRGlzcGxheVNsZWVwRGlzYWJsZXI7CiAjaWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJ
QV9WMikKIGNsYXNzIE1lZGlhS2V5czsKICNlbmRpZgorI2lmIEVOQUJMRShNRURJQV9TT1VSQ0Up
CitjbGFzcyBWaWRlb1BsYXliYWNrUXVhbGl0eTsKKyNlbmRpZgogCiAjaWYgRU5BQkxFKFZJREVP
X1RSQUNLKQogY2xhc3MgQXVkaW9UcmFja0xpc3Q7CkBAIC0yMDEsNyArMjA0LDggQEAgcHVibGlj
OgogI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCiAvLyAgTWVkaWEgU291cmNlLgogICAgIHZvaWQg
Y2xvc2VNZWRpYVNvdXJjZSgpOwotI2VuZGlmIAorICAgIHZvaWQgaW5jcmVtZW50RHJvcHBlZEZy
YW1lQ291bnQoKSB7ICsrbV9kcm9wcGVkVmlkZW9GcmFtZXM7IH0KKyNlbmRpZgogCiAjaWYgRU5B
QkxFKEVOQ1JZUFRFRF9NRURJQSkKICAgICB2b2lkIHdlYmtpdEdlbmVyYXRlS2V5UmVxdWVzdChj
b25zdCBTdHJpbmcmIGtleVN5c3RlbSwgUGFzc1JlZlB0cjxVaW50OEFycmF5PiBpbml0RGF0YSwg
RXhjZXB0aW9uQ29kZSYpOwpAQCAtMzk4LDYgKzQwMiwxMCBAQCBwdWJsaWM6CiAgICAgdm9pZCBt
ZWRpYUxvYWRpbmdGYWlsZWQoTWVkaWFQbGF5ZXI6Ok5ldHdvcmtTdGF0ZSk7CiAgICAgdm9pZCBt
ZWRpYUxvYWRpbmdGYWlsZWRGYXRhbGx5KE1lZGlhUGxheWVyOjpOZXR3b3JrU3RhdGUpOwogCisj
aWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKKyAgICBSZWZQdHI8VmlkZW9QbGF5YmFja1F1YWxpdHk+
IGdldFZpZGVvUGxheWJhY2tRdWFsaXR5KCk7CisjZW5kaWYKKwogcHJvdGVjdGVkOgogICAgIEhU
TUxNZWRpYUVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50JiwgYm9vbCk7CiAg
ICAgdmlydHVhbCB+SFRNTE1lZGlhRWxlbWVudCgpOwpAQCAtNjk5LDYgKzcwNyw3IEBAIHByaXZh
dGU6CiAKICNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQogICAgIFJlZlB0cjxIVE1MTWVkaWFTb3Vy
Y2U+IG1fbWVkaWFTb3VyY2U7CisgICAgdW5zaWduZWQgbG9uZyBtX2Ryb3BwZWRWaWRlb0ZyYW1l
czsKICNlbmRpZgogCiAgICAgbXV0YWJsZSBkb3VibGUgbV9jYWNoZWRUaW1lOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmlkbCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5pZGwKaW5kZXggZDk1YjNlODRlZTM0YzgwMWQ5MDg0
NTM0MGQ0MWVmYjZmNjBmMzg3Ni4uZGU2ZjkyNDAyNmJiNWYwOWEwYmJlNzc3MTk1OWIxYWNjNTJh
MjY2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50Lmlk
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaWRsCkBAIC0xMTcs
NCArMTE3LDYgQEAKIAogICAgIFtSZWZsZWN0LCBUcmVhdE51bGxBcz1OdWxsU3RyaW5nXSBhdHRy
aWJ1dGUgRE9NU3RyaW5nIG1lZGlhR3JvdXA7CiAgICAgW0N1c3RvbVNldHRlcl0gYXR0cmlidXRl
IE1lZGlhQ29udHJvbGxlciBjb250cm9sbGVyOworICAgIAorICAgIFtDb25kaXRpb25hbD1NRURJ
QV9TT1VSQ0VdIFZpZGVvUGxheWJhY2tRdWFsaXR5IGdldFZpZGVvUGxheWJhY2tRdWFsaXR5KCk7
CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTWVkaWFTYW1wbGUuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01lZGlhU2FtcGxlLmgKaW5kZXggNzQ0ZDNjNzlhYjkx
ZjZiYjY1MmNiNTQ5ZTU3MzhkNWE5NWJlZjFjOC4uNTc2MmUzZGUyYWM2MjJlMDBlNGM5YzcxMDNi
ZDY1NzE2NjJkZDZmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTWVkaWFT
YW1wbGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZWRpYVNhbXBsZS5oCkBAIC02
Myw2ICs2Myw5IEBAIHB1YmxpYzoKICAgICB9OwogICAgIHZpcnR1YWwgU2FtcGxlRmxhZ3MgZmxh
Z3MoKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBQbGF0Zm9ybVNhbXBsZSBwbGF0Zm9ybVNhbXBs
ZSgpID0gMDsKKworICAgIGJvb2wgaXNTeW5jKCkgY29uc3QgeyByZXR1cm4gZmxhZ3MoKSAmIElz
U3luYzsgfQorICAgIGJvb2wgaXNOb25EaXNwbGF5aW5nKCkgY29uc3QgeyByZXR1cm4gZmxhZ3Mo
KSAmIE5vbkRpc3BsYXlpbmc7IH0KIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcAppbmRleCA2NDY1OGY3N2I0ZmNmODBmNWU0OTYw
ZmY5NTZmZjE5Zjk5MzlhZDYxLi5kYTQzNzdlMDE2NmE5MDI3ZWQ2NGE5N2FmMDg2YzBjNjEyYjM0
NjA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBs
YXllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5
ZXIuY3BwCkBAIC0xMjM5LDYgKzEyMzksNDAgQEAgdW5zaWduZWQgbG9uZyBsb25nIE1lZGlhUGxh
eWVyOjpmaWxlU2l6ZSgpIGNvbnN0CiAgICAgcmV0dXJuIG1fcHJpdmF0ZS0+ZmlsZVNpemUoKTsK
IH0KIAorI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCit1bnNpZ25lZCBsb25nIE1lZGlhUGxheWVy
Ojp0b3RhbFZpZGVvRnJhbWVzKCkKK3sKKyAgICBpZiAoIW1fcHJpdmF0ZSkKKyAgICAgICAgcmV0
dXJuIDA7CisKKyAgICByZXR1cm4gbV9wcml2YXRlLT50b3RhbFZpZGVvRnJhbWVzKCk7Cit9CisK
K3Vuc2lnbmVkIGxvbmcgTWVkaWFQbGF5ZXI6OmRyb3BwZWRWaWRlb0ZyYW1lcygpCit7CisgICAg
aWYgKCFtX3ByaXZhdGUpCisgICAgICAgIHJldHVybiAwOworCisgICAgcmV0dXJuIG1fcHJpdmF0
ZS0+ZHJvcHBlZFZpZGVvRnJhbWVzKCk7Cit9CisKK3Vuc2lnbmVkIGxvbmcgTWVkaWFQbGF5ZXI6
OmNvcnJ1cHRlZFZpZGVvRnJhbWVzKCkKK3sKKyAgICBpZiAoIW1fcHJpdmF0ZSkKKyAgICAgICAg
cmV0dXJuIDA7CisKKyAgICByZXR1cm4gbV9wcml2YXRlLT5jb3JydXB0ZWRWaWRlb0ZyYW1lcygp
OworfQorCitkb3VibGUgTWVkaWFQbGF5ZXI6OnRvdGFsRnJhbWVEZWxheSgpCit7CisgICAgaWYg
KCFtX3ByaXZhdGUpCisgICAgICAgIHJldHVybiAwOworCisgICAgcmV0dXJuIG1fcHJpdmF0ZS0+
dG90YWxGcmFtZURlbGF5KCk7Cit9CisjZW5kaWYKKwogdm9pZCBNZWRpYVBsYXllckZhY3RvcnlT
dXBwb3J0OjpjYWxsUmVnaXN0ZXJNZWRpYUVuZ2luZShNZWRpYUVuZ2luZVJlZ2lzdGVyIHJlZ2lz
dGVyTWVkaWFFbmdpbmUpCiB7CiAgICAgcmVnaXN0ZXJNZWRpYUVuZ2luZShhZGRNZWRpYUVuZ2lu
ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBs
YXllci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaApp
bmRleCBkNGUyMTkwM2M1NzY5ODhkNWM3ODg2Mzc4OWMwZTgxNTQzMGVkYzczLi44MTUxNjNjY2Jl
ODUxYjQ1MDUzN2U2MWM2NTU5NmZmODIxMmQ4MzdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmgKQEAgLTUxNCw2ICs1MTQsMTMgQEAgcHVibGlj
OgogCiAgICAgdW5zaWduZWQgbG9uZyBsb25nIGZpbGVTaXplKCkgY29uc3Q7CiAKKyNpZiBFTkFC
TEUoTUVESUFfU09VUkNFKQorICAgIHVuc2lnbmVkIGxvbmcgdG90YWxWaWRlb0ZyYW1lcygpOwor
ICAgIHVuc2lnbmVkIGxvbmcgZHJvcHBlZFZpZGVvRnJhbWVzKCk7CisgICAgdW5zaWduZWQgbG9u
ZyBjb3JydXB0ZWRWaWRlb0ZyYW1lcygpOworICAgIGRvdWJsZSB0b3RhbEZyYW1lRGVsYXkoKTsK
KyNlbmRpZgorCiBwcml2YXRlOgogICAgIE1lZGlhUGxheWVyKE1lZGlhUGxheWVyQ2xpZW50Kik7
CiAgICAgTWVkaWFQbGF5ZXJGYWN0b3J5KiBuZXh0QmVzdE1lZGlhRW5naW5lKE1lZGlhUGxheWVy
RmFjdG9yeSopIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9NZWRpYVBsYXllclByaXZhdGUuaAppbmRleCA0MzZjNjhiNGY2MjI3ZTRkMzJmYjBhMmI3
YTE2ZTRmYTVlZWY1MDdlLi5jZjdiNWYyODg1ZjUxNWYyNjM0MzAzYmU2M2FlNzU1ZDJiODQzNGQ4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXll
clByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBs
YXllclByaXZhdGUuaApAQCAtMjE1LDYgKzIxNSwxMyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBz
aXplX3QgZXh0cmFNZW1vcnlDb3N0KCkgY29uc3QgeyByZXR1cm4gMDsgfQogICAgIAogICAgIHZp
cnR1YWwgdW5zaWduZWQgbG9uZyBsb25nIGZpbGVTaXplKCkgY29uc3QgeyByZXR1cm4gMDsgfQor
CisjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKKyAgICB2aXJ0dWFsIHVuc2lnbmVkIGxvbmcgdG90
YWxWaWRlb0ZyYW1lcygpIHsgcmV0dXJuIDA7IH0KKyAgICB2aXJ0dWFsIHVuc2lnbmVkIGxvbmcg
ZHJvcHBlZFZpZGVvRnJhbWVzKCkgeyByZXR1cm4gMDsgfQorICAgIHZpcnR1YWwgdW5zaWduZWQg
bG9uZyBjb3JydXB0ZWRWaWRlb0ZyYW1lcygpIHsgcmV0dXJuIDA7IH0KKyAgICB2aXJ0dWFsIGRv
dWJsZSB0b3RhbEZyYW1lRGVsYXkoKSB7IHJldHVybiAwOyB9CisjZW5kaWYKIH07CiAKIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9v
YmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRl
TWVkaWFTb3VyY2VBVkZPYmpDLmgKaW5kZXggOTY4MTYxZmE3NDFhMzJjMWY1NGQ1ZmIzYzkyN2Nj
MWI4NjM3ZjUyZC4uZDZjZmMxMjQ1ZGUzMjBkYzc2NTcxZmVlNDc3ZGNhYzNmOTgyMWE1ZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29i
amMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2
YXRlTWVkaWFTb3VyY2VBVkZPYmpDLmgKQEAgLTEyOSw2ICsxMjksMTEgQEAgcHJpdmF0ZToKIAog
ICAgIHZpcnR1YWwgc2l6ZV90IGV4dHJhTWVtb3J5Q29zdCgpIGNvbnN0IE9WRVJSSURFOwogCisg
ICAgdmlydHVhbCB1bnNpZ25lZCBsb25nIHRvdGFsVmlkZW9GcmFtZXMoKSBPVkVSUklERTsKKyAg
ICB2aXJ0dWFsIHVuc2lnbmVkIGxvbmcgZHJvcHBlZFZpZGVvRnJhbWVzKCkgT1ZFUlJJREU7Cisg
ICAgdmlydHVhbCB1bnNpZ25lZCBsb25nIGNvcnJ1cHRlZFZpZGVvRnJhbWVzKCkgT1ZFUlJJREU7
CisgICAgdmlydHVhbCBkb3VibGUgdG90YWxGcmFtZURlbGF5KCkgT1ZFUlJJREU7CisKICAgICB2
b2lkIGVuc3VyZUxheWVyKCk7CiAgICAgdm9pZCBkZXN0cm95TGF5ZXIoKTsKICAgICB2b2lkIGR1
cmF0aW9uQ2hhbmdlZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZP
YmpDLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29i
amMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLm1tCmluZGV4IDk4ODBiOWZi
YTZhZDM4ZDllMmU4NjEzMTc2NmQyYTk2OGI0MzNiNzAuLmRhZmIwYjJiM2I3YTAzYzU5ZGQyZjdi
ZGQ2OThkN2E3NGY1ZTAwM2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZG
T2JqQy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRp
b24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMubW0KQEAgLTUwLDYg
KzUwLDIxIEBAIFNPRlRfTElOS19DTEFTU19PUFRJT05BTChBVkZvdW5kYXRpb24sIEFWQXNzZXQp
CiBTT0ZUX0xJTktfQ0xBU1NfT1BUSU9OQUwoQVZGb3VuZGF0aW9uLCBBVlVSTEFzc2V0KQogU09G
VF9MSU5LX0NMQVNTX09QVElPTkFMKEFWRm91bmRhdGlvbiwgQVZTYW1wbGVCdWZmZXJEaXNwbGF5
TGF5ZXIpCiBTT0ZUX0xJTktfQ0xBU1NfT1BUSU9OQUwoQVZGb3VuZGF0aW9uLCBBVlN0cmVhbURh
dGFQYXJzZXIpCitTT0ZUX0xJTktfQ0xBU1NfT1BUSU9OQUwoQVZGb3VuZGF0aW9uLCBBVlZpZGVv
UGVyZm9ybWFuY2VNZXRyaWNzKQorCisjcHJhZ21hIG1hcmsgLQorI3ByYWdtYSBtYXJrIEFWVmlk
ZW9QZXJmb3JtYW5jZU1ldHJpY3MKKworQGludGVyZmFjZSBBVlZpZGVvUGVyZm9ybWFuY2VNZXRy
aWNzIDogTlNPYmplY3QKKy0gKHVuc2lnbmVkIGxvbmcpdG90YWxOdW1iZXJPZlZpZGVvRnJhbWVz
OworLSAodW5zaWduZWQgbG9uZyludW1iZXJPZkRyb3BwZWRWaWRlb0ZyYW1lczsKKy0gKHVuc2ln
bmVkIGxvbmcpbnVtYmVyT2ZDb3JydXB0ZWRWaWRlb0ZyYW1lczsKKy0gKGRvdWJsZSl0b3RhbEZy
YW1lRGVsYXk7CitAZW5kCisKK0BpbnRlcmZhY2UgQVZTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIg
KFdlYkNvcmVBVlNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllclByaXZhdGUpCistIChBVlZpZGVvUGVy
Zm9ybWFuY2VNZXRyaWNzICopdmlkZW9QZXJmb3JtYW5jZU1ldHJpY3M7CitAZW5kCiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIApAQCAtMzY2LDYgKzM4MSwyNiBAQCBzaXplX3QgTWVkaWFQbGF5ZXJQ
cml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpleHRyYU1lbW9yeUNvc3QoKSBjb25zdAogICAgIHJl
dHVybiAwOwogfQogCit1bnNpZ25lZCBsb25nIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNl
QVZGT2JqQzo6dG90YWxWaWRlb0ZyYW1lcygpCit7CisgICAgcmV0dXJuIFtbbV9zYW1wbGVCdWZm
ZXJEaXNwbGF5TGF5ZXIgdmlkZW9QZXJmb3JtYW5jZU1ldHJpY3NdIHRvdGFsTnVtYmVyT2ZWaWRl
b0ZyYW1lc107Cit9CisKK3Vuc2lnbmVkIGxvbmcgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3Vy
Y2VBVkZPYmpDOjpkcm9wcGVkVmlkZW9GcmFtZXMoKQoreworICAgIHJldHVybiBbW21fc2FtcGxl
QnVmZmVyRGlzcGxheUxheWVyIHZpZGVvUGVyZm9ybWFuY2VNZXRyaWNzXSBudW1iZXJPZkRyb3Bw
ZWRWaWRlb0ZyYW1lc107Cit9CisKK3Vuc2lnbmVkIGxvbmcgTWVkaWFQbGF5ZXJQcml2YXRlTWVk
aWFTb3VyY2VBVkZPYmpDOjpjb3JydXB0ZWRWaWRlb0ZyYW1lcygpCit7CisgICAgcmV0dXJuIFtb
bV9zYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIgdmlkZW9QZXJmb3JtYW5jZU1ldHJpY3NdIG51bWJl
ck9mQ29ycnVwdGVkVmlkZW9GcmFtZXNdOworfQorCitkb3VibGUgTWVkaWFQbGF5ZXJQcml2YXRl
TWVkaWFTb3VyY2VBVkZPYmpDOjp0b3RhbEZyYW1lRGVsYXkoKQoreworICAgIHJldHVybiBbW21f
c2FtcGxlQnVmZmVyRGlzcGxheUxheWVyIHZpZGVvUGVyZm9ybWFuY2VNZXRyaWNzXSB0b3RhbEZy
YW1lRGVsYXldOworfQorCiAjcHJhZ21hIG1hcmsgLQogI3ByYWdtYSBtYXJrIFV0aWxpdHkgTWV0
aG9kcwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291
cmNlL01vY2tCb3guaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2Uv
TW9ja0JveC5oCmluZGV4IDNmMGMwZDNjZTIwODUxMmU3Mjg0NjUxZGNmN2Y4NzdlZjI4MjUwMTku
LmYyZmQ2NDNmZGZiODIwMGU4OTQ5MjQzY2NkYWRlOTJiMWZiM2VkNmMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja0JveC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja0JveC5oCkBAIC0xMjks
OCArMTI5LDE2IEBAIHB1YmxpYzoKICAgICBpbnQzMl90IHRyYWNrSUQoKSBjb25zdCB7IHJldHVy
biBtX3RyYWNrSUQ7IH0KICAgICB1aW50OF90IGZsYWdzKCkgY29uc3QgeyByZXR1cm4gbV9mbGFn
czsgfQogCi0gICAgZW51bSB7IElzU3luYyA9IDEgPDwgMCB9OworICAgIGVudW0geworICAgICAg
ICBJc1N5bmMgPSAxIDw8IDAsCisgICAgICAgIElzQ29ycnVwdGVkID0gMSA8PCAxLAorICAgICAg
ICBJc0Ryb3BwZWQgPSAxIDw8IDIsCisgICAgICAgIElzRGVsYXllZCA9IDEgPDwgMywKKyAgICB9
OwogICAgIGJvb2wgaXNTeW5jKCkgY29uc3QgeyByZXR1cm4gbV9mbGFncyAmIElzU3luYzsgfQor
ICAgIGJvb2wgaXNDb3JydXB0ZWQoKSBjb25zdCB7IHJldHVybiBtX2ZsYWdzICYgSXNDb3JydXB0
ZWQ7IH0KKyAgICBib29sIGlzRHJvcHBlZCgpIGNvbnN0IHsgcmV0dXJuIG1fZmxhZ3MgJiBJc0Ry
b3BwZWQ7IH0KKyAgICBib29sIGlzRGVsYXllZCgpIGNvbnN0IHsgcmV0dXJuIG1fZmxhZ3MgJiBJ
c0RlbGF5ZWQ7IH0KIAogcHJvdGVjdGVkOgogICAgIE1lZGlhVGltZSBtX3ByZXNlbnRhdGlvblRp
bWVzdGFtcDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFz
b3VyY2UvTW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZS5jcHAKaW5k
ZXggMmYyMzA0ODZiOTJiNjBiMzM5ODlhYTI1NzQ4ZDQ5ZmM2Yzc1Yjc4OS4uZTBmYzUxYzlmMGNl
M2YwMjU0NzA4NTJiOTBhNGExMmU0MTBmNTg2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrTWVkaWFQ
bGF5ZXJNZWRpYVNvdXJjZS5jcHAKQEAgLTI0NSw2ICsyNDUsMjYgQEAgdm9pZCBNb2NrTWVkaWFQ
bGF5ZXJNZWRpYVNvdXJjZTo6c2V0TmV0d29ya1N0YXRlKE1lZGlhUGxheWVyOjpOZXR3b3JrU3Rh
dGUgbmV0d28KICAgICBtX3BsYXllci0+bmV0d29ya1N0YXRlQ2hhbmdlZCgpOwogfQogCit1bnNp
Z25lZCBsb25nIE1vY2tNZWRpYVBsYXllck1lZGlhU291cmNlOjp0b3RhbFZpZGVvRnJhbWVzKCkK
K3sKKyAgICByZXR1cm4gbV9tZWRpYVNvdXJjZVByaXZhdGUgPyBtX21lZGlhU291cmNlUHJpdmF0
ZS0+dG90YWxWaWRlb0ZyYW1lcygpIDogMDsKK30KKwordW5zaWduZWQgbG9uZyBNb2NrTWVkaWFQ
bGF5ZXJNZWRpYVNvdXJjZTo6ZHJvcHBlZFZpZGVvRnJhbWVzKCkKK3sKKyAgICByZXR1cm4gbV9t
ZWRpYVNvdXJjZVByaXZhdGUgPyBtX21lZGlhU291cmNlUHJpdmF0ZS0+ZHJvcHBlZFZpZGVvRnJh
bWVzKCkgOiAwOworfQorCit1bnNpZ25lZCBsb25nIE1vY2tNZWRpYVBsYXllck1lZGlhU291cmNl
Ojpjb3JydXB0ZWRWaWRlb0ZyYW1lcygpCit7CisgICAgcmV0dXJuIG1fbWVkaWFTb3VyY2VQcml2
YXRlID8gbV9tZWRpYVNvdXJjZVByaXZhdGUtPmNvcnJ1cHRlZFZpZGVvRnJhbWVzKCkgOiAwOwor
fQorCitkb3VibGUgTW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2U6OnRvdGFsRnJhbWVEZWxheSgp
Cit7CisgICAgcmV0dXJuIG1fbWVkaWFTb3VyY2VQcml2YXRlID8gbV9tZWRpYVNvdXJjZVByaXZh
dGUtPnRvdGFsRnJhbWVEZWxheSgpIDogMDsKK30KKwogfQogCiAjZW5kaWYKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja01lZGlhUGxheWVy
TWVkaWFTb3VyY2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2Uv
TW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2UuaAppbmRleCBkMWNmOGI1ZWViMDA4NWE5MjRiYTdj
MjA2MDY1MTc1NTk1NzA4MzYyLi45ODVhMjFmYjZjNzc4MmI5NzY3YmJmYzdlMzRkNzA2ZGRjYTMy
MjJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291cmNl
L01vY2tNZWRpYVBsYXllck1lZGlhU291cmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZS5oCkBAIC03Nyw2
ICs3NywxMCBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgZG91YmxlIGN1cnJlbnRUaW1lRG91Ymxl
KCkgY29uc3QgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBkb3VibGUgZHVyYXRpb25Eb3VibGUoKSBj
b25zdCBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgc2Vla1dpdGhUb2xlcmFuY2UoZG91Ymxl
IHRpbWUsIGRvdWJsZSwgZG91YmxlKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIHVuc2lnbmVkIGxv
bmcgdG90YWxWaWRlb0ZyYW1lcygpIE9WRVJSSURFOworICAgIHZpcnR1YWwgdW5zaWduZWQgbG9u
ZyBkcm9wcGVkVmlkZW9GcmFtZXMoKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIHVuc2lnbmVkIGxv
bmcgY29ycnVwdGVkVmlkZW9GcmFtZXMoKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIGRvdWJsZSB0
b3RhbEZyYW1lRGVsYXkoKSBPVkVSUklERTsKIAogICAgIE1lZGlhUGxheWVyKiBtX3BsYXllcjsK
ICAgICBSZWZQdHI8SFRNTE1lZGlhU291cmNlPiBtX21lZGlhU291cmNlOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrTWVkaWFTb3VyY2VQ
cml2YXRlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9j
a01lZGlhU291cmNlUHJpdmF0ZS5jcHAKaW5kZXggNGIyYTM1ZjM4ZjYxYzVhODg2ZTJmODJjNTNh
MTQxNmZlZTg3ZGQxZS4uODExMTczZGZhNTZkZTMxODIwZjdiYjVkNWZhYzBhMjQyMzUzYWU2YyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2Nr
TWVkaWFTb3VyY2VQcml2YXRlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2Nr
L21lZGlhc291cmNlL01vY2tNZWRpYVNvdXJjZVByaXZhdGUuY3BwCkBAIC00NCw2ICs0NCwxMCBA
QCBNb2NrTWVkaWFTb3VyY2VQcml2YXRlOjpNb2NrTWVkaWFTb3VyY2VQcml2YXRlKE1vY2tNZWRp
YVBsYXllck1lZGlhU291cmNlKiBwYXJlbgogICAgIDogbV9wbGF5ZXIocGFyZW50KQogICAgICwg
bV9kdXJhdGlvbihzdGQ6Om51bWVyaWNfbGltaXRzPGZsb2F0Pjo6cXVpZXRfTmFOKCkpCiAgICAg
LCBtX2lzRW5kZWQoZmFsc2UpCisgICAgLCBtX3RvdGFsVmlkZW9GcmFtZXMoMCkKKyAgICAsIG1f
ZHJvcHBlZFZpZGVvRnJhbWVzKDApCisgICAgLCBtX2NvcnJ1cHRlZFZpZGVvRnJhbWVzKDApCisg
ICAgLCBtX3RvdGFsRnJhbWVEZWxheSgwKQogewogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tNZWRpYVNvdXJjZVByaXZhdGUuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja01lZGlhU291cmNl
UHJpdmF0ZS5oCmluZGV4IDcyZDIwYTgwZWJmNzRmMGFiZTc5NWY0NGY4ZTBhNGE4MWMzOTYxZGIu
LmY0NDhlMWRmNjc5ZGQ2NmNmYzQwZWI5NThhOWU3Yjc1MWRlYmQ0NjMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja01lZGlhU291cmNlUHJp
dmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9j
a01lZGlhU291cmNlUHJpdmF0ZS5oCkBAIC01Miw2ICs1MiwxNiBAQCBwdWJsaWM6CiAgICAgdm9p
ZCBzZWVrVG9UaW1lKGNvbnN0IE1lZGlhVGltZSYpOwogICAgIE1lZGlhVGltZSBzZWVrVG9UaW1l
KGNvbnN0IE1lZGlhVGltZSYsIGNvbnN0IE1lZGlhVGltZSYgbmVnYXRpdmVUaHJlc2hvbGQsIGNv
bnN0IE1lZGlhVGltZSYgcG9zaXRpdmVUaHJlc2hvbGQpOwogCisgICAgdW5zaWduZWQgbG9uZyB0
b3RhbFZpZGVvRnJhbWVzKCkgY29uc3QgeyByZXR1cm4gbV90b3RhbFZpZGVvRnJhbWVzOyB9Cisg
ICAgdW5zaWduZWQgbG9uZyBkcm9wcGVkVmlkZW9GcmFtZXMoKSBjb25zdCAgeyByZXR1cm4gbV9k
cm9wcGVkVmlkZW9GcmFtZXM7IH0KKyAgICB1bnNpZ25lZCBsb25nIGNvcnJ1cHRlZFZpZGVvRnJh
bWVzKCkgY29uc3QgeyByZXR1cm4gbV9jb3JydXB0ZWRWaWRlb0ZyYW1lczsgfQorICAgIGRvdWJs
ZSB0b3RhbEZyYW1lRGVsYXkoKSBjb25zdCB7IHJldHVybiBtX3RvdGFsRnJhbWVEZWxheTsgfQor
CisgICAgdm9pZCBpbmNyZW1lbnRUb3RhbFZpZGVvRnJhbWVzKCkgeyArK21fdG90YWxWaWRlb0Zy
YW1lczsgfQorICAgIHZvaWQgaW5jcmVtZW50RHJvcHBlZEZyYW1lcygpIHsgKyttX2Ryb3BwZWRW
aWRlb0ZyYW1lczsgfQorICAgIHZvaWQgaW5jcmVtZW50Q29ycnVwdGVkRnJhbWVzKCkgeyArK21f
Y29ycnVwdGVkVmlkZW9GcmFtZXM7IH0KKyAgICB2b2lkIGluY3JlbWVudFRvdGFsRnJhbWVEZWxh
eUJ5KGRvdWJsZSBkZWxheSkgeyBtX3RvdGFsRnJhbWVEZWxheSArPSBkZWxheTsgfQorCiBwcml2
YXRlOgogICAgIE1vY2tNZWRpYVNvdXJjZVByaXZhdGUoTW9ja01lZGlhUGxheWVyTWVkaWFTb3Vy
Y2UqKTsKIApAQCAtNzQsNiArODQsMTEgQEAgcHJpdmF0ZToKICAgICBWZWN0b3I8UmVmUHRyPE1v
Y2tTb3VyY2VCdWZmZXJQcml2YXRlPj4gbV9zb3VyY2VCdWZmZXJzOwogICAgIFZlY3RvcjxNb2Nr
U291cmNlQnVmZmVyUHJpdmF0ZSo+IG1fYWN0aXZlU291cmNlQnVmZmVyczsKICAgICBib29sIG1f
aXNFbmRlZDsKKworICAgIHVuc2lnbmVkIGxvbmcgbV90b3RhbFZpZGVvRnJhbWVzOworICAgIHVu
c2lnbmVkIGxvbmcgbV9kcm9wcGVkVmlkZW9GcmFtZXM7CisgICAgdW5zaWduZWQgbG9uZyBtX2Nv
cnJ1cHRlZFZpZGVvRnJhbWVzOworICAgIGRvdWJsZSBtX3RvdGFsRnJhbWVEZWxheTsKIH07CiAK
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2Uv
TW9ja1NvdXJjZUJ1ZmZlclByaXZhdGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9j
ay9tZWRpYXNvdXJjZS9Nb2NrU291cmNlQnVmZmVyUHJpdmF0ZS5jcHAKaW5kZXggODc2NzBkYWZk
YmJjZjQ5Yjk5NDk2ZDg0N2UzYzU0OTA3YjhlMjg1ZC4uNGQ1NzNhYjE3ZDRkMzcyNmJiNjhiZWM2
NDc2ZTJkMDA3NDQzY2FkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9j
ay9tZWRpYXNvdXJjZS9Nb2NrU291cmNlQnVmZmVyUHJpdmF0ZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrU291cmNlQnVmZmVyUHJpdmF0ZS5j
cHAKQEAgLTIxOCw2ICsyMTgsMjggQEAgdm9pZCBNb2NrU291cmNlQnVmZmVyUHJpdmF0ZTo6c2V0
QWN0aXZlKGJvb2wgaXNBY3RpdmUpCiAgICAgICAgIG1fbWVkaWFTb3VyY2UtPnNvdXJjZUJ1ZmZl
clByaXZhdGVEaWRDaGFuZ2VBY3RpdmVTdGF0ZSh0aGlzLCBpc0FjdGl2ZSk7CiB9CiAKK3ZvaWQg
TW9ja1NvdXJjZUJ1ZmZlclByaXZhdGU6OmVucXVldWVTYW1wbGUoUGFzc1JlZlB0cjxNZWRpYVNh
bXBsZT4gc2FtcGxlLCBBdG9taWNTdHJpbmcpCit7CisgICAgaWYgKCFtX21lZGlhU291cmNlIHx8
ICFzYW1wbGUpCisgICAgICAgIHJldHVybjsKKworICAgIFBsYXRmb3JtU2FtcGxlIHBsYXRmb3Jt
U2FtcGxlID0gc2FtcGxlLT5wbGF0Zm9ybVNhbXBsZSgpOworICAgIGlmIChwbGF0Zm9ybVNhbXBs
ZS50eXBlICE9IFBsYXRmb3JtU2FtcGxlOjpNb2NrU2FtcGxlQm94VHlwZSkKKyAgICAgICAgcmV0
dXJuOworCisgICAgTW9ja1NhbXBsZUJveCogYm94ID0gcGxhdGZvcm1TYW1wbGUuc2FtcGxlLm1v
Y2tTYW1wbGVCb3g7CisgICAgaWYgKCFib3gpCisgICAgICAgIHJldHVybjsKKworICAgIG1fbWVk
aWFTb3VyY2UtPmluY3JlbWVudFRvdGFsVmlkZW9GcmFtZXMoKTsKKyAgICBpZiAoYm94LT5pc0Nv
cnJ1cHRlZCgpKQorICAgICAgICBtX21lZGlhU291cmNlLT5pbmNyZW1lbnRDb3JydXB0ZWRGcmFt
ZXMoKTsKKyAgICBpZiAoYm94LT5pc0Ryb3BwZWQoKSkKKyAgICAgICAgbV9tZWRpYVNvdXJjZS0+
aW5jcmVtZW50RHJvcHBlZEZyYW1lcygpOworICAgIGlmIChib3gtPmlzRGVsYXllZCgpKQorICAg
ICAgICBtX21lZGlhU291cmNlLT5pbmNyZW1lbnRUb3RhbEZyYW1lRGVsYXlCeSgxKTsKK30KKwog
Ym9vbCBNb2NrU291cmNlQnVmZmVyUHJpdmF0ZTo6aGFzVmlkZW8oKSBjb25zdAogewogICAgIGlm
ICghbV9jbGllbnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21l
ZGlhc291cmNlL01vY2tTb3VyY2VCdWZmZXJQcml2YXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tTb3VyY2VCdWZmZXJQcml2YXRlLmgKaW5kZXggYzU0
MDk3MmM2N2RkNDUzNjc2NWUxOWRhMzlmMTA1YzQ3YTRkYjA1Yi4uMDZkMmY0NDUwZTFiNjE2Nzc2
NzA1YzVkNmIyNjI1YzRiYjQ1YjA0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrU291cmNlQnVmZmVyUHJpdmF0ZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja1NvdXJjZUJ1ZmZlclByaXZh
dGUuaApAQCAtNzIsNyArNzIsNyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgYm9vbCBpc0Z1bGwo
KSBPVkVSUklERTsKIAogICAgIHZpcnR1YWwgdm9pZCBmbHVzaEFuZEVucXVldWVOb25EaXNwbGF5
aW5nU2FtcGxlcyhWZWN0b3I8UmVmUHRyPE1lZGlhU2FtcGxlPj4sIEF0b21pY1N0cmluZykgT1ZF
UlJJREUgeyB9Ci0gICAgdmlydHVhbCB2b2lkIGVucXVldWVTYW1wbGUoUGFzc1JlZlB0cjxNZWRp
YVNhbXBsZT4sIEF0b21pY1N0cmluZykgT1ZFUlJJREUgeyB9CisgICAgdmlydHVhbCB2b2lkIGVu
cXVldWVTYW1wbGUoUGFzc1JlZlB0cjxNZWRpYVNhbXBsZT4sIEF0b21pY1N0cmluZykgT1ZFUlJJ
REU7CiAgICAgdmlydHVhbCBib29sIGlzUmVhZHlGb3JNb3JlU2FtcGxlcygpIE9WRVJSSURFIHsg
cmV0dXJuIHRydWU7IH0KICAgICB2aXJ0dWFsIHZvaWQgc2V0QWN0aXZlKGJvb2wpIE9WRVJSSURF
OwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKaW5kZXggM2YwN2I5ZTM5ZDFjNmQ4NWExZDM0MTQ3Yjc0NDIxNTc5MmJkYjU3YS4uNGY1
ZWQ2ZTYwODU0ZjA5MjA1NDcxZDZhZGIxZjk3ZjIyMjMyNDU3ZSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1
IEBACisyMDEzLTEyLTA2ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAg
ICAgIFtNU0VdIEFkZCBzdXBwb3J0IGZvciBWaWRlb1BsYXliYWNrTWV0cmljcy4KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNTM4MAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogbWVkaWEvbWVkaWEtc291
cmNlL21lZGlhLXNvdXJjZS12aWRlby1wbGF5YmFjay1xdWFsaXR5LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogbWVkaWEvbWVkaWEtc291cmNlL21lZGlhLXNvdXJjZS12aWRlby1wbGF5
YmFjay1xdWFsaXR5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIG1lZGlhL21lZGlhLXNvdXJjZS9t
b2NrLW1lZGlhLXNvdXJjZS5qczoKKyAgICAgICAgKHZhcik6CisKIDIwMTMtMTItMDUgIEplciBO
b2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CiAKICAgICAgICAgW01TRV0gQnJpbmcgZW5kLW9m
LXN0cmVhbSBhbGdvcml0aG0gc2VjdGlvbiB1cCB0byBjdXJyZW50IHNwZWMuCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvbWVkaWEtc291cmNlLWNhbnBsYXl0aHJv
dWdoLmh0bWwgYi9MYXlvdXRUZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvbWVkaWEtc291cmNlLWNh
bnBsYXl0aHJvdWdoLmh0bWwKaW5kZXggNmU5MWY3NmVkYmUxZTE0MWRlMGFjOTdiNmU1ZTIwMTUw
NTlkZDYyMi4uNzk3OGMyMmQ0M2Q2NDA4YzQ5ODNkYzYzODNhN2FjNTIzOTBiM2Y5NSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL21lZGlhLXNvdXJjZS1jYW5wbGF5
dGhyb3VnaC5odG1sCisrKyBiL0xheW91dFRlc3RzL21lZGlhL21lZGlhLXNvdXJjZS9tZWRpYS1z
b3VyY2UtY2FucGxheXRocm91Z2guaHRtbApAQCAtMzksNyArMzksNyBAQAogICAgIGZ1bmN0aW9u
IHNvdXJjZVVwZGF0ZWQoKSB7CiAgICAgICAgIHNvdXJjZS5hY3RpdmVTb3VyY2VCdWZmZXJzLmxl
bmd0aDsKICAgICAgICAgaWYgKG5leHRSZXF1ZXN0IDwgdG90YWxMZW5ndGgpIHsKLSAgICAgICAg
ICAgIHNvdXJjZUJ1ZmZlci5hcHBlbmRCdWZmZXIobWFrZUFTYW1wbGUobmV4dFJlcXVlc3QsIG5l
eHRSZXF1ZXN0LCAxLCAxLCAwKSk7CisgICAgICAgICAgICBzb3VyY2VCdWZmZXIuYXBwZW5kQnVm
ZmVyKG1ha2VBU2FtcGxlKG5leHRSZXF1ZXN0LCBuZXh0UmVxdWVzdCwgMSwgMSwgU0FNUExFX0ZM
QUcuU1lOQykpOwogICAgICAgICAgICAgKytuZXh0UmVxdWVzdDsKICAgICAgICAgfQogICAgIH0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21lZGlhL21lZGlhLXNvdXJjZS9tZWRpYS1zb3VyY2Ut
cGxheS5odG1sIGIvTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL21lZGlhLXNvdXJjZS1w
bGF5Lmh0bWwKaW5kZXggOTY1N2FlNGY4MGY3ZmUyN2EyNTQwOTdlOWUyYTAyMWY3YTU2MGVkMi4u
Y2EyNDY0Y2JiNTBiNGYxN2M0NDAzMDlmYjhkN2MzOGQ0ZjI5N2EzMiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL21lZGlhLXNvdXJjZS1wbGF5Lmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL21lZGlhLXNvdXJjZS1wbGF5Lmh0bWwKQEAg
LTMxLDcgKzMxLDcgQEAKICAgICB9CiAKICAgICBmdW5jdGlvbiBsb2FkU2FtcGxlcygpIHsKLSAg
ICAgICAgc2FtcGxlID0gbWFrZUFTYW1wbGUoMCwgMCwgMTAsIDEsIDApOworICAgICAgICBzYW1w
bGUgPSBtYWtlQVNhbXBsZSgwLCAwLCAxMCwgMSwgU0FNUExFX0ZMQUcuU1lOQyk7CiAgICAgICAg
IHdhaXRGb3JFdmVudE9uKHNvdXJjZUJ1ZmZlciwgJ3VwZGF0ZWVuZCcsIHBsYXksIGZhbHNlLCB0
cnVlKTsKICAgICAgICAgcnVuKCdzb3VyY2VCdWZmZXIuYXBwZW5kQnVmZmVyKHNhbXBsZSknKTsK
ICAgICB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvbWVkaWEt
c291cmNlLXZpZGVvLXBsYXliYWNrLXF1YWxpdHktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
bWVkaWEvbWVkaWEtc291cmNlL21lZGlhLXNvdXJjZS12aWRlby1wbGF5YmFjay1xdWFsaXR5LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iM2EzZWFjNDA0NWZiYTIxYWFmYWE3NzY5YThlNGI1OGMy
MGZiODNmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEtc291cmNl
L21lZGlhLXNvdXJjZS12aWRlby1wbGF5YmFjay1xdWFsaXR5LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDIzIEBACisKK1JVTih2aWRlby5zcmMgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKHNvdXJjZSkp
CitFVkVOVChzb3VyY2VvcGVuKQorUlVOKHNvdXJjZUJ1ZmZlciA9IHNvdXJjZS5hZGRTb3VyY2VC
dWZmZXIoInZpZGVvL21vY2s7IGNvZGVjcz1tb2NrIikpCitSVU4oc291cmNlQnVmZmVyLmFwcGVu
ZEJ1ZmZlcihpbml0U2VnbWVudCkpCitFVkVOVCh1cGRhdGVlbmQpCitUZXN0IHRoYXQgYmVnaW5u
aW5nIGEgYnVmZmVyIHdpdGggYSBub24tc3luYyBzYW1wbGUgcmVzdWx0cyBpbiB0aGF0IHNhbXBs
ZSBiZWluZyBkcm9wcGVkLgorUlVOKHNvdXJjZUJ1ZmZlci5hcHBlbmRCdWZmZXIoc2FtcGxlcykp
CitFVkVOVCh1cGRhdGVlbmQpCitSVU4ocXVhbGl0eSA9IHZpZGVvLmdldFZpZGVvUGxheWJhY2tR
dWFsaXR5KCkpCitFWFBFQ1RFRCAocXVhbGl0eS50b3RhbFZpZGVvRnJhbWVzID09ICcxJykgT0sK
K0VYUEVDVEVEIChxdWFsaXR5LmNvcnJ1cHRlZFZpZGVvRnJhbWVzID09ICcwJykgT0sKK0VYUEVD
VEVEIChxdWFsaXR5LmRyb3BwZWRWaWRlb0ZyYW1lcyA9PSAnMScpIE9LCitFWFBFQ1RFRCAocXVh
bGl0eS50b3RhbEZyYW1lRGVsYXkgPT0gJzAnKSBPSworUlVOKHNvdXJjZUJ1ZmZlci5hcHBlbmRC
dWZmZXIoc2FtcGxlcykpCitFVkVOVCh1cGRhdGVlbmQpCitSVU4ocXVhbGl0eSA9IHZpZGVvLmdl
dFZpZGVvUGxheWJhY2tRdWFsaXR5KCkpCitFWFBFQ1RFRCAocXVhbGl0eS50b3RhbFZpZGVvRnJh
bWVzID09ICc4JykgT0sKK0VYUEVDVEVEIChxdWFsaXR5LmNvcnJ1cHRlZFZpZGVvRnJhbWVzID09
ICcxJykgT0sKK0VYUEVDVEVEIChxdWFsaXR5LmRyb3BwZWRWaWRlb0ZyYW1lcyA9PSAnMicpIE9L
CitFWFBFQ1RFRCAocXVhbGl0eS50b3RhbEZyYW1lRGVsYXkgPT0gJzMnKSBPSworRU5EIE9GIFRF
U1QKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL21lZGlhLXNv
dXJjZS12aWRlby1wbGF5YmFjay1xdWFsaXR5Lmh0bWwgYi9MYXlvdXRUZXN0cy9tZWRpYS9tZWRp
YS1zb3VyY2UvbWVkaWEtc291cmNlLXZpZGVvLXBsYXliYWNrLXF1YWxpdHkuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi42ZjQ2ODE1NmY0MzE3OGU3M2FhMDYxYzAxZjM2ZWIxOGVhZTkzZGUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL21lZGlhLXNvdXJjZS12aWRl
by1wbGF5YmFjay1xdWFsaXR5Lmh0bWwKQEAgLTAsMCArMSw3MSBAQAorPCFET0NUWVBFIGh0bWw+
Cis8aHRtbD4KKzxoZWFkPgorICAgIDx0aXRsZT5tb2NrLW1lZGlhLXNvdXJjZTwvdGl0bGU+Cisg
ICAgPHNjcmlwdCBzcmM9Im1vY2stbWVkaWEtc291cmNlLmpzIj48L3NjcmlwdD4KKyAgICA8c2Ny
aXB0IHNyYz0iLi4vdmlkZW8tdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdD4KKyAgICB2
YXIgc291cmNlOworICAgIHZhciBzb3VyY2VCdWZmZXI7CisgICAgdmFyIGluaXRTZWdtZW50Owor
ICAgIHZhciBzYW1wbGVzOworICAgIHZhciBxdWFsaXR5OworCisgICAgaWYgKHdpbmRvdy5pbnRl
cm5hbHMpCisgICAgICAgIGludGVybmFscy5pbml0aWFsaXplTW9ja01lZGlhU291cmNlKCk7CisK
KyAgICBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICBmaW5kTWVkaWFFbGVtZW50KCk7CisK
KyAgICAgICAgc291cmNlID0gbmV3IE1lZGlhU291cmNlKCk7CisgICAgICAgIHdhaXRGb3JFdmVu
dE9uKHNvdXJjZSwgJ3NvdXJjZW9wZW4nLCBzb3VyY2VPcGVuKTsKKyAgICAgICAgcnVuKCd2aWRl
by5zcmMgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKHNvdXJjZSknKTsKKyAgICB9CisKKyAgICBmdW5j
dGlvbiBzb3VyY2VPcGVuKCkgeworICAgICAgICBydW4oJ3NvdXJjZUJ1ZmZlciA9IHNvdXJjZS5h
ZGRTb3VyY2VCdWZmZXIoInZpZGVvL21vY2s7IGNvZGVjcz1tb2NrIiknKTsKKyAgICAgICAgd2Fp
dEZvckV2ZW50T24oc291cmNlQnVmZmVyLCAndXBkYXRlZW5kJywgbG9hZFNhbXBsZSwgZmFsc2Us
IHRydWUpOworICAgICAgICBpbml0U2VnbWVudCA9IG1ha2VBSW5pdCg4LCBbbWFrZUFUcmFjaygx
LCAnbW9jaycsIFRSQUNLX0tJTkQuVklERU8pXSk7CisgICAgICAgIHJ1bignc291cmNlQnVmZmVy
LmFwcGVuZEJ1ZmZlcihpbml0U2VnbWVudCknKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBsb2Fk
U2FtcGxlKCkgeworICAgICAgICBzYW1wbGVzID0gY29uY2F0ZW5hdGVTYW1wbGVzKFttYWtlQVNh
bXBsZSgwLCAwLCAxLCAxLCBTQU1QTEVfRkxBRy5OT05FKV0pOworICAgICAgICB3YWl0Rm9yRXZl
bnRPbihzb3VyY2VCdWZmZXIsICd1cGRhdGVlbmQnLCBsb2FkTW9yZVNhbXBsZXMsIGZhbHNlLCB0
cnVlKTsKKyAgICAgICAgY29uc29sZVdyaXRlKCdUZXN0IHRoYXQgYmVnaW5uaW5nIGEgYnVmZmVy
IHdpdGggYSBub24tc3luYyBzYW1wbGUgcmVzdWx0cyBpbiB0aGF0IHNhbXBsZSBiZWluZyBkcm9w
cGVkLicpCisgICAgICAgIHJ1bignc291cmNlQnVmZmVyLmFwcGVuZEJ1ZmZlcihzYW1wbGVzKScp
OworICAgIH0KKworICAgIGZ1bmN0aW9uIGxvYWRNb3JlU2FtcGxlcygpIHsKKyAgICAgICAgcnVu
KCdxdWFsaXR5ID0gdmlkZW8uZ2V0VmlkZW9QbGF5YmFja1F1YWxpdHkoKScpOworICAgICAgICB0
ZXN0RXhwZWN0ZWQoJ3F1YWxpdHkudG90YWxWaWRlb0ZyYW1lcycsIDEpOworICAgICAgICB0ZXN0
RXhwZWN0ZWQoJ3F1YWxpdHkuY29ycnVwdGVkVmlkZW9GcmFtZXMnLCAwKTsKKyAgICAgICAgdGVz
dEV4cGVjdGVkKCdxdWFsaXR5LmRyb3BwZWRWaWRlb0ZyYW1lcycsIDEpOworICAgICAgICB0ZXN0
RXhwZWN0ZWQoJ3F1YWxpdHkudG90YWxGcmFtZURlbGF5JywgMCk7CisKKyAgICAgICAgc2FtcGxl
cyA9IGNvbmNhdGVuYXRlU2FtcGxlcyhbCisgICAgICAgICAgICBtYWtlQVNhbXBsZSgwLCAwLCAx
LCAxLCBTQU1QTEVfRkxBRy5TWU5DKSwKKyAgICAgICAgICAgIG1ha2VBU2FtcGxlKDEsIDEsIDEs
IDEsIFNBTVBMRV9GTEFHLkNPUlJVUFRFRCksCisgICAgICAgICAgICBtYWtlQVNhbXBsZSgyLCAy
LCAxLCAxLCBTQU1QTEVfRkxBRy5EUk9QUEVEKSwKKyAgICAgICAgICAgIG1ha2VBU2FtcGxlKDQs
IDQsIDEsIDEsIFNBTVBMRV9GTEFHLkRFTEFZRUQpLAorICAgICAgICAgICAgbWFrZUFTYW1wbGUo
NSwgNSwgMSwgMSwgU0FNUExFX0ZMQUcuREVMQVlFRCksCisgICAgICAgICAgICBtYWtlQVNhbXBs
ZSg2LCA2LCAxLCAxLCBTQU1QTEVfRkxBRy5ERUxBWUVEKSwKKyAgICAgICAgICAgIG1ha2VBU2Ft
cGxlKDcsIDcsIDEsIDEsIFNBTVBMRV9GTEFHLk5PTkUpLAorICAgICAgICBdKTsKKyAgICAgICAg
d2FpdEZvckV2ZW50T24oc291cmNlQnVmZmVyLCAndXBkYXRlZW5kJywgc2FtcGxlc0FkZGVkLCBm
YWxzZSwgdHJ1ZSk7CisgICAgICAgIHJ1bignc291cmNlQnVmZmVyLmFwcGVuZEJ1ZmZlcihzYW1w
bGVzKScpOworICAgIH0KKworICAgIGZ1bmN0aW9uIHNhbXBsZXNBZGRlZCgpIHsKKyAgICAgICAg
cnVuKCdxdWFsaXR5ID0gdmlkZW8uZ2V0VmlkZW9QbGF5YmFja1F1YWxpdHkoKScpOworICAgICAg
ICB0ZXN0RXhwZWN0ZWQoJ3F1YWxpdHkudG90YWxWaWRlb0ZyYW1lcycsIDgpOworICAgICAgICB0
ZXN0RXhwZWN0ZWQoJ3F1YWxpdHkuY29ycnVwdGVkVmlkZW9GcmFtZXMnLCAxKTsKKyAgICAgICAg
dGVzdEV4cGVjdGVkKCdxdWFsaXR5LmRyb3BwZWRWaWRlb0ZyYW1lcycsIDIpOworICAgICAgICB0
ZXN0RXhwZWN0ZWQoJ3F1YWxpdHkudG90YWxGcmFtZURlbGF5JywgMyk7CisgICAgICAgIGVuZFRl
c3QoKTsKKyAgICB9CisgICAgPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRl
c3QoKSI+CisgICAgPHZpZGVvPjwvdmlkZW8+Cis8L2JvZHk+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL21vY2st
bWVkaWEtc291cmNlLmpzIGIvTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL21vY2stbWVk
aWEtc291cmNlLmpzCmluZGV4IDM4NmU3Y2IzMWQ2MWVhMTZmNGQ0NmUwNmZhMDViZmU2NjI1YTc1
YzAuLjdlNGQ3OTQyYzM2NGNiMWJjMmQ0ZGM4NmU2ZThiZDliYzNmOGQzNjQgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL21lZGlhL21lZGlhLXNvdXJjZS9tb2NrLW1lZGlhLXNvdXJjZS5qcworKysg
Yi9MYXlvdXRUZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvbW9jay1tZWRpYS1zb3VyY2UuanMKQEAg
LTExLDYgKzExLDkgQEAgZnVuY3Rpb24gc3RyaW5nVG9BcnJheShzdHJpbmcpIHsKIHZhciBTQU1Q
TEVfRkxBRyA9IHsKICAgICBOT05FOiAwLAogICAgIFNZTkM6IDEgPDwgMCwKKyAgICBDT1JSVVBU
RUQ6IDEgPDwgMSwKKyAgICBEUk9QUEVEOiAxIDw8IDIsCisgICAgREVMQVlFRDogMSA8PCAzLAog
fTsKIAogZnVuY3Rpb24gbWFrZUFTYW1wbGUocHJlc2VudGF0aW9uVGltZSwgZGVjb2RlVGltZSwg
ZHVyYXRpb24sIHRyYWNrSUQsIGZsYWdzKSB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>218706</attachid>
            <date>2013-12-08 12:49:47 -0800</date>
            <delta_ts>2013-12-09 08:18:35 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-125380-20131208124947.patch</filename>
            <type>text/plain</type>
            <size>49139</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYwMjgyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTBiM2Y2MDI1MGUxNzU5
ZjExNmNkODQ3NmQ0MjhkNWIzY2I3YzlkNi4uMTBjMGVjNGIxMTJiMTc1ZjkzNzI0YTlkYmUxMGQy
YjE3ZjdjMGM2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDk3IEBACisyMDEzLTEyLTA2ICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFtNU0VdIEFkZCBzdXBwb3J0
IGZvciBWaWRlb1BsYXliYWNrTWV0cmljcy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTEyNTM4MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFRlc3Q6IG1lZGlhL21lZGlhLXNvdXJjZS9tZWRpYS1zb3VyY2Ut
dmlkZW8tcGxheWJhY2stcXVhbGl0eS5odG1sCisKKyAgICAgICAgQWRkIGEgbmV3IG9iamVjdCB0
eXBlIFZpZGVvUGxheWJhY2tRdWFsaXR5IHRvIGJlIHJldHVybmVkIGJ5CisgICAgICAgIEhUTUxN
ZWRpYUVsZW1lbnQuZ2V0VmlkZW9QbGF5YmFja1F1YWxpdHkoKS4KKworICAgICAgICBIVE1MTWVk
aWFFbGVtZW50cyBtdXN0IHNlcGFyYXRlbHkgdHJhY2sgYSBkcm9wcGVkVmlkZW9GcmFtZSBjb3Vu
dCwgYXMKKyAgICAgICAgY2VydGFpbiBvcGVyYXRpb25zIG9uIFNvdXJjZUJ1ZmZlciB3aWxsIGRy
b3AgaW5jb21pbmcgZnJhbWVzLCB3aGljaCBtdXN0CisgICAgICAgIGJlIGFjY291bnRlZCBmb3Iu
IFJlc2V0IHRoaXMgY291bnQgd2hlbiB0aGUgbWVkaWEgZW5naW5lIGNoYW5nZXMsIHdoaWNoIGlz
CisgICAgICAgIGluZGljaXRpdmUgb2YgYSBuZXcgbWVkaWEgbG9hZCByZXF1c2V0IHN0YXJ0aW5n
LgorCisgICAgICAgIEFkZCB0aGUgbmV3IFZpZGVvUGxheWJhY2tRdWFsaXR5IGNsYXNzOgorICAg
ICAgICAqIE1vZHVsZXMvbWVkaWFzb3VyY2UvVmlkZW9QbGF5YmFja1F1YWxpdHkuY3BwOiBBZGRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6OlZpZGVvUGxheWJhY2tRdWFsaXR5OjpjcmVhdGUpOgorICAg
ICAgICAoV2ViQ29yZTo6VmlkZW9QbGF5YmFja1F1YWxpdHk6OlZpZGVvUGxheWJhY2tRdWFsaXR5
KToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc291cmNlL1ZpZGVvUGxheWJhY2tRdWFsaXR5Lmg6
IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6VmlkZW9QbGF5YmFja1F1YWxpdHk6OmNyZWF0aW9u
VGltZSk6CisgICAgICAgIChXZWJDb3JlOjpWaWRlb1BsYXliYWNrUXVhbGl0eTo6dG90YWxWaWRl
b0ZyYW1lcyk6CisgICAgICAgIChXZWJDb3JlOjpWaWRlb1BsYXliYWNrUXVhbGl0eTo6ZHJvcHBl
ZFZpZGVvRnJhbWVzKToKKyAgICAgICAgKFdlYkNvcmU6OlZpZGVvUGxheWJhY2tRdWFsaXR5Ojpj
b3JydXB0ZWRWaWRlb0ZyYW1lcyk6CisgICAgICAgIChXZWJDb3JlOjpWaWRlb1BsYXliYWNrUXVh
bGl0eTo6dG90YWxGcmFtZURlbGF5KToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc291cmNlL1Zp
ZGVvUGxheWJhY2tRdWFsaXR5LmlkbDogQWRkZWQuCisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9y
IHRoZSBuZXcgY2xhc3MgdG8gSFRNTE1lZGlhRWxlbWVudDoKKyAgICAgICAgKiBodG1sL0hUTUxN
ZWRpYUVsZW1lbnQuY3BwOgorICAgICAgICAoSFRNTE1lZGlhRWxlbWVudDo6c2hvdWxkVXNlVmlk
ZW9QbHVnaW5Qcm94eSk6CisgICAgICAgIChIVE1MTWVkaWFFbGVtZW50OjpnZXRWaWRlb1BsYXli
YWNrUXVhbGl0eSk6CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50Lmg6CisgICAgICAg
ICogaHRtbC9IVE1MTWVkaWFFbGVtZW50LmlkbDoKKworICAgICAgICBSZXBvcnQgdGhlIHZpZGVv
IHF1YWxpdHkgbWV0cmljcyBmcm9tIHRoZSBNZWRpYVBsYXllcjoKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXll
cjo6dG90YWxWaWRlb0ZyYW1lcyk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllcjo6ZHJv
cHBlZFZpZGVvRnJhbWVzKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyOjpjb3JydXB0
ZWRWaWRlb0ZyYW1lcyk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllcjo6dG90YWxGcmFt
ZURlbGF5KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNlOjp0b3RhbFZpZGVvRnJhbWVzKToK
KyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZTo6ZHJvcHBlZFZp
ZGVvRnJhbWVzKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFj
ZTo6Y29ycnVwdGVkVmlkZW9GcmFtZXMpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQ
cml2YXRlSW50ZXJmYWNlOjp0b3RhbEZyYW1lRGVsYXkpOgorCisgICAgICAgIENvcnJlY3RseSBy
ZXBvcnQgdGhlIGRyb3BwZWQgZnJhbWUgY291bnQ6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXNv
dXJjZS9Tb3VyY2VCdWZmZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U291cmNlQnVmZmVyOjpU
cmFja0J1ZmZlcjo6VHJhY2tCdWZmZXIpOiBuZWVkc1JhbmRvbUFjY2Vzc0ZsYWcgZGVmYXVsc3Qg
dG8gdHJ1ZS4KKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlcjo6c291cmNlQnVmZmVyUHJp
dmF0ZURpZFJlY2VpdmVTYW1wbGUpOiBDaGVjayB0aGUgc3luYyBzdGF0dXMgb2YgdGhlIGluY29t
aW5nIHNhbXBsZS4KKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlcjo6ZGlkRHJvcFNhbXBs
ZSk6IE5vdGlmeSB0aGUgbWVkaWEgZWxlbWVudCBvZiBhIGRyb3BwZWQgZnJhbWUuCisgICAgICAg
ICogTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuaDoKKyAgICAgICAgKiBodG1sL0hU
TUxNZWRpYUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6
SFRNTE1lZGlhRWxlbWVudCk6CisgICAgICAgIChIVE1MTWVkaWFFbGVtZW50OjptZWRpYVBsYXll
ckVuZ2luZVVwZGF0ZWQpOiBSZXNldCBtX2Ryb3BwZWRGcmFtZUNvdW50LgorICAgICAgICAoSFRN
TE1lZGlhRWxlbWVudDo6Z2V0VmlkZW9QbGF5YmFja1F1YWxpdHkpOiBSZXR1cm4gYSBuZXcgVmlk
ZW9QbGF5YmFja1F1YWxpdHkgb2JqZWN0LgorICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVu
dC5oOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6aW5jcmVtZW50RHJvcHBl
ZEZyYW1lQ291bnQpOiBTaW1wbGUgaW5jcmVtZW50ZXIuCisgICAgICAgICogcGxhdGZvcm0vTWVk
aWFTYW1wbGUuaDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU2FtcGxlOjppc1N5bmMpOiBDb252
ZW5pZW5jZSBmdW5jdGlvbi4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU2FtcGxlOjppc05vbkRp
c3BsYXlpbmcpOiBEaXR0by4KKworICAgICAgICBBZGQgc3VwcG9ydCBpbiB0aGUgQVZGb3VuZGF0
aW9uIE1lZGlhU291cmNlIEVuZ2luZToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZv
dW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMuaDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclBy
aXZhdGVNZWRpYVNvdXJjZUFWRk9iakMubW06CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXll
clByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OnRvdGFsVmlkZW9GcmFtZXMpOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpkcm9wcGVkVmlk
ZW9GcmFtZXMpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3Vy
Y2VBVkZPYmpDOjpjb3JydXB0ZWRWaWRlb0ZyYW1lcyk6CisgICAgICAgIChXZWJDb3JlOjpNZWRp
YVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OnRvdGFsRnJhbWVEZWxheSk6CisKKyAg
ICAgICAgQWRkIHN1cHBvcnQgaW4gdGhlIE1vY2sgTWVkaWFTb3VyY2UgRW5naW5lOgorICAgICAg
ICAqIHBsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja0JveC5oOgorICAgICAgICAqIHBsYXRm
b3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2UuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6TW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2U6OnRvdGFsVmlkZW9GcmFt
ZXMpOiBTaW1wbGUgYWNjZXNzb3IuCisgICAgICAgIChXZWJDb3JlOjpNb2NrTWVkaWFQbGF5ZXJN
ZWRpYVNvdXJjZTo6ZHJvcHBlZFZpZGVvRnJhbWVzKTogRGl0dG8uCisgICAgICAgIChXZWJDb3Jl
OjpNb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZTo6Y29ycnVwdGVkVmlkZW9GcmFtZXMpOiBEaXR0
by4KKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tNZWRpYVBsYXllck1lZGlhU291cmNlOjp0b3RhbEZy
YW1lRGVsYXkpOiBEaXR0by4KKyAgICAgICAgKiBwbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01v
Y2tNZWRpYVBsYXllck1lZGlhU291cmNlLmg6CisgICAgICAgICogcGxhdGZvcm0vbW9jay9tZWRp
YXNvdXJjZS9Nb2NrTWVkaWFTb3VyY2VQcml2YXRlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1v
Y2tNZWRpYVNvdXJjZVByaXZhdGU6Ok1vY2tNZWRpYVNvdXJjZVByaXZhdGUpOgorICAgICAgICAq
IHBsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja01lZGlhU291cmNlUHJpdmF0ZS5oOgorICAg
ICAgICAqIHBsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja1NvdXJjZUJ1ZmZlclByaXZhdGUu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6TW9ja1NvdXJjZUJ1ZmZlclByaXZhdGU6OmVucXVldWVT
YW1wbGUpOiBJbmNyZW1lbnQgdGhlIGZyYW1lIGNvdW50cyBiYXNlZCBvbgorICAgICAgICAgICAg
dGhlIGluY29taW5nIHNhbXBsZS4KKyAgICAgICAgKiBwbGF0Zm9ybS9tb2NrL21lZGlhc291cmNl
L01vY2tTb3VyY2VCdWZmZXJQcml2YXRlLmg6CisKKyAgICAgICAgQWRkIHRoZSBuZXcgZmlsZXMg
dG8gdGhlIHByb2plY3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAg
KiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogR05VTWFrZWZp
bGUubGlzdC5hbToKKwogMjAxMy0xMi0wNSAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNv
bT4KIAogICAgICAgICBbTVNFXSBCcmluZyBlbmQtb2Ytc3RyZWFtIGFsZ29yaXRobSBzZWN0aW9u
IHVwIHRvIGN1cnJlbnQgc3BlYy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IDUy
NWFkOTBkZTM3YThiMzMxMjI0YTc2ODNjNWZkMzJlYTk5NmE2ZGQuLjQ5ZmNlMGY5NWUwMzgwMzQ5
MTkxYWRkOWMwZGE0Njk4OTEzZDRlYzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2
ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpA
QCAtMTAzLDYgKzEwMyw3IEBAIEJJTkRJTkdfSURMUyA9IFwKICAgICAkKFdlYkNvcmUpL01vZHVs
ZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyTGlzdC5pZGwgXAogCSQoV2ViQ29yZSkvTW9kdWxl
cy9tZWRpYXNvdXJjZS9UZXh0VHJhY2tNZWRpYVNvdXJjZS5pZGwgXAogCSQoV2ViQ29yZSkvTW9k
dWxlcy9tZWRpYXNvdXJjZS9WaWRlb1RyYWNrTWVkaWFTb3VyY2UuaWRsIFwKKwkkKFdlYkNvcmUp
L01vZHVsZXMvbWVkaWFzb3VyY2UvVmlkZW9QbGF5YmFja1F1YWxpdHkuaWRsIFwKIAkkKFdlYkNv
cmUpL01vZHVsZXMvbWVkaWFzdHJlYW0vQWxsVmlkZW9DYXBhYmlsaXRpZXMuaWRsIFwKIAkkKFdl
YkNvcmUpL01vZHVsZXMvbWVkaWFzdHJlYW0vQWxsQXVkaW9DYXBhYmlsaXRpZXMuaWRsIFwKIAkk
KFdlYkNvcmUpL01vZHVsZXMvbWVkaWFzdHJlYW0vQXVkaW9TdHJlYW1UcmFjay5pZGwgXApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJD
b3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggNmI0NWI5MzU2ZjJkOWRmZDllZGVkZjc4OGU3
YjEzMjdmOGM1Yjk4YS4uNmNkODAyODhhZDJiOTMyNTgzZmNhOTkwNWUyMWJkZjI2MjgwOGEwZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC03MzUsNiArNzM1LDggQEAgd2ViY29y
ZV9idWlsdF9zb3VyY2VzICs9IFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTVmFsaWRpdHlT
dGF0ZS5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTVm9pZENhbGxiYWNrLmNwcCBcCiAJ
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1ZvaWRDYWxsYmFjay5oIFwKKwlEZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTVmlkZW9QbGF5YmFja1F1YWxpdHkuaCBcCisJRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU1ZpZGVvUGxheWJhY2tRdWFsaXR5LmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU1ZpZGVvU3RyZWFtVHJhY2suaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1ZpZGVv
U3RyZWFtVHJhY2suY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTVmlkZW9UcmFjay5j
cHAgXApAQCAtMTg4NCw2ICsxODg2LDggQEAgd2ViY29yZV9tb2R1bGVzX3NvdXJjZXMgKz0gXAog
CVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvRE9NVVJMTWVkaWFTb3VyY2UuaCBc
CiAJU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9TYW1wbGVNYXAuY3BwIFwKIAlT
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NhbXBsZU1hcC5oIFwKKwlTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1ZpZGVvUGxheWJhY2tRdWFsaXR5LmNwcCBcCisJ
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9WaWRlb1BsYXliYWNrUXVhbGl0eS5o
IFwKIAlTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL0FsbEF1ZGlvQ2FwYWJpbGl0
aWVzLmggXAogCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vQWxsVmlkZW9DYXBh
YmlsaXRpZXMuaCBcCiAJU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9BdWRpb1N0
cmVhbVRyYWNrLmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c291cmNlL1NvdXJjZUJ1ZmZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291
cmNlL1NvdXJjZUJ1ZmZlci5jcHAKaW5kZXggODk1YWFiNGMyODdiZTIyMjgyZGRmZmY2M2RiNjk2
MDE5YzFjZTA5Zi4uM2VhNzhkNmQwYmUzYzAxMTc0MDkyMzU5MjgxZTUxZWNmZmIwYTkxZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVy
LmNwcApAQCAtNjksNyArNjksNyBAQCBzdHJ1Y3QgU291cmNlQnVmZmVyOjpUcmFja0J1ZmZlciB7
CiAgICAgICAgICwgbGFzdEZyYW1lRHVyYXRpb24oTWVkaWFUaW1lOjppbnZhbGlkVGltZSgpKQog
ICAgICAgICAsIGhpZ2hlc3RQcmVzZW50YXRpb25UaW1lc3RhbXAoTWVkaWFUaW1lOjppbnZhbGlk
VGltZSgpKQogICAgICAgICAsIGxhc3RFbnF1ZXVlZFByZXNlbnRhdGlvblRpbWUoTWVkaWFUaW1l
OjppbnZhbGlkVGltZSgpKQotICAgICAgICAsIG5lZWRSYW5kb21BY2Nlc3NGbGFnKGZhbHNlKQor
ICAgICAgICAsIG5lZWRSYW5kb21BY2Nlc3NGbGFnKHRydWUpCiAgICAgICAgICwgZW5hYmxlZChm
YWxzZSkKICAgICB7CiAgICAgfQpAQCAtODYwLDEwICs4NjAsMTcgQEAgdm9pZCBTb3VyY2VCdWZm
ZXI6OnNvdXJjZUJ1ZmZlclByaXZhdGVEaWRSZWNlaXZlU2FtcGxlKFNvdXJjZUJ1ZmZlclByaXZh
dGUqLCBQYXMKICAgICAgICAgLy8gRklYTUU6IGltcGxlbWVudCBhcHBlbmQgd2luZG93cwogCiAg
ICAgICAgIC8vIDEuMTEgSWYgdGhlIG5lZWQgcmFuZG9tIGFjY2VzcyBwb2ludCBmbGFnIG9uIHRy
YWNrIGJ1ZmZlciBlcXVhbHMgdHJ1ZSwgdGhlbiBydW4gdGhlIGZvbGxvd2luZyBzdGVwczoKLSAg
ICAgICAgLy8gMS4xMS4xIElmIHRoZSBjb2RlZCBmcmFtZSBpcyBub3QgYSByYW5kb20gYWNjZXNz
IHBvaW50LCB0aGVuIGRyb3AgdGhlIGNvZGVkIGZyYW1lIGFuZCBqdW1wCi0gICAgICAgIC8vIHRv
IHRoZSB0b3Agb2YgdGhlIGxvb3AgdG8gc3RhcnQgcHJvY2Vzc2luZyB0aGUgbmV4dCBjb2RlZCBm
cmFtZS4KLSAgICAgICAgLy8gMS4xMS4yIFNldCB0aGUgbmVlZCByYW5kb20gYWNjZXNzIHBvaW50
IGZsYWcgb24gdHJhY2sgYnVmZmVyIHRvIGZhbHNlLgotICAgICAgICAvLyBOT1RFOiBNb2NrU2Ft
cGxlQm94ZXMgYXJlIG5vdCBkZWNvZGFibGUuCisgICAgICAgIGlmICh0cmFja0J1ZmZlci5uZWVk
UmFuZG9tQWNjZXNzRmxhZykgeworICAgICAgICAgICAgLy8gMS4xMS4xIElmIHRoZSBjb2RlZCBm
cmFtZSBpcyBub3QgYSByYW5kb20gYWNjZXNzIHBvaW50LCB0aGVuIGRyb3AgdGhlIGNvZGVkIGZy
YW1lIGFuZCBqdW1wCisgICAgICAgICAgICAvLyB0byB0aGUgdG9wIG9mIHRoZSBsb29wIHRvIHN0
YXJ0IHByb2Nlc3NpbmcgdGhlIG5leHQgY29kZWQgZnJhbWUuCisgICAgICAgICAgICBpZiAoIXNh
bXBsZS0+aXNTeW5jKCkpIHsKKyAgICAgICAgICAgICAgICBkaWREcm9wU2FtcGxlKCk7CisgICAg
ICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICAvLyAxLjEx
LjIgU2V0IHRoZSBuZWVkIHJhbmRvbSBhY2Nlc3MgcG9pbnQgZmxhZyBvbiB0cmFjayBidWZmZXIg
dG8gZmFsc2UuCisgICAgICAgICAgICB0cmFja0J1ZmZlci5uZWVkUmFuZG9tQWNjZXNzRmxhZyA9
IGZhbHNlOworICAgICAgICB9CiAKICAgICAgICAgLy8gMS4xMiBMZXQgc3BsaWNlZCBhdWRpbyBm
cmFtZSBiZSBhbiB1bnNldCB2YXJpYWJsZSBmb3IgaG9sZGluZyBhdWRpbyBzcGxpY2UgaW5mb3Jt
YXRpb24KICAgICAgICAgLy8gMS4xMyBMZXQgc3BsaWNlZCB0aW1lZCB0ZXh0IGZyYW1lIGJlIGFu
IHVuc2V0IHZhcmlhYmxlIGZvciBob2xkaW5nIHRpbWVkIHRleHQgc3BsaWNlIGluZm9ybWF0aW9u
CkBAIC0xMTQ2LDYgKzExNTMsMTIgQEAgdm9pZCBTb3VyY2VCdWZmZXI6OnByb3ZpZGVNZWRpYURh
dGEoKQogICAgIExPRyhNZWRpYSwgIlNvdXJjZUJ1ZmZlcjo6cHJvdmlkZU1lZGlhRGF0YSglcCkg
LSBFbnF1ZXVlZCAldSBzYW1wbGVzIiwgdGhpcywgZW5xdWV1ZWRTYW1wbGVzKTsKIH0KIAordm9p
ZCBTb3VyY2VCdWZmZXI6OmRpZERyb3BTYW1wbGUoKQoreworICAgIGlmICghaXNSZW1vdmVkKCkp
CisgICAgICAgIG1fc291cmNlLT5tZWRpYUVsZW1lbnQoKS0+aW5jcmVtZW50RHJvcHBlZEZyYW1l
Q291bnQoKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmggYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5oCmluZGV4IDc1
NjNhMzRmMTc1MTI1MjMyZjBiYzdhZDAxM2RjZjU4ZGU5MGQwNjIuLmQyMmNkYTFhZGQyMzc5MGY5
MTAzNzJjOTc1YmMyZTBjN2M1YzE3OGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuaApAQCAtMTQxLDYgKzE0MSw3IEBAIHByaXZhdGU6
CiAgICAgYm9vbCB2YWxpZGF0ZUluaXRpYWxpemF0aW9uU2VnbWVudChjb25zdCBJbml0aWFsaXph
dGlvblNlZ21lbnQmKTsKIAogICAgIHZvaWQgcHJvdmlkZU1lZGlhRGF0YSgpOworICAgIHZvaWQg
ZGlkRHJvcFNhbXBsZSgpOwogCiAgICAgUmVmUHRyPFNvdXJjZUJ1ZmZlclByaXZhdGU+IG1fcHJp
dmF0ZTsKICAgICBNZWRpYVNvdXJjZSogbV9zb3VyY2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1ZpZGVvUGxheWJhY2tRdWFsaXR5LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvVmlkZW9QbGF5YmFja1F1YWxpdHkuY3BwCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmY3YTVjZjgzY2YyMGVjODc5ZmI4NDg5NDU5MThiYWI2OWY0ZTZmYWEKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1ZpZGVvUGxh
eWJhY2tRdWFsaXR5LmNwcApAQCAtMCwwICsxLDQ1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUg
ImNvbmZpZy5oIgorI2luY2x1ZGUgIlZpZGVvUGxheWJhY2tRdWFsaXR5LmgiCisKK25hbWVzcGFj
ZSBXZWJDb3JlIHsKKworUmVmUHRyPFZpZGVvUGxheWJhY2tRdWFsaXR5PiBWaWRlb1BsYXliYWNr
UXVhbGl0eTo6Y3JlYXRlKGRvdWJsZSBjcmVhdGlvblRpbWUsIHVuc2lnbmVkIGxvbmcgdG90YWxW
aWRlb0ZyYW1lcywgdW5zaWduZWQgbG9uZyBkcm9wcGVkVmlkZW9GcmFtZXMsIHVuc2lnbmVkIGxv
bmcgY29ycnVwdGVkVmlkZW9GcmFtZXMsIGRvdWJsZSB0b3RhbEZyYW1lRGVsYXkpCit7CisgICAg
cmV0dXJuIGFkb3B0UmVmKG5ldyBWaWRlb1BsYXliYWNrUXVhbGl0eShjcmVhdGlvblRpbWUsIHRv
dGFsVmlkZW9GcmFtZXMsIGRyb3BwZWRWaWRlb0ZyYW1lcywgY29ycnVwdGVkVmlkZW9GcmFtZXMs
IHRvdGFsRnJhbWVEZWxheSkpOworfQorCitWaWRlb1BsYXliYWNrUXVhbGl0eTo6VmlkZW9QbGF5
YmFja1F1YWxpdHkoZG91YmxlIGNyZWF0aW9uVGltZSwgdW5zaWduZWQgbG9uZyB0b3RhbFZpZGVv
RnJhbWVzLCB1bnNpZ25lZCBsb25nIGRyb3BwZWRWaWRlb0ZyYW1lcywgdW5zaWduZWQgbG9uZyBj
b3JydXB0ZWRWaWRlb0ZyYW1lcywgZG91YmxlIHRvdGFsRnJhbWVEZWxheSkKKyAgICA6IG1fY3Jl
YXRpb25UaW1lKGNyZWF0aW9uVGltZSkKKyAgICAsIG1fdG90YWxWaWRlb0ZyYW1lcyh0b3RhbFZp
ZGVvRnJhbWVzKQorICAgICwgbV9kcm9wcGVkVmlkZW9GcmFtZXMoZHJvcHBlZFZpZGVvRnJhbWVz
KQorICAgICwgbV9jb3JydXB0ZWRWaWRlb0ZyYW1lcyhjb3JydXB0ZWRWaWRlb0ZyYW1lcykKKyAg
ICAsIG1fdG90YWxGcmFtZURlbGF5KHRvdGFsRnJhbWVEZWxheSkKK3sKK30KKworfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9WaWRlb1BsYXliYWNrUXVh
bGl0eS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9WaWRlb1BsYXliYWNr
UXVhbGl0eS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjViODkzNzdiN2M1MDY2MzUzYzI2N2I5Y2FiMjY2MDRmNDBi
MDI4MDcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291
cmNlL1ZpZGVvUGxheWJhY2tRdWFsaXR5LmgKQEAgLTAsMCArMSw1NyBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpZm5kZWYgVmlkZW9QbGF5YmFja1F1YWxpdHlfaAorI2RlZmluZSBWaWRlb1BsYXliYWNrUXVh
bGl0eV9oCisKKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorI2luY2x1ZGUgPHd0Zi9SZWZQ
dHIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBWaWRlb1BsYXliYWNrUXVhbGl0
eSA6IHB1YmxpYyBSZWZDb3VudGVkPFZpZGVvUGxheWJhY2tRdWFsaXR5PiB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoVmlkZW9QbGF5YmFja1F1YWxpdHkpCitwdWJsaWM6CisgICAgc3RhdGlj
IFJlZlB0cjxWaWRlb1BsYXliYWNrUXVhbGl0eT4gY3JlYXRlKGRvdWJsZSBjcmVhdGlvblRpbWUs
IHVuc2lnbmVkIGxvbmcgdG90YWxWaWRlb0ZyYW1lcywgdW5zaWduZWQgbG9uZyBkcm9wcGVkVmlk
ZW9GcmFtZXMsIHVuc2lnbmVkIGxvbmcgY29ycnVwdGVkVmlkZW9GcmFtZXMsIGRvdWJsZSB0b3Rh
bEZyYW1lRGVsYXkpOworCisgICAgZG91YmxlIGNyZWF0aW9uVGltZSgpIGNvbnN0IHsgcmV0dXJu
IG1fY3JlYXRpb25UaW1lOyB9CisgICAgdW5zaWduZWQgbG9uZyB0b3RhbFZpZGVvRnJhbWVzKCkg
Y29uc3QgeyByZXR1cm4gbV90b3RhbFZpZGVvRnJhbWVzOyB9CisgICAgdW5zaWduZWQgbG9uZyBk
cm9wcGVkVmlkZW9GcmFtZXMoKSBjb25zdCB7IHJldHVybiBtX2Ryb3BwZWRWaWRlb0ZyYW1lczsg
fQorICAgIHVuc2lnbmVkIGxvbmcgY29ycnVwdGVkVmlkZW9GcmFtZXMoKSBjb25zdCB7IHJldHVy
biBtX2NvcnJ1cHRlZFZpZGVvRnJhbWVzOyB9CisgICAgZG91YmxlIHRvdGFsRnJhbWVEZWxheSgp
IGNvbnN0IHsgcmV0dXJuIG1fdG90YWxGcmFtZURlbGF5OyB9CisKK3Byb3RlY3RlZDoKKyAgICBW
aWRlb1BsYXliYWNrUXVhbGl0eShkb3VibGUgY3JlYXRpb25UaW1lLCB1bnNpZ25lZCBsb25nIHRv
dGFsVmlkZW9GcmFtZXMsIHVuc2lnbmVkIGxvbmcgZHJvcHBlZFZpZGVvRnJhbWVzLCB1bnNpZ25l
ZCBsb25nIGNvcnJ1cHRlZFZpZGVvRnJhbWVzLCBkb3VibGUgdG90YWxGcmFtZURlbGF5KTsKKwor
ICAgIGRvdWJsZSBtX2NyZWF0aW9uVGltZTsKKyAgICB1bnNpZ25lZCBsb25nIG1fdG90YWxWaWRl
b0ZyYW1lczsKKyAgICB1bnNpZ25lZCBsb25nIG1fZHJvcHBlZFZpZGVvRnJhbWVzOworICAgIHVu
c2lnbmVkIGxvbmcgbV9jb3JydXB0ZWRWaWRlb0ZyYW1lczsKKyAgICBkb3VibGUgbV90b3RhbEZy
YW1lRGVsYXk7Cit9OworCit9CisKKyNlbmRpZiAvLyBWaWRlb1BsYXliYWNrUXVhbGl0eV9oCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1ZpZGVvUGxheWJh
Y2tRdWFsaXR5LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvVmlkZW9Q
bGF5YmFja1F1YWxpdHkuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY1YzYxOTMwMTc2MGEzODMxZTVlZmJhZjZj
NmZlMDUzMjM1NzVkMDYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc291cmNlL1ZpZGVvUGxheWJhY2tRdWFsaXR5LmlkbApAQCAtMCwwICsxLDM5IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworWworICAgIENvbmRpdGlvbmFsPU1FRElBX1NPVVJDRSwKKyAgICBOb0ludGVy
ZmFjZU9iamVjdCwKKyAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAorXSBpbnRlcmZhY2Ug
VmlkZW9QbGF5YmFja1F1YWxpdHkgeworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBkb3VibGUgY3Jl
YXRpb25UaW1lOworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHRvdGFsVmlk
ZW9GcmFtZXM7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgZHJvcHBlZFZp
ZGVvRnJhbWVzOworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGNvcnJ1cHRl
ZFZpZGVvRnJhbWVzOworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBkb3VibGUgdG90YWxGcmFtZURl
bGF5OworfTsKKworCisKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagppbmRleCAyNjkxNGQ1MWU1NWMxMzIxZmM0NTY1NzM1ZGUzNDU1NmU1YTVl
ZjUyLi41YTM4YmQ4NTFjNzZkZDM0OTcxMWRkOTBkNDY0Mzc1MzFkZjI2MTc0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC01NDE4
LDYgKzU0MTgsOSBAQAogCQlDREUzQTg1ODE3RjYwMjA0MDBDNUJFMjAgLyogQXVkaW9UcmFja1By
aXZhdGVBVkZPYmpDLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBDREUzQTg1NjE3RjYwMjA0MDBDNUJFMjAgLyogQXVkaW9UcmFja1ByaXZhdGVBVkZPYmpD
LmggKi87IH07CiAJCUNERTdGQzQ0MTgxOTA0QjEwMDJCQkI3NyAvKiBPcmRlckl0ZXJhdG9yLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENERTdGQzQy
MTgxOTA0QjEwMDJCQkI3NyAvKiBPcmRlckl0ZXJhdG9yLmNwcCAqLzsgfTsKIAkJQ0RFN0ZDNDUx
ODE5MDRCMTAwMkJCQjc3IC8qIE9yZGVySXRlcmF0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENERTdGQzQzMTgxOTA0QjEwMDJCQkI3NyAvKiBPcmRl
ckl0ZXJhdG9yLmggKi87IH07CisJCUNERTgzREIxMTgzQzQ0MDYwMDMxRUFBMyAvKiBWaWRlb1Bs
YXliYWNrUXVhbGl0eS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBDREU4M0RBRjE4M0M0NDA2MDAzMUVBQTMgLyogVmlkZW9QbGF5YmFja1F1YWxpdHku
Y3BwICovOyB9OworCQlDREU4M0RCMjE4M0M0NDA2MDAzMUVBQTMgLyogVmlkZW9QbGF5YmFja1F1
YWxpdHkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENE
RTgzREIwMTgzQzQ0MDYwMDMxRUFBMyAvKiBWaWRlb1BsYXliYWNrUXVhbGl0eS5oICovOyB9Owor
CQlDREU4M0RCNjE4M0QzNTJBMDAzMUVBQTMgLyogSlNWaWRlb1BsYXliYWNrUXVhbGl0eS5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDREU4M0RCNDE4
M0QzNTJBMDAzMUVBQTMgLyogSlNWaWRlb1BsYXliYWNrUXVhbGl0eS5jcHAgKi87IH07CiAJCUNE
RUE3NjMwMTQ2MDhBNTMwMDhCMzFGMSAvKiBQbGF0Zm9ybUNsb2NrQ0EuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RFQTc2MkUxNDYwODRERTAwOEIz
MUYxIC8qIFBsYXRmb3JtQ2xvY2tDQS5jcHAgKi87IH07CiAJCUNERUE3NjM0MTQ2MEI1NkYwMDhC
MzFGMSAvKiBDbG9ja0dlbmVyaWMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQ0RFQTc2MzIxNDYwQUUyOTAwOEIzMUYxIC8qIENsb2NrR2VuZXJpYy5j
cHAgKi87IH07CiAJCUNERUE3NjM1MTQ2MEI3MUEwMDhCMzFGMSAvKiBDbG9jay5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDREVBNzYzMzE0NjBCNDYy
MDA4QjMxRjEgLyogQ2xvY2suY3BwICovOyB9OwpAQCAtMTI1NDMsNiArMTI1NDYsMTEgQEAKIAkJ
Q0RFNjU2MEUxN0NBNkU3NjAwNTI2QkE3IC8qIG1lZGlhQ29udHJvbHNBcHBsZS5qcyAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuamF2
YXNjcmlwdDsgcGF0aCA9IG1lZGlhQ29udHJvbHNBcHBsZS5qczsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJQ0RFN0ZDNDIxODE5MDRCMTAwMkJCQjc3IC8qIE9yZGVySXRlcmF0b3IuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gT3JkZXJJdGVyYXRvci5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNERTdGQzQzMTgxOTA0QjEwMDJCQkI3NyAv
KiBPcmRlckl0ZXJhdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE9yZGVy
SXRlcmF0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0RFODNEQUYxODNDNDQw
NjAwMzFFQUEzIC8qIFZpZGVvUGxheWJhY2tRdWFsaXR5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFZpZGVvUGxheWJhY2tRdWFsaXR5LmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJQ0RFODNEQjAxODNDNDQwNjAwMzFFQUEzIC8qIFZpZGVvUGxheWJh
Y2tRdWFsaXR5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFZpZGVvUGxheWJh
Y2tRdWFsaXR5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNERTgzREIzMTgzQzQ0
MUUwMDMxRUFBMyAvKiBWaWRlb1BsYXliYWNrUXVhbGl0eS5pZGwgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gVmlkZW9QbGF5YmFj
a1F1YWxpdHkuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDREU4M0RCNDE4M0Qz
NTJBMDAzMUVBQTMgLyogSlNWaWRlb1BsYXliYWNrUXVhbGl0eS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1ZpZGVvUGxheWJhY2tRdWFsaXR5LmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0RFODNEQjUxODNEMzUyQTAwMzFFQUEzIC8qIEpTVmlk
ZW9QbGF5YmFja1F1YWxpdHkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNW
aWRlb1BsYXliYWNrUXVhbGl0eS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDREVB
NzYyQzE0NjA4MjI0MDA4QjMxRjEgLyogQ2xvY2suaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gQ2xvY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0RFQTc2MkUx
NDYwODRERTAwOEIzMUYxIC8qIFBsYXRmb3JtQ2xvY2tDQS5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBQbGF0Zm9ybUNsb2NrQ0EuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlDREVBNzYyRjE0NjA4NEVFMDA4QjMxRjEgLyogUGxhdGZvcm1DbG9ja0NB
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBsYXRmb3JtQ2xvY2tDQS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTc3NjksNiArMTc3NzcsOCBAQAogCQkJCUJF
OEVGMDQ4MTcxQzkwMTQwMDlCNDhDMyAvKiBKU1ZpZGVvVHJhY2tMaXN0LmNwcCAqLywKIAkJCQlC
RThFRjA0OTE3MUM5MDE0MDA5QjQ4QzMgLyogSlNWaWRlb1RyYWNrTGlzdC5oICovLAogCQkJCTk3
RTlFQzhCMTVEQzQ5MkYwMDRGMkU3MSAvKiBKU1ZvaWRDYWxsYmFjay5jcHAgKi8sCisJCQkJQ0RF
ODNEQjQxODNEMzUyQTAwMzFFQUEzIC8qIEpTVmlkZW9QbGF5YmFja1F1YWxpdHkuY3BwICovLAor
CQkJCUNERTgzREI1MTgzRDM1MkEwMDMxRUFBMyAvKiBKU1ZpZGVvUGxheWJhY2tRdWFsaXR5Lmgg
Ki8sCiAJCQkJOTdFOUVDOEMxNURDNDkyRjAwNEYyRTcxIC8qIEpTVm9pZENhbGxiYWNrLmggKi8s
CiAJCQkJQTdEMjBGNjAxMDdGNDA2OTAwQTgwMzkyIC8qIEpTV2ViR0xBY3RpdmVJbmZvLmNwcCAq
LywKIAkJCQlBN0QyMEY2MTEwN0Y0MDY5MDBBODAzOTIgLyogSlNXZWJHTEFjdGl2ZUluZm8uaCAq
LywKQEAgLTE4NTc0LDYgKzE4NTg0LDkgQEAKIAkJCQlDRDNBNDk1RDE3QTlEMDFCMDAyNzRFNDIg
LyogU291cmNlQnVmZmVyTGlzdC5pZGwgKi8sCiAJCQkJQ0Q4QjVBNDgxODBFMTM4QjAwOEI4RTY1
IC8qIFRleHRUcmFja01lZGlhU291cmNlLmggKi8sCiAJCQkJQ0Q4QjVBNDcxODBFMTM2MTAwOEI4
RTY1IC8qIFRleHRUcmFja01lZGlhU291cmNlLmlkbCAqLywKKwkJCQlDREU4M0RBRjE4M0M0NDA2
MDAzMUVBQTMgLyogVmlkZW9QbGF5YmFja1F1YWxpdHkuY3BwICovLAorCQkJCUNERTgzREIwMTgz
QzQ0MDYwMDMxRUFBMyAvKiBWaWRlb1BsYXliYWNrUXVhbGl0eS5oICovLAorCQkJCUNERTgzREIz
MTgzQzQ0MUUwMDMxRUFBMyAvKiBWaWRlb1BsYXliYWNrUXVhbGl0eS5pZGwgKi8sCiAJCQkJQ0Q4
QjVBNDUxODBERkY0RTAwOEI4RTY1IC8qIFZpZGVvVHJhY2tNZWRpYVNvdXJjZS5oICovLAogCQkJ
CUNEOEI1QTQ0MTgwREQ4RDYwMDhCOEU2NSAvKiBWaWRlb1RyYWNrTWVkaWFTb3VyY2UuaWRsICov
LAogCQkJCUNERDcwODk0MTgzNTlGNkUwMDJCM0RDNiAvKiBTYW1wbGVNYXAuY3BwICovLApAQCAt
MjM5MDcsNiArMjM5MjAsNyBAQAogCQkJCUIyRkEzREZEMEFCNzVBNkYwMDBFNUFDNCAvKiBKU1NW
R1NWR0VsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyRkEzREZGMEFCNzVBNkYwMDBFNUFD
NCAvKiBKU1NWR1N3aXRjaEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyRkEzRTAxMEFC
NzVBNkYwMDBFNUFDNCAvKiBKU1NWR1N5bWJvbEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAorCQkJ
CUNERTgzREIyMTgzQzQ0MDYwMDMxRUFBMyAvKiBWaWRlb1BsYXliYWNrUXVhbGl0eS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQjJGQTNFMDMwQUI3NUE2RjAwMEU1QUM0IC8qIEpTU1ZHVGV4dENvbnRl
bnRFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlCMkZBM0UwNTBBQjc1QTZGMDAwRTVBQzQg
LyogSlNTVkdUZXh0RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjIyMzYyMjkwQzNBRjA0
QTAwMDhDQTlCIC8qIEpTU1ZHVGV4dFBhdGhFbGVtZW50LmggaW4gSGVhZGVycyAqLywKQEAgLTI2
NDMyLDYgKzI2NDQ2LDcgQEAKIAkJCQk0RkIzOTBBRDE1RUY2MUYzMDA3QUQ1MUYgLyogR2VuZXJh
dGVkSW1hZ2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkQ0ODFGMDMxNDZCNUM2NTAwQUE3ODM0
IC8qIEdyYWRpZW50SW1hZ2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMDcyMEIwQTAxNEQzMzIz
NTAwNjQyOTU1IC8qIEdlbmVyaWNFdmVudFF1ZXVlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUNE
RTgzREIxMTgzQzQ0MDYwMDMxRUFBMyAvKiBWaWRlb1BsYXliYWNrUXVhbGl0eS5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQk5NzQ2QUYyMzE0RjREREU2MDAzRTdBNzAgLyogR2VvbG9jYXRpb24uY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJOTc0NkFGMjYxNEY0RERFNjAwM0U3QTcwIC8qIEdlb2xvY2F0
aW9uQ29udHJvbGxlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCMkMzREE2RDBEMDA2Q0Q2MDBF
RjZGMjYgLyogR2x5cGhQYWdlVHJlZU5vZGUuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0yODAyNSw2
ICsyODA0MCw3IEBACiAJCQkJQjIyMjc5QTQwRDAwQkYyMjAwNzFCNzgyIC8qIFNWR0NvbXBvbmVu
dFRyYW5zZmVyRnVuY3Rpb25FbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUIyMjI3QjA1
MEQwMEJGRjEwMDcxQjc4MiAvKiBTVkdDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJMDc4RTA5MEMxN0QxNENFRTAwNDIwQUExIC8qIFJUQ1Nlc3Npb25E
ZXNjcmlwdGlvbi5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlDREU4M0RCNjE4M0QzNTJBMDAzMUVB
QTMgLyogSlNWaWRlb1BsYXliYWNrUXVhbGl0eS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCMjIy
N0IwNjBEMDBCRkYxMDA3MUI3ODIgLyogU1ZHQ1NTUGFyc2VyLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCUIyMjI3QjA4MEQwMEJGRjEwMDcxQjc4MiAvKiBTVkdDU1NTdHlsZVNlbGVjdG9yLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCUIyMjI3OUE3MEQwMEJGMjIwMDcxQjc4MiAvKiBTVkdDdXJzb3JF
bGVtZW50LmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MTWVkaWFFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxl
bWVudC5jcHAKaW5kZXggNzQ0OGJkOThlYTFmNGE1YWZmZjE0MjZjNTc2MTMyZjc4OTQxMzdjMC4u
NWMwNmNkYjc0YjBkOGEwOTZlNjZjMmVhMDc5MTRlM2U3OGJjYTdlOCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCkBAIC0xMDgsNyArMTA4LDEwIEBACiAjZW5kaWYK
IAogI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisjaW5jbHVkZSAiRE9NV2luZG93LmgiCiAjaW5j
bHVkZSAiSFRNTE1lZGlhU291cmNlLmgiCisjaW5jbHVkZSAiUGVyZm9ybWFuY2UuaCIKKyNpbmNs
dWRlICJWaWRlb1BsYXliYWNrUXVhbGl0eS5oIgogI2VuZGlmCiAKICNpZiBFTkFCTEUoTUVESUFf
U1RSRUFNKQpAQCAtMjcxLDYgKzI3NCw5IEBAIEhUTUxNZWRpYUVsZW1lbnQ6OkhUTUxNZWRpYUVs
ZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQmIGRvY3VtCiAgICAg
LCBtX3ByZWxvYWQoTWVkaWFQbGF5ZXI6OkF1dG8pCiAgICAgLCBtX2Rpc3BsYXlNb2RlKFVua25v
d24pCiAgICAgLCBtX3Byb2Nlc3NpbmdNZWRpYVBsYXllckNhbGxiYWNrKDApCisjaWYgRU5BQkxF
KE1FRElBX1NPVVJDRSkKKyAgICAsIG1fZHJvcHBlZFZpZGVvRnJhbWVzKDApCisjZW5kaWYKICAg
ICAsIG1fY2FjaGVkVGltZShNZWRpYVBsYXllcjo6aW52YWxpZFRpbWUoKSkKICAgICAsIG1fY2xv
Y2tUaW1lQXRMYXN0Q2FjaGVkVGltZVVwZGF0ZSgwKQogICAgICwgbV9taW5pbXVtQ2xvY2tUaW1l
VG9VcGRhdGVDYWNoZWRUaW1lKDApCkBAIC0zOTA4LDYgKzM5MTQsMTAgQEAgdm9pZCBIVE1MTWVk
aWFFbGVtZW50OjptZWRpYVBsYXllckVuZ2luZVVwZGF0ZWQoTWVkaWFQbGF5ZXIqKQogICAgIGlm
IChyZW5kZXJlcigpKQogICAgICAgICByZW5kZXJlcigpLT51cGRhdGVGcm9tRWxlbWVudCgpOwog
ICAgIGVuZFByb2Nlc3NpbmdNZWRpYVBsYXllckNhbGxiYWNrKCk7CisKKyNpZiBFTkFCTEUoTUVE
SUFfU09VUkNFKQorICAgIG1fZHJvcHBlZFZpZGVvRnJhbWVzID0gMDsKKyNlbmRpZgogfQogCiB2
b2lkIEhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlhUGxheWVyRmlyc3RWaWRlb0ZyYW1lQXZhaWxhYmxl
KE1lZGlhUGxheWVyKikKQEAgLTUyMzAsNiArNTI0MCwyOCBAQCBib29sIEhUTUxNZWRpYUVsZW1l
bnQ6OnNob3VsZFVzZVZpZGVvUGx1Z2luUHJveHkoKSBjb25zdAogfQogI2VuZGlmCiAKKyNpZiBF
TkFCTEUoTUVESUFfU09VUkNFKQorUmVmUHRyPFZpZGVvUGxheWJhY2tRdWFsaXR5PiBIVE1MTWVk
aWFFbGVtZW50OjpnZXRWaWRlb1BsYXliYWNrUXVhbGl0eSgpCit7CisjaWYgRU5BQkxFKFdFQl9U
SU1JTkcpCisgICAgRE9NV2luZG93KiBkb21XaW5kb3cgPSBkb2N1bWVudCgpLmRvbVdpbmRvdygp
OworICAgIFBlcmZvcm1hbmNlKiBwZXJmb3JtYW5jZSA9IGRvbVdpbmRvdyA/IGRvbVdpbmRvdy0+
cGVyZm9ybWFuY2UoKSA6IG51bGxwdHI7CisgICAgZG91YmxlIG5vdyA9IHBlcmZvcm1hbmNlID8g
cGVyZm9ybWFuY2UtPm5vdygpIDogMDsKKyNlbHNlCisgICAgZG91YmxlIG5vdyA9IG1vbm90b25p
Y2FsbHlJbmNyZWFzaW5nVGltZSgpOworI2VuZGlmCisKKyAgICBpZiAoIW1fcGxheWVyKQorICAg
ICAgICByZXR1cm4gVmlkZW9QbGF5YmFja1F1YWxpdHk6OmNyZWF0ZShub3csIDAsIDAsIDAsIDAp
OworCisgICAgcmV0dXJuIFZpZGVvUGxheWJhY2tRdWFsaXR5OjpjcmVhdGUobm93LAorICAgICAg
ICBtX2Ryb3BwZWRWaWRlb0ZyYW1lcyArIG1fcGxheWVyLT50b3RhbFZpZGVvRnJhbWVzKCksCisg
ICAgICAgIG1fZHJvcHBlZFZpZGVvRnJhbWVzICsgbV9wbGF5ZXItPmRyb3BwZWRWaWRlb0ZyYW1l
cygpLAorICAgICAgICBtX3BsYXllci0+Y29ycnVwdGVkVmlkZW9GcmFtZXMoKSwKKyAgICAgICAg
bV9wbGF5ZXItPnRvdGFsRnJhbWVEZWxheSgpKTsKK30KKyNlbmRpZgorCiAjaWYgRU5BQkxFKE1F
RElBX0NPTlRST0xTX1NDUklQVCkKIERPTVdyYXBwZXJXb3JsZCYgSFRNTE1lZGlhRWxlbWVudDo6
ZW5zdXJlSXNvbGF0ZWRXb3JsZCgpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxNZWRpYUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVu
dC5oCmluZGV4IDQ0MTgyNTYwYTU5NzRiMTVhZjJmZDUzY2RmNjUwYTkzNWJiY2I1ZjguLmMzZDFi
ZjE3M2Q4YTFmOTNlNjFkYmU4MGUwNjJkZjJjZjY0NjVjOTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTE1lZGlhRWxlbWVudC5oCkBAIC04MCw2ICs4MCw5IEBAIGNsYXNzIERpc3BsYXlTbGVlcERp
c2FibGVyOwogI2lmIEVOQUJMRShFTkNSWVBURURfTUVESUFfVjIpCiBjbGFzcyBNZWRpYUtleXM7
CiAjZW5kaWYKKyNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQorY2xhc3MgVmlkZW9QbGF5YmFja1F1
YWxpdHk7CisjZW5kaWYKIAogI2lmIEVOQUJMRShWSURFT19UUkFDSykKIGNsYXNzIEF1ZGlvVHJh
Y2tMaXN0OwpAQCAtMjAxLDcgKzIwNCw4IEBAIHB1YmxpYzoKICNpZiBFTkFCTEUoTUVESUFfU09V
UkNFKQogLy8gIE1lZGlhIFNvdXJjZS4KICAgICB2b2lkIGNsb3NlTWVkaWFTb3VyY2UoKTsKLSNl
bmRpZiAKKyAgICB2b2lkIGluY3JlbWVudERyb3BwZWRGcmFtZUNvdW50KCkgeyArK21fZHJvcHBl
ZFZpZGVvRnJhbWVzOyB9CisjZW5kaWYKIAogI2lmIEVOQUJMRShFTkNSWVBURURfTUVESUEpCiAg
ICAgdm9pZCB3ZWJraXRHZW5lcmF0ZUtleVJlcXVlc3QoY29uc3QgU3RyaW5nJiBrZXlTeXN0ZW0s
IFBhc3NSZWZQdHI8VWludDhBcnJheT4gaW5pdERhdGEsIEV4Y2VwdGlvbkNvZGUmKTsKQEAgLTM5
OCw2ICs0MDIsMTAgQEAgcHVibGljOgogICAgIHZvaWQgbWVkaWFMb2FkaW5nRmFpbGVkKE1lZGlh
UGxheWVyOjpOZXR3b3JrU3RhdGUpOwogICAgIHZvaWQgbWVkaWFMb2FkaW5nRmFpbGVkRmF0YWxs
eShNZWRpYVBsYXllcjo6TmV0d29ya1N0YXRlKTsKIAorI2lmIEVOQUJMRShNRURJQV9TT1VSQ0Up
CisgICAgUmVmUHRyPFZpZGVvUGxheWJhY2tRdWFsaXR5PiBnZXRWaWRlb1BsYXliYWNrUXVhbGl0
eSgpOworI2VuZGlmCisKIHByb3RlY3RlZDoKICAgICBIVE1MTWVkaWFFbGVtZW50KGNvbnN0IFF1
YWxpZmllZE5hbWUmLCBEb2N1bWVudCYsIGJvb2wpOwogICAgIHZpcnR1YWwgfkhUTUxNZWRpYUVs
ZW1lbnQoKTsKQEAgLTY5OSw2ICs3MDcsNyBAQCBwcml2YXRlOgogCiAjaWYgRU5BQkxFKE1FRElB
X1NPVVJDRSkKICAgICBSZWZQdHI8SFRNTE1lZGlhU291cmNlPiBtX21lZGlhU291cmNlOworICAg
IHVuc2lnbmVkIGxvbmcgbV9kcm9wcGVkVmlkZW9GcmFtZXM7CiAjZW5kaWYKIAogICAgIG11dGFi
bGUgZG91YmxlIG1fY2FjaGVkVGltZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTE1lZGlhRWxlbWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1l
bnQuaWRsCmluZGV4IGQ5NWIzZTg0ZWUzNGM4MDFkOTA4NDUzNDBkNDFlZmI2ZjYwZjM4NzYuLmRl
NmY5MjQwMjZiYjVmMDlhMGJiZTc3NzE5NTliMWFjYzUyYTI2NjYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MTWVkaWFFbGVtZW50LmlkbApAQCAtMTE3LDQgKzExNyw2IEBACiAKICAgICBbUmVm
bGVjdCwgVHJlYXROdWxsQXM9TnVsbFN0cmluZ10gYXR0cmlidXRlIERPTVN0cmluZyBtZWRpYUdy
b3VwOwogICAgIFtDdXN0b21TZXR0ZXJdIGF0dHJpYnV0ZSBNZWRpYUNvbnRyb2xsZXIgY29udHJv
bGxlcjsKKyAgICAKKyAgICBbQ29uZGl0aW9uYWw9TUVESUFfU09VUkNFXSBWaWRlb1BsYXliYWNr
UXVhbGl0eSBnZXRWaWRlb1BsYXliYWNrUXVhbGl0eSgpOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL01lZGlhU2FtcGxlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9NZWRpYVNhbXBsZS5oCmluZGV4IDc0NGQzYzc5YWI5MWY2YmI2NTJjYjU0OWU1NzM4ZDVhOTVi
ZWYxYzguLjU3NjJlM2RlMmFjNjIyZTAwZTRjOWM3MTAzYmQ2NTcxNjYyZGQ2ZmUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01lZGlhU2FtcGxlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vTWVkaWFTYW1wbGUuaApAQCAtNjMsNiArNjMsOSBAQCBwdWJsaWM6CiAg
ICAgfTsKICAgICB2aXJ0dWFsIFNhbXBsZUZsYWdzIGZsYWdzKCkgY29uc3QgPSAwOwogICAgIHZp
cnR1YWwgUGxhdGZvcm1TYW1wbGUgcGxhdGZvcm1TYW1wbGUoKSA9IDA7CisKKyAgICBib29sIGlz
U3luYygpIGNvbnN0IHsgcmV0dXJuIGZsYWdzKCkgJiBJc1N5bmM7IH0KKyAgICBib29sIGlzTm9u
RGlzcGxheWluZygpIGNvbnN0IHsgcmV0dXJuIGZsYWdzKCkgJiBOb25EaXNwbGF5aW5nOyB9CiB9
OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRp
YVBsYXllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXll
ci5jcHAKaW5kZXggNjQ2NThmNzdiNGZjZjgwZjVlNDk2MGZmOTU2ZmYxOWY5OTM5YWQ2MS4uZGE0
Mzc3ZTAxNjZhOTAyN2VkNjRhOTdhZjA4NmMwYzYxMmIzNDYwNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcApAQCAtMTIzOSw2ICsxMjM5
LDQwIEBAIHVuc2lnbmVkIGxvbmcgbG9uZyBNZWRpYVBsYXllcjo6ZmlsZVNpemUoKSBjb25zdAog
ICAgIHJldHVybiBtX3ByaXZhdGUtPmZpbGVTaXplKCk7CiB9CiAKKyNpZiBFTkFCTEUoTUVESUFf
U09VUkNFKQordW5zaWduZWQgbG9uZyBNZWRpYVBsYXllcjo6dG90YWxWaWRlb0ZyYW1lcygpCit7
CisgICAgaWYgKCFtX3ByaXZhdGUpCisgICAgICAgIHJldHVybiAwOworCisgICAgcmV0dXJuIG1f
cHJpdmF0ZS0+dG90YWxWaWRlb0ZyYW1lcygpOworfQorCit1bnNpZ25lZCBsb25nIE1lZGlhUGxh
eWVyOjpkcm9wcGVkVmlkZW9GcmFtZXMoKQoreworICAgIGlmICghbV9wcml2YXRlKQorICAgICAg
ICByZXR1cm4gMDsKKworICAgIHJldHVybiBtX3ByaXZhdGUtPmRyb3BwZWRWaWRlb0ZyYW1lcygp
OworfQorCit1bnNpZ25lZCBsb25nIE1lZGlhUGxheWVyOjpjb3JydXB0ZWRWaWRlb0ZyYW1lcygp
Cit7CisgICAgaWYgKCFtX3ByaXZhdGUpCisgICAgICAgIHJldHVybiAwOworCisgICAgcmV0dXJu
IG1fcHJpdmF0ZS0+Y29ycnVwdGVkVmlkZW9GcmFtZXMoKTsKK30KKworZG91YmxlIE1lZGlhUGxh
eWVyOjp0b3RhbEZyYW1lRGVsYXkoKQoreworICAgIGlmICghbV9wcml2YXRlKQorICAgICAgICBy
ZXR1cm4gMDsKKworICAgIHJldHVybiBtX3ByaXZhdGUtPnRvdGFsRnJhbWVEZWxheSgpOworfQor
I2VuZGlmCisKIHZvaWQgTWVkaWFQbGF5ZXJGYWN0b3J5U3VwcG9ydDo6Y2FsbFJlZ2lzdGVyTWVk
aWFFbmdpbmUoTWVkaWFFbmdpbmVSZWdpc3RlciByZWdpc3Rlck1lZGlhRW5naW5lKQogewogICAg
IHJlZ2lzdGVyTWVkaWFFbmdpbmUoYWRkTWVkaWFFbmdpbmUpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmgKaW5kZXggZDRlMjE5MDNjNTc2OTg4ZDVj
Nzg4NjM3ODljMGU4MTU0MzBlZGM3My4uODE1MTYzY2NiZTg1MWI0NTA1MzdlNjFjNjU1OTZmZjgy
MTJkODM3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVk
aWFQbGF5ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBs
YXllci5oCkBAIC01MTQsNiArNTE0LDEzIEBAIHB1YmxpYzoKIAogICAgIHVuc2lnbmVkIGxvbmcg
bG9uZyBmaWxlU2l6ZSgpIGNvbnN0OwogCisjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKKyAgICB1
bnNpZ25lZCBsb25nIHRvdGFsVmlkZW9GcmFtZXMoKTsKKyAgICB1bnNpZ25lZCBsb25nIGRyb3Bw
ZWRWaWRlb0ZyYW1lcygpOworICAgIHVuc2lnbmVkIGxvbmcgY29ycnVwdGVkVmlkZW9GcmFtZXMo
KTsKKyAgICBkb3VibGUgdG90YWxGcmFtZURlbGF5KCk7CisjZW5kaWYKKwogcHJpdmF0ZToKICAg
ICBNZWRpYVBsYXllcihNZWRpYVBsYXllckNsaWVudCopOwogICAgIE1lZGlhUGxheWVyRmFjdG9y
eSogbmV4dEJlc3RNZWRpYUVuZ2luZShNZWRpYVBsYXllckZhY3RvcnkqKSBjb25zdDsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0
ZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRl
LmgKaW5kZXggNDM2YzY4YjRmNjIyN2U0ZDMyZmIwYTJiN2ExNmU0ZmE1ZWVmNTA3ZS4uY2Y3YjVm
Mjg4NWY1MTVmMjYzNDMwM2JlNjNhZTc1NWQyYjg0MzRkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmgKQEAgLTIxNSw2
ICsyMTUsMTMgQEAgcHVibGljOgogICAgIHZpcnR1YWwgc2l6ZV90IGV4dHJhTWVtb3J5Q29zdCgp
IGNvbnN0IHsgcmV0dXJuIDA7IH0KICAgICAKICAgICB2aXJ0dWFsIHVuc2lnbmVkIGxvbmcgbG9u
ZyBmaWxlU2l6ZSgpIGNvbnN0IHsgcmV0dXJuIDA7IH0KKworI2lmIEVOQUJMRShNRURJQV9TT1VS
Q0UpCisgICAgdmlydHVhbCB1bnNpZ25lZCBsb25nIHRvdGFsVmlkZW9GcmFtZXMoKSB7IHJldHVy
biAwOyB9CisgICAgdmlydHVhbCB1bnNpZ25lZCBsb25nIGRyb3BwZWRWaWRlb0ZyYW1lcygpIHsg
cmV0dXJuIDA7IH0KKyAgICB2aXJ0dWFsIHVuc2lnbmVkIGxvbmcgY29ycnVwdGVkVmlkZW9GcmFt
ZXMoKSB7IHJldHVybiAwOyB9CisgICAgdmlydHVhbCBkb3VibGUgdG90YWxGcmFtZURlbGF5KCkg
eyByZXR1cm4gMDsgfQorI2VuZGlmCiB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVN
ZWRpYVNvdXJjZUFWRk9iakMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2
Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5oCmlu
ZGV4IDk2ODE2MWZhNzQxYTMyYzFmNTRkNWZiM2M5MjdjYzFiODYzN2Y1MmQuLmQ2Y2ZjMTI0NWRl
MzIwZGM3NjU3MWZlZTQ3N2RjYWMzZjk4MjFhNWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1l
ZGlhU291cmNlQVZGT2JqQy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5o
CkBAIC0xMjksNiArMTI5LDExIEBAIHByaXZhdGU6CiAKICAgICB2aXJ0dWFsIHNpemVfdCBleHRy
YU1lbW9yeUNvc3QoKSBjb25zdCBPVkVSUklERTsKIAorICAgIHZpcnR1YWwgdW5zaWduZWQgbG9u
ZyB0b3RhbFZpZGVvRnJhbWVzKCkgT1ZFUlJJREU7CisgICAgdmlydHVhbCB1bnNpZ25lZCBsb25n
IGRyb3BwZWRWaWRlb0ZyYW1lcygpIE9WRVJSSURFOworICAgIHZpcnR1YWwgdW5zaWduZWQgbG9u
ZyBjb3JydXB0ZWRWaWRlb0ZyYW1lcygpIE9WRVJSSURFOworICAgIHZpcnR1YWwgZG91YmxlIHRv
dGFsRnJhbWVEZWxheSgpIE9WRVJSSURFOworCiAgICAgdm9pZCBlbnN1cmVMYXllcigpOwogICAg
IHZvaWQgZGVzdHJveUxheWVyKCk7CiAgICAgdm9pZCBkdXJhdGlvbkNoYW5nZWQoKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpj
L01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5tbSBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1l
ZGlhU291cmNlQVZGT2JqQy5tbQppbmRleCA5ODgwYjlmYmE2YWQzOGQ5ZTJlODYxMzE3NjZkMmE5
NjhiNDMzYjcwLi5kYWZiMGIyYjNiN2EwM2M1OWRkMmY3YmRkNjk4ZDdhNzRmNWUwMDNmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2Jq
Yy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMubW0KKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2
YXRlTWVkaWFTb3VyY2VBVkZPYmpDLm1tCkBAIC01MCw2ICs1MCwyMSBAQCBTT0ZUX0xJTktfQ0xB
U1NfT1BUSU9OQUwoQVZGb3VuZGF0aW9uLCBBVkFzc2V0KQogU09GVF9MSU5LX0NMQVNTX09QVElP
TkFMKEFWRm91bmRhdGlvbiwgQVZVUkxBc3NldCkKIFNPRlRfTElOS19DTEFTU19PUFRJT05BTChB
VkZvdW5kYXRpb24sIEFWU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyKQogU09GVF9MSU5LX0NMQVNT
X09QVElPTkFMKEFWRm91bmRhdGlvbiwgQVZTdHJlYW1EYXRhUGFyc2VyKQorU09GVF9MSU5LX0NM
QVNTX09QVElPTkFMKEFWRm91bmRhdGlvbiwgQVZWaWRlb1BlcmZvcm1hbmNlTWV0cmljcykKKwor
I3ByYWdtYSBtYXJrIC0KKyNwcmFnbWEgbWFyayBBVlZpZGVvUGVyZm9ybWFuY2VNZXRyaWNzCisK
K0BpbnRlcmZhY2UgQVZWaWRlb1BlcmZvcm1hbmNlTWV0cmljcyA6IE5TT2JqZWN0CistICh1bnNp
Z25lZCBsb25nKXRvdGFsTnVtYmVyT2ZWaWRlb0ZyYW1lczsKKy0gKHVuc2lnbmVkIGxvbmcpbnVt
YmVyT2ZEcm9wcGVkVmlkZW9GcmFtZXM7CistICh1bnNpZ25lZCBsb25nKW51bWJlck9mQ29ycnVw
dGVkVmlkZW9GcmFtZXM7CistIChkb3VibGUpdG90YWxGcmFtZURlbGF5OworQGVuZAorCitAaW50
ZXJmYWNlIEFWU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyIChXZWJDb3JlQVZTYW1wbGVCdWZmZXJE
aXNwbGF5TGF5ZXJQcml2YXRlKQorLSAoQVZWaWRlb1BlcmZvcm1hbmNlTWV0cmljcyAqKXZpZGVv
UGVyZm9ybWFuY2VNZXRyaWNzOworQGVuZAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTM2
Niw2ICszODEsMjYgQEAgc2l6ZV90IE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2Jq
Qzo6ZXh0cmFNZW1vcnlDb3N0KCkgY29uc3QKICAgICByZXR1cm4gMDsKIH0KIAordW5zaWduZWQg
bG9uZyBNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OnRvdGFsVmlkZW9GcmFt
ZXMoKQoreworICAgIHJldHVybiBbW21fc2FtcGxlQnVmZmVyRGlzcGxheUxheWVyIHZpZGVvUGVy
Zm9ybWFuY2VNZXRyaWNzXSB0b3RhbE51bWJlck9mVmlkZW9GcmFtZXNdOworfQorCit1bnNpZ25l
ZCBsb25nIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6ZHJvcHBlZFZpZGVv
RnJhbWVzKCkKK3sKKyAgICByZXR1cm4gW1ttX3NhbXBsZUJ1ZmZlckRpc3BsYXlMYXllciB2aWRl
b1BlcmZvcm1hbmNlTWV0cmljc10gbnVtYmVyT2ZEcm9wcGVkVmlkZW9GcmFtZXNdOworfQorCit1
bnNpZ25lZCBsb25nIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6Y29ycnVw
dGVkVmlkZW9GcmFtZXMoKQoreworICAgIHJldHVybiBbW21fc2FtcGxlQnVmZmVyRGlzcGxheUxh
eWVyIHZpZGVvUGVyZm9ybWFuY2VNZXRyaWNzXSBudW1iZXJPZkNvcnJ1cHRlZFZpZGVvRnJhbWVz
XTsKK30KKworZG91YmxlIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6dG90
YWxGcmFtZURlbGF5KCkKK3sKKyAgICByZXR1cm4gW1ttX3NhbXBsZUJ1ZmZlckRpc3BsYXlMYXll
ciB2aWRlb1BlcmZvcm1hbmNlTWV0cmljc10gdG90YWxGcmFtZURlbGF5XTsKK30KKwogI3ByYWdt
YSBtYXJrIC0KICNwcmFnbWEgbWFyayBVdGlsaXR5IE1ldGhvZHMKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrQm94LmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tCb3guaAppbmRleCAzZjBjMGQz
Y2UyMDg1MTJlNzI4NDY1MWRjZjdmODc3ZWYyODI1MDE5Li5mMmZkNjQzZmRmYjgyMDBlODk0OTI0
M2NjZGFkZTkyYjFmYjNlZDZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
b2NrL21lZGlhc291cmNlL01vY2tCb3guaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
b2NrL21lZGlhc291cmNlL01vY2tCb3guaApAQCAtMTI5LDggKzEyOSwxNiBAQCBwdWJsaWM6CiAg
ICAgaW50MzJfdCB0cmFja0lEKCkgY29uc3QgeyByZXR1cm4gbV90cmFja0lEOyB9CiAgICAgdWlu
dDhfdCBmbGFncygpIGNvbnN0IHsgcmV0dXJuIG1fZmxhZ3M7IH0KIAotICAgIGVudW0geyBJc1N5
bmMgPSAxIDw8IDAgfTsKKyAgICBlbnVtIHsKKyAgICAgICAgSXNTeW5jID0gMSA8PCAwLAorICAg
ICAgICBJc0NvcnJ1cHRlZCA9IDEgPDwgMSwKKyAgICAgICAgSXNEcm9wcGVkID0gMSA8PCAyLAor
ICAgICAgICBJc0RlbGF5ZWQgPSAxIDw8IDMsCisgICAgfTsKICAgICBib29sIGlzU3luYygpIGNv
bnN0IHsgcmV0dXJuIG1fZmxhZ3MgJiBJc1N5bmM7IH0KKyAgICBib29sIGlzQ29ycnVwdGVkKCkg
Y29uc3QgeyByZXR1cm4gbV9mbGFncyAmIElzQ29ycnVwdGVkOyB9CisgICAgYm9vbCBpc0Ryb3Bw
ZWQoKSBjb25zdCB7IHJldHVybiBtX2ZsYWdzICYgSXNEcm9wcGVkOyB9CisgICAgYm9vbCBpc0Rl
bGF5ZWQoKSBjb25zdCB7IHJldHVybiBtX2ZsYWdzICYgSXNEZWxheWVkOyB9CiAKIHByb3RlY3Rl
ZDoKICAgICBNZWRpYVRpbWUgbV9wcmVzZW50YXRpb25UaW1lc3RhbXA7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tNZWRpYVBsYXllck1l
ZGlhU291cmNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2Uv
TW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2UuY3BwCmluZGV4IDJmMjMwNDg2YjkyYjYwYjMzOTg5
YWEyNTc0OGQ0OWZjNmM3NWI3ODkuLmUwZmM1MWM5ZjBjZTNmMDI1NDcwODUyYjkwYTRhMTJlNDEw
ZjU4NjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3Vy
Y2UvTW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2UuY3BwCkBA
IC0yNDUsNiArMjQ1LDI2IEBAIHZvaWQgTW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2U6OnNldE5l
dHdvcmtTdGF0ZShNZWRpYVBsYXllcjo6TmV0d29ya1N0YXRlIG5ldHdvCiAgICAgbV9wbGF5ZXIt
Pm5ldHdvcmtTdGF0ZUNoYW5nZWQoKTsKIH0KIAordW5zaWduZWQgbG9uZyBNb2NrTWVkaWFQbGF5
ZXJNZWRpYVNvdXJjZTo6dG90YWxWaWRlb0ZyYW1lcygpCit7CisgICAgcmV0dXJuIG1fbWVkaWFT
b3VyY2VQcml2YXRlID8gbV9tZWRpYVNvdXJjZVByaXZhdGUtPnRvdGFsVmlkZW9GcmFtZXMoKSA6
IDA7Cit9CisKK3Vuc2lnbmVkIGxvbmcgTW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2U6OmRyb3Bw
ZWRWaWRlb0ZyYW1lcygpCit7CisgICAgcmV0dXJuIG1fbWVkaWFTb3VyY2VQcml2YXRlID8gbV9t
ZWRpYVNvdXJjZVByaXZhdGUtPmRyb3BwZWRWaWRlb0ZyYW1lcygpIDogMDsKK30KKwordW5zaWdu
ZWQgbG9uZyBNb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZTo6Y29ycnVwdGVkVmlkZW9GcmFtZXMo
KQoreworICAgIHJldHVybiBtX21lZGlhU291cmNlUHJpdmF0ZSA/IG1fbWVkaWFTb3VyY2VQcml2
YXRlLT5jb3JydXB0ZWRWaWRlb0ZyYW1lcygpIDogMDsKK30KKworZG91YmxlIE1vY2tNZWRpYVBs
YXllck1lZGlhU291cmNlOjp0b3RhbEZyYW1lRGVsYXkoKQoreworICAgIHJldHVybiBtX21lZGlh
U291cmNlUHJpdmF0ZSA/IG1fbWVkaWFTb3VyY2VQcml2YXRlLT50b3RhbEZyYW1lRGVsYXkoKSA6
IDA7Cit9CisKIH0KIAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tb2NrL21lZGlhc291cmNlL01vY2tNZWRpYVBsYXllck1lZGlhU291cmNlLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tNZWRpYVBsYXllck1lZGlhU291
cmNlLmgKaW5kZXggZDFjZjhiNWVlYjAwODVhOTI0YmE3YzIwNjA2NTE3NTU5NTcwODM2Mi4uOTg1
YTIxZmI2Yzc3ODJiOTc2N2JiZmM3ZTM0ZDcwNmRkY2EzMjIyZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrTWVkaWFQbGF5ZXJNZWRpYVNv
dXJjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9j
a01lZGlhUGxheWVyTWVkaWFTb3VyY2UuaApAQCAtNzcsNiArNzcsMTAgQEAgcHJpdmF0ZToKICAg
ICB2aXJ0dWFsIGRvdWJsZSBjdXJyZW50VGltZURvdWJsZSgpIGNvbnN0IE9WRVJSSURFOwogICAg
IHZpcnR1YWwgZG91YmxlIGR1cmF0aW9uRG91YmxlKCkgY29uc3QgT1ZFUlJJREU7CiAgICAgdmly
dHVhbCB2b2lkIHNlZWtXaXRoVG9sZXJhbmNlKGRvdWJsZSB0aW1lLCBkb3VibGUsIGRvdWJsZSkg
T1ZFUlJJREU7CisgICAgdmlydHVhbCB1bnNpZ25lZCBsb25nIHRvdGFsVmlkZW9GcmFtZXMoKSBP
VkVSUklERTsKKyAgICB2aXJ0dWFsIHVuc2lnbmVkIGxvbmcgZHJvcHBlZFZpZGVvRnJhbWVzKCkg
T1ZFUlJJREU7CisgICAgdmlydHVhbCB1bnNpZ25lZCBsb25nIGNvcnJ1cHRlZFZpZGVvRnJhbWVz
KCkgT1ZFUlJJREU7CisgICAgdmlydHVhbCBkb3VibGUgdG90YWxGcmFtZURlbGF5KCkgT1ZFUlJJ
REU7CiAKICAgICBNZWRpYVBsYXllciogbV9wbGF5ZXI7CiAgICAgUmVmUHRyPEhUTUxNZWRpYVNv
dXJjZT4gbV9tZWRpYVNvdXJjZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21vY2svbWVkaWFzb3VyY2UvTW9ja01lZGlhU291cmNlUHJpdmF0ZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tNZWRpYVNvdXJjZVByaXZhdGUuY3Bw
CmluZGV4IDRiMmEzNWYzOGY2MWM1YTg4NmUyZjgyYzUzYTE0MTZmZWU4N2RkMWUuLjgxMTE3M2Rm
YTU2ZGUzMTgyMGY3YmI1ZDVmYWMwYTI0MjM1M2FlNmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja01lZGlhU291cmNlUHJpdmF0ZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrTWVkaWFT
b3VyY2VQcml2YXRlLmNwcApAQCAtNDQsNiArNDQsMTAgQEAgTW9ja01lZGlhU291cmNlUHJpdmF0
ZTo6TW9ja01lZGlhU291cmNlUHJpdmF0ZShNb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZSogcGFy
ZW4KICAgICA6IG1fcGxheWVyKHBhcmVudCkKICAgICAsIG1fZHVyYXRpb24oc3RkOjpudW1lcmlj
X2xpbWl0czxmbG9hdD46OnF1aWV0X05hTigpKQogICAgICwgbV9pc0VuZGVkKGZhbHNlKQorICAg
ICwgbV90b3RhbFZpZGVvRnJhbWVzKDApCisgICAgLCBtX2Ryb3BwZWRWaWRlb0ZyYW1lcygwKQor
ICAgICwgbV9jb3JydXB0ZWRWaWRlb0ZyYW1lcygwKQorICAgICwgbV90b3RhbEZyYW1lRGVsYXko
MCkKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRp
YXNvdXJjZS9Nb2NrTWVkaWFTb3VyY2VQcml2YXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tb2NrL21lZGlhc291cmNlL01vY2tNZWRpYVNvdXJjZVByaXZhdGUuaAppbmRleCA3MmQyMGE4
MGViZjc0ZjBhYmU3OTVmNDRmOGUwYTRhODFjMzk2MWRiLi5mNDQ4ZTFkZjY3OWRkNjZjZmM0MGVi
OTU4YTllN2I3NTFkZWJkNDYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
b2NrL21lZGlhc291cmNlL01vY2tNZWRpYVNvdXJjZVByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tNZWRpYVNvdXJjZVByaXZhdGUuaApA
QCAtNTIsNiArNTIsMTYgQEAgcHVibGljOgogICAgIHZvaWQgc2Vla1RvVGltZShjb25zdCBNZWRp
YVRpbWUmKTsKICAgICBNZWRpYVRpbWUgc2Vla1RvVGltZShjb25zdCBNZWRpYVRpbWUmLCBjb25z
dCBNZWRpYVRpbWUmIG5lZ2F0aXZlVGhyZXNob2xkLCBjb25zdCBNZWRpYVRpbWUmIHBvc2l0aXZl
VGhyZXNob2xkKTsKIAorICAgIHVuc2lnbmVkIGxvbmcgdG90YWxWaWRlb0ZyYW1lcygpIGNvbnN0
IHsgcmV0dXJuIG1fdG90YWxWaWRlb0ZyYW1lczsgfQorICAgIHVuc2lnbmVkIGxvbmcgZHJvcHBl
ZFZpZGVvRnJhbWVzKCkgY29uc3QgIHsgcmV0dXJuIG1fZHJvcHBlZFZpZGVvRnJhbWVzOyB9Cisg
ICAgdW5zaWduZWQgbG9uZyBjb3JydXB0ZWRWaWRlb0ZyYW1lcygpIGNvbnN0IHsgcmV0dXJuIG1f
Y29ycnVwdGVkVmlkZW9GcmFtZXM7IH0KKyAgICBkb3VibGUgdG90YWxGcmFtZURlbGF5KCkgY29u
c3QgeyByZXR1cm4gbV90b3RhbEZyYW1lRGVsYXk7IH0KKworICAgIHZvaWQgaW5jcmVtZW50VG90
YWxWaWRlb0ZyYW1lcygpIHsgKyttX3RvdGFsVmlkZW9GcmFtZXM7IH0KKyAgICB2b2lkIGluY3Jl
bWVudERyb3BwZWRGcmFtZXMoKSB7ICsrbV9kcm9wcGVkVmlkZW9GcmFtZXM7IH0KKyAgICB2b2lk
IGluY3JlbWVudENvcnJ1cHRlZEZyYW1lcygpIHsgKyttX2NvcnJ1cHRlZFZpZGVvRnJhbWVzOyB9
CisgICAgdm9pZCBpbmNyZW1lbnRUb3RhbEZyYW1lRGVsYXlCeShkb3VibGUgZGVsYXkpIHsgbV90
b3RhbEZyYW1lRGVsYXkgKz0gZGVsYXk7IH0KKwogcHJpdmF0ZToKICAgICBNb2NrTWVkaWFTb3Vy
Y2VQcml2YXRlKE1vY2tNZWRpYVBsYXllck1lZGlhU291cmNlKik7CiAKQEAgLTc0LDYgKzg0LDEx
IEBAIHByaXZhdGU6CiAgICAgVmVjdG9yPFJlZlB0cjxNb2NrU291cmNlQnVmZmVyUHJpdmF0ZT4+
IG1fc291cmNlQnVmZmVyczsKICAgICBWZWN0b3I8TW9ja1NvdXJjZUJ1ZmZlclByaXZhdGUqPiBt
X2FjdGl2ZVNvdXJjZUJ1ZmZlcnM7CiAgICAgYm9vbCBtX2lzRW5kZWQ7CisKKyAgICB1bnNpZ25l
ZCBsb25nIG1fdG90YWxWaWRlb0ZyYW1lczsKKyAgICB1bnNpZ25lZCBsb25nIG1fZHJvcHBlZFZp
ZGVvRnJhbWVzOworICAgIHVuc2lnbmVkIGxvbmcgbV9jb3JydXB0ZWRWaWRlb0ZyYW1lczsKKyAg
ICBkb3VibGUgbV90b3RhbEZyYW1lRGVsYXk7CiB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tTb3VyY2VCdWZmZXJQcml2YXRl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja1NvdXJj
ZUJ1ZmZlclByaXZhdGUuY3BwCmluZGV4IDg3NjcwZGFmZGJiY2Y0OWI5OTQ5NmQ4NDdlM2M1NDkw
N2I4ZTI4NWQuLjRkNTczYWIxN2Q0ZDM3MjZiYjY4YmVjNjQ3NmUyZDAwNzQ0M2NhZGUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja1NvdXJj
ZUJ1ZmZlclByaXZhdGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVk
aWFzb3VyY2UvTW9ja1NvdXJjZUJ1ZmZlclByaXZhdGUuY3BwCkBAIC0yMTgsNiArMjE4LDI4IEBA
IHZvaWQgTW9ja1NvdXJjZUJ1ZmZlclByaXZhdGU6OnNldEFjdGl2ZShib29sIGlzQWN0aXZlKQog
ICAgICAgICBtX21lZGlhU291cmNlLT5zb3VyY2VCdWZmZXJQcml2YXRlRGlkQ2hhbmdlQWN0aXZl
U3RhdGUodGhpcywgaXNBY3RpdmUpOwogfQogCit2b2lkIE1vY2tTb3VyY2VCdWZmZXJQcml2YXRl
OjplbnF1ZXVlU2FtcGxlKFBhc3NSZWZQdHI8TWVkaWFTYW1wbGU+IHNhbXBsZSwgQXRvbWljU3Ry
aW5nKQoreworICAgIGlmICghbV9tZWRpYVNvdXJjZSB8fCAhc2FtcGxlKQorICAgICAgICByZXR1
cm47CisKKyAgICBQbGF0Zm9ybVNhbXBsZSBwbGF0Zm9ybVNhbXBsZSA9IHNhbXBsZS0+cGxhdGZv
cm1TYW1wbGUoKTsKKyAgICBpZiAocGxhdGZvcm1TYW1wbGUudHlwZSAhPSBQbGF0Zm9ybVNhbXBs
ZTo6TW9ja1NhbXBsZUJveFR5cGUpCisgICAgICAgIHJldHVybjsKKworICAgIE1vY2tTYW1wbGVC
b3gqIGJveCA9IHBsYXRmb3JtU2FtcGxlLnNhbXBsZS5tb2NrU2FtcGxlQm94OworICAgIGlmICgh
Ym94KQorICAgICAgICByZXR1cm47CisKKyAgICBtX21lZGlhU291cmNlLT5pbmNyZW1lbnRUb3Rh
bFZpZGVvRnJhbWVzKCk7CisgICAgaWYgKGJveC0+aXNDb3JydXB0ZWQoKSkKKyAgICAgICAgbV9t
ZWRpYVNvdXJjZS0+aW5jcmVtZW50Q29ycnVwdGVkRnJhbWVzKCk7CisgICAgaWYgKGJveC0+aXNE
cm9wcGVkKCkpCisgICAgICAgIG1fbWVkaWFTb3VyY2UtPmluY3JlbWVudERyb3BwZWRGcmFtZXMo
KTsKKyAgICBpZiAoYm94LT5pc0RlbGF5ZWQoKSkKKyAgICAgICAgbV9tZWRpYVNvdXJjZS0+aW5j
cmVtZW50VG90YWxGcmFtZURlbGF5QnkoMSk7Cit9CisKIGJvb2wgTW9ja1NvdXJjZUJ1ZmZlclBy
aXZhdGU6Omhhc1ZpZGVvKCkgY29uc3QKIHsKICAgICBpZiAoIW1fY2xpZW50KQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrU291cmNlQnVm
ZmVyUHJpdmF0ZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9N
b2NrU291cmNlQnVmZmVyUHJpdmF0ZS5oCmluZGV4IGM1NDA5NzJjNjdkZDQ1MzY3NjVlMTlkYTM5
ZjEwNWM0N2E0ZGIwNWIuLjA2ZDJmNDQ1MGUxYjYxNjc3NjcwNWM1ZDZiMjYyNWM0YmI0NWIwNDQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9j
a1NvdXJjZUJ1ZmZlclByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2Nr
L21lZGlhc291cmNlL01vY2tTb3VyY2VCdWZmZXJQcml2YXRlLmgKQEAgLTcyLDcgKzcyLDcgQEAg
cHJpdmF0ZToKICAgICB2aXJ0dWFsIGJvb2wgaXNGdWxsKCkgT1ZFUlJJREU7CiAKICAgICB2aXJ0
dWFsIHZvaWQgZmx1c2hBbmRFbnF1ZXVlTm9uRGlzcGxheWluZ1NhbXBsZXMoVmVjdG9yPFJlZlB0
cjxNZWRpYVNhbXBsZT4+LCBBdG9taWNTdHJpbmcpIE9WRVJSSURFIHsgfQotICAgIHZpcnR1YWwg
dm9pZCBlbnF1ZXVlU2FtcGxlKFBhc3NSZWZQdHI8TWVkaWFTYW1wbGU+LCBBdG9taWNTdHJpbmcp
IE9WRVJSSURFIHsgfQorICAgIHZpcnR1YWwgdm9pZCBlbnF1ZXVlU2FtcGxlKFBhc3NSZWZQdHI8
TWVkaWFTYW1wbGU+LCBBdG9taWNTdHJpbmcpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgYm9vbCBp
c1JlYWR5Rm9yTW9yZVNhbXBsZXMoKSBPVkVSUklERSB7IHJldHVybiB0cnVlOyB9CiAgICAgdmly
dHVhbCB2b2lkIHNldEFjdGl2ZShib29sKSBPVkVSUklERTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDNmMDdiOWUzOWQx
YzZkODVhMWQzNDE0N2I3NDQyMTU3OTJiZGI1N2EuLjRmNWVkNmU2MDg1NGYwOTIwNTQ3MWQ2YWRi
MWY5N2YyMjIzMjQ1N2UgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMy0xMi0wNiAgSmVyIE5v
YmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KKworICAgICAgICBbTVNFXSBBZGQgc3VwcG9ydCBm
b3IgVmlkZW9QbGF5YmFja01ldHJpY3MuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMjUzODAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIG1lZGlhL21lZGlhLXNvdXJjZS9tZWRpYS1zb3VyY2UtdmlkZW8t
cGxheWJhY2stcXVhbGl0eS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIG1lZGlhL21l
ZGlhLXNvdXJjZS9tZWRpYS1zb3VyY2UtdmlkZW8tcGxheWJhY2stcXVhbGl0eS5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBtZWRpYS9tZWRpYS1zb3VyY2UvbW9jay1tZWRpYS1zb3VyY2UuanM6Cisg
ICAgICAgICh2YXIpOgorCiAyMDEzLTEyLTA1ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUu
Y29tPgogCiAgICAgICAgIFtNU0VdIEJyaW5nIGVuZC1vZi1zdHJlYW0gYWxnb3JpdGhtIHNlY3Rp
b24gdXAgdG8gY3VycmVudCBzcGVjLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvbWVk
aWEtc291cmNlL21lZGlhLXNvdXJjZS1jYW5wbGF5dGhyb3VnaC5odG1sIGIvTGF5b3V0VGVzdHMv
bWVkaWEvbWVkaWEtc291cmNlL21lZGlhLXNvdXJjZS1jYW5wbGF5dGhyb3VnaC5odG1sCmluZGV4
IDZlOTFmNzZlZGJlMWUxNDFkZTBhYzk3YjZlNWUyMDE1MDU5ZGQ2MjIuLjc5NzhjMjJkNDNkNjQw
OGM0OTgzZGM2MzgzYTdhYzUyMzkwYjNmOTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL21lZGlh
L21lZGlhLXNvdXJjZS9tZWRpYS1zb3VyY2UtY2FucGxheXRocm91Z2guaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvbWVkaWEtc291cmNlLWNhbnBsYXl0aHJvdWdoLmh0
bWwKQEAgLTM5LDcgKzM5LDcgQEAKICAgICBmdW5jdGlvbiBzb3VyY2VVcGRhdGVkKCkgewogICAg
ICAgICBzb3VyY2UuYWN0aXZlU291cmNlQnVmZmVycy5sZW5ndGg7CiAgICAgICAgIGlmIChuZXh0
UmVxdWVzdCA8IHRvdGFsTGVuZ3RoKSB7Ci0gICAgICAgICAgICBzb3VyY2VCdWZmZXIuYXBwZW5k
QnVmZmVyKG1ha2VBU2FtcGxlKG5leHRSZXF1ZXN0LCBuZXh0UmVxdWVzdCwgMSwgMSwgMCkpOwor
ICAgICAgICAgICAgc291cmNlQnVmZmVyLmFwcGVuZEJ1ZmZlcihtYWtlQVNhbXBsZShuZXh0UmVx
dWVzdCwgbmV4dFJlcXVlc3QsIDEsIDEsIFNBTVBMRV9GTEFHLlNZTkMpKTsKICAgICAgICAgICAg
ICsrbmV4dFJlcXVlc3Q7CiAgICAgICAgIH0KICAgICB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9tZWRpYS9tZWRpYS1zb3VyY2UvbWVkaWEtc291cmNlLXBsYXkuaHRtbCBiL0xheW91dFRlc3Rz
L21lZGlhL21lZGlhLXNvdXJjZS9tZWRpYS1zb3VyY2UtcGxheS5odG1sCmluZGV4IDk2NTdhZTRm
ODBmN2ZlMjdhMjU0MDk3ZTllMmEwMjFmN2E1NjBlZDIuLmNhMjQ2NGNiYjUwYjRmMTdjNDQwMzA5
ZmI4ZDdjMzhkNGYyOTdhMzIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL21lZGlhL21lZGlhLXNv
dXJjZS9tZWRpYS1zb3VyY2UtcGxheS5odG1sCisrKyBiL0xheW91dFRlc3RzL21lZGlhL21lZGlh
LXNvdXJjZS9tZWRpYS1zb3VyY2UtcGxheS5odG1sCkBAIC0zMSw3ICszMSw3IEBACiAgICAgfQog
CiAgICAgZnVuY3Rpb24gbG9hZFNhbXBsZXMoKSB7Ci0gICAgICAgIHNhbXBsZSA9IG1ha2VBU2Ft
cGxlKDAsIDAsIDEwLCAxLCAwKTsKKyAgICAgICAgc2FtcGxlID0gbWFrZUFTYW1wbGUoMCwgMCwg
MTAsIDEsIFNBTVBMRV9GTEFHLlNZTkMpOwogICAgICAgICB3YWl0Rm9yRXZlbnRPbihzb3VyY2VC
dWZmZXIsICd1cGRhdGVlbmQnLCBwbGF5LCBmYWxzZSwgdHJ1ZSk7CiAgICAgICAgIHJ1bignc291
cmNlQnVmZmVyLmFwcGVuZEJ1ZmZlcihzYW1wbGUpJyk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL21lZGlhLXNvdXJjZS12aWRlby1wbGF5YmFjay1x
dWFsaXR5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL21lZGlhL21lZGlhLXNvdXJjZS9tZWRp
YS1zb3VyY2UtdmlkZW8tcGxheWJhY2stcXVhbGl0eS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
YjNhM2VhYzQwNDVmYmEyMWFhZmFhNzc2OWE4ZTRiNThjMjBmYjgzZgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL21lZGlhL21lZGlhLXNvdXJjZS9tZWRpYS1zb3VyY2UtdmlkZW8tcGxh
eWJhY2stcXVhbGl0eS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyMyBAQAorCitSVU4odmlkZW8u
c3JjID0gVVJMLmNyZWF0ZU9iamVjdFVSTChzb3VyY2UpKQorRVZFTlQoc291cmNlb3BlbikKK1JV
Tihzb3VyY2VCdWZmZXIgPSBzb3VyY2UuYWRkU291cmNlQnVmZmVyKCJ2aWRlby9tb2NrOyBjb2Rl
Y3M9bW9jayIpKQorUlVOKHNvdXJjZUJ1ZmZlci5hcHBlbmRCdWZmZXIoaW5pdFNlZ21lbnQpKQor
RVZFTlQodXBkYXRlZW5kKQorVGVzdCB0aGF0IGJlZ2lubmluZyBhIGJ1ZmZlciB3aXRoIGEgbm9u
LXN5bmMgc2FtcGxlIHJlc3VsdHMgaW4gdGhhdCBzYW1wbGUgYmVpbmcgZHJvcHBlZC4KK1JVTihz
b3VyY2VCdWZmZXIuYXBwZW5kQnVmZmVyKHNhbXBsZXMpKQorRVZFTlQodXBkYXRlZW5kKQorUlVO
KHF1YWxpdHkgPSB2aWRlby5nZXRWaWRlb1BsYXliYWNrUXVhbGl0eSgpKQorRVhQRUNURUQgKHF1
YWxpdHkudG90YWxWaWRlb0ZyYW1lcyA9PSAnMScpIE9LCitFWFBFQ1RFRCAocXVhbGl0eS5jb3Jy
dXB0ZWRWaWRlb0ZyYW1lcyA9PSAnMCcpIE9LCitFWFBFQ1RFRCAocXVhbGl0eS5kcm9wcGVkVmlk
ZW9GcmFtZXMgPT0gJzEnKSBPSworRVhQRUNURUQgKHF1YWxpdHkudG90YWxGcmFtZURlbGF5ID09
ICcwJykgT0sKK1JVTihzb3VyY2VCdWZmZXIuYXBwZW5kQnVmZmVyKHNhbXBsZXMpKQorRVZFTlQo
dXBkYXRlZW5kKQorUlVOKHF1YWxpdHkgPSB2aWRlby5nZXRWaWRlb1BsYXliYWNrUXVhbGl0eSgp
KQorRVhQRUNURUQgKHF1YWxpdHkudG90YWxWaWRlb0ZyYW1lcyA9PSAnOCcpIE9LCitFWFBFQ1RF
RCAocXVhbGl0eS5jb3JydXB0ZWRWaWRlb0ZyYW1lcyA9PSAnMScpIE9LCitFWFBFQ1RFRCAocXVh
bGl0eS5kcm9wcGVkVmlkZW9GcmFtZXMgPT0gJzInKSBPSworRVhQRUNURUQgKHF1YWxpdHkudG90
YWxGcmFtZURlbGF5ID09ICczJykgT0sKK0VORCBPRiBURVNUCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL21lZGlhL21lZGlhLXNvdXJjZS9tZWRpYS1zb3VyY2UtdmlkZW8tcGxheWJhY2stcXVh
bGl0eS5odG1sIGIvTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL21lZGlhLXNvdXJjZS12
aWRlby1wbGF5YmFjay1xdWFsaXR5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmY0NjgxNTZmNDMxNzhlNzNh
YTA2MWMwMWYzNmViMThlYWU5M2RlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL21l
ZGlhL21lZGlhLXNvdXJjZS9tZWRpYS1zb3VyY2UtdmlkZW8tcGxheWJhY2stcXVhbGl0eS5odG1s
CkBAIC0wLDAgKzEsNzEgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKyAgICA8
dGl0bGU+bW9jay1tZWRpYS1zb3VyY2U8L3RpdGxlPgorICAgIDxzY3JpcHQgc3JjPSJtb2NrLW1l
ZGlhLXNvdXJjZS5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uL3ZpZGVvLXRlc3Qu
anMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQ+CisgICAgdmFyIHNvdXJjZTsKKyAgICB2YXIgc291
cmNlQnVmZmVyOworICAgIHZhciBpbml0U2VnbWVudDsKKyAgICB2YXIgc2FtcGxlczsKKyAgICB2
YXIgcXVhbGl0eTsKKworICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICBpbnRlcm5h
bHMuaW5pdGlhbGl6ZU1vY2tNZWRpYVNvdXJjZSgpOworCisgICAgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgZmluZE1lZGlhRWxlbWVudCgpOworCisgICAgICAgIHNvdXJjZSA9IG5ldyBN
ZWRpYVNvdXJjZSgpOworICAgICAgICB3YWl0Rm9yRXZlbnRPbihzb3VyY2UsICdzb3VyY2VvcGVu
Jywgc291cmNlT3Blbik7CisgICAgICAgIHJ1bigndmlkZW8uc3JjID0gVVJMLmNyZWF0ZU9iamVj
dFVSTChzb3VyY2UpJyk7CisgICAgfQorCisgICAgZnVuY3Rpb24gc291cmNlT3BlbigpIHsKKyAg
ICAgICAgcnVuKCdzb3VyY2VCdWZmZXIgPSBzb3VyY2UuYWRkU291cmNlQnVmZmVyKCJ2aWRlby9t
b2NrOyBjb2RlY3M9bW9jayIpJyk7CisgICAgICAgIHdhaXRGb3JFdmVudE9uKHNvdXJjZUJ1ZmZl
ciwgJ3VwZGF0ZWVuZCcsIGxvYWRTYW1wbGUsIGZhbHNlLCB0cnVlKTsKKyAgICAgICAgaW5pdFNl
Z21lbnQgPSBtYWtlQUluaXQoOCwgW21ha2VBVHJhY2soMSwgJ21vY2snLCBUUkFDS19LSU5ELlZJ
REVPKV0pOworICAgICAgICBydW4oJ3NvdXJjZUJ1ZmZlci5hcHBlbmRCdWZmZXIoaW5pdFNlZ21l
bnQpJyk7CisgICAgfQorCisgICAgZnVuY3Rpb24gbG9hZFNhbXBsZSgpIHsKKyAgICAgICAgc2Ft
cGxlcyA9IGNvbmNhdGVuYXRlU2FtcGxlcyhbbWFrZUFTYW1wbGUoMCwgMCwgMSwgMSwgU0FNUExF
X0ZMQUcuTk9ORSldKTsKKyAgICAgICAgd2FpdEZvckV2ZW50T24oc291cmNlQnVmZmVyLCAndXBk
YXRlZW5kJywgbG9hZE1vcmVTYW1wbGVzLCBmYWxzZSwgdHJ1ZSk7CisgICAgICAgIGNvbnNvbGVX
cml0ZSgnVGVzdCB0aGF0IGJlZ2lubmluZyBhIGJ1ZmZlciB3aXRoIGEgbm9uLXN5bmMgc2FtcGxl
IHJlc3VsdHMgaW4gdGhhdCBzYW1wbGUgYmVpbmcgZHJvcHBlZC4nKQorICAgICAgICBydW4oJ3Nv
dXJjZUJ1ZmZlci5hcHBlbmRCdWZmZXIoc2FtcGxlcyknKTsKKyAgICB9CisKKyAgICBmdW5jdGlv
biBsb2FkTW9yZVNhbXBsZXMoKSB7CisgICAgICAgIHJ1bigncXVhbGl0eSA9IHZpZGVvLmdldFZp
ZGVvUGxheWJhY2tRdWFsaXR5KCknKTsKKyAgICAgICAgdGVzdEV4cGVjdGVkKCdxdWFsaXR5LnRv
dGFsVmlkZW9GcmFtZXMnLCAxKTsKKyAgICAgICAgdGVzdEV4cGVjdGVkKCdxdWFsaXR5LmNvcnJ1
cHRlZFZpZGVvRnJhbWVzJywgMCk7CisgICAgICAgIHRlc3RFeHBlY3RlZCgncXVhbGl0eS5kcm9w
cGVkVmlkZW9GcmFtZXMnLCAxKTsKKyAgICAgICAgdGVzdEV4cGVjdGVkKCdxdWFsaXR5LnRvdGFs
RnJhbWVEZWxheScsIDApOworCisgICAgICAgIHNhbXBsZXMgPSBjb25jYXRlbmF0ZVNhbXBsZXMo
WworICAgICAgICAgICAgbWFrZUFTYW1wbGUoMCwgMCwgMSwgMSwgU0FNUExFX0ZMQUcuU1lOQyks
CisgICAgICAgICAgICBtYWtlQVNhbXBsZSgxLCAxLCAxLCAxLCBTQU1QTEVfRkxBRy5DT1JSVVBU
RUQpLAorICAgICAgICAgICAgbWFrZUFTYW1wbGUoMiwgMiwgMSwgMSwgU0FNUExFX0ZMQUcuRFJP
UFBFRCksCisgICAgICAgICAgICBtYWtlQVNhbXBsZSg0LCA0LCAxLCAxLCBTQU1QTEVfRkxBRy5E
RUxBWUVEKSwKKyAgICAgICAgICAgIG1ha2VBU2FtcGxlKDUsIDUsIDEsIDEsIFNBTVBMRV9GTEFH
LkRFTEFZRUQpLAorICAgICAgICAgICAgbWFrZUFTYW1wbGUoNiwgNiwgMSwgMSwgU0FNUExFX0ZM
QUcuREVMQVlFRCksCisgICAgICAgICAgICBtYWtlQVNhbXBsZSg3LCA3LCAxLCAxLCBTQU1QTEVf
RkxBRy5OT05FKSwKKyAgICAgICAgXSk7CisgICAgICAgIHdhaXRGb3JFdmVudE9uKHNvdXJjZUJ1
ZmZlciwgJ3VwZGF0ZWVuZCcsIHNhbXBsZXNBZGRlZCwgZmFsc2UsIHRydWUpOworICAgICAgICBy
dW4oJ3NvdXJjZUJ1ZmZlci5hcHBlbmRCdWZmZXIoc2FtcGxlcyknKTsKKyAgICB9CisKKyAgICBm
dW5jdGlvbiBzYW1wbGVzQWRkZWQoKSB7CisgICAgICAgIHJ1bigncXVhbGl0eSA9IHZpZGVvLmdl
dFZpZGVvUGxheWJhY2tRdWFsaXR5KCknKTsKKyAgICAgICAgdGVzdEV4cGVjdGVkKCdxdWFsaXR5
LnRvdGFsVmlkZW9GcmFtZXMnLCA4KTsKKyAgICAgICAgdGVzdEV4cGVjdGVkKCdxdWFsaXR5LmNv
cnJ1cHRlZFZpZGVvRnJhbWVzJywgMSk7CisgICAgICAgIHRlc3RFeHBlY3RlZCgncXVhbGl0eS5k
cm9wcGVkVmlkZW9GcmFtZXMnLCAyKTsKKyAgICAgICAgdGVzdEV4cGVjdGVkKCdxdWFsaXR5LnRv
dGFsRnJhbWVEZWxheScsIDMpOworICAgICAgICBlbmRUZXN0KCk7CisgICAgfQorICAgIDwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorICAgIDx2aWRlbz48L3Zp
ZGVvPgorPC9ib2R5PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL21lZGlhL21lZGlhLXNvdXJjZS9tb2NrLW1lZGlhLXNvdXJjZS5qcyBiL0xheW91
dFRlc3RzL21lZGlhL21lZGlhLXNvdXJjZS9tb2NrLW1lZGlhLXNvdXJjZS5qcwppbmRleCAzODZl
N2NiMzFkNjFlYTE2ZjRkNDZlMDZmYTA1YmZlNjYyNWE3NWMwLi43ZTRkNzk0MmMzNjRjYjFiYzJk
NGRjODZlNmU4YmQ5YmMzZjhkMzY0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9tZWRpYS9tZWRp
YS1zb3VyY2UvbW9jay1tZWRpYS1zb3VyY2UuanMKKysrIGIvTGF5b3V0VGVzdHMvbWVkaWEvbWVk
aWEtc291cmNlL21vY2stbWVkaWEtc291cmNlLmpzCkBAIC0xMSw2ICsxMSw5IEBAIGZ1bmN0aW9u
IHN0cmluZ1RvQXJyYXkoc3RyaW5nKSB7CiB2YXIgU0FNUExFX0ZMQUcgPSB7CiAgICAgTk9ORTog
MCwKICAgICBTWU5DOiAxIDw8IDAsCisgICAgQ09SUlVQVEVEOiAxIDw8IDEsCisgICAgRFJPUFBF
RDogMSA8PCAyLAorICAgIERFTEFZRUQ6IDEgPDwgMywKIH07CiAKIGZ1bmN0aW9uIG1ha2VBU2Ft
cGxlKHByZXNlbnRhdGlvblRpbWUsIGRlY29kZVRpbWUsIGR1cmF0aW9uLCB0cmFja0lELCBmbGFn
cykgewo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>218765</attachid>
            <date>2013-12-09 08:18:41 -0800</date>
            <delta_ts>2013-12-09 08:57:47 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-125380-20131209081840.patch</filename>
            <type>text/plain</type>
            <size>50025</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYwMjgyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTBiM2Y2MDI1MGUxNzU5
ZjExNmNkODQ3NmQ0MjhkNWIzY2I3YzlkNi4uMTBjMGVjNGIxMTJiMTc1ZjkzNzI0YTlkYmUxMGQy
YjE3ZjdjMGM2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDk3IEBACisyMDEzLTEyLTA2ICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFtNU0VdIEFkZCBzdXBwb3J0
IGZvciBWaWRlb1BsYXliYWNrTWV0cmljcy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTEyNTM4MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFRlc3Q6IG1lZGlhL21lZGlhLXNvdXJjZS9tZWRpYS1zb3VyY2Ut
dmlkZW8tcGxheWJhY2stcXVhbGl0eS5odG1sCisKKyAgICAgICAgQWRkIGEgbmV3IG9iamVjdCB0
eXBlIFZpZGVvUGxheWJhY2tRdWFsaXR5IHRvIGJlIHJldHVybmVkIGJ5CisgICAgICAgIEhUTUxN
ZWRpYUVsZW1lbnQuZ2V0VmlkZW9QbGF5YmFja1F1YWxpdHkoKS4KKworICAgICAgICBIVE1MTWVk
aWFFbGVtZW50cyBtdXN0IHNlcGFyYXRlbHkgdHJhY2sgYSBkcm9wcGVkVmlkZW9GcmFtZSBjb3Vu
dCwgYXMKKyAgICAgICAgY2VydGFpbiBvcGVyYXRpb25zIG9uIFNvdXJjZUJ1ZmZlciB3aWxsIGRy
b3AgaW5jb21pbmcgZnJhbWVzLCB3aGljaCBtdXN0CisgICAgICAgIGJlIGFjY291bnRlZCBmb3Iu
IFJlc2V0IHRoaXMgY291bnQgd2hlbiB0aGUgbWVkaWEgZW5naW5lIGNoYW5nZXMsIHdoaWNoIGlz
CisgICAgICAgIGluZGljaXRpdmUgb2YgYSBuZXcgbWVkaWEgbG9hZCByZXF1c2V0IHN0YXJ0aW5n
LgorCisgICAgICAgIEFkZCB0aGUgbmV3IFZpZGVvUGxheWJhY2tRdWFsaXR5IGNsYXNzOgorICAg
ICAgICAqIE1vZHVsZXMvbWVkaWFzb3VyY2UvVmlkZW9QbGF5YmFja1F1YWxpdHkuY3BwOiBBZGRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6OlZpZGVvUGxheWJhY2tRdWFsaXR5OjpjcmVhdGUpOgorICAg
ICAgICAoV2ViQ29yZTo6VmlkZW9QbGF5YmFja1F1YWxpdHk6OlZpZGVvUGxheWJhY2tRdWFsaXR5
KToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc291cmNlL1ZpZGVvUGxheWJhY2tRdWFsaXR5Lmg6
IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6VmlkZW9QbGF5YmFja1F1YWxpdHk6OmNyZWF0aW9u
VGltZSk6CisgICAgICAgIChXZWJDb3JlOjpWaWRlb1BsYXliYWNrUXVhbGl0eTo6dG90YWxWaWRl
b0ZyYW1lcyk6CisgICAgICAgIChXZWJDb3JlOjpWaWRlb1BsYXliYWNrUXVhbGl0eTo6ZHJvcHBl
ZFZpZGVvRnJhbWVzKToKKyAgICAgICAgKFdlYkNvcmU6OlZpZGVvUGxheWJhY2tRdWFsaXR5Ojpj
b3JydXB0ZWRWaWRlb0ZyYW1lcyk6CisgICAgICAgIChXZWJDb3JlOjpWaWRlb1BsYXliYWNrUXVh
bGl0eTo6dG90YWxGcmFtZURlbGF5KToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc291cmNlL1Zp
ZGVvUGxheWJhY2tRdWFsaXR5LmlkbDogQWRkZWQuCisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9y
IHRoZSBuZXcgY2xhc3MgdG8gSFRNTE1lZGlhRWxlbWVudDoKKyAgICAgICAgKiBodG1sL0hUTUxN
ZWRpYUVsZW1lbnQuY3BwOgorICAgICAgICAoSFRNTE1lZGlhRWxlbWVudDo6c2hvdWxkVXNlVmlk
ZW9QbHVnaW5Qcm94eSk6CisgICAgICAgIChIVE1MTWVkaWFFbGVtZW50OjpnZXRWaWRlb1BsYXli
YWNrUXVhbGl0eSk6CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50Lmg6CisgICAgICAg
ICogaHRtbC9IVE1MTWVkaWFFbGVtZW50LmlkbDoKKworICAgICAgICBSZXBvcnQgdGhlIHZpZGVv
IHF1YWxpdHkgbWV0cmljcyBmcm9tIHRoZSBNZWRpYVBsYXllcjoKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXll
cjo6dG90YWxWaWRlb0ZyYW1lcyk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllcjo6ZHJv
cHBlZFZpZGVvRnJhbWVzKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyOjpjb3JydXB0
ZWRWaWRlb0ZyYW1lcyk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllcjo6dG90YWxGcmFt
ZURlbGF5KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNlOjp0b3RhbFZpZGVvRnJhbWVzKToK
KyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZTo6ZHJvcHBlZFZp
ZGVvRnJhbWVzKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFj
ZTo6Y29ycnVwdGVkVmlkZW9GcmFtZXMpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQ
cml2YXRlSW50ZXJmYWNlOjp0b3RhbEZyYW1lRGVsYXkpOgorCisgICAgICAgIENvcnJlY3RseSBy
ZXBvcnQgdGhlIGRyb3BwZWQgZnJhbWUgY291bnQ6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXNv
dXJjZS9Tb3VyY2VCdWZmZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U291cmNlQnVmZmVyOjpU
cmFja0J1ZmZlcjo6VHJhY2tCdWZmZXIpOiBuZWVkc1JhbmRvbUFjY2Vzc0ZsYWcgZGVmYXVsc3Qg
dG8gdHJ1ZS4KKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlcjo6c291cmNlQnVmZmVyUHJp
dmF0ZURpZFJlY2VpdmVTYW1wbGUpOiBDaGVjayB0aGUgc3luYyBzdGF0dXMgb2YgdGhlIGluY29t
aW5nIHNhbXBsZS4KKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlcjo6ZGlkRHJvcFNhbXBs
ZSk6IE5vdGlmeSB0aGUgbWVkaWEgZWxlbWVudCBvZiBhIGRyb3BwZWQgZnJhbWUuCisgICAgICAg
ICogTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuaDoKKyAgICAgICAgKiBodG1sL0hU
TUxNZWRpYUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6
SFRNTE1lZGlhRWxlbWVudCk6CisgICAgICAgIChIVE1MTWVkaWFFbGVtZW50OjptZWRpYVBsYXll
ckVuZ2luZVVwZGF0ZWQpOiBSZXNldCBtX2Ryb3BwZWRGcmFtZUNvdW50LgorICAgICAgICAoSFRN
TE1lZGlhRWxlbWVudDo6Z2V0VmlkZW9QbGF5YmFja1F1YWxpdHkpOiBSZXR1cm4gYSBuZXcgVmlk
ZW9QbGF5YmFja1F1YWxpdHkgb2JqZWN0LgorICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVu
dC5oOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6aW5jcmVtZW50RHJvcHBl
ZEZyYW1lQ291bnQpOiBTaW1wbGUgaW5jcmVtZW50ZXIuCisgICAgICAgICogcGxhdGZvcm0vTWVk
aWFTYW1wbGUuaDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU2FtcGxlOjppc1N5bmMpOiBDb252
ZW5pZW5jZSBmdW5jdGlvbi4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU2FtcGxlOjppc05vbkRp
c3BsYXlpbmcpOiBEaXR0by4KKworICAgICAgICBBZGQgc3VwcG9ydCBpbiB0aGUgQVZGb3VuZGF0
aW9uIE1lZGlhU291cmNlIEVuZ2luZToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZv
dW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMuaDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclBy
aXZhdGVNZWRpYVNvdXJjZUFWRk9iakMubW06CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXll
clByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OnRvdGFsVmlkZW9GcmFtZXMpOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpkcm9wcGVkVmlk
ZW9GcmFtZXMpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3Vy
Y2VBVkZPYmpDOjpjb3JydXB0ZWRWaWRlb0ZyYW1lcyk6CisgICAgICAgIChXZWJDb3JlOjpNZWRp
YVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OnRvdGFsRnJhbWVEZWxheSk6CisKKyAg
ICAgICAgQWRkIHN1cHBvcnQgaW4gdGhlIE1vY2sgTWVkaWFTb3VyY2UgRW5naW5lOgorICAgICAg
ICAqIHBsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja0JveC5oOgorICAgICAgICAqIHBsYXRm
b3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2UuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6TW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2U6OnRvdGFsVmlkZW9GcmFt
ZXMpOiBTaW1wbGUgYWNjZXNzb3IuCisgICAgICAgIChXZWJDb3JlOjpNb2NrTWVkaWFQbGF5ZXJN
ZWRpYVNvdXJjZTo6ZHJvcHBlZFZpZGVvRnJhbWVzKTogRGl0dG8uCisgICAgICAgIChXZWJDb3Jl
OjpNb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZTo6Y29ycnVwdGVkVmlkZW9GcmFtZXMpOiBEaXR0
by4KKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tNZWRpYVBsYXllck1lZGlhU291cmNlOjp0b3RhbEZy
YW1lRGVsYXkpOiBEaXR0by4KKyAgICAgICAgKiBwbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01v
Y2tNZWRpYVBsYXllck1lZGlhU291cmNlLmg6CisgICAgICAgICogcGxhdGZvcm0vbW9jay9tZWRp
YXNvdXJjZS9Nb2NrTWVkaWFTb3VyY2VQcml2YXRlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1v
Y2tNZWRpYVNvdXJjZVByaXZhdGU6Ok1vY2tNZWRpYVNvdXJjZVByaXZhdGUpOgorICAgICAgICAq
IHBsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja01lZGlhU291cmNlUHJpdmF0ZS5oOgorICAg
ICAgICAqIHBsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja1NvdXJjZUJ1ZmZlclByaXZhdGUu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6TW9ja1NvdXJjZUJ1ZmZlclByaXZhdGU6OmVucXVldWVT
YW1wbGUpOiBJbmNyZW1lbnQgdGhlIGZyYW1lIGNvdW50cyBiYXNlZCBvbgorICAgICAgICAgICAg
dGhlIGluY29taW5nIHNhbXBsZS4KKyAgICAgICAgKiBwbGF0Zm9ybS9tb2NrL21lZGlhc291cmNl
L01vY2tTb3VyY2VCdWZmZXJQcml2YXRlLmg6CisKKyAgICAgICAgQWRkIHRoZSBuZXcgZmlsZXMg
dG8gdGhlIHByb2plY3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAg
KiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogR05VTWFrZWZp
bGUubGlzdC5hbToKKwogMjAxMy0xMi0wNSAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNv
bT4KIAogICAgICAgICBbTVNFXSBCcmluZyBlbmQtb2Ytc3RyZWFtIGFsZ29yaXRobSBzZWN0aW9u
IHVwIHRvIGN1cnJlbnQgc3BlYy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlz
dHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggY2ZhMzQyZDA2Y2Q0
N2ZkMzY1YTE4MzQ2ODQ1NzhkYzhiN2E0OTlmOS4uY2E3YzQ4M2JjOTU5MTkwM2M1YTA0ZWExYzIx
M2I4YjdmMTgwNjAxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQK
KysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTE4NSw2ICsxODUsNyBAQCBz
ZXQoV2ViQ29yZV9JRExfRklMRVMKICAgICBNb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNl
LmlkbAogICAgIE1vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmlkbAogICAgIE1vZHVs
ZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyTGlzdC5pZGwKKyAgICBNb2R1bGVzL21lZGlhc291
cmNlL1ZpZGVvUGxheWJhY2tRdWFsaXR5LmlkbAogCiAgICAgTW9kdWxlcy9tZWRpYXN0cmVhbS9B
bGxBdWRpb0NhcGFiaWxpdGllcy5pZGwKICAgICBNb2R1bGVzL21lZGlhc3RyZWFtL0FsbFZpZGVv
Q2FwYWJpbGl0aWVzLmlkbApAQCAtODI5LDYgKzgzMCw3IEBAIHNldChXZWJDb3JlX1NPVVJDRVMK
ICAgICBNb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlUmVnaXN0cnkuY3BwCiAgICAgTW9k
dWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuY3BwCiAgICAgTW9kdWxlcy9tZWRpYXNvdXJj
ZS9Tb3VyY2VCdWZmZXJMaXN0LmNwcAorICAgIE1vZHVsZXMvbWVkaWFzb3VyY2UvVmlkZW9QbGF5
YmFja1F1YWxpdHkuY3BwCiAKICAgICBNb2R1bGVzL21lZGlhc3RyZWFtL0F1ZGlvU3RyZWFtVHJh
Y2suY3BwCiAgICAgTW9kdWxlcy9tZWRpYXN0cmVhbS9DYXBhYmlsaXR5UmFuZ2UuY3BwCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCA1MjVhZDkwZGUzN2E4YjMzMTIyNGE3NjgzYzVm
ZDMyZWE5OTZhNmRkLi40OWZjZTBmOTVlMDM4MDM0OTE5MWFkZDljMGRhNDY5ODkxM2Q0ZWM0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTEwMyw2ICsxMDMsNyBAQCBCSU5ESU5H
X0lETFMgPSBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZl
ckxpc3QuaWRsIFwKIAkkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFzb3VyY2UvVGV4dFRyYWNrTWVk
aWFTb3VyY2UuaWRsIFwKIAkkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFzb3VyY2UvVmlkZW9UcmFj
a01lZGlhU291cmNlLmlkbCBcCisJJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhc291cmNlL1ZpZGVv
UGxheWJhY2tRdWFsaXR5LmlkbCBcCiAJJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhc3RyZWFtL0Fs
bFZpZGVvQ2FwYWJpbGl0aWVzLmlkbCBcCiAJJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhc3RyZWFt
L0FsbEF1ZGlvQ2FwYWJpbGl0aWVzLmlkbCBcCiAJJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhc3Ry
ZWFtL0F1ZGlvU3RyZWFtVHJhY2suaWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dO
VW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmlu
ZGV4IDZiNDViOTM1NmYyZDlkZmQ5ZWRlZGY3ODhlN2IxMzI3ZjhjNWI5OGEuLjZjZDgwMjg4YWQy
YjkzMjU4M2ZjYTk5MDVlMjFiZGYyNjI4MDhhMGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlz
dC5hbQpAQCAtNzM1LDYgKzczNSw4IEBAIHdlYmNvcmVfYnVpbHRfc291cmNlcyArPSBcCiAJRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU1ZhbGlkaXR5U3RhdGUuaCBcCiAJRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU1ZvaWRDYWxsYmFjay5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNW
b2lkQ2FsbGJhY2suaCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1ZpZGVvUGxheWJhY2tR
dWFsaXR5LmggXAorCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNWaWRlb1BsYXliYWNrUXVhbGl0
eS5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNWaWRlb1N0cmVhbVRyYWNrLmggXAog
CURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNWaWRlb1N0cmVhbVRyYWNrLmNwcCBcCiAJRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU1ZpZGVvVHJhY2suY3BwIFwKQEAgLTE4ODQsNiArMTg4Niw4IEBA
IHdlYmNvcmVfbW9kdWxlc19zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc291cmNlL0RPTVVSTE1lZGlhU291cmNlLmggXAogCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzb3VyY2UvU2FtcGxlTWFwLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXNvdXJjZS9TYW1wbGVNYXAuaCBcCisJU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJj
ZS9WaWRlb1BsYXliYWNrUXVhbGl0eS5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzb3VyY2UvVmlkZW9QbGF5YmFja1F1YWxpdHkuaCBcCiAJU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXN0cmVhbS9BbGxBdWRpb0NhcGFiaWxpdGllcy5oIFwKIAlTb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc3RyZWFtL0FsbFZpZGVvQ2FwYWJpbGl0aWVzLmggXAogCVNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vQXVkaW9TdHJlYW1UcmFjay5jcHAgXApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuY3BwCmluZGV4
IDg5NWFhYjRjMjg3YmUyMjI4MmRkZmZmNjNkYjY5NjAxOWMxY2UwOWYuLjNlYTc4ZDZkMGJlM2Mw
MTE3NDA5MjM1OTI4MWU1MWVjZmZiMGE5MWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5jcHAKQEAgLTY5LDcgKzY5LDcgQEAgc3Ry
dWN0IFNvdXJjZUJ1ZmZlcjo6VHJhY2tCdWZmZXIgewogICAgICAgICAsIGxhc3RGcmFtZUR1cmF0
aW9uKE1lZGlhVGltZTo6aW52YWxpZFRpbWUoKSkKICAgICAgICAgLCBoaWdoZXN0UHJlc2VudGF0
aW9uVGltZXN0YW1wKE1lZGlhVGltZTo6aW52YWxpZFRpbWUoKSkKICAgICAgICAgLCBsYXN0RW5x
dWV1ZWRQcmVzZW50YXRpb25UaW1lKE1lZGlhVGltZTo6aW52YWxpZFRpbWUoKSkKLSAgICAgICAg
LCBuZWVkUmFuZG9tQWNjZXNzRmxhZyhmYWxzZSkKKyAgICAgICAgLCBuZWVkUmFuZG9tQWNjZXNz
RmxhZyh0cnVlKQogICAgICAgICAsIGVuYWJsZWQoZmFsc2UpCiAgICAgewogICAgIH0KQEAgLTg2
MCwxMCArODYwLDE3IEBAIHZvaWQgU291cmNlQnVmZmVyOjpzb3VyY2VCdWZmZXJQcml2YXRlRGlk
UmVjZWl2ZVNhbXBsZShTb3VyY2VCdWZmZXJQcml2YXRlKiwgUGFzCiAgICAgICAgIC8vIEZJWE1F
OiBpbXBsZW1lbnQgYXBwZW5kIHdpbmRvd3MKIAogICAgICAgICAvLyAxLjExIElmIHRoZSBuZWVk
IHJhbmRvbSBhY2Nlc3MgcG9pbnQgZmxhZyBvbiB0cmFjayBidWZmZXIgZXF1YWxzIHRydWUsIHRo
ZW4gcnVuIHRoZSBmb2xsb3dpbmcgc3RlcHM6Ci0gICAgICAgIC8vIDEuMTEuMSBJZiB0aGUgY29k
ZWQgZnJhbWUgaXMgbm90IGEgcmFuZG9tIGFjY2VzcyBwb2ludCwgdGhlbiBkcm9wIHRoZSBjb2Rl
ZCBmcmFtZSBhbmQganVtcAotICAgICAgICAvLyB0byB0aGUgdG9wIG9mIHRoZSBsb29wIHRvIHN0
YXJ0IHByb2Nlc3NpbmcgdGhlIG5leHQgY29kZWQgZnJhbWUuCi0gICAgICAgIC8vIDEuMTEuMiBT
ZXQgdGhlIG5lZWQgcmFuZG9tIGFjY2VzcyBwb2ludCBmbGFnIG9uIHRyYWNrIGJ1ZmZlciB0byBm
YWxzZS4KLSAgICAgICAgLy8gTk9URTogTW9ja1NhbXBsZUJveGVzIGFyZSBub3QgZGVjb2RhYmxl
LgorICAgICAgICBpZiAodHJhY2tCdWZmZXIubmVlZFJhbmRvbUFjY2Vzc0ZsYWcpIHsKKyAgICAg
ICAgICAgIC8vIDEuMTEuMSBJZiB0aGUgY29kZWQgZnJhbWUgaXMgbm90IGEgcmFuZG9tIGFjY2Vz
cyBwb2ludCwgdGhlbiBkcm9wIHRoZSBjb2RlZCBmcmFtZSBhbmQganVtcAorICAgICAgICAgICAg
Ly8gdG8gdGhlIHRvcCBvZiB0aGUgbG9vcCB0byBzdGFydCBwcm9jZXNzaW5nIHRoZSBuZXh0IGNv
ZGVkIGZyYW1lLgorICAgICAgICAgICAgaWYgKCFzYW1wbGUtPmlzU3luYygpKSB7CisgICAgICAg
ICAgICAgICAgZGlkRHJvcFNhbXBsZSgpOworICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAg
ICAgICAgIH0KKworICAgICAgICAgICAgLy8gMS4xMS4yIFNldCB0aGUgbmVlZCByYW5kb20gYWNj
ZXNzIHBvaW50IGZsYWcgb24gdHJhY2sgYnVmZmVyIHRvIGZhbHNlLgorICAgICAgICAgICAgdHJh
Y2tCdWZmZXIubmVlZFJhbmRvbUFjY2Vzc0ZsYWcgPSBmYWxzZTsKKyAgICAgICAgfQogCiAgICAg
ICAgIC8vIDEuMTIgTGV0IHNwbGljZWQgYXVkaW8gZnJhbWUgYmUgYW4gdW5zZXQgdmFyaWFibGUg
Zm9yIGhvbGRpbmcgYXVkaW8gc3BsaWNlIGluZm9ybWF0aW9uCiAgICAgICAgIC8vIDEuMTMgTGV0
IHNwbGljZWQgdGltZWQgdGV4dCBmcmFtZSBiZSBhbiB1bnNldCB2YXJpYWJsZSBmb3IgaG9sZGlu
ZyB0aW1lZCB0ZXh0IHNwbGljZSBpbmZvcm1hdGlvbgpAQCAtMTE0Niw2ICsxMTUzLDEyIEBAIHZv
aWQgU291cmNlQnVmZmVyOjpwcm92aWRlTWVkaWFEYXRhKCkKICAgICBMT0coTWVkaWEsICJTb3Vy
Y2VCdWZmZXI6OnByb3ZpZGVNZWRpYURhdGEoJXApIC0gRW5xdWV1ZWQgJXUgc2FtcGxlcyIsIHRo
aXMsIGVucXVldWVkU2FtcGxlcyk7CiB9CiAKK3ZvaWQgU291cmNlQnVmZmVyOjpkaWREcm9wU2Ft
cGxlKCkKK3sKKyAgICBpZiAoIWlzUmVtb3ZlZCgpKQorICAgICAgICBtX3NvdXJjZS0+bWVkaWFF
bGVtZW50KCktPmluY3JlbWVudERyb3BwZWRGcmFtZUNvdW50KCk7Cit9CisKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXNvdXJjZS9Tb3VyY2VCdWZmZXIuaAppbmRleCA3NTYzYTM0ZjE3NTEyNTIzMmYwYmM3YWQwMTNk
Y2Y1OGRlOTBkMDYyLi5kMjJjZGExYWRkMjM3OTBmOTEwMzcyYzk3NWJjMmUwYzdjNWMxNzhiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZl
ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVy
LmgKQEAgLTE0MSw2ICsxNDEsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgdmFsaWRhdGVJbml0aWFs
aXphdGlvblNlZ21lbnQoY29uc3QgSW5pdGlhbGl6YXRpb25TZWdtZW50Jik7CiAKICAgICB2b2lk
IHByb3ZpZGVNZWRpYURhdGEoKTsKKyAgICB2b2lkIGRpZERyb3BTYW1wbGUoKTsKIAogICAgIFJl
ZlB0cjxTb3VyY2VCdWZmZXJQcml2YXRlPiBtX3ByaXZhdGU7CiAgICAgTWVkaWFTb3VyY2UqIG1f
c291cmNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9W
aWRlb1BsYXliYWNrUXVhbGl0eS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291
cmNlL1ZpZGVvUGxheWJhY2tRdWFsaXR5LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mN2E1Y2Y4M2NmMjBlYzg3
OWZiODQ4OTQ1OTE4YmFiNjlmNGU2ZmFhCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9WaWRlb1BsYXliYWNrUXVhbGl0eS5jcHAKQEAgLTAsMCAr
MSw0NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
KyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisg
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJWaWRl
b1BsYXliYWNrUXVhbGl0eS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1JlZlB0cjxWaWRl
b1BsYXliYWNrUXVhbGl0eT4gVmlkZW9QbGF5YmFja1F1YWxpdHk6OmNyZWF0ZShkb3VibGUgY3Jl
YXRpb25UaW1lLCB1bnNpZ25lZCBsb25nIHRvdGFsVmlkZW9GcmFtZXMsIHVuc2lnbmVkIGxvbmcg
ZHJvcHBlZFZpZGVvRnJhbWVzLCB1bnNpZ25lZCBsb25nIGNvcnJ1cHRlZFZpZGVvRnJhbWVzLCBk
b3VibGUgdG90YWxGcmFtZURlbGF5KQoreworICAgIHJldHVybiBhZG9wdFJlZihuZXcgVmlkZW9Q
bGF5YmFja1F1YWxpdHkoY3JlYXRpb25UaW1lLCB0b3RhbFZpZGVvRnJhbWVzLCBkcm9wcGVkVmlk
ZW9GcmFtZXMsIGNvcnJ1cHRlZFZpZGVvRnJhbWVzLCB0b3RhbEZyYW1lRGVsYXkpKTsKK30KKwor
VmlkZW9QbGF5YmFja1F1YWxpdHk6OlZpZGVvUGxheWJhY2tRdWFsaXR5KGRvdWJsZSBjcmVhdGlv
blRpbWUsIHVuc2lnbmVkIGxvbmcgdG90YWxWaWRlb0ZyYW1lcywgdW5zaWduZWQgbG9uZyBkcm9w
cGVkVmlkZW9GcmFtZXMsIHVuc2lnbmVkIGxvbmcgY29ycnVwdGVkVmlkZW9GcmFtZXMsIGRvdWJs
ZSB0b3RhbEZyYW1lRGVsYXkpCisgICAgOiBtX2NyZWF0aW9uVGltZShjcmVhdGlvblRpbWUpCisg
ICAgLCBtX3RvdGFsVmlkZW9GcmFtZXModG90YWxWaWRlb0ZyYW1lcykKKyAgICAsIG1fZHJvcHBl
ZFZpZGVvRnJhbWVzKGRyb3BwZWRWaWRlb0ZyYW1lcykKKyAgICAsIG1fY29ycnVwdGVkVmlkZW9G
cmFtZXMoY29ycnVwdGVkVmlkZW9GcmFtZXMpCisgICAgLCBtX3RvdGFsRnJhbWVEZWxheSh0b3Rh
bEZyYW1lRGVsYXkpCit7Cit9CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzb3VyY2UvVmlkZW9QbGF5YmFja1F1YWxpdHkuaCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzb3VyY2UvVmlkZW9QbGF5YmFja1F1YWxpdHkuaApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41Yjg5
Mzc3YjdjNTA2NjM1M2MyNjdiOWNhYjI2NjA0ZjQwYjAyODA3Ci0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9WaWRlb1BsYXliYWNrUXVhbGl0eS5o
CkBAIC0wLDAgKzEsNTcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFZpZGVvUGxheWJhY2tRdWFs
aXR5X2gKKyNkZWZpbmUgVmlkZW9QbGF5YmFja1F1YWxpdHlfaAorCisjaW5jbHVkZSA8d3RmL1Jl
ZkNvdW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKworY2xhc3MgVmlkZW9QbGF5YmFja1F1YWxpdHkgOiBwdWJsaWMgUmVmQ291bnRlZDxWaWRl
b1BsYXliYWNrUXVhbGl0eT4geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFZpZGVvUGxheWJh
Y2tRdWFsaXR5KQorcHVibGljOgorICAgIHN0YXRpYyBSZWZQdHI8VmlkZW9QbGF5YmFja1F1YWxp
dHk+IGNyZWF0ZShkb3VibGUgY3JlYXRpb25UaW1lLCB1bnNpZ25lZCBsb25nIHRvdGFsVmlkZW9G
cmFtZXMsIHVuc2lnbmVkIGxvbmcgZHJvcHBlZFZpZGVvRnJhbWVzLCB1bnNpZ25lZCBsb25nIGNv
cnJ1cHRlZFZpZGVvRnJhbWVzLCBkb3VibGUgdG90YWxGcmFtZURlbGF5KTsKKworICAgIGRvdWJs
ZSBjcmVhdGlvblRpbWUoKSBjb25zdCB7IHJldHVybiBtX2NyZWF0aW9uVGltZTsgfQorICAgIHVu
c2lnbmVkIGxvbmcgdG90YWxWaWRlb0ZyYW1lcygpIGNvbnN0IHsgcmV0dXJuIG1fdG90YWxWaWRl
b0ZyYW1lczsgfQorICAgIHVuc2lnbmVkIGxvbmcgZHJvcHBlZFZpZGVvRnJhbWVzKCkgY29uc3Qg
eyByZXR1cm4gbV9kcm9wcGVkVmlkZW9GcmFtZXM7IH0KKyAgICB1bnNpZ25lZCBsb25nIGNvcnJ1
cHRlZFZpZGVvRnJhbWVzKCkgY29uc3QgeyByZXR1cm4gbV9jb3JydXB0ZWRWaWRlb0ZyYW1lczsg
fQorICAgIGRvdWJsZSB0b3RhbEZyYW1lRGVsYXkoKSBjb25zdCB7IHJldHVybiBtX3RvdGFsRnJh
bWVEZWxheTsgfQorCitwcm90ZWN0ZWQ6CisgICAgVmlkZW9QbGF5YmFja1F1YWxpdHkoZG91Ymxl
IGNyZWF0aW9uVGltZSwgdW5zaWduZWQgbG9uZyB0b3RhbFZpZGVvRnJhbWVzLCB1bnNpZ25lZCBs
b25nIGRyb3BwZWRWaWRlb0ZyYW1lcywgdW5zaWduZWQgbG9uZyBjb3JydXB0ZWRWaWRlb0ZyYW1l
cywgZG91YmxlIHRvdGFsRnJhbWVEZWxheSk7CisKKyAgICBkb3VibGUgbV9jcmVhdGlvblRpbWU7
CisgICAgdW5zaWduZWQgbG9uZyBtX3RvdGFsVmlkZW9GcmFtZXM7CisgICAgdW5zaWduZWQgbG9u
ZyBtX2Ryb3BwZWRWaWRlb0ZyYW1lczsKKyAgICB1bnNpZ25lZCBsb25nIG1fY29ycnVwdGVkVmlk
ZW9GcmFtZXM7CisgICAgZG91YmxlIG1fdG90YWxGcmFtZURlbGF5OworfTsKKworfQorCisjZW5k
aWYgLy8gVmlkZW9QbGF5YmFja1F1YWxpdHlfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXNvdXJjZS9WaWRlb1BsYXliYWNrUXVhbGl0eS5pZGwgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1ZpZGVvUGxheWJhY2tRdWFsaXR5LmlkbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi42NWM2MTkzMDE3NjBhMzgzMWU1ZWZiYWY2YzZmZTA1MzIzNTc1ZDA2Ci0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9WaWRlb1BsYXliYWNr
UXVhbGl0eS5pZGwKQEAgLTAsMCArMSwzOSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
KyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgor
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK1sKKyAgICBDb25kaXRp
b25hbD1NRURJQV9TT1VSQ0UsCisgICAgTm9JbnRlcmZhY2VPYmplY3QsCisgICAgSW1wbGVtZW50
YXRpb25MYWNrc1ZUYWJsZSwKK10gaW50ZXJmYWNlIFZpZGVvUGxheWJhY2tRdWFsaXR5IHsKKyAg
ICByZWFkb25seSBhdHRyaWJ1dGUgZG91YmxlIGNyZWF0aW9uVGltZTsKKyAgICByZWFkb25seSBh
dHRyaWJ1dGUgdW5zaWduZWQgbG9uZyB0b3RhbFZpZGVvRnJhbWVzOworICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGRyb3BwZWRWaWRlb0ZyYW1lczsKKyAgICByZWFkb25seSBh
dHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBjb3JydXB0ZWRWaWRlb0ZyYW1lczsKKyAgICByZWFkb25s
eSBhdHRyaWJ1dGUgZG91YmxlIHRvdGFsRnJhbWVEZWxheTsKK307CisKKworCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggMjY5MTRk
NTFlNTVjMTMyMWZjNDU2NTczNWRlMzQ1NTZlNWE1ZWY1Mi4uNWEzOGJkODUxYzc2ZGQzNDk3MTFk
ZDkwZDQ2NDM3NTMxZGYyNjE3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNTQxOCw2ICs1NDE4LDkgQEAKIAkJQ0RFM0E4NTgx
N0Y2MDIwNDAwQzVCRTIwIC8qIEF1ZGlvVHJhY2tQcml2YXRlQVZGT2JqQy5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RFM0E4NTYxN0Y2MDIwNDAwQzVC
RTIwIC8qIEF1ZGlvVHJhY2tQcml2YXRlQVZGT2JqQy5oICovOyB9OwogCQlDREU3RkM0NDE4MTkw
NEIxMDAyQkJCNzcgLyogT3JkZXJJdGVyYXRvci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDREU3RkM0MjE4MTkwNEIxMDAyQkJCNzcgLyogT3JkZXJJ
dGVyYXRvci5jcHAgKi87IH07CiAJCUNERTdGQzQ1MTgxOTA0QjEwMDJCQkI3NyAvKiBPcmRlckl0
ZXJhdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBD
REU3RkM0MzE4MTkwNEIxMDAyQkJCNzcgLyogT3JkZXJJdGVyYXRvci5oICovOyB9OworCQlDREU4
M0RCMTE4M0M0NDA2MDAzMUVBQTMgLyogVmlkZW9QbGF5YmFja1F1YWxpdHkuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RFODNEQUYxODNDNDQwNjAw
MzFFQUEzIC8qIFZpZGVvUGxheWJhY2tRdWFsaXR5LmNwcCAqLzsgfTsKKwkJQ0RFODNEQjIxODND
NDQwNjAwMzFFQUEzIC8qIFZpZGVvUGxheWJhY2tRdWFsaXR5LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDREU4M0RCMDE4M0M0NDA2MDAzMUVBQTMgLyog
VmlkZW9QbGF5YmFja1F1YWxpdHkuaCAqLzsgfTsKKwkJQ0RFODNEQjYxODNEMzUyQTAwMzFFQUEz
IC8qIEpTVmlkZW9QbGF5YmFja1F1YWxpdHkuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RFODNEQjQxODNEMzUyQTAwMzFFQUEzIC8qIEpTVmlkZW9Q
bGF5YmFja1F1YWxpdHkuY3BwICovOyB9OwogCQlDREVBNzYzMDE0NjA4QTUzMDA4QjMxRjEgLyog
UGxhdGZvcm1DbG9ja0NBLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IENERUE3NjJFMTQ2MDg0REUwMDhCMzFGMSAvKiBQbGF0Zm9ybUNsb2NrQ0EuY3Bw
ICovOyB9OwogCQlDREVBNzYzNDE0NjBCNTZGMDA4QjMxRjEgLyogQ2xvY2tHZW5lcmljLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENERUE3NjMyMTQ2
MEFFMjkwMDhCMzFGMSAvKiBDbG9ja0dlbmVyaWMuY3BwICovOyB9OwogCQlDREVBNzYzNTE0NjBC
NzFBMDA4QjMxRjEgLyogQ2xvY2suY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQ0RFQTc2MzMxNDYwQjQ2MjAwOEIzMUYxIC8qIENsb2NrLmNwcCAqLzsg
fTsKQEAgLTEyNTQzLDYgKzEyNTQ2LDExIEBACiAJCUNERTY1NjBFMTdDQTZFNzYwMDUyNkJBNyAv
KiBtZWRpYUNvbnRyb2xzQXBwbGUuanMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmphdmFzY3JpcHQ7IHBhdGggPSBtZWRpYUNvbnRy
b2xzQXBwbGUuanM7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNERTdGQzQyMTgxOTA0
QjEwMDJCQkI3NyAvKiBPcmRlckl0ZXJhdG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IE9yZGVySXRlcmF0b3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlDREU3RkM0MzE4MTkwNEIxMDAyQkJCNzcgLyogT3JkZXJJdGVyYXRvci5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBPcmRlckl0ZXJhdG9yLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCUNERTgzREFGMTgzQzQ0MDYwMDMxRUFBMyAvKiBWaWRlb1BsYXliYWNr
UXVhbGl0eS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBWaWRlb1Bs
YXliYWNrUXVhbGl0eS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNERTgzREIw
MTgzQzQ0MDYwMDMxRUFBMyAvKiBWaWRlb1BsYXliYWNrUXVhbGl0eS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBWaWRlb1BsYXliYWNrUXVhbGl0eS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQlDREU4M0RCMzE4M0M0NDFFMDAzMUVBQTMgLyogVmlkZW9QbGF5YmFj
a1F1YWxpdHkuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gdGV4dDsgcGF0aCA9IFZpZGVvUGxheWJhY2tRdWFsaXR5LmlkbDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJQ0RFODNEQjQxODNEMzUyQTAwMzFFQUEzIC8qIEpTVmlkZW9QbGF5
YmFja1F1YWxpdHkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNW
aWRlb1BsYXliYWNrUXVhbGl0eS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNE
RTgzREI1MTgzRDM1MkEwMDMxRUFBMyAvKiBKU1ZpZGVvUGxheWJhY2tRdWFsaXR5LmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTVmlkZW9QbGF5YmFja1F1YWxpdHkuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0RFQTc2MkMxNDYwODIyNDAwOEIzMUYxIC8qIENs
b2NrLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENsb2NrLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNERUE3NjJFMTQ2MDg0REUwMDhCMzFGMSAvKiBQbGF0Zm9y
bUNsb2NrQ0EuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGxhdGZv
cm1DbG9ja0NBLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0RFQTc2MkYxNDYw
ODRFRTAwOEIzMUYxIC8qIFBsYXRmb3JtQ2xvY2tDQS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBQbGF0Zm9ybUNsb2NrQ0EuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
QEAgLTE3NzY5LDYgKzE3Nzc3LDggQEAKIAkJCQlCRThFRjA0ODE3MUM5MDE0MDA5QjQ4QzMgLyog
SlNWaWRlb1RyYWNrTGlzdC5jcHAgKi8sCiAJCQkJQkU4RUYwNDkxNzFDOTAxNDAwOUI0OEMzIC8q
IEpTVmlkZW9UcmFja0xpc3QuaCAqLywKIAkJCQk5N0U5RUM4QjE1REM0OTJGMDA0RjJFNzEgLyog
SlNWb2lkQ2FsbGJhY2suY3BwICovLAorCQkJCUNERTgzREI0MTgzRDM1MkEwMDMxRUFBMyAvKiBK
U1ZpZGVvUGxheWJhY2tRdWFsaXR5LmNwcCAqLywKKwkJCQlDREU4M0RCNTE4M0QzNTJBMDAzMUVB
QTMgLyogSlNWaWRlb1BsYXliYWNrUXVhbGl0eS5oICovLAogCQkJCTk3RTlFQzhDMTVEQzQ5MkYw
MDRGMkU3MSAvKiBKU1ZvaWRDYWxsYmFjay5oICovLAogCQkJCUE3RDIwRjYwMTA3RjQwNjkwMEE4
MDM5MiAvKiBKU1dlYkdMQWN0aXZlSW5mby5jcHAgKi8sCiAJCQkJQTdEMjBGNjExMDdGNDA2OTAw
QTgwMzkyIC8qIEpTV2ViR0xBY3RpdmVJbmZvLmggKi8sCkBAIC0xODU3NCw2ICsxODU4NCw5IEBA
CiAJCQkJQ0QzQTQ5NUQxN0E5RDAxQjAwMjc0RTQyIC8qIFNvdXJjZUJ1ZmZlckxpc3QuaWRsICov
LAogCQkJCUNEOEI1QTQ4MTgwRTEzOEIwMDhCOEU2NSAvKiBUZXh0VHJhY2tNZWRpYVNvdXJjZS5o
ICovLAogCQkJCUNEOEI1QTQ3MTgwRTEzNjEwMDhCOEU2NSAvKiBUZXh0VHJhY2tNZWRpYVNvdXJj
ZS5pZGwgKi8sCisJCQkJQ0RFODNEQUYxODNDNDQwNjAwMzFFQUEzIC8qIFZpZGVvUGxheWJhY2tR
dWFsaXR5LmNwcCAqLywKKwkJCQlDREU4M0RCMDE4M0M0NDA2MDAzMUVBQTMgLyogVmlkZW9QbGF5
YmFja1F1YWxpdHkuaCAqLywKKwkJCQlDREU4M0RCMzE4M0M0NDFFMDAzMUVBQTMgLyogVmlkZW9Q
bGF5YmFja1F1YWxpdHkuaWRsICovLAogCQkJCUNEOEI1QTQ1MTgwREZGNEUwMDhCOEU2NSAvKiBW
aWRlb1RyYWNrTWVkaWFTb3VyY2UuaCAqLywKIAkJCQlDRDhCNUE0NDE4MEREOEQ2MDA4QjhFNjUg
LyogVmlkZW9UcmFja01lZGlhU291cmNlLmlkbCAqLywKIAkJCQlDREQ3MDg5NDE4MzU5RjZFMDAy
QjNEQzYgLyogU2FtcGxlTWFwLmNwcCAqLywKQEAgLTIzOTA3LDYgKzIzOTIwLDcgQEAKIAkJCQlC
MkZBM0RGRDBBQjc1QTZGMDAwRTVBQzQgLyogSlNTVkdTVkdFbGVtZW50LmggaW4gSGVhZGVycyAq
LywKIAkJCQlCMkZBM0RGRjBBQjc1QTZGMDAwRTVBQzQgLyogSlNTVkdTd2l0Y2hFbGVtZW50Lmgg
aW4gSGVhZGVycyAqLywKIAkJCQlCMkZBM0UwMTBBQjc1QTZGMDAwRTVBQzQgLyogSlNTVkdTeW1i
b2xFbGVtZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQlDREU4M0RCMjE4M0M0NDA2MDAzMUVBQTMg
LyogVmlkZW9QbGF5YmFja1F1YWxpdHkuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyRkEzRTAzMEFC
NzVBNkYwMDBFNUFDNCAvKiBKU1NWR1RleHRDb250ZW50RWxlbWVudC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQjJGQTNFMDUwQUI3NUE2RjAwMEU1QUM0IC8qIEpTU1ZHVGV4dEVsZW1lbnQuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUIyMjM2MjI5MEMzQUYwNEEwMDA4Q0E5QiAvKiBKU1NWR1RleHRQYXRo
RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNjQzMiw2ICsyNjQ0Niw3IEBACiAJCQkJNEZC
MzkwQUQxNUVGNjFGMzAwN0FENTFGIC8qIEdlbmVyYXRlZEltYWdlLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTJENDgxRjAzMTQ2QjVDNjUwMEFBNzgzNCAvKiBHcmFkaWVudEltYWdlLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTA3MjBCMEEwMTREMzMyMzUwMDY0Mjk1NSAvKiBHZW5lcmljRXZlbnRR
dWV1ZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlDREU4M0RCMTE4M0M0NDA2MDAzMUVBQTMgLyog
VmlkZW9QbGF5YmFja1F1YWxpdHkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTc0NkFGMjMxNEY0
RERFNjAwM0U3QTcwIC8qIEdlb2xvY2F0aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTk3NDZB
RjI2MTRGNERERTYwMDNFN0E3MCAvKiBHZW9sb2NhdGlvbkNvbnRyb2xsZXIuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJQjJDM0RBNkQwRDAwNkNENjAwRUY2RjI2IC8qIEdseXBoUGFnZVRyZWVOb2Rl
LmNwcCBpbiBTb3VyY2VzICovLApAQCAtMjgwMjUsNiArMjgwNDAsNyBAQAogCQkJCUIyMjI3OUE0
MEQwMEJGMjIwMDcxQjc4MiAvKiBTVkdDb21wb25lbnRUcmFuc2ZlckZ1bmN0aW9uRWxlbWVudC5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQlCMjIyN0IwNTBEMDBCRkYxMDA3MUI3ODIgLyogU1ZHQ1NT
Q29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTA3OEUwOTBD
MTdEMTRDRUUwMDQyMEFBMSAvKiBSVENTZXNzaW9uRGVzY3JpcHRpb24uY3BwIGluIFNvdXJjZXMg
Ki8sCisJCQkJQ0RFODNEQjYxODNEMzUyQTAwMzFFQUEzIC8qIEpTVmlkZW9QbGF5YmFja1F1YWxp
dHkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQjIyMjdCMDYwRDAwQkZGMTAwNzFCNzgyIC8qIFNW
R0NTU1BhcnNlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCMjIyN0IwODBEMDBCRkYxMDA3MUI3
ODIgLyogU1ZHQ1NTU3R5bGVTZWxlY3Rvci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCMjIyNzlB
NzBEMDBCRjIyMDA3MUI3ODIgLyogU1ZHQ3Vyc29yRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCmluZGV4IDc0NDhiZDk4ZWEx
ZjRhNWFmZmYxNDI2YzU3NjEzMmY3ODk0MTM3YzAuLjVjMDZjZGI3NGIwZDhhMDk2ZTY2YzJlYTA3
OTE0ZTNlNzhiY2E3ZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlh
RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNw
cApAQCAtMTA4LDcgKzEwOCwxMCBAQAogI2VuZGlmCiAKICNpZiBFTkFCTEUoTUVESUFfU09VUkNF
KQorI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgogI2luY2x1ZGUgIkhUTUxNZWRpYVNvdXJjZS5oIgor
I2luY2x1ZGUgIlBlcmZvcm1hbmNlLmgiCisjaW5jbHVkZSAiVmlkZW9QbGF5YmFja1F1YWxpdHku
aCIKICNlbmRpZgogCiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKQEAgLTI3MSw2ICsyNzQsOSBA
QCBIVE1MTWVkaWFFbGVtZW50OjpIVE1MTWVkaWFFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUm
IHRhZ05hbWUsIERvY3VtZW50JiBkb2N1bQogICAgICwgbV9wcmVsb2FkKE1lZGlhUGxheWVyOjpB
dXRvKQogICAgICwgbV9kaXNwbGF5TW9kZShVbmtub3duKQogICAgICwgbV9wcm9jZXNzaW5nTWVk
aWFQbGF5ZXJDYWxsYmFjaygwKQorI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisgICAgLCBtX2Ry
b3BwZWRWaWRlb0ZyYW1lcygwKQorI2VuZGlmCiAgICAgLCBtX2NhY2hlZFRpbWUoTWVkaWFQbGF5
ZXI6OmludmFsaWRUaW1lKCkpCiAgICAgLCBtX2Nsb2NrVGltZUF0TGFzdENhY2hlZFRpbWVVcGRh
dGUoMCkKICAgICAsIG1fbWluaW11bUNsb2NrVGltZVRvVXBkYXRlQ2FjaGVkVGltZSgwKQpAQCAt
MzkwOCw2ICszOTE0LDEwIEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6bWVkaWFQbGF5ZXJFbmdp
bmVVcGRhdGVkKE1lZGlhUGxheWVyKikKICAgICBpZiAocmVuZGVyZXIoKSkKICAgICAgICAgcmVu
ZGVyZXIoKS0+dXBkYXRlRnJvbUVsZW1lbnQoKTsKICAgICBlbmRQcm9jZXNzaW5nTWVkaWFQbGF5
ZXJDYWxsYmFjaygpOworCisjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKKyAgICBtX2Ryb3BwZWRW
aWRlb0ZyYW1lcyA9IDA7CisjZW5kaWYKIH0KIAogdm9pZCBIVE1MTWVkaWFFbGVtZW50OjptZWRp
YVBsYXllckZpcnN0VmlkZW9GcmFtZUF2YWlsYWJsZShNZWRpYVBsYXllciopCkBAIC01MjMwLDYg
KzUyNDAsMjggQEAgYm9vbCBIVE1MTWVkaWFFbGVtZW50OjpzaG91bGRVc2VWaWRlb1BsdWdpblBy
b3h5KCkgY29uc3QKIH0KICNlbmRpZgogCisjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKK1JlZlB0
cjxWaWRlb1BsYXliYWNrUXVhbGl0eT4gSFRNTE1lZGlhRWxlbWVudDo6Z2V0VmlkZW9QbGF5YmFj
a1F1YWxpdHkoKQoreworI2lmIEVOQUJMRShXRUJfVElNSU5HKQorICAgIERPTVdpbmRvdyogZG9t
V2luZG93ID0gZG9jdW1lbnQoKS5kb21XaW5kb3coKTsKKyAgICBQZXJmb3JtYW5jZSogcGVyZm9y
bWFuY2UgPSBkb21XaW5kb3cgPyBkb21XaW5kb3ctPnBlcmZvcm1hbmNlKCkgOiBudWxscHRyOwor
ICAgIGRvdWJsZSBub3cgPSBwZXJmb3JtYW5jZSA/IHBlcmZvcm1hbmNlLT5ub3coKSA6IDA7Cisj
ZWxzZQorICAgIGRvdWJsZSBub3cgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKKyNl
bmRpZgorCisgICAgaWYgKCFtX3BsYXllcikKKyAgICAgICAgcmV0dXJuIFZpZGVvUGxheWJhY2tR
dWFsaXR5OjpjcmVhdGUobm93LCAwLCAwLCAwLCAwKTsKKworICAgIHJldHVybiBWaWRlb1BsYXli
YWNrUXVhbGl0eTo6Y3JlYXRlKG5vdywKKyAgICAgICAgbV9kcm9wcGVkVmlkZW9GcmFtZXMgKyBt
X3BsYXllci0+dG90YWxWaWRlb0ZyYW1lcygpLAorICAgICAgICBtX2Ryb3BwZWRWaWRlb0ZyYW1l
cyArIG1fcGxheWVyLT5kcm9wcGVkVmlkZW9GcmFtZXMoKSwKKyAgICAgICAgbV9wbGF5ZXItPmNv
cnJ1cHRlZFZpZGVvRnJhbWVzKCksCisgICAgICAgIG1fcGxheWVyLT50b3RhbEZyYW1lRGVsYXko
KSk7Cit9CisjZW5kaWYKKwogI2lmIEVOQUJMRShNRURJQV9DT05UUk9MU19TQ1JJUFQpCiBET01X
cmFwcGVyV29ybGQmIEhUTUxNZWRpYUVsZW1lbnQ6OmVuc3VyZUlzb2xhdGVkV29ybGQoKQogewpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaAppbmRleCA0NDE4MjU2MGE1OTc0YjE1
YWYyZmQ1M2NkZjY1MGE5MzViYmNiNWY4Li5jM2QxYmYxNzNkOGExZjkzZTYxZGJlODBlMDYyZGYy
Y2Y2NDY1Yzk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1l
bnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaApAQCAtODAs
NiArODAsOSBAQCBjbGFzcyBEaXNwbGF5U2xlZXBEaXNhYmxlcjsKICNpZiBFTkFCTEUoRU5DUllQ
VEVEX01FRElBX1YyKQogY2xhc3MgTWVkaWFLZXlzOwogI2VuZGlmCisjaWYgRU5BQkxFKE1FRElB
X1NPVVJDRSkKK2NsYXNzIFZpZGVvUGxheWJhY2tRdWFsaXR5OworI2VuZGlmCiAKICNpZiBFTkFC
TEUoVklERU9fVFJBQ0spCiBjbGFzcyBBdWRpb1RyYWNrTGlzdDsKQEAgLTIwMSw3ICsyMDQsOCBA
QCBwdWJsaWM6CiAjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKIC8vICBNZWRpYSBTb3VyY2UuCiAg
ICAgdm9pZCBjbG9zZU1lZGlhU291cmNlKCk7Ci0jZW5kaWYgCisgICAgdm9pZCBpbmNyZW1lbnRE
cm9wcGVkRnJhbWVDb3VudCgpIHsgKyttX2Ryb3BwZWRWaWRlb0ZyYW1lczsgfQorI2VuZGlmCiAK
ICNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQogICAgIHZvaWQgd2Via2l0R2VuZXJhdGVLZXlS
ZXF1ZXN0KGNvbnN0IFN0cmluZyYga2V5U3lzdGVtLCBQYXNzUmVmUHRyPFVpbnQ4QXJyYXk+IGlu
aXREYXRhLCBFeGNlcHRpb25Db2RlJik7CkBAIC0zOTgsNiArNDAyLDEwIEBAIHB1YmxpYzoKICAg
ICB2b2lkIG1lZGlhTG9hZGluZ0ZhaWxlZChNZWRpYVBsYXllcjo6TmV0d29ya1N0YXRlKTsKICAg
ICB2b2lkIG1lZGlhTG9hZGluZ0ZhaWxlZEZhdGFsbHkoTWVkaWFQbGF5ZXI6Ok5ldHdvcmtTdGF0
ZSk7CiAKKyNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQorICAgIFJlZlB0cjxWaWRlb1BsYXliYWNr
UXVhbGl0eT4gZ2V0VmlkZW9QbGF5YmFja1F1YWxpdHkoKTsKKyNlbmRpZgorCiBwcm90ZWN0ZWQ6
CiAgICAgSFRNTE1lZGlhRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmLCBi
b29sKTsKICAgICB2aXJ0dWFsIH5IVE1MTWVkaWFFbGVtZW50KCk7CkBAIC02OTksNiArNzA3LDcg
QEAgcHJpdmF0ZToKIAogI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCiAgICAgUmVmUHRyPEhUTUxN
ZWRpYVNvdXJjZT4gbV9tZWRpYVNvdXJjZTsKKyAgICB1bnNpZ25lZCBsb25nIG1fZHJvcHBlZFZp
ZGVvRnJhbWVzOwogI2VuZGlmCiAKICAgICBtdXRhYmxlIGRvdWJsZSBtX2NhY2hlZFRpbWU7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaWRsIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmlkbAppbmRleCBkOTViM2U4NGVlMzRj
ODAxZDkwODQ1MzQwZDQxZWZiNmY2MGYzODc2Li5kZTZmOTI0MDI2YmI1ZjA5YTBiYmU3NzcxOTU5
YjFhY2M1MmEyNjY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVs
ZW1lbnQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5pZGwK
QEAgLTExNyw0ICsxMTcsNiBAQAogCiAgICAgW1JlZmxlY3QsIFRyZWF0TnVsbEFzPU51bGxTdHJp
bmddIGF0dHJpYnV0ZSBET01TdHJpbmcgbWVkaWFHcm91cDsKICAgICBbQ3VzdG9tU2V0dGVyXSBh
dHRyaWJ1dGUgTWVkaWFDb250cm9sbGVyIGNvbnRyb2xsZXI7CisgICAgCisgICAgW0NvbmRpdGlv
bmFsPU1FRElBX1NPVVJDRV0gVmlkZW9QbGF5YmFja1F1YWxpdHkgZ2V0VmlkZW9QbGF5YmFja1F1
YWxpdHkoKTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZWRpYVNh
bXBsZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTWVkaWFTYW1wbGUuaAppbmRleCA3NDRk
M2M3OWFiOTFmNmJiNjUyY2I1NDllNTczOGQ1YTk1YmVmMWM4Li41NzYyZTNkZTJhYzYyMmUwMGU0
YzljNzEwM2JkNjU3MTY2MmRkNmZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9NZWRpYVNhbXBsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01lZGlhU2FtcGxl
LmgKQEAgLTYzLDYgKzYzLDkgQEAgcHVibGljOgogICAgIH07CiAgICAgdmlydHVhbCBTYW1wbGVG
bGFncyBmbGFncygpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIFBsYXRmb3JtU2FtcGxlIHBsYXRm
b3JtU2FtcGxlKCkgPSAwOworCisgICAgYm9vbCBpc1N5bmMoKSBjb25zdCB7IHJldHVybiBmbGFn
cygpICYgSXNTeW5jOyB9CisgICAgYm9vbCBpc05vbkRpc3BsYXlpbmcoKSBjb25zdCB7IHJldHVy
biBmbGFncygpICYgTm9uRGlzcGxheWluZzsgfQogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwCmluZGV4IDY0NjU4Zjc3YjRmY2Y4
MGY1ZTQ5NjBmZjk1NmZmMTlmOTkzOWFkNjEuLmRhNDM3N2UwMTY2YTkwMjdlZDY0YTk3YWYwODZj
MGM2MTJiMzQ2MDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L01lZGlhUGxheWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9N
ZWRpYVBsYXllci5jcHAKQEAgLTEyMzksNiArMTIzOSw0MCBAQCB1bnNpZ25lZCBsb25nIGxvbmcg
TWVkaWFQbGF5ZXI6OmZpbGVTaXplKCkgY29uc3QKICAgICByZXR1cm4gbV9wcml2YXRlLT5maWxl
U2l6ZSgpOwogfQogCisjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKK3Vuc2lnbmVkIGxvbmcgTWVk
aWFQbGF5ZXI6OnRvdGFsVmlkZW9GcmFtZXMoKQoreworICAgIGlmICghbV9wcml2YXRlKQorICAg
ICAgICByZXR1cm4gMDsKKworICAgIHJldHVybiBtX3ByaXZhdGUtPnRvdGFsVmlkZW9GcmFtZXMo
KTsKK30KKwordW5zaWduZWQgbG9uZyBNZWRpYVBsYXllcjo6ZHJvcHBlZFZpZGVvRnJhbWVzKCkK
K3sKKyAgICBpZiAoIW1fcHJpdmF0ZSkKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICByZXR1cm4g
bV9wcml2YXRlLT5kcm9wcGVkVmlkZW9GcmFtZXMoKTsKK30KKwordW5zaWduZWQgbG9uZyBNZWRp
YVBsYXllcjo6Y29ycnVwdGVkVmlkZW9GcmFtZXMoKQoreworICAgIGlmICghbV9wcml2YXRlKQor
ICAgICAgICByZXR1cm4gMDsKKworICAgIHJldHVybiBtX3ByaXZhdGUtPmNvcnJ1cHRlZFZpZGVv
RnJhbWVzKCk7Cit9CisKK2RvdWJsZSBNZWRpYVBsYXllcjo6dG90YWxGcmFtZURlbGF5KCkKK3sK
KyAgICBpZiAoIW1fcHJpdmF0ZSkKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICByZXR1cm4gbV9w
cml2YXRlLT50b3RhbEZyYW1lRGVsYXkoKTsKK30KKyNlbmRpZgorCiB2b2lkIE1lZGlhUGxheWVy
RmFjdG9yeVN1cHBvcnQ6OmNhbGxSZWdpc3Rlck1lZGlhRW5naW5lKE1lZGlhRW5naW5lUmVnaXN0
ZXIgcmVnaXN0ZXJNZWRpYUVuZ2luZSkKIHsKICAgICByZWdpc3Rlck1lZGlhRW5naW5lKGFkZE1l
ZGlhRW5naW5lKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L01lZGlhUGxheWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBs
YXllci5oCmluZGV4IGQ0ZTIxOTAzYzU3Njk4OGQ1Yzc4ODYzNzg5YzBlODE1NDMwZWRjNzMuLjgx
NTE2M2NjYmU4NTFiNDUwNTM3ZTYxYzY1NTk2ZmY4MjEyZDgzN2UgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaApAQCAtNTE0LDYgKzUxNCwxMyBA
QCBwdWJsaWM6CiAKICAgICB1bnNpZ25lZCBsb25nIGxvbmcgZmlsZVNpemUoKSBjb25zdDsKIAor
I2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisgICAgdW5zaWduZWQgbG9uZyB0b3RhbFZpZGVvRnJh
bWVzKCk7CisgICAgdW5zaWduZWQgbG9uZyBkcm9wcGVkVmlkZW9GcmFtZXMoKTsKKyAgICB1bnNp
Z25lZCBsb25nIGNvcnJ1cHRlZFZpZGVvRnJhbWVzKCk7CisgICAgZG91YmxlIHRvdGFsRnJhbWVE
ZWxheSgpOworI2VuZGlmCisKIHByaXZhdGU6CiAgICAgTWVkaWFQbGF5ZXIoTWVkaWFQbGF5ZXJD
bGllbnQqKTsKICAgICBNZWRpYVBsYXllckZhY3RvcnkqIG5leHRCZXN0TWVkaWFFbmdpbmUoTWVk
aWFQbGF5ZXJGYWN0b3J5KikgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllclByaXZhdGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oCmluZGV4IDQzNmM2OGI0ZjYyMjdlNGQz
MmZiMGEyYjdhMTZlNGZhNWVlZjUwN2UuLmNmN2I1ZjI4ODVmNTE1ZjI2MzQzMDNiZTYzYWU3NTVk
MmI4NDM0ZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01l
ZGlhUGxheWVyUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L01lZGlhUGxheWVyUHJpdmF0ZS5oCkBAIC0yMTUsNiArMjE1LDEzIEBAIHB1YmxpYzoKICAgICB2
aXJ0dWFsIHNpemVfdCBleHRyYU1lbW9yeUNvc3QoKSBjb25zdCB7IHJldHVybiAwOyB9CiAgICAg
CiAgICAgdmlydHVhbCB1bnNpZ25lZCBsb25nIGxvbmcgZmlsZVNpemUoKSBjb25zdCB7IHJldHVy
biAwOyB9CisKKyNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQorICAgIHZpcnR1YWwgdW5zaWduZWQg
bG9uZyB0b3RhbFZpZGVvRnJhbWVzKCkgeyByZXR1cm4gMDsgfQorICAgIHZpcnR1YWwgdW5zaWdu
ZWQgbG9uZyBkcm9wcGVkVmlkZW9GcmFtZXMoKSB7IHJldHVybiAwOyB9CisgICAgdmlydHVhbCB1
bnNpZ25lZCBsb25nIGNvcnJ1cHRlZFZpZGVvRnJhbWVzKCkgeyByZXR1cm4gMDsgfQorICAgIHZp
cnR1YWwgZG91YmxlIHRvdGFsRnJhbWVEZWxheSgpIHsgcmV0dXJuIDA7IH0KKyNlbmRpZgogfTsK
IAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3Vu
ZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXll
clByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMuaAppbmRleCA5NjgxNjFmYTc0MWEzMmMxZjU0ZDVm
YjNjOTI3Y2MxYjg2MzdmNTJkLi5kNmNmYzEyNDVkZTMyMGRjNzY1NzFmZWU0NzdkY2FjM2Y5ODIx
YTVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5k
YXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBs
YXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMuaApAQCAtMTI5LDYgKzEyOSwxMSBAQCBwcml2
YXRlOgogCiAgICAgdmlydHVhbCBzaXplX3QgZXh0cmFNZW1vcnlDb3N0KCkgY29uc3QgT1ZFUlJJ
REU7CiAKKyAgICB2aXJ0dWFsIHVuc2lnbmVkIGxvbmcgdG90YWxWaWRlb0ZyYW1lcygpIE9WRVJS
SURFOworICAgIHZpcnR1YWwgdW5zaWduZWQgbG9uZyBkcm9wcGVkVmlkZW9GcmFtZXMoKSBPVkVS
UklERTsKKyAgICB2aXJ0dWFsIHVuc2lnbmVkIGxvbmcgY29ycnVwdGVkVmlkZW9GcmFtZXMoKSBP
VkVSUklERTsKKyAgICB2aXJ0dWFsIGRvdWJsZSB0b3RhbEZyYW1lRGVsYXkoKSBPVkVSUklERTsK
KwogICAgIHZvaWQgZW5zdXJlTGF5ZXIoKTsKICAgICB2b2lkIGRlc3Ryb3lMYXllcigpOwogICAg
IHZvaWQgZHVyYXRpb25DaGFuZ2VkKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNv
dXJjZUFWRk9iakMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5k
YXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMubW0KaW5kZXgg
OTg4MGI5ZmJhNmFkMzhkOWUyZTg2MTMxNzY2ZDJhOTY4YjQzM2I3MC4uZGFmYjBiMmIzYjdhMDNj
NTlkZDJmN2JkZDY5OGQ3YTc0ZjVlMDAzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFT
b3VyY2VBVkZPYmpDLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2
Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5tbQpA
QCAtNTAsNiArNTAsMjEgQEAgU09GVF9MSU5LX0NMQVNTX09QVElPTkFMKEFWRm91bmRhdGlvbiwg
QVZBc3NldCkKIFNPRlRfTElOS19DTEFTU19PUFRJT05BTChBVkZvdW5kYXRpb24sIEFWVVJMQXNz
ZXQpCiBTT0ZUX0xJTktfQ0xBU1NfT1BUSU9OQUwoQVZGb3VuZGF0aW9uLCBBVlNhbXBsZUJ1ZmZl
ckRpc3BsYXlMYXllcikKIFNPRlRfTElOS19DTEFTU19PUFRJT05BTChBVkZvdW5kYXRpb24sIEFW
U3RyZWFtRGF0YVBhcnNlcikKK1NPRlRfTElOS19DTEFTU19PUFRJT05BTChBVkZvdW5kYXRpb24s
IEFWVmlkZW9QZXJmb3JtYW5jZU1ldHJpY3MpCisKKyNwcmFnbWEgbWFyayAtCisjcHJhZ21hIG1h
cmsgQVZWaWRlb1BlcmZvcm1hbmNlTWV0cmljcworCitAaW50ZXJmYWNlIEFWVmlkZW9QZXJmb3Jt
YW5jZU1ldHJpY3MgOiBOU09iamVjdAorLSAodW5zaWduZWQgbG9uZyl0b3RhbE51bWJlck9mVmlk
ZW9GcmFtZXM7CistICh1bnNpZ25lZCBsb25nKW51bWJlck9mRHJvcHBlZFZpZGVvRnJhbWVzOwor
LSAodW5zaWduZWQgbG9uZyludW1iZXJPZkNvcnJ1cHRlZFZpZGVvRnJhbWVzOworLSAoZG91Ymxl
KXRvdGFsRnJhbWVEZWxheTsKK0BlbmQKKworQGludGVyZmFjZSBBVlNhbXBsZUJ1ZmZlckRpc3Bs
YXlMYXllciAoV2ViQ29yZUFWU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyUHJpdmF0ZSkKKy0gKEFW
VmlkZW9QZXJmb3JtYW5jZU1ldHJpY3MgKil2aWRlb1BlcmZvcm1hbmNlTWV0cmljczsKK0BlbmQK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0zNjYsNiArMzgxLDI2IEBAIHNpemVfdCBNZWRp
YVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OmV4dHJhTWVtb3J5Q29zdCgpIGNvbnN0
CiAgICAgcmV0dXJuIDA7CiB9CiAKK3Vuc2lnbmVkIGxvbmcgTWVkaWFQbGF5ZXJQcml2YXRlTWVk
aWFTb3VyY2VBVkZPYmpDOjp0b3RhbFZpZGVvRnJhbWVzKCkKK3sKKyAgICByZXR1cm4gW1ttX3Nh
bXBsZUJ1ZmZlckRpc3BsYXlMYXllciB2aWRlb1BlcmZvcm1hbmNlTWV0cmljc10gdG90YWxOdW1i
ZXJPZlZpZGVvRnJhbWVzXTsKK30KKwordW5zaWduZWQgbG9uZyBNZWRpYVBsYXllclByaXZhdGVN
ZWRpYVNvdXJjZUFWRk9iakM6OmRyb3BwZWRWaWRlb0ZyYW1lcygpCit7CisgICAgcmV0dXJuIFtb
bV9zYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIgdmlkZW9QZXJmb3JtYW5jZU1ldHJpY3NdIG51bWJl
ck9mRHJvcHBlZFZpZGVvRnJhbWVzXTsKK30KKwordW5zaWduZWQgbG9uZyBNZWRpYVBsYXllclBy
aXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OmNvcnJ1cHRlZFZpZGVvRnJhbWVzKCkKK3sKKyAgICBy
ZXR1cm4gW1ttX3NhbXBsZUJ1ZmZlckRpc3BsYXlMYXllciB2aWRlb1BlcmZvcm1hbmNlTWV0cmlj
c10gbnVtYmVyT2ZDb3JydXB0ZWRWaWRlb0ZyYW1lc107Cit9CisKK2RvdWJsZSBNZWRpYVBsYXll
clByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OnRvdGFsRnJhbWVEZWxheSgpCit7CisgICAgcmV0
dXJuIFtbbV9zYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIgdmlkZW9QZXJmb3JtYW5jZU1ldHJpY3Nd
IHRvdGFsRnJhbWVEZWxheV07Cit9CisKICNwcmFnbWEgbWFyayAtCiAjcHJhZ21hIG1hcmsgVXRp
bGl0eSBNZXRob2RzCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2sv
bWVkaWFzb3VyY2UvTW9ja0JveC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRp
YXNvdXJjZS9Nb2NrQm94LmgKaW5kZXggM2YwYzBkM2NlMjA4NTEyZTcyODQ2NTFkY2Y3Zjg3N2Vm
MjgyNTAxOS4uZjJmZDY0M2ZkZmI4MjAwZTg5NDkyNDNjY2RhZGU5MmIxZmIzZWQ2YyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrQm94LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrQm94LmgK
QEAgLTEyOSw4ICsxMjksMTYgQEAgcHVibGljOgogICAgIGludDMyX3QgdHJhY2tJRCgpIGNvbnN0
IHsgcmV0dXJuIG1fdHJhY2tJRDsgfQogICAgIHVpbnQ4X3QgZmxhZ3MoKSBjb25zdCB7IHJldHVy
biBtX2ZsYWdzOyB9CiAKLSAgICBlbnVtIHsgSXNTeW5jID0gMSA8PCAwIH07CisgICAgZW51bSB7
CisgICAgICAgIElzU3luYyA9IDEgPDwgMCwKKyAgICAgICAgSXNDb3JydXB0ZWQgPSAxIDw8IDEs
CisgICAgICAgIElzRHJvcHBlZCA9IDEgPDwgMiwKKyAgICAgICAgSXNEZWxheWVkID0gMSA8PCAz
LAorICAgIH07CiAgICAgYm9vbCBpc1N5bmMoKSBjb25zdCB7IHJldHVybiBtX2ZsYWdzICYgSXNT
eW5jOyB9CisgICAgYm9vbCBpc0NvcnJ1cHRlZCgpIGNvbnN0IHsgcmV0dXJuIG1fZmxhZ3MgJiBJ
c0NvcnJ1cHRlZDsgfQorICAgIGJvb2wgaXNEcm9wcGVkKCkgY29uc3QgeyByZXR1cm4gbV9mbGFn
cyAmIElzRHJvcHBlZDsgfQorICAgIGJvb2wgaXNEZWxheWVkKCkgY29uc3QgeyByZXR1cm4gbV9m
bGFncyAmIElzRGVsYXllZDsgfQogCiBwcm90ZWN0ZWQ6CiAgICAgTWVkaWFUaW1lIG1fcHJlc2Vu
dGF0aW9uVGltZXN0YW1wOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9j
ay9tZWRpYXNvdXJjZS9Nb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tNZWRpYVBsYXllck1lZGlhU291cmNl
LmNwcAppbmRleCAyZjIzMDQ4NmI5MmI2MGIzMzk4OWFhMjU3NDhkNDlmYzZjNzViNzg5Li5lMGZj
NTFjOWYwY2UzZjAyNTQ3MDg1MmI5MGE0YTEyZTQxMGY1ODY1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tNZWRpYVBsYXllck1lZGlhU291
cmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01v
Y2tNZWRpYVBsYXllck1lZGlhU291cmNlLmNwcApAQCAtMjQ1LDYgKzI0NSwyNiBAQCB2b2lkIE1v
Y2tNZWRpYVBsYXllck1lZGlhU291cmNlOjpzZXROZXR3b3JrU3RhdGUoTWVkaWFQbGF5ZXI6Ok5l
dHdvcmtTdGF0ZSBuZXR3bwogICAgIG1fcGxheWVyLT5uZXR3b3JrU3RhdGVDaGFuZ2VkKCk7CiB9
CiAKK3Vuc2lnbmVkIGxvbmcgTW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2U6OnRvdGFsVmlkZW9G
cmFtZXMoKQoreworICAgIHJldHVybiBtX21lZGlhU291cmNlUHJpdmF0ZSA/IG1fbWVkaWFTb3Vy
Y2VQcml2YXRlLT50b3RhbFZpZGVvRnJhbWVzKCkgOiAwOworfQorCit1bnNpZ25lZCBsb25nIE1v
Y2tNZWRpYVBsYXllck1lZGlhU291cmNlOjpkcm9wcGVkVmlkZW9GcmFtZXMoKQoreworICAgIHJl
dHVybiBtX21lZGlhU291cmNlUHJpdmF0ZSA/IG1fbWVkaWFTb3VyY2VQcml2YXRlLT5kcm9wcGVk
VmlkZW9GcmFtZXMoKSA6IDA7Cit9CisKK3Vuc2lnbmVkIGxvbmcgTW9ja01lZGlhUGxheWVyTWVk
aWFTb3VyY2U6OmNvcnJ1cHRlZFZpZGVvRnJhbWVzKCkKK3sKKyAgICByZXR1cm4gbV9tZWRpYVNv
dXJjZVByaXZhdGUgPyBtX21lZGlhU291cmNlUHJpdmF0ZS0+Y29ycnVwdGVkVmlkZW9GcmFtZXMo
KSA6IDA7Cit9CisKK2RvdWJsZSBNb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZTo6dG90YWxGcmFt
ZURlbGF5KCkKK3sKKyAgICByZXR1cm4gbV9tZWRpYVNvdXJjZVByaXZhdGUgPyBtX21lZGlhU291
cmNlUHJpdmF0ZS0+dG90YWxGcmFtZURlbGF5KCkgOiAwOworfQorCiB9CiAKICNlbmRpZgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrTWVk
aWFQbGF5ZXJNZWRpYVNvdXJjZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRp
YXNvdXJjZS9Nb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZS5oCmluZGV4IGQxY2Y4YjVlZWIwMDg1
YTkyNGJhN2MyMDYwNjUxNzU1OTU3MDgzNjIuLjk4NWEyMWZiNmM3NzgyYjk3NjdiYmZjN2UzNGQ3
MDZkZGNhMzIyMmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVk
aWFzb3VyY2UvTW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tNZWRpYVBsYXllck1lZGlhU291cmNlLmgK
QEAgLTc3LDYgKzc3LDEwIEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCBkb3VibGUgY3VycmVudFRp
bWVEb3VibGUoKSBjb25zdCBPVkVSUklERTsKICAgICB2aXJ0dWFsIGRvdWJsZSBkdXJhdGlvbkRv
dWJsZSgpIGNvbnN0IE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBzZWVrV2l0aFRvbGVyYW5j
ZShkb3VibGUgdGltZSwgZG91YmxlLCBkb3VibGUpIE9WRVJSSURFOworICAgIHZpcnR1YWwgdW5z
aWduZWQgbG9uZyB0b3RhbFZpZGVvRnJhbWVzKCkgT1ZFUlJJREU7CisgICAgdmlydHVhbCB1bnNp
Z25lZCBsb25nIGRyb3BwZWRWaWRlb0ZyYW1lcygpIE9WRVJSSURFOworICAgIHZpcnR1YWwgdW5z
aWduZWQgbG9uZyBjb3JydXB0ZWRWaWRlb0ZyYW1lcygpIE9WRVJSSURFOworICAgIHZpcnR1YWwg
ZG91YmxlIHRvdGFsRnJhbWVEZWxheSgpIE9WRVJSSURFOwogCiAgICAgTWVkaWFQbGF5ZXIqIG1f
cGxheWVyOwogICAgIFJlZlB0cjxIVE1MTWVkaWFTb3VyY2U+IG1fbWVkaWFTb3VyY2U7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tNZWRp
YVNvdXJjZVByaXZhdGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNv
dXJjZS9Nb2NrTWVkaWFTb3VyY2VQcml2YXRlLmNwcAppbmRleCA0YjJhMzVmMzhmNjFjNWE4ODZl
MmY4MmM1M2ExNDE2ZmVlODdkZDFlLi44MTExNzNkZmE1NmRlMzE4MjBmN2JiNWQ1ZmFjMGEyNDIz
NTNhZTZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291
cmNlL01vY2tNZWRpYVNvdXJjZVByaXZhdGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja01lZGlhU291cmNlUHJpdmF0ZS5jcHAKQEAgLTQ0LDYg
KzQ0LDEwIEBAIE1vY2tNZWRpYVNvdXJjZVByaXZhdGU6Ok1vY2tNZWRpYVNvdXJjZVByaXZhdGUo
TW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2UqIHBhcmVuCiAgICAgOiBtX3BsYXllcihwYXJlbnQp
CiAgICAgLCBtX2R1cmF0aW9uKHN0ZDo6bnVtZXJpY19saW1pdHM8ZmxvYXQ+OjpxdWlldF9OYU4o
KSkKICAgICAsIG1faXNFbmRlZChmYWxzZSkKKyAgICAsIG1fdG90YWxWaWRlb0ZyYW1lcygwKQor
ICAgICwgbV9kcm9wcGVkVmlkZW9GcmFtZXMoMCkKKyAgICAsIG1fY29ycnVwdGVkVmlkZW9GcmFt
ZXMoMCkKKyAgICAsIG1fdG90YWxGcmFtZURlbGF5KDApCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja01lZGlhU291cmNlUHJp
dmF0ZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrTWVk
aWFTb3VyY2VQcml2YXRlLmgKaW5kZXggNzJkMjBhODBlYmY3NGYwYWJlNzk1ZjQ0ZjhlMGE0YTgx
YzM5NjFkYi4uZjQ0OGUxZGY2NzlkZDY2Y2ZjNDBlYjk1OGE5ZTdiNzUxZGViZDQ2MyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrTWVkaWFT
b3VyY2VQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNv
dXJjZS9Nb2NrTWVkaWFTb3VyY2VQcml2YXRlLmgKQEAgLTUyLDYgKzUyLDE2IEBAIHB1YmxpYzoK
ICAgICB2b2lkIHNlZWtUb1RpbWUoY29uc3QgTWVkaWFUaW1lJik7CiAgICAgTWVkaWFUaW1lIHNl
ZWtUb1RpbWUoY29uc3QgTWVkaWFUaW1lJiwgY29uc3QgTWVkaWFUaW1lJiBuZWdhdGl2ZVRocmVz
aG9sZCwgY29uc3QgTWVkaWFUaW1lJiBwb3NpdGl2ZVRocmVzaG9sZCk7CiAKKyAgICB1bnNpZ25l
ZCBsb25nIHRvdGFsVmlkZW9GcmFtZXMoKSBjb25zdCB7IHJldHVybiBtX3RvdGFsVmlkZW9GcmFt
ZXM7IH0KKyAgICB1bnNpZ25lZCBsb25nIGRyb3BwZWRWaWRlb0ZyYW1lcygpIGNvbnN0ICB7IHJl
dHVybiBtX2Ryb3BwZWRWaWRlb0ZyYW1lczsgfQorICAgIHVuc2lnbmVkIGxvbmcgY29ycnVwdGVk
VmlkZW9GcmFtZXMoKSBjb25zdCB7IHJldHVybiBtX2NvcnJ1cHRlZFZpZGVvRnJhbWVzOyB9Cisg
ICAgZG91YmxlIHRvdGFsRnJhbWVEZWxheSgpIGNvbnN0IHsgcmV0dXJuIG1fdG90YWxGcmFtZURl
bGF5OyB9CisKKyAgICB2b2lkIGluY3JlbWVudFRvdGFsVmlkZW9GcmFtZXMoKSB7ICsrbV90b3Rh
bFZpZGVvRnJhbWVzOyB9CisgICAgdm9pZCBpbmNyZW1lbnREcm9wcGVkRnJhbWVzKCkgeyArK21f
ZHJvcHBlZFZpZGVvRnJhbWVzOyB9CisgICAgdm9pZCBpbmNyZW1lbnRDb3JydXB0ZWRGcmFtZXMo
KSB7ICsrbV9jb3JydXB0ZWRWaWRlb0ZyYW1lczsgfQorICAgIHZvaWQgaW5jcmVtZW50VG90YWxG
cmFtZURlbGF5QnkoZG91YmxlIGRlbGF5KSB7IG1fdG90YWxGcmFtZURlbGF5ICs9IGRlbGF5OyB9
CisKIHByaXZhdGU6CiAgICAgTW9ja01lZGlhU291cmNlUHJpdmF0ZShNb2NrTWVkaWFQbGF5ZXJN
ZWRpYVNvdXJjZSopOwogCkBAIC03NCw2ICs4NCwxMSBAQCBwcml2YXRlOgogICAgIFZlY3RvcjxS
ZWZQdHI8TW9ja1NvdXJjZUJ1ZmZlclByaXZhdGU+PiBtX3NvdXJjZUJ1ZmZlcnM7CiAgICAgVmVj
dG9yPE1vY2tTb3VyY2VCdWZmZXJQcml2YXRlKj4gbV9hY3RpdmVTb3VyY2VCdWZmZXJzOwogICAg
IGJvb2wgbV9pc0VuZGVkOworCisgICAgdW5zaWduZWQgbG9uZyBtX3RvdGFsVmlkZW9GcmFtZXM7
CisgICAgdW5zaWduZWQgbG9uZyBtX2Ryb3BwZWRWaWRlb0ZyYW1lczsKKyAgICB1bnNpZ25lZCBs
b25nIG1fY29ycnVwdGVkVmlkZW9GcmFtZXM7CisgICAgZG91YmxlIG1fdG90YWxGcmFtZURlbGF5
OwogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRp
YXNvdXJjZS9Nb2NrU291cmNlQnVmZmVyUHJpdmF0ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tTb3VyY2VCdWZmZXJQcml2YXRlLmNwcAppbmRleCA4
NzY3MGRhZmRiYmNmNDliOTk0OTZkODQ3ZTNjNTQ5MDdiOGUyODVkLi40ZDU3M2FiMTdkNGQzNzI2
YmI2OGJlYzY0NzZlMmQwMDc0NDNjYWRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tTb3VyY2VCdWZmZXJQcml2YXRlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tTb3VyY2VCdWZmZXJQ
cml2YXRlLmNwcApAQCAtMjE4LDYgKzIxOCwyOCBAQCB2b2lkIE1vY2tTb3VyY2VCdWZmZXJQcml2
YXRlOjpzZXRBY3RpdmUoYm9vbCBpc0FjdGl2ZSkKICAgICAgICAgbV9tZWRpYVNvdXJjZS0+c291
cmNlQnVmZmVyUHJpdmF0ZURpZENoYW5nZUFjdGl2ZVN0YXRlKHRoaXMsIGlzQWN0aXZlKTsKIH0K
IAordm9pZCBNb2NrU291cmNlQnVmZmVyUHJpdmF0ZTo6ZW5xdWV1ZVNhbXBsZShQYXNzUmVmUHRy
PE1lZGlhU2FtcGxlPiBzYW1wbGUsIEF0b21pY1N0cmluZykKK3sKKyAgICBpZiAoIW1fbWVkaWFT
b3VyY2UgfHwgIXNhbXBsZSkKKyAgICAgICAgcmV0dXJuOworCisgICAgUGxhdGZvcm1TYW1wbGUg
cGxhdGZvcm1TYW1wbGUgPSBzYW1wbGUtPnBsYXRmb3JtU2FtcGxlKCk7CisgICAgaWYgKHBsYXRm
b3JtU2FtcGxlLnR5cGUgIT0gUGxhdGZvcm1TYW1wbGU6Ok1vY2tTYW1wbGVCb3hUeXBlKQorICAg
ICAgICByZXR1cm47CisKKyAgICBNb2NrU2FtcGxlQm94KiBib3ggPSBwbGF0Zm9ybVNhbXBsZS5z
YW1wbGUubW9ja1NhbXBsZUJveDsKKyAgICBpZiAoIWJveCkKKyAgICAgICAgcmV0dXJuOworCisg
ICAgbV9tZWRpYVNvdXJjZS0+aW5jcmVtZW50VG90YWxWaWRlb0ZyYW1lcygpOworICAgIGlmIChi
b3gtPmlzQ29ycnVwdGVkKCkpCisgICAgICAgIG1fbWVkaWFTb3VyY2UtPmluY3JlbWVudENvcnJ1
cHRlZEZyYW1lcygpOworICAgIGlmIChib3gtPmlzRHJvcHBlZCgpKQorICAgICAgICBtX21lZGlh
U291cmNlLT5pbmNyZW1lbnREcm9wcGVkRnJhbWVzKCk7CisgICAgaWYgKGJveC0+aXNEZWxheWVk
KCkpCisgICAgICAgIG1fbWVkaWFTb3VyY2UtPmluY3JlbWVudFRvdGFsRnJhbWVEZWxheUJ5KDEp
OworfQorCiBib29sIE1vY2tTb3VyY2VCdWZmZXJQcml2YXRlOjpoYXNWaWRlbygpIGNvbnN0CiB7
CiAgICAgaWYgKCFtX2NsaWVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21vY2svbWVkaWFzb3VyY2UvTW9ja1NvdXJjZUJ1ZmZlclByaXZhdGUuaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja1NvdXJjZUJ1ZmZlclByaXZhdGUuaApp
bmRleCBjNTQwOTcyYzY3ZGQ0NTM2NzY1ZTE5ZGEzOWYxMDVjNDdhNGRiMDViLi4wNmQyZjQ0NTBl
MWI2MTY3NzY3MDVjNWQ2YjI2MjVjNGJiNDViMDQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tTb3VyY2VCdWZmZXJQcml2YXRlLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrU291cmNlQnVm
ZmVyUHJpdmF0ZS5oCkBAIC03Miw3ICs3Miw3IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCBib29s
IGlzRnVsbCgpIE9WRVJSSURFOwogCiAgICAgdmlydHVhbCB2b2lkIGZsdXNoQW5kRW5xdWV1ZU5v
bkRpc3BsYXlpbmdTYW1wbGVzKFZlY3RvcjxSZWZQdHI8TWVkaWFTYW1wbGU+PiwgQXRvbWljU3Ry
aW5nKSBPVkVSUklERSB7IH0KLSAgICB2aXJ0dWFsIHZvaWQgZW5xdWV1ZVNhbXBsZShQYXNzUmVm
UHRyPE1lZGlhU2FtcGxlPiwgQXRvbWljU3RyaW5nKSBPVkVSUklERSB7IH0KKyAgICB2aXJ0dWFs
IHZvaWQgZW5xdWV1ZVNhbXBsZShQYXNzUmVmUHRyPE1lZGlhU2FtcGxlPiwgQXRvbWljU3RyaW5n
KSBPVkVSUklERTsKICAgICB2aXJ0dWFsIGJvb2wgaXNSZWFkeUZvck1vcmVTYW1wbGVzKCkgT1ZF
UlJJREUgeyByZXR1cm4gdHJ1ZTsgfQogICAgIHZpcnR1YWwgdm9pZCBzZXRBY3RpdmUoYm9vbCkg
T1ZFUlJJREU7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwppbmRleCAzZjA3YjllMzlkMWM2ZDg1YTFkMzQxNDdiNzQ0MjE1NzkyYmRi
NTdhLi40ZjVlZDZlNjA4NTRmMDkyMDU0NzFkNmFkYjFmOTdmMjIyMzI0NTdlIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTUgQEAKKzIwMTMtMTItMDYgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+
CisKKyAgICAgICAgW01TRV0gQWRkIHN1cHBvcnQgZm9yIFZpZGVvUGxheWJhY2tNZXRyaWNzLgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI1MzgwCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBtZWRpYS9t
ZWRpYS1zb3VyY2UvbWVkaWEtc291cmNlLXZpZGVvLXBsYXliYWNrLXF1YWxpdHktZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBtZWRpYS9tZWRpYS1zb3VyY2UvbWVkaWEtc291cmNlLXZp
ZGVvLXBsYXliYWNrLXF1YWxpdHkuaHRtbDogQWRkZWQuCisgICAgICAgICogbWVkaWEvbWVkaWEt
c291cmNlL21vY2stbWVkaWEtc291cmNlLmpzOgorICAgICAgICAodmFyKToKKwogMjAxMy0xMi0w
NSAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KIAogICAgICAgICBbTVNFXSBCcmlu
ZyBlbmQtb2Ytc3RyZWFtIGFsZ29yaXRobSBzZWN0aW9uIHVwIHRvIGN1cnJlbnQgc3BlYy4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL21lZGlhL21lZGlhLXNvdXJjZS9tZWRpYS1zb3VyY2UtY2Fu
cGxheXRocm91Z2guaHRtbCBiL0xheW91dFRlc3RzL21lZGlhL21lZGlhLXNvdXJjZS9tZWRpYS1z
b3VyY2UtY2FucGxheXRocm91Z2guaHRtbAppbmRleCA2ZTkxZjc2ZWRiZTFlMTQxZGUwYWM5N2I2
ZTVlMjAxNTA1OWRkNjIyLi43OTc4YzIyZDQzZDY0MDhjNDk4M2RjNjM4M2E3YWM1MjM5MGIzZjk1
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvbWVkaWEtc291cmNl
LWNhbnBsYXl0aHJvdWdoLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEtc291cmNl
L21lZGlhLXNvdXJjZS1jYW5wbGF5dGhyb3VnaC5odG1sCkBAIC0zOSw3ICszOSw3IEBACiAgICAg
ZnVuY3Rpb24gc291cmNlVXBkYXRlZCgpIHsKICAgICAgICAgc291cmNlLmFjdGl2ZVNvdXJjZUJ1
ZmZlcnMubGVuZ3RoOwogICAgICAgICBpZiAobmV4dFJlcXVlc3QgPCB0b3RhbExlbmd0aCkgewot
ICAgICAgICAgICAgc291cmNlQnVmZmVyLmFwcGVuZEJ1ZmZlcihtYWtlQVNhbXBsZShuZXh0UmVx
dWVzdCwgbmV4dFJlcXVlc3QsIDEsIDEsIDApKTsKKyAgICAgICAgICAgIHNvdXJjZUJ1ZmZlci5h
cHBlbmRCdWZmZXIobWFrZUFTYW1wbGUobmV4dFJlcXVlc3QsIG5leHRSZXF1ZXN0LCAxLCAxLCBT
QU1QTEVfRkxBRy5TWU5DKSk7CiAgICAgICAgICAgICArK25leHRSZXF1ZXN0OwogICAgICAgICB9
CiAgICAgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL21lZGlh
LXNvdXJjZS1wbGF5Lmh0bWwgYi9MYXlvdXRUZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvbWVkaWEt
c291cmNlLXBsYXkuaHRtbAppbmRleCA5NjU3YWU0ZjgwZjdmZTI3YTI1NDA5N2U5ZTJhMDIxZjdh
NTYwZWQyLi5jYTI0NjRjYmI1MGI0ZjE3YzQ0MDMwOWZiOGQ3YzM4ZDRmMjk3YTMyIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvbWVkaWEtc291cmNlLXBsYXkuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvbWVkaWEtc291cmNlLXBsYXku
aHRtbApAQCAtMzEsNyArMzEsNyBAQAogICAgIH0KIAogICAgIGZ1bmN0aW9uIGxvYWRTYW1wbGVz
KCkgewotICAgICAgICBzYW1wbGUgPSBtYWtlQVNhbXBsZSgwLCAwLCAxMCwgMSwgMCk7CisgICAg
ICAgIHNhbXBsZSA9IG1ha2VBU2FtcGxlKDAsIDAsIDEwLCAxLCBTQU1QTEVfRkxBRy5TWU5DKTsK
ICAgICAgICAgd2FpdEZvckV2ZW50T24oc291cmNlQnVmZmVyLCAndXBkYXRlZW5kJywgcGxheSwg
ZmFsc2UsIHRydWUpOwogICAgICAgICBydW4oJ3NvdXJjZUJ1ZmZlci5hcHBlbmRCdWZmZXIoc2Ft
cGxlKScpOwogICAgIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21lZGlhL21lZGlhLXNvdXJj
ZS9tZWRpYS1zb3VyY2UtdmlkZW8tcGxheWJhY2stcXVhbGl0eS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvbWVkaWEtc291cmNlLXZpZGVvLXBsYXliYWNrLXF1
YWxpdHktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmIzYTNlYWM0MDQ1ZmJhMjFhYWZhYTc3Njlh
OGU0YjU4YzIwZmI4M2YKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9tZWRpYS9tZWRp
YS1zb3VyY2UvbWVkaWEtc291cmNlLXZpZGVvLXBsYXliYWNrLXF1YWxpdHktZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMjMgQEAKKworUlVOKHZpZGVvLnNyYyA9IFVSTC5jcmVhdGVPYmplY3RVUkwo
c291cmNlKSkKK0VWRU5UKHNvdXJjZW9wZW4pCitSVU4oc291cmNlQnVmZmVyID0gc291cmNlLmFk
ZFNvdXJjZUJ1ZmZlcigidmlkZW8vbW9jazsgY29kZWNzPW1vY2siKSkKK1JVTihzb3VyY2VCdWZm
ZXIuYXBwZW5kQnVmZmVyKGluaXRTZWdtZW50KSkKK0VWRU5UKHVwZGF0ZWVuZCkKK1Rlc3QgdGhh
dCBiZWdpbm5pbmcgYSBidWZmZXIgd2l0aCBhIG5vbi1zeW5jIHNhbXBsZSByZXN1bHRzIGluIHRo
YXQgc2FtcGxlIGJlaW5nIGRyb3BwZWQuCitSVU4oc291cmNlQnVmZmVyLmFwcGVuZEJ1ZmZlcihz
YW1wbGVzKSkKK0VWRU5UKHVwZGF0ZWVuZCkKK1JVTihxdWFsaXR5ID0gdmlkZW8uZ2V0VmlkZW9Q
bGF5YmFja1F1YWxpdHkoKSkKK0VYUEVDVEVEIChxdWFsaXR5LnRvdGFsVmlkZW9GcmFtZXMgPT0g
JzEnKSBPSworRVhQRUNURUQgKHF1YWxpdHkuY29ycnVwdGVkVmlkZW9GcmFtZXMgPT0gJzAnKSBP
SworRVhQRUNURUQgKHF1YWxpdHkuZHJvcHBlZFZpZGVvRnJhbWVzID09ICcxJykgT0sKK0VYUEVD
VEVEIChxdWFsaXR5LnRvdGFsRnJhbWVEZWxheSA9PSAnMCcpIE9LCitSVU4oc291cmNlQnVmZmVy
LmFwcGVuZEJ1ZmZlcihzYW1wbGVzKSkKK0VWRU5UKHVwZGF0ZWVuZCkKK1JVTihxdWFsaXR5ID0g
dmlkZW8uZ2V0VmlkZW9QbGF5YmFja1F1YWxpdHkoKSkKK0VYUEVDVEVEIChxdWFsaXR5LnRvdGFs
VmlkZW9GcmFtZXMgPT0gJzgnKSBPSworRVhQRUNURUQgKHF1YWxpdHkuY29ycnVwdGVkVmlkZW9G
cmFtZXMgPT0gJzEnKSBPSworRVhQRUNURUQgKHF1YWxpdHkuZHJvcHBlZFZpZGVvRnJhbWVzID09
ICcyJykgT0sKK0VYUEVDVEVEIChxdWFsaXR5LnRvdGFsRnJhbWVEZWxheSA9PSAnMycpIE9LCitF
TkQgT0YgVEVTVAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2Uv
bWVkaWEtc291cmNlLXZpZGVvLXBsYXliYWNrLXF1YWxpdHkuaHRtbCBiL0xheW91dFRlc3RzL21l
ZGlhL21lZGlhLXNvdXJjZS9tZWRpYS1zb3VyY2UtdmlkZW8tcGxheWJhY2stcXVhbGl0eS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjZmNDY4MTU2ZjQzMTc4ZTczYWEwNjFjMDFmMzZlYjE4ZWFlOTNkZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvbWVkaWEtc291
cmNlLXZpZGVvLXBsYXliYWNrLXF1YWxpdHkuaHRtbApAQCAtMCwwICsxLDcxIEBACis8IURPQ1RZ
UEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisgICAgPHRpdGxlPm1vY2stbWVkaWEtc291cmNlPC90
aXRsZT4KKyAgICA8c2NyaXB0IHNyYz0ibW9jay1tZWRpYS1zb3VyY2UuanMiPjwvc2NyaXB0Pgor
ICAgIDxzY3JpcHQgc3JjPSIuLi92aWRlby10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0
PgorICAgIHZhciBzb3VyY2U7CisgICAgdmFyIHNvdXJjZUJ1ZmZlcjsKKyAgICB2YXIgaW5pdFNl
Z21lbnQ7CisgICAgdmFyIHNhbXBsZXM7CisgICAgdmFyIHF1YWxpdHk7CisKKyAgICBpZiAod2lu
ZG93LmludGVybmFscykKKyAgICAgICAgaW50ZXJuYWxzLmluaXRpYWxpemVNb2NrTWVkaWFTb3Vy
Y2UoKTsKKworICAgIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgIGZpbmRNZWRpYUVsZW1l
bnQoKTsKKworICAgICAgICBzb3VyY2UgPSBuZXcgTWVkaWFTb3VyY2UoKTsKKyAgICAgICAgd2Fp
dEZvckV2ZW50T24oc291cmNlLCAnc291cmNlb3BlbicsIHNvdXJjZU9wZW4pOworICAgICAgICBy
dW4oJ3ZpZGVvLnNyYyA9IFVSTC5jcmVhdGVPYmplY3RVUkwoc291cmNlKScpOworICAgIH0KKwor
ICAgIGZ1bmN0aW9uIHNvdXJjZU9wZW4oKSB7CisgICAgICAgIHJ1bignc291cmNlQnVmZmVyID0g
c291cmNlLmFkZFNvdXJjZUJ1ZmZlcigidmlkZW8vbW9jazsgY29kZWNzPW1vY2siKScpOworICAg
ICAgICB3YWl0Rm9yRXZlbnRPbihzb3VyY2VCdWZmZXIsICd1cGRhdGVlbmQnLCBsb2FkU2FtcGxl
LCBmYWxzZSwgdHJ1ZSk7CisgICAgICAgIGluaXRTZWdtZW50ID0gbWFrZUFJbml0KDgsIFttYWtl
QVRyYWNrKDEsICdtb2NrJywgVFJBQ0tfS0lORC5WSURFTyldKTsKKyAgICAgICAgcnVuKCdzb3Vy
Y2VCdWZmZXIuYXBwZW5kQnVmZmVyKGluaXRTZWdtZW50KScpOworICAgIH0KKworICAgIGZ1bmN0
aW9uIGxvYWRTYW1wbGUoKSB7CisgICAgICAgIHNhbXBsZXMgPSBjb25jYXRlbmF0ZVNhbXBsZXMo
W21ha2VBU2FtcGxlKDAsIDAsIDEsIDEsIFNBTVBMRV9GTEFHLk5PTkUpXSk7CisgICAgICAgIHdh
aXRGb3JFdmVudE9uKHNvdXJjZUJ1ZmZlciwgJ3VwZGF0ZWVuZCcsIGxvYWRNb3JlU2FtcGxlcywg
ZmFsc2UsIHRydWUpOworICAgICAgICBjb25zb2xlV3JpdGUoJ1Rlc3QgdGhhdCBiZWdpbm5pbmcg
YSBidWZmZXIgd2l0aCBhIG5vbi1zeW5jIHNhbXBsZSByZXN1bHRzIGluIHRoYXQgc2FtcGxlIGJl
aW5nIGRyb3BwZWQuJykKKyAgICAgICAgcnVuKCdzb3VyY2VCdWZmZXIuYXBwZW5kQnVmZmVyKHNh
bXBsZXMpJyk7CisgICAgfQorCisgICAgZnVuY3Rpb24gbG9hZE1vcmVTYW1wbGVzKCkgeworICAg
ICAgICBydW4oJ3F1YWxpdHkgPSB2aWRlby5nZXRWaWRlb1BsYXliYWNrUXVhbGl0eSgpJyk7Cisg
ICAgICAgIHRlc3RFeHBlY3RlZCgncXVhbGl0eS50b3RhbFZpZGVvRnJhbWVzJywgMSk7CisgICAg
ICAgIHRlc3RFeHBlY3RlZCgncXVhbGl0eS5jb3JydXB0ZWRWaWRlb0ZyYW1lcycsIDApOworICAg
ICAgICB0ZXN0RXhwZWN0ZWQoJ3F1YWxpdHkuZHJvcHBlZFZpZGVvRnJhbWVzJywgMSk7CisgICAg
ICAgIHRlc3RFeHBlY3RlZCgncXVhbGl0eS50b3RhbEZyYW1lRGVsYXknLCAwKTsKKworICAgICAg
ICBzYW1wbGVzID0gY29uY2F0ZW5hdGVTYW1wbGVzKFsKKyAgICAgICAgICAgIG1ha2VBU2FtcGxl
KDAsIDAsIDEsIDEsIFNBTVBMRV9GTEFHLlNZTkMpLAorICAgICAgICAgICAgbWFrZUFTYW1wbGUo
MSwgMSwgMSwgMSwgU0FNUExFX0ZMQUcuQ09SUlVQVEVEKSwKKyAgICAgICAgICAgIG1ha2VBU2Ft
cGxlKDIsIDIsIDEsIDEsIFNBTVBMRV9GTEFHLkRST1BQRUQpLAorICAgICAgICAgICAgbWFrZUFT
YW1wbGUoNCwgNCwgMSwgMSwgU0FNUExFX0ZMQUcuREVMQVlFRCksCisgICAgICAgICAgICBtYWtl
QVNhbXBsZSg1LCA1LCAxLCAxLCBTQU1QTEVfRkxBRy5ERUxBWUVEKSwKKyAgICAgICAgICAgIG1h
a2VBU2FtcGxlKDYsIDYsIDEsIDEsIFNBTVBMRV9GTEFHLkRFTEFZRUQpLAorICAgICAgICAgICAg
bWFrZUFTYW1wbGUoNywgNywgMSwgMSwgU0FNUExFX0ZMQUcuTk9ORSksCisgICAgICAgIF0pOwor
ICAgICAgICB3YWl0Rm9yRXZlbnRPbihzb3VyY2VCdWZmZXIsICd1cGRhdGVlbmQnLCBzYW1wbGVz
QWRkZWQsIGZhbHNlLCB0cnVlKTsKKyAgICAgICAgcnVuKCdzb3VyY2VCdWZmZXIuYXBwZW5kQnVm
ZmVyKHNhbXBsZXMpJyk7CisgICAgfQorCisgICAgZnVuY3Rpb24gc2FtcGxlc0FkZGVkKCkgewor
ICAgICAgICBydW4oJ3F1YWxpdHkgPSB2aWRlby5nZXRWaWRlb1BsYXliYWNrUXVhbGl0eSgpJyk7
CisgICAgICAgIHRlc3RFeHBlY3RlZCgncXVhbGl0eS50b3RhbFZpZGVvRnJhbWVzJywgOCk7Cisg
ICAgICAgIHRlc3RFeHBlY3RlZCgncXVhbGl0eS5jb3JydXB0ZWRWaWRlb0ZyYW1lcycsIDEpOwor
ICAgICAgICB0ZXN0RXhwZWN0ZWQoJ3F1YWxpdHkuZHJvcHBlZFZpZGVvRnJhbWVzJywgMik7Cisg
ICAgICAgIHRlc3RFeHBlY3RlZCgncXVhbGl0eS50b3RhbEZyYW1lRGVsYXknLCAzKTsKKyAgICAg
ICAgZW5kVGVzdCgpOworICAgIH0KKyAgICA8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9h
ZD0icnVuVGVzdCgpIj4KKyAgICA8dmlkZW8+PC92aWRlbz4KKzwvYm9keT4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tZWRpYS9tZWRpYS1zb3Vy
Y2UvbW9jay1tZWRpYS1zb3VyY2UuanMgYi9MYXlvdXRUZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2Uv
bW9jay1tZWRpYS1zb3VyY2UuanMKaW5kZXggMzg2ZTdjYjMxZDYxZWExNmY0ZDQ2ZTA2ZmEwNWJm
ZTY2MjVhNzVjMC4uN2U0ZDc5NDJjMzY0Y2IxYmMyZDRkYzg2ZTZlOGJkOWJjM2Y4ZDM2NCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL21vY2stbWVkaWEtc291cmNl
LmpzCisrKyBiL0xheW91dFRlc3RzL21lZGlhL21lZGlhLXNvdXJjZS9tb2NrLW1lZGlhLXNvdXJj
ZS5qcwpAQCAtMTEsNiArMTEsOSBAQCBmdW5jdGlvbiBzdHJpbmdUb0FycmF5KHN0cmluZykgewog
dmFyIFNBTVBMRV9GTEFHID0gewogICAgIE5PTkU6IDAsCiAgICAgU1lOQzogMSA8PCAwLAorICAg
IENPUlJVUFRFRDogMSA8PCAxLAorICAgIERST1BQRUQ6IDEgPDwgMiwKKyAgICBERUxBWUVEOiAx
IDw8IDMsCiB9OwogCiBmdW5jdGlvbiBtYWtlQVNhbXBsZShwcmVzZW50YXRpb25UaW1lLCBkZWNv
ZGVUaW1lLCBkdXJhdGlvbiwgdHJhY2tJRCwgZmxhZ3MpIHsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>218768</attachid>
            <date>2013-12-09 08:57:53 -0800</date>
            <delta_ts>2013-12-09 13:54:56 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-125380-20131209085752.patch</filename>
            <type>text/plain</type>
            <size>50464</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYwMjgyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTBiM2Y2MDI1MGUxNzU5
ZjExNmNkODQ3NmQ0MjhkNWIzY2I3YzlkNi4uMTBjMGVjNGIxMTJiMTc1ZjkzNzI0YTlkYmUxMGQy
YjE3ZjdjMGM2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDk3IEBACisyMDEzLTEyLTA2ICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFtNU0VdIEFkZCBzdXBwb3J0
IGZvciBWaWRlb1BsYXliYWNrTWV0cmljcy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTEyNTM4MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFRlc3Q6IG1lZGlhL21lZGlhLXNvdXJjZS9tZWRpYS1zb3VyY2Ut
dmlkZW8tcGxheWJhY2stcXVhbGl0eS5odG1sCisKKyAgICAgICAgQWRkIGEgbmV3IG9iamVjdCB0
eXBlIFZpZGVvUGxheWJhY2tRdWFsaXR5IHRvIGJlIHJldHVybmVkIGJ5CisgICAgICAgIEhUTUxN
ZWRpYUVsZW1lbnQuZ2V0VmlkZW9QbGF5YmFja1F1YWxpdHkoKS4KKworICAgICAgICBIVE1MTWVk
aWFFbGVtZW50cyBtdXN0IHNlcGFyYXRlbHkgdHJhY2sgYSBkcm9wcGVkVmlkZW9GcmFtZSBjb3Vu
dCwgYXMKKyAgICAgICAgY2VydGFpbiBvcGVyYXRpb25zIG9uIFNvdXJjZUJ1ZmZlciB3aWxsIGRy
b3AgaW5jb21pbmcgZnJhbWVzLCB3aGljaCBtdXN0CisgICAgICAgIGJlIGFjY291bnRlZCBmb3Iu
IFJlc2V0IHRoaXMgY291bnQgd2hlbiB0aGUgbWVkaWEgZW5naW5lIGNoYW5nZXMsIHdoaWNoIGlz
CisgICAgICAgIGluZGljaXRpdmUgb2YgYSBuZXcgbWVkaWEgbG9hZCByZXF1c2V0IHN0YXJ0aW5n
LgorCisgICAgICAgIEFkZCB0aGUgbmV3IFZpZGVvUGxheWJhY2tRdWFsaXR5IGNsYXNzOgorICAg
ICAgICAqIE1vZHVsZXMvbWVkaWFzb3VyY2UvVmlkZW9QbGF5YmFja1F1YWxpdHkuY3BwOiBBZGRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6OlZpZGVvUGxheWJhY2tRdWFsaXR5OjpjcmVhdGUpOgorICAg
ICAgICAoV2ViQ29yZTo6VmlkZW9QbGF5YmFja1F1YWxpdHk6OlZpZGVvUGxheWJhY2tRdWFsaXR5
KToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc291cmNlL1ZpZGVvUGxheWJhY2tRdWFsaXR5Lmg6
IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6VmlkZW9QbGF5YmFja1F1YWxpdHk6OmNyZWF0aW9u
VGltZSk6CisgICAgICAgIChXZWJDb3JlOjpWaWRlb1BsYXliYWNrUXVhbGl0eTo6dG90YWxWaWRl
b0ZyYW1lcyk6CisgICAgICAgIChXZWJDb3JlOjpWaWRlb1BsYXliYWNrUXVhbGl0eTo6ZHJvcHBl
ZFZpZGVvRnJhbWVzKToKKyAgICAgICAgKFdlYkNvcmU6OlZpZGVvUGxheWJhY2tRdWFsaXR5Ojpj
b3JydXB0ZWRWaWRlb0ZyYW1lcyk6CisgICAgICAgIChXZWJDb3JlOjpWaWRlb1BsYXliYWNrUXVh
bGl0eTo6dG90YWxGcmFtZURlbGF5KToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc291cmNlL1Zp
ZGVvUGxheWJhY2tRdWFsaXR5LmlkbDogQWRkZWQuCisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9y
IHRoZSBuZXcgY2xhc3MgdG8gSFRNTE1lZGlhRWxlbWVudDoKKyAgICAgICAgKiBodG1sL0hUTUxN
ZWRpYUVsZW1lbnQuY3BwOgorICAgICAgICAoSFRNTE1lZGlhRWxlbWVudDo6c2hvdWxkVXNlVmlk
ZW9QbHVnaW5Qcm94eSk6CisgICAgICAgIChIVE1MTWVkaWFFbGVtZW50OjpnZXRWaWRlb1BsYXli
YWNrUXVhbGl0eSk6CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50Lmg6CisgICAgICAg
ICogaHRtbC9IVE1MTWVkaWFFbGVtZW50LmlkbDoKKworICAgICAgICBSZXBvcnQgdGhlIHZpZGVv
IHF1YWxpdHkgbWV0cmljcyBmcm9tIHRoZSBNZWRpYVBsYXllcjoKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXll
cjo6dG90YWxWaWRlb0ZyYW1lcyk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllcjo6ZHJv
cHBlZFZpZGVvRnJhbWVzKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyOjpjb3JydXB0
ZWRWaWRlb0ZyYW1lcyk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllcjo6dG90YWxGcmFt
ZURlbGF5KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNlOjp0b3RhbFZpZGVvRnJhbWVzKToK
KyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZTo6ZHJvcHBlZFZp
ZGVvRnJhbWVzKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFj
ZTo6Y29ycnVwdGVkVmlkZW9GcmFtZXMpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQ
cml2YXRlSW50ZXJmYWNlOjp0b3RhbEZyYW1lRGVsYXkpOgorCisgICAgICAgIENvcnJlY3RseSBy
ZXBvcnQgdGhlIGRyb3BwZWQgZnJhbWUgY291bnQ6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXNv
dXJjZS9Tb3VyY2VCdWZmZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U291cmNlQnVmZmVyOjpU
cmFja0J1ZmZlcjo6VHJhY2tCdWZmZXIpOiBuZWVkc1JhbmRvbUFjY2Vzc0ZsYWcgZGVmYXVsc3Qg
dG8gdHJ1ZS4KKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlcjo6c291cmNlQnVmZmVyUHJp
dmF0ZURpZFJlY2VpdmVTYW1wbGUpOiBDaGVjayB0aGUgc3luYyBzdGF0dXMgb2YgdGhlIGluY29t
aW5nIHNhbXBsZS4KKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlcjo6ZGlkRHJvcFNhbXBs
ZSk6IE5vdGlmeSB0aGUgbWVkaWEgZWxlbWVudCBvZiBhIGRyb3BwZWQgZnJhbWUuCisgICAgICAg
ICogTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuaDoKKyAgICAgICAgKiBodG1sL0hU
TUxNZWRpYUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6
SFRNTE1lZGlhRWxlbWVudCk6CisgICAgICAgIChIVE1MTWVkaWFFbGVtZW50OjptZWRpYVBsYXll
ckVuZ2luZVVwZGF0ZWQpOiBSZXNldCBtX2Ryb3BwZWRGcmFtZUNvdW50LgorICAgICAgICAoSFRN
TE1lZGlhRWxlbWVudDo6Z2V0VmlkZW9QbGF5YmFja1F1YWxpdHkpOiBSZXR1cm4gYSBuZXcgVmlk
ZW9QbGF5YmFja1F1YWxpdHkgb2JqZWN0LgorICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVu
dC5oOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6aW5jcmVtZW50RHJvcHBl
ZEZyYW1lQ291bnQpOiBTaW1wbGUgaW5jcmVtZW50ZXIuCisgICAgICAgICogcGxhdGZvcm0vTWVk
aWFTYW1wbGUuaDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU2FtcGxlOjppc1N5bmMpOiBDb252
ZW5pZW5jZSBmdW5jdGlvbi4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU2FtcGxlOjppc05vbkRp
c3BsYXlpbmcpOiBEaXR0by4KKworICAgICAgICBBZGQgc3VwcG9ydCBpbiB0aGUgQVZGb3VuZGF0
aW9uIE1lZGlhU291cmNlIEVuZ2luZToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZv
dW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMuaDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclBy
aXZhdGVNZWRpYVNvdXJjZUFWRk9iakMubW06CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXll
clByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OnRvdGFsVmlkZW9GcmFtZXMpOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpkcm9wcGVkVmlk
ZW9GcmFtZXMpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3Vy
Y2VBVkZPYmpDOjpjb3JydXB0ZWRWaWRlb0ZyYW1lcyk6CisgICAgICAgIChXZWJDb3JlOjpNZWRp
YVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OnRvdGFsRnJhbWVEZWxheSk6CisKKyAg
ICAgICAgQWRkIHN1cHBvcnQgaW4gdGhlIE1vY2sgTWVkaWFTb3VyY2UgRW5naW5lOgorICAgICAg
ICAqIHBsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja0JveC5oOgorICAgICAgICAqIHBsYXRm
b3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2UuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6TW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2U6OnRvdGFsVmlkZW9GcmFt
ZXMpOiBTaW1wbGUgYWNjZXNzb3IuCisgICAgICAgIChXZWJDb3JlOjpNb2NrTWVkaWFQbGF5ZXJN
ZWRpYVNvdXJjZTo6ZHJvcHBlZFZpZGVvRnJhbWVzKTogRGl0dG8uCisgICAgICAgIChXZWJDb3Jl
OjpNb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZTo6Y29ycnVwdGVkVmlkZW9GcmFtZXMpOiBEaXR0
by4KKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tNZWRpYVBsYXllck1lZGlhU291cmNlOjp0b3RhbEZy
YW1lRGVsYXkpOiBEaXR0by4KKyAgICAgICAgKiBwbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01v
Y2tNZWRpYVBsYXllck1lZGlhU291cmNlLmg6CisgICAgICAgICogcGxhdGZvcm0vbW9jay9tZWRp
YXNvdXJjZS9Nb2NrTWVkaWFTb3VyY2VQcml2YXRlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1v
Y2tNZWRpYVNvdXJjZVByaXZhdGU6Ok1vY2tNZWRpYVNvdXJjZVByaXZhdGUpOgorICAgICAgICAq
IHBsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja01lZGlhU291cmNlUHJpdmF0ZS5oOgorICAg
ICAgICAqIHBsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja1NvdXJjZUJ1ZmZlclByaXZhdGUu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6TW9ja1NvdXJjZUJ1ZmZlclByaXZhdGU6OmVucXVldWVT
YW1wbGUpOiBJbmNyZW1lbnQgdGhlIGZyYW1lIGNvdW50cyBiYXNlZCBvbgorICAgICAgICAgICAg
dGhlIGluY29taW5nIHNhbXBsZS4KKyAgICAgICAgKiBwbGF0Zm9ybS9tb2NrL21lZGlhc291cmNl
L01vY2tTb3VyY2VCdWZmZXJQcml2YXRlLmg6CisKKyAgICAgICAgQWRkIHRoZSBuZXcgZmlsZXMg
dG8gdGhlIHByb2plY3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAg
KiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogR05VTWFrZWZp
bGUubGlzdC5hbToKKwogMjAxMy0xMi0wNSAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNv
bT4KIAogICAgICAgICBbTVNFXSBCcmluZyBlbmQtb2Ytc3RyZWFtIGFsZ29yaXRobSBzZWN0aW9u
IHVwIHRvIGN1cnJlbnQgc3BlYy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlz
dHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggY2ZhMzQyZDA2Y2Q0
N2ZkMzY1YTE4MzQ2ODQ1NzhkYzhiN2E0OTlmOS4uY2E3YzQ4M2JjOTU5MTkwM2M1YTA0ZWExYzIx
M2I4YjdmMTgwNjAxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQK
KysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTE4NSw2ICsxODUsNyBAQCBz
ZXQoV2ViQ29yZV9JRExfRklMRVMKICAgICBNb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNl
LmlkbAogICAgIE1vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmlkbAogICAgIE1vZHVs
ZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyTGlzdC5pZGwKKyAgICBNb2R1bGVzL21lZGlhc291
cmNlL1ZpZGVvUGxheWJhY2tRdWFsaXR5LmlkbAogCiAgICAgTW9kdWxlcy9tZWRpYXN0cmVhbS9B
bGxBdWRpb0NhcGFiaWxpdGllcy5pZGwKICAgICBNb2R1bGVzL21lZGlhc3RyZWFtL0FsbFZpZGVv
Q2FwYWJpbGl0aWVzLmlkbApAQCAtODI5LDYgKzgzMCw3IEBAIHNldChXZWJDb3JlX1NPVVJDRVMK
ICAgICBNb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlUmVnaXN0cnkuY3BwCiAgICAgTW9k
dWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuY3BwCiAgICAgTW9kdWxlcy9tZWRpYXNvdXJj
ZS9Tb3VyY2VCdWZmZXJMaXN0LmNwcAorICAgIE1vZHVsZXMvbWVkaWFzb3VyY2UvVmlkZW9QbGF5
YmFja1F1YWxpdHkuY3BwCiAKICAgICBNb2R1bGVzL21lZGlhc3RyZWFtL0F1ZGlvU3RyZWFtVHJh
Y2suY3BwCiAgICAgTW9kdWxlcy9tZWRpYXN0cmVhbS9DYXBhYmlsaXR5UmFuZ2UuY3BwCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCA1MjVhZDkwZGUzN2E4YjMzMTIyNGE3NjgzYzVm
ZDMyZWE5OTZhNmRkLi40OWZjZTBmOTVlMDM4MDM0OTE5MWFkZDljMGRhNDY5ODkxM2Q0ZWM0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTEwMyw2ICsxMDMsNyBAQCBCSU5ESU5H
X0lETFMgPSBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZl
ckxpc3QuaWRsIFwKIAkkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFzb3VyY2UvVGV4dFRyYWNrTWVk
aWFTb3VyY2UuaWRsIFwKIAkkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFzb3VyY2UvVmlkZW9UcmFj
a01lZGlhU291cmNlLmlkbCBcCisJJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhc291cmNlL1ZpZGVv
UGxheWJhY2tRdWFsaXR5LmlkbCBcCiAJJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhc3RyZWFtL0Fs
bFZpZGVvQ2FwYWJpbGl0aWVzLmlkbCBcCiAJJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhc3RyZWFt
L0FsbEF1ZGlvQ2FwYWJpbGl0aWVzLmlkbCBcCiAJJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhc3Ry
ZWFtL0F1ZGlvU3RyZWFtVHJhY2suaWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dO
VW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmlu
ZGV4IDZiNDViOTM1NmYyZDlkZmQ5ZWRlZGY3ODhlN2IxMzI3ZjhjNWI5OGEuLmZiNjk1OWI4NmIx
MGViNjgyNzAzZGRlOWI5NDg1MDRjMzFiNmQwYzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlz
dC5hbQpAQCAtNzM1LDYgKzczNSw4IEBAIHdlYmNvcmVfYnVpbHRfc291cmNlcyArPSBcCiAJRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU1ZhbGlkaXR5U3RhdGUuaCBcCiAJRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU1ZvaWRDYWxsYmFjay5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNW
b2lkQ2FsbGJhY2suaCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1ZpZGVvUGxheWJhY2tR
dWFsaXR5LmggXAorCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNWaWRlb1BsYXliYWNrUXVhbGl0
eS5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNWaWRlb1N0cmVhbVRyYWNrLmggXAog
CURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNWaWRlb1N0cmVhbVRyYWNrLmNwcCBcCiAJRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU1ZpZGVvVHJhY2suY3BwIFwKQEAgLTEyMDIsNiArMTIwNCw3IEBA
IGRvbV9iaW5kaW5nX2lkbHMgKz0gXAogCSQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXNvdXJjZS9N
ZWRpYVNvdXJjZS5pZGwgXAogCSQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VC
dWZmZXIuaWRsIFwKIAkkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVy
TGlzdC5pZGwgXAorCSQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXNvdXJjZS9WaWRlb1BsYXliYWNr
UXVhbGl0eS5pZGwgXAogCSQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXN0cmVhbS9BbGxWaWRlb0Nh
cGFiaWxpdGllcy5pZGwgXAogCSQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXN0cmVhbS9BbGxBdWRp
b0NhcGFiaWxpdGllcy5pZGwgXAogCSQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXN0cmVhbS9BdWRp
b1N0cmVhbVRyYWNrLmlkbCBcCkBAIC0xODg0LDYgKzE4ODcsOCBAQCB3ZWJjb3JlX21vZHVsZXNf
c291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9ET01VUkxN
ZWRpYVNvdXJjZS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NhbXBs
ZU1hcC5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU2FtcGxlTWFw
LmggXAorCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvVmlkZW9QbGF5YmFja1F1
YWxpdHkuY3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1ZpZGVvUGxh
eWJhY2tRdWFsaXR5LmggXAogCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vQWxs
QXVkaW9DYXBhYmlsaXRpZXMuaCBcCiAJU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVh
bS9BbGxWaWRlb0NhcGFiaWxpdGllcy5oIFwKIAlTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c3RyZWFtL0F1ZGlvU3RyZWFtVHJhY2suY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmNwcAppbmRleCA4OTVhYWI0YzI4N2JlMjIy
ODJkZGZmZjYzZGI2OTYwMTljMWNlMDlmLi4zZWE3OGQ2ZDBiZTNjMDExNzQwOTIzNTkyODFlNTFl
Y2ZmYjBhOTFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNl
L1NvdXJjZUJ1ZmZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJj
ZS9Tb3VyY2VCdWZmZXIuY3BwCkBAIC02OSw3ICs2OSw3IEBAIHN0cnVjdCBTb3VyY2VCdWZmZXI6
OlRyYWNrQnVmZmVyIHsKICAgICAgICAgLCBsYXN0RnJhbWVEdXJhdGlvbihNZWRpYVRpbWU6Omlu
dmFsaWRUaW1lKCkpCiAgICAgICAgICwgaGlnaGVzdFByZXNlbnRhdGlvblRpbWVzdGFtcChNZWRp
YVRpbWU6OmludmFsaWRUaW1lKCkpCiAgICAgICAgICwgbGFzdEVucXVldWVkUHJlc2VudGF0aW9u
VGltZShNZWRpYVRpbWU6OmludmFsaWRUaW1lKCkpCi0gICAgICAgICwgbmVlZFJhbmRvbUFjY2Vz
c0ZsYWcoZmFsc2UpCisgICAgICAgICwgbmVlZFJhbmRvbUFjY2Vzc0ZsYWcodHJ1ZSkKICAgICAg
ICAgLCBlbmFibGVkKGZhbHNlKQogICAgIHsKICAgICB9CkBAIC04NjAsMTAgKzg2MCwxNyBAQCB2
b2lkIFNvdXJjZUJ1ZmZlcjo6c291cmNlQnVmZmVyUHJpdmF0ZURpZFJlY2VpdmVTYW1wbGUoU291
cmNlQnVmZmVyUHJpdmF0ZSosIFBhcwogICAgICAgICAvLyBGSVhNRTogaW1wbGVtZW50IGFwcGVu
ZCB3aW5kb3dzCiAKICAgICAgICAgLy8gMS4xMSBJZiB0aGUgbmVlZCByYW5kb20gYWNjZXNzIHBv
aW50IGZsYWcgb24gdHJhY2sgYnVmZmVyIGVxdWFscyB0cnVlLCB0aGVuIHJ1biB0aGUgZm9sbG93
aW5nIHN0ZXBzOgotICAgICAgICAvLyAxLjExLjEgSWYgdGhlIGNvZGVkIGZyYW1lIGlzIG5vdCBh
IHJhbmRvbSBhY2Nlc3MgcG9pbnQsIHRoZW4gZHJvcCB0aGUgY29kZWQgZnJhbWUgYW5kIGp1bXAK
LSAgICAgICAgLy8gdG8gdGhlIHRvcCBvZiB0aGUgbG9vcCB0byBzdGFydCBwcm9jZXNzaW5nIHRo
ZSBuZXh0IGNvZGVkIGZyYW1lLgotICAgICAgICAvLyAxLjExLjIgU2V0IHRoZSBuZWVkIHJhbmRv
bSBhY2Nlc3MgcG9pbnQgZmxhZyBvbiB0cmFjayBidWZmZXIgdG8gZmFsc2UuCi0gICAgICAgIC8v
IE5PVEU6IE1vY2tTYW1wbGVCb3hlcyBhcmUgbm90IGRlY29kYWJsZS4KKyAgICAgICAgaWYgKHRy
YWNrQnVmZmVyLm5lZWRSYW5kb21BY2Nlc3NGbGFnKSB7CisgICAgICAgICAgICAvLyAxLjExLjEg
SWYgdGhlIGNvZGVkIGZyYW1lIGlzIG5vdCBhIHJhbmRvbSBhY2Nlc3MgcG9pbnQsIHRoZW4gZHJv
cCB0aGUgY29kZWQgZnJhbWUgYW5kIGp1bXAKKyAgICAgICAgICAgIC8vIHRvIHRoZSB0b3Agb2Yg
dGhlIGxvb3AgdG8gc3RhcnQgcHJvY2Vzc2luZyB0aGUgbmV4dCBjb2RlZCBmcmFtZS4KKyAgICAg
ICAgICAgIGlmICghc2FtcGxlLT5pc1N5bmMoKSkgeworICAgICAgICAgICAgICAgIGRpZERyb3BT
YW1wbGUoKTsKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICB9CisKKyAgICAg
ICAgICAgIC8vIDEuMTEuMiBTZXQgdGhlIG5lZWQgcmFuZG9tIGFjY2VzcyBwb2ludCBmbGFnIG9u
IHRyYWNrIGJ1ZmZlciB0byBmYWxzZS4KKyAgICAgICAgICAgIHRyYWNrQnVmZmVyLm5lZWRSYW5k
b21BY2Nlc3NGbGFnID0gZmFsc2U7CisgICAgICAgIH0KIAogICAgICAgICAvLyAxLjEyIExldCBz
cGxpY2VkIGF1ZGlvIGZyYW1lIGJlIGFuIHVuc2V0IHZhcmlhYmxlIGZvciBob2xkaW5nIGF1ZGlv
IHNwbGljZSBpbmZvcm1hdGlvbgogICAgICAgICAvLyAxLjEzIExldCBzcGxpY2VkIHRpbWVkIHRl
eHQgZnJhbWUgYmUgYW4gdW5zZXQgdmFyaWFibGUgZm9yIGhvbGRpbmcgdGltZWQgdGV4dCBzcGxp
Y2UgaW5mb3JtYXRpb24KQEAgLTExNDYsNiArMTE1MywxMiBAQCB2b2lkIFNvdXJjZUJ1ZmZlcjo6
cHJvdmlkZU1lZGlhRGF0YSgpCiAgICAgTE9HKE1lZGlhLCAiU291cmNlQnVmZmVyOjpwcm92aWRl
TWVkaWFEYXRhKCVwKSAtIEVucXVldWVkICV1IHNhbXBsZXMiLCB0aGlzLCBlbnF1ZXVlZFNhbXBs
ZXMpOwogfQogCit2b2lkIFNvdXJjZUJ1ZmZlcjo6ZGlkRHJvcFNhbXBsZSgpCit7CisgICAgaWYg
KCFpc1JlbW92ZWQoKSkKKyAgICAgICAgbV9zb3VyY2UtPm1lZGlhRWxlbWVudCgpLT5pbmNyZW1l
bnREcm9wcGVkRnJhbWVDb3VudCgpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNl
bmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3Vy
Y2VCdWZmZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVm
ZmVyLmgKaW5kZXggNzU2M2EzNGYxNzUxMjUyMzJmMGJjN2FkMDEzZGNmNThkZTkwZDA2Mi4uZDIy
Y2RhMWFkZDIzNzkwZjkxMDM3MmM5NzViYzJlMGM3YzVjMTc4YiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5oCkBAIC0xNDEsNiArMTQx
LDcgQEAgcHJpdmF0ZToKICAgICBib29sIHZhbGlkYXRlSW5pdGlhbGl6YXRpb25TZWdtZW50KGNv
bnN0IEluaXRpYWxpemF0aW9uU2VnbWVudCYpOwogCiAgICAgdm9pZCBwcm92aWRlTWVkaWFEYXRh
KCk7CisgICAgdm9pZCBkaWREcm9wU2FtcGxlKCk7CiAKICAgICBSZWZQdHI8U291cmNlQnVmZmVy
UHJpdmF0ZT4gbV9wcml2YXRlOwogICAgIE1lZGlhU291cmNlKiBtX3NvdXJjZTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvVmlkZW9QbGF5YmFja1F1YWxp
dHkuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9WaWRlb1BsYXliYWNr
UXVhbGl0eS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjdhNWNmODNjZjIwZWM4NzlmYjg0ODk0NTkxOGJhYjY5
ZjRlNmZhYQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
b3VyY2UvVmlkZW9QbGF5YmFja1F1YWxpdHkuY3BwCkBAIC0wLDAgKzEsNDUgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgor
ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkK
KyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiVmlkZW9QbGF5YmFja1F1YWxpdHku
aCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitSZWZQdHI8VmlkZW9QbGF5YmFja1F1YWxpdHk+
IFZpZGVvUGxheWJhY2tRdWFsaXR5OjpjcmVhdGUoZG91YmxlIGNyZWF0aW9uVGltZSwgdW5zaWdu
ZWQgbG9uZyB0b3RhbFZpZGVvRnJhbWVzLCB1bnNpZ25lZCBsb25nIGRyb3BwZWRWaWRlb0ZyYW1l
cywgdW5zaWduZWQgbG9uZyBjb3JydXB0ZWRWaWRlb0ZyYW1lcywgZG91YmxlIHRvdGFsRnJhbWVE
ZWxheSkKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYobmV3IFZpZGVvUGxheWJhY2tRdWFsaXR5KGNy
ZWF0aW9uVGltZSwgdG90YWxWaWRlb0ZyYW1lcywgZHJvcHBlZFZpZGVvRnJhbWVzLCBjb3JydXB0
ZWRWaWRlb0ZyYW1lcywgdG90YWxGcmFtZURlbGF5KSk7Cit9CisKK1ZpZGVvUGxheWJhY2tRdWFs
aXR5OjpWaWRlb1BsYXliYWNrUXVhbGl0eShkb3VibGUgY3JlYXRpb25UaW1lLCB1bnNpZ25lZCBs
b25nIHRvdGFsVmlkZW9GcmFtZXMsIHVuc2lnbmVkIGxvbmcgZHJvcHBlZFZpZGVvRnJhbWVzLCB1
bnNpZ25lZCBsb25nIGNvcnJ1cHRlZFZpZGVvRnJhbWVzLCBkb3VibGUgdG90YWxGcmFtZURlbGF5
KQorICAgIDogbV9jcmVhdGlvblRpbWUoY3JlYXRpb25UaW1lKQorICAgICwgbV90b3RhbFZpZGVv
RnJhbWVzKHRvdGFsVmlkZW9GcmFtZXMpCisgICAgLCBtX2Ryb3BwZWRWaWRlb0ZyYW1lcyhkcm9w
cGVkVmlkZW9GcmFtZXMpCisgICAgLCBtX2NvcnJ1cHRlZFZpZGVvRnJhbWVzKGNvcnJ1cHRlZFZp
ZGVvRnJhbWVzKQorICAgICwgbV90b3RhbEZyYW1lRGVsYXkodG90YWxGcmFtZURlbGF5KQorewor
fQorCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1Zp
ZGVvUGxheWJhY2tRdWFsaXR5LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNl
L1ZpZGVvUGxheWJhY2tRdWFsaXR5LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWI4OTM3N2I3YzUwNjYzNTNjMjY3
YjljYWIyNjYwNGY0MGIwMjgwNwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzb3VyY2UvVmlkZW9QbGF5YmFja1F1YWxpdHkuaApAQCAtMCwwICsxLDU3IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI2lmbmRlZiBWaWRlb1BsYXliYWNrUXVhbGl0eV9oCisjZGVmaW5lIFZp
ZGVvUGxheWJhY2tRdWFsaXR5X2gKKworI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisjaW5j
bHVkZSA8d3RmL1JlZlB0ci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFZpZGVv
UGxheWJhY2tRdWFsaXR5IDogcHVibGljIFJlZkNvdW50ZWQ8VmlkZW9QbGF5YmFja1F1YWxpdHk+
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShWaWRlb1BsYXliYWNrUXVhbGl0eSkKK3B1Ymxp
YzoKKyAgICBzdGF0aWMgUmVmUHRyPFZpZGVvUGxheWJhY2tRdWFsaXR5PiBjcmVhdGUoZG91Ymxl
IGNyZWF0aW9uVGltZSwgdW5zaWduZWQgbG9uZyB0b3RhbFZpZGVvRnJhbWVzLCB1bnNpZ25lZCBs
b25nIGRyb3BwZWRWaWRlb0ZyYW1lcywgdW5zaWduZWQgbG9uZyBjb3JydXB0ZWRWaWRlb0ZyYW1l
cywgZG91YmxlIHRvdGFsRnJhbWVEZWxheSk7CisKKyAgICBkb3VibGUgY3JlYXRpb25UaW1lKCkg
Y29uc3QgeyByZXR1cm4gbV9jcmVhdGlvblRpbWU7IH0KKyAgICB1bnNpZ25lZCBsb25nIHRvdGFs
VmlkZW9GcmFtZXMoKSBjb25zdCB7IHJldHVybiBtX3RvdGFsVmlkZW9GcmFtZXM7IH0KKyAgICB1
bnNpZ25lZCBsb25nIGRyb3BwZWRWaWRlb0ZyYW1lcygpIGNvbnN0IHsgcmV0dXJuIG1fZHJvcHBl
ZFZpZGVvRnJhbWVzOyB9CisgICAgdW5zaWduZWQgbG9uZyBjb3JydXB0ZWRWaWRlb0ZyYW1lcygp
IGNvbnN0IHsgcmV0dXJuIG1fY29ycnVwdGVkVmlkZW9GcmFtZXM7IH0KKyAgICBkb3VibGUgdG90
YWxGcmFtZURlbGF5KCkgY29uc3QgeyByZXR1cm4gbV90b3RhbEZyYW1lRGVsYXk7IH0KKworcHJv
dGVjdGVkOgorICAgIFZpZGVvUGxheWJhY2tRdWFsaXR5KGRvdWJsZSBjcmVhdGlvblRpbWUsIHVu
c2lnbmVkIGxvbmcgdG90YWxWaWRlb0ZyYW1lcywgdW5zaWduZWQgbG9uZyBkcm9wcGVkVmlkZW9G
cmFtZXMsIHVuc2lnbmVkIGxvbmcgY29ycnVwdGVkVmlkZW9GcmFtZXMsIGRvdWJsZSB0b3RhbEZy
YW1lRGVsYXkpOworCisgICAgZG91YmxlIG1fY3JlYXRpb25UaW1lOworICAgIHVuc2lnbmVkIGxv
bmcgbV90b3RhbFZpZGVvRnJhbWVzOworICAgIHVuc2lnbmVkIGxvbmcgbV9kcm9wcGVkVmlkZW9G
cmFtZXM7CisgICAgdW5zaWduZWQgbG9uZyBtX2NvcnJ1cHRlZFZpZGVvRnJhbWVzOworICAgIGRv
dWJsZSBtX3RvdGFsRnJhbWVEZWxheTsKK307CisKK30KKworI2VuZGlmIC8vIFZpZGVvUGxheWJh
Y2tRdWFsaXR5X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3Vy
Y2UvVmlkZW9QbGF5YmFja1F1YWxpdHkuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXNvdXJjZS9WaWRlb1BsYXliYWNrUXVhbGl0eS5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjVjNjE5MzAxNzYw
YTM4MzFlNWVmYmFmNmM2ZmUwNTMyMzU3NWQwNgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvVmlkZW9QbGF5YmFja1F1YWxpdHkuaWRsCkBAIC0w
LDAgKzEsMzkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitbCisgICAgQ29uZGl0aW9uYWw9TUVESUFfU09VUkNF
LAorICAgIE5vSW50ZXJmYWNlT2JqZWN0LAorICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUs
CitdIGludGVyZmFjZSBWaWRlb1BsYXliYWNrUXVhbGl0eSB7CisgICAgcmVhZG9ubHkgYXR0cmli
dXRlIGRvdWJsZSBjcmVhdGlvblRpbWU7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVk
IGxvbmcgdG90YWxWaWRlb0ZyYW1lczsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQg
bG9uZyBkcm9wcGVkVmlkZW9GcmFtZXM7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVk
IGxvbmcgY29ycnVwdGVkVmlkZW9GcmFtZXM7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIGRvdWJs
ZSB0b3RhbEZyYW1lRGVsYXk7Cit9OworCisKKwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDI2OTE0ZDUxZTU1YzEzMjFmYzQ1NjU3
MzVkZTM0NTU2ZTVhNWVmNTIuLjVhMzhiZDg1MWM3NmRkMzQ5NzExZGQ5MGQ0NjQzNzUzMWRmMjYx
NzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKQEAgLTU0MTgsNiArNTQxOCw5IEBACiAJCUNERTNBODU4MTdGNjAyMDQwMEM1QkUyMCAv
KiBBdWRpb1RyYWNrUHJpdmF0ZUFWRk9iakMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IENERTNBODU2MTdGNjAyMDQwMEM1QkUyMCAvKiBBdWRpb1RyYWNr
UHJpdmF0ZUFWRk9iakMuaCAqLzsgfTsKIAkJQ0RFN0ZDNDQxODE5MDRCMTAwMkJCQjc3IC8qIE9y
ZGVySXRlcmF0b3IuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQ0RFN0ZDNDIxODE5MDRCMTAwMkJCQjc3IC8qIE9yZGVySXRlcmF0b3IuY3BwICovOyB9
OwogCQlDREU3RkM0NTE4MTkwNEIxMDAyQkJCNzcgLyogT3JkZXJJdGVyYXRvci5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RFN0ZDNDMxODE5MDRCMTAw
MkJCQjc3IC8qIE9yZGVySXRlcmF0b3IuaCAqLzsgfTsKKwkJQ0RFODNEQjExODNDNDQwNjAwMzFF
QUEzIC8qIFZpZGVvUGxheWJhY2tRdWFsaXR5LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENERTgzREFGMTgzQzQ0MDYwMDMxRUFBMyAvKiBWaWRlb1Bs
YXliYWNrUXVhbGl0eS5jcHAgKi87IH07CisJCUNERTgzREIyMTgzQzQ0MDYwMDMxRUFBMyAvKiBW
aWRlb1BsYXliYWNrUXVhbGl0eS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQ0RFODNEQjAxODNDNDQwNjAwMzFFQUEzIC8qIFZpZGVvUGxheWJhY2tRdWFs
aXR5LmggKi87IH07CisJCUNERTgzREI2MTgzRDM1MkEwMDMxRUFBMyAvKiBKU1ZpZGVvUGxheWJh
Y2tRdWFsaXR5LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IENERTgzREI0MTgzRDM1MkEwMDMxRUFBMyAvKiBKU1ZpZGVvUGxheWJhY2tRdWFsaXR5LmNw
cCAqLzsgfTsKIAkJQ0RFQTc2MzAxNDYwOEE1MzAwOEIzMUYxIC8qIFBsYXRmb3JtQ2xvY2tDQS5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDREVBNzYy
RTE0NjA4NERFMDA4QjMxRjEgLyogUGxhdGZvcm1DbG9ja0NBLmNwcCAqLzsgfTsKIAkJQ0RFQTc2
MzQxNDYwQjU2RjAwOEIzMUYxIC8qIENsb2NrR2VuZXJpYy5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDREVBNzYzMjE0NjBBRTI5MDA4QjMxRjEgLyog
Q2xvY2tHZW5lcmljLmNwcCAqLzsgfTsKIAkJQ0RFQTc2MzUxNDYwQjcxQTAwOEIzMUYxIC8qIENs
b2NrLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENE
RUE3NjMzMTQ2MEI0NjIwMDhCMzFGMSAvKiBDbG9jay5jcHAgKi87IH07CkBAIC0xMjU0Myw2ICsx
MjU0NiwxMSBAQAogCQlDREU2NTYwRTE3Q0E2RTc2MDA1MjZCQTcgLyogbWVkaWFDb250cm9sc0Fw
cGxlLmpzICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5qYXZhc2NyaXB0OyBwYXRoID0gbWVkaWFDb250cm9sc0FwcGxlLmpzOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDREU3RkM0MjE4MTkwNEIxMDAyQkJCNzcgLyogT3Jk
ZXJJdGVyYXRvci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBPcmRl
ckl0ZXJhdG9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0RFN0ZDNDMxODE5
MDRCMTAwMkJCQjc3IC8qIE9yZGVySXRlcmF0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gT3JkZXJJdGVyYXRvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlD
REU4M0RBRjE4M0M0NDA2MDAzMUVBQTMgLyogVmlkZW9QbGF5YmFja1F1YWxpdHkuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gVmlkZW9QbGF5YmFja1F1YWxpdHkuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDREU4M0RCMDE4M0M0NDA2MDAzMUVBQTMg
LyogVmlkZW9QbGF5YmFja1F1YWxpdHkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gVmlkZW9QbGF5YmFja1F1YWxpdHkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
Q0RFODNEQjMxODNDNDQxRTAwMzFFQUEzIC8qIFZpZGVvUGxheWJhY2tRdWFsaXR5LmlkbCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGgg
PSBWaWRlb1BsYXliYWNrUXVhbGl0eS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CUNERTgzREI0MTgzRDM1MkEwMDMxRUFBMyAvKiBKU1ZpZGVvUGxheWJhY2tRdWFsaXR5LmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTVmlkZW9QbGF5YmFja1F1YWxp
dHkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDREU4M0RCNTE4M0QzNTJBMDAz
MUVBQTMgLyogSlNWaWRlb1BsYXliYWNrUXVhbGl0eS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBKU1ZpZGVvUGxheWJhY2tRdWFsaXR5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUNERUE3NjJDMTQ2MDgyMjQwMDhCMzFGMSAvKiBDbG9jay5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBDbG9jay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlDREVBNzYyRTE0NjA4NERFMDA4QjMxRjEgLyogUGxhdGZvcm1DbG9ja0NBLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBsYXRmb3JtQ2xvY2tDQS5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNERUE3NjJGMTQ2MDg0RUUwMDhCMzFGMSAvKiBQ
bGF0Zm9ybUNsb2NrQ0EuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGxhdGZv
cm1DbG9ja0NBLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNzc2OSw2ICsxNzc3
Nyw4IEBACiAJCQkJQkU4RUYwNDgxNzFDOTAxNDAwOUI0OEMzIC8qIEpTVmlkZW9UcmFja0xpc3Qu
Y3BwICovLAogCQkJCUJFOEVGMDQ5MTcxQzkwMTQwMDlCNDhDMyAvKiBKU1ZpZGVvVHJhY2tMaXN0
LmggKi8sCiAJCQkJOTdFOUVDOEIxNURDNDkyRjAwNEYyRTcxIC8qIEpTVm9pZENhbGxiYWNrLmNw
cCAqLywKKwkJCQlDREU4M0RCNDE4M0QzNTJBMDAzMUVBQTMgLyogSlNWaWRlb1BsYXliYWNrUXVh
bGl0eS5jcHAgKi8sCisJCQkJQ0RFODNEQjUxODNEMzUyQTAwMzFFQUEzIC8qIEpTVmlkZW9QbGF5
YmFja1F1YWxpdHkuaCAqLywKIAkJCQk5N0U5RUM4QzE1REM0OTJGMDA0RjJFNzEgLyogSlNWb2lk
Q2FsbGJhY2suaCAqLywKIAkJCQlBN0QyMEY2MDEwN0Y0MDY5MDBBODAzOTIgLyogSlNXZWJHTEFj
dGl2ZUluZm8uY3BwICovLAogCQkJCUE3RDIwRjYxMTA3RjQwNjkwMEE4MDM5MiAvKiBKU1dlYkdM
QWN0aXZlSW5mby5oICovLApAQCAtMTg1NzQsNiArMTg1ODQsOSBAQAogCQkJCUNEM0E0OTVEMTdB
OUQwMUIwMDI3NEU0MiAvKiBTb3VyY2VCdWZmZXJMaXN0LmlkbCAqLywKIAkJCQlDRDhCNUE0ODE4
MEUxMzhCMDA4QjhFNjUgLyogVGV4dFRyYWNrTWVkaWFTb3VyY2UuaCAqLywKIAkJCQlDRDhCNUE0
NzE4MEUxMzYxMDA4QjhFNjUgLyogVGV4dFRyYWNrTWVkaWFTb3VyY2UuaWRsICovLAorCQkJCUNE
RTgzREFGMTgzQzQ0MDYwMDMxRUFBMyAvKiBWaWRlb1BsYXliYWNrUXVhbGl0eS5jcHAgKi8sCisJ
CQkJQ0RFODNEQjAxODNDNDQwNjAwMzFFQUEzIC8qIFZpZGVvUGxheWJhY2tRdWFsaXR5LmggKi8s
CisJCQkJQ0RFODNEQjMxODNDNDQxRTAwMzFFQUEzIC8qIFZpZGVvUGxheWJhY2tRdWFsaXR5Lmlk
bCAqLywKIAkJCQlDRDhCNUE0NTE4MERGRjRFMDA4QjhFNjUgLyogVmlkZW9UcmFja01lZGlhU291
cmNlLmggKi8sCiAJCQkJQ0Q4QjVBNDQxODBERDhENjAwOEI4RTY1IC8qIFZpZGVvVHJhY2tNZWRp
YVNvdXJjZS5pZGwgKi8sCiAJCQkJQ0RENzA4OTQxODM1OUY2RTAwMkIzREM2IC8qIFNhbXBsZU1h
cC5jcHAgKi8sCkBAIC0yMzkwNyw2ICsyMzkyMCw3IEBACiAJCQkJQjJGQTNERkQwQUI3NUE2RjAw
MEU1QUM0IC8qIEpTU1ZHU1ZHRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjJGQTNERkYw
QUI3NUE2RjAwMEU1QUM0IC8qIEpTU1ZHU3dpdGNoRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQjJGQTNFMDEwQUI3NUE2RjAwMEU1QUM0IC8qIEpTU1ZHU3ltYm9sRWxlbWVudC5oIGluIEhl
YWRlcnMgKi8sCisJCQkJQ0RFODNEQjIxODNDNDQwNjAwMzFFQUEzIC8qIFZpZGVvUGxheWJhY2tR
dWFsaXR5LmggaW4gSGVhZGVycyAqLywKIAkJCQlCMkZBM0UwMzBBQjc1QTZGMDAwRTVBQzQgLyog
SlNTVkdUZXh0Q29udGVudEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyRkEzRTA1MEFC
NzVBNkYwMDBFNUFDNCAvKiBKU1NWR1RleHRFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlC
MjIzNjIyOTBDM0FGMDRBMDAwOENBOUIgLyogSlNTVkdUZXh0UGF0aEVsZW1lbnQuaCBpbiBIZWFk
ZXJzICovLApAQCAtMjY0MzIsNiArMjY0NDYsNyBAQAogCQkJCTRGQjM5MEFEMTVFRjYxRjMwMDdB
RDUxRiAvKiBHZW5lcmF0ZWRJbWFnZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyRDQ4MUYwMzE0
NkI1QzY1MDBBQTc4MzQgLyogR3JhZGllbnRJbWFnZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkw
NzIwQjBBMDE0RDMzMjM1MDA2NDI5NTUgLyogR2VuZXJpY0V2ZW50UXVldWUuY3BwIGluIFNvdXJj
ZXMgKi8sCisJCQkJQ0RFODNEQjExODNDNDQwNjAwMzFFQUEzIC8qIFZpZGVvUGxheWJhY2tRdWFs
aXR5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTk3NDZBRjIzMTRGNERERTYwMDNFN0E3MCAvKiBH
ZW9sb2NhdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5NzQ2QUYyNjE0RjREREU2MDAzRTdB
NzAgLyogR2VvbG9jYXRpb25Db250cm9sbGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUIyQzNE
QTZEMEQwMDZDRDYwMEVGNkYyNiAvKiBHbHlwaFBhZ2VUcmVlTm9kZS5jcHAgaW4gU291cmNlcyAq
LywKQEAgLTI4MDI1LDYgKzI4MDQwLDcgQEAKIAkJCQlCMjIyNzlBNDBEMDBCRjIyMDA3MUI3ODIg
LyogU1ZHQ29tcG9uZW50VHJhbnNmZXJGdW5jdGlvbkVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJQjIyMjdCMDUwRDAwQkZGMTAwNzFCNzgyIC8qIFNWR0NTU0NvbXB1dGVkU3R5bGVEZWNs
YXJhdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwNzhFMDkwQzE3RDE0Q0VFMDA0MjBBQTEg
LyogUlRDU2Vzc2lvbkRlc2NyaXB0aW9uLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUNERTgzREI2
MTgzRDM1MkEwMDMxRUFBMyAvKiBKU1ZpZGVvUGxheWJhY2tRdWFsaXR5LmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCUIyMjI3QjA2MEQwMEJGRjEwMDcxQjc4MiAvKiBTVkdDU1NQYXJzZXIuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJQjIyMjdCMDgwRDAwQkZGMTAwNzFCNzgyIC8qIFNWR0NTU1N0eWxl
U2VsZWN0b3IuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQjIyMjc5QTcwRDAwQkYyMjAwNzFCNzgy
IC8qIFNWR0N1cnNvckVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MTWVkaWFFbGVtZW50LmNwcAppbmRleCA3NDQ4YmQ5OGVhMWY0YTVhZmZmMTQyNmM1NzYx
MzJmNzg5NDEzN2MwLi41YzA2Y2RiNzRiMGQ4YTA5NmU2NmMyZWEwNzkxNGUzZTc4YmNhN2U4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKQEAgLTEwOCw3ICsxMDgs
MTAgQEAKICNlbmRpZgogCiAjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKKyNpbmNsdWRlICJET01X
aW5kb3cuaCIKICNpbmNsdWRlICJIVE1MTWVkaWFTb3VyY2UuaCIKKyNpbmNsdWRlICJQZXJmb3Jt
YW5jZS5oIgorI2luY2x1ZGUgIlZpZGVvUGxheWJhY2tRdWFsaXR5LmgiCiAjZW5kaWYKIAogI2lm
IEVOQUJMRShNRURJQV9TVFJFQU0pCkBAIC0yNzEsNiArMjc0LDkgQEAgSFRNTE1lZGlhRWxlbWVu
dDo6SFRNTE1lZGlhRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVu
dCYgZG9jdW0KICAgICAsIG1fcHJlbG9hZChNZWRpYVBsYXllcjo6QXV0bykKICAgICAsIG1fZGlz
cGxheU1vZGUoVW5rbm93bikKICAgICAsIG1fcHJvY2Vzc2luZ01lZGlhUGxheWVyQ2FsbGJhY2so
MCkKKyNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQorICAgICwgbV9kcm9wcGVkVmlkZW9GcmFtZXMo
MCkKKyNlbmRpZgogICAgICwgbV9jYWNoZWRUaW1lKE1lZGlhUGxheWVyOjppbnZhbGlkVGltZSgp
KQogICAgICwgbV9jbG9ja1RpbWVBdExhc3RDYWNoZWRUaW1lVXBkYXRlKDApCiAgICAgLCBtX21p
bmltdW1DbG9ja1RpbWVUb1VwZGF0ZUNhY2hlZFRpbWUoMCkKQEAgLTM5MDgsNiArMzkxNCwxMCBA
QCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlhUGxheWVyRW5naW5lVXBkYXRlZChNZWRpYVBs
YXllciopCiAgICAgaWYgKHJlbmRlcmVyKCkpCiAgICAgICAgIHJlbmRlcmVyKCktPnVwZGF0ZUZy
b21FbGVtZW50KCk7CiAgICAgZW5kUHJvY2Vzc2luZ01lZGlhUGxheWVyQ2FsbGJhY2soKTsKKwor
I2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisgICAgbV9kcm9wcGVkVmlkZW9GcmFtZXMgPSAwOwor
I2VuZGlmCiB9CiAKIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6bWVkaWFQbGF5ZXJGaXJzdFZpZGVv
RnJhbWVBdmFpbGFibGUoTWVkaWFQbGF5ZXIqKQpAQCAtNTIzMCw2ICs1MjQwLDI4IEBAIGJvb2wg
SFRNTE1lZGlhRWxlbWVudDo6c2hvdWxkVXNlVmlkZW9QbHVnaW5Qcm94eSgpIGNvbnN0CiB9CiAj
ZW5kaWYKIAorI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCitSZWZQdHI8VmlkZW9QbGF5YmFja1F1
YWxpdHk+IEhUTUxNZWRpYUVsZW1lbnQ6OmdldFZpZGVvUGxheWJhY2tRdWFsaXR5KCkKK3sKKyNp
ZiBFTkFCTEUoV0VCX1RJTUlORykKKyAgICBET01XaW5kb3cqIGRvbVdpbmRvdyA9IGRvY3VtZW50
KCkuZG9tV2luZG93KCk7CisgICAgUGVyZm9ybWFuY2UqIHBlcmZvcm1hbmNlID0gZG9tV2luZG93
ID8gZG9tV2luZG93LT5wZXJmb3JtYW5jZSgpIDogbnVsbHB0cjsKKyAgICBkb3VibGUgbm93ID0g
cGVyZm9ybWFuY2UgPyBwZXJmb3JtYW5jZS0+bm93KCkgOiAwOworI2Vsc2UKKyAgICBkb3VibGUg
bm93ID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7CisjZW5kaWYKKworICAgIGlmICgh
bV9wbGF5ZXIpCisgICAgICAgIHJldHVybiBWaWRlb1BsYXliYWNrUXVhbGl0eTo6Y3JlYXRlKG5v
dywgMCwgMCwgMCwgMCk7CisKKyAgICByZXR1cm4gVmlkZW9QbGF5YmFja1F1YWxpdHk6OmNyZWF0
ZShub3csCisgICAgICAgIG1fZHJvcHBlZFZpZGVvRnJhbWVzICsgbV9wbGF5ZXItPnRvdGFsVmlk
ZW9GcmFtZXMoKSwKKyAgICAgICAgbV9kcm9wcGVkVmlkZW9GcmFtZXMgKyBtX3BsYXllci0+ZHJv
cHBlZFZpZGVvRnJhbWVzKCksCisgICAgICAgIG1fcGxheWVyLT5jb3JydXB0ZWRWaWRlb0ZyYW1l
cygpLAorICAgICAgICBtX3BsYXllci0+dG90YWxGcmFtZURlbGF5KCkpOworfQorI2VuZGlmCisK
ICNpZiBFTkFCTEUoTUVESUFfQ09OVFJPTFNfU0NSSVBUKQogRE9NV3JhcHBlcldvcmxkJiBIVE1M
TWVkaWFFbGVtZW50OjplbnN1cmVJc29sYXRlZFdvcmxkKCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MTWVkaWFFbGVtZW50LmgKaW5kZXggNDQxODI1NjBhNTk3NGIxNWFmMmZkNTNjZGY2NTBhOTM1
YmJjYjVmOC4uYzNkMWJmMTczZDhhMWY5M2U2MWRiZTgwZTA2MmRmMmNmNjQ2NWM5OSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKQEAgLTgwLDYgKzgwLDkgQEAgY2xhc3Mg
RGlzcGxheVNsZWVwRGlzYWJsZXI7CiAjaWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQV9WMikKIGNs
YXNzIE1lZGlhS2V5czsKICNlbmRpZgorI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCitjbGFzcyBW
aWRlb1BsYXliYWNrUXVhbGl0eTsKKyNlbmRpZgogCiAjaWYgRU5BQkxFKFZJREVPX1RSQUNLKQog
Y2xhc3MgQXVkaW9UcmFja0xpc3Q7CkBAIC0yMDEsNyArMjA0LDggQEAgcHVibGljOgogI2lmIEVO
QUJMRShNRURJQV9TT1VSQ0UpCiAvLyAgTWVkaWEgU291cmNlLgogICAgIHZvaWQgY2xvc2VNZWRp
YVNvdXJjZSgpOwotI2VuZGlmIAorICAgIHZvaWQgaW5jcmVtZW50RHJvcHBlZEZyYW1lQ291bnQo
KSB7ICsrbV9kcm9wcGVkVmlkZW9GcmFtZXM7IH0KKyNlbmRpZgogCiAjaWYgRU5BQkxFKEVOQ1JZ
UFRFRF9NRURJQSkKICAgICB2b2lkIHdlYmtpdEdlbmVyYXRlS2V5UmVxdWVzdChjb25zdCBTdHJp
bmcmIGtleVN5c3RlbSwgUGFzc1JlZlB0cjxVaW50OEFycmF5PiBpbml0RGF0YSwgRXhjZXB0aW9u
Q29kZSYpOwpAQCAtMzk4LDYgKzQwMiwxMCBAQCBwdWJsaWM6CiAgICAgdm9pZCBtZWRpYUxvYWRp
bmdGYWlsZWQoTWVkaWFQbGF5ZXI6Ok5ldHdvcmtTdGF0ZSk7CiAgICAgdm9pZCBtZWRpYUxvYWRp
bmdGYWlsZWRGYXRhbGx5KE1lZGlhUGxheWVyOjpOZXR3b3JrU3RhdGUpOwogCisjaWYgRU5BQkxF
KE1FRElBX1NPVVJDRSkKKyAgICBSZWZQdHI8VmlkZW9QbGF5YmFja1F1YWxpdHk+IGdldFZpZGVv
UGxheWJhY2tRdWFsaXR5KCk7CisjZW5kaWYKKwogcHJvdGVjdGVkOgogICAgIEhUTUxNZWRpYUVs
ZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50JiwgYm9vbCk7CiAgICAgdmlydHVh
bCB+SFRNTE1lZGlhRWxlbWVudCgpOwpAQCAtNjk5LDYgKzcwNyw3IEBAIHByaXZhdGU6CiAKICNp
ZiBFTkFCTEUoTUVESUFfU09VUkNFKQogICAgIFJlZlB0cjxIVE1MTWVkaWFTb3VyY2U+IG1fbWVk
aWFTb3VyY2U7CisgICAgdW5zaWduZWQgbG9uZyBtX2Ryb3BwZWRWaWRlb0ZyYW1lczsKICNlbmRp
ZgogCiAgICAgbXV0YWJsZSBkb3VibGUgbV9jYWNoZWRUaW1lOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTE1lZGlhRWxlbWVudC5pZGwKaW5kZXggZDk1YjNlODRlZTM0YzgwMWQ5MDg0NTM0MGQ0MWVm
YjZmNjBmMzg3Ni4uZGU2ZjkyNDAyNmJiNWYwOWEwYmJlNzc3MTk1OWIxYWNjNTJhMjY2NiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmlkbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaWRsCkBAIC0xMTcsNCArMTE3LDYg
QEAKIAogICAgIFtSZWZsZWN0LCBUcmVhdE51bGxBcz1OdWxsU3RyaW5nXSBhdHRyaWJ1dGUgRE9N
U3RyaW5nIG1lZGlhR3JvdXA7CiAgICAgW0N1c3RvbVNldHRlcl0gYXR0cmlidXRlIE1lZGlhQ29u
dHJvbGxlciBjb250cm9sbGVyOworICAgIAorICAgIFtDb25kaXRpb25hbD1NRURJQV9TT1VSQ0Vd
IFZpZGVvUGxheWJhY2tRdWFsaXR5IGdldFZpZGVvUGxheWJhY2tRdWFsaXR5KCk7CiB9OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTWVkaWFTYW1wbGUuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL01lZGlhU2FtcGxlLmgKaW5kZXggNzQ0ZDNjNzlhYjkxZjZiYjY1MmNi
NTQ5ZTU3MzhkNWE5NWJlZjFjOC4uNTc2MmUzZGUyYWM2MjJlMDBlNGM5YzcxMDNiZDY1NzE2NjJk
ZDZmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTWVkaWFTYW1wbGUuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZWRpYVNhbXBsZS5oCkBAIC02Myw2ICs2Myw5
IEBAIHB1YmxpYzoKICAgICB9OwogICAgIHZpcnR1YWwgU2FtcGxlRmxhZ3MgZmxhZ3MoKSBjb25z
dCA9IDA7CiAgICAgdmlydHVhbCBQbGF0Zm9ybVNhbXBsZSBwbGF0Zm9ybVNhbXBsZSgpID0gMDsK
KworICAgIGJvb2wgaXNTeW5jKCkgY29uc3QgeyByZXR1cm4gZmxhZ3MoKSAmIElzU3luYzsgfQor
ICAgIGJvb2wgaXNOb25EaXNwbGF5aW5nKCkgY29uc3QgeyByZXR1cm4gZmxhZ3MoKSAmIE5vbkRp
c3BsYXlpbmc7IH0KIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL01lZGlhUGxheWVyLmNwcAppbmRleCA2NDY1OGY3N2I0ZmNmODBmNWU0OTYwZmY5NTZmZjE5
Zjk5MzlhZDYxLi5kYTQzNzdlMDE2NmE5MDI3ZWQ2NGE5N2FmMDg2YzBjNjEyYjM0NjA2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwCkBA
IC0xMjM5LDYgKzEyMzksNDAgQEAgdW5zaWduZWQgbG9uZyBsb25nIE1lZGlhUGxheWVyOjpmaWxl
U2l6ZSgpIGNvbnN0CiAgICAgcmV0dXJuIG1fcHJpdmF0ZS0+ZmlsZVNpemUoKTsKIH0KIAorI2lm
IEVOQUJMRShNRURJQV9TT1VSQ0UpCit1bnNpZ25lZCBsb25nIE1lZGlhUGxheWVyOjp0b3RhbFZp
ZGVvRnJhbWVzKCkKK3sKKyAgICBpZiAoIW1fcHJpdmF0ZSkKKyAgICAgICAgcmV0dXJuIDA7CisK
KyAgICByZXR1cm4gbV9wcml2YXRlLT50b3RhbFZpZGVvRnJhbWVzKCk7Cit9CisKK3Vuc2lnbmVk
IGxvbmcgTWVkaWFQbGF5ZXI6OmRyb3BwZWRWaWRlb0ZyYW1lcygpCit7CisgICAgaWYgKCFtX3By
aXZhdGUpCisgICAgICAgIHJldHVybiAwOworCisgICAgcmV0dXJuIG1fcHJpdmF0ZS0+ZHJvcHBl
ZFZpZGVvRnJhbWVzKCk7Cit9CisKK3Vuc2lnbmVkIGxvbmcgTWVkaWFQbGF5ZXI6OmNvcnJ1cHRl
ZFZpZGVvRnJhbWVzKCkKK3sKKyAgICBpZiAoIW1fcHJpdmF0ZSkKKyAgICAgICAgcmV0dXJuIDA7
CisKKyAgICByZXR1cm4gbV9wcml2YXRlLT5jb3JydXB0ZWRWaWRlb0ZyYW1lcygpOworfQorCitk
b3VibGUgTWVkaWFQbGF5ZXI6OnRvdGFsRnJhbWVEZWxheSgpCit7CisgICAgaWYgKCFtX3ByaXZh
dGUpCisgICAgICAgIHJldHVybiAwOworCisgICAgcmV0dXJuIG1fcHJpdmF0ZS0+dG90YWxGcmFt
ZURlbGF5KCk7Cit9CisjZW5kaWYKKwogdm9pZCBNZWRpYVBsYXllckZhY3RvcnlTdXBwb3J0Ojpj
YWxsUmVnaXN0ZXJNZWRpYUVuZ2luZShNZWRpYUVuZ2luZVJlZ2lzdGVyIHJlZ2lzdGVyTWVkaWFF
bmdpbmUpCiB7CiAgICAgcmVnaXN0ZXJNZWRpYUVuZ2luZShhZGRNZWRpYUVuZ2luZSk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaAppbmRleCBkNGUy
MTkwM2M1NzY5ODhkNWM3ODg2Mzc4OWMwZTgxNTQzMGVkYzczLi44MTUxNjNjY2JlODUxYjQ1MDUz
N2U2MWM2NTU5NmZmODIxMmQ4MzdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9NZWRpYVBsYXllci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL01lZGlhUGxheWVyLmgKQEAgLTUxNCw2ICs1MTQsMTMgQEAgcHVibGljOgogCiAgICAg
dW5zaWduZWQgbG9uZyBsb25nIGZpbGVTaXplKCkgY29uc3Q7CiAKKyNpZiBFTkFCTEUoTUVESUFf
U09VUkNFKQorICAgIHVuc2lnbmVkIGxvbmcgdG90YWxWaWRlb0ZyYW1lcygpOworICAgIHVuc2ln
bmVkIGxvbmcgZHJvcHBlZFZpZGVvRnJhbWVzKCk7CisgICAgdW5zaWduZWQgbG9uZyBjb3JydXB0
ZWRWaWRlb0ZyYW1lcygpOworICAgIGRvdWJsZSB0b3RhbEZyYW1lRGVsYXkoKTsKKyNlbmRpZgor
CiBwcml2YXRlOgogICAgIE1lZGlhUGxheWVyKE1lZGlhUGxheWVyQ2xpZW50Kik7CiAgICAgTWVk
aWFQbGF5ZXJGYWN0b3J5KiBuZXh0QmVzdE1lZGlhRW5naW5lKE1lZGlhUGxheWVyRmFjdG9yeSop
IGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVk
aWFQbGF5ZXJQcml2YXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRp
YVBsYXllclByaXZhdGUuaAppbmRleCA0MzZjNjhiNGY2MjI3ZTRkMzJmYjBhMmI3YTE2ZTRmYTVl
ZWY1MDdlLi5jZjdiNWYyODg1ZjUxNWYyNjM0MzAzYmU2M2FlNzU1ZDJiODQzNGQ4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllclByaXZhdGUu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllclByaXZh
dGUuaApAQCAtMjE1LDYgKzIxNSwxMyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBzaXplX3QgZXh0
cmFNZW1vcnlDb3N0KCkgY29uc3QgeyByZXR1cm4gMDsgfQogICAgIAogICAgIHZpcnR1YWwgdW5z
aWduZWQgbG9uZyBsb25nIGZpbGVTaXplKCkgY29uc3QgeyByZXR1cm4gMDsgfQorCisjaWYgRU5B
QkxFKE1FRElBX1NPVVJDRSkKKyAgICB2aXJ0dWFsIHVuc2lnbmVkIGxvbmcgdG90YWxWaWRlb0Zy
YW1lcygpIHsgcmV0dXJuIDA7IH0KKyAgICB2aXJ0dWFsIHVuc2lnbmVkIGxvbmcgZHJvcHBlZFZp
ZGVvRnJhbWVzKCkgeyByZXR1cm4gMDsgfQorICAgIHZpcnR1YWwgdW5zaWduZWQgbG9uZyBjb3Jy
dXB0ZWRWaWRlb0ZyYW1lcygpIHsgcmV0dXJuIDA7IH0KKyAgICB2aXJ0dWFsIGRvdWJsZSB0b3Rh
bEZyYW1lRGVsYXkoKSB7IHJldHVybiAwOyB9CisjZW5kaWYKIH07CiAKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlh
UGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3Vy
Y2VBVkZPYmpDLmgKaW5kZXggOTY4MTYxZmE3NDFhMzJjMWY1NGQ1ZmIzYzkyN2NjMWI4NjM3ZjUy
ZC4uZDZjZmMxMjQ1ZGUzMjBkYzc2NTcxZmVlNDc3ZGNhYzNmOTgyMWE1ZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQ
bGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFT
b3VyY2VBVkZPYmpDLmgKQEAgLTEyOSw2ICsxMjksMTEgQEAgcHJpdmF0ZToKIAogICAgIHZpcnR1
YWwgc2l6ZV90IGV4dHJhTWVtb3J5Q29zdCgpIGNvbnN0IE9WRVJSSURFOwogCisgICAgdmlydHVh
bCB1bnNpZ25lZCBsb25nIHRvdGFsVmlkZW9GcmFtZXMoKSBPVkVSUklERTsKKyAgICB2aXJ0dWFs
IHVuc2lnbmVkIGxvbmcgZHJvcHBlZFZpZGVvRnJhbWVzKCkgT1ZFUlJJREU7CisgICAgdmlydHVh
bCB1bnNpZ25lZCBsb25nIGNvcnJ1cHRlZFZpZGVvRnJhbWVzKCkgT1ZFUlJJREU7CisgICAgdmly
dHVhbCBkb3VibGUgdG90YWxGcmFtZURlbGF5KCkgT1ZFUlJJREU7CisKICAgICB2b2lkIGVuc3Vy
ZUxheWVyKCk7CiAgICAgdm9pZCBkZXN0cm95TGF5ZXIoKTsKICAgICB2b2lkIGR1cmF0aW9uQ2hh
bmdlZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZm
b3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLm1tIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQ
bGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLm1tCmluZGV4IDk4ODBiOWZiYTZhZDM4ZDll
MmU4NjEzMTc2NmQyYTk2OGI0MzNiNzAuLmRhZmIwYjJiM2I3YTAzYzU5ZGQyZjdiZGQ2OThkN2E3
NGY1ZTAwM2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2
Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5tbQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9N
ZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMubW0KQEAgLTUwLDYgKzUwLDIxIEBA
IFNPRlRfTElOS19DTEFTU19PUFRJT05BTChBVkZvdW5kYXRpb24sIEFWQXNzZXQpCiBTT0ZUX0xJ
TktfQ0xBU1NfT1BUSU9OQUwoQVZGb3VuZGF0aW9uLCBBVlVSTEFzc2V0KQogU09GVF9MSU5LX0NM
QVNTX09QVElPTkFMKEFWRm91bmRhdGlvbiwgQVZTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIpCiBT
T0ZUX0xJTktfQ0xBU1NfT1BUSU9OQUwoQVZGb3VuZGF0aW9uLCBBVlN0cmVhbURhdGFQYXJzZXIp
CitTT0ZUX0xJTktfQ0xBU1NfT1BUSU9OQUwoQVZGb3VuZGF0aW9uLCBBVlZpZGVvUGVyZm9ybWFu
Y2VNZXRyaWNzKQorCisjcHJhZ21hIG1hcmsgLQorI3ByYWdtYSBtYXJrIEFWVmlkZW9QZXJmb3Jt
YW5jZU1ldHJpY3MKKworQGludGVyZmFjZSBBVlZpZGVvUGVyZm9ybWFuY2VNZXRyaWNzIDogTlNP
YmplY3QKKy0gKHVuc2lnbmVkIGxvbmcpdG90YWxOdW1iZXJPZlZpZGVvRnJhbWVzOworLSAodW5z
aWduZWQgbG9uZyludW1iZXJPZkRyb3BwZWRWaWRlb0ZyYW1lczsKKy0gKHVuc2lnbmVkIGxvbmcp
bnVtYmVyT2ZDb3JydXB0ZWRWaWRlb0ZyYW1lczsKKy0gKGRvdWJsZSl0b3RhbEZyYW1lRGVsYXk7
CitAZW5kCisKK0BpbnRlcmZhY2UgQVZTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIgKFdlYkNvcmVB
VlNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllclByaXZhdGUpCistIChBVlZpZGVvUGVyZm9ybWFuY2VN
ZXRyaWNzICopdmlkZW9QZXJmb3JtYW5jZU1ldHJpY3M7CitAZW5kCiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIApAQCAtMzY2LDYgKzM4MSwyNiBAQCBzaXplX3QgTWVkaWFQbGF5ZXJQcml2YXRlTWVk
aWFTb3VyY2VBVkZPYmpDOjpleHRyYU1lbW9yeUNvc3QoKSBjb25zdAogICAgIHJldHVybiAwOwog
fQogCit1bnNpZ25lZCBsb25nIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6
dG90YWxWaWRlb0ZyYW1lcygpCit7CisgICAgcmV0dXJuIFtbbV9zYW1wbGVCdWZmZXJEaXNwbGF5
TGF5ZXIgdmlkZW9QZXJmb3JtYW5jZU1ldHJpY3NdIHRvdGFsTnVtYmVyT2ZWaWRlb0ZyYW1lc107
Cit9CisKK3Vuc2lnbmVkIGxvbmcgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpD
Ojpkcm9wcGVkVmlkZW9GcmFtZXMoKQoreworICAgIHJldHVybiBbW21fc2FtcGxlQnVmZmVyRGlz
cGxheUxheWVyIHZpZGVvUGVyZm9ybWFuY2VNZXRyaWNzXSBudW1iZXJPZkRyb3BwZWRWaWRlb0Zy
YW1lc107Cit9CisKK3Vuc2lnbmVkIGxvbmcgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VB
VkZPYmpDOjpjb3JydXB0ZWRWaWRlb0ZyYW1lcygpCit7CisgICAgcmV0dXJuIFtbbV9zYW1wbGVC
dWZmZXJEaXNwbGF5TGF5ZXIgdmlkZW9QZXJmb3JtYW5jZU1ldHJpY3NdIG51bWJlck9mQ29ycnVw
dGVkVmlkZW9GcmFtZXNdOworfQorCitkb3VibGUgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3Vy
Y2VBVkZPYmpDOjp0b3RhbEZyYW1lRGVsYXkoKQoreworICAgIHJldHVybiBbW21fc2FtcGxlQnVm
ZmVyRGlzcGxheUxheWVyIHZpZGVvUGVyZm9ybWFuY2VNZXRyaWNzXSB0b3RhbEZyYW1lRGVsYXld
OworfQorCiAjcHJhZ21hIG1hcmsgLQogI3ByYWdtYSBtYXJrIFV0aWxpdHkgTWV0aG9kcwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tC
b3guaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja0JveC5o
CmluZGV4IDNmMGMwZDNjZTIwODUxMmU3Mjg0NjUxZGNmN2Y4NzdlZjI4MjUwMTkuLmYyZmQ2NDNm
ZGZiODIwMGU4OTQ5MjQzY2NkYWRlOTJiMWZiM2VkNmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja0JveC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja0JveC5oCkBAIC0xMjksOCArMTI5LDE2
IEBAIHB1YmxpYzoKICAgICBpbnQzMl90IHRyYWNrSUQoKSBjb25zdCB7IHJldHVybiBtX3RyYWNr
SUQ7IH0KICAgICB1aW50OF90IGZsYWdzKCkgY29uc3QgeyByZXR1cm4gbV9mbGFnczsgfQogCi0g
ICAgZW51bSB7IElzU3luYyA9IDEgPDwgMCB9OworICAgIGVudW0geworICAgICAgICBJc1N5bmMg
PSAxIDw8IDAsCisgICAgICAgIElzQ29ycnVwdGVkID0gMSA8PCAxLAorICAgICAgICBJc0Ryb3Bw
ZWQgPSAxIDw8IDIsCisgICAgICAgIElzRGVsYXllZCA9IDEgPDwgMywKKyAgICB9OwogICAgIGJv
b2wgaXNTeW5jKCkgY29uc3QgeyByZXR1cm4gbV9mbGFncyAmIElzU3luYzsgfQorICAgIGJvb2wg
aXNDb3JydXB0ZWQoKSBjb25zdCB7IHJldHVybiBtX2ZsYWdzICYgSXNDb3JydXB0ZWQ7IH0KKyAg
ICBib29sIGlzRHJvcHBlZCgpIGNvbnN0IHsgcmV0dXJuIG1fZmxhZ3MgJiBJc0Ryb3BwZWQ7IH0K
KyAgICBib29sIGlzRGVsYXllZCgpIGNvbnN0IHsgcmV0dXJuIG1fZmxhZ3MgJiBJc0RlbGF5ZWQ7
IH0KIAogcHJvdGVjdGVkOgogICAgIE1lZGlhVGltZSBtX3ByZXNlbnRhdGlvblRpbWVzdGFtcDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9j
a01lZGlhUGxheWVyTWVkaWFTb3VyY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9j
ay9tZWRpYXNvdXJjZS9Nb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZS5jcHAKaW5kZXggMmYyMzA0
ODZiOTJiNjBiMzM5ODlhYTI1NzQ4ZDQ5ZmM2Yzc1Yjc4OS4uZTBmYzUxYzlmMGNlM2YwMjU0NzA4
NTJiOTBhNGExMmU0MTBmNTg2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bW9jay9tZWRpYXNvdXJjZS9Nb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrTWVkaWFQbGF5ZXJNZWRp
YVNvdXJjZS5jcHAKQEAgLTI0NSw2ICsyNDUsMjYgQEAgdm9pZCBNb2NrTWVkaWFQbGF5ZXJNZWRp
YVNvdXJjZTo6c2V0TmV0d29ya1N0YXRlKE1lZGlhUGxheWVyOjpOZXR3b3JrU3RhdGUgbmV0d28K
ICAgICBtX3BsYXllci0+bmV0d29ya1N0YXRlQ2hhbmdlZCgpOwogfQogCit1bnNpZ25lZCBsb25n
IE1vY2tNZWRpYVBsYXllck1lZGlhU291cmNlOjp0b3RhbFZpZGVvRnJhbWVzKCkKK3sKKyAgICBy
ZXR1cm4gbV9tZWRpYVNvdXJjZVByaXZhdGUgPyBtX21lZGlhU291cmNlUHJpdmF0ZS0+dG90YWxW
aWRlb0ZyYW1lcygpIDogMDsKK30KKwordW5zaWduZWQgbG9uZyBNb2NrTWVkaWFQbGF5ZXJNZWRp
YVNvdXJjZTo6ZHJvcHBlZFZpZGVvRnJhbWVzKCkKK3sKKyAgICByZXR1cm4gbV9tZWRpYVNvdXJj
ZVByaXZhdGUgPyBtX21lZGlhU291cmNlUHJpdmF0ZS0+ZHJvcHBlZFZpZGVvRnJhbWVzKCkgOiAw
OworfQorCit1bnNpZ25lZCBsb25nIE1vY2tNZWRpYVBsYXllck1lZGlhU291cmNlOjpjb3JydXB0
ZWRWaWRlb0ZyYW1lcygpCit7CisgICAgcmV0dXJuIG1fbWVkaWFTb3VyY2VQcml2YXRlID8gbV9t
ZWRpYVNvdXJjZVByaXZhdGUtPmNvcnJ1cHRlZFZpZGVvRnJhbWVzKCkgOiAwOworfQorCitkb3Vi
bGUgTW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2U6OnRvdGFsRnJhbWVEZWxheSgpCit7CisgICAg
cmV0dXJuIG1fbWVkaWFTb3VyY2VQcml2YXRlID8gbV9tZWRpYVNvdXJjZVByaXZhdGUtPnRvdGFs
RnJhbWVEZWxheSgpIDogMDsKK30KKwogfQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja01lZGlhUGxheWVyTWVkaWFTb3Vy
Y2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja01lZGlh
UGxheWVyTWVkaWFTb3VyY2UuaAppbmRleCBkMWNmOGI1ZWViMDA4NWE5MjRiYTdjMjA2MDY1MTc1
NTk1NzA4MzYyLi45ODVhMjFmYjZjNzc4MmI5NzY3YmJmYzdlMzRkNzA2ZGRjYTMyMjJkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tNZWRp
YVBsYXllck1lZGlhU291cmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9t
ZWRpYXNvdXJjZS9Nb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZS5oCkBAIC03Nyw2ICs3NywxMCBA
QCBwcml2YXRlOgogICAgIHZpcnR1YWwgZG91YmxlIGN1cnJlbnRUaW1lRG91YmxlKCkgY29uc3Qg
T1ZFUlJJREU7CiAgICAgdmlydHVhbCBkb3VibGUgZHVyYXRpb25Eb3VibGUoKSBjb25zdCBPVkVS
UklERTsKICAgICB2aXJ0dWFsIHZvaWQgc2Vla1dpdGhUb2xlcmFuY2UoZG91YmxlIHRpbWUsIGRv
dWJsZSwgZG91YmxlKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIHVuc2lnbmVkIGxvbmcgdG90YWxW
aWRlb0ZyYW1lcygpIE9WRVJSSURFOworICAgIHZpcnR1YWwgdW5zaWduZWQgbG9uZyBkcm9wcGVk
VmlkZW9GcmFtZXMoKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIHVuc2lnbmVkIGxvbmcgY29ycnVw
dGVkVmlkZW9GcmFtZXMoKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIGRvdWJsZSB0b3RhbEZyYW1l
RGVsYXkoKSBPVkVSUklERTsKIAogICAgIE1lZGlhUGxheWVyKiBtX3BsYXllcjsKICAgICBSZWZQ
dHI8SFRNTE1lZGlhU291cmNlPiBtX21lZGlhU291cmNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrTWVkaWFTb3VyY2VQcml2YXRlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja01lZGlhU291
cmNlUHJpdmF0ZS5jcHAKaW5kZXggNGIyYTM1ZjM4ZjYxYzVhODg2ZTJmODJjNTNhMTQxNmZlZTg3
ZGQxZS4uODExMTczZGZhNTZkZTMxODIwZjdiYjVkNWZhYzBhMjQyMzUzYWU2YyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrTWVkaWFTb3Vy
Y2VQcml2YXRlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291
cmNlL01vY2tNZWRpYVNvdXJjZVByaXZhdGUuY3BwCkBAIC00NCw2ICs0NCwxMCBAQCBNb2NrTWVk
aWFTb3VyY2VQcml2YXRlOjpNb2NrTWVkaWFTb3VyY2VQcml2YXRlKE1vY2tNZWRpYVBsYXllck1l
ZGlhU291cmNlKiBwYXJlbgogICAgIDogbV9wbGF5ZXIocGFyZW50KQogICAgICwgbV9kdXJhdGlv
bihzdGQ6Om51bWVyaWNfbGltaXRzPGZsb2F0Pjo6cXVpZXRfTmFOKCkpCiAgICAgLCBtX2lzRW5k
ZWQoZmFsc2UpCisgICAgLCBtX3RvdGFsVmlkZW9GcmFtZXMoMCkKKyAgICAsIG1fZHJvcHBlZFZp
ZGVvRnJhbWVzKDApCisgICAgLCBtX2NvcnJ1cHRlZFZpZGVvRnJhbWVzKDApCisgICAgLCBtX3Rv
dGFsRnJhbWVEZWxheSgwKQogewogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tNZWRpYVNvdXJjZVByaXZhdGUuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja01lZGlhU291cmNlUHJpdmF0ZS5o
CmluZGV4IDcyZDIwYTgwZWJmNzRmMGFiZTc5NWY0NGY4ZTBhNGE4MWMzOTYxZGIuLmY0NDhlMWRm
Njc5ZGQ2NmNmYzQwZWI5NThhOWU3Yjc1MWRlYmQ0NjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja01lZGlhU291cmNlUHJpdmF0ZS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja01lZGlhU291
cmNlUHJpdmF0ZS5oCkBAIC01Miw2ICs1MiwxNiBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZWVrVG9U
aW1lKGNvbnN0IE1lZGlhVGltZSYpOwogICAgIE1lZGlhVGltZSBzZWVrVG9UaW1lKGNvbnN0IE1l
ZGlhVGltZSYsIGNvbnN0IE1lZGlhVGltZSYgbmVnYXRpdmVUaHJlc2hvbGQsIGNvbnN0IE1lZGlh
VGltZSYgcG9zaXRpdmVUaHJlc2hvbGQpOwogCisgICAgdW5zaWduZWQgbG9uZyB0b3RhbFZpZGVv
RnJhbWVzKCkgY29uc3QgeyByZXR1cm4gbV90b3RhbFZpZGVvRnJhbWVzOyB9CisgICAgdW5zaWdu
ZWQgbG9uZyBkcm9wcGVkVmlkZW9GcmFtZXMoKSBjb25zdCAgeyByZXR1cm4gbV9kcm9wcGVkVmlk
ZW9GcmFtZXM7IH0KKyAgICB1bnNpZ25lZCBsb25nIGNvcnJ1cHRlZFZpZGVvRnJhbWVzKCkgY29u
c3QgeyByZXR1cm4gbV9jb3JydXB0ZWRWaWRlb0ZyYW1lczsgfQorICAgIGRvdWJsZSB0b3RhbEZy
YW1lRGVsYXkoKSBjb25zdCB7IHJldHVybiBtX3RvdGFsRnJhbWVEZWxheTsgfQorCisgICAgdm9p
ZCBpbmNyZW1lbnRUb3RhbFZpZGVvRnJhbWVzKCkgeyArK21fdG90YWxWaWRlb0ZyYW1lczsgfQor
ICAgIHZvaWQgaW5jcmVtZW50RHJvcHBlZEZyYW1lcygpIHsgKyttX2Ryb3BwZWRWaWRlb0ZyYW1l
czsgfQorICAgIHZvaWQgaW5jcmVtZW50Q29ycnVwdGVkRnJhbWVzKCkgeyArK21fY29ycnVwdGVk
VmlkZW9GcmFtZXM7IH0KKyAgICB2b2lkIGluY3JlbWVudFRvdGFsRnJhbWVEZWxheUJ5KGRvdWJs
ZSBkZWxheSkgeyBtX3RvdGFsRnJhbWVEZWxheSArPSBkZWxheTsgfQorCiBwcml2YXRlOgogICAg
IE1vY2tNZWRpYVNvdXJjZVByaXZhdGUoTW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2UqKTsKIApA
QCAtNzQsNiArODQsMTEgQEAgcHJpdmF0ZToKICAgICBWZWN0b3I8UmVmUHRyPE1vY2tTb3VyY2VC
dWZmZXJQcml2YXRlPj4gbV9zb3VyY2VCdWZmZXJzOwogICAgIFZlY3RvcjxNb2NrU291cmNlQnVm
ZmVyUHJpdmF0ZSo+IG1fYWN0aXZlU291cmNlQnVmZmVyczsKICAgICBib29sIG1faXNFbmRlZDsK
KworICAgIHVuc2lnbmVkIGxvbmcgbV90b3RhbFZpZGVvRnJhbWVzOworICAgIHVuc2lnbmVkIGxv
bmcgbV9kcm9wcGVkVmlkZW9GcmFtZXM7CisgICAgdW5zaWduZWQgbG9uZyBtX2NvcnJ1cHRlZFZp
ZGVvRnJhbWVzOworICAgIGRvdWJsZSBtX3RvdGFsRnJhbWVEZWxheTsKIH07CiAKIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja1NvdXJj
ZUJ1ZmZlclByaXZhdGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNv
dXJjZS9Nb2NrU291cmNlQnVmZmVyUHJpdmF0ZS5jcHAKaW5kZXggODc2NzBkYWZkYmJjZjQ5Yjk5
NDk2ZDg0N2UzYzU0OTA3YjhlMjg1ZC4uNGQ1NzNhYjE3ZDRkMzcyNmJiNjhiZWM2NDc2ZTJkMDA3
NDQzY2FkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNv
dXJjZS9Nb2NrU291cmNlQnVmZmVyUHJpdmF0ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrU291cmNlQnVmZmVyUHJpdmF0ZS5jcHAKQEAgLTIx
OCw2ICsyMTgsMjggQEAgdm9pZCBNb2NrU291cmNlQnVmZmVyUHJpdmF0ZTo6c2V0QWN0aXZlKGJv
b2wgaXNBY3RpdmUpCiAgICAgICAgIG1fbWVkaWFTb3VyY2UtPnNvdXJjZUJ1ZmZlclByaXZhdGVE
aWRDaGFuZ2VBY3RpdmVTdGF0ZSh0aGlzLCBpc0FjdGl2ZSk7CiB9CiAKK3ZvaWQgTW9ja1NvdXJj
ZUJ1ZmZlclByaXZhdGU6OmVucXVldWVTYW1wbGUoUGFzc1JlZlB0cjxNZWRpYVNhbXBsZT4gc2Ft
cGxlLCBBdG9taWNTdHJpbmcpCit7CisgICAgaWYgKCFtX21lZGlhU291cmNlIHx8ICFzYW1wbGUp
CisgICAgICAgIHJldHVybjsKKworICAgIFBsYXRmb3JtU2FtcGxlIHBsYXRmb3JtU2FtcGxlID0g
c2FtcGxlLT5wbGF0Zm9ybVNhbXBsZSgpOworICAgIGlmIChwbGF0Zm9ybVNhbXBsZS50eXBlICE9
IFBsYXRmb3JtU2FtcGxlOjpNb2NrU2FtcGxlQm94VHlwZSkKKyAgICAgICAgcmV0dXJuOworCisg
ICAgTW9ja1NhbXBsZUJveCogYm94ID0gcGxhdGZvcm1TYW1wbGUuc2FtcGxlLm1vY2tTYW1wbGVC
b3g7CisgICAgaWYgKCFib3gpCisgICAgICAgIHJldHVybjsKKworICAgIG1fbWVkaWFTb3VyY2Ut
PmluY3JlbWVudFRvdGFsVmlkZW9GcmFtZXMoKTsKKyAgICBpZiAoYm94LT5pc0NvcnJ1cHRlZCgp
KQorICAgICAgICBtX21lZGlhU291cmNlLT5pbmNyZW1lbnRDb3JydXB0ZWRGcmFtZXMoKTsKKyAg
ICBpZiAoYm94LT5pc0Ryb3BwZWQoKSkKKyAgICAgICAgbV9tZWRpYVNvdXJjZS0+aW5jcmVtZW50
RHJvcHBlZEZyYW1lcygpOworICAgIGlmIChib3gtPmlzRGVsYXllZCgpKQorICAgICAgICBtX21l
ZGlhU291cmNlLT5pbmNyZW1lbnRUb3RhbEZyYW1lRGVsYXlCeSgxKTsKK30KKwogYm9vbCBNb2Nr
U291cmNlQnVmZmVyUHJpdmF0ZTo6aGFzVmlkZW8oKSBjb25zdAogewogICAgIGlmICghbV9jbGll
bnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291cmNl
L01vY2tTb3VyY2VCdWZmZXJQcml2YXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2Nr
L21lZGlhc291cmNlL01vY2tTb3VyY2VCdWZmZXJQcml2YXRlLmgKaW5kZXggYzU0MDk3MmM2N2Rk
NDUzNjc2NWUxOWRhMzlmMTA1YzQ3YTRkYjA1Yi4uMDZkMmY0NDUwZTFiNjE2Nzc2NzA1YzVkNmIy
NjI1YzRiYjQ1YjA0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9t
ZWRpYXNvdXJjZS9Nb2NrU291cmNlQnVmZmVyUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja1NvdXJjZUJ1ZmZlclByaXZhdGUuaApAQCAt
NzIsNyArNzIsNyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgYm9vbCBpc0Z1bGwoKSBPVkVSUklE
RTsKIAogICAgIHZpcnR1YWwgdm9pZCBmbHVzaEFuZEVucXVldWVOb25EaXNwbGF5aW5nU2FtcGxl
cyhWZWN0b3I8UmVmUHRyPE1lZGlhU2FtcGxlPj4sIEF0b21pY1N0cmluZykgT1ZFUlJJREUgeyB9
Ci0gICAgdmlydHVhbCB2b2lkIGVucXVldWVTYW1wbGUoUGFzc1JlZlB0cjxNZWRpYVNhbXBsZT4s
IEF0b21pY1N0cmluZykgT1ZFUlJJREUgeyB9CisgICAgdmlydHVhbCB2b2lkIGVucXVldWVTYW1w
bGUoUGFzc1JlZlB0cjxNZWRpYVNhbXBsZT4sIEF0b21pY1N0cmluZykgT1ZFUlJJREU7CiAgICAg
dmlydHVhbCBib29sIGlzUmVhZHlGb3JNb3JlU2FtcGxlcygpIE9WRVJSSURFIHsgcmV0dXJuIHRy
dWU7IH0KICAgICB2aXJ0dWFsIHZvaWQgc2V0QWN0aXZlKGJvb2wpIE9WRVJSSURFOwogCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5k
ZXggM2YwN2I5ZTM5ZDFjNmQ4NWExZDM0MTQ3Yjc0NDIxNTc5MmJkYjU3YS4uNGY1ZWQ2ZTYwODU0
ZjA5MjA1NDcxZDZhZGIxZjk3ZjIyMjMyNDU3ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEz
LTEyLTA2ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFtNU0Vd
IEFkZCBzdXBwb3J0IGZvciBWaWRlb1BsYXliYWNrTWV0cmljcy4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNTM4MAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogbWVkaWEvbWVkaWEtc291cmNlL21lZGlh
LXNvdXJjZS12aWRlby1wbGF5YmFjay1xdWFsaXR5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogbWVkaWEvbWVkaWEtc291cmNlL21lZGlhLXNvdXJjZS12aWRlby1wbGF5YmFjay1xdWFs
aXR5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIG1lZGlhL21lZGlhLXNvdXJjZS9tb2NrLW1lZGlh
LXNvdXJjZS5qczoKKyAgICAgICAgKHZhcik6CisKIDIwMTMtMTItMDUgIEplciBOb2JsZSAgPGpl
ci5ub2JsZUBhcHBsZS5jb20+CiAKICAgICAgICAgW01TRV0gQnJpbmcgZW5kLW9mLXN0cmVhbSBh
bGdvcml0aG0gc2VjdGlvbiB1cCB0byBjdXJyZW50IHNwZWMuCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvbWVkaWEtc291cmNlLWNhbnBsYXl0aHJvdWdoLmh0bWwg
Yi9MYXlvdXRUZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvbWVkaWEtc291cmNlLWNhbnBsYXl0aHJv
dWdoLmh0bWwKaW5kZXggNmU5MWY3NmVkYmUxZTE0MWRlMGFjOTdiNmU1ZTIwMTUwNTlkZDYyMi4u
Nzk3OGMyMmQ0M2Q2NDA4YzQ5ODNkYzYzODNhN2FjNTIzOTBiM2Y5NSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL21lZGlhLXNvdXJjZS1jYW5wbGF5dGhyb3VnaC5o
dG1sCisrKyBiL0xheW91dFRlc3RzL21lZGlhL21lZGlhLXNvdXJjZS9tZWRpYS1zb3VyY2UtY2Fu
cGxheXRocm91Z2guaHRtbApAQCAtMzksNyArMzksNyBAQAogICAgIGZ1bmN0aW9uIHNvdXJjZVVw
ZGF0ZWQoKSB7CiAgICAgICAgIHNvdXJjZS5hY3RpdmVTb3VyY2VCdWZmZXJzLmxlbmd0aDsKICAg
ICAgICAgaWYgKG5leHRSZXF1ZXN0IDwgdG90YWxMZW5ndGgpIHsKLSAgICAgICAgICAgIHNvdXJj
ZUJ1ZmZlci5hcHBlbmRCdWZmZXIobWFrZUFTYW1wbGUobmV4dFJlcXVlc3QsIG5leHRSZXF1ZXN0
LCAxLCAxLCAwKSk7CisgICAgICAgICAgICBzb3VyY2VCdWZmZXIuYXBwZW5kQnVmZmVyKG1ha2VB
U2FtcGxlKG5leHRSZXF1ZXN0LCBuZXh0UmVxdWVzdCwgMSwgMSwgU0FNUExFX0ZMQUcuU1lOQykp
OwogICAgICAgICAgICAgKytuZXh0UmVxdWVzdDsKICAgICAgICAgfQogICAgIH0KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL21lZGlhL21lZGlhLXNvdXJjZS9tZWRpYS1zb3VyY2UtcGxheS5odG1s
IGIvTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL21lZGlhLXNvdXJjZS1wbGF5Lmh0bWwK
aW5kZXggOTY1N2FlNGY4MGY3ZmUyN2EyNTQwOTdlOWUyYTAyMWY3YTU2MGVkMi4uY2EyNDY0Y2Ji
NTBiNGYxN2M0NDAzMDlmYjhkN2MzOGQ0ZjI5N2EzMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
bWVkaWEvbWVkaWEtc291cmNlL21lZGlhLXNvdXJjZS1wbGF5Lmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvbWVkaWEvbWVkaWEtc291cmNlL21lZGlhLXNvdXJjZS1wbGF5Lmh0bWwKQEAgLTMxLDcgKzMx
LDcgQEAKICAgICB9CiAKICAgICBmdW5jdGlvbiBsb2FkU2FtcGxlcygpIHsKLSAgICAgICAgc2Ft
cGxlID0gbWFrZUFTYW1wbGUoMCwgMCwgMTAsIDEsIDApOworICAgICAgICBzYW1wbGUgPSBtYWtl
QVNhbXBsZSgwLCAwLCAxMCwgMSwgU0FNUExFX0ZMQUcuU1lOQyk7CiAgICAgICAgIHdhaXRGb3JF
dmVudE9uKHNvdXJjZUJ1ZmZlciwgJ3VwZGF0ZWVuZCcsIHBsYXksIGZhbHNlLCB0cnVlKTsKICAg
ICAgICAgcnVuKCdzb3VyY2VCdWZmZXIuYXBwZW5kQnVmZmVyKHNhbXBsZSknKTsKICAgICB9CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvbWVkaWEtc291cmNlLXZp
ZGVvLXBsYXliYWNrLXF1YWxpdHktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvbWVkaWEvbWVk
aWEtc291cmNlL21lZGlhLXNvdXJjZS12aWRlby1wbGF5YmFjay1xdWFsaXR5LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5iM2EzZWFjNDA0NWZiYTIxYWFmYWE3NzY5YThlNGI1OGMyMGZiODNmCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL21lZGlhLXNv
dXJjZS12aWRlby1wbGF5YmFjay1xdWFsaXR5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDIzIEBA
CisKK1JVTih2aWRlby5zcmMgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKHNvdXJjZSkpCitFVkVOVChz
b3VyY2VvcGVuKQorUlVOKHNvdXJjZUJ1ZmZlciA9IHNvdXJjZS5hZGRTb3VyY2VCdWZmZXIoInZp
ZGVvL21vY2s7IGNvZGVjcz1tb2NrIikpCitSVU4oc291cmNlQnVmZmVyLmFwcGVuZEJ1ZmZlcihp
bml0U2VnbWVudCkpCitFVkVOVCh1cGRhdGVlbmQpCitUZXN0IHRoYXQgYmVnaW5uaW5nIGEgYnVm
ZmVyIHdpdGggYSBub24tc3luYyBzYW1wbGUgcmVzdWx0cyBpbiB0aGF0IHNhbXBsZSBiZWluZyBk
cm9wcGVkLgorUlVOKHNvdXJjZUJ1ZmZlci5hcHBlbmRCdWZmZXIoc2FtcGxlcykpCitFVkVOVCh1
cGRhdGVlbmQpCitSVU4ocXVhbGl0eSA9IHZpZGVvLmdldFZpZGVvUGxheWJhY2tRdWFsaXR5KCkp
CitFWFBFQ1RFRCAocXVhbGl0eS50b3RhbFZpZGVvRnJhbWVzID09ICcxJykgT0sKK0VYUEVDVEVE
IChxdWFsaXR5LmNvcnJ1cHRlZFZpZGVvRnJhbWVzID09ICcwJykgT0sKK0VYUEVDVEVEIChxdWFs
aXR5LmRyb3BwZWRWaWRlb0ZyYW1lcyA9PSAnMScpIE9LCitFWFBFQ1RFRCAocXVhbGl0eS50b3Rh
bEZyYW1lRGVsYXkgPT0gJzAnKSBPSworUlVOKHNvdXJjZUJ1ZmZlci5hcHBlbmRCdWZmZXIoc2Ft
cGxlcykpCitFVkVOVCh1cGRhdGVlbmQpCitSVU4ocXVhbGl0eSA9IHZpZGVvLmdldFZpZGVvUGxh
eWJhY2tRdWFsaXR5KCkpCitFWFBFQ1RFRCAocXVhbGl0eS50b3RhbFZpZGVvRnJhbWVzID09ICc4
JykgT0sKK0VYUEVDVEVEIChxdWFsaXR5LmNvcnJ1cHRlZFZpZGVvRnJhbWVzID09ICcxJykgT0sK
K0VYUEVDVEVEIChxdWFsaXR5LmRyb3BwZWRWaWRlb0ZyYW1lcyA9PSAnMicpIE9LCitFWFBFQ1RF
RCAocXVhbGl0eS50b3RhbEZyYW1lRGVsYXkgPT0gJzMnKSBPSworRU5EIE9GIFRFU1QKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL21lZGlhLXNvdXJjZS12aWRl
by1wbGF5YmFjay1xdWFsaXR5Lmh0bWwgYi9MYXlvdXRUZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2Uv
bWVkaWEtc291cmNlLXZpZGVvLXBsYXliYWNrLXF1YWxpdHkuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42ZjQ2
ODE1NmY0MzE3OGU3M2FhMDYxYzAxZjM2ZWIxOGVhZTkzZGUzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL21lZGlhLXNvdXJjZS12aWRlby1wbGF5YmFj
ay1xdWFsaXR5Lmh0bWwKQEAgLTAsMCArMSw3MSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4K
KzxoZWFkPgorICAgIDx0aXRsZT5tb2NrLW1lZGlhLXNvdXJjZTwvdGl0bGU+CisgICAgPHNjcmlw
dCBzcmM9Im1vY2stbWVkaWEtc291cmNlLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0i
Li4vdmlkZW8tdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdD4KKyAgICB2YXIgc291cmNl
OworICAgIHZhciBzb3VyY2VCdWZmZXI7CisgICAgdmFyIGluaXRTZWdtZW50OworICAgIHZhciBz
YW1wbGVzOworICAgIHZhciBxdWFsaXR5OworCisgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisg
ICAgICAgIGludGVybmFscy5pbml0aWFsaXplTW9ja01lZGlhU291cmNlKCk7CisKKyAgICBmdW5j
dGlvbiBydW5UZXN0KCkgeworICAgICAgICBmaW5kTWVkaWFFbGVtZW50KCk7CisKKyAgICAgICAg
c291cmNlID0gbmV3IE1lZGlhU291cmNlKCk7CisgICAgICAgIHdhaXRGb3JFdmVudE9uKHNvdXJj
ZSwgJ3NvdXJjZW9wZW4nLCBzb3VyY2VPcGVuKTsKKyAgICAgICAgcnVuKCd2aWRlby5zcmMgPSBV
UkwuY3JlYXRlT2JqZWN0VVJMKHNvdXJjZSknKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBzb3Vy
Y2VPcGVuKCkgeworICAgICAgICBydW4oJ3NvdXJjZUJ1ZmZlciA9IHNvdXJjZS5hZGRTb3VyY2VC
dWZmZXIoInZpZGVvL21vY2s7IGNvZGVjcz1tb2NrIiknKTsKKyAgICAgICAgd2FpdEZvckV2ZW50
T24oc291cmNlQnVmZmVyLCAndXBkYXRlZW5kJywgbG9hZFNhbXBsZSwgZmFsc2UsIHRydWUpOwor
ICAgICAgICBpbml0U2VnbWVudCA9IG1ha2VBSW5pdCg4LCBbbWFrZUFUcmFjaygxLCAnbW9jaycs
IFRSQUNLX0tJTkQuVklERU8pXSk7CisgICAgICAgIHJ1bignc291cmNlQnVmZmVyLmFwcGVuZEJ1
ZmZlcihpbml0U2VnbWVudCknKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBsb2FkU2FtcGxlKCkg
eworICAgICAgICBzYW1wbGVzID0gY29uY2F0ZW5hdGVTYW1wbGVzKFttYWtlQVNhbXBsZSgwLCAw
LCAxLCAxLCBTQU1QTEVfRkxBRy5OT05FKV0pOworICAgICAgICB3YWl0Rm9yRXZlbnRPbihzb3Vy
Y2VCdWZmZXIsICd1cGRhdGVlbmQnLCBsb2FkTW9yZVNhbXBsZXMsIGZhbHNlLCB0cnVlKTsKKyAg
ICAgICAgY29uc29sZVdyaXRlKCdUZXN0IHRoYXQgYmVnaW5uaW5nIGEgYnVmZmVyIHdpdGggYSBu
b24tc3luYyBzYW1wbGUgcmVzdWx0cyBpbiB0aGF0IHNhbXBsZSBiZWluZyBkcm9wcGVkLicpCisg
ICAgICAgIHJ1bignc291cmNlQnVmZmVyLmFwcGVuZEJ1ZmZlcihzYW1wbGVzKScpOworICAgIH0K
KworICAgIGZ1bmN0aW9uIGxvYWRNb3JlU2FtcGxlcygpIHsKKyAgICAgICAgcnVuKCdxdWFsaXR5
ID0gdmlkZW8uZ2V0VmlkZW9QbGF5YmFja1F1YWxpdHkoKScpOworICAgICAgICB0ZXN0RXhwZWN0
ZWQoJ3F1YWxpdHkudG90YWxWaWRlb0ZyYW1lcycsIDEpOworICAgICAgICB0ZXN0RXhwZWN0ZWQo
J3F1YWxpdHkuY29ycnVwdGVkVmlkZW9GcmFtZXMnLCAwKTsKKyAgICAgICAgdGVzdEV4cGVjdGVk
KCdxdWFsaXR5LmRyb3BwZWRWaWRlb0ZyYW1lcycsIDEpOworICAgICAgICB0ZXN0RXhwZWN0ZWQo
J3F1YWxpdHkudG90YWxGcmFtZURlbGF5JywgMCk7CisKKyAgICAgICAgc2FtcGxlcyA9IGNvbmNh
dGVuYXRlU2FtcGxlcyhbCisgICAgICAgICAgICBtYWtlQVNhbXBsZSgwLCAwLCAxLCAxLCBTQU1Q
TEVfRkxBRy5TWU5DKSwKKyAgICAgICAgICAgIG1ha2VBU2FtcGxlKDEsIDEsIDEsIDEsIFNBTVBM
RV9GTEFHLkNPUlJVUFRFRCksCisgICAgICAgICAgICBtYWtlQVNhbXBsZSgyLCAyLCAxLCAxLCBT
QU1QTEVfRkxBRy5EUk9QUEVEKSwKKyAgICAgICAgICAgIG1ha2VBU2FtcGxlKDQsIDQsIDEsIDEs
IFNBTVBMRV9GTEFHLkRFTEFZRUQpLAorICAgICAgICAgICAgbWFrZUFTYW1wbGUoNSwgNSwgMSwg
MSwgU0FNUExFX0ZMQUcuREVMQVlFRCksCisgICAgICAgICAgICBtYWtlQVNhbXBsZSg2LCA2LCAx
LCAxLCBTQU1QTEVfRkxBRy5ERUxBWUVEKSwKKyAgICAgICAgICAgIG1ha2VBU2FtcGxlKDcsIDcs
IDEsIDEsIFNBTVBMRV9GTEFHLk5PTkUpLAorICAgICAgICBdKTsKKyAgICAgICAgd2FpdEZvckV2
ZW50T24oc291cmNlQnVmZmVyLCAndXBkYXRlZW5kJywgc2FtcGxlc0FkZGVkLCBmYWxzZSwgdHJ1
ZSk7CisgICAgICAgIHJ1bignc291cmNlQnVmZmVyLmFwcGVuZEJ1ZmZlcihzYW1wbGVzKScpOwor
ICAgIH0KKworICAgIGZ1bmN0aW9uIHNhbXBsZXNBZGRlZCgpIHsKKyAgICAgICAgcnVuKCdxdWFs
aXR5ID0gdmlkZW8uZ2V0VmlkZW9QbGF5YmFja1F1YWxpdHkoKScpOworICAgICAgICB0ZXN0RXhw
ZWN0ZWQoJ3F1YWxpdHkudG90YWxWaWRlb0ZyYW1lcycsIDgpOworICAgICAgICB0ZXN0RXhwZWN0
ZWQoJ3F1YWxpdHkuY29ycnVwdGVkVmlkZW9GcmFtZXMnLCAxKTsKKyAgICAgICAgdGVzdEV4cGVj
dGVkKCdxdWFsaXR5LmRyb3BwZWRWaWRlb0ZyYW1lcycsIDIpOworICAgICAgICB0ZXN0RXhwZWN0
ZWQoJ3F1YWxpdHkudG90YWxGcmFtZURlbGF5JywgMyk7CisgICAgICAgIGVuZFRlc3QoKTsKKyAg
ICB9CisgICAgPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Cisg
ICAgPHZpZGVvPjwvdmlkZW8+Cis8L2JvZHk+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL21vY2stbWVkaWEtc291
cmNlLmpzIGIvTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL21vY2stbWVkaWEtc291cmNl
LmpzCmluZGV4IDM4NmU3Y2IzMWQ2MWVhMTZmNGQ0NmUwNmZhMDViZmU2NjI1YTc1YzAuLjdlNGQ3
OTQyYzM2NGNiMWJjMmQ0ZGM4NmU2ZThiZDliYzNmOGQzNjQgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL21lZGlhL21lZGlhLXNvdXJjZS9tb2NrLW1lZGlhLXNvdXJjZS5qcworKysgYi9MYXlvdXRU
ZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvbW9jay1tZWRpYS1zb3VyY2UuanMKQEAgLTExLDYgKzEx
LDkgQEAgZnVuY3Rpb24gc3RyaW5nVG9BcnJheShzdHJpbmcpIHsKIHZhciBTQU1QTEVfRkxBRyA9
IHsKICAgICBOT05FOiAwLAogICAgIFNZTkM6IDEgPDwgMCwKKyAgICBDT1JSVVBURUQ6IDEgPDwg
MSwKKyAgICBEUk9QUEVEOiAxIDw8IDIsCisgICAgREVMQVlFRDogMSA8PCAzLAogfTsKIAogZnVu
Y3Rpb24gbWFrZUFTYW1wbGUocHJlc2VudGF0aW9uVGltZSwgZGVjb2RlVGltZSwgZHVyYXRpb24s
IHRyYWNrSUQsIGZsYWdzKSB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>218797</attachid>
            <date>2013-12-09 13:54:59 -0800</date>
            <delta_ts>2013-12-09 15:33:56 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-125380-20131209135459.patch</filename>
            <type>text/plain</type>
            <size>51876</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYwMjgyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTBiM2Y2MDI1MGUxNzU5
ZjExNmNkODQ3NmQ0MjhkNWIzY2I3YzlkNi4uMzJkZTU5NWNjM2Q1NzUyYWY0YjA0NjRlY2NmNzcw
NGYyNjdlMGFhZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDk5IEBACisyMDEzLTEyLTA5ICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFtNU0VdIEFkZCBzdXBwb3J0
IGZvciBWaWRlb1BsYXliYWNrTWV0cmljcy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTEyNTM4MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFRlc3Q6IG1lZGlhL21lZGlhLXNvdXJjZS9tZWRpYS1zb3VyY2Ut
dmlkZW8tcGxheWJhY2stcXVhbGl0eS5odG1sCisKKyAgICAgICAgQWRkIGEgbmV3IG9iamVjdCB0
eXBlIFZpZGVvUGxheWJhY2tRdWFsaXR5IHRvIGJlIHJldHVybmVkIGJ5CisgICAgICAgIEhUTUxN
ZWRpYUVsZW1lbnQuZ2V0VmlkZW9QbGF5YmFja1F1YWxpdHkoKS4KKworICAgICAgICBIVE1MTWVk
aWFFbGVtZW50cyBtdXN0IHNlcGFyYXRlbHkgdHJhY2sgYSBkcm9wcGVkVmlkZW9GcmFtZSBjb3Vu
dCwgYXMKKyAgICAgICAgY2VydGFpbiBvcGVyYXRpb25zIG9uIFNvdXJjZUJ1ZmZlciB3aWxsIGRy
b3AgaW5jb21pbmcgZnJhbWVzLCB3aGljaCBtdXN0CisgICAgICAgIGJlIGFjY291bnRlZCBmb3Iu
IFJlc2V0IHRoaXMgY291bnQgd2hlbiB0aGUgbWVkaWEgZW5naW5lIGNoYW5nZXMsIHdoaWNoIGlz
CisgICAgICAgIGluZGljaXRpdmUgb2YgYSBuZXcgbWVkaWEgbG9hZCByZXF1c2V0IHN0YXJ0aW5n
LgorCisgICAgICAgIEFkZCB0aGUgbmV3IFZpZGVvUGxheWJhY2tRdWFsaXR5IGNsYXNzOgorICAg
ICAgICAqIE1vZHVsZXMvbWVkaWFzb3VyY2UvVmlkZW9QbGF5YmFja1F1YWxpdHkuY3BwOiBBZGRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6OlZpZGVvUGxheWJhY2tRdWFsaXR5OjpjcmVhdGUpOgorICAg
ICAgICAoV2ViQ29yZTo6VmlkZW9QbGF5YmFja1F1YWxpdHk6OlZpZGVvUGxheWJhY2tRdWFsaXR5
KToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc291cmNlL1ZpZGVvUGxheWJhY2tRdWFsaXR5Lmg6
IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6VmlkZW9QbGF5YmFja1F1YWxpdHk6OmNyZWF0aW9u
VGltZSk6CisgICAgICAgIChXZWJDb3JlOjpWaWRlb1BsYXliYWNrUXVhbGl0eTo6dG90YWxWaWRl
b0ZyYW1lcyk6CisgICAgICAgIChXZWJDb3JlOjpWaWRlb1BsYXliYWNrUXVhbGl0eTo6ZHJvcHBl
ZFZpZGVvRnJhbWVzKToKKyAgICAgICAgKFdlYkNvcmU6OlZpZGVvUGxheWJhY2tRdWFsaXR5Ojpj
b3JydXB0ZWRWaWRlb0ZyYW1lcyk6CisgICAgICAgIChXZWJDb3JlOjpWaWRlb1BsYXliYWNrUXVh
bGl0eTo6dG90YWxGcmFtZURlbGF5KToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc291cmNlL1Zp
ZGVvUGxheWJhY2tRdWFsaXR5LmlkbDogQWRkZWQuCisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9y
IHRoZSBuZXcgY2xhc3MgdG8gSFRNTE1lZGlhRWxlbWVudDoKKyAgICAgICAgKiBodG1sL0hUTUxN
ZWRpYUVsZW1lbnQuY3BwOgorICAgICAgICAoSFRNTE1lZGlhRWxlbWVudDo6c2hvdWxkVXNlVmlk
ZW9QbHVnaW5Qcm94eSk6CisgICAgICAgIChIVE1MTWVkaWFFbGVtZW50OjpnZXRWaWRlb1BsYXli
YWNrUXVhbGl0eSk6CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50Lmg6CisgICAgICAg
ICogaHRtbC9IVE1MTWVkaWFFbGVtZW50LmlkbDoKKworICAgICAgICBSZXBvcnQgdGhlIHZpZGVv
IHF1YWxpdHkgbWV0cmljcyBmcm9tIHRoZSBNZWRpYVBsYXllcjoKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXll
cjo6dG90YWxWaWRlb0ZyYW1lcyk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllcjo6ZHJv
cHBlZFZpZGVvRnJhbWVzKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyOjpjb3JydXB0
ZWRWaWRlb0ZyYW1lcyk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllcjo6dG90YWxGcmFt
ZURlbGF5KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNlOjp0b3RhbFZpZGVvRnJhbWVzKToK
KyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZTo6ZHJvcHBlZFZp
ZGVvRnJhbWVzKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFj
ZTo6Y29ycnVwdGVkVmlkZW9GcmFtZXMpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQ
cml2YXRlSW50ZXJmYWNlOjp0b3RhbEZyYW1lRGVsYXkpOgorCisgICAgICAgIENvcnJlY3RseSBy
ZXBvcnQgdGhlIGRyb3BwZWQgZnJhbWUgY291bnQ6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXNv
dXJjZS9Tb3VyY2VCdWZmZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U291cmNlQnVmZmVyOjpU
cmFja0J1ZmZlcjo6VHJhY2tCdWZmZXIpOiBuZWVkc1JhbmRvbUFjY2Vzc0ZsYWcgZGVmYXVsdHMg
dG8gdHJ1ZS4KKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlcjo6c291cmNlQnVmZmVyUHJp
dmF0ZURpZFJlY2VpdmVTYW1wbGUpOiBDaGVjayB0aGUgc3luYyBzdGF0dXMgb2YgdGhlIGluY29t
aW5nIHNhbXBsZS4KKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlcjo6ZGlkRHJvcFNhbXBs
ZSk6IE5vdGlmeSB0aGUgbWVkaWEgZWxlbWVudCBvZiBhIGRyb3BwZWQgZnJhbWUuCisgICAgICAg
ICogTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuaDoKKyAgICAgICAgKiBodG1sL0hU
TUxNZWRpYUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6
SFRNTE1lZGlhRWxlbWVudCk6CisgICAgICAgIChIVE1MTWVkaWFFbGVtZW50OjptZWRpYVBsYXll
ckVuZ2luZVVwZGF0ZWQpOiBSZXNldCBtX2Ryb3BwZWRGcmFtZUNvdW50LgorICAgICAgICAoSFRN
TE1lZGlhRWxlbWVudDo6Z2V0VmlkZW9QbGF5YmFja1F1YWxpdHkpOiBSZXR1cm4gYSBuZXcgVmlk
ZW9QbGF5YmFja1F1YWxpdHkgb2JqZWN0LgorICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVu
dC5oOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6aW5jcmVtZW50RHJvcHBl
ZEZyYW1lQ291bnQpOiBTaW1wbGUgaW5jcmVtZW50ZXIuCisgICAgICAgICogcGxhdGZvcm0vTWVk
aWFTYW1wbGUuaDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU2FtcGxlOjppc1N5bmMpOiBDb252
ZW5pZW5jZSBmdW5jdGlvbi4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU2FtcGxlOjppc05vbkRp
c3BsYXlpbmcpOiBEaXR0by4KKworICAgICAgICBBZGQgc3VwcG9ydCBpbiB0aGUgQVZGb3VuZGF0
aW9uIE1lZGlhU291cmNlIEVuZ2luZToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZv
dW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMuaDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclBy
aXZhdGVNZWRpYVNvdXJjZUFWRk9iakMubW06CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXll
clByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OnRvdGFsVmlkZW9GcmFtZXMpOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpkcm9wcGVkVmlk
ZW9GcmFtZXMpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3Vy
Y2VBVkZPYmpDOjpjb3JydXB0ZWRWaWRlb0ZyYW1lcyk6CisgICAgICAgIChXZWJDb3JlOjpNZWRp
YVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OnRvdGFsRnJhbWVEZWxheSk6CisKKyAg
ICAgICAgQWRkIHN1cHBvcnQgaW4gdGhlIE1vY2sgTWVkaWFTb3VyY2UgRW5naW5lOgorICAgICAg
ICAqIHBsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja0JveC5oOgorICAgICAgICAqIHBsYXRm
b3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2UuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6TW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2U6OnRvdGFsVmlkZW9GcmFt
ZXMpOiBTaW1wbGUgYWNjZXNzb3IuCisgICAgICAgIChXZWJDb3JlOjpNb2NrTWVkaWFQbGF5ZXJN
ZWRpYVNvdXJjZTo6ZHJvcHBlZFZpZGVvRnJhbWVzKTogRGl0dG8uCisgICAgICAgIChXZWJDb3Jl
OjpNb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZTo6Y29ycnVwdGVkVmlkZW9GcmFtZXMpOiBEaXR0
by4KKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tNZWRpYVBsYXllck1lZGlhU291cmNlOjp0b3RhbEZy
YW1lRGVsYXkpOiBEaXR0by4KKyAgICAgICAgKiBwbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01v
Y2tNZWRpYVBsYXllck1lZGlhU291cmNlLmg6CisgICAgICAgICogcGxhdGZvcm0vbW9jay9tZWRp
YXNvdXJjZS9Nb2NrTWVkaWFTb3VyY2VQcml2YXRlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1v
Y2tNZWRpYVNvdXJjZVByaXZhdGU6Ok1vY2tNZWRpYVNvdXJjZVByaXZhdGUpOgorICAgICAgICAq
IHBsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja01lZGlhU291cmNlUHJpdmF0ZS5oOgorICAg
ICAgICAqIHBsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja1NvdXJjZUJ1ZmZlclByaXZhdGUu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6TW9ja1NvdXJjZUJ1ZmZlclByaXZhdGU6OmVucXVldWVT
YW1wbGUpOiBJbmNyZW1lbnQgdGhlIGZyYW1lIGNvdW50cyBiYXNlZCBvbgorICAgICAgICAgICAg
dGhlIGluY29taW5nIHNhbXBsZS4KKyAgICAgICAgKiBwbGF0Zm9ybS9tb2NrL21lZGlhc291cmNl
L01vY2tTb3VyY2VCdWZmZXJQcml2YXRlLmg6CisKKyAgICAgICAgQWRkIHRoZSBuZXcgZmlsZXMg
dG8gdGhlIHByb2plY3Q6CisgICAgICAgICogYmluZGluZ3MvZ29iamVjdC9HTlVtYWtlZmlsZS5h
bToKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIFdlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBHTlVNYWtlZmlsZS5saXN0LmFtOgor
ICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorCiAyMDEzLTEyLTA1ICBKZXIgTm9ibGUgIDxqZXIu
bm9ibGVAYXBwbGUuY29tPgogCiAgICAgICAgIFtNU0VdIEJyaW5nIGVuZC1vZi1zdHJlYW0gYWxn
b3JpdGhtIHNlY3Rpb24gdXAgdG8gY3VycmVudCBzcGVjLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRl
eCBjZmEzNDJkMDZjZDQ3ZmQzNjVhMTgzNDY4NDU3OGRjOGI3YTQ5OWY5Li5jYTdjNDgzYmM5NTkx
OTAzYzVhMDRlYTFjMjEzYjhiN2YxODA2MDFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9D
TWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMTg1
LDYgKzE4NSw3IEBAIHNldChXZWJDb3JlX0lETF9GSUxFUwogICAgIE1vZHVsZXMvbWVkaWFzb3Vy
Y2UvTWVkaWFTb3VyY2UuaWRsCiAgICAgTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIu
aWRsCiAgICAgTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXJMaXN0LmlkbAorICAgIE1v
ZHVsZXMvbWVkaWFzb3VyY2UvVmlkZW9QbGF5YmFja1F1YWxpdHkuaWRsCiAKICAgICBNb2R1bGVz
L21lZGlhc3RyZWFtL0FsbEF1ZGlvQ2FwYWJpbGl0aWVzLmlkbAogICAgIE1vZHVsZXMvbWVkaWFz
dHJlYW0vQWxsVmlkZW9DYXBhYmlsaXRpZXMuaWRsCkBAIC04MjksNiArODMwLDcgQEAgc2V0KFdl
YkNvcmVfU09VUkNFUwogICAgIE1vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2VSZWdpc3Ry
eS5jcHAKICAgICBNb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5jcHAKICAgICBNb2R1
bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlckxpc3QuY3BwCisgICAgTW9kdWxlcy9tZWRpYXNv
dXJjZS9WaWRlb1BsYXliYWNrUXVhbGl0eS5jcHAKIAogICAgIE1vZHVsZXMvbWVkaWFzdHJlYW0v
QXVkaW9TdHJlYW1UcmFjay5jcHAKICAgICBNb2R1bGVzL21lZGlhc3RyZWFtL0NhcGFiaWxpdHlS
YW5nZS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2Ug
Yi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IDUyNWFkOTBkZTM3YThi
MzMxMjI0YTc2ODNjNWZkMzJlYTk5NmE2ZGQuLjQ5ZmNlMGY5NWUwMzgwMzQ5MTkxYWRkOWMwZGE0
Njk4OTEzZDRlYzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1h
a2UKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtMTAzLDYgKzEw
Myw3IEBAIEJJTkRJTkdfSURMUyA9IFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFzb3Vy
Y2UvU291cmNlQnVmZmVyTGlzdC5pZGwgXAogCSQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXNvdXJj
ZS9UZXh0VHJhY2tNZWRpYVNvdXJjZS5pZGwgXAogCSQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXNv
dXJjZS9WaWRlb1RyYWNrTWVkaWFTb3VyY2UuaWRsIFwKKwkkKFdlYkNvcmUpL01vZHVsZXMvbWVk
aWFzb3VyY2UvVmlkZW9QbGF5YmFja1F1YWxpdHkuaWRsIFwKIAkkKFdlYkNvcmUpL01vZHVsZXMv
bWVkaWFzdHJlYW0vQWxsVmlkZW9DYXBhYmlsaXRpZXMuaWRsIFwKIAkkKFdlYkNvcmUpL01vZHVs
ZXMvbWVkaWFzdHJlYW0vQWxsQXVkaW9DYXBhYmlsaXRpZXMuaWRsIFwKIAkkKFdlYkNvcmUpL01v
ZHVsZXMvbWVkaWFzdHJlYW0vQXVkaW9TdHJlYW1UcmFjay5pZGwgXApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2Vm
aWxlLmxpc3QuYW0KaW5kZXggNmI0NWI5MzU2ZjJkOWRmZDllZGVkZjc4OGU3YjEzMjdmOGM1Yjk4
YS4uZmI2OTU5Yjg2YjEwZWI2ODI3MDNkZGU5Yjk0ODUwNGMzMWI2ZDBjNSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9H
TlVtYWtlZmlsZS5saXN0LmFtCkBAIC03MzUsNiArNzM1LDggQEAgd2ViY29yZV9idWlsdF9zb3Vy
Y2VzICs9IFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTVmFsaWRpdHlTdGF0ZS5oIFwKIAlE
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTVm9pZENhbGxiYWNrLmNwcCBcCiAJRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU1ZvaWRDYWxsYmFjay5oIFwKKwlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pT
VmlkZW9QbGF5YmFja1F1YWxpdHkuaCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1ZpZGVv
UGxheWJhY2tRdWFsaXR5LmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1ZpZGVvU3Ry
ZWFtVHJhY2suaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1ZpZGVvU3RyZWFtVHJhY2su
Y3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTVmlkZW9UcmFjay5jcHAgXApAQCAtMTIw
Miw2ICsxMjA0LDcgQEAgZG9tX2JpbmRpbmdfaWRscyArPSBcCiAJJChXZWJDb3JlKS9Nb2R1bGVz
L21lZGlhc291cmNlL01lZGlhU291cmNlLmlkbCBcCiAJJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlh
c291cmNlL1NvdXJjZUJ1ZmZlci5pZGwgXAogCSQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXNvdXJj
ZS9Tb3VyY2VCdWZmZXJMaXN0LmlkbCBcCisJJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhc291cmNl
L1ZpZGVvUGxheWJhY2tRdWFsaXR5LmlkbCBcCiAJJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhc3Ry
ZWFtL0FsbFZpZGVvQ2FwYWJpbGl0aWVzLmlkbCBcCiAJJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlh
c3RyZWFtL0FsbEF1ZGlvQ2FwYWJpbGl0aWVzLmlkbCBcCiAJJChXZWJDb3JlKS9Nb2R1bGVzL21l
ZGlhc3RyZWFtL0F1ZGlvU3RyZWFtVHJhY2suaWRsIFwKQEAgLTE4ODQsNiArMTg4Nyw4IEBAIHdl
YmNvcmVfbW9kdWxlc19zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c291cmNlL0RPTVVSTE1lZGlhU291cmNlLmggXAogCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzb3VyY2UvU2FtcGxlTWFwLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNv
dXJjZS9TYW1wbGVNYXAuaCBcCisJU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9W
aWRlb1BsYXliYWNrUXVhbGl0eS5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
b3VyY2UvVmlkZW9QbGF5YmFja1F1YWxpdHkuaCBcCiAJU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9BbGxBdWRpb0NhcGFiaWxpdGllcy5oIFwKIAlTb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc3RyZWFtL0FsbFZpZGVvQ2FwYWJpbGl0aWVzLmggXAogCVNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vQXVkaW9TdHJlYW1UcmFjay5jcHAgXApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuY3BwCmluZGV4IDg5
NWFhYjRjMjg3YmUyMjI4MmRkZmZmNjNkYjY5NjAxOWMxY2UwOWYuLjNlYTc4ZDZkMGJlM2MwMTE3
NDA5MjM1OTI4MWU1MWVjZmZiMGE5MWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5jcHAKQEAgLTY5LDcgKzY5LDcgQEAgc3RydWN0
IFNvdXJjZUJ1ZmZlcjo6VHJhY2tCdWZmZXIgewogICAgICAgICAsIGxhc3RGcmFtZUR1cmF0aW9u
KE1lZGlhVGltZTo6aW52YWxpZFRpbWUoKSkKICAgICAgICAgLCBoaWdoZXN0UHJlc2VudGF0aW9u
VGltZXN0YW1wKE1lZGlhVGltZTo6aW52YWxpZFRpbWUoKSkKICAgICAgICAgLCBsYXN0RW5xdWV1
ZWRQcmVzZW50YXRpb25UaW1lKE1lZGlhVGltZTo6aW52YWxpZFRpbWUoKSkKLSAgICAgICAgLCBu
ZWVkUmFuZG9tQWNjZXNzRmxhZyhmYWxzZSkKKyAgICAgICAgLCBuZWVkUmFuZG9tQWNjZXNzRmxh
Zyh0cnVlKQogICAgICAgICAsIGVuYWJsZWQoZmFsc2UpCiAgICAgewogICAgIH0KQEAgLTg2MCwx
MCArODYwLDE3IEBAIHZvaWQgU291cmNlQnVmZmVyOjpzb3VyY2VCdWZmZXJQcml2YXRlRGlkUmVj
ZWl2ZVNhbXBsZShTb3VyY2VCdWZmZXJQcml2YXRlKiwgUGFzCiAgICAgICAgIC8vIEZJWE1FOiBp
bXBsZW1lbnQgYXBwZW5kIHdpbmRvd3MKIAogICAgICAgICAvLyAxLjExIElmIHRoZSBuZWVkIHJh
bmRvbSBhY2Nlc3MgcG9pbnQgZmxhZyBvbiB0cmFjayBidWZmZXIgZXF1YWxzIHRydWUsIHRoZW4g
cnVuIHRoZSBmb2xsb3dpbmcgc3RlcHM6Ci0gICAgICAgIC8vIDEuMTEuMSBJZiB0aGUgY29kZWQg
ZnJhbWUgaXMgbm90IGEgcmFuZG9tIGFjY2VzcyBwb2ludCwgdGhlbiBkcm9wIHRoZSBjb2RlZCBm
cmFtZSBhbmQganVtcAotICAgICAgICAvLyB0byB0aGUgdG9wIG9mIHRoZSBsb29wIHRvIHN0YXJ0
IHByb2Nlc3NpbmcgdGhlIG5leHQgY29kZWQgZnJhbWUuCi0gICAgICAgIC8vIDEuMTEuMiBTZXQg
dGhlIG5lZWQgcmFuZG9tIGFjY2VzcyBwb2ludCBmbGFnIG9uIHRyYWNrIGJ1ZmZlciB0byBmYWxz
ZS4KLSAgICAgICAgLy8gTk9URTogTW9ja1NhbXBsZUJveGVzIGFyZSBub3QgZGVjb2RhYmxlLgor
ICAgICAgICBpZiAodHJhY2tCdWZmZXIubmVlZFJhbmRvbUFjY2Vzc0ZsYWcpIHsKKyAgICAgICAg
ICAgIC8vIDEuMTEuMSBJZiB0aGUgY29kZWQgZnJhbWUgaXMgbm90IGEgcmFuZG9tIGFjY2VzcyBw
b2ludCwgdGhlbiBkcm9wIHRoZSBjb2RlZCBmcmFtZSBhbmQganVtcAorICAgICAgICAgICAgLy8g
dG8gdGhlIHRvcCBvZiB0aGUgbG9vcCB0byBzdGFydCBwcm9jZXNzaW5nIHRoZSBuZXh0IGNvZGVk
IGZyYW1lLgorICAgICAgICAgICAgaWYgKCFzYW1wbGUtPmlzU3luYygpKSB7CisgICAgICAgICAg
ICAgICAgZGlkRHJvcFNhbXBsZSgpOworICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAg
ICAgIH0KKworICAgICAgICAgICAgLy8gMS4xMS4yIFNldCB0aGUgbmVlZCByYW5kb20gYWNjZXNz
IHBvaW50IGZsYWcgb24gdHJhY2sgYnVmZmVyIHRvIGZhbHNlLgorICAgICAgICAgICAgdHJhY2tC
dWZmZXIubmVlZFJhbmRvbUFjY2Vzc0ZsYWcgPSBmYWxzZTsKKyAgICAgICAgfQogCiAgICAgICAg
IC8vIDEuMTIgTGV0IHNwbGljZWQgYXVkaW8gZnJhbWUgYmUgYW4gdW5zZXQgdmFyaWFibGUgZm9y
IGhvbGRpbmcgYXVkaW8gc3BsaWNlIGluZm9ybWF0aW9uCiAgICAgICAgIC8vIDEuMTMgTGV0IHNw
bGljZWQgdGltZWQgdGV4dCBmcmFtZSBiZSBhbiB1bnNldCB2YXJpYWJsZSBmb3IgaG9sZGluZyB0
aW1lZCB0ZXh0IHNwbGljZSBpbmZvcm1hdGlvbgpAQCAtMTE0Niw2ICsxMTUzLDEyIEBAIHZvaWQg
U291cmNlQnVmZmVyOjpwcm92aWRlTWVkaWFEYXRhKCkKICAgICBMT0coTWVkaWEsICJTb3VyY2VC
dWZmZXI6OnByb3ZpZGVNZWRpYURhdGEoJXApIC0gRW5xdWV1ZWQgJXUgc2FtcGxlcyIsIHRoaXMs
IGVucXVldWVkU2FtcGxlcyk7CiB9CiAKK3ZvaWQgU291cmNlQnVmZmVyOjpkaWREcm9wU2FtcGxl
KCkKK3sKKyAgICBpZiAoIWlzUmVtb3ZlZCgpKQorICAgICAgICBtX3NvdXJjZS0+bWVkaWFFbGVt
ZW50KCktPmluY3JlbWVudERyb3BwZWRGcmFtZUNvdW50KCk7Cit9CisKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNv
dXJjZS9Tb3VyY2VCdWZmZXIuaAppbmRleCA3NTYzYTM0ZjE3NTEyNTIzMmYwYmM3YWQwMTNkY2Y1
OGRlOTBkMDYyLi5kMjJjZGExYWRkMjM3OTBmOTEwMzcyYzk3NWJjMmUwYzdjNWMxNzhiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmgK
QEAgLTE0MSw2ICsxNDEsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgdmFsaWRhdGVJbml0aWFsaXph
dGlvblNlZ21lbnQoY29uc3QgSW5pdGlhbGl6YXRpb25TZWdtZW50Jik7CiAKICAgICB2b2lkIHBy
b3ZpZGVNZWRpYURhdGEoKTsKKyAgICB2b2lkIGRpZERyb3BTYW1wbGUoKTsKIAogICAgIFJlZlB0
cjxTb3VyY2VCdWZmZXJQcml2YXRlPiBtX3ByaXZhdGU7CiAgICAgTWVkaWFTb3VyY2UqIG1fc291
cmNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9WaWRl
b1BsYXliYWNrUXVhbGl0eS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNl
L1ZpZGVvUGxheWJhY2tRdWFsaXR5LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mN2E1Y2Y4M2NmMjBlYzg3OWZi
ODQ4OTQ1OTE4YmFiNjlmNGU2ZmFhCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXNvdXJjZS9WaWRlb1BsYXliYWNrUXVhbGl0eS5jcHAKQEAgLTAsMCArMSw0
NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJWaWRlb1Bs
YXliYWNrUXVhbGl0eS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1JlZlB0cjxWaWRlb1Bs
YXliYWNrUXVhbGl0eT4gVmlkZW9QbGF5YmFja1F1YWxpdHk6OmNyZWF0ZShkb3VibGUgY3JlYXRp
b25UaW1lLCB1bnNpZ25lZCBsb25nIHRvdGFsVmlkZW9GcmFtZXMsIHVuc2lnbmVkIGxvbmcgZHJv
cHBlZFZpZGVvRnJhbWVzLCB1bnNpZ25lZCBsb25nIGNvcnJ1cHRlZFZpZGVvRnJhbWVzLCBkb3Vi
bGUgdG90YWxGcmFtZURlbGF5KQoreworICAgIHJldHVybiBhZG9wdFJlZihuZXcgVmlkZW9QbGF5
YmFja1F1YWxpdHkoY3JlYXRpb25UaW1lLCB0b3RhbFZpZGVvRnJhbWVzLCBkcm9wcGVkVmlkZW9G
cmFtZXMsIGNvcnJ1cHRlZFZpZGVvRnJhbWVzLCB0b3RhbEZyYW1lRGVsYXkpKTsKK30KKworVmlk
ZW9QbGF5YmFja1F1YWxpdHk6OlZpZGVvUGxheWJhY2tRdWFsaXR5KGRvdWJsZSBjcmVhdGlvblRp
bWUsIHVuc2lnbmVkIGxvbmcgdG90YWxWaWRlb0ZyYW1lcywgdW5zaWduZWQgbG9uZyBkcm9wcGVk
VmlkZW9GcmFtZXMsIHVuc2lnbmVkIGxvbmcgY29ycnVwdGVkVmlkZW9GcmFtZXMsIGRvdWJsZSB0
b3RhbEZyYW1lRGVsYXkpCisgICAgOiBtX2NyZWF0aW9uVGltZShjcmVhdGlvblRpbWUpCisgICAg
LCBtX3RvdGFsVmlkZW9GcmFtZXModG90YWxWaWRlb0ZyYW1lcykKKyAgICAsIG1fZHJvcHBlZFZp
ZGVvRnJhbWVzKGRyb3BwZWRWaWRlb0ZyYW1lcykKKyAgICAsIG1fY29ycnVwdGVkVmlkZW9GcmFt
ZXMoY29ycnVwdGVkVmlkZW9GcmFtZXMpCisgICAgLCBtX3RvdGFsRnJhbWVEZWxheSh0b3RhbEZy
YW1lRGVsYXkpCit7Cit9CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzb3VyY2UvVmlkZW9QbGF5YmFja1F1YWxpdHkuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzb3VyY2UvVmlkZW9QbGF5YmFja1F1YWxpdHkuaApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41Yjg5Mzc3
YjdjNTA2NjM1M2MyNjdiOWNhYjI2NjA0ZjQwYjAyODA3Ci0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9WaWRlb1BsYXliYWNrUXVhbGl0eS5oCkBA
IC0wLDAgKzEsNTcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFZpZGVvUGxheWJhY2tRdWFsaXR5
X2gKKyNkZWZpbmUgVmlkZW9QbGF5YmFja1F1YWxpdHlfaAorCisjaW5jbHVkZSA8d3RmL1JlZkNv
dW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
KworY2xhc3MgVmlkZW9QbGF5YmFja1F1YWxpdHkgOiBwdWJsaWMgUmVmQ291bnRlZDxWaWRlb1Bs
YXliYWNrUXVhbGl0eT4geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFZpZGVvUGxheWJhY2tR
dWFsaXR5KQorcHVibGljOgorICAgIHN0YXRpYyBSZWZQdHI8VmlkZW9QbGF5YmFja1F1YWxpdHk+
IGNyZWF0ZShkb3VibGUgY3JlYXRpb25UaW1lLCB1bnNpZ25lZCBsb25nIHRvdGFsVmlkZW9GcmFt
ZXMsIHVuc2lnbmVkIGxvbmcgZHJvcHBlZFZpZGVvRnJhbWVzLCB1bnNpZ25lZCBsb25nIGNvcnJ1
cHRlZFZpZGVvRnJhbWVzLCBkb3VibGUgdG90YWxGcmFtZURlbGF5KTsKKworICAgIGRvdWJsZSBj
cmVhdGlvblRpbWUoKSBjb25zdCB7IHJldHVybiBtX2NyZWF0aW9uVGltZTsgfQorICAgIHVuc2ln
bmVkIGxvbmcgdG90YWxWaWRlb0ZyYW1lcygpIGNvbnN0IHsgcmV0dXJuIG1fdG90YWxWaWRlb0Zy
YW1lczsgfQorICAgIHVuc2lnbmVkIGxvbmcgZHJvcHBlZFZpZGVvRnJhbWVzKCkgY29uc3QgeyBy
ZXR1cm4gbV9kcm9wcGVkVmlkZW9GcmFtZXM7IH0KKyAgICB1bnNpZ25lZCBsb25nIGNvcnJ1cHRl
ZFZpZGVvRnJhbWVzKCkgY29uc3QgeyByZXR1cm4gbV9jb3JydXB0ZWRWaWRlb0ZyYW1lczsgfQor
ICAgIGRvdWJsZSB0b3RhbEZyYW1lRGVsYXkoKSBjb25zdCB7IHJldHVybiBtX3RvdGFsRnJhbWVE
ZWxheTsgfQorCitwcm90ZWN0ZWQ6CisgICAgVmlkZW9QbGF5YmFja1F1YWxpdHkoZG91YmxlIGNy
ZWF0aW9uVGltZSwgdW5zaWduZWQgbG9uZyB0b3RhbFZpZGVvRnJhbWVzLCB1bnNpZ25lZCBsb25n
IGRyb3BwZWRWaWRlb0ZyYW1lcywgdW5zaWduZWQgbG9uZyBjb3JydXB0ZWRWaWRlb0ZyYW1lcywg
ZG91YmxlIHRvdGFsRnJhbWVEZWxheSk7CisKKyAgICBkb3VibGUgbV9jcmVhdGlvblRpbWU7Cisg
ICAgdW5zaWduZWQgbG9uZyBtX3RvdGFsVmlkZW9GcmFtZXM7CisgICAgdW5zaWduZWQgbG9uZyBt
X2Ryb3BwZWRWaWRlb0ZyYW1lczsKKyAgICB1bnNpZ25lZCBsb25nIG1fY29ycnVwdGVkVmlkZW9G
cmFtZXM7CisgICAgZG91YmxlIG1fdG90YWxGcmFtZURlbGF5OworfTsKKworfQorCisjZW5kaWYg
Ly8gVmlkZW9QbGF5YmFja1F1YWxpdHlfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXNvdXJjZS9WaWRlb1BsYXliYWNrUXVhbGl0eS5pZGwgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc291cmNlL1ZpZGVvUGxheWJhY2tRdWFsaXR5LmlkbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li42NWM2MTkzMDE3NjBhMzgzMWU1ZWZiYWY2YzZmZTA1MzIzNTc1ZDA2Ci0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9WaWRlb1BsYXliYWNrUXVh
bGl0eS5pZGwKQEAgLTAsMCArMSwzOSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMK
KyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAq
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK1sKKyAgICBDb25kaXRpb25h
bD1NRURJQV9TT1VSQ0UsCisgICAgTm9JbnRlcmZhY2VPYmplY3QsCisgICAgSW1wbGVtZW50YXRp
b25MYWNrc1ZUYWJsZSwKK10gaW50ZXJmYWNlIFZpZGVvUGxheWJhY2tRdWFsaXR5IHsKKyAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgZG91YmxlIGNyZWF0aW9uVGltZTsKKyAgICByZWFkb25seSBhdHRy
aWJ1dGUgdW5zaWduZWQgbG9uZyB0b3RhbFZpZGVvRnJhbWVzOworICAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSB1bnNpZ25lZCBsb25nIGRyb3BwZWRWaWRlb0ZyYW1lczsKKyAgICByZWFkb25seSBhdHRy
aWJ1dGUgdW5zaWduZWQgbG9uZyBjb3JydXB0ZWRWaWRlb0ZyYW1lczsKKyAgICByZWFkb25seSBh
dHRyaWJ1dGUgZG91YmxlIHRvdGFsRnJhbWVEZWxheTsKK307CisKKworCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggMjY5MTRkNTFl
NTVjMTMyMWZjNDU2NTczNWRlMzQ1NTZlNWE1ZWY1Mi4uNWEzOGJkODUxYzc2ZGQzNDk3MTFkZDkw
ZDQ2NDM3NTMxZGYyNjE3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNTQxOCw2ICs1NDE4LDkgQEAKIAkJQ0RFM0E4NTgxN0Y2
MDIwNDAwQzVCRTIwIC8qIEF1ZGlvVHJhY2tQcml2YXRlQVZGT2JqQy5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RFM0E4NTYxN0Y2MDIwNDAwQzVCRTIw
IC8qIEF1ZGlvVHJhY2tQcml2YXRlQVZGT2JqQy5oICovOyB9OwogCQlDREU3RkM0NDE4MTkwNEIx
MDAyQkJCNzcgLyogT3JkZXJJdGVyYXRvci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBDREU3RkM0MjE4MTkwNEIxMDAyQkJCNzcgLyogT3JkZXJJdGVy
YXRvci5jcHAgKi87IH07CiAJCUNERTdGQzQ1MTgxOTA0QjEwMDJCQkI3NyAvKiBPcmRlckl0ZXJh
dG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDREU3
RkM0MzE4MTkwNEIxMDAyQkJCNzcgLyogT3JkZXJJdGVyYXRvci5oICovOyB9OworCQlDREU4M0RC
MTE4M0M0NDA2MDAzMUVBQTMgLyogVmlkZW9QbGF5YmFja1F1YWxpdHkuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RFODNEQUYxODNDNDQwNjAwMzFF
QUEzIC8qIFZpZGVvUGxheWJhY2tRdWFsaXR5LmNwcCAqLzsgfTsKKwkJQ0RFODNEQjIxODNDNDQw
NjAwMzFFQUEzIC8qIFZpZGVvUGxheWJhY2tRdWFsaXR5LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDREU4M0RCMDE4M0M0NDA2MDAzMUVBQTMgLyogVmlk
ZW9QbGF5YmFja1F1YWxpdHkuaCAqLzsgfTsKKwkJQ0RFODNEQjYxODNEMzUyQTAwMzFFQUEzIC8q
IEpTVmlkZW9QbGF5YmFja1F1YWxpdHkuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQ0RFODNEQjQxODNEMzUyQTAwMzFFQUEzIC8qIEpTVmlkZW9QbGF5
YmFja1F1YWxpdHkuY3BwICovOyB9OwogCQlDREVBNzYzMDE0NjA4QTUzMDA4QjMxRjEgLyogUGxh
dGZvcm1DbG9ja0NBLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IENERUE3NjJFMTQ2MDg0REUwMDhCMzFGMSAvKiBQbGF0Zm9ybUNsb2NrQ0EuY3BwICov
OyB9OwogCQlDREVBNzYzNDE0NjBCNTZGMDA4QjMxRjEgLyogQ2xvY2tHZW5lcmljLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENERUE3NjMyMTQ2MEFF
MjkwMDhCMzFGMSAvKiBDbG9ja0dlbmVyaWMuY3BwICovOyB9OwogCQlDREVBNzYzNTE0NjBCNzFB
MDA4QjMxRjEgLyogQ2xvY2suY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQ0RFQTc2MzMxNDYwQjQ2MjAwOEIzMUYxIC8qIENsb2NrLmNwcCAqLzsgfTsK
QEAgLTEyNTQzLDYgKzEyNTQ2LDExIEBACiAJCUNERTY1NjBFMTdDQTZFNzYwMDUyNkJBNyAvKiBt
ZWRpYUNvbnRyb2xzQXBwbGUuanMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmphdmFzY3JpcHQ7IHBhdGggPSBtZWRpYUNvbnRyb2xz
QXBwbGUuanM7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNERTdGQzQyMTgxOTA0QjEw
MDJCQkI3NyAvKiBPcmRlckl0ZXJhdG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IE9yZGVySXRlcmF0b3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlDREU3RkM0MzE4MTkwNEIxMDAyQkJCNzcgLyogT3JkZXJJdGVyYXRvci5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBPcmRlckl0ZXJhdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCUNERTgzREFGMTgzQzQ0MDYwMDMxRUFBMyAvKiBWaWRlb1BsYXliYWNrUXVh
bGl0eS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBWaWRlb1BsYXli
YWNrUXVhbGl0eS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNERTgzREIwMTgz
QzQ0MDYwMDMxRUFBMyAvKiBWaWRlb1BsYXliYWNrUXVhbGl0eS5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBWaWRlb1BsYXliYWNrUXVhbGl0eS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlDREU4M0RCMzE4M0M0NDFFMDAzMUVBQTMgLyogVmlkZW9QbGF5YmFja1F1
YWxpdHkuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gdGV4dDsgcGF0aCA9IFZpZGVvUGxheWJhY2tRdWFsaXR5LmlkbDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJQ0RFODNEQjQxODNEMzUyQTAwMzFFQUEzIC8qIEpTVmlkZW9QbGF5YmFj
a1F1YWxpdHkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNWaWRl
b1BsYXliYWNrUXVhbGl0eS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNERTgz
REI1MTgzRDM1MkEwMDMxRUFBMyAvKiBKU1ZpZGVvUGxheWJhY2tRdWFsaXR5LmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTVmlkZW9QbGF5YmFja1F1YWxpdHkuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0RFQTc2MkMxNDYwODIyNDAwOEIzMUYxIC8qIENsb2Nr
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENsb2NrLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUNERUE3NjJFMTQ2MDg0REUwMDhCMzFGMSAvKiBQbGF0Zm9ybUNs
b2NrQ0EuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGxhdGZvcm1D
bG9ja0NBLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0RFQTc2MkYxNDYwODRF
RTAwOEIzMUYxIC8qIFBsYXRmb3JtQ2xvY2tDQS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBQbGF0Zm9ybUNsb2NrQ0EuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAg
LTE3NzY5LDYgKzE3Nzc3LDggQEAKIAkJCQlCRThFRjA0ODE3MUM5MDE0MDA5QjQ4QzMgLyogSlNW
aWRlb1RyYWNrTGlzdC5jcHAgKi8sCiAJCQkJQkU4RUYwNDkxNzFDOTAxNDAwOUI0OEMzIC8qIEpT
VmlkZW9UcmFja0xpc3QuaCAqLywKIAkJCQk5N0U5RUM4QjE1REM0OTJGMDA0RjJFNzEgLyogSlNW
b2lkQ2FsbGJhY2suY3BwICovLAorCQkJCUNERTgzREI0MTgzRDM1MkEwMDMxRUFBMyAvKiBKU1Zp
ZGVvUGxheWJhY2tRdWFsaXR5LmNwcCAqLywKKwkJCQlDREU4M0RCNTE4M0QzNTJBMDAzMUVBQTMg
LyogSlNWaWRlb1BsYXliYWNrUXVhbGl0eS5oICovLAogCQkJCTk3RTlFQzhDMTVEQzQ5MkYwMDRG
MkU3MSAvKiBKU1ZvaWRDYWxsYmFjay5oICovLAogCQkJCUE3RDIwRjYwMTA3RjQwNjkwMEE4MDM5
MiAvKiBKU1dlYkdMQWN0aXZlSW5mby5jcHAgKi8sCiAJCQkJQTdEMjBGNjExMDdGNDA2OTAwQTgw
MzkyIC8qIEpTV2ViR0xBY3RpdmVJbmZvLmggKi8sCkBAIC0xODU3NCw2ICsxODU4NCw5IEBACiAJ
CQkJQ0QzQTQ5NUQxN0E5RDAxQjAwMjc0RTQyIC8qIFNvdXJjZUJ1ZmZlckxpc3QuaWRsICovLAog
CQkJCUNEOEI1QTQ4MTgwRTEzOEIwMDhCOEU2NSAvKiBUZXh0VHJhY2tNZWRpYVNvdXJjZS5oICov
LAogCQkJCUNEOEI1QTQ3MTgwRTEzNjEwMDhCOEU2NSAvKiBUZXh0VHJhY2tNZWRpYVNvdXJjZS5p
ZGwgKi8sCisJCQkJQ0RFODNEQUYxODNDNDQwNjAwMzFFQUEzIC8qIFZpZGVvUGxheWJhY2tRdWFs
aXR5LmNwcCAqLywKKwkJCQlDREU4M0RCMDE4M0M0NDA2MDAzMUVBQTMgLyogVmlkZW9QbGF5YmFj
a1F1YWxpdHkuaCAqLywKKwkJCQlDREU4M0RCMzE4M0M0NDFFMDAzMUVBQTMgLyogVmlkZW9QbGF5
YmFja1F1YWxpdHkuaWRsICovLAogCQkJCUNEOEI1QTQ1MTgwREZGNEUwMDhCOEU2NSAvKiBWaWRl
b1RyYWNrTWVkaWFTb3VyY2UuaCAqLywKIAkJCQlDRDhCNUE0NDE4MEREOEQ2MDA4QjhFNjUgLyog
VmlkZW9UcmFja01lZGlhU291cmNlLmlkbCAqLywKIAkJCQlDREQ3MDg5NDE4MzU5RjZFMDAyQjNE
QzYgLyogU2FtcGxlTWFwLmNwcCAqLywKQEAgLTIzOTA3LDYgKzIzOTIwLDcgQEAKIAkJCQlCMkZB
M0RGRDBBQjc1QTZGMDAwRTVBQzQgLyogSlNTVkdTVkdFbGVtZW50LmggaW4gSGVhZGVycyAqLywK
IAkJCQlCMkZBM0RGRjBBQjc1QTZGMDAwRTVBQzQgLyogSlNTVkdTd2l0Y2hFbGVtZW50LmggaW4g
SGVhZGVycyAqLywKIAkJCQlCMkZBM0UwMTBBQjc1QTZGMDAwRTVBQzQgLyogSlNTVkdTeW1ib2xF
bGVtZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQlDREU4M0RCMjE4M0M0NDA2MDAzMUVBQTMgLyog
VmlkZW9QbGF5YmFja1F1YWxpdHkuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyRkEzRTAzMEFCNzVB
NkYwMDBFNUFDNCAvKiBKU1NWR1RleHRDb250ZW50RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQjJGQTNFMDUwQUI3NUE2RjAwMEU1QUM0IC8qIEpTU1ZHVGV4dEVsZW1lbnQuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUIyMjM2MjI5MEMzQUYwNEEwMDA4Q0E5QiAvKiBKU1NWR1RleHRQYXRoRWxl
bWVudC5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNjQzMiw2ICsyNjQ0Niw3IEBACiAJCQkJNEZCMzkw
QUQxNUVGNjFGMzAwN0FENTFGIC8qIEdlbmVyYXRlZEltYWdlLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTJENDgxRjAzMTQ2QjVDNjUwMEFBNzgzNCAvKiBHcmFkaWVudEltYWdlLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTA3MjBCMEEwMTREMzMyMzUwMDY0Mjk1NSAvKiBHZW5lcmljRXZlbnRRdWV1
ZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlDREU4M0RCMTE4M0M0NDA2MDAzMUVBQTMgLyogVmlk
ZW9QbGF5YmFja1F1YWxpdHkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTc0NkFGMjMxNEY0RERF
NjAwM0U3QTcwIC8qIEdlb2xvY2F0aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTk3NDZBRjI2
MTRGNERERTYwMDNFN0E3MCAvKiBHZW9sb2NhdGlvbkNvbnRyb2xsZXIuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJQjJDM0RBNkQwRDAwNkNENjAwRUY2RjI2IC8qIEdseXBoUGFnZVRyZWVOb2RlLmNw
cCBpbiBTb3VyY2VzICovLApAQCAtMjgwMjUsNiArMjgwNDAsNyBAQAogCQkJCUIyMjI3OUE0MEQw
MEJGMjIwMDcxQjc4MiAvKiBTVkdDb21wb25lbnRUcmFuc2ZlckZ1bmN0aW9uRWxlbWVudC5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQlCMjIyN0IwNTBEMDBCRkYxMDA3MUI3ODIgLyogU1ZHQ1NTQ29t
cHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTA3OEUwOTBDMTdE
MTRDRUUwMDQyMEFBMSAvKiBSVENTZXNzaW9uRGVzY3JpcHRpb24uY3BwIGluIFNvdXJjZXMgKi8s
CisJCQkJQ0RFODNEQjYxODNEMzUyQTAwMzFFQUEzIC8qIEpTVmlkZW9QbGF5YmFja1F1YWxpdHku
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQjIyMjdCMDYwRDAwQkZGMTAwNzFCNzgyIC8qIFNWR0NT
U1BhcnNlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCMjIyN0IwODBEMDBCRkYxMDA3MUI3ODIg
LyogU1ZHQ1NTU3R5bGVTZWxlY3Rvci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCMjIyNzlBNzBE
MDBCRjIyMDA3MUI3ODIgLyogU1ZHQ3Vyc29yRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvR05VbWFrZWZpbGUuYW0g
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L0dOVW1ha2VmaWxlLmFtCmluZGV4IDQ1
MGQ0YmY2OThlYzcxMGM2YWUwMzBkMzFjZjBkZWNkNzBlMzA1OTEuLmRkYjBhMTVkMmY2MDhjYmM3
NmUzYWE0ZWE5ZGIwODZkYTc4NmE4MDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2dvYmplY3QvR05VbWFrZWZpbGUuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
Z29iamVjdC9HTlVtYWtlZmlsZS5hbQpAQCAtNDQwLDYgKzQ0MCw3IEBAIHdlYmtpdGd0a19nZG9t
X2J1aWx0X2hfYXBpICs9IFwKIAlEZXJpdmVkU291cmNlcy93ZWJraXRkb20vV2ViS2l0RE9NVGV4
dFRyYWNrQ3VlLmggXAogCURlcml2ZWRTb3VyY2VzL3dlYmtpdGRvbS9XZWJLaXRET01UZXh0VHJh
Y2tDdWVMaXN0LmggXAogCURlcml2ZWRTb3VyY2VzL3dlYmtpdGRvbS9XZWJLaXRET01UcmFja0V2
ZW50LmggXAorCURlcml2ZWRTb3VyY2VzL3dlYmtpdGRvbS9XZWJLaXRET01WaWRlb1BsYXliYWNr
UXVhbGl0eS5oIFwKIAlEZXJpdmVkU291cmNlcy93ZWJraXRkb20vV2ViS2l0RE9NVmlkZW9UcmFj
ay5oIFwKIAlEZXJpdmVkU291cmNlcy93ZWJraXRkb20vV2ViS2l0RE9NVmlkZW9UcmFja0xpc3Qu
aAogd2Via2l0Z3RrX2dkb21fYnVpbHRfc291cmNlcyArPSBcCkBAIC00NTcsNiArNDU4LDcgQEAg
d2Via2l0Z3RrX2dkb21fYnVpbHRfc291cmNlcyArPSBcCiAJRGVyaXZlZFNvdXJjZXMvd2Via2l0
ZG9tL1dlYktpdERPTVRleHRUcmFja0N1ZVByaXZhdGUuaCBcCiAJRGVyaXZlZFNvdXJjZXMvd2Vi
a2l0ZG9tL1dlYktpdERPTVRleHRUcmFja0N1ZUxpc3QuY3BwIFwKIAlEZXJpdmVkU291cmNlcy93
ZWJraXRkb20vV2ViS2l0RE9NVGV4dFRyYWNrQ3VlTGlzdFByaXZhdGUuaCBcCisJRGVyaXZlZFNv
dXJjZXMvd2Via2l0ZG9tL1dlYktpdERPTVZpZGVvUGxheWJhY2tRdWFsaXR5LmNwcCBcCiAJRGVy
aXZlZFNvdXJjZXMvd2Via2l0ZG9tL1dlYktpdERPTVZpZGVvVHJhY2suY3BwIFwKIAlEZXJpdmVk
U291cmNlcy93ZWJraXRkb20vV2ViS2l0RE9NVmlkZW9UcmFja0xpc3QuY3BwIFwKIAlEZXJpdmVk
U291cmNlcy93ZWJraXRkb20vV2ViS2l0RE9NVHJhY2tFdmVudC5jcHAgXApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKaW5kZXggNzQ0OGJkOThlYTFmNGE1YWZmZjE0MjZj
NTc2MTMyZjc4OTQxMzdjMC4uYTVhNzliOTJmNzdjM2NlMGFmMWMxZDY1MDc1NmE4ODUzMWY3ZDQx
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCkBAIC0xMDgsNyAr
MTA4LDEwIEBACiAjZW5kaWYKIAogI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisjaW5jbHVkZSAi
RE9NV2luZG93LmgiCiAjaW5jbHVkZSAiSFRNTE1lZGlhU291cmNlLmgiCisjaW5jbHVkZSAiUGVy
Zm9ybWFuY2UuaCIKKyNpbmNsdWRlICJWaWRlb1BsYXliYWNrUXVhbGl0eS5oIgogI2VuZGlmCiAK
ICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQpAQCAtMjcxLDYgKzI3NCw5IEBAIEhUTUxNZWRpYUVs
ZW1lbnQ6OkhUTUxNZWRpYUVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9j
dW1lbnQmIGRvY3VtCiAgICAgLCBtX3ByZWxvYWQoTWVkaWFQbGF5ZXI6OkF1dG8pCiAgICAgLCBt
X2Rpc3BsYXlNb2RlKFVua25vd24pCiAgICAgLCBtX3Byb2Nlc3NpbmdNZWRpYVBsYXllckNhbGxi
YWNrKDApCisjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKKyAgICAsIG1fZHJvcHBlZFZpZGVvRnJh
bWVzKDApCisjZW5kaWYKICAgICAsIG1fY2FjaGVkVGltZShNZWRpYVBsYXllcjo6aW52YWxpZFRp
bWUoKSkKICAgICAsIG1fY2xvY2tUaW1lQXRMYXN0Q2FjaGVkVGltZVVwZGF0ZSgwKQogICAgICwg
bV9taW5pbXVtQ2xvY2tUaW1lVG9VcGRhdGVDYWNoZWRUaW1lKDApCkBAIC0zOTA4LDYgKzM5MTQs
MTAgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjptZWRpYVBsYXllckVuZ2luZVVwZGF0ZWQoTWVk
aWFQbGF5ZXIqKQogICAgIGlmIChyZW5kZXJlcigpKQogICAgICAgICByZW5kZXJlcigpLT51cGRh
dGVGcm9tRWxlbWVudCgpOwogICAgIGVuZFByb2Nlc3NpbmdNZWRpYVBsYXllckNhbGxiYWNrKCk7
CisKKyNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQorICAgIG1fZHJvcHBlZFZpZGVvRnJhbWVzID0g
MDsKKyNlbmRpZgogfQogCiB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlhUGxheWVyRmlyc3RW
aWRlb0ZyYW1lQXZhaWxhYmxlKE1lZGlhUGxheWVyKikKQEAgLTUyMzAsNiArNTI0MCwyOSBAQCBi
b29sIEhUTUxNZWRpYUVsZW1lbnQ6OnNob3VsZFVzZVZpZGVvUGx1Z2luUHJveHkoKSBjb25zdAog
fQogI2VuZGlmCiAKKyNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQorUmVmUHRyPFZpZGVvUGxheWJh
Y2tRdWFsaXR5PiBIVE1MTWVkaWFFbGVtZW50OjpnZXRWaWRlb1BsYXliYWNrUXVhbGl0eSgpCit7
CisjaWYgRU5BQkxFKFdFQl9USU1JTkcpCisgICAgRE9NV2luZG93KiBkb21XaW5kb3cgPSBkb2N1
bWVudCgpLmRvbVdpbmRvdygpOworICAgIFBlcmZvcm1hbmNlKiBwZXJmb3JtYW5jZSA9IGRvbVdp
bmRvdyA/IGRvbVdpbmRvdy0+cGVyZm9ybWFuY2UoKSA6IG51bGxwdHI7CisgICAgZG91YmxlIG5v
dyA9IHBlcmZvcm1hbmNlID8gcGVyZm9ybWFuY2UtPm5vdygpIDogMDsKKyNlbHNlCisgICAgRG9j
dW1lbnRMb2FkZXIqIGxvYWRlciA9IGRvY3VtZW50KCkubG9hZGVyKCk7CisgICAgZG91YmxlIG5v
dyA9IGxvYWRlciA/IDEwMDAuMCAqIGxvYWRlci0+dGltaW5nKCktPm1vbm90b25pY1RpbWVUb1pl
cm9CYXNlZERvY3VtZW50VGltZShtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSkgOiAwOwor
I2VuZGlmCisKKyAgICBpZiAoIW1fcGxheWVyKQorICAgICAgICByZXR1cm4gVmlkZW9QbGF5YmFj
a1F1YWxpdHk6OmNyZWF0ZShub3csIDAsIDAsIDAsIDApOworCisgICAgcmV0dXJuIFZpZGVvUGxh
eWJhY2tRdWFsaXR5OjpjcmVhdGUobm93LAorICAgICAgICBtX2Ryb3BwZWRWaWRlb0ZyYW1lcyAr
IG1fcGxheWVyLT50b3RhbFZpZGVvRnJhbWVzKCksCisgICAgICAgIG1fZHJvcHBlZFZpZGVvRnJh
bWVzICsgbV9wbGF5ZXItPmRyb3BwZWRWaWRlb0ZyYW1lcygpLAorICAgICAgICBtX3BsYXllci0+
Y29ycnVwdGVkVmlkZW9GcmFtZXMoKSwKKyAgICAgICAgbV9wbGF5ZXItPnRvdGFsRnJhbWVEZWxh
eSgpKTsKK30KKyNlbmRpZgorCiAjaWYgRU5BQkxFKE1FRElBX0NPTlRST0xTX1NDUklQVCkKIERP
TVdyYXBwZXJXb3JsZCYgSFRNTE1lZGlhRWxlbWVudDo6ZW5zdXJlSXNvbGF0ZWRXb3JsZCgpCiB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCmluZGV4IDQ0MTgyNTYwYTU5NzRi
MTVhZjJmZDUzY2RmNjUwYTkzNWJiY2I1ZjguLmMzZDFiZjE3M2Q4YTFmOTNlNjFkYmU4MGUwNjJk
ZjJjZjY0NjVjOTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxl
bWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCkBAIC04
MCw2ICs4MCw5IEBAIGNsYXNzIERpc3BsYXlTbGVlcERpc2FibGVyOwogI2lmIEVOQUJMRShFTkNS
WVBURURfTUVESUFfVjIpCiBjbGFzcyBNZWRpYUtleXM7CiAjZW5kaWYKKyNpZiBFTkFCTEUoTUVE
SUFfU09VUkNFKQorY2xhc3MgVmlkZW9QbGF5YmFja1F1YWxpdHk7CisjZW5kaWYKIAogI2lmIEVO
QUJMRShWSURFT19UUkFDSykKIGNsYXNzIEF1ZGlvVHJhY2tMaXN0OwpAQCAtMjAxLDcgKzIwNCw4
IEBAIHB1YmxpYzoKICNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQogLy8gIE1lZGlhIFNvdXJjZS4K
ICAgICB2b2lkIGNsb3NlTWVkaWFTb3VyY2UoKTsKLSNlbmRpZiAKKyAgICB2b2lkIGluY3JlbWVu
dERyb3BwZWRGcmFtZUNvdW50KCkgeyArK21fZHJvcHBlZFZpZGVvRnJhbWVzOyB9CisjZW5kaWYK
IAogI2lmIEVOQUJMRShFTkNSWVBURURfTUVESUEpCiAgICAgdm9pZCB3ZWJraXRHZW5lcmF0ZUtl
eVJlcXVlc3QoY29uc3QgU3RyaW5nJiBrZXlTeXN0ZW0sIFBhc3NSZWZQdHI8VWludDhBcnJheT4g
aW5pdERhdGEsIEV4Y2VwdGlvbkNvZGUmKTsKQEAgLTM5OCw2ICs0MDIsMTAgQEAgcHVibGljOgog
ICAgIHZvaWQgbWVkaWFMb2FkaW5nRmFpbGVkKE1lZGlhUGxheWVyOjpOZXR3b3JrU3RhdGUpOwog
ICAgIHZvaWQgbWVkaWFMb2FkaW5nRmFpbGVkRmF0YWxseShNZWRpYVBsYXllcjo6TmV0d29ya1N0
YXRlKTsKIAorI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisgICAgUmVmUHRyPFZpZGVvUGxheWJh
Y2tRdWFsaXR5PiBnZXRWaWRlb1BsYXliYWNrUXVhbGl0eSgpOworI2VuZGlmCisKIHByb3RlY3Rl
ZDoKICAgICBIVE1MTWVkaWFFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYs
IGJvb2wpOwogICAgIHZpcnR1YWwgfkhUTUxNZWRpYUVsZW1lbnQoKTsKQEAgLTY5OSw2ICs3MDcs
NyBAQCBwcml2YXRlOgogCiAjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKICAgICBSZWZQdHI8SFRN
TE1lZGlhU291cmNlPiBtX21lZGlhU291cmNlOworICAgIHVuc2lnbmVkIGxvbmcgbV9kcm9wcGVk
VmlkZW9GcmFtZXM7CiAjZW5kaWYKIAogICAgIG11dGFibGUgZG91YmxlIG1fY2FjaGVkVGltZTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5pZGwgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaWRsCmluZGV4IGQ5NWIzZTg0ZWUz
NGM4MDFkOTA4NDUzNDBkNDFlZmI2ZjYwZjM4NzYuLmRlNmY5MjQwMjZiYjVmMDlhMGJiZTc3NzE5
NTliMWFjYzUyYTI2NjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlh
RWxlbWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50Lmlk
bApAQCAtMTE3LDQgKzExNyw2IEBACiAKICAgICBbUmVmbGVjdCwgVHJlYXROdWxsQXM9TnVsbFN0
cmluZ10gYXR0cmlidXRlIERPTVN0cmluZyBtZWRpYUdyb3VwOwogICAgIFtDdXN0b21TZXR0ZXJd
IGF0dHJpYnV0ZSBNZWRpYUNvbnRyb2xsZXIgY29udHJvbGxlcjsKKyAgICAKKyAgICBbQ29uZGl0
aW9uYWw9TUVESUFfU09VUkNFXSBWaWRlb1BsYXliYWNrUXVhbGl0eSBnZXRWaWRlb1BsYXliYWNr
UXVhbGl0eSgpOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01lZGlh
U2FtcGxlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZWRpYVNhbXBsZS5oCmluZGV4IDc0
NGQzYzc5YWI5MWY2YmI2NTJjYjU0OWU1NzM4ZDVhOTViZWYxYzguLjU3NjJlM2RlMmFjNjIyZTAw
ZTRjOWM3MTAzYmQ2NTcxNjYyZGQ2ZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL01lZGlhU2FtcGxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTWVkaWFTYW1w
bGUuaApAQCAtNjMsNiArNjMsOSBAQCBwdWJsaWM6CiAgICAgfTsKICAgICB2aXJ0dWFsIFNhbXBs
ZUZsYWdzIGZsYWdzKCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgUGxhdGZvcm1TYW1wbGUgcGxh
dGZvcm1TYW1wbGUoKSA9IDA7CisKKyAgICBib29sIGlzU3luYygpIGNvbnN0IHsgcmV0dXJuIGZs
YWdzKCkgJiBJc1N5bmM7IH0KKyAgICBib29sIGlzTm9uRGlzcGxheWluZygpIGNvbnN0IHsgcmV0
dXJuIGZsYWdzKCkgJiBOb25EaXNwbGF5aW5nOyB9CiB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAKaW5kZXggNjQ2NThmNzdiNGZj
ZjgwZjVlNDk2MGZmOTU2ZmYxOWY5OTM5YWQ2MS4uZGE0Mzc3ZTAxNjZhOTAyN2VkNjRhOTdhZjA4
NmMwYzYxMmIzNDYwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvTWVkaWFQbGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L01lZGlhUGxheWVyLmNwcApAQCAtMTIzOSw2ICsxMjM5LDQwIEBAIHVuc2lnbmVkIGxvbmcgbG9u
ZyBNZWRpYVBsYXllcjo6ZmlsZVNpemUoKSBjb25zdAogICAgIHJldHVybiBtX3ByaXZhdGUtPmZp
bGVTaXplKCk7CiB9CiAKKyNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQordW5zaWduZWQgbG9uZyBN
ZWRpYVBsYXllcjo6dG90YWxWaWRlb0ZyYW1lcygpCit7CisgICAgaWYgKCFtX3ByaXZhdGUpCisg
ICAgICAgIHJldHVybiAwOworCisgICAgcmV0dXJuIG1fcHJpdmF0ZS0+dG90YWxWaWRlb0ZyYW1l
cygpOworfQorCit1bnNpZ25lZCBsb25nIE1lZGlhUGxheWVyOjpkcm9wcGVkVmlkZW9GcmFtZXMo
KQoreworICAgIGlmICghbV9wcml2YXRlKQorICAgICAgICByZXR1cm4gMDsKKworICAgIHJldHVy
biBtX3ByaXZhdGUtPmRyb3BwZWRWaWRlb0ZyYW1lcygpOworfQorCit1bnNpZ25lZCBsb25nIE1l
ZGlhUGxheWVyOjpjb3JydXB0ZWRWaWRlb0ZyYW1lcygpCit7CisgICAgaWYgKCFtX3ByaXZhdGUp
CisgICAgICAgIHJldHVybiAwOworCisgICAgcmV0dXJuIG1fcHJpdmF0ZS0+Y29ycnVwdGVkVmlk
ZW9GcmFtZXMoKTsKK30KKworZG91YmxlIE1lZGlhUGxheWVyOjp0b3RhbEZyYW1lRGVsYXkoKQor
eworICAgIGlmICghbV9wcml2YXRlKQorICAgICAgICByZXR1cm4gMDsKKworICAgIHJldHVybiBt
X3ByaXZhdGUtPnRvdGFsRnJhbWVEZWxheSgpOworfQorI2VuZGlmCisKIHZvaWQgTWVkaWFQbGF5
ZXJGYWN0b3J5U3VwcG9ydDo6Y2FsbFJlZ2lzdGVyTWVkaWFFbmdpbmUoTWVkaWFFbmdpbmVSZWdp
c3RlciByZWdpc3Rlck1lZGlhRW5naW5lKQogewogICAgIHJlZ2lzdGVyTWVkaWFFbmdpbmUoYWRk
TWVkaWFFbmdpbmUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvTWVkaWFQbGF5ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlh
UGxheWVyLmgKaW5kZXggZDRlMjE5MDNjNTc2OTg4ZDVjNzg4NjM3ODljMGU4MTU0MzBlZGM3My4u
ODE1MTYzY2NiZTg1MWI0NTA1MzdlNjFjNjU1OTZmZjgyMTJkODM3ZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oCkBAIC01MTQsNiArNTE0LDEz
IEBAIHB1YmxpYzoKIAogICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBmaWxlU2l6ZSgpIGNvbnN0Owog
CisjaWYgRU5BQkxFKE1FRElBX1NPVVJDRSkKKyAgICB1bnNpZ25lZCBsb25nIHRvdGFsVmlkZW9G
cmFtZXMoKTsKKyAgICB1bnNpZ25lZCBsb25nIGRyb3BwZWRWaWRlb0ZyYW1lcygpOworICAgIHVu
c2lnbmVkIGxvbmcgY29ycnVwdGVkVmlkZW9GcmFtZXMoKTsKKyAgICBkb3VibGUgdG90YWxGcmFt
ZURlbGF5KCk7CisjZW5kaWYKKwogcHJpdmF0ZToKICAgICBNZWRpYVBsYXllcihNZWRpYVBsYXll
ckNsaWVudCopOwogICAgIE1lZGlhUGxheWVyRmFjdG9yeSogbmV4dEJlc3RNZWRpYUVuZ2luZShN
ZWRpYVBsYXllckZhY3RvcnkqKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmgKaW5kZXggNDM2YzY4YjRmNjIyN2U0
ZDMyZmIwYTJiN2ExNmU0ZmE1ZWVmNTA3ZS4uY2Y3YjVmMjg4NWY1MTVmMjYzNDMwM2JlNjNhZTc1
NWQyYjg0MzRkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
TWVkaWFQbGF5ZXJQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvTWVkaWFQbGF5ZXJQcml2YXRlLmgKQEAgLTIxNSw2ICsyMTUsMTMgQEAgcHVibGljOgogICAg
IHZpcnR1YWwgc2l6ZV90IGV4dHJhTWVtb3J5Q29zdCgpIGNvbnN0IHsgcmV0dXJuIDA7IH0KICAg
ICAKICAgICB2aXJ0dWFsIHVuc2lnbmVkIGxvbmcgbG9uZyBmaWxlU2l6ZSgpIGNvbnN0IHsgcmV0
dXJuIDA7IH0KKworI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpCisgICAgdmlydHVhbCB1bnNpZ25l
ZCBsb25nIHRvdGFsVmlkZW9GcmFtZXMoKSB7IHJldHVybiAwOyB9CisgICAgdmlydHVhbCB1bnNp
Z25lZCBsb25nIGRyb3BwZWRWaWRlb0ZyYW1lcygpIHsgcmV0dXJuIDA7IH0KKyAgICB2aXJ0dWFs
IHVuc2lnbmVkIGxvbmcgY29ycnVwdGVkVmlkZW9GcmFtZXMoKSB7IHJldHVybiAwOyB9CisgICAg
dmlydHVhbCBkb3VibGUgdG90YWxGcmFtZURlbGF5KCkgeyByZXR1cm4gMDsgfQorI2VuZGlmCiB9
OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZv
dW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxh
eWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5oCmluZGV4IDk2ODE2MWZhNzQxYTMyYzFmNTRk
NWZiM2M5MjdjYzFiODYzN2Y1MmQuLmQ2Y2ZjMTI0NWRlMzIwZGM3NjU3MWZlZTQ3N2RjYWMzZjk4
MjFhNWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91
bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlh
UGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5oCkBAIC0xMjksNiArMTI5LDExIEBAIHBy
aXZhdGU6CiAKICAgICB2aXJ0dWFsIHNpemVfdCBleHRyYU1lbW9yeUNvc3QoKSBjb25zdCBPVkVS
UklERTsKIAorICAgIHZpcnR1YWwgdW5zaWduZWQgbG9uZyB0b3RhbFZpZGVvRnJhbWVzKCkgT1ZF
UlJJREU7CisgICAgdmlydHVhbCB1bnNpZ25lZCBsb25nIGRyb3BwZWRWaWRlb0ZyYW1lcygpIE9W
RVJSSURFOworICAgIHZpcnR1YWwgdW5zaWduZWQgbG9uZyBjb3JydXB0ZWRWaWRlb0ZyYW1lcygp
IE9WRVJSSURFOworICAgIHZpcnR1YWwgZG91YmxlIHRvdGFsRnJhbWVEZWxheSgpIE9WRVJSSURF
OworCiAgICAgdm9pZCBlbnN1cmVMYXllcigpOwogICAgIHZvaWQgZGVzdHJveUxheWVyKCk7CiAg
ICAgdm9pZCBkdXJhdGlvbkNoYW5nZWQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlh
U291cmNlQVZGT2JqQy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91
bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5tbQppbmRl
eCA5ODgwYjlmYmE2YWQzOGQ5ZTJlODYxMzE3NjZkMmE5NjhiNDMzYjcwLi5kYWZiMGIyYjNiN2Ew
M2M1OWRkMmY3YmRkNjk4ZDdhNzRmNWUwMDNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRp
YVNvdXJjZUFWRk9iakMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
YXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLm1t
CkBAIC01MCw2ICs1MCwyMSBAQCBTT0ZUX0xJTktfQ0xBU1NfT1BUSU9OQUwoQVZGb3VuZGF0aW9u
LCBBVkFzc2V0KQogU09GVF9MSU5LX0NMQVNTX09QVElPTkFMKEFWRm91bmRhdGlvbiwgQVZVUkxB
c3NldCkKIFNPRlRfTElOS19DTEFTU19PUFRJT05BTChBVkZvdW5kYXRpb24sIEFWU2FtcGxlQnVm
ZmVyRGlzcGxheUxheWVyKQogU09GVF9MSU5LX0NMQVNTX09QVElPTkFMKEFWRm91bmRhdGlvbiwg
QVZTdHJlYW1EYXRhUGFyc2VyKQorU09GVF9MSU5LX0NMQVNTX09QVElPTkFMKEFWRm91bmRhdGlv
biwgQVZWaWRlb1BlcmZvcm1hbmNlTWV0cmljcykKKworI3ByYWdtYSBtYXJrIC0KKyNwcmFnbWEg
bWFyayBBVlZpZGVvUGVyZm9ybWFuY2VNZXRyaWNzCisKK0BpbnRlcmZhY2UgQVZWaWRlb1BlcmZv
cm1hbmNlTWV0cmljcyA6IE5TT2JqZWN0CistICh1bnNpZ25lZCBsb25nKXRvdGFsTnVtYmVyT2ZW
aWRlb0ZyYW1lczsKKy0gKHVuc2lnbmVkIGxvbmcpbnVtYmVyT2ZEcm9wcGVkVmlkZW9GcmFtZXM7
CistICh1bnNpZ25lZCBsb25nKW51bWJlck9mQ29ycnVwdGVkVmlkZW9GcmFtZXM7CistIChkb3Vi
bGUpdG90YWxGcmFtZURlbGF5OworQGVuZAorCitAaW50ZXJmYWNlIEFWU2FtcGxlQnVmZmVyRGlz
cGxheUxheWVyIChXZWJDb3JlQVZTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXJQcml2YXRlKQorLSAo
QVZWaWRlb1BlcmZvcm1hbmNlTWV0cmljcyAqKXZpZGVvUGVyZm9ybWFuY2VNZXRyaWNzOworQGVu
ZAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTM2Niw2ICszODEsMjYgQEAgc2l6ZV90IE1l
ZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6ZXh0cmFNZW1vcnlDb3N0KCkgY29u
c3QKICAgICByZXR1cm4gMDsKIH0KIAordW5zaWduZWQgbG9uZyBNZWRpYVBsYXllclByaXZhdGVN
ZWRpYVNvdXJjZUFWRk9iakM6OnRvdGFsVmlkZW9GcmFtZXMoKQoreworICAgIHJldHVybiBbW21f
c2FtcGxlQnVmZmVyRGlzcGxheUxheWVyIHZpZGVvUGVyZm9ybWFuY2VNZXRyaWNzXSB0b3RhbE51
bWJlck9mVmlkZW9GcmFtZXNdOworfQorCit1bnNpZ25lZCBsb25nIE1lZGlhUGxheWVyUHJpdmF0
ZU1lZGlhU291cmNlQVZGT2JqQzo6ZHJvcHBlZFZpZGVvRnJhbWVzKCkKK3sKKyAgICByZXR1cm4g
W1ttX3NhbXBsZUJ1ZmZlckRpc3BsYXlMYXllciB2aWRlb1BlcmZvcm1hbmNlTWV0cmljc10gbnVt
YmVyT2ZEcm9wcGVkVmlkZW9GcmFtZXNdOworfQorCit1bnNpZ25lZCBsb25nIE1lZGlhUGxheWVy
UHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6Y29ycnVwdGVkVmlkZW9GcmFtZXMoKQoreworICAg
IHJldHVybiBbW21fc2FtcGxlQnVmZmVyRGlzcGxheUxheWVyIHZpZGVvUGVyZm9ybWFuY2VNZXRy
aWNzXSBudW1iZXJPZkNvcnJ1cHRlZFZpZGVvRnJhbWVzXTsKK30KKworZG91YmxlIE1lZGlhUGxh
eWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6dG90YWxGcmFtZURlbGF5KCkKK3sKKyAgICBy
ZXR1cm4gW1ttX3NhbXBsZUJ1ZmZlckRpc3BsYXlMYXllciB2aWRlb1BlcmZvcm1hbmNlTWV0cmlj
c10gdG90YWxGcmFtZURlbGF5XTsKK30KKwogI3ByYWdtYSBtYXJrIC0KICNwcmFnbWEgbWFyayBV
dGlsaXR5IE1ldGhvZHMKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9j
ay9tZWRpYXNvdXJjZS9Nb2NrQm94LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21l
ZGlhc291cmNlL01vY2tCb3guaAppbmRleCAzZjBjMGQzY2UyMDg1MTJlNzI4NDY1MWRjZjdmODc3
ZWYyODI1MDE5Li5mMmZkNjQzZmRmYjgyMDBlODk0OTI0M2NjZGFkZTkyYjFmYjNlZDZjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tCb3gu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tCb3gu
aApAQCAtMTI5LDggKzEyOSwxNiBAQCBwdWJsaWM6CiAgICAgaW50MzJfdCB0cmFja0lEKCkgY29u
c3QgeyByZXR1cm4gbV90cmFja0lEOyB9CiAgICAgdWludDhfdCBmbGFncygpIGNvbnN0IHsgcmV0
dXJuIG1fZmxhZ3M7IH0KIAotICAgIGVudW0geyBJc1N5bmMgPSAxIDw8IDAgfTsKKyAgICBlbnVt
IHsKKyAgICAgICAgSXNTeW5jID0gMSA8PCAwLAorICAgICAgICBJc0NvcnJ1cHRlZCA9IDEgPDwg
MSwKKyAgICAgICAgSXNEcm9wcGVkID0gMSA8PCAyLAorICAgICAgICBJc0RlbGF5ZWQgPSAxIDw8
IDMsCisgICAgfTsKICAgICBib29sIGlzU3luYygpIGNvbnN0IHsgcmV0dXJuIG1fZmxhZ3MgJiBJ
c1N5bmM7IH0KKyAgICBib29sIGlzQ29ycnVwdGVkKCkgY29uc3QgeyByZXR1cm4gbV9mbGFncyAm
IElzQ29ycnVwdGVkOyB9CisgICAgYm9vbCBpc0Ryb3BwZWQoKSBjb25zdCB7IHJldHVybiBtX2Zs
YWdzICYgSXNEcm9wcGVkOyB9CisgICAgYm9vbCBpc0RlbGF5ZWQoKSBjb25zdCB7IHJldHVybiBt
X2ZsYWdzICYgSXNEZWxheWVkOyB9CiAKIHByb3RlY3RlZDoKICAgICBNZWRpYVRpbWUgbV9wcmVz
ZW50YXRpb25UaW1lc3RhbXA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
b2NrL21lZGlhc291cmNlL01vY2tNZWRpYVBsYXllck1lZGlhU291cmNlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja01lZGlhUGxheWVyTWVkaWFTb3Vy
Y2UuY3BwCmluZGV4IDJmMjMwNDg2YjkyYjYwYjMzOTg5YWEyNTc0OGQ0OWZjNmM3NWI3ODkuLmUw
ZmM1MWM5ZjBjZTNmMDI1NDcwODUyYjkwYTRhMTJlNDEwZjU4NjUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja01lZGlhUGxheWVyTWVkaWFT
b3VyY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2Uv
TW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2UuY3BwCkBAIC0yNDUsNiArMjQ1LDI2IEBAIHZvaWQg
TW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2U6OnNldE5ldHdvcmtTdGF0ZShNZWRpYVBsYXllcjo6
TmV0d29ya1N0YXRlIG5ldHdvCiAgICAgbV9wbGF5ZXItPm5ldHdvcmtTdGF0ZUNoYW5nZWQoKTsK
IH0KIAordW5zaWduZWQgbG9uZyBNb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZTo6dG90YWxWaWRl
b0ZyYW1lcygpCit7CisgICAgcmV0dXJuIG1fbWVkaWFTb3VyY2VQcml2YXRlID8gbV9tZWRpYVNv
dXJjZVByaXZhdGUtPnRvdGFsVmlkZW9GcmFtZXMoKSA6IDA7Cit9CisKK3Vuc2lnbmVkIGxvbmcg
TW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2U6OmRyb3BwZWRWaWRlb0ZyYW1lcygpCit7CisgICAg
cmV0dXJuIG1fbWVkaWFTb3VyY2VQcml2YXRlID8gbV9tZWRpYVNvdXJjZVByaXZhdGUtPmRyb3Bw
ZWRWaWRlb0ZyYW1lcygpIDogMDsKK30KKwordW5zaWduZWQgbG9uZyBNb2NrTWVkaWFQbGF5ZXJN
ZWRpYVNvdXJjZTo6Y29ycnVwdGVkVmlkZW9GcmFtZXMoKQoreworICAgIHJldHVybiBtX21lZGlh
U291cmNlUHJpdmF0ZSA/IG1fbWVkaWFTb3VyY2VQcml2YXRlLT5jb3JydXB0ZWRWaWRlb0ZyYW1l
cygpIDogMDsKK30KKworZG91YmxlIE1vY2tNZWRpYVBsYXllck1lZGlhU291cmNlOjp0b3RhbEZy
YW1lRGVsYXkoKQoreworICAgIHJldHVybiBtX21lZGlhU291cmNlUHJpdmF0ZSA/IG1fbWVkaWFT
b3VyY2VQcml2YXRlLT50b3RhbEZyYW1lRGVsYXkoKSA6IDA7Cit9CisKIH0KIAogI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tN
ZWRpYVBsYXllck1lZGlhU291cmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21l
ZGlhc291cmNlL01vY2tNZWRpYVBsYXllck1lZGlhU291cmNlLmgKaW5kZXggZDFjZjhiNWVlYjAw
ODVhOTI0YmE3YzIwNjA2NTE3NTU5NTcwODM2Mi4uOTg1YTIxZmI2Yzc3ODJiOTc2N2JiZmM3ZTM0
ZDcwNmRkY2EzMjIyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9t
ZWRpYXNvdXJjZS9Nb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2Uu
aApAQCAtNzcsNiArNzcsMTAgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIGRvdWJsZSBjdXJyZW50
VGltZURvdWJsZSgpIGNvbnN0IE9WRVJSSURFOwogICAgIHZpcnR1YWwgZG91YmxlIGR1cmF0aW9u
RG91YmxlKCkgY29uc3QgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIHNlZWtXaXRoVG9sZXJh
bmNlKGRvdWJsZSB0aW1lLCBkb3VibGUsIGRvdWJsZSkgT1ZFUlJJREU7CisgICAgdmlydHVhbCB1
bnNpZ25lZCBsb25nIHRvdGFsVmlkZW9GcmFtZXMoKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIHVu
c2lnbmVkIGxvbmcgZHJvcHBlZFZpZGVvRnJhbWVzKCkgT1ZFUlJJREU7CisgICAgdmlydHVhbCB1
bnNpZ25lZCBsb25nIGNvcnJ1cHRlZFZpZGVvRnJhbWVzKCkgT1ZFUlJJREU7CisgICAgdmlydHVh
bCBkb3VibGUgdG90YWxGcmFtZURlbGF5KCkgT1ZFUlJJREU7CiAKICAgICBNZWRpYVBsYXllciog
bV9wbGF5ZXI7CiAgICAgUmVmUHRyPEhUTUxNZWRpYVNvdXJjZT4gbV9tZWRpYVNvdXJjZTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja01l
ZGlhU291cmNlUHJpdmF0ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21lZGlh
c291cmNlL01vY2tNZWRpYVNvdXJjZVByaXZhdGUuY3BwCmluZGV4IDRiMmEzNWYzOGY2MWM1YTg4
NmUyZjgyYzUzYTE0MTZmZWU4N2RkMWUuLjgxMTE3M2RmYTU2ZGUzMTgyMGY3YmI1ZDVmYWMwYTI0
MjM1M2FlNmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFz
b3VyY2UvTW9ja01lZGlhU291cmNlUHJpdmF0ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrTWVkaWFTb3VyY2VQcml2YXRlLmNwcApAQCAtNDQs
NiArNDQsMTAgQEAgTW9ja01lZGlhU291cmNlUHJpdmF0ZTo6TW9ja01lZGlhU291cmNlUHJpdmF0
ZShNb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZSogcGFyZW4KICAgICA6IG1fcGxheWVyKHBhcmVu
dCkKICAgICAsIG1fZHVyYXRpb24oc3RkOjpudW1lcmljX2xpbWl0czxmbG9hdD46OnF1aWV0X05h
TigpKQogICAgICwgbV9pc0VuZGVkKGZhbHNlKQorICAgICwgbV90b3RhbFZpZGVvRnJhbWVzKDAp
CisgICAgLCBtX2Ryb3BwZWRWaWRlb0ZyYW1lcygwKQorICAgICwgbV9jb3JydXB0ZWRWaWRlb0Zy
YW1lcygwKQorICAgICwgbV90b3RhbEZyYW1lRGVsYXkoMCkKIHsKIH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrTWVkaWFTb3VyY2VQ
cml2YXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tN
ZWRpYVNvdXJjZVByaXZhdGUuaAppbmRleCA3MmQyMGE4MGViZjc0ZjBhYmU3OTVmNDRmOGUwYTRh
ODFjMzk2MWRiLi5mNDQ4ZTFkZjY3OWRkNjZjZmM0MGViOTU4YTllN2I3NTFkZWJkNDYzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tNZWRp
YVNvdXJjZVByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21lZGlh
c291cmNlL01vY2tNZWRpYVNvdXJjZVByaXZhdGUuaApAQCAtNTIsNiArNTIsMTYgQEAgcHVibGlj
OgogICAgIHZvaWQgc2Vla1RvVGltZShjb25zdCBNZWRpYVRpbWUmKTsKICAgICBNZWRpYVRpbWUg
c2Vla1RvVGltZShjb25zdCBNZWRpYVRpbWUmLCBjb25zdCBNZWRpYVRpbWUmIG5lZ2F0aXZlVGhy
ZXNob2xkLCBjb25zdCBNZWRpYVRpbWUmIHBvc2l0aXZlVGhyZXNob2xkKTsKIAorICAgIHVuc2ln
bmVkIGxvbmcgdG90YWxWaWRlb0ZyYW1lcygpIGNvbnN0IHsgcmV0dXJuIG1fdG90YWxWaWRlb0Zy
YW1lczsgfQorICAgIHVuc2lnbmVkIGxvbmcgZHJvcHBlZFZpZGVvRnJhbWVzKCkgY29uc3QgIHsg
cmV0dXJuIG1fZHJvcHBlZFZpZGVvRnJhbWVzOyB9CisgICAgdW5zaWduZWQgbG9uZyBjb3JydXB0
ZWRWaWRlb0ZyYW1lcygpIGNvbnN0IHsgcmV0dXJuIG1fY29ycnVwdGVkVmlkZW9GcmFtZXM7IH0K
KyAgICBkb3VibGUgdG90YWxGcmFtZURlbGF5KCkgY29uc3QgeyByZXR1cm4gbV90b3RhbEZyYW1l
RGVsYXk7IH0KKworICAgIHZvaWQgaW5jcmVtZW50VG90YWxWaWRlb0ZyYW1lcygpIHsgKyttX3Rv
dGFsVmlkZW9GcmFtZXM7IH0KKyAgICB2b2lkIGluY3JlbWVudERyb3BwZWRGcmFtZXMoKSB7ICsr
bV9kcm9wcGVkVmlkZW9GcmFtZXM7IH0KKyAgICB2b2lkIGluY3JlbWVudENvcnJ1cHRlZEZyYW1l
cygpIHsgKyttX2NvcnJ1cHRlZFZpZGVvRnJhbWVzOyB9CisgICAgdm9pZCBpbmNyZW1lbnRUb3Rh
bEZyYW1lRGVsYXlCeShkb3VibGUgZGVsYXkpIHsgbV90b3RhbEZyYW1lRGVsYXkgKz0gZGVsYXk7
IH0KKwogcHJpdmF0ZToKICAgICBNb2NrTWVkaWFTb3VyY2VQcml2YXRlKE1vY2tNZWRpYVBsYXll
ck1lZGlhU291cmNlKik7CiAKQEAgLTc0LDYgKzg0LDExIEBAIHByaXZhdGU6CiAgICAgVmVjdG9y
PFJlZlB0cjxNb2NrU291cmNlQnVmZmVyUHJpdmF0ZT4+IG1fc291cmNlQnVmZmVyczsKICAgICBW
ZWN0b3I8TW9ja1NvdXJjZUJ1ZmZlclByaXZhdGUqPiBtX2FjdGl2ZVNvdXJjZUJ1ZmZlcnM7CiAg
ICAgYm9vbCBtX2lzRW5kZWQ7CisKKyAgICB1bnNpZ25lZCBsb25nIG1fdG90YWxWaWRlb0ZyYW1l
czsKKyAgICB1bnNpZ25lZCBsb25nIG1fZHJvcHBlZFZpZGVvRnJhbWVzOworICAgIHVuc2lnbmVk
IGxvbmcgbV9jb3JydXB0ZWRWaWRlb0ZyYW1lczsKKyAgICBkb3VibGUgbV90b3RhbEZyYW1lRGVs
YXk7CiB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21l
ZGlhc291cmNlL01vY2tTb3VyY2VCdWZmZXJQcml2YXRlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja1NvdXJjZUJ1ZmZlclByaXZhdGUuY3BwCmluZGV4
IDg3NjcwZGFmZGJiY2Y0OWI5OTQ5NmQ4NDdlM2M1NDkwN2I4ZTI4NWQuLjRkNTczYWIxN2Q0ZDM3
MjZiYjY4YmVjNjQ3NmUyZDAwNzQ0M2NhZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja1NvdXJjZUJ1ZmZlclByaXZhdGUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja1NvdXJjZUJ1ZmZl
clByaXZhdGUuY3BwCkBAIC0yMTgsNiArMjE4LDI4IEBAIHZvaWQgTW9ja1NvdXJjZUJ1ZmZlclBy
aXZhdGU6OnNldEFjdGl2ZShib29sIGlzQWN0aXZlKQogICAgICAgICBtX21lZGlhU291cmNlLT5z
b3VyY2VCdWZmZXJQcml2YXRlRGlkQ2hhbmdlQWN0aXZlU3RhdGUodGhpcywgaXNBY3RpdmUpOwog
fQogCit2b2lkIE1vY2tTb3VyY2VCdWZmZXJQcml2YXRlOjplbnF1ZXVlU2FtcGxlKFBhc3NSZWZQ
dHI8TWVkaWFTYW1wbGU+IHNhbXBsZSwgQXRvbWljU3RyaW5nKQoreworICAgIGlmICghbV9tZWRp
YVNvdXJjZSB8fCAhc2FtcGxlKQorICAgICAgICByZXR1cm47CisKKyAgICBQbGF0Zm9ybVNhbXBs
ZSBwbGF0Zm9ybVNhbXBsZSA9IHNhbXBsZS0+cGxhdGZvcm1TYW1wbGUoKTsKKyAgICBpZiAocGxh
dGZvcm1TYW1wbGUudHlwZSAhPSBQbGF0Zm9ybVNhbXBsZTo6TW9ja1NhbXBsZUJveFR5cGUpCisg
ICAgICAgIHJldHVybjsKKworICAgIE1vY2tTYW1wbGVCb3gqIGJveCA9IHBsYXRmb3JtU2FtcGxl
LnNhbXBsZS5tb2NrU2FtcGxlQm94OworICAgIGlmICghYm94KQorICAgICAgICByZXR1cm47CisK
KyAgICBtX21lZGlhU291cmNlLT5pbmNyZW1lbnRUb3RhbFZpZGVvRnJhbWVzKCk7CisgICAgaWYg
KGJveC0+aXNDb3JydXB0ZWQoKSkKKyAgICAgICAgbV9tZWRpYVNvdXJjZS0+aW5jcmVtZW50Q29y
cnVwdGVkRnJhbWVzKCk7CisgICAgaWYgKGJveC0+aXNEcm9wcGVkKCkpCisgICAgICAgIG1fbWVk
aWFTb3VyY2UtPmluY3JlbWVudERyb3BwZWRGcmFtZXMoKTsKKyAgICBpZiAoYm94LT5pc0RlbGF5
ZWQoKSkKKyAgICAgICAgbV9tZWRpYVNvdXJjZS0+aW5jcmVtZW50VG90YWxGcmFtZURlbGF5Qnko
MSk7Cit9CisKIGJvb2wgTW9ja1NvdXJjZUJ1ZmZlclByaXZhdGU6Omhhc1ZpZGVvKCkgY29uc3QK
IHsKICAgICBpZiAoIW1fY2xpZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrU291cmNlQnVmZmVyUHJpdmF0ZS5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrU291cmNlQnVmZmVyUHJpdmF0ZS5o
CmluZGV4IGM1NDA5NzJjNjdkZDQ1MzY3NjVlMTlkYTM5ZjEwNWM0N2E0ZGIwNWIuLjA2ZDJmNDQ1
MGUxYjYxNjc3NjcwNWM1ZDZiMjYyNWM0YmI0NWIwNDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja1NvdXJjZUJ1ZmZlclByaXZhdGUuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tTb3VyY2VC
dWZmZXJQcml2YXRlLmgKQEAgLTcyLDcgKzcyLDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIGJv
b2wgaXNGdWxsKCkgT1ZFUlJJREU7CiAKICAgICB2aXJ0dWFsIHZvaWQgZmx1c2hBbmRFbnF1ZXVl
Tm9uRGlzcGxheWluZ1NhbXBsZXMoVmVjdG9yPFJlZlB0cjxNZWRpYVNhbXBsZT4+LCBBdG9taWNT
dHJpbmcpIE9WRVJSSURFIHsgfQotICAgIHZpcnR1YWwgdm9pZCBlbnF1ZXVlU2FtcGxlKFBhc3NS
ZWZQdHI8TWVkaWFTYW1wbGU+LCBBdG9taWNTdHJpbmcpIE9WRVJSSURFIHsgfQorICAgIHZpcnR1
YWwgdm9pZCBlbnF1ZXVlU2FtcGxlKFBhc3NSZWZQdHI8TWVkaWFTYW1wbGU+LCBBdG9taWNTdHJp
bmcpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgYm9vbCBpc1JlYWR5Rm9yTW9yZVNhbXBsZXMoKSBP
VkVSUklERSB7IHJldHVybiB0cnVlOyB9CiAgICAgdmlydHVhbCB2b2lkIHNldEFjdGl2ZShib29s
KSBPVkVSUklERTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDNmMDdiOWUzOWQxYzZkODVhMWQzNDE0N2I3NDQyMTU3OTJi
ZGI1N2EuLjRmNWVkNmU2MDg1NGYwOTIwNTQ3MWQ2YWRiMWY5N2YyMjIzMjQ1N2UgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxNSBAQAorMjAxMy0xMi0wNiAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNv
bT4KKworICAgICAgICBbTVNFXSBBZGQgc3VwcG9ydCBmb3IgVmlkZW9QbGF5YmFja01ldHJpY3Mu
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjUzODAK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIG1lZGlh
L21lZGlhLXNvdXJjZS9tZWRpYS1zb3VyY2UtdmlkZW8tcGxheWJhY2stcXVhbGl0eS1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIG1lZGlhL21lZGlhLXNvdXJjZS9tZWRpYS1zb3VyY2Ut
dmlkZW8tcGxheWJhY2stcXVhbGl0eS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBtZWRpYS9tZWRp
YS1zb3VyY2UvbW9jay1tZWRpYS1zb3VyY2UuanM6CisgICAgICAgICh2YXIpOgorCiAyMDEzLTEy
LTA1ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAgICAgIFtNU0VdIEJy
aW5nIGVuZC1vZi1zdHJlYW0gYWxnb3JpdGhtIHNlY3Rpb24gdXAgdG8gY3VycmVudCBzcGVjLgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL21lZGlhLXNvdXJjZS1j
YW5wbGF5dGhyb3VnaC5odG1sIGIvTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEtc291cmNlL21lZGlh
LXNvdXJjZS1jYW5wbGF5dGhyb3VnaC5odG1sCmluZGV4IDZlOTFmNzZlZGJlMWUxNDFkZTBhYzk3
YjZlNWUyMDE1MDU5ZGQ2MjIuLjc5NzhjMjJkNDNkNjQwOGM0OTgzZGM2MzgzYTdhYzUyMzkwYjNm
OTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL21lZGlhL21lZGlhLXNvdXJjZS9tZWRpYS1zb3Vy
Y2UtY2FucGxheXRocm91Z2guaHRtbAorKysgYi9MYXlvdXRUZXN0cy9tZWRpYS9tZWRpYS1zb3Vy
Y2UvbWVkaWEtc291cmNlLWNhbnBsYXl0aHJvdWdoLmh0bWwKQEAgLTM5LDcgKzM5LDcgQEAKICAg
ICBmdW5jdGlvbiBzb3VyY2VVcGRhdGVkKCkgewogICAgICAgICBzb3VyY2UuYWN0aXZlU291cmNl
QnVmZmVycy5sZW5ndGg7CiAgICAgICAgIGlmIChuZXh0UmVxdWVzdCA8IHRvdGFsTGVuZ3RoKSB7
Ci0gICAgICAgICAgICBzb3VyY2VCdWZmZXIuYXBwZW5kQnVmZmVyKG1ha2VBU2FtcGxlKG5leHRS
ZXF1ZXN0LCBuZXh0UmVxdWVzdCwgMSwgMSwgMCkpOworICAgICAgICAgICAgc291cmNlQnVmZmVy
LmFwcGVuZEJ1ZmZlcihtYWtlQVNhbXBsZShuZXh0UmVxdWVzdCwgbmV4dFJlcXVlc3QsIDEsIDEs
IFNBTVBMRV9GTEFHLlNZTkMpKTsKICAgICAgICAgICAgICsrbmV4dFJlcXVlc3Q7CiAgICAgICAg
IH0KICAgICB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvbWVk
aWEtc291cmNlLXBsYXkuaHRtbCBiL0xheW91dFRlc3RzL21lZGlhL21lZGlhLXNvdXJjZS9tZWRp
YS1zb3VyY2UtcGxheS5odG1sCmluZGV4IDk2NTdhZTRmODBmN2ZlMjdhMjU0MDk3ZTllMmEwMjFm
N2E1NjBlZDIuLmNhMjQ2NGNiYjUwYjRmMTdjNDQwMzA5ZmI4ZDdjMzhkNGYyOTdhMzIgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL21lZGlhL21lZGlhLXNvdXJjZS9tZWRpYS1zb3VyY2UtcGxheS5o
dG1sCisrKyBiL0xheW91dFRlc3RzL21lZGlhL21lZGlhLXNvdXJjZS9tZWRpYS1zb3VyY2UtcGxh
eS5odG1sCkBAIC0zMSw3ICszMSw3IEBACiAgICAgfQogCiAgICAgZnVuY3Rpb24gbG9hZFNhbXBs
ZXMoKSB7Ci0gICAgICAgIHNhbXBsZSA9IG1ha2VBU2FtcGxlKDAsIDAsIDEwLCAxLCAwKTsKKyAg
ICAgICAgc2FtcGxlID0gbWFrZUFTYW1wbGUoMCwgMCwgMTAsIDEsIFNBTVBMRV9GTEFHLlNZTkMp
OwogICAgICAgICB3YWl0Rm9yRXZlbnRPbihzb3VyY2VCdWZmZXIsICd1cGRhdGVlbmQnLCBwbGF5
LCBmYWxzZSwgdHJ1ZSk7CiAgICAgICAgIHJ1bignc291cmNlQnVmZmVyLmFwcGVuZEJ1ZmZlcihz
YW1wbGUpJyk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEtc291
cmNlL21lZGlhLXNvdXJjZS12aWRlby1wbGF5YmFjay1xdWFsaXR5LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL21lZGlhL21lZGlhLXNvdXJjZS9tZWRpYS1zb3VyY2UtdmlkZW8tcGxheWJhY2st
cXVhbGl0eS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjNhM2VhYzQwNDVmYmEyMWFhZmFhNzc2
OWE4ZTRiNThjMjBmYjgzZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL21lZGlhL21l
ZGlhLXNvdXJjZS9tZWRpYS1zb3VyY2UtdmlkZW8tcGxheWJhY2stcXVhbGl0eS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwyMyBAQAorCitSVU4odmlkZW8uc3JjID0gVVJMLmNyZWF0ZU9iamVjdFVS
TChzb3VyY2UpKQorRVZFTlQoc291cmNlb3BlbikKK1JVTihzb3VyY2VCdWZmZXIgPSBzb3VyY2Uu
YWRkU291cmNlQnVmZmVyKCJ2aWRlby9tb2NrOyBjb2RlY3M9bW9jayIpKQorUlVOKHNvdXJjZUJ1
ZmZlci5hcHBlbmRCdWZmZXIoaW5pdFNlZ21lbnQpKQorRVZFTlQodXBkYXRlZW5kKQorVGVzdCB0
aGF0IGJlZ2lubmluZyBhIGJ1ZmZlciB3aXRoIGEgbm9uLXN5bmMgc2FtcGxlIHJlc3VsdHMgaW4g
dGhhdCBzYW1wbGUgYmVpbmcgZHJvcHBlZC4KK1JVTihzb3VyY2VCdWZmZXIuYXBwZW5kQnVmZmVy
KHNhbXBsZXMpKQorRVZFTlQodXBkYXRlZW5kKQorUlVOKHF1YWxpdHkgPSB2aWRlby5nZXRWaWRl
b1BsYXliYWNrUXVhbGl0eSgpKQorRVhQRUNURUQgKHF1YWxpdHkudG90YWxWaWRlb0ZyYW1lcyA9
PSAnMScpIE9LCitFWFBFQ1RFRCAocXVhbGl0eS5jb3JydXB0ZWRWaWRlb0ZyYW1lcyA9PSAnMCcp
IE9LCitFWFBFQ1RFRCAocXVhbGl0eS5kcm9wcGVkVmlkZW9GcmFtZXMgPT0gJzEnKSBPSworRVhQ
RUNURUQgKHF1YWxpdHkudG90YWxGcmFtZURlbGF5ID09ICcwJykgT0sKK1JVTihzb3VyY2VCdWZm
ZXIuYXBwZW5kQnVmZmVyKHNhbXBsZXMpKQorRVZFTlQodXBkYXRlZW5kKQorUlVOKHF1YWxpdHkg
PSB2aWRlby5nZXRWaWRlb1BsYXliYWNrUXVhbGl0eSgpKQorRVhQRUNURUQgKHF1YWxpdHkudG90
YWxWaWRlb0ZyYW1lcyA9PSAnOCcpIE9LCitFWFBFQ1RFRCAocXVhbGl0eS5jb3JydXB0ZWRWaWRl
b0ZyYW1lcyA9PSAnMScpIE9LCitFWFBFQ1RFRCAocXVhbGl0eS5kcm9wcGVkVmlkZW9GcmFtZXMg
PT0gJzInKSBPSworRVhQRUNURUQgKHF1YWxpdHkudG90YWxGcmFtZURlbGF5ID09ICczJykgT0sK
K0VORCBPRiBURVNUCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21lZGlhL21lZGlhLXNvdXJj
ZS9tZWRpYS1zb3VyY2UtdmlkZW8tcGxheWJhY2stcXVhbGl0eS5odG1sIGIvTGF5b3V0VGVzdHMv
bWVkaWEvbWVkaWEtc291cmNlL21lZGlhLXNvdXJjZS12aWRlby1wbGF5YmFjay1xdWFsaXR5Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNDNkYWJiNGRlMGViNDE5NjcxZjI0YjRlYWZhMjRjNmIyYzFkNTZlYwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL21lZGlhL21lZGlhLXNvdXJjZS9tZWRpYS1z
b3VyY2UtdmlkZW8tcGxheWJhY2stcXVhbGl0eS5odG1sCkBAIC0wLDAgKzEsNzYgQEAKKzwhRE9D
VFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKyAgICA8dGl0bGU+bW9jay1tZWRpYS1zb3VyY2U8
L3RpdGxlPgorICAgIDxzY3JpcHQgc3JjPSJtb2NrLW1lZGlhLXNvdXJjZS5qcyI+PC9zY3JpcHQ+
CisgICAgPHNjcmlwdCBzcmM9Ii4uL3ZpZGVvLXRlc3QuanMiPjwvc2NyaXB0PgorICAgIDxzY3Jp
cHQ+CisgICAgdmFyIHNvdXJjZTsKKyAgICB2YXIgc291cmNlQnVmZmVyOworICAgIHZhciBpbml0
U2VnbWVudDsKKyAgICB2YXIgc2FtcGxlczsKKyAgICB2YXIgcXVhbGl0eTsKKworICAgIGlmICh3
aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICBpbnRlcm5hbHMuaW5pdGlhbGl6ZU1vY2tNZWRpYVNv
dXJjZSgpOworCisgICAgZnVuY3Rpb24gcnVuVGVzdCgpCisgICAgeworICAgICAgICBmaW5kTWVk
aWFFbGVtZW50KCk7CisKKyAgICAgICAgc291cmNlID0gbmV3IE1lZGlhU291cmNlKCk7CisgICAg
ICAgIHdhaXRGb3JFdmVudE9uKHNvdXJjZSwgJ3NvdXJjZW9wZW4nLCBzb3VyY2VPcGVuKTsKKyAg
ICAgICAgcnVuKCd2aWRlby5zcmMgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKHNvdXJjZSknKTsKKyAg
ICB9CisKKyAgICBmdW5jdGlvbiBzb3VyY2VPcGVuKCkKKyAgICB7CisgICAgICAgIHJ1bignc291
cmNlQnVmZmVyID0gc291cmNlLmFkZFNvdXJjZUJ1ZmZlcigidmlkZW8vbW9jazsgY29kZWNzPW1v
Y2siKScpOworICAgICAgICB3YWl0Rm9yRXZlbnRPbihzb3VyY2VCdWZmZXIsICd1cGRhdGVlbmQn
LCBsb2FkU2FtcGxlLCBmYWxzZSwgdHJ1ZSk7CisgICAgICAgIGluaXRTZWdtZW50ID0gbWFrZUFJ
bml0KDgsIFttYWtlQVRyYWNrKDEsICdtb2NrJywgVFJBQ0tfS0lORC5WSURFTyldKTsKKyAgICAg
ICAgcnVuKCdzb3VyY2VCdWZmZXIuYXBwZW5kQnVmZmVyKGluaXRTZWdtZW50KScpOworICAgIH0K
KworICAgIGZ1bmN0aW9uIGxvYWRTYW1wbGUoKQorICAgIHsKKyAgICAgICAgc2FtcGxlcyA9IGNv
bmNhdGVuYXRlU2FtcGxlcyhbbWFrZUFTYW1wbGUoMCwgMCwgMSwgMSwgU0FNUExFX0ZMQUcuTk9O
RSldKTsKKyAgICAgICAgd2FpdEZvckV2ZW50T24oc291cmNlQnVmZmVyLCAndXBkYXRlZW5kJywg
bG9hZE1vcmVTYW1wbGVzLCBmYWxzZSwgdHJ1ZSk7CisgICAgICAgIGNvbnNvbGVXcml0ZSgnVGVz
dCB0aGF0IGJlZ2lubmluZyBhIGJ1ZmZlciB3aXRoIGEgbm9uLXN5bmMgc2FtcGxlIHJlc3VsdHMg
aW4gdGhhdCBzYW1wbGUgYmVpbmcgZHJvcHBlZC4nKQorICAgICAgICBydW4oJ3NvdXJjZUJ1ZmZl
ci5hcHBlbmRCdWZmZXIoc2FtcGxlcyknKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBsb2FkTW9y
ZVNhbXBsZXMoKQorICAgIHsKKyAgICAgICAgcnVuKCdxdWFsaXR5ID0gdmlkZW8uZ2V0VmlkZW9Q
bGF5YmFja1F1YWxpdHkoKScpOworICAgICAgICB0ZXN0RXhwZWN0ZWQoJ3F1YWxpdHkudG90YWxW
aWRlb0ZyYW1lcycsIDEpOworICAgICAgICB0ZXN0RXhwZWN0ZWQoJ3F1YWxpdHkuY29ycnVwdGVk
VmlkZW9GcmFtZXMnLCAwKTsKKyAgICAgICAgdGVzdEV4cGVjdGVkKCdxdWFsaXR5LmRyb3BwZWRW
aWRlb0ZyYW1lcycsIDEpOworICAgICAgICB0ZXN0RXhwZWN0ZWQoJ3F1YWxpdHkudG90YWxGcmFt
ZURlbGF5JywgMCk7CisKKyAgICAgICAgc2FtcGxlcyA9IGNvbmNhdGVuYXRlU2FtcGxlcyhbCisg
ICAgICAgICAgICBtYWtlQVNhbXBsZSgwLCAwLCAxLCAxLCBTQU1QTEVfRkxBRy5TWU5DKSwKKyAg
ICAgICAgICAgIG1ha2VBU2FtcGxlKDEsIDEsIDEsIDEsIFNBTVBMRV9GTEFHLkNPUlJVUFRFRCks
CisgICAgICAgICAgICBtYWtlQVNhbXBsZSgyLCAyLCAxLCAxLCBTQU1QTEVfRkxBRy5EUk9QUEVE
KSwKKyAgICAgICAgICAgIG1ha2VBU2FtcGxlKDQsIDQsIDEsIDEsIFNBTVBMRV9GTEFHLkRFTEFZ
RUQpLAorICAgICAgICAgICAgbWFrZUFTYW1wbGUoNSwgNSwgMSwgMSwgU0FNUExFX0ZMQUcuREVM
QVlFRCksCisgICAgICAgICAgICBtYWtlQVNhbXBsZSg2LCA2LCAxLCAxLCBTQU1QTEVfRkxBRy5E
RUxBWUVEKSwKKyAgICAgICAgICAgIG1ha2VBU2FtcGxlKDcsIDcsIDEsIDEsIFNBTVBMRV9GTEFH
Lk5PTkUpLAorICAgICAgICBdKTsKKyAgICAgICAgd2FpdEZvckV2ZW50T24oc291cmNlQnVmZmVy
LCAndXBkYXRlZW5kJywgc2FtcGxlc0FkZGVkLCBmYWxzZSwgdHJ1ZSk7CisgICAgICAgIHJ1bign
c291cmNlQnVmZmVyLmFwcGVuZEJ1ZmZlcihzYW1wbGVzKScpOworICAgIH0KKworICAgIGZ1bmN0
aW9uIHNhbXBsZXNBZGRlZCgpCisgICAgeworICAgICAgICBydW4oJ3F1YWxpdHkgPSB2aWRlby5n
ZXRWaWRlb1BsYXliYWNrUXVhbGl0eSgpJyk7CisgICAgICAgIHRlc3RFeHBlY3RlZCgncXVhbGl0
eS50b3RhbFZpZGVvRnJhbWVzJywgOCk7CisgICAgICAgIHRlc3RFeHBlY3RlZCgncXVhbGl0eS5j
b3JydXB0ZWRWaWRlb0ZyYW1lcycsIDEpOworICAgICAgICB0ZXN0RXhwZWN0ZWQoJ3F1YWxpdHku
ZHJvcHBlZFZpZGVvRnJhbWVzJywgMik7CisgICAgICAgIHRlc3RFeHBlY3RlZCgncXVhbGl0eS50
b3RhbEZyYW1lRGVsYXknLCAzKTsKKyAgICAgICAgZW5kVGVzdCgpOworICAgIH0KKyAgICA8L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKyAgICA8dmlkZW8+PC92
aWRlbz4KKzwvYm9keT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvbW9jay1tZWRpYS1zb3VyY2UuanMgYi9MYXlv
dXRUZXN0cy9tZWRpYS9tZWRpYS1zb3VyY2UvbW9jay1tZWRpYS1zb3VyY2UuanMKaW5kZXggMzg2
ZTdjYjMxZDYxZWExNmY0ZDQ2ZTA2ZmEwNWJmZTY2MjVhNzVjMC4uN2U0ZDc5NDJjMzY0Y2IxYmMy
ZDRkYzg2ZTZlOGJkOWJjM2Y4ZDM2NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvbWVkaWEvbWVk
aWEtc291cmNlL21vY2stbWVkaWEtc291cmNlLmpzCisrKyBiL0xheW91dFRlc3RzL21lZGlhL21l
ZGlhLXNvdXJjZS9tb2NrLW1lZGlhLXNvdXJjZS5qcwpAQCAtMTEsNiArMTEsOSBAQCBmdW5jdGlv
biBzdHJpbmdUb0FycmF5KHN0cmluZykgewogdmFyIFNBTVBMRV9GTEFHID0gewogICAgIE5PTkU6
IDAsCiAgICAgU1lOQzogMSA8PCAwLAorICAgIENPUlJVUFRFRDogMSA8PCAxLAorICAgIERST1BQ
RUQ6IDEgPDwgMiwKKyAgICBERUxBWUVEOiAxIDw8IDMsCiB9OwogCiBmdW5jdGlvbiBtYWtlQVNh
bXBsZShwcmVzZW50YXRpb25UaW1lLCBkZWNvZGVUaW1lLCBkdXJhdGlvbiwgdHJhY2tJRCwgZmxh
Z3MpIHsK
</data>

          </attachment>
      

    </bug>

</bugzilla>