<?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>61152</bug_id>
          
          <creation_ts>2011-05-19 16:04:12 -0700</creation_ts>
          <short_desc>[Resource Timing] Implement Resource Timing interface</short_desc>
          <delta_ts>2012-06-21 14:16:08 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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>
          <dependson>85025</dependson>
    
    <dependson>80350</dependson>
          <blocked>61138</blocked>
    
    <blocked>84883</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="James Simonsen">simonjam</reporter>
          <assigned_to name="James Simonsen">simonjam</assigned_to>
          <cc>abarth</cc>
    
    <cc>dglazkov</cc>
    
    <cc>dwright</cc>
    
    <cc>eric</cc>
    
    <cc>gustavo</cc>
    
    <cc>haraken</cc>
    
    <cc>jamesr</cc>
    
    <cc>japhet</cc>
    
    <cc>jochen</cc>
    
    <cc>ojan</cc>
    
    <cc>paulirish</cc>
    
    <cc>philn</cc>
    
    <cc>rakuco</cc>
    
    <cc>tonyg</cc>
    
    <cc>vestbo</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>406712</commentid>
    <comment_count>0</comment_count>
    <who name="James Simonsen">simonjam</who>
    <bug_when>2011-05-19 16:04:12 -0700</bug_when>
    <thetext>[Resource Timing] Implement Resource Timing interface</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>406724</commentid>
    <comment_count>1</comment_count>
      <attachid>94141</attachid>
    <who name="James Simonsen">simonjam</who>
    <bug_when>2011-05-19 16:19:02 -0700</bug_when>
    <thetext>Created attachment 94141
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>545466</commentid>
    <comment_count>2</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-01-30 15:16:00 -0800</bug_when>
    <thetext>8 months since this was posted.  No comment.  Do we really wan this? or can this bug be closed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>545493</commentid>
    <comment_count>3</comment_count>
    <who name="James Simonsen">simonjam</who>
    <bug_when>2012-01-30 15:29:23 -0800</bug_when>
    <thetext>I think we can move forward again.

We had the W3C security and privacy teams review it. I think Tony was going to report the results to the old thread on webkit-dev. Maybe he already did.

I can post a link in the metabug too.

FYI, I&apos;m planning to finish up the implementation this quarter.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>611189</commentid>
    <comment_count>4</comment_count>
      <attachid>139121</attachid>
    <who name="James Simonsen">simonjam</who>
    <bug_when>2012-04-26 19:33:51 -0700</bug_when>
    <thetext>Created attachment 139121
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>611202</commentid>
    <comment_count>5</comment_count>
      <attachid>139121</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-04-26 19:59:08 -0700</bug_when>
    <thetext>Comment on attachment 139121
Patch

Attachment 139121 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/12560070</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>611203</commentid>
    <comment_count>6</comment_count>
      <attachid>139121</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2012-04-26 20:01:49 -0700</bug_when>
    <thetext>Comment on attachment 139121
Patch

Attachment 139121 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/12549076</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>611212</commentid>
    <comment_count>7</comment_count>
      <attachid>139126</attachid>
    <who name="James Simonsen">simonjam</who>
    <bug_when>2012-04-26 20:18:00 -0700</bug_when>
    <thetext>Created attachment 139126
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>611221</commentid>
    <comment_count>8</comment_count>
      <attachid>139126</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-04-26 20:43:57 -0700</bug_when>
    <thetext>Comment on attachment 139126
Patch

Attachment 139126 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/12554084</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>611224</commentid>
    <comment_count>9</comment_count>
      <attachid>139128</attachid>
    <who name="James Simonsen">simonjam</who>
    <bug_when>2012-04-26 20:51:24 -0700</bug_when>
    <thetext>Created attachment 139128
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>639483</commentid>
    <comment_count>10</comment_count>
      <attachid>139128</attachid>
    <who name="Tony Gentilcore">tonyg</who>
    <bug_when>2012-06-01 10:06:50 -0700</bug_when>
    <thetext>Comment on attachment 139128
Patch

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

Setting r- for now until we figure out the comment about initiator type/time.

Everything else is nit-picky.

&gt; Source/WebCore/ChangeLog:6
&gt; +        This patch implements the Resource Timing interface. It doesn&apos;t do anything

I recommend a link to the spec in the ChangeLog.

&gt; Source/WebCore/page/Performance.cpp:63
&gt; +    return frame()-&gt;document()-&gt;scriptExecutionContext();

Are we guaranteed a Frame here?

Also, Document is a ScriptExecutionContext, so is the scriptExecutionContext() call doing anything useful?

&gt; Source/WebCore/page/Performance.cpp:94
&gt; +    for (Vector&lt;RefPtr&lt;PerformanceEntry&gt; &gt;::const_iterator resource = m_resourceTimingBuffer.begin(); resource != m_resourceTimingBuffer.end(); ++resource)

Vector does have an append() that takes a Vector and appends all. Would it be cleaner to avoid the iterator here and modify PerformanceEntryList to take advantage of that? We seem to append all more than once.

&gt; Source/WebCore/page/Performance.cpp:138
&gt; +{

Add FIXME

&gt; Source/WebCore/page/Performance.h:43
&gt; +#include &quot;ResourceResponse.h&quot;

Can these both be forward declared?

&gt; Source/WebCore/page/PerformanceResourceTiming.cpp:50
&gt; +    case ResourceRequest::InitiatorIsCSS:

There was a recent thread about these. Are they being reworked in the spec?

&gt; Source/WebCore/page/PerformanceResourceTiming.cpp:68
&gt; +    case ResourceRequest::InitiatorIsUnknown:

Are there known unknowns? If so, this shouldn&apos;t hit the ASSERT_NOT_REACHED().

&gt; Source/WebCore/page/PerformanceResourceTiming.h:36
&gt; +#include &quot;Performance.h&quot;

Unused?

&gt; Source/WebCore/page/PerformanceResourceTiming.h:38
&gt; +#include &quot;ResourceLoadTiming.h&quot;

I always forget whether it is okay to forward declare something used as a RefPtr. You have it one way for Document and another way for ResourceLoadTiming. So either this can be forward declared or else we are pulling in Document.h transitively and it should be explicit.

&gt; Source/WebCore/page/PerformanceResourceTiming.h:39
&gt; +#include &quot;ResourceRequest.h&quot;

Forward declare like ResourceResponse?

&gt; Source/WebCore/page/PerformanceResourceTiming.h:41
&gt; +#include &lt;wtf/RefCounted.h&gt;

Should be wtf/RefPtr.h, right? And also add wtf/text/WTFString.h.

&gt; Source/WebCore/platform/network/ResourceRequestBase.h:153
&gt; +        double initiatedTime() const { return m_initiatedTime; }

The devtools timeline seems to already know initiatedTime and initiatorType. DevTools and ResourceTiming should probably share the same data store for this information.

Have you looked into how that works and whether any of these ResourceRequest modifications are absolutely necessary?

&gt; Source/WebCore/platform/network/ResourceRequestBase.h:214
&gt; +        double m_initiatedTime;

Worth enforcing const here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>644210</commentid>
    <comment_count>11</comment_count>
      <attachid>146451</attachid>
    <who name="James Simonsen">simonjam</who>
    <bug_when>2012-06-07 19:04:59 -0700</bug_when>
    <thetext>Created attachment 146451
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>644214</commentid>
    <comment_count>12</comment_count>
    <who name="James Simonsen">simonjam</who>
    <bug_when>2012-06-07 19:06:54 -0700</bug_when>
    <thetext>View in context: https://bugs.webkit.org/attachment.cgi?id=139128&amp;action=review

&gt;&gt; Source/WebCore/ChangeLog:6
&gt;&gt; +        This patch implements the Resource Timing interface. It doesn&apos;t do anything
&gt; 
&gt; I recommend a link to the spec in the ChangeLog.

Done.

&gt;&gt; Source/WebCore/page/Performance.cpp:63
&gt;&gt; +    return frame()-&gt;document()-&gt;scriptExecutionContext();
&gt; 
&gt; Are we guaranteed a Frame here?
&gt; 
&gt; Also, Document is a ScriptExecutionContext, so is the scriptExecutionContext() call doing anything useful?

Fixed both.

&gt;&gt; Source/WebCore/page/Performance.cpp:94
&gt;&gt; +    for (Vector&lt;RefPtr&lt;PerformanceEntry&gt; &gt;::const_iterator resource = m_resourceTimingBuffer.begin(); resource != m_resourceTimingBuffer.end(); ++resource)
&gt; 
&gt; Vector does have an append() that takes a Vector and appends all. Would it be cleaner to avoid the iterator here and modify PerformanceEntryList to take advantage of that? We seem to append all more than once.

Good idea. Done.

&gt;&gt; Source/WebCore/page/Performance.cpp:138
&gt;&gt; +{
&gt; 
&gt; Add FIXME

Done.

&gt;&gt; Source/WebCore/page/Performance.h:43
&gt;&gt; +#include &quot;ResourceResponse.h&quot;
&gt; 
&gt; Can these both be forward declared?

Yep.

&gt;&gt; Source/WebCore/page/PerformanceResourceTiming.cpp:50
&gt;&gt; +    case ResourceRequest::InitiatorIsCSS:
&gt; 
&gt; There was a recent thread about these. Are they being reworked in the spec?

They are. Should we match the current spec or what it&apos;s going to be? I could file a bug for the latter.

&gt;&gt; Source/WebCore/page/PerformanceResourceTiming.cpp:68
&gt;&gt; +    case ResourceRequest::InitiatorIsUnknown:
&gt; 
&gt; Are there known unknowns? If so, this shouldn&apos;t hit the ASSERT_NOT_REACHED().

No, AFAICT it shouldn&apos;t be reached.

&gt;&gt; Source/WebCore/page/PerformanceResourceTiming.h:36
&gt;&gt; +#include &quot;Performance.h&quot;
&gt; 
&gt; Unused?

Yep.

&gt;&gt; Source/WebCore/page/PerformanceResourceTiming.h:38
&gt;&gt; +#include &quot;ResourceLoadTiming.h&quot;
&gt; 
&gt; I always forget whether it is okay to forward declare something used as a RefPtr. You have it one way for Document and another way for ResourceLoadTiming. So either this can be forward declared or else we are pulling in Document.h transitively and it should be explicit.

Forward declaration seems fine so I made both that. I put a destructor in the .cpp where both are fully defined to be sure it&apos;ll work.

&gt;&gt; Source/WebCore/page/PerformanceResourceTiming.h:39
&gt;&gt; +#include &quot;ResourceRequest.h&quot;
&gt; 
&gt; Forward declare like ResourceResponse?

Done.

&gt;&gt; Source/WebCore/page/PerformanceResourceTiming.h:41
&gt;&gt; +#include &lt;wtf/RefCounted.h&gt;
&gt; 
&gt; Should be wtf/RefPtr.h, right? And also add wtf/text/WTFString.h.

Done.

&gt;&gt; Source/WebCore/platform/network/ResourceRequestBase.h:153
&gt;&gt; +        double initiatedTime() const { return m_initiatedTime; }
&gt; 
&gt; The devtools timeline seems to already know initiatedTime and initiatorType. DevTools and ResourceTiming should probably share the same data store for this information.
&gt; 
&gt; Have you looked into how that works and whether any of these ResourceRequest modifications are absolutely necessary?

I removed initiatedTime.

Inspector has two relevant fields to initiatorType: initiator and type. Initiator comes from inspecting state (is the parser running, is there a JS callstack). Type comes from the CachedResourceType. That&apos;s insufficient for our needs, because it can&apos;t identify the source element. So, I think we still need to add initiatorType.

Not sure if Inspector type should switch to initiatorType. It&apos;ll probably become harder once that&apos;s a node name though.

&gt;&gt; Source/WebCore/platform/network/ResourceRequestBase.h:214
&gt;&gt; +        double m_initiatedTime;
&gt; 
&gt; Worth enforcing const here?

No longer there.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>644251</commentid>
    <comment_count>13</comment_count>
      <attachid>146451</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-06-07 20:08:01 -0700</bug_when>
    <thetext>Comment on attachment 146451
Patch

Attachment 146451 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/12908555</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>644263</commentid>
    <comment_count>14</comment_count>
      <attachid>146451</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-06-07 20:19:18 -0700</bug_when>
    <thetext>Comment on attachment 146451
Patch

Attachment 146451 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/12908559</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>644275</commentid>
    <comment_count>15</comment_count>
      <attachid>146466</attachid>
    <who name="James Simonsen">simonjam</who>
    <bug_when>2012-06-07 20:53:29 -0700</bug_when>
    <thetext>Created attachment 146466
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>644294</commentid>
    <comment_count>16</comment_count>
      <attachid>146466</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-06-07 21:24:37 -0700</bug_when>
    <thetext>Comment on attachment 146466
Patch

Attachment 146466 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/12921405</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>644325</commentid>
    <comment_count>17</comment_count>
      <attachid>146466</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-06-07 22:09:41 -0700</bug_when>
    <thetext>Comment on attachment 146466
Patch

Attachment 146466 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/12910537</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>644417</commentid>
    <comment_count>18</comment_count>
      <attachid>146466</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-06-08 00:24:55 -0700</bug_when>
    <thetext>Comment on attachment 146466
Patch

Attachment 146466 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/12908610</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>647285</commentid>
    <comment_count>19</comment_count>
      <attachid>147155</attachid>
    <who name="James Simonsen">simonjam</who>
    <bug_when>2012-06-12 14:02:06 -0700</bug_when>
    <thetext>Created attachment 147155
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>649825</commentid>
    <comment_count>20</comment_count>
      <attachid>147721</attachid>
    <who name="James Simonsen">simonjam</who>
    <bug_when>2012-06-14 21:03:38 -0700</bug_when>
    <thetext>Created attachment 147721
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>649832</commentid>
    <comment_count>21</comment_count>
      <attachid>147721</attachid>
    <who name="Tony Gentilcore">tonyg</who>
    <bug_when>2012-06-14 21:21:23 -0700</bug_when>
    <thetext>Comment on attachment 147721
Patch

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

&gt; Source/WebCore/ChangeLog:12611
&gt; +2012-04-25  James Simonsen  &lt;simonjam@chromium.org&gt;

Merge problem

&gt; Source/WebCore/page/PerformanceResourceTiming.cpp:107
&gt; +        connectStart = m_timing-&gt;dnsEnd;

A lot of these conditions remind me of similar ones in Navigation Timing that should probably stay in sync in the future.

I don&apos;t have a specific suggestion, but Is there any reasonable way to factor out any commonality between the two?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>654760</commentid>
    <comment_count>22</comment_count>
      <attachid>148852</attachid>
    <who name="James Simonsen">simonjam</who>
    <bug_when>2012-06-21 11:48:11 -0700</bug_when>
    <thetext>Created attachment 148852
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>654870</commentid>
    <comment_count>23</comment_count>
      <attachid>148852</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-21 14:15:45 -0700</bug_when>
    <thetext>Comment on attachment 148852
Patch for landing

Clearing flags on attachment: 148852

Committed r120962: &lt;http://trac.webkit.org/changeset/120962&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>654871</commentid>
    <comment_count>24</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-21 14:16:08 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>94141</attachid>
            <date>2011-05-19 16:19:02 -0700</date>
            <delta_ts>2012-03-02 15:27:48 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-61152-20110519161901.patch</filename>
            <type>text/plain</type>
            <size>43446</size>
            <attacher name="James Simonsen">simonjam</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODY4MjQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBhNzc4ZjdhYTZlNGQ1MTEyYTVkNzhm
Mzg1MTQ5M2U1YTVhNzBiMGFkLi5hZWNiN2VhMjQxMGFhMDc2NDRjNjc4NjUyYjdlOGYyMmY5NmMz
NjYzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTEtMDUtMTkgIEphbWVzIFNpbW9uc2VuICA8
c2ltb25qYW1AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFtSZXNvdXJjZSBUaW1pbmddIEltcGxlbWVudCBSZXNvdXJjZSBUaW1p
bmcgaW50ZXJmYWNlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD02MTE1MgorCisgICAgICAgICogZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVz
LXBlcmZvcm1hbmNlLWV4cGVjdGVkLnR4dDogRXhwZWN0IHZlbmRvci1wcmVmaXhlZCBSZXNvdXJj
ZSBUaW1pbmcgYXR0cmlidXRlcy4KKwogMjAxMS0wNS0xOSAgWXV6byBGdWppc2hpbWEgIDx5dXpv
QGdvb2dsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCBDaHJvbWl1bSB0ZXN0IGV4cGVjdGF0
aW9uIGNoYW5nZS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5k
b3ctcHJvcGVydGllcy1wZXJmb3JtYW5jZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMtcGVyZm9ybWFuY2UtZXhwZWN0ZWQudHh0Cmlu
ZGV4IDY1NmUxNTc3MjU2MmZhMTFlZjcwOTdlMTZjYzQ4MTViZDg2Y2FiOTguLmI1YWY5NzhmNWRi
ODBlY2VmYTIzMGE3MmQ2ZTliZjRmYTdhMjQ1ZDggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zh
c3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGllcy1wZXJmb3JtYW5jZS1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLXBlcmZv
cm1hbmNlLWV4cGVjdGVkLnR4dApAQCAtMzQsNiArMzQsOSBAQCB3aW5kb3cucGVyZm9ybWFuY2Uu
dGltaW5nLnJlc3BvbnNlU3RhcnQgW251bWJlcl0KIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcu
c2VjdXJlQ29ubmVjdGlvblN0YXJ0IFtudW1iZXJdCiB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5n
LnVubG9hZEV2ZW50RW5kIFtudW1iZXJdCiB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nLnVubG9h
ZEV2ZW50U3RhcnQgW251bWJlcl0KK3dpbmRvdy5wZXJmb3JtYW5jZS53ZWJraXRDbGVhclJlc291
cmNlVGltaW5ncyBbZnVuY3Rpb25dCit3aW5kb3cucGVyZm9ybWFuY2Uud2Via2l0R2V0UmVzb3Vy
Y2VUaW1pbmdzIFtmdW5jdGlvbl0KK3dpbmRvdy5wZXJmb3JtYW5jZS53ZWJraXRTZXRSZXNvdXJj
ZVRpbWluZ0J1ZmZlclNpemUgW2Z1bmN0aW9uXQogd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZyBb
cHJpbnRlZCBhYm92ZSBhcyB3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nXQogd2luZG93LnBlcmZv
cm1hbmNlLm5hdmlnYXRpb24gW3ByaW50ZWQgYWJvdmUgYXMgd2luZG93LnBlcmZvcm1hbmNlLm5h
dmlnYXRpb25dCiB3aW5kb3cucGVyZm9ybWFuY2UgW3N0cmluZ10KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQK
aW5kZXggZWQ1NGNjNjhlNzIwNGZmZWYzYzYyZDM3YjY2YmUyYWUwYTdkZGY2OC4uMzNmYWZhZTA2
YzA3ZTUxNjAyNjFiMWEwMzFhYjMyMDVkMzZjNWJjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAg
LTMzMCw2ICszMzAsOCBAQCBTRVQoV2ViQ29yZV9JRExfRklMRVMKICAgICBwYWdlL05hdmlnYXRv
clVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5pZGwKICAgICBwYWdlL1BlcmZvcm1hbmNlLmlkbAog
ICAgIHBhZ2UvUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmlkbAorICAgIHBhZ2UvUGVyZm9ybWFuY2VS
ZXNvdXJjZVRpbWluZy5pZGwKKyAgICBwYWdlL1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmdMaXN0
LmlkbAogICAgIHBhZ2UvUGVyZm9ybWFuY2VUaW1pbmcuaWRsCiAgICAgcGFnZS9Qb3NpdGlvbkVy
cm9yLmlkbAogICAgIHBhZ2UvU2NyZWVuLmlkbApAQCAtMTAxNiw2ICsxMDE4LDggQEAgU0VUKFdl
YkNvcmVfU09VUkNFUwogICAgIHBhZ2UvUGFnZVZpc2liaWxpdHlTdGF0ZS5jcHAKICAgICBwYWdl
L1BlcmZvcm1hbmNlLmNwcAogICAgIHBhZ2UvUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmNwcAorICAg
IHBhZ2UvUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5jcHAKKyAgICBwYWdlL1BlcmZvcm1hbmNl
UmVzb3VyY2VUaW1pbmdMaXN0LmNwcAogICAgIHBhZ2UvUGVyZm9ybWFuY2VUaW1pbmcuY3BwCiAg
ICAgcGFnZS9QbHVnaW5IYWx0ZXIuY3BwCiAgICAgcGFnZS9QcmludENvbnRleHQuY3BwCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cKaW5kZXggN2EwMjk5MzNjZmY5MjIyODcwMTkwNTYyNDBjMGQ3NDdmNTczNjdiNy4uZWJhODhm
MDQ2OWVhYzNlY2JiNjE2ZmQ5Y2JhZjcyMzE2NTgxZWQ2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDY0IEBACisyMDExLTA1LTE5ICBKYW1lcyBTaW1vbnNlbiAgPHNpbW9uamFtQGNocm9taXVtLm9y
Zz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbUmVz
b3VyY2UgVGltaW5nXSBJbXBsZW1lbnQgUmVzb3VyY2UgVGltaW5nIGludGVyZmFjZQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjExNTIKKworICAgICAg
ICBUaGUgaW50ZXJmYWNlIGlzIGRlc2NyaWJlZCBoZXJlOgorICAgICAgICBodHRwOi8vdzNjLXRl
c3Qub3JnL3dlYnBlcmYvc3BlY3MvUmVzb3VyY2VUaW1pbmcvCisKKyAgICAgICAgV2hpbGUgdGhl
IEFQSXMgYXJlIHByZXNlbnQsIG5vbmUgb2YgdGhlbSBhcmUgcG9wdWxhdGVkIGF0IHRoaXMgcG9p
bnQuIEFsbCBlbnRyeSBwb2ludHMgaW50bworICAgICAgICBSZXNvdXJjZSBUaW1pbmcgYXJlIHZl
bmRvci1wcmVmaXhlZCBiZWNhdXNlIHdlIGhhdmVuJ3QgcmVhY2hlZCBjYW5kaWRhdGUgcmVjb21t
ZW5kYXRpb24uIFRoZQorICAgICAgICBjb2RlIGlzIHByb3RlY3RlZCBieSBFTkFCTEUoV0VCX1RJ
TUlORykgYmVjYXVzZSB3ZSBkZXBlbmQgb24gdGhhdCBiZWluZyBpbXBsZW1lbnRlZC4KKworICAg
ICAgICAqIENNYWtlTGlzdHMudHh0OiBBZGQgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZyBhbmQg
UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZ0xpc3QuCisgICAgICAgICogQ29kZUdlbmVyYXRvcnMu
cHJpOiBEaXR0by4KKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5jcHA6IERpdHRvLgorICAgICAg
ICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06IERpdHRvLgorICAgICAgICAqIFdlYkNvcmUuZ3lwaTog
RGl0dG8uCisgICAgICAgICogV2ViQ29yZS5wcm86IERpdHRvLgorICAgICAgICAqIFdlYkNvcmUu
dmNwcm9qL1dlYkNvcmUudmNwcm9qOiBEaXR0by4KKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2o6IERpdHRvLgorICAgICAgICAqIGRvbS9FdmVudE5hbWVzLmg6IEFk
ZCB3ZWJraXRidWZmZXJmdWxsLgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2UuY3BwOiBBZGQg
UmVzb3VyY2UgVGltaW5nIGZ1bmN0aW9ucyB3aXRoIHNrZWxldG9uIGltcGxlbWVudGF0aW9ucy4K
KyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlOjp3ZWJraXRDbGVhclJlc291cmNlVGltaW5n
cyk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZTo6d2Via2l0R2V0UmVzb3VyY2VUaW1p
bmdzKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlOjp3ZWJraXRTZXRSZXNvdXJjZVRp
bWluZ0J1ZmZlclNpemUpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6OnNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6OmV2ZW50VGFy
Z2V0RGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZTo6ZW5zdXJlRXZlbnRUYXJn
ZXREYXRhKToKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlLmg6IE1ha2UgaW50byBFdmVudFRh
cmdldCAoZm9yIHdlYmtpdGJ1ZmZlcmZ1bGwpLgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFu
Y2U6OnJlZkV2ZW50VGFyZ2V0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlOjpkZXJl
ZkV2ZW50VGFyZ2V0KToKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlLmlkbDoKKyAgICAgICAg
KiBwYWdlL1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuY3BwOiBBZGRlZC4gU2tlbGV0b24gaW1w
bGVtZW50YXRpb24uCisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZVJlc291cmNlVGltaW5n
OjpQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1h
bmNlUmVzb3VyY2VUaW1pbmc6OnR5cGUpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VS
ZXNvdXJjZVRpbWluZzo6dXJsKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlUmVzb3Vy
Y2VUaW1pbmc6OnJlc291cmNlRmV0Y2hTdGFydCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3Jt
YW5jZVJlc291cmNlVGltaW5nOjpyZWRpcmVjdFN0YXJ0KToKKyAgICAgICAgKFdlYkNvcmU6OlBl
cmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OnJlZGlyZWN0RW5kKToKKyAgICAgICAgKFdlYkNvcmU6
OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OmZldGNoU3RhcnQpOgorICAgICAgICAoV2ViQ29y
ZTo6UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6ZG9tYWluTG9va3VwU3RhcnQpOgorICAgICAg
ICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6ZG9tYWluTG9va3VwRW5kKToK
KyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OmNvbm5lY3RTdGFy
dCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpjb25uZWN0
RW5kKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OnNlY3Vy
ZUNvbm5lY3Rpb25TdGFydCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZVJlc291cmNl
VGltaW5nOjpyZXF1ZXN0U3RhcnQpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VSZXNv
dXJjZVRpbWluZzo6cmVzcG9uc2VTdGFydCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5j
ZVJlc291cmNlVGltaW5nOjpyZXNwb25zZUVuZCk6CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5j
ZVJlc291cmNlVGltaW5nLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VS
ZXNvdXJjZVRpbWluZzo6Y3JlYXRlKToKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlUmVzb3Vy
Y2VUaW1pbmcuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlUmVzb3VyY2VU
aW1pbmdMaXN0LmNwcDogQWRkZWQuIFNrZWxldG9uIGltcGxlbWVudGF0aW9uLgorICAgICAgICAo
V2ViQ29yZTo6UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZ0xpc3Q6OlBlcmZvcm1hbmNlUmVzb3Vy
Y2VUaW1pbmdMaXN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1p
bmdMaXN0OjpsZW5ndGgpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VSZXNvdXJjZVRp
bWluZ0xpc3Q6Oml0ZW0pOgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWlu
Z0xpc3QuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZVJlc291cmNlVGlt
aW5nTGlzdDo6Y3JlYXRlKToKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1p
bmdMaXN0LmlkbDogQWRkZWQuCisKIDIwMTEtMDUtMTggIEZ1bWl0b3NoaSBVa2FpICA8dWthaUBj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQWxleGV5IFByb3NrdXJ5YWtvdi4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NvZGVHZW5lcmF0b3JzLnByaSBiL1NvdXJjZS9X
ZWJDb3JlL0NvZGVHZW5lcmF0b3JzLnByaQppbmRleCA1MmYwNjY0ZWFiNzM0YTY1NmMyYzM4NWMy
NDAyYTA4MTI3MWQ0MzM2Li5hNjcxYTNkZjFhMGE3MDVjYTZmMDFlYWNjZWQ2NGVmNzg1ZWMwOTI2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Db2RlR2VuZXJhdG9ycy5wcmkKKysrIGIvU291
cmNlL1dlYkNvcmUvQ29kZUdlbmVyYXRvcnMucHJpCkBAIC0zMjgsNiArMzI4LDggQEAgSURMX0JJ
TkRJTkdTICs9IFwKICAgICBwYWdlL05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5p
ZGwgXAogICAgIHBhZ2UvUGVyZm9ybWFuY2UuaWRsIFwKICAgICBwYWdlL1BlcmZvcm1hbmNlTmF2
aWdhdGlvbi5pZGwgXAorICAgIHBhZ2UvUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5pZGwgXAor
ICAgIHBhZ2UvUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZ0xpc3QuaWRsIFwKICAgICBwYWdlL1Bl
cmZvcm1hbmNlVGltaW5nLmlkbCBcCiAgICAgcGFnZS9Qb3NpdGlvbkVycm9yLmlkbCBcCiAgICAg
cGFnZS9TY3JlZW4uaWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcAppbmRleCA3ZDVlNGY5
N2Y4ZmI4N2QxMjQ5NDFiYmM0ZjRkMDY4MTQ4NjhhYWMzLi43YmFkMTZiNmU1YWYyYmRhMWE2YzIz
NjEyNTA2MjI2YTRlYzI0ZWM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291
cmNlcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCkBAIC0yNTMs
NiArMjUzLDggQEAKICNpbmNsdWRlICJKU1BhZ2VUcmFuc2l0aW9uRXZlbnQuY3BwIgogI2luY2x1
ZGUgIkpTUGVyZm9ybWFuY2UuY3BwIgogI2luY2x1ZGUgIkpTUGVyZm9ybWFuY2VOYXZpZ2F0aW9u
LmNwcCIKKyNpbmNsdWRlICJKU1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuY3BwIgorI2luY2x1
ZGUgIkpTUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZ0xpc3QuY3BwIgogI2luY2x1ZGUgIkpTUGVy
Zm9ybWFuY2VUaW1pbmcuY3BwIgogI2luY2x1ZGUgIkpTUG9wU3RhdGVFdmVudC5jcHAiCiAjaW5j
bHVkZSAiSlNQb3NpdGlvbkVycm9yLmNwcCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dO
VW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmlu
ZGV4IDQ2MmI4YzZlNTAzYzQ2MTU2NzhkYWIzNzFjNWM0Mjg4Yzg0MTkyNjQuLjVhNGUzNTk0Zjdi
NmNiYmY3NWFiOTMyOWYwM2FjYTAzOWZkYTNmODkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlz
dC5hbQpAQCAtNDAxLDYgKzQwMSwxMCBAQCB3ZWJjb3JlX2J1aWx0X3NvdXJjZXMgKz0gXAogCURl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJmb3JtYW5jZS5oIFwKIAlEZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5oIFwKKwlEZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5jcHAgXAorCURlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmggXAorCURlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nTGlzdC5jcHAgXAorCURlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nTGlzdC5oIFwKIAlEZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTUGVyZm9ybWFuY2VUaW1pbmcuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTUGVyZm9ybWFuY2VUaW1pbmcuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U1BvcFN0YXRlRXZlbnQuY3BwIFwKQEAgLTIyMzQsNiArMjIzOCwxMCBAQCB3ZWJjb3JlX3NvdXJj
ZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuaCBcCiAJU291cmNlL1dl
YkNvcmUvcGFnZS9QZXJmb3JtYW5jZU5hdmlnYXRpb24uY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9w
YWdlL1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5oIFwKKwlTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZv
cm1hbmNlUmVzb3VyY2VUaW1pbmcuY3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1h
bmNlUmVzb3VyY2VUaW1pbmcuaCBcCisJU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVJl
c291cmNlVGltaW5nTGlzdC5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VS
ZXNvdXJjZVRpbWluZ0xpc3QuaCBcCiAJU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVRp
bWluZy5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VUaW1pbmcuaCBcCiAJ
U291cmNlL1dlYkNvcmUvcGFnZS9QbHVnaW5IYWx0ZXIuY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRl
eCA5ZTEzNjgzNzA0NjExYWIxZjNkZWY2YWM4N2NmZDlhN2Q3NDgxY2JjLi41YTA4NTIzMjdjYjY5
OWYyZTBmNjAyNWQ4MGZmNjM2NGMzMGY3OWQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC0xMzQzLDYg
KzEzNDMsOCBAQAogICAgICAgICAgICAgJ3BhZ2UvTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0Nh
bGxiYWNrLmlkbCcsCiAgICAgICAgICAgICAncGFnZS9QZXJmb3JtYW5jZS5pZGwnLAogICAgICAg
ICAgICAgJ3BhZ2UvUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmlkbCcsCisgICAgICAgICAgICAncGFn
ZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmlkbCcsCisgICAgICAgICAgICAncGFnZS9QZXJm
b3JtYW5jZVJlc291cmNlVGltaW5nTGlzdC5pZGwnLAogICAgICAgICAgICAgJ3BhZ2UvUGVyZm9y
bWFuY2VUaW1pbmcuaWRsJywKICAgICAgICAgICAgICdwYWdlL1Bvc2l0aW9uRXJyb3IuaWRsJywK
ICAgICAgICAgICAgICdwYWdlL1NjcmVlbi5pZGwnLApAQCAtMzQ1MSw2ICszNDUzLDEwIEBACiAg
ICAgICAgICAgICAncGFnZS9QZXJmb3JtYW5jZS5oJywKICAgICAgICAgICAgICdwYWdlL1BlcmZv
cm1hbmNlTmF2aWdhdGlvbi5jcHAnLAogICAgICAgICAgICAgJ3BhZ2UvUGVyZm9ybWFuY2VOYXZp
Z2F0aW9uLmgnLAorICAgICAgICAgICAgJ3BhZ2UvUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5j
cHAnLAorICAgICAgICAgICAgJ3BhZ2UvUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5oJywKKyAg
ICAgICAgICAgICdwYWdlL1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmdMaXN0LmNwcCcsCisgICAg
ICAgICAgICAncGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5nTGlzdC5oJywKICAgICAgICAg
ICAgICdwYWdlL1BlcmZvcm1hbmNlVGltaW5nLmNwcCcsCiAgICAgICAgICAgICAncGFnZS9QZXJm
b3JtYW5jZVRpbWluZy5oJywKICAgICAgICAgICAgICdwYWdlL1BsdWdpbkhhbHRlci5jcHAnLApA
QCAtNzM5OSw2ICs3NDA1LDEwIEBACiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU1BlcmZvcm1hbmNlLmgnLAogICAgICAgICAgICAgJzwoUFJPRFVD
VF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJmb3JtYW5jZU5hdmlnYXRpb24uY3Bw
JywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pT
UGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmgnLAorICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmNwcCcsCisg
ICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1BlcmZv
cm1hbmNlUmVzb3VyY2VUaW1pbmcuaCcsCisgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmdMaXN0LmNwcCcs
CisgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1Bl
cmZvcm1hbmNlUmVzb3VyY2VUaW1pbmdMaXN0LmgnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJmb3JtYW5jZVRpbWluZy5jcHAnLAogICAg
ICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJmb3Jt
YW5jZVRpbWluZy5oJywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTUG9wU3RhdGVFdmVudC5jcHAnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS5wcm8gYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnBybwppbmRleCAzNzllYmQx
M2QzY2E2ZjE0ZGQ1MjI0MzNiMTJjMjhkZjNlODE0NmNmLi5jMGE4MDEyZWIzN2E2NDlmYmI0MzBh
YTQzM2U0ZTEyMzU5ZDQyNjIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnBy
bworKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnBybwpAQCAtOTI2LDYgKzkyNiw4IEBAIFNP
VVJDRVMgKz0gXAogICAgIHBhZ2UvUGFnZVZpc2liaWxpdHlTdGF0ZS5jcHAgXAogICAgIHBhZ2Uv
UGVyZm9ybWFuY2UuY3BwIFwKICAgICBwYWdlL1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5jcHAgXAor
ICAgIHBhZ2UvUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5jcHAgXAorICAgIHBhZ2UvUGVyZm9y
bWFuY2VSZXNvdXJjZVRpbWluZ0xpc3QuY3BwIFwKICAgICBwYWdlL1BlcmZvcm1hbmNlVGltaW5n
LmNwcCBcCiAgICAgcGFnZS9QbHVnaW5IYWx0ZXIuY3BwIFwKICAgICBwYWdlL1ByaW50Q29udGV4
dC5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29y
ZS52Y3Byb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagpp
bmRleCA5Zjk5ZjhiZTUxYTcyYTdjZDg2YTNmNTY2ODAyMGRkMDVlYzkzMTEzLi40NDgxYjRkYTA0
ODM1OGU1N2MyZjNmMzk4MDQzYzg5ZjgzZTQzMWQ5IDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagpAQCAtMTIyMTQsNiArMTIyMTQsMTE4IEBACiAJCQkJ
PgogCQkJPC9GaWxlPgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlv
bkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNQZXJmb3JtYW5j
ZVJlc291cmNlVGltaW5nLmNwcCIKKwkJCQk+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJ
CU5hbWU9IkRlYnVnfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJ
PgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJ
CQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1l
PSJSZWxlYXNlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgor
CQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8
L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJE
ZWJ1Z19DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgor
CQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkv
PgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJ
CU5hbWU9IlJlbGVhc2VfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWls
ZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9v
bCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJh
dGlvbgorCQkJCQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxk
PSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29s
IgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0
aW9uCisJCQkJCU5hbWU9IlByb2R1Y3Rpb258V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxk
PSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29s
IgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQk8L0ZpbGU+CisJCQk8Rmls
ZQorCQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2pl
Y3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaCIKKwkJ
CQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0
aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU1BlcmZvcm1h
bmNlUmVzb3VyY2VUaW1pbmdMaXN0LmNwcCIKKwkJCQk+CisJCQkJPEZpbGVDb25maWd1cmF0aW9u
CisJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIK
KwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJ
Lz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJ
CQlOYW1lPSJSZWxlYXNlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJ
CQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4K
KwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlO
YW1lPSJEZWJ1Z19DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0
cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgor
CQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9u
CisJCQkJCU5hbWU9IlJlbGVhc2VfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZy
b21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBp
bGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29u
ZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJv
bUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGls
ZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25m
aWd1cmF0aW9uCisJCQkJCU5hbWU9IlByb2R1Y3Rpb258V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJv
bUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGls
ZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQk8L0ZpbGU+CisJ
CQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwk
KFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmdM
aXN0LmgiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9IiQo
Q29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNc
SlNQZXJmb3JtYW5jZVRpbWluZy5jcHAiCiAJCQkJPgogCQkJCTxGaWxlQ29uZmlndXJhdGlvbgpA
QCAtMjQ4MDYsNiArMjQ5MTgsMjIgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJ
CVJlbGF0aXZlUGF0aD0iLi5ccGFnZVxQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmNwcCIKKwkJ
CQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGFnZVxQZXJm
b3JtYW5jZVJlc291cmNlVGltaW5nLmgiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJ
CQlSZWxhdGl2ZVBhdGg9Ii4uXHBhZ2VcUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZ0xpc3QuY3Bw
IgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxwYWdl
XFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmdMaXN0LmgiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJ
PEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHBhZ2VcUGVyZm9ybWFuY2VUaW1pbmcuY3BwIgog
CQkJCT4KIAkJCTwvRmlsZT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagppbmRleCAwYzVmOTA2ZDdlYmRhNDk3NTUwNDRhNDM4YmE0MDAxNDQx
NmIwYjZlLi5iYWQ0NmVmYTBjN2MwMmY1MTA5OTljOThhNWNhYzc2OGVlMzQ5YmYxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysr
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0y
NjE1LDYgKzI2MTUsMTAgQEAKIAkJODVGRjMxNUIwQUFGQkZDQjAwMzc0RjM4IC8qIERPTUtleWJv
YXJkRXZlbnQubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA4NUZGMzE1OTBBQUZCRkNCMDAzNzRGMzggLyogRE9NS2V5Ym9hcmRFdmVudC5tbSAqLzsgfTsK
IAkJODYyNDNEMDExMUJDMzFGNzAwQ0MwMDZBIC8qIEpTQXJyYXlCdWZmZXJWaWV3SGVscGVyLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NjI0M0QwMDEx
QkMzMUY3MDBDQzAwNkEgLyogSlNBcnJheUJ1ZmZlclZpZXdIZWxwZXIuaCAqLzsgfTsKIAkJODZE
OTgyRjcxMjVDMTU0MDAwQUQ5RTNEIC8qIERvY3VtZW50VGltaW5nLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NkQ5ODJGNjEyNUMxNTQwMDBBRDlFM0Qg
LyogRG9jdW1lbnRUaW1pbmcuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OworCQk4NkRCQzFFQjEzODVBRDVBMDBEREY5MkMgLyogUGVyZm9ybWFuY2VSZXNv
dXJjZVRpbWluZy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA4NkRCQzFFNTEzODVBRDVBMDBEREY5MkMgLyogUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWlu
Zy5jcHAgKi87IH07CisJCTg2REJDMUVDMTM4NUFENUEwMERERjkyQyAvKiBQZXJmb3JtYW5jZVJl
c291cmNlVGltaW5nLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA4NkRCQzFFNjEzODVBRDVBMDBEREY5MkMgLyogUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWlu
Zy5oICovOyB9OworCQk4NkRCQzFFRTEzODVBRDVBMDBEREY5MkMgLyogUGVyZm9ybWFuY2VSZXNv
dXJjZVRpbWluZ0xpc3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gODZEQkMxRTgxMzg1QUQ1QTAwRERGOTJDIC8qIFBlcmZvcm1hbmNlUmVzb3VyY2VU
aW1pbmdMaXN0LmNwcCAqLzsgfTsKKwkJODZEQkMxRUYxMzg1QUQ1QTAwRERGOTJDIC8qIFBlcmZv
cm1hbmNlUmVzb3VyY2VUaW1pbmdMaXN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA4NkRCQzFFOTEzODVBRDVBMDBEREY5MkMgLyogUGVyZm9ybWFuY2VS
ZXNvdXJjZVRpbWluZ0xpc3QuaCAqLzsgfTsKIAkJODkwQUUwRTExMjU2QTA3OTAwRjU5NjhDIC8q
IERpcmVjdG9yeVJlYWRlckJhc2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDg5MEFFMEUwMTI1NkEwNzkwMEY1OTY4QyAvKiBEaXJlY3RvcnlSZWFkZXJC
YXNlLmggKi87IH07CiAJCTg5MkNGMTkyMTM0QzYyMEQwMEFBRURBMSAvKiBTdG9yYWdlSW5mb0Vy
cm9yQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDg5MkNGMThEMTM0QzYyMEQwMEFBRURBMSAvKiBTdG9yYWdlSW5mb0Vycm9yQ2FsbGJhY2su
aCAqLzsgfTsKIAkJODkyQ0YxOTMxMzRDNjIwRDAwQUFFREExIC8qIFN0b3JhZ2VJbmZvUXVvdGFD
YWxsYmFjay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
ODkyQ0YxOEUxMzRDNjIwRDAwQUFFREExIC8qIFN0b3JhZ2VJbmZvUXVvdGFDYWxsYmFjay5oICov
OyB9OwpAQCAtOTEzNSw2ICs5MTM5LDEyIEBACiAJCTg1RkYzMTU5MEFBRkJGQ0IwMDM3NEYzOCAv
KiBET01LZXlib2FyZEV2ZW50Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsg
cGF0aCA9IERPTUtleWJvYXJkRXZlbnQubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTg2MjQzRDAwMTFCQzMxRjcwMENDMDA2QSAvKiBKU0FycmF5QnVmZmVyVmlld0hlbHBlci5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0FycmF5QnVmZmVyVmlld0hlbHBlci5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NkQ5ODJGNjEyNUMxNTQwMDBBRDlFM0Qg
LyogRG9jdW1lbnRUaW1pbmcuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRG9j
dW1lbnRUaW1pbmcuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODZEQkMxRTUxMzg1
QUQ1QTAwRERGOTJDIC8qIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg2REJDMUU2MTM4NUFENUEwMERERjkyQyAv
KiBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJODZEQkMxRTcxMzg1QUQ1QTAwRERGOTJDIC8qIFBlcmZvcm1hbmNlUmVzb3VyY2VU
aW1pbmcuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1p
bmcuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4NkRCQzFFODEzODVBRDVBMDBE
REY5MkMgLyogUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZ0xpc3QuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZ0xpc3QuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4NkRCQzFFOTEzODVBRDVBMDBEREY5MkMg
LyogUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZ0xpc3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZ0xpc3QuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJODZEQkMxRUExMzg1QUQ1QTAwRERGOTJDIC8qIFBlcmZvcm1hbmNl
UmVzb3VyY2VUaW1pbmdMaXN0LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBQZXJmb3JtYW5j
ZVJlc291cmNlVGltaW5nTGlzdC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg5
MEFFMEUwMTI1NkEwNzkwMEY1OTY4QyAvKiBEaXJlY3RvcnlSZWFkZXJCYXNlLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERpcmVjdG9yeVJlYWRlckJhc2UuaDsgcGF0aCA9IGZp
bGVhcGkvRGlyZWN0b3J5UmVhZGVyQmFzZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk4OTJDRjE4RDEzNEM2MjBEMDBBQUVEQTEgLyogU3RvcmFnZUluZm9FcnJvckNhbGxiYWNrLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN0b3JhZ2VJbmZvRXJyb3JDYWxsYmFj
ay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4OTJDRjE4RTEzNEM2MjBEMDBBQUVE
QTEgLyogU3RvcmFnZUluZm9RdW90YUNhbGxiYWNrLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFN0b3JhZ2VJbmZvUXVvdGFDYWxsYmFjay5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwpAQCAtMTQyNDMsNiArMTQyNTMsMTIgQEAKIAkJCQk4QUY0RTU1MjExREM1QTM2MDAw
RUQzREUgLyogUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmNwcCAqLywKIAkJCQk4QUY0RTU1MzExREM1
QTM2MDAwRUQzREUgLyogUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmggKi8sCiAJCQkJOEFGNEU1NTQx
MURDNUEzNjAwMEVEM0RFIC8qIFBlcmZvcm1hbmNlTmF2aWdhdGlvbi5pZGwgKi8sCisJCQkJODZE
QkMxRTUxMzg1QUQ1QTAwRERGOTJDIC8qIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuY3BwICov
LAorCQkJCTg2REJDMUU2MTM4NUFENUEwMERERjkyQyAvKiBQZXJmb3JtYW5jZVJlc291cmNlVGlt
aW5nLmggKi8sCisJCQkJODZEQkMxRTcxMzg1QUQ1QTAwRERGOTJDIC8qIFBlcmZvcm1hbmNlUmVz
b3VyY2VUaW1pbmcuaWRsICovLAorCQkJCTg2REJDMUU4MTM4NUFENUEwMERERjkyQyAvKiBQZXJm
b3JtYW5jZVJlc291cmNlVGltaW5nTGlzdC5jcHAgKi8sCisJCQkJODZEQkMxRTkxMzg1QUQ1QTAw
RERGOTJDIC8qIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmdMaXN0LmggKi8sCisJCQkJODZEQkMx
RUExMzg1QUQ1QTAwRERGOTJDIC8qIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmdMaXN0LmlkbCAq
LywKIAkJCQk4QUY0RTU1ODExREM1QTYzMDAwRUQzREUgLyogUGVyZm9ybWFuY2VUaW1pbmcuY3Bw
ICovLAogCQkJCThBRjRFNTU5MTFEQzVBNjMwMDBFRDNERSAvKiBQZXJmb3JtYW5jZVRpbWluZy5o
ICovLAogCQkJCThBRjRFNTVBMTFEQzVBNjMwMDBFRDNERSAvKiBQZXJmb3JtYW5jZVRpbWluZy5p
ZGwgKi8sCkBAIC0yMTk5MSw2ICsyMjAwNyw4IEBACiAJCQkJOEE3Q0M5NkIxMjA3NkQ3MzAwMUQ0
NTg4IC8qIFBlbmRpbmdTY3JpcHQuaCBpbiBIZWFkZXJzICovLAogCQkJCThBODQ0RDA1MTFEM0Mx
OEUwMDE0MDY1QyAvKiBQZXJmb3JtYW5jZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOEFGNEU1NTYx
MURDNUEzNjAwMEVEM0RFIC8qIFBlcmZvcm1hbmNlTmF2aWdhdGlvbi5oIGluIEhlYWRlcnMgKi8s
CisJCQkJODZEQkMxRUMxMzg1QUQ1QTAwRERGOTJDIC8qIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1p
bmcuaCBpbiBIZWFkZXJzICovLAorCQkJCTg2REJDMUVGMTM4NUFENUEwMERERjkyQyAvKiBQZXJm
b3JtYW5jZVJlc291cmNlVGltaW5nTGlzdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOEFGNEU1NUMx
MURDNUE2MzAwMEVEM0RFIC8qIFBlcmZvcm1hbmNlVGltaW5nLmggaW4gSGVhZGVycyAqLywKIAkJ
CQk0OUQ1REMyRTBGNDIzQTczMDA4RjIwRkQgLyogUGVyc3BlY3RpdmVUcmFuc2Zvcm1PcGVyYXRp
b24uaCBpbiBIZWFkZXJzICovLAogCQkJCUQwRkYyQTVFMTFGOEM0NUEwMDdFNzRFMCAvKiBQaW5n
TG9hZGVyLmggaW4gSGVhZGVycyAqLywKQEAgLTI0ODY0LDYgKzI0ODgyLDggQEAKIAkJCQk4QTdD
Qzk3MDEyMDc2RjhBMDAxRDQ1ODggLyogUGVuZGluZ1NjcmlwdC5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQk4QTg0NEQwNDExRDNDMThFMDAxNDA2NUMgLyogUGVyZm9ybWFuY2UuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJOEFGNEU1NTUxMURDNUEzNjAwMEVEM0RFIC8qIFBlcmZvcm1hbmNlTmF2aWdh
dGlvbi5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk4NkRCQzFFQjEzODVBRDVBMDBEREY5MkMgLyog
UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk4NkRCQzFF
RTEzODVBRDVBMDBEREY5MkMgLyogUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZ0xpc3QuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJOEFGNEU1NUIxMURDNUE2MzAwMEVEM0RFIC8qIFBlcmZvcm1hbmNl
VGltaW5nLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQ5RDVEQzJEMEY0MjNBNzMwMDhGMjBGRCAv
KiBQZXJzcGVjdGl2ZVRyYW5zZm9ybU9wZXJhdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlE
MEZGMkE1RDExRjhDNDVBMDA3RTc0RTAgLyogUGluZ0xvYWRlci5jcHAgaW4gU291cmNlcyAqLywK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmggYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vRXZlbnROYW1lcy5oCmluZGV4IDk2ZjAzODNlMmE0YzdiZjBkOTYyZDMxODVkMzlj
M2E4NDM5NzJkZGMuLjJiMGMyYjVhYzAwMTU4ODIzYzgyNjJhMTY3ZTkyODFjYzI0YmNmY2YgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvZG9tL0V2ZW50TmFtZXMuaApAQCAtMTgwLDYgKzE4MCw4IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKICAgICBcCiAgICAgbWFjcm8oYXVkaW9wcm9jZXNzKSBcCiAgICAgXAorICAgIG1hY3Jv
KHdlYmtpdGJ1ZmZlcmZ1bGwpIFwKKyAgICBcCiAvLyBlbmQgb2YgRE9NX0VWRU5UX05BTUVTX0ZP
Ul9FQUNICiAKICAgICBjbGFzcyBFdmVudE5hbWVzIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUGVyZm9ybWFuY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5j
ZS5jcHAKaW5kZXggNGUxMzBlYThmMTQwN2NmMjQ4NGNlYTI0NjZiY2JlNmJkMGExNTBlMC4uZDQy
M2M0YzcxMGY1N2JkM2NjMWZjZDI4OTYwMmNlZGZjNTczNWZhNCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Q
ZXJmb3JtYW5jZS5jcHAKQEAgLTM3LDYgKzM3LDcgQEAKIAogI2lmIEVOQUJMRShXRUJfVElNSU5H
KQogCisjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJGcmFtZS5oIgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CkBAIC04OCw2ICs4OSwzNiBAQCBQZXJmb3JtYW5jZVRpbWluZyogUGVyZm9y
bWFuY2U6OnRpbWluZygpIGNvbnN0CiAgICAgcmV0dXJuIG1fdGltaW5nLmdldCgpOwogfQogCit2
b2lkIFBlcmZvcm1hbmNlOjp3ZWJraXRDbGVhclJlc291cmNlVGltaW5ncygpCit7Cit9CisKK1Bl
cmZvcm1hbmNlUmVzb3VyY2VUaW1pbmdMaXN0KiBQZXJmb3JtYW5jZTo6d2Via2l0R2V0UmVzb3Vy
Y2VUaW1pbmdzKGNvbnN0IFN0cmluZyYpCit7CisgICAgcmV0dXJuIDA7Cit9CisKK3ZvaWQgUGVy
Zm9ybWFuY2U6OndlYmtpdFNldFJlc291cmNlVGltaW5nQnVmZmVyU2l6ZSh1bnNpZ25lZCkKK3sK
K30KKworU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogUGVyZm9ybWFuY2U6OnNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQoKSBjb25zdAoreworICAgIGlmICghbV9mcmFtZSkKKyAgICAgICAgcmV0dXJuIDA7
CisgICAgcmV0dXJuIG1fZnJhbWUtPmRvY3VtZW50KCk7Cit9CisKK0V2ZW50VGFyZ2V0RGF0YSog
UGVyZm9ybWFuY2U6OmV2ZW50VGFyZ2V0RGF0YSgpCit7CisgICAgcmV0dXJuICZtX2V2ZW50VGFy
Z2V0RGF0YTsKK30KKworRXZlbnRUYXJnZXREYXRhKiBQZXJmb3JtYW5jZTo6ZW5zdXJlRXZlbnRU
YXJnZXREYXRhKCkKK3sKKyAgICByZXR1cm4gJm1fZXZlbnRUYXJnZXREYXRhOworfQorCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoV0VCX1RJTUlORykKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGVyZm9ybWFuY2UuaAppbmRleCBiZTllMTI0ZTBlZWZhNTdjNzFiZDAzNDFkOTEzODlh
MjgyZTM3OTQyLi5lNWQxZjg5NDFiOGM1OGRhNjMzN2RmOWNkYTJjMWIzNDhlNjY1MGM2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5oCkBAIC0zMyw2ICszMyw3IEBACiAKICNpZiBFTkFCTEUo
V0VCX1RJTUlORykKIAorI2luY2x1ZGUgIkV2ZW50VGFyZ2V0LmgiCiAjaW5jbHVkZSAiTWVtb3J5
SW5mby5oIgogI2luY2x1ZGUgIlBlcmZvcm1hbmNlTmF2aWdhdGlvbi5oIgogI2luY2x1ZGUgIlBl
cmZvcm1hbmNlVGltaW5nLmgiCkBAIC00Miw3ICs0Myw5IEBACiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAotY2xhc3MgUGVyZm9ybWFuY2UgOiBwdWJsaWMgUmVmQ291bnRlZDxQZXJmb3JtYW5jZT4g
eworY2xhc3MgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZ0xpc3Q7CisKK2NsYXNzIFBlcmZvcm1h
bmNlIDogcHVibGljIFJlZkNvdW50ZWQ8UGVyZm9ybWFuY2U+LCBwdWJsaWMgRXZlbnRUYXJnZXQg
ewogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFBlcmZvcm1hbmNlPiBjcmVhdGUoRnJh
bWUqIGZyYW1lKSB7IHJldHVybiBhZG9wdFJlZihuZXcgUGVyZm9ybWFuY2UoZnJhbWUpKTsgfQog
CkBAIC01MywxMyArNTYsMjkgQEAgcHVibGljOgogICAgIFBlcmZvcm1hbmNlTmF2aWdhdGlvbiog
bmF2aWdhdGlvbigpIGNvbnN0OwogICAgIFBlcmZvcm1hbmNlVGltaW5nKiB0aW1pbmcoKSBjb25z
dDsKIAorICAgIHZvaWQgd2Via2l0Q2xlYXJSZXNvdXJjZVRpbWluZ3MoKTsKKyAgICBQZXJmb3Jt
YW5jZVJlc291cmNlVGltaW5nTGlzdCogd2Via2l0R2V0UmVzb3VyY2VUaW1pbmdzKGNvbnN0IFN0
cmluZyYgdXJsID0gIiIpOworICAgIHZvaWQgd2Via2l0U2V0UmVzb3VyY2VUaW1pbmdCdWZmZXJT
aXplKHVuc2lnbmVkIG1heFNpemUpOworICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVO
RVIod2Via2l0YnVmZmVyZnVsbCk7CisKKyAgICB2aXJ0dWFsIFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQqIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSBjb25zdDsKKworICAgIHVzaW5nIFJlZkNvdW50
ZWQ8UGVyZm9ybWFuY2U+OjpyZWY7CisgICAgdXNpbmcgUmVmQ291bnRlZDxQZXJmb3JtYW5jZT46
OmRlcmVmOworCiBwcml2YXRlOgogICAgIFBlcmZvcm1hbmNlKEZyYW1lKik7CiAKKyAgICB2aXJ0
dWFsIHZvaWQgcmVmRXZlbnRUYXJnZXQoKSB7IHJlZigpOyB9CisgICAgdmlydHVhbCB2b2lkIGRl
cmVmRXZlbnRUYXJnZXQoKSB7IGRlcmVmKCk7IH0KKyAgICB2aXJ0dWFsIEV2ZW50VGFyZ2V0RGF0
YSogZXZlbnRUYXJnZXREYXRhKCk7CisgICAgdmlydHVhbCBFdmVudFRhcmdldERhdGEqIGVuc3Vy
ZUV2ZW50VGFyZ2V0RGF0YSgpOworCiAgICAgbXV0YWJsZSBSZWZQdHI8TWVtb3J5SW5mbz4gbV9t
ZW1vcnk7CiAgICAgbXV0YWJsZSBSZWZQdHI8UGVyZm9ybWFuY2VOYXZpZ2F0aW9uPiBtX25hdmln
YXRpb247CiAgICAgbXV0YWJsZSBSZWZQdHI8UGVyZm9ybWFuY2VUaW1pbmc+IG1fdGltaW5nOwog
ICAgIEZyYW1lKiBtX2ZyYW1lOworICAgIEV2ZW50VGFyZ2V0RGF0YSBtX2V2ZW50VGFyZ2V0RGF0
YTsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2Uu
aWRsIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5pZGwKaW5kZXggZTVhOGRjZjNh
OGY3ZTllOGUyOGEwNjQyN2Y3ZWNjY2YyYTU2ZWY5MS4uY2EwNjZlNDExODBhZjQzNDFlNDE5OTEz
YTFjNzJjZTUyNWJlMDE5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3Jt
YW5jZS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5pZGwKQEAgLTMx
LDEwICszMSwxNSBAQAogbW9kdWxlIHdpbmRvdyB7CiAKICAgICAvLyBTZWU6IGh0dHA6Ly9kZXYu
dzMub3JnLzIwMDYvd2ViYXBpL1dlYlRpbWluZy8KLSAgICBpbnRlcmZhY2UgW0NvbmRpdGlvbmFs
PVdFQl9USU1JTkcsIE9taXRDb25zdHJ1Y3Rvcl0gUGVyZm9ybWFuY2UgeworICAgIGludGVyZmFj
ZSBbQ29uZGl0aW9uYWw9V0VCX1RJTUlORywgRXZlbnRUYXJnZXQsIE9taXRDb25zdHJ1Y3Rvcl0g
UGVyZm9ybWFuY2UgewogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgUGVyZm9ybWFuY2VOYXZp
Z2F0aW9uIG5hdmlnYXRpb247CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBQZXJmb3JtYW5j
ZVRpbWluZyB0aW1pbmc7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBbVjhDdXN0b21HZXR0
ZXJdIE1lbW9yeUluZm8gbWVtb3J5OworCisgICAgICAgIHZvaWQgd2Via2l0Q2xlYXJSZXNvdXJj
ZVRpbWluZ3MoKTsKKyAgICAgICAgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZ0xpc3Qgd2Via2l0
R2V0UmVzb3VyY2VUaW1pbmdzKGluIFtPcHRpb25hbF0gRE9NU3RyaW5nIHVybCk7CisgICAgICAg
IHZvaWQgd2Via2l0U2V0UmVzb3VyY2VUaW1pbmdCdWZmZXJTaXplKGluIHVuc2lnbmVkIGxvbmcg
bWF4U2l6ZSk7CisgICAgICAgIGF0dHJpYnV0ZSBbRG9udEVudW1dIEV2ZW50TGlzdGVuZXIgb253
ZWJraXRidWZmZXJmdWxsOwogICAgIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY1ODFmNGY0MjFiZjY2
MzhiM2FkZmYwYzJmNmNlYmUzNDEwMWU1OTEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuY3BwCkBAIC0wLDAgKzEsMTE0IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICog
ICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRo
ZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUK
KyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIElu
Yy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBl
bmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJl
IHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklC
VVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBP
V05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
CisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcu
aCIKKworI2lmIEVOQUJMRShXRUJfVElNSU5HKQorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1Bl
cmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcoKQorewor
fQorCit1bnNpZ25lZCBzaG9ydCBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjp0eXBlKCkgY29u
c3QKK3sKKyAgICByZXR1cm4gMFU7Cit9CisKK1N0cmluZyBQZXJmb3JtYW5jZVJlc291cmNlVGlt
aW5nOjp1cmwoKSBjb25zdAoreworICAgIHJldHVybiBTdHJpbmcoKTsKK30KKwordW5zaWduZWQg
bG9uZyBsb25nIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OnJlc291cmNlRmV0Y2hTdGFydCgp
IGNvbnN0Cit7CisgICAgcmV0dXJuIDBVTEw7Cit9CisKK3Vuc2lnbmVkIGxvbmcgbG9uZyBQZXJm
b3JtYW5jZVJlc291cmNlVGltaW5nOjpyZWRpcmVjdFN0YXJ0KCkgY29uc3QKK3sKKyAgICByZXR1
cm4gMFVMTDsKK30KKwordW5zaWduZWQgbG9uZyBsb25nIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1p
bmc6OnJlZGlyZWN0RW5kKCkgY29uc3QKK3sKKyAgICByZXR1cm4gMFVMTDsKK30KKwordW5zaWdu
ZWQgbG9uZyBsb25nIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OmZldGNoU3RhcnQoKSBjb25z
dAoreworICAgIHJldHVybiAwVUxMOworfQorCit1bnNpZ25lZCBsb25nIGxvbmcgUGVyZm9ybWFu
Y2VSZXNvdXJjZVRpbWluZzo6ZG9tYWluTG9va3VwU3RhcnQoKSBjb25zdAoreworICAgIHJldHVy
biAwVUxMOworfQorCit1bnNpZ25lZCBsb25nIGxvbmcgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWlu
Zzo6ZG9tYWluTG9va3VwRW5kKCkgY29uc3QKK3sKKyAgICByZXR1cm4gMFVMTDsKK30KKwordW5z
aWduZWQgbG9uZyBsb25nIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OmNvbm5lY3RTdGFydCgp
IGNvbnN0Cit7CisgICAgcmV0dXJuIDBVTEw7Cit9CisKK3Vuc2lnbmVkIGxvbmcgbG9uZyBQZXJm
b3JtYW5jZVJlc291cmNlVGltaW5nOjpjb25uZWN0RW5kKCkgY29uc3QKK3sKKyAgICByZXR1cm4g
MFVMTDsKK30KKwordW5zaWduZWQgbG9uZyBsb25nIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6
OnNlY3VyZUNvbm5lY3Rpb25TdGFydCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIDBVTEw7Cit9CisK
K3Vuc2lnbmVkIGxvbmcgbG9uZyBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpyZXF1ZXN0U3Rh
cnQoKSBjb25zdAoreworICAgIHJldHVybiAwVUxMOworfQorCit1bnNpZ25lZCBsb25nIGxvbmcg
UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6cmVzcG9uc2VTdGFydCgpIGNvbnN0Cit7CisgICAg
cmV0dXJuIDBVTEw7Cit9CisKK3Vuc2lnbmVkIGxvbmcgbG9uZyBQZXJmb3JtYW5jZVJlc291cmNl
VGltaW5nOjpyZXNwb25zZUVuZCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIDBVTEw7Cit9CisKK30g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShXRUJfVElNSU5HKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5lNWM5YjVkMGVjOGVhNWJiYTRlZWVjMTgzNmNkNGRlOWNlN2ZiM2QwCi0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmgK
QEAgLTAsMCArMSw4NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQor
ICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBu
YW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMg
bWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQor
ICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwK
KyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNpZm5kZWYgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZ19oCisjZGVm
aW5lIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmdfaAorCisjaWYgRU5BQkxFKFdFQl9USU1JTkcp
CisKKyNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVk
Lmg+CisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKworY2xhc3MgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZyA6IHB1YmxpYyBSZWZDb3VudGVk
PFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc+IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1Jl
ZlB0cjxQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nPiBjcmVhdGUoKSB7IHJldHVybiBhZG9wdFJl
ZihuZXcgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZygpKTsgfQorCisgICAgZW51bSBJbml0aWF0
b3IgeworICAgICAgICBJTklUSUFUT1JfT1RIRVIsCisgICAgICAgIElOSVRJQVRPUl9MSU5LLAor
ICAgICAgICBJTklUSUFUT1JfQ1NTLAorICAgICAgICBJTklUSUFUT1JfU0NSSVBULAorICAgICAg
ICBJTklUSUFUT1JfSU1BR0UsCisgICAgICAgIElOSVRJQVRPUl9PQkpFQ1QsCisgICAgICAgIElO
SVRJQVRPUl9GUkFNRSwKKyAgICAgICAgSU5JVElBVE9SX1NVQkRPQ1VNRU5ULAorICAgICAgICBJ
TklUSUFUT1JfWE1MSFRUUFJFUVVFU1QsCisgICAgICAgIElOSVRJQVRPUl9FTUJFRCwKKyAgICAg
ICAgSU5JVElBVE9SX0FVRElPLAorICAgICAgICBJTklUSUFUT1JfVklERU8sCisgICAgICAgIElO
SVRJQVRPUl9TVkcsCisgICAgICAgIElOSVRJQVRPUl9SRVNFUlZFRCA9IDI1NSwKKyAgICB9Owor
CisgICAgdW5zaWduZWQgc2hvcnQgdHlwZSgpIGNvbnN0OworICAgIFN0cmluZyB1cmwoKSBjb25z
dDsKKworICAgIHVuc2lnbmVkIGxvbmcgbG9uZyByZXNvdXJjZUZldGNoU3RhcnQoKSBjb25zdDsK
KyAgICB1bnNpZ25lZCBsb25nIGxvbmcgcmVkaXJlY3RTdGFydCgpIGNvbnN0OworICAgIHVuc2ln
bmVkIGxvbmcgbG9uZyByZWRpcmVjdEVuZCgpIGNvbnN0OworICAgIHVuc2lnbmVkIGxvbmcgbG9u
ZyBmZXRjaFN0YXJ0KCkgY29uc3Q7CisgICAgdW5zaWduZWQgbG9uZyBsb25nIGRvbWFpbkxvb2t1
cFN0YXJ0KCkgY29uc3Q7CisgICAgdW5zaWduZWQgbG9uZyBsb25nIGRvbWFpbkxvb2t1cEVuZCgp
IGNvbnN0OworICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBjb25uZWN0U3RhcnQoKSBjb25zdDsKKyAg
ICB1bnNpZ25lZCBsb25nIGxvbmcgY29ubmVjdEVuZCgpIGNvbnN0OworICAgIHVuc2lnbmVkIGxv
bmcgbG9uZyBzZWN1cmVDb25uZWN0aW9uU3RhcnQoKSBjb25zdDsKKyAgICB1bnNpZ25lZCBsb25n
IGxvbmcgcmVxdWVzdFN0YXJ0KCkgY29uc3Q7CisgICAgdW5zaWduZWQgbG9uZyBsb25nIHJlc3Bv
bnNlU3RhcnQoKSBjb25zdDsKKyAgICB1bnNpZ25lZCBsb25nIGxvbmcgcmVzcG9uc2VFbmQoKSBj
b25zdDsKKworcHJpdmF0ZToKKyAgICBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nKCk7Cit9Owor
Cit9CisKKyNlbmRpZiAvLyAhRU5BQkxFKFdFQl9USU1JTkcpCisjZW5kaWYgLy8gIWRlZmluZWQo
UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZ19oKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZThiYjg2MDhiZTRmMzFj
ODMyMTZmZTBjZjNlZjE4MWFjZDU2NjYwOAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5pZGwKQEAgLTAsMCArMSw2NyBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisg
KiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMu
IG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5k
b3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3
aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVU
T1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dO
RVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQor
ICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK21v
ZHVsZSB3aW5kb3cgeworCisgICAgLy8gU2VlOiBodHRwOi8vdzNjLXRlc3Qub3JnL3dlYnBlcmYv
c3BlY3MvUmVzb3VyY2VUaW1pbmcvCisgICAgaW50ZXJmYWNlIFtDb25kaXRpb25hbD1XRUJfVElN
SU5HLCBPbWl0Q29uc3RydWN0b3JdIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcgeworICAgICAg
ICBjb25zdCB1bnNpZ25lZCBzaG9ydCBJTklUSUFUT1JfT1RIRVIgPSAwOworICAgICAgICBjb25z
dCB1bnNpZ25lZCBzaG9ydCBJTklUSUFUT1JfTElOSyA9IDE7CisgICAgICAgIGNvbnN0IHVuc2ln
bmVkIHNob3J0IElOSVRJQVRPUl9DU1MgPSAyOworICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9y
dCBJTklUSUFUT1JfU0NSSVBUID0gMzsKKyAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgSU5J
VElBVE9SX0lNQUdFID0gNDsKKyAgICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgSU5JVElBVE9S
X09CSkVDVCA9IDU7CisgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IElOSVRJQVRPUl9GUkFN
RSA9IDY7CisgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IElOSVRJQVRPUl9TVUJET0NVTUVO
VCA9IDc7CisgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IElOSVRJQVRPUl9YTUxIVFRQUkVR
VUVTVCA9IDg7CisgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IElOSVRJQVRPUl9FTUJFRCA9
IDk7CisgICAgICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IElOSVRJQVRPUl9BVURJTyA9IDEwOwor
ICAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBJTklUSUFUT1JfVklERU8gPSAxMTsKKyAgICAg
ICAgY29uc3QgdW5zaWduZWQgc2hvcnQgSU5JVElBVE9SX1NWRyA9IDEyOworICAgICAgICBjb25z
dCB1bnNpZ25lZCBzaG9ydCBJTklUSUFUT1JfUkVTRVJWRUQgPSAyNTU7CisKKyAgICAgICAgcmVh
ZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIHNob3J0IHR5cGU7CisgICAgICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSBET01TdHJpbmcgdXJsOworCisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNp
Z25lZCBsb25nIGxvbmcgcmVzb3VyY2VGZXRjaFN0YXJ0OworICAgICAgICByZWFkb25seSBhdHRy
aWJ1dGUgdW5zaWduZWQgbG9uZyBsb25nIHJlZGlyZWN0U3RhcnQ7CisgICAgICAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxvbmcgcmVkaXJlY3RFbmQ7CisgICAgICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxvbmcgZmV0Y2hTdGFydDsKKyAgICAgICAgcmVh
ZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbG9uZyBkb21haW5Mb29rdXBTdGFydDsKKyAg
ICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbG9uZyBkb21haW5Mb29rdXBF
bmQ7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxvbmcgY29ubmVj
dFN0YXJ0OworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBsb25nIGNv
bm5lY3RFbmQ7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxvbmcg
c2VjdXJlQ29ubmVjdGlvblN0YXJ0OworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWdu
ZWQgbG9uZyBsb25nIHJlcXVlc3RTdGFydDsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVu
c2lnbmVkIGxvbmcgbG9uZyByZXNwb25zZVN0YXJ0OworICAgICAgICByZWFkb25seSBhdHRyaWJ1
dGUgdW5zaWduZWQgbG9uZyBsb25nIHJlc3BvbnNlRW5kOworICAgIH07CisKK30KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZ0xpc3QuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5nTGlzdC5jcHAK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTQ0M2Y5OTY2YzgwNGQ5OTQ4MDQxYWFiZDY5Y2U5MjRmNGU1YzZkMgotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VSZXNvdXJjZVRp
bWluZ0xpc3QuY3BwCkBAIC0wLDAgKzEsNTQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEg
R29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAg
ICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICog
TmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICog
Y29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBk
ZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0
dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUg
Q09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICog
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVk
ZSAiUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZ0xpc3QuaCIKKworI2lmIEVOQUJMRShXRUJfVElN
SU5HKQorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmdM
aXN0OjpQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nTGlzdCgpCit7Cit9CisKK3Vuc2lnbmVkIFBl
cmZvcm1hbmNlUmVzb3VyY2VUaW1pbmdMaXN0OjpsZW5ndGgoKSBjb25zdAoreworICAgIHJldHVy
biAwVTsKK30KKworUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZyogUGVyZm9ybWFuY2VSZXNvdXJj
ZVRpbWluZ0xpc3Q6Oml0ZW0odW5zaWduZWQgaW5kZXgpCit7CisgICAgcmV0dXJuIDA7Cit9CisK
K30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShXRUJfVElNSU5HKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5n
TGlzdC5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5nTGlz
dC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmYyNGI0MTE2N2EyN2VhN2ZlMjE1ZmExMWZhMmQ0YmEwYWM3MDg4MmUK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlUmVzb3Vy
Y2VUaW1pbmdMaXN0LmgKQEAgLTAsMCArMSw1OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
MSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAg
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAg
KiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisg
KiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdy
aXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI
RSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElN
SVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisg
KiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgUGVyZm9ybWFuY2VSZXNvdXJj
ZVRpbWluZ0xpc3RfaAorI2RlZmluZSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nTGlzdF9oCisK
KyNpZiBFTkFCTEUoV0VCX1RJTUlORykKKworI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+Cisj
aW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcu
aD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBQZXJmb3JtYW5jZVJlc291cmNlVGlt
aW5nOworCitjbGFzcyBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nTGlzdCA6IHB1YmxpYyBSZWZD
b3VudGVkPFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmdMaXN0PiB7CitwdWJsaWM6CisgICAgc3Rh
dGljIFBhc3NSZWZQdHI8UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZ0xpc3Q+IGNyZWF0ZSgpIHsg
cmV0dXJuIGFkb3B0UmVmKG5ldyBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nTGlzdCgpKTsgfQor
CisgICAgdW5zaWduZWQgbGVuZ3RoKCkgY29uc3Q7CisgICAgUGVyZm9ybWFuY2VSZXNvdXJjZVRp
bWluZyogaXRlbSh1bnNpZ25lZCBpbmRleCk7CisKK3ByaXZhdGU6CisgICAgUGVyZm9ybWFuY2VS
ZXNvdXJjZVRpbWluZ0xpc3QoKTsKK307CisKK30KKworI2VuZGlmIC8vICFFTkFCTEUoV0VCX1RJ
TUlORykKKyNlbmRpZiAvLyAhZGVmaW5lZChQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nTGlzdF9o
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGlt
aW5nTGlzdC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1p
bmdMaXN0LmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZWRmNDRhOTgxMGE1MjJmMmIwNzY4MjEzZGQ1YjEyYzNj
MDc5ZWJiCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5j
ZVJlc291cmNlVGltaW5nTGlzdC5pZGwKQEAgLTAsMCArMSwzOSBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24u
CisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMg
b2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAor
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK21vZHVsZSB3aW5kb3cgewor
CisgICAgLy8gU2VlOiBodHRwOi8vdzNjLXRlc3Qub3JnL3dlYnBlcmYvc3BlY3MvUmVzb3VyY2VU
aW1pbmcvCisgICAgaW50ZXJmYWNlIFtDb25kaXRpb25hbD1XRUJfVElNSU5HLCBPbWl0Q29uc3Ry
dWN0b3IsIEhhc0luZGV4R2V0dGVyXSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nTGlzdCB7Cisg
ICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxlbmd0aDsKKyAgICAgICAg
UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZyBpdGVtKGluIHVuc2lnbmVkIGxvbmcgaW5kZXgpOwor
ICAgIH07CisKK30K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>139121</attachid>
            <date>2012-04-26 19:33:51 -0700</date>
            <delta_ts>2012-04-26 20:17:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-61152-20120426193350.patch</filename>
            <type>text/plain</type>
            <size>44943</size>
            <attacher name="James Simonsen">simonjam</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE1MzIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2Y2MjFmYzQ0MjJiZGRl
ZDRmN2M3ZTA4Yzg0ZTA4YTU0ZWM2MzY0Ny4uMGMwZThkYTJiYmQxNGNjZjQ5M2JhN2Q1MWY1Mjlk
ODJiNzUyYTg1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDkwIEBACisyMDEyLTA0LTI2ICBKYW1l
cyBTaW1vbnNlbiAgPHNpbW9uamFtQGNocm9taXVtLm9yZz4KKworICAgICAgICBbUmVzb3VyY2Ug
VGltaW5nXSBJbXBsZW1lbnQgUmVzb3VyY2UgVGltaW5nIGludGVyZmFjZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjExNTIKKworICAgICAgICBUaGlz
IHBhdGNoIGltcGxlbWVudHMgdGhlIFJlc291cmNlIFRpbWluZyBpbnRlcmZhY2UuIEl0IGRvZXNu
J3QgZG8gYW55dGhpbmcKKyAgICAgICAgdXNlZnVsLCBiZWNhdXNlIG5vdGhpbmcgcG9wdWxhdGVz
IHRoZSB0aW1lbGluZSB5ZXQuIFRoZXJlIGFyZSBhbHNvIHNvbWUgZ2FwcworICAgICAgICBpbiB0
aGUgaW1wbGVtZW50YXRpb24sIHdoaWNoIGhhdmUgYmVlbiBmaWxlZCBhcyBidWdzLgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4g
RmVhdHVyZSBpcyBkaXNhYmxlZCBvbiBhbGwgcGxhdGZvcm1zLgorCisgICAgICAgICogQ01ha2VM
aXN0cy50eHQ6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMucHJpOgorICAgICAgICAqIEdOVW1h
a2VmaWxlLmxpc3QuYW06CisgICAgICAgICogVGFyZ2V0LnByaToKKyAgICAgICAgKiBVc2VWOC5j
bWFrZToKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ov
V2ViQ29yZS52Y3Byb2o6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOFBlcmZvcm1hbmNlRW50cnlDdXN0
b20uY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjp0b1Y4KTogU3Vw
cG9ydCBQZXJmb3JtYW5jZUVudHJ5IHBvbHltb3JwaGlzbS4KKyAgICAgICAgKiBkb20vRXZlbnRO
YW1lcy5oOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogZG9tL0V2ZW50VGFyZ2V0RmFj
dG9yeS5pbjoKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlBlcmZvcm1hbmNlOjp+UGVyZm9ybWFuY2UpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAg
ICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZTo6aW50ZXJmYWNlTmFtZSk6IFJlcWlyZWQgZm9yIEV2
ZW50VGFyZ2V0LgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6OnNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlOjp3ZWJraXRH
ZXRFbnRyaWVzKTogUmV0dXJuICJyZXNvdXJjZSIgZW50cmllcy4KKyAgICAgICAgKFdlYkNvcmU6
OlBlcmZvcm1hbmNlOjp3ZWJraXRHZXRFbnRyaWVzQnlUeXBlKTogRGl0dG8uCisgICAgICAgIChX
ZWJDb3JlOjpQZXJmb3JtYW5jZTo6d2Via2l0R2V0RW50cmllc0J5TmFtZSk6IERpdHRvLgorICAg
ICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6OndlYmtpdENsZWFyUmVzb3VyY2VUaW1pbmdzKTog
TmV3LgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6OndlYmtpdFNldFJlc291cmNlVGlt
aW5nQnVmZmVyU2l6ZSk6IE5ldy4gVW5pbXBsZW1lbnRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlBl
cmZvcm1hbmNlOjphZGRSZXNvdXJjZVRpbWluZyk6IFRoaXMgaXMgaG93IHJlc291cmNlcyBpbiBX
ZWJDb3JlIHdpbGwgcmVwb3J0IHRvIHRoZSB0aW1lbGluZS4KKyAgICAgICAgKFdlYkNvcmU6OlBl
cmZvcm1hbmNlOjpldmVudFRhcmdldERhdGEpOiBSZXF1aXJlZCBmb3IgRXZlbnRUYXJnZXQuCisg
ICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZTo6ZW5zdXJlRXZlbnRUYXJnZXREYXRhKTogRGl0
dG8uCisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZS5oOgorICAgICAgICAoUGVyZm9ybWFuY2Up
OgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6OnJlZkV2ZW50VGFyZ2V0KToKKyAgICAg
ICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlOjpkZXJlZkV2ZW50VGFyZ2V0KToKKyAgICAgICAgKiBw
YWdlL1BlcmZvcm1hbmNlLmlkbDoKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlRW50cnkuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VFbnRyeTo6flBlcmZvcm1hbmNlRW50cnkp
OgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZUVudHJ5Lmg6
CisgICAgICAgIChQZXJmb3JtYW5jZUVudHJ5KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1h
bmNlRW50cnk6OmlzUmVzb3VyY2UpOgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VFbnRyeS5p
ZGw6CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmNwcDogQWRkZWQu
CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OnRvUGVyZm9ybWFuY2VJbml0
aWF0b3JUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6
OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFu
Y2VSZXNvdXJjZVRpbWluZzo6aW5pdGlhdG9yVHlwZSk6CisgICAgICAgIChXZWJDb3JlOjpQZXJm
b3JtYW5jZVJlc291cmNlVGltaW5nOjpyZWRpcmVjdFN0YXJ0KToKKyAgICAgICAgKFdlYkNvcmU6
OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OnJlZGlyZWN0RW5kKToKKyAgICAgICAgKFdlYkNv
cmU6OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OmZldGNoU3RhcnQpOgorICAgICAgICAoV2Vi
Q29yZTo6UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6ZG9tYWluTG9va3VwU3RhcnQpOgorICAg
ICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6ZG9tYWluTG9va3VwRW5k
KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OmNvbm5lY3RT
dGFydCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpjb25u
ZWN0RW5kKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OnNl
Y3VyZUNvbm5lY3Rpb25TdGFydCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZVJlc291
cmNlVGltaW5nOjpyZXF1ZXN0U3RhcnQpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VS
ZXNvdXJjZVRpbWluZzo6cmVzcG9uc2VTdGFydCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3Jt
YW5jZVJlc291cmNlVGltaW5nOjpyZXNwb25zZUVuZCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJm
b3JtYW5jZVJlc291cmNlVGltaW5nOjptb25vdG9uaWNUaW1lVG9Eb2N1bWVudE1pbGxpc2Vjb25k
cyk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpyZXNvdXJj
ZVRpbWVUb01pbGxpc2Vjb25kcyk6CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZVJlc291cmNl
VGltaW5nLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChQZXJmb3JtYW5j
ZVJlc291cmNlVGltaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlUmVzb3VyY2VU
aW1pbmc6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZVJlc291cmNlVGlt
aW5nOjppc1Jlc291cmNlKToKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1p
bmcuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVz
dEJhc2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0QmFzZTo6YWRvcHQp
OgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5oOgorICAg
ICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0QmFzZTo6aW5pdGlhdG9yVHlwZSk6IEFkZGVk
LgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0QmFzZTo6c2V0SW5pdGlhdG9yVHlw
ZSk6IEFkZGVkLgorICAgICAgICAoUmVzb3VyY2VSZXF1ZXN0QmFzZSk6CisgICAgICAgIChXZWJD
b3JlOjpSZXNvdXJjZVJlcXVlc3RCYXNlOjppbml0aWF0ZWRUaW1lKTogQWRkZWQuCisgICAgICAg
IChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3RCYXNlOjpSZXNvdXJjZVJlcXVlc3RCYXNlKToKKyAg
ICAgICAgKENyb3NzVGhyZWFkUmVzb3VyY2VSZXF1ZXN0RGF0YUJhc2UpOgorICAgICAgICAoV2Vi
Q29yZSk6CisKIDIwMTItMDQtMjYgIERvbWluaWsgUsO2dHRzY2hlcyAgPGRvbWluaWsucm90dHNj
aGVzQGxpbnV4LmludGVsLmNvbT4KIAogICAgICAgICBbY2Fpcm9dIENhaXJvR3JhcGhpY3NDb250
ZXh0IGZpbGxSZWN0ICh3aXRoIENvbG9yKSBvdmVycmlkZXMgY29tcG9zaXRlIG9wZXJhdG9yCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3Jl
L0NNYWtlTGlzdHMudHh0CmluZGV4IGRmYzIwMTdlNmM2Y2E5OTNhNTRiY2ZmZWVmMTY0OWI0Y2Vm
NTQzZTEuLmFjZjQ4NTRhNTdiNzI3OWE1OTNiMzU1YmQwMmIzNjlmZjk0MjkxZjMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NN
YWtlTGlzdHMudHh0CkBAIC0zNzcsNiArMzc3LDcgQEAgU0VUKFdlYkNvcmVfSURMX0ZJTEVTCiAg
ICAgcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmlkbAogICAgIHBhZ2UvUGVyZm9ybWFuY2VFbnRyeUxp
c3QuaWRsCiAgICAgcGFnZS9QZXJmb3JtYW5jZU5hdmlnYXRpb24uaWRsCisgICAgcGFnZS9QZXJm
b3JtYW5jZVJlc291cmNlVGltaW5nLmlkbAogICAgIHBhZ2UvUGVyZm9ybWFuY2VUaW1pbmcuaWRs
CiAgICAgcGFnZS9TY3JlZW4uaWRsCiAgICAgcGFnZS9TcGVlY2hJbnB1dEV2ZW50LmlkbApAQCAt
MTA2MSw2ICsxMDYyLDcgQEAgU0VUKFdlYkNvcmVfU09VUkNFUwogICAgIHBhZ2UvUGVyZm9ybWFu
Y2VFbnRyeS5jcHAKICAgICBwYWdlL1BlcmZvcm1hbmNlRW50cnlMaXN0LmNwcAogICAgIHBhZ2Uv
UGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmNwcAorICAgIHBhZ2UvUGVyZm9ybWFuY2VSZXNvdXJjZVRp
bWluZy5jcHAKICAgICBwYWdlL1BlcmZvcm1hbmNlVGltaW5nLmNwcAogICAgIHBhZ2UvUHJpbnRD
b250ZXh0LmNwcAogICAgIHBhZ2UvU2NyZWVuLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMucHJpIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMucHJp
CmluZGV4IDBmYTRiMjQ5YTNlYjVkMzQ4YmMzNDU1ZWEyZjQ3YTZlMWUzNmRlOTEuLmQ0MTk1NjQx
MzdhMjg4MmJmNTNlOTQ4YjZiNDk0MzVkOTg2NTNmODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL0Rlcml2ZWRTb3VyY2VzLnByaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNl
cy5wcmkKQEAgLTQxNCw2ICs0MTQsNyBAQCBJRExfQklORElOR1MgKz0gXAogICAgICQkUFdEL3Bh
Z2UvUGVyZm9ybWFuY2VFbnRyeS5pZGwgXAogICAgICQkUFdEL3BhZ2UvUGVyZm9ybWFuY2VFbnRy
eUxpc3QuaWRsIFwKICAgICAkJFBXRC9wYWdlL1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5pZGwgXAor
ICAgICQkUFdEL3BhZ2UvUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5pZGwgXAogICAgICQkUFdE
L3BhZ2UvUGVyZm9ybWFuY2VUaW1pbmcuaWRsIFwKICAgICAkJFBXRC9wYWdlL1NjcmVlbi5pZGwg
XAogICAgICQkUFdEL3BhZ2UvU3BlZWNoSW5wdXRFdmVudC5pZGwgXApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2Vm
aWxlLmxpc3QuYW0KaW5kZXggYjIzMGJmYWU3ZTNhZTlmOTRlZmRlNjVmYTBjZDIyYzBhZGVjOTE3
YS4uMDZkZTkyMjM4MTIyNTFmMmU1NmU2MzVlMWI0MTVkMmVlNjJjMzk0ZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9H
TlVtYWtlZmlsZS5saXN0LmFtCkBAIC05NDUsNiArOTQ1LDcgQEAgZG9tX2JpbmRpbmdfaWRscyAr
PSBcCiAJJChXZWJDb3JlKS9wYWdlL1BlcmZvcm1hbmNlRW50cnkuaWRsIFwKIAkkKFdlYkNvcmUp
L3BhZ2UvUGVyZm9ybWFuY2VFbnRyeUxpc3QuaWRsIFwKIAkkKFdlYkNvcmUpL3BhZ2UvUGVyZm9y
bWFuY2VOYXZpZ2F0aW9uLmlkbCBcCisJJChXZWJDb3JlKS9wYWdlL1BlcmZvcm1hbmNlUmVzb3Vy
Y2VUaW1pbmcuaWRsIFwKIAkkKFdlYkNvcmUpL3BhZ2UvUGVyZm9ybWFuY2VUaW1pbmcuaWRsIFwK
IAkkKFdlYkNvcmUpL3BhZ2UvU2NyZWVuLmlkbCBcCiAJJChXZWJDb3JlKS9wYWdlL1NwZWVjaElu
cHV0RXZlbnQuaWRsIFwKQEAgLTI5OTEsNiArMjk5Miw4IEBAIHdlYmNvcmVfc291cmNlcyArPSBc
CiAJU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5TGlzdC5oIFwKIAlTb3VyY2Uv
V2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5jcHAgXAogCVNvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmggXAorCVNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVy
Zm9ybWFuY2VSZXNvdXJjZVRpbWluZy5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9y
bWFuY2VSZXNvdXJjZVRpbWluZy5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNl
VGltaW5nLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVRpbWluZy5oIFwK
IAlTb3VyY2UvV2ViQ29yZS9wYWdlL1BvaW50ZXJMb2NrLmggXApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvVGFyZ2V0LnByaSBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKaW5kZXggZGE5
MzZlMzQ3MjA1NjIzNGRjMGE1ZmQwNDlmYjIzOTU3ZGQwNzkwMi4uMDk4ZTRmMDRhZDA3OWFiMmIz
ZjBhNmNjNjM4MGQ5MWVjYzk4OTdkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0
LnByaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCkBAIC0yMTIsNiArMjEyLDcgQEAg
djggewogICAgICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhOb2RlQ3VzdG9tLmNwcCBcCiAgICAg
ICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOE5vZGVMaXN0Q3VzdG9tLmNwcCBcCiAgICAgICAgIGJp
bmRpbmdzL3Y4L2N1c3RvbS9WOFBlcmZvcm1hbmNlQ3VzdG9tLmNwcCBcCisgICAgICAgIGJpbmRp
bmdzL3Y4L2N1c3RvbS9WOFBlcmZvcm1hbmNlRW50cnlDdXN0b20uY3BwIFwKICAgICAgICAgYmlu
ZGluZ3MvdjgvY3VzdG9tL1Y4U1FMUmVzdWx0U2V0Um93TGlzdEN1c3RvbS5jcHAgXAogICAgICAg
ICBiaW5kaW5ncy92OC9jdXN0b20vVjhTUUxUcmFuc2FjdGlvbkN1c3RvbS5jcHAgXAogICAgICAg
ICBiaW5kaW5ncy92OC9jdXN0b20vVjhXZWJTb2NrZXRDdXN0b20uY3BwIFwKQEAgLTEwMzUsNiAr
MTAzNiw3IEBAIFNPVVJDRVMgKz0gXAogICAgIHBhZ2UvUGVyZm9ybWFuY2VFbnRyeS5jcHAgXAog
ICAgIHBhZ2UvUGVyZm9ybWFuY2VFbnRyeUxpc3QuY3BwIFwKICAgICBwYWdlL1BlcmZvcm1hbmNl
TmF2aWdhdGlvbi5jcHAgXAorICAgIHBhZ2UvUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5jcHAg
XAogICAgIHBhZ2UvUGVyZm9ybWFuY2VUaW1pbmcuY3BwIFwKICAgICBwYWdlL1ByaW50Q29udGV4
dC5jcHAgXAogICAgIHBhZ2UvU2NyZWVuLmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Vc2VWOC5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL1VzZVY4LmNtYWtlCmluZGV4IGVlNGU2Yjk1
OTQwMmE0ZGY5MjBjNTRmMTVhOTkxYWE1ZjJmN2Q2M2UuLjJjNzY4MWY5MWQ4MjQwNDhiYzk1MzIy
NzBlYWJjZDdkZmJmODljOTkgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1VzZVY4LmNtYWtl
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1VzZVY4LmNtYWtlCkBAIC0xMzgsNiArMTM4LDcgQEAgTElT
VChBUFBFTkQgV2ViQ29yZV9TT1VSQ0VTCiAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4Tm9kZUxp
c3RDdXN0b20uY3BwCiAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4Tm90aWZpY2F0aW9uQ2VudGVy
Q3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOFBlcmZvcm1hbmNlQ3VzdG9tLmNw
cAorICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOFBlcmZvcm1hbmNlRW50cnlDdXN0b20uY3BwCiAg
ICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4UG9wU3RhdGVFdmVudEN1c3RvbS5jcHAKICAgICBiaW5k
aW5ncy92OC9jdXN0b20vVjhTUUxSZXN1bHRTZXRSb3dMaXN0Q3VzdG9tLmNwcAogICAgIGJpbmRp
bmdzL3Y4L2N1c3RvbS9WOFNRTFRyYW5zYWN0aW9uQ3VzdG9tLmNwcApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmlu
ZGV4IGUwM2RkMTcyN2JlMjBkOTVjMTY4YjdkNDAzY2IxMmJhNjM1MTMwZDcuLmYyMDgwZWQ0ZmRk
MjdhYThkNjM4NTBkNWMyNWQ4ODNlNTZiMjQ0ZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTExNDcs
NiArMTE0Nyw3IEBACiAgICAgICAgICAgICAncGFnZS9QZXJmb3JtYW5jZUVudHJ5LmlkbCcsCiAg
ICAgICAgICAgICAncGFnZS9QZXJmb3JtYW5jZUVudHJ5TGlzdC5pZGwnLAogICAgICAgICAgICAg
J3BhZ2UvUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmlkbCcsCisgICAgICAgICAgICAncGFnZS9QZXJm
b3JtYW5jZVJlc291cmNlVGltaW5nLmlkbCcsCiAgICAgICAgICAgICAncGFnZS9QZXJmb3JtYW5j
ZVRpbWluZy5pZGwnLAogICAgICAgICAgICAgJ3BhZ2UvUG9pbnRlckxvY2suaWRsJywKICAgICAg
ICAgICAgICdwYWdlL1NjcmVlbi5pZGwnLApAQCAtMjI5Niw2ICsyMjk3LDcgQEAKICAgICAgICAg
ICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhOb2RlTGlzdEN1c3RvbS5jcHAnLAogICAgICAgICAg
ICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE5vdGlmaWNhdGlvbkNlbnRlckN1c3RvbS5jcHAnLAog
ICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFBlcmZvcm1hbmNlQ3VzdG9tLmNwcCcs
CisgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4UGVyZm9ybWFuY2VFbnRyeUN1c3Rv
bS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFBvcFN0YXRlRXZlbnRD
dXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhTUUxSZXN1bHRT
ZXRSb3dMaXN0Q3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4
U1FMVHJhbnNhY3Rpb25DdXN0b20uY3BwJywKQEAgLTMwMTUsNiArMzAxNyw4IEBACiAgICAgICAg
ICAgICAncGFnZS9QZXJmb3JtYW5jZUVudHJ5TGlzdC5oJywKICAgICAgICAgICAgICdwYWdlL1Bl
cmZvcm1hbmNlTmF2aWdhdGlvbi5jcHAnLAogICAgICAgICAgICAgJ3BhZ2UvUGVyZm9ybWFuY2VO
YXZpZ2F0aW9uLmgnLAorICAgICAgICAgICAgJ3BhZ2UvUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWlu
Zy5jcHAnLAorICAgICAgICAgICAgJ3BhZ2UvUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5oJywK
ICAgICAgICAgICAgICdwYWdlL1BlcmZvcm1hbmNlVGltaW5nLmNwcCcsCiAgICAgICAgICAgICAn
cGFnZS9QZXJmb3JtYW5jZVRpbWluZy5oJywKICAgICAgICAgICAgICdwYWdlL1BvaW50ZXJMb2Nr
LmNwcCcsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3Jl
LnZjcHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCmlu
ZGV4IDQ0N2Q3NDVjNjdkMTM5MjJjOWExNzhlYzViZDc2ZWVhZjA5NDdhOTIuLjNiYWY3MWZmZTAy
MTQ1OTI5YTg0ZmZhNjYwNTQzMTg2MjAzMzk3NzYgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCkBAIC0yNjUwMiw2ICsyNjUwMiwxNCBAQAogCQkJCT4K
IAkJCTwvRmlsZT4KIAkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxwYWdlXFBlcmZvcm1h
bmNlUmVzb3VyY2VUaW1pbmcuY3BwIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJ
UmVsYXRpdmVQYXRoPSIuLlxwYWdlXFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaCIKKwkJCQk+
CisJCQk8L0ZpbGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGFnZVxQZXJmb3Jt
YW5jZVRpbWluZy5jcHAiCiAJCQkJPgogCQkJPC9GaWxlPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGE3OWMxMzViMDVjOWNiMmZm
ZjhhMjkzODc4Nzc2M2JkNjA5OWJlMzEuLjliNTg2MjQwYWQyMjA0OWY2NzVjMzcyNzYyYzczMzAy
NzNiMGY1NDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKQEAgLTI4NjYsNiArMjg2Niw4IEBACiAJCTg2MUMyRUE0MTNGQjRGREQwMDA2
MkFCQiAvKiBEb2N1bWVudExvYWRUaW1pbmcuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gODYxQzJFQTMxM0ZCNEZERDAwMDYyQUJCIC8qIERvY3VtZW50
TG9hZFRpbWluZy5jcHAgKi87IH07CiAJCTg2MUMyRUE2MTNGQjRGRkYwMDA2MkFCQiAvKiBSZXNv
dXJjZUxvYWRUaW1pbmcuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gODYxQzJFQTUxM0ZCNEZGRjAwMDYyQUJCIC8qIFJlc291cmNlTG9hZFRpbWluZy5j
cHAgKi87IH07CiAJCTg2MjQzRDAxMTFCQzMxRjcwMENDMDA2QSAvKiBKU0FycmF5QnVmZmVyVmll
d0hlbHBlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
ODYyNDNEMDAxMUJDMzFGNzAwQ0MwMDZBIC8qIEpTQXJyYXlCdWZmZXJWaWV3SGVscGVyLmggKi87
IH07CisJCTg2NTEyRURFMTU0QTJBRUYwMEE5MDQyNiAvKiBQZXJmb3JtYW5jZVJlc291cmNlVGlt
aW5nLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2
NTEyRURCMTU0QTJBRUUwMEE5MDQyNiAvKiBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmNwcCAq
LzsgfTsKKwkJODY1MTJFREYxNTRBMkFFRjAwQTkwNDI2IC8qIFBlcmZvcm1hbmNlUmVzb3VyY2VU
aW1pbmcuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2
NTEyRURDMTU0QTJBRUYwMEE5MDQyNiAvKiBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmggKi87
IH07CiAJCTg2QkUzNDAwMTUwNThDQjIwMENFMEZEOCAvKiBQZXJmb3JtYW5jZUVudHJ5LmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2QkUzM0ZBMTUw
NThDQjIwMENFMEZEOCAvKiBQZXJmb3JtYW5jZUVudHJ5LmNwcCAqLzsgfTsKIAkJODZCRTM0MDEx
NTA1OENCMjAwQ0UwRkQ4IC8qIFBlcmZvcm1hbmNlRW50cnkuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2QkUzM0ZCMTUwNThDQjIwMENFMEZEOCAvKiBQ
ZXJmb3JtYW5jZUVudHJ5LmggKi87IH07CiAJCTg2QkUzNDAzMTUwNThDQjIwMENFMEZEOCAvKiBQ
ZXJmb3JtYW5jZUVudHJ5TGlzdC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA4NkJFMzNGRDE1MDU4Q0IyMDBDRTBGRDggLyogUGVyZm9ybWFuY2VFbnRy
eUxpc3QuY3BwICovOyB9OwpAQCAtOTg0Nyw2ICs5ODQ5LDkgQEAKIAkJODYxQzJFQTMxM0ZCNEZE
RDAwMDYyQUJCIC8qIERvY3VtZW50TG9hZFRpbWluZy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBEb2N1bWVudExvYWRUaW1pbmcuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk4NjFDMkVBNTEzRkI0RkZGMDAwNjJBQkIgLyogUmVzb3VyY2VMb2FkVGlt
aW5nLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlc291cmNlTG9h
ZFRpbWluZy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg2MjQzRDAwMTFCQzMx
RjcwMENDMDA2QSAvKiBKU0FycmF5QnVmZmVyVmlld0hlbHBlci5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBKU0FycmF5QnVmZmVyVmlld0hlbHBlci5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk4NjUxMkVEQjE1NEEyQUVFMDBBOTA0MjYgLyogUGVyZm9ybWFuY2VS
ZXNvdXJjZVRpbWluZy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQ
ZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJODY1MTJFREMxNTRBMkFFRjAwQTkwNDI2IC8qIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGVyZm9ybWFuY2VSZXNvdXJjZVRp
bWluZy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4NjUxMkVERDE1NEEyQUVGMDBB
OTA0MjYgLyogUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5pZGwgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBw
YXRoID0gUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTg2QkUzM0ZBMTUwNThDQjIwMENFMEZEOCAvKiBQZXJmb3JtYW5jZUVudHJ5LmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBlcmZvcm1hbmNlRW50cnku
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NkJFMzNGQjE1MDU4Q0IyMDBDRTBG
RDggLyogUGVyZm9ybWFuY2VFbnRyeS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBQZXJmb3JtYW5jZUVudHJ5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg2QkUz
M0ZDMTUwNThDQjIwMENFMEZEOCAvKiBQZXJmb3JtYW5jZUVudHJ5LmlkbCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRl
eHQ7IHBhdGggPSBQZXJmb3JtYW5jZUVudHJ5LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKQEAgLTE1NDQwLDYgKzE1NDQ1LDkgQEAKIAkJCQk4QUY0RTU1MjExREM1QTM2MDAwRUQzREUg
LyogUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmNwcCAqLywKIAkJCQk4QUY0RTU1MzExREM1QTM2MDAw
RUQzREUgLyogUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmggKi8sCiAJCQkJOEFGNEU1NTQxMURDNUEz
NjAwMEVEM0RFIC8qIFBlcmZvcm1hbmNlTmF2aWdhdGlvbi5pZGwgKi8sCisJCQkJODY1MTJFREIx
NTRBMkFFRTAwQTkwNDI2IC8qIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuY3BwICovLAorCQkJ
CTg2NTEyRURDMTU0QTJBRUYwMEE5MDQyNiAvKiBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmgg
Ki8sCisJCQkJODY1MTJFREQxNTRBMkFFRjAwQTkwNDI2IC8qIFBlcmZvcm1hbmNlUmVzb3VyY2VU
aW1pbmcuaWRsICovLAogCQkJCThBRjRFNTU4MTFEQzVBNjMwMDBFRDNERSAvKiBQZXJmb3JtYW5j
ZVRpbWluZy5jcHAgKi8sCiAJCQkJOEFGNEU1NTkxMURDNUE2MzAwMEVEM0RFIC8qIFBlcmZvcm1h
bmNlVGltaW5nLmggKi8sCiAJCQkJOEFGNEU1NUExMURDNUE2MzAwMEVEM0RFIC8qIFBlcmZvcm1h
bmNlVGltaW5nLmlkbCAqLywKQEAgLTIzODY5LDYgKzIzODc3LDcgQEAKIAkJCQk4NkJFMzQwMTE1
MDU4Q0IyMDBDRTBGRDggLyogUGVyZm9ybWFuY2VFbnRyeS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
ODZCRTM0MDQxNTA1OENCMjAwQ0UwRkQ4IC8qIFBlcmZvcm1hbmNlRW50cnlMaXN0LmggaW4gSGVh
ZGVycyAqLywKIAkJCQk4QUY0RTU1NjExREM1QTM2MDAwRUQzREUgLyogUGVyZm9ybWFuY2VOYXZp
Z2F0aW9uLmggaW4gSGVhZGVycyAqLywKKwkJCQk4NjUxMkVERjE1NEEyQUVGMDBBOTA0MjYgLyog
UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOEFGNEU1NUMx
MURDNUE2MzAwMEVEM0RFIC8qIFBlcmZvcm1hbmNlVGltaW5nLmggaW4gSGVhZGVycyAqLywKIAkJ
CQk0OUQ1REMyRTBGNDIzQTczMDA4RjIwRkQgLyogUGVyc3BlY3RpdmVUcmFuc2Zvcm1PcGVyYXRp
b24uaCBpbiBIZWFkZXJzICovLAogCQkJCUQwRkYyQTVFMTFGOEM0NUEwMDdFNzRFMCAvKiBQaW5n
TG9hZGVyLmggaW4gSGVhZGVycyAqLywKQEAgLTI3MDcwLDYgKzI3MDc5LDcgQEAKIAkJCQk4NkJF
MzQwMDE1MDU4Q0IyMDBDRTBGRDggLyogUGVyZm9ybWFuY2VFbnRyeS5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQk4NkJFMzQwMzE1MDU4Q0IyMDBDRTBGRDggLyogUGVyZm9ybWFuY2VFbnRyeUxpc3Qu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOEFGNEU1NTUxMURDNUEzNjAwMEVEM0RFIC8qIFBlcmZv
cm1hbmNlTmF2aWdhdGlvbi5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk4NjUxMkVERTE1NEEyQUVG
MDBBOTA0MjYgLyogUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQk4QUY0RTU1QjExREM1QTYzMDAwRUQzREUgLyogUGVyZm9ybWFuY2VUaW1pbmcuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJNDlENURDMkQwRjQyM0E3MzAwOEYyMEZEIC8qIFBlcnNwZWN0aXZl
VHJhbnNmb3JtT3BlcmF0aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUQwRkYyQTVEMTFGOEM0
NUEwMDdFNzRFMCAvKiBQaW5nTG9hZGVyLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4UGVyZm9ybWFuY2VFbnRyeUN1c3Rv
bS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhQZXJmb3JtYW5jZUVu
dHJ5Q3VzdG9tLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43NGRmOWM3NjRkYzE1NmQ4NGQ5MTU4ZTc5YzVkZDJi
YWEwYmIzNmQ5Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4UGVyZm9ybWFuY2VFbnRyeUN1c3RvbS5jcHAKQEAgLTAsMCArMSw2MSBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAq
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBk
aXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5v
ciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3Jz
ZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRo
b3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JT
CisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIg
T1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICog
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNs
dWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJQZXJmb3JtYW5jZUVudHJ5LmgiCisKKyNpZiBFTkFC
TEUoUEVSRk9STUFOQ0VfVElNRUxJTkUpCisKKyNpbmNsdWRlICJQZXJmb3JtYW5jZS5oIgorI2lu
Y2x1ZGUgIlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaCIKKworI2luY2x1ZGUgIlY4UGVyZm9y
bWFuY2VFbnRyeS5oIgorI2luY2x1ZGUgIlY4UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5oIgor
CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3Y4OjpI
YW5kbGU8djg6OlZhbHVlPiB0b1Y4KFBlcmZvcm1hbmNlRW50cnkqIGltcGwsIHY4OjpJc29sYXRl
KiBpc29sYXRlKQoreworICAgIGlmICghaW1wbCkKKyAgICAgICAgcmV0dXJuIHY4OjpOdWxsKCk7
CisKKyNpZiBFTkFCTEUoUkVTT1VSQ0VfVElNSU5HKQorICAgIGlmIChpbXBsLT5pc1Jlc291cmNl
KCkpCisgICAgICAgIHJldHVybiB0b1Y4KHN0YXRpY19jYXN0PFBlcmZvcm1hbmNlUmVzb3VyY2VU
aW1pbmcqPihpbXBsKSwgaXNvbGF0ZSk7CisjZW5kaWYKKworICAgIHJldHVybiBWOFBlcmZvcm1h
bmNlRW50cnk6OndyYXAoaW1wbCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2Vu
ZGlmIC8vIEVOQUJMRShQRVJGT1JNQU5DRV9USU1FTElORSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9FdmVudE5hbWVzLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5o
CmluZGV4IDIwNWE4Yzk5MjFjYTUxODJhNjhjN2NjMmJmMWNlYThlY2Q5YzFkYzAuLjMxNTA5MGRl
OWE2ZjBmODllY2RjMDNhZDNlY2FmODA2MWVjZWZjYWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9FdmVudE5hbWVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMu
aApAQCAtMjI1LDYgKzIyNSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBcCiAgICAgbWFj
cm8od2Via2l0bmV0d29ya2luZm9jaGFuZ2UpIFwKICAgICBcCisgICAgbWFjcm8od2Via2l0cmVz
b3VyY2V0aW1pbmdidWZmZXJmdWxsKSBcCisgICAgXAogCiAvLyBlbmQgb2YgRE9NX0VWRU5UX05B
TUVTX0ZPUl9FQUNICiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdl
dEZhY3RvcnkuaW4gYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXRGYWN0b3J5LmluCmlu
ZGV4IGYwMWI4MTFhYmE5YjgwNmZjMjEyNWY3MGY3YjQzMTE3M2IzYmI1YjAuLjNlYzZkYjk0NDZk
MjU5NjMxNjI5YWM3M2NlOWVmMGU0MWY0YTM1ODYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9FdmVudFRhcmdldEZhY3RvcnkuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50
VGFyZ2V0RmFjdG9yeS5pbgpAQCAtMjIsNiArMjIsNyBAQCBOZXR3b3JrSW5mb0Nvbm5lY3Rpb24g
Y29uZGl0aW9uYWw9TkVUV09SS19JTkZPCiBOb2RlCiBOb3RpZmljYXRpb24gY29uZGl0aW9uYWw9
Tk9USUZJQ0FUSU9OU3xMRUdBQ1lfTk9USUZJQ0FUSU9OUwogUGVlckNvbm5lY3Rpb24wMCBjb25k
aXRpb25hbD1NRURJQV9TVFJFQU0KK1BlcmZvcm1hbmNlIGNvbmRpdGlvbmFsPVdFQl9USU1JTkcK
IFNoYXJlZFdvcmtlciBjb25kaXRpb25hbD1TSEFSRURfV09SS0VSUwogU2hhcmVkV29ya2VyQ29u
dGV4dCBjb25kaXRpb25hbD1TSEFSRURfV09SS0VSUwogU3BlZWNoUmVjb2duaXRpb24gY29uZGl0
aW9uYWw9U0NSSVBURURfU1BFRUNICmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bl
cmZvcm1hbmNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuY3BwCmluZGV4
IGVlNWNhNTZkOGU2ZGY1NzVjYzEzNGU3ODc4YzM5OTFmMTQxZWViMWMuLjE5OWYzNWMxODQzZmE0
MDViNmI0OTJkNzM1OTNkOWZhNmZlNzZhMWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvUGVyZm9ybWFuY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2Uu
Y3BwCkBAIC0zMSw4ICszMSwxMSBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlBl
cmZvcm1hbmNlLmgiCiAKKyNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIk1lbW9yeUlu
Zm8uaCIKKyNpbmNsdWRlICJQZXJmb3JtYW5jZUVudHJ5LmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFu
Y2VOYXZpZ2F0aW9uLmgiCisjaW5jbHVkZSAiUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5oIgog
I2luY2x1ZGUgIlBlcmZvcm1hbmNlVGltaW5nLmgiCiAKICNpZiBFTkFCTEUoV0VCX1RJTUlORykK
QEAgLTQ2LDYgKzQ5LDIwIEBAIFBlcmZvcm1hbmNlOjpQZXJmb3JtYW5jZShGcmFtZSogZnJhbWUp
CiB7CiB9CiAKK1BlcmZvcm1hbmNlOjp+UGVyZm9ybWFuY2UoKQoreworfQorCitjb25zdCBBdG9t
aWNTdHJpbmcmIFBlcmZvcm1hbmNlOjppbnRlcmZhY2VOYW1lKCkgY29uc3QKK3sKKyAgICByZXR1
cm4gZXZlbnROYW1lcygpLmludGVyZmFjZUZvclBlcmZvcm1hbmNlOworfQorCitTY3JpcHRFeGVj
dXRpb25Db250ZXh0KiBQZXJmb3JtYW5jZTo6c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpIGNvbnN0
Cit7CisgICAgcmV0dXJuIGZyYW1lKCktPmRvY3VtZW50KCktPnNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQoKTsKK30KKwogUGFzc1JlZlB0cjxNZW1vcnlJbmZvPiBQZXJmb3JtYW5jZTo6bWVtb3J5KCkg
Y29uc3QKIHsKICAgICByZXR1cm4gTWVtb3J5SW5mbzo6Y3JlYXRlKG1fZnJhbWUpOwpAQCAtNzIs
MjMgKzg5LDc3IEBAIFBlcmZvcm1hbmNlVGltaW5nKiBQZXJmb3JtYW5jZTo6dGltaW5nKCkgY29u
c3QKIFBhc3NSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeUxpc3Q+IFBlcmZvcm1hbmNlOjp3ZWJraXRH
ZXRFbnRyaWVzKCkgY29uc3QKIHsKICAgICBSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeUxpc3Q+IGVu
dHJpZXMgPSBQZXJmb3JtYW5jZUVudHJ5TGlzdDo6Y3JlYXRlKCk7CisKKyNpZiBFTkFCTEUoUkVT
T1VSQ0VfVElNSU5HKQorICAgIGZvciAoVmVjdG9yPFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5PiA+
Ojpjb25zdF9pdGVyYXRvciByZXNvdXJjZSA9IG1fcmVzb3VyY2VUaW1pbmdCdWZmZXIuYmVnaW4o
KTsgcmVzb3VyY2UgIT0gbV9yZXNvdXJjZVRpbWluZ0J1ZmZlci5lbmQoKTsgKytyZXNvdXJjZSkK
KyAgICAgICAgZW50cmllcy0+YXBwZW5kKCpyZXNvdXJjZSk7CisjZW5kaWYgLy8gRU5BQkxFKFJF
U09VUkNFX1RJTUlORykKKwogICAgIHJldHVybiBlbnRyaWVzOwogfQogCi1QYXNzUmVmUHRyPFBl
cmZvcm1hbmNlRW50cnlMaXN0PiBQZXJmb3JtYW5jZTo6d2Via2l0R2V0RW50cmllc0J5VHlwZShj
b25zdCBTdHJpbmcmKQorUGFzc1JlZlB0cjxQZXJmb3JtYW5jZUVudHJ5TGlzdD4gUGVyZm9ybWFu
Y2U6OndlYmtpdEdldEVudHJpZXNCeVR5cGUoY29uc3QgU3RyaW5nJiBlbnRyeVR5cGUpCiB7CiAg
ICAgUmVmUHRyPFBlcmZvcm1hbmNlRW50cnlMaXN0PiBlbnRyaWVzID0gUGVyZm9ybWFuY2VFbnRy
eUxpc3Q6OmNyZWF0ZSgpOworCisjaWYgRU5BQkxFKFJFU09VUkNFX1RJTUlORykKKyAgICBpZiAo
ZXF1YWxJZ25vcmluZ0Nhc2UoZW50cnlUeXBlLCAicmVzb3VyY2UiKSkKKyAgICAgICAgZm9yIChW
ZWN0b3I8UmVmUHRyPFBlcmZvcm1hbmNlRW50cnk+ID46OmNvbnN0X2l0ZXJhdG9yIHJlc291cmNl
ID0gbV9yZXNvdXJjZVRpbWluZ0J1ZmZlci5iZWdpbigpOyByZXNvdXJjZSAhPSBtX3Jlc291cmNl
VGltaW5nQnVmZmVyLmVuZCgpOyArK3Jlc291cmNlKQorICAgICAgICAgICAgZW50cmllcy0+YXBw
ZW5kKCpyZXNvdXJjZSk7CisjZW5kaWYgLy8gRU5BQkxFKFJFU09VUkNFX1RJTUlORykKKwogICAg
IHJldHVybiBlbnRyaWVzOwogfQogCi1QYXNzUmVmUHRyPFBlcmZvcm1hbmNlRW50cnlMaXN0PiBQ
ZXJmb3JtYW5jZTo6d2Via2l0R2V0RW50cmllc0J5TmFtZShjb25zdCBTdHJpbmcmLCBjb25zdCBT
dHJpbmcmKQorUGFzc1JlZlB0cjxQZXJmb3JtYW5jZUVudHJ5TGlzdD4gUGVyZm9ybWFuY2U6Ondl
YmtpdEdldEVudHJpZXNCeU5hbWUoY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGVu
dHJ5VHlwZSkKIHsKICAgICBSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeUxpc3Q+IGVudHJpZXMgPSBQ
ZXJmb3JtYW5jZUVudHJ5TGlzdDo6Y3JlYXRlKCk7CisKKyNpZiBFTkFCTEUoUkVTT1VSQ0VfVElN
SU5HKQorICAgIGlmIChlbnRyeVR5cGUuaXNOdWxsKCkgfHwgZXF1YWxJZ25vcmluZ0Nhc2UoZW50
cnlUeXBlLCAicmVzb3VyY2UiKSkKKyAgICAgICAgZm9yIChWZWN0b3I8UmVmUHRyPFBlcmZvcm1h
bmNlRW50cnk+ID46OmNvbnN0X2l0ZXJhdG9yIHJlc291cmNlID0gbV9yZXNvdXJjZVRpbWluZ0J1
ZmZlci5iZWdpbigpOyByZXNvdXJjZSAhPSBtX3Jlc291cmNlVGltaW5nQnVmZmVyLmVuZCgpOyAr
K3Jlc291cmNlKQorICAgICAgICAgICAgaWYgKCgqcmVzb3VyY2UpLT5uYW1lKCkgPT0gbmFtZSkK
KyAgICAgICAgICAgICAgICBlbnRyaWVzLT5hcHBlbmQoKnJlc291cmNlKTsKKyNlbmRpZiAvLyBF
TkFCTEUoUkVTT1VSQ0VfVElNSU5HKQorCiAgICAgcmV0dXJuIGVudHJpZXM7CiB9CiAKICNlbmRp
ZiAvLyBFTkFCTEUoUEVSRk9STUFOQ0VfVElNRUxJTkUpCiAKKyNpZiBFTkFCTEUoUkVTT1VSQ0Vf
VElNSU5HKQorCit2b2lkIFBlcmZvcm1hbmNlOjp3ZWJraXRDbGVhclJlc291cmNlVGltaW5ncygp
Cit7CisgICAgbV9yZXNvdXJjZVRpbWluZ0J1ZmZlci5jbGVhcigpOworfQorCit2b2lkIFBlcmZv
cm1hbmNlOjp3ZWJraXRTZXRSZXNvdXJjZVRpbWluZ0J1ZmZlclNpemUodW5zaWduZWQgaW50KQor
eworfQorCit2b2lkIFBlcmZvcm1hbmNlOjphZGRSZXNvdXJjZVRpbWluZyhjb25zdCBSZXNvdXJj
ZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlLCBkb3Vi
bGUgZmluaXNoVGltZSwgRG9jdW1lbnQqIHJlcXVlc3RpbmdEb2N1bWVudCkKK3sKKyAgICBpZiAo
IXJlc3BvbnNlLnJlc291cmNlTG9hZFRpbWluZygpKQorICAgICAgICByZXR1cm47CisKKyAgICBS
ZWZQdHI8UGVyZm9ybWFuY2VFbnRyeT4gZW50cnkgPSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5n
OjpjcmVhdGUocmVxdWVzdCwgcmVzcG9uc2UsIGZpbmlzaFRpbWUsIHJlcXVlc3RpbmdEb2N1bWVu
dCk7CisgICAgLy8gRklYTUU6IE5lZWQgdG8gZW5mb3JjZSBidWZmZXIgbGltaXRzLgorICAgIG1f
cmVzb3VyY2VUaW1pbmdCdWZmZXIuYXBwZW5kKGVudHJ5KTsKK30KKworI2VuZGlmIC8vIEVOQUJM
RShSRVNPVVJDRV9USU1JTkcpCisKK0V2ZW50VGFyZ2V0RGF0YSogUGVyZm9ybWFuY2U6OmV2ZW50
VGFyZ2V0RGF0YSgpCit7CisgICAgcmV0dXJuICZtX2V2ZW50VGFyZ2V0RGF0YTsKK30KKworRXZl
bnRUYXJnZXREYXRhKiBQZXJmb3JtYW5jZTo6ZW5zdXJlRXZlbnRUYXJnZXREYXRhKCkKK3sKKyAg
ICByZXR1cm4gJm1fZXZlbnRUYXJnZXREYXRhOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CiAKICNlbmRpZiAvLyBFTkFCTEUoV0VCX1RJTUlORykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUGVyZm9ybWFuY2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2Uu
aAppbmRleCA2MGZmZGE2ODBkMzM3NjlkODA5MzVmNjEzMGEyNzc1MDc4ODliNGJjLi5jYzQwMjNh
ZmIyMGUyNDQzY2Q1YTVhMGU1MGJlZmNiMzIzN2M4YzZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1BlcmZvcm1hbmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3Jt
YW5jZS5oCkBAIC0zNCwxMCArMzQsMTMgQEAKICNpZiBFTkFCTEUoV0VCX1RJTUlORykKIAogI2lu
Y2x1ZGUgIkRPTVdpbmRvd1Byb3BlcnR5LmgiCisjaW5jbHVkZSAiRXZlbnRUYXJnZXQuaCIKICNp
bmNsdWRlICJNZW1vcnlJbmZvLmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VFbnRyeUxpc3QuaCIK
ICNpbmNsdWRlICJQZXJmb3JtYW5jZU5hdmlnYXRpb24uaCIKICNpbmNsdWRlICJQZXJmb3JtYW5j
ZVRpbWluZy5oIgorI2luY2x1ZGUgIlJlc291cmNlUmVxdWVzdC5oIgorI2luY2x1ZGUgIlJlc291
cmNlUmVzcG9uc2UuaCIKICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0
Zi9SZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgpAQCAtNDUsOSArNDgsMTMg
QEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBQZXJmb3JtYW5jZSA6IHB1YmxpYyBS
ZWZDb3VudGVkPFBlcmZvcm1hbmNlPiwgcHVibGljIERPTVdpbmRvd1Byb3BlcnR5IHsKK2NsYXNz
IFBlcmZvcm1hbmNlIDogcHVibGljIFJlZkNvdW50ZWQ8UGVyZm9ybWFuY2U+LCBwdWJsaWMgRE9N
V2luZG93UHJvcGVydHksIHB1YmxpYyBFdmVudFRhcmdldCB7CiBwdWJsaWM6CiAgICAgc3RhdGlj
IFBhc3NSZWZQdHI8UGVyZm9ybWFuY2U+IGNyZWF0ZShGcmFtZSogZnJhbWUpIHsgcmV0dXJuIGFk
b3B0UmVmKG5ldyBQZXJmb3JtYW5jZShmcmFtZSkpOyB9CisgICAgflBlcmZvcm1hbmNlKCk7CisK
KyAgICB2aXJ0dWFsIGNvbnN0IEF0b21pY1N0cmluZyYgaW50ZXJmYWNlTmFtZSgpIGNvbnN0Owor
ICAgIHZpcnR1YWwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0RXhlY3V0aW9uQ29udGV4
dCgpIGNvbnN0OwogCiAgICAgUGFzc1JlZlB0cjxNZW1vcnlJbmZvPiBtZW1vcnkoKSBjb25zdDsK
ICAgICBQZXJmb3JtYW5jZU5hdmlnYXRpb24qIG5hdmlnYXRpb24oKSBjb25zdDsKQEAgLTU5LDEx
ICs2NiwzNSBAQCBwdWJsaWM6CiAgICAgUGFzc1JlZlB0cjxQZXJmb3JtYW5jZUVudHJ5TGlzdD4g
d2Via2l0R2V0RW50cmllc0J5TmFtZShjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYg
ZW50cnlUeXBlKTsKICNlbmRpZgogCisjaWYgRU5BQkxFKFJFU09VUkNFX1RJTUlORykKKyAgICB2
b2lkIHdlYmtpdENsZWFyUmVzb3VyY2VUaW1pbmdzKCk7CisgICAgdm9pZCB3ZWJraXRTZXRSZXNv
dXJjZVRpbWluZ0J1ZmZlclNpemUodW5zaWduZWQgaW50KTsKKworICAgIERFRklORV9BVFRSSUJV
VEVfRVZFTlRfTElTVEVORVIod2Via2l0cmVzb3VyY2V0aW1pbmdidWZmZXJmdWxsKTsKKworICAg
IHZvaWQgYWRkUmVzb3VyY2VUaW1pbmcoY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgUmVz
b3VyY2VSZXNwb25zZSYsIGRvdWJsZSBmaW5pc2hUaW1lLCBEb2N1bWVudCopOworI2VuZGlmCisK
KyAgICB1c2luZyBSZWZDb3VudGVkPFBlcmZvcm1hbmNlPjo6cmVmOworICAgIHVzaW5nIFJlZkNv
dW50ZWQ8UGVyZm9ybWFuY2U+OjpkZXJlZjsKKwogcHJpdmF0ZToKICAgICBleHBsaWNpdCBQZXJm
b3JtYW5jZShGcmFtZSopOwogCisgICAgdmlydHVhbCB2b2lkIHJlZkV2ZW50VGFyZ2V0KCkgeyBy
ZWYoKTsgfQorICAgIHZpcnR1YWwgdm9pZCBkZXJlZkV2ZW50VGFyZ2V0KCkgeyBkZXJlZigpOyB9
CisgICAgdmlydHVhbCBFdmVudFRhcmdldERhdGEqIGV2ZW50VGFyZ2V0RGF0YSgpOworICAgIHZp
cnR1YWwgRXZlbnRUYXJnZXREYXRhKiBlbnN1cmVFdmVudFRhcmdldERhdGEoKTsKKworICAgIEV2
ZW50VGFyZ2V0RGF0YSBtX2V2ZW50VGFyZ2V0RGF0YTsKKyAgICBTY3JpcHRFeGVjdXRpb25Db250
ZXh0ICptX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CisKICAgICBtdXRhYmxlIFJlZlB0cjxQZXJm
b3JtYW5jZU5hdmlnYXRpb24+IG1fbmF2aWdhdGlvbjsKICAgICBtdXRhYmxlIFJlZlB0cjxQZXJm
b3JtYW5jZVRpbWluZz4gbV90aW1pbmc7CisKKyNpZiBFTkFCTEUoUkVTT1VSQ0VfVElNSU5HKQor
ICAgIFZlY3RvcjxSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeT4gPiBtX3Jlc291cmNlVGltaW5nQnVm
ZmVyOworI2VuZGlmCiB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bl
cmZvcm1hbmNlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuaWRsCmluZGV4
IGEwY2Q4Mzg0MjE1ZjRiNzA1ODc5ZGRmMzc3OTQyMGI4MThmNTEyN2MuLjczZmY2ZjFhODJjMTE2
OTUzNzQwZGZiMjMxMTEyMmFhOWI1NTRhMDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvUGVyZm9ybWFuY2UuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2Uu
aWRsCkBAIC0zMyw2ICszMyw3IEBAIG1vZHVsZSB3aW5kb3cgewogICAgIC8vIFNlZTogaHR0cDov
L2Rldi53My5vcmcvMjAwNi93ZWJhcGkvV2ViVGltaW5nLwogICAgIGludGVyZmFjZSBbCiAgICAg
ICAgIENvbmRpdGlvbmFsPVdFQl9USU1JTkcsCisgICAgICAgIEV2ZW50VGFyZ2V0LAogICAgICAg
ICBPbWl0Q29uc3RydWN0b3IKICAgICBdIFBlcmZvcm1hbmNlIHsKICAgICAgICAgcmVhZG9ubHkg
YXR0cmlidXRlIFBlcmZvcm1hbmNlTmF2aWdhdGlvbiBuYXZpZ2F0aW9uOwpAQCAtNDQsNiArNDUs
MTMgQEAgbW9kdWxlIHdpbmRvdyB7CiAgICAgICAgIFBlcmZvcm1hbmNlRW50cnlMaXN0IHdlYmtp
dEdldEVudHJpZXNCeVR5cGUoaW4gRE9NU3RyaW5nIGVudHJ5VHlwZSk7CiAgICAgICAgIFBlcmZv
cm1hbmNlRW50cnlMaXN0IHdlYmtpdEdldEVudHJpZXNCeU5hbWUoaW4gRE9NU3RyaW5nIG5hbWUs
IGluIFtPcHRpb25hbD1EZWZhdWx0SXNOdWxsU3RyaW5nXSBET01TdHJpbmcgZW50cnlUeXBlKTsK
ICNlbmRpZgorCisjaWYgZGVmaW5lZChFTkFCTEVfUkVTT1VSQ0VfVElNSU5HKSAmJiBFTkFCTEVf
UkVTT1VSQ0VfVElNSU5HCisgICAgICAgIHZvaWQgd2Via2l0Q2xlYXJSZXNvdXJjZVRpbWluZ3Mo
KTsKKyAgICAgICAgdm9pZCB3ZWJraXRTZXRSZXNvdXJjZVRpbWluZ0J1ZmZlclNpemUoaW4gdW5z
aWduZWQgbG9uZyBtYXhTaXplKTsKKworICAgICAgICBhdHRyaWJ1dGUgRXZlbnRMaXN0ZW5lciBv
bndlYmtpdHJlc291cmNldGltaW5nYnVmZmVyZnVsbDsKKyNlbmRpZgogICAgIH07CiAKIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50cnkuY3BwCmluZGV4IGFjNTIzYzZkYzYxNzg5
ODJjYTVlZWU3MjJhOTJlMGI4YmM0OGYxOTIuLmFkNjk1NDcwMGU2NzI0ZmIxM2EwNTExZDIwMTE5
Mzc0MWY5NTJiYTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VF
bnRyeS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmNwcApA
QCAtNDMsNiArNDMsMTAgQEAgUGVyZm9ybWFuY2VFbnRyeTo6UGVyZm9ybWFuY2VFbnRyeShjb25z
dCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgZW50cnlUeXBlLAogewogfQogCitQZXJmb3Jt
YW5jZUVudHJ5Ojp+UGVyZm9ybWFuY2VFbnRyeSgpCit7Cit9CisKIFN0cmluZyBQZXJmb3JtYW5j
ZUVudHJ5OjpuYW1lKCkgY29uc3QKIHsKICAgICByZXR1cm4gbV9uYW1lOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmggYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1BlcmZvcm1hbmNlRW50cnkuaAppbmRleCA4NjY2ZTQzMWRhZTMxZTBlMzJkZmVjMjI5Njlk
ZjM3MjU5YjkxNTkxLi42ZDk2NzIxOTc1M2E0YjVhYzcyZGM0YzQ0NGNiMGYxYjNlZjI5MmNjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50cnkuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50cnkuaApAQCAtNDIsMTEgKzQyLDE1IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgUGVyZm9ybWFuY2VFbnRyeSA6IHB1YmxpYyBS
ZWZDb3VudGVkPFBlcmZvcm1hbmNlRW50cnk+IHsKIHB1YmxpYzoKKyAgICB2aXJ0dWFsIH5QZXJm
b3JtYW5jZUVudHJ5KCk7CisKICAgICBTdHJpbmcgbmFtZSgpIGNvbnN0OwogICAgIFN0cmluZyBl
bnRyeVR5cGUoKSBjb25zdDsKICAgICBkb3VibGUgc3RhcnRUaW1lKCkgY29uc3Q7CiAgICAgZG91
YmxlIGR1cmF0aW9uKCkgY29uc3Q7CiAKKyAgICB2aXJ0dWFsIGJvb2wgaXNSZXNvdXJjZSgpIHsg
cmV0dXJuIGZhbHNlOyB9CisKIHByb3RlY3RlZDoKICAgICBQZXJmb3JtYW5jZUVudHJ5KGNvbnN0
IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBlbnRyeVR5cGUsIGRvdWJsZSBzdGFydFRpbWUs
IGRvdWJsZSBkdXJhdGlvbik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVy
Zm9ybWFuY2VFbnRyeS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50cnku
aWRsCmluZGV4IGE3ODhiZDljNmU0MjdiY2QwNmMwYWQ0NTYyNTk0Y2VjMzEzZWViNGQuLjllMTBm
ZTBiZjE3NTMxOWYyMmMzN2QyNjAzYTBlODJkOThmMzgzMmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9QZXJmb3JtYW5jZUVudHJ5LmlkbApAQCAtMzQsNiArMzQsNyBAQCBtb2R1bGUgd2luZG93IHsK
ICAgICBpbnRlcmZhY2UgWwogICAgICAgICBDb25kaXRpb25hbD1XRUJfVElNSU5HLAogICAgICAg
ICBDb25kaXRpb25hbD1QRVJGT1JNQU5DRV9USU1FTElORSwKKyAgICAgICAgQ3VzdG9tVG9KU09i
amVjdCwKICAgICAgICAgT21pdENvbnN0cnVjdG9yCiAgICAgXSBQZXJmb3JtYW5jZUVudHJ5IHsK
ICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBuYW1lOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5jcHAKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjZmZWFlZTczZTMzMjkwZDY3ZTZjYTZjN2MxMjI0Mzg1MWU3NWE5MQotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5jcHAKQEAg
LTAsMCArMSwxODMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAq
IG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFt
ZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAq
IHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisg
KiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiUGVyZm9ybWFuY2VS
ZXNvdXJjZVRpbWluZy5oIgorCisjaWYgRU5BQkxFKFJFU09VUkNFX1RJTUlORykKKworI2luY2x1
ZGUgIkRvY3VtZW50LmgiCisjaW5jbHVkZSAiRG9jdW1lbnRMb2FkVGltaW5nLmgiCisjaW5jbHVk
ZSAiRG9jdW1lbnRMb2FkZXIuaCIKKyNpbmNsdWRlICJLVVJMLmgiCisjaW5jbHVkZSAiUmVzb3Vy
Y2VSZXF1ZXN0LmgiCisjaW5jbHVkZSAiUmVzb3VyY2VSZXNwb25zZS5oIgorI2luY2x1ZGUgIlNl
Y3VyaXR5T3JpZ2luLmgiCisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorCituYW1lc3BhY2UgV2Vi
Q29yZSB7CisKK3N0YXRpYyBTdHJpbmcgdG9QZXJmb3JtYW5jZUluaXRpYXRvclR5cGUoUmVzb3Vy
Y2VSZXF1ZXN0OjpJbml0aWF0b3JUeXBlIHR5cGUpCit7CisgICAgc3dpdGNoICh0eXBlKSB7Cisg
ICAgY2FzZSBSZXNvdXJjZVJlcXVlc3Q6OkluaXRpYXRvcklzQ1NTOgorICAgICAgICByZXR1cm4g
ImNzcyI7CisgICAgY2FzZSBSZXNvdXJjZVJlcXVlc3Q6OkluaXRpYXRvcklzRW1iZWRFbGVtZW50
OgorICAgICAgICByZXR1cm4gImVtYmVkIjsKKyAgICBjYXNlIFJlc291cmNlUmVxdWVzdDo6SW5p
dGlhdG9ySXNJbWFnZUVsZW1lbnQ6CisgICAgICAgIHJldHVybiAiaW1nIjsKKyAgICBjYXNlIFJl
c291cmNlUmVxdWVzdDo6SW5pdGlhdG9ySXNMaW5rRWxlbWVudDoKKyAgICAgICAgcmV0dXJuICJs
aW5rIjsKKyAgICBjYXNlIFJlc291cmNlUmVxdWVzdDo6SW5pdGlhdG9ySXNPYmplY3RFbGVtZW50
OgorICAgICAgICByZXR1cm4gIm9iamVjdCI7CisgICAgY2FzZSBSZXNvdXJjZVJlcXVlc3Q6Oklu
aXRpYXRvcklzU2NyaXB0RWxlbWVudDoKKyAgICAgICAgcmV0dXJuICJzY3JpcHQiOworICAgIGNh
c2UgUmVzb3VyY2VSZXF1ZXN0OjpJbml0aWF0b3JJc1N1YkRvY3VtZW50OgorICAgICAgICByZXR1
cm4gInN1YmRvY3VtZW50IjsKKyAgICBjYXNlIFJlc291cmNlUmVxdWVzdDo6SW5pdGlhdG9ySXNT
Vkc6CisgICAgICAgIHJldHVybiAic3ZnIjsKKyAgICBjYXNlIFJlc291cmNlUmVxdWVzdDo6SW5p
dGlhdG9ySXNYSFI6CisgICAgICAgIHJldHVybiAieG1saHR0cHJlcXVlc3QiOworICAgIGNhc2Ug
UmVzb3VyY2VSZXF1ZXN0OjpJbml0aWF0b3JJc1Vua25vd246CisgICAgY2FzZSBSZXNvdXJjZVJl
cXVlc3Q6OkluaXRpYXRvcklzTWFpbkRvY3VtZW50OgorICAgICAgICBBU1NFUlRfTk9UX1JFQUNI
RUQoKTsKKyAgICAgICAgcmV0dXJuICJvdGhlciI7CisgICAgfQorICAgIEFTU0VSVF9OT1RfUkVB
Q0hFRCgpOworICAgIHJldHVybiAib3RoZXIiOworfQorCitQZXJmb3JtYW5jZVJlc291cmNlVGlt
aW5nOjpQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nKGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVx
dWVzdCwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIGRvdWJsZSBmaW5pc2hUaW1l
LCBEb2N1bWVudCogcmVxdWVzdGluZ0RvY3VtZW50KQorICAgIDogUGVyZm9ybWFuY2VFbnRyeShy
ZXF1ZXN0LnVybCgpLnN0cmluZygpLCAicmVzb3VyY2UiLCByZXF1ZXN0LmluaXRpYXRlZFRpbWUo
KSwgZmluaXNoVGltZSkKKyAgICAsIG1faW5pdGlhdG9yVHlwZSh0b1BlcmZvcm1hbmNlSW5pdGlh
dG9yVHlwZShyZXF1ZXN0LmluaXRpYXRvclR5cGUoKSkpCisgICAgLCBtX3RpbWluZyhyZXNwb25z
ZS5yZXNvdXJjZUxvYWRUaW1pbmcoKSkKKyAgICAsIG1fZmluaXNoVGltZShmaW5pc2hUaW1lKQor
ICAgICwgbV9yZXF1ZXN0aW5nRG9jdW1lbnQocmVxdWVzdGluZ0RvY3VtZW50KQoreworfQorCitT
dHJpbmcgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6aW5pdGlhdG9yVHlwZSgpIGNvbnN0Cit7
CisgICAgcmV0dXJuIG1faW5pdGlhdG9yVHlwZTsKK30KKworLy8gRklYTUU6IE5lZWQgdG8gZW5m
b3JjZSBzYW1lLW9yaWdpbiBwb2xpY3kgb24gdGhlc2UuCisKK2RvdWJsZSBQZXJmb3JtYW5jZVJl
c291cmNlVGltaW5nOjpyZWRpcmVjdFN0YXJ0KCkgY29uc3QKK3sKKyAgICAvLyBGSVhNRTogTmVl
ZCB0byB0cmFjayBhbmQgcmVwb3J0IHJlZGlyZWN0cyBmb3IgcmVzb3VyY2VzLgorICAgIHJldHVy
biAwOworfQorCitkb3VibGUgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6cmVkaXJlY3RFbmQo
KSBjb25zdAoreworICAgIHJldHVybiAwOworfQorCitkb3VibGUgUGVyZm9ybWFuY2VSZXNvdXJj
ZVRpbWluZzo6ZmV0Y2hTdGFydCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1vbm90b25pY1RpbWVU
b0RvY3VtZW50TWlsbGlzZWNvbmRzKG1fdGltaW5nLT5yZXF1ZXN0VGltZSk7Cit9CisKK2RvdWJs
ZSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpkb21haW5Mb29rdXBTdGFydCgpIGNvbnN0Cit7
CisgICAgaWYgKG1fdGltaW5nLT5kbnNTdGFydCA8IDApCisgICAgICAgIHJldHVybiBmZXRjaFN0
YXJ0KCk7CisKKyAgICByZXR1cm4gcmVzb3VyY2VUaW1lVG9Eb2N1bWVudE1pbGxpc2Vjb25kcyht
X3RpbWluZy0+ZG5zU3RhcnQpOworfQorCitkb3VibGUgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWlu
Zzo6ZG9tYWluTG9va3VwRW5kKCkgY29uc3QKK3sKKyAgICBpZiAobV90aW1pbmctPmRuc0VuZCA8
IDApCisgICAgICAgIHJldHVybiBkb21haW5Mb29rdXBTdGFydCgpOworCisgICAgcmV0dXJuIHJl
c291cmNlVGltZVRvRG9jdW1lbnRNaWxsaXNlY29uZHMobV90aW1pbmctPmRuc0VuZCk7Cit9CisK
K2RvdWJsZSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpjb25uZWN0U3RhcnQoKSBjb25zdAor
eworICAgIGlmIChtX3RpbWluZy0+Y29ubmVjdFN0YXJ0IDwgMCkgLy8gQ29ubmVjdGlvbiB3YXMg
cmV1c2VkLgorICAgICAgICByZXR1cm4gZG9tYWluTG9va3VwRW5kKCk7CisKKyAgICAvLyBjb25u
ZWN0U3RhcnQgaW5jbHVkZXMgYW55IEROUyB0aW1lLCBzbyB3ZSBtYXkgbmVlZCB0byB0cmltIHRo
YXQgb2ZmLgorICAgIGludCBjb25uZWN0U3RhcnQgPSBtX3RpbWluZy0+Y29ubmVjdFN0YXJ0Owor
ICAgIGlmIChtX3RpbWluZy0+ZG5zRW5kID49IDApCisgICAgICAgIGNvbm5lY3RTdGFydCA9IG1f
dGltaW5nLT5kbnNFbmQ7CisKKyAgICByZXR1cm4gcmVzb3VyY2VUaW1lVG9Eb2N1bWVudE1pbGxp
c2Vjb25kcyhjb25uZWN0U3RhcnQpOworfQorCitkb3VibGUgUGVyZm9ybWFuY2VSZXNvdXJjZVRp
bWluZzo6Y29ubmVjdEVuZCgpIGNvbnN0Cit7CisgICAgaWYgKG1fdGltaW5nLT5jb25uZWN0RW5k
IDwgMCkgLy8gQ29ubmVjdGlvbiB3YXMgcmV1c2VkLgorICAgICAgICByZXR1cm4gY29ubmVjdFN0
YXJ0KCk7CisKKyAgICByZXR1cm4gcmVzb3VyY2VUaW1lVG9Eb2N1bWVudE1pbGxpc2Vjb25kcyht
X3RpbWluZy0+Y29ubmVjdEVuZCk7Cit9CisKK2RvdWJsZSBQZXJmb3JtYW5jZVJlc291cmNlVGlt
aW5nOjpzZWN1cmVDb25uZWN0aW9uU3RhcnQoKSBjb25zdAoreworICAgIGlmIChtX3RpbWluZy0+
c3NsU3RhcnQgPCAwKSAvLyBTZWN1cmUgY29ubmVjdGlvbiBub3QgbmVnb3RpYXRlZC4KKyAgICAg
ICAgcmV0dXJuIDA7CisKKyAgICByZXR1cm4gcmVzb3VyY2VUaW1lVG9Eb2N1bWVudE1pbGxpc2Vj
b25kcyhtX3RpbWluZy0+c3NsU3RhcnQpOworfQorCitkb3VibGUgUGVyZm9ybWFuY2VSZXNvdXJj
ZVRpbWluZzo6cmVxdWVzdFN0YXJ0KCkgY29uc3QKK3sKKyAgICByZXR1cm4gcmVzb3VyY2VUaW1l
VG9Eb2N1bWVudE1pbGxpc2Vjb25kcyhtX3RpbWluZy0+c2VuZFN0YXJ0KTsKK30KKworZG91Ymxl
IFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OnJlc3BvbnNlU3RhcnQoKSBjb25zdAoreworICAg
IC8vIEZJWE1FOiBUaGlzIG51bWJlciBpc24ndCBleGFjdGx5IGNvcnJlY3QuIFNlZSB0aGUgbm90
ZXMgaW4gUGVyZm9ybWFuY2VUaW1pbmc6OnJlc3BvbnNlU3RhcnQoKS4KKyAgICByZXR1cm4gcmVz
b3VyY2VUaW1lVG9Eb2N1bWVudE1pbGxpc2Vjb25kcyhtX3RpbWluZy0+cmVjZWl2ZUhlYWRlcnNF
bmQpOworfQorCitkb3VibGUgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6cmVzcG9uc2VFbmQo
KSBjb25zdAoreworICAgIHJldHVybiBtb25vdG9uaWNUaW1lVG9Eb2N1bWVudE1pbGxpc2Vjb25k
cyhtX2ZpbmlzaFRpbWUpOworfQorCitkb3VibGUgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6
bW9ub3RvbmljVGltZVRvRG9jdW1lbnRNaWxsaXNlY29uZHMoZG91YmxlIHNlY29uZHMpIGNvbnN0
Cit7CisgICAgQVNTRVJUKHNlY29uZHMgPj0gMC4wKTsKKyAgICByZXR1cm4gbV9yZXF1ZXN0aW5n
RG9jdW1lbnQtPmxvYWRlcigpLT50aW1pbmcoKS0+Y29udmVydE1vbm90b25pY1RpbWVUb0RvY3Vt
ZW50VGltZShzZWNvbmRzKSAqIDEwMDAuMDsKK30KKworZG91YmxlIFBlcmZvcm1hbmNlUmVzb3Vy
Y2VUaW1pbmc6OnJlc291cmNlVGltZVRvRG9jdW1lbnRNaWxsaXNlY29uZHMoaW50IGRlbHRhTWls
bGlzZWNvbmRzKSBjb25zdAoreworICAgIHJldHVybiBtb25vdG9uaWNUaW1lVG9Eb2N1bWVudE1p
bGxpc2Vjb25kcyhtX3RpbWluZy0+cmVxdWVzdFRpbWUpICsgZGVsdGFNaWxsaXNlY29uZHM7Cit9
CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShSRVNPVVJDRV9U
SU1JTkcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlUmVzb3Vy
Y2VUaW1pbmcuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWlu
Zy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmY4Nzk4YzYwODczYWE3NDAzOTdlNDkxZWVjYmE1MmUzMjE3NGQ0MzAK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlUmVzb3Vy
Y2VUaW1pbmcuaApAQCAtMCwwICsxLDg4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdv
b2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAq
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUK
KyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5l
aXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVy
aXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENP
UFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBQZXJmb3JtYW5jZVJlc291cmNlVGlt
aW5nX2gKKyNkZWZpbmUgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZ19oCisKKyNpZiBFTkFCTEUo
UkVTT1VSQ0VfVElNSU5HKQorCisjaW5jbHVkZSAiUGVyZm9ybWFuY2UuaCIKKyNpbmNsdWRlICJQ
ZXJmb3JtYW5jZUVudHJ5LmgiCisjaW5jbHVkZSAiUmVzb3VyY2VMb2FkVGltaW5nLmgiCisjaW5j
bHVkZSAiUmVzb3VyY2VSZXF1ZXN0LmgiCisjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KKyNp
bmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNz
IERvY3VtZW50OworY2xhc3MgS1VSTDsKK2NsYXNzIFJlc291cmNlUmVzcG9uc2U7CisKK2NsYXNz
IFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcgOiBwdWJsaWMgUGVyZm9ybWFuY2VFbnRyeSB7Citw
dWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZz4g
Y3JlYXRlKGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgUmVzb3VyY2VSZXNw
b25zZSYgcmVzcG9uc2UsIGRvdWJsZSBmaW5pc2hUaW1lLCBEb2N1bWVudCogcmVxdWVzdGluZ0Rv
Y3VtZW50KQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBQZXJmb3JtYW5jZVJl
c291cmNlVGltaW5nKHJlcXVlc3QsIHJlc3BvbnNlLCBmaW5pc2hUaW1lLCByZXF1ZXN0aW5nRG9j
dW1lbnQpKTsKKyAgICB9CisKKyAgICBTdHJpbmcgaW5pdGlhdG9yVHlwZSgpIGNvbnN0OworCisg
ICAgZG91YmxlIHJlZGlyZWN0U3RhcnQoKSBjb25zdDsKKyAgICBkb3VibGUgcmVkaXJlY3RFbmQo
KSBjb25zdDsKKyAgICBkb3VibGUgZmV0Y2hTdGFydCgpIGNvbnN0OworICAgIGRvdWJsZSBkb21h
aW5Mb29rdXBTdGFydCgpIGNvbnN0OworICAgIGRvdWJsZSBkb21haW5Mb29rdXBFbmQoKSBjb25z
dDsKKyAgICBkb3VibGUgY29ubmVjdFN0YXJ0KCkgY29uc3Q7CisgICAgZG91YmxlIGNvbm5lY3RF
bmQoKSBjb25zdDsKKyAgICBkb3VibGUgc2VjdXJlQ29ubmVjdGlvblN0YXJ0KCkgY29uc3Q7Cisg
ICAgZG91YmxlIHJlcXVlc3RTdGFydCgpIGNvbnN0OworICAgIGRvdWJsZSByZXNwb25zZVN0YXJ0
KCkgY29uc3Q7CisgICAgZG91YmxlIHJlc3BvbnNlRW5kKCkgY29uc3Q7CisKKyAgICB2aXJ0dWFs
IGJvb2wgaXNSZXNvdXJjZSgpIHsgcmV0dXJuIHRydWU7IH0KKworcHJpdmF0ZToKKyAgICBQZXJm
b3JtYW5jZVJlc291cmNlVGltaW5nKGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFJlc291
cmNlUmVzcG9uc2UmLCBkb3VibGUgZmluaXNoVGltZSwgRG9jdW1lbnQqKTsKKworICAgIGRvdWJs
ZSBtb25vdG9uaWNUaW1lVG9Eb2N1bWVudE1pbGxpc2Vjb25kcyhkb3VibGUgc2Vjb25kcykgY29u
c3Q7CisgICAgZG91YmxlIHJlc291cmNlVGltZVRvRG9jdW1lbnRNaWxsaXNlY29uZHMoaW50IGRl
bHRhTWlsbGlzZWNvbmRzKSBjb25zdDsKKworICAgIFN0cmluZyBtX2luaXRpYXRvclR5cGU7Cisg
ICAgUmVmUHRyPFJlc291cmNlTG9hZFRpbWluZz4gbV90aW1pbmc7CisgICAgZG91YmxlIG1fZmlu
aXNoVGltZTsKKyAgICBSZWZQdHI8RG9jdW1lbnQ+IG1fcmVxdWVzdGluZ0RvY3VtZW50OworfTsK
KworfQorCisjZW5kaWYgLy8gRU5BQkxFKFJFU09VUkNFX1RJTUlORykKKworI2VuZGlmIC8vICFk
ZWZpbmVkKFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmdfaCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5pZGwgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNlMGFkNTlj
ZTg0YmYxM2QyMWIxNDk4OWI5ZjEwM2UxNjllOGYyMzgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaWRsCkBAIC0wLDAgKzEs
NTIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAq
CisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICog
aW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29n
bGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29m
dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP
TlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQK
KyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCittb2R1bGUgd2luZG93IHsKKworICAgIC8vIFNlZTogaHR0cHM6Ly9kdmNzLnczLm9yZy9o
Zy93ZWJwZXJmL3Jhdy1maWxlL3RpcC9zcGVjcy9SZXNvdXJjZVRpbWluZy9PdmVydmlldy5odG1s
CisgICAgaW50ZXJmYWNlIFsKKyAgICAgICAgQ29uZGl0aW9uYWw9UkVTT1VSQ0VfVElNSU5HLAor
ICAgICAgICBPbWl0Q29uc3RydWN0b3IKKyAgICBdIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcg
OiBQZXJmb3JtYW5jZUVudHJ5IHsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmlu
ZyBpbml0aWF0b3JUeXBlOworCisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBkb3VibGUgcmVk
aXJlY3RTdGFydDsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGRvdWJsZSByZWRpcmVjdEVu
ZDsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGRvdWJsZSBmZXRjaFN0YXJ0OworICAgICAg
ICByZWFkb25seSBhdHRyaWJ1dGUgZG91YmxlIGRvbWFpbkxvb2t1cFN0YXJ0OworICAgICAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgZG91YmxlIGRvbWFpbkxvb2t1cEVuZDsKKyAgICAgICAgcmVhZG9u
bHkgYXR0cmlidXRlIGRvdWJsZSBjb25uZWN0U3RhcnQ7CisgICAgICAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSBkb3VibGUgY29ubmVjdEVuZDsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGRvdWJs
ZSBzZWN1cmVDb25uZWN0aW9uU3RhcnQ7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBkb3Vi
bGUgcmVxdWVzdFN0YXJ0OworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgZG91YmxlIHJlc3Bv
bnNlU3RhcnQ7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBkb3VibGUgcmVzcG9uc2VFbmQ7
CisgICAgfTsKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
UmVzb3VyY2VSZXF1ZXN0QmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L1Jlc291cmNlUmVxdWVzdEJhc2UuY3BwCmluZGV4IDM1MDk3OTI5Mjc4Yzc2MDY0YzRiMGRlYjlh
ZmUzOWZmMTliZTRjMjQuLmU1MTFjMjQ0OWU2Zjc0OGRhODgxMzI3MTI0N2VjYWE5N2I3MGNmNzAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1
ZXN0QmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJj
ZVJlcXVlc3RCYXNlLmNwcApAQCAtNTMsNiArNTMsNyBAQCBQYXNzT3duUHRyPFJlc291cmNlUmVx
dWVzdD4gUmVzb3VyY2VSZXF1ZXN0QmFzZTo6YWRvcHQoUGFzc093blB0cjxDcm9zc1RocmVhZFJl
cwogICAgIHJlcXVlc3QtPnNldEZpcnN0UGFydHlGb3JDb29raWVzKGRhdGEtPm1fZmlyc3RQYXJ0
eUZvckNvb2tpZXMpOwogICAgIHJlcXVlc3QtPnNldEhUVFBNZXRob2QoZGF0YS0+bV9odHRwTWV0
aG9kKTsKICAgICByZXF1ZXN0LT5zZXRQcmlvcml0eShkYXRhLT5tX3ByaW9yaXR5KTsKKyAgICBy
ZXF1ZXN0LT5zZXRJbml0aWF0b3JUeXBlKGRhdGEtPm1faW5pdGlhdG9yVHlwZSk7CiAKICAgICBy
ZXF1ZXN0LT51cGRhdGVSZXNvdXJjZVJlcXVlc3QoKTsKICAgICByZXF1ZXN0LT5tX2h0dHBIZWFk
ZXJGaWVsZHMuYWRvcHQoZGF0YS0+bV9odHRwSGVhZGVycy5yZWxlYXNlKCkpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuaApp
bmRleCA4NmRkNjJlOGUwOGMyNjA0NDJjM2ExYzE5NThiOTIwNjE0NDMwYzBjLi5iYjE5MjE3MzMx
ZjU3ZDEzODExOTAwYzY0N2MzMTdmYzdiMjM2ZTY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuaApAQCAtMzMsNiArMzMs
NyBAQAogI2luY2x1ZGUgIktVUkwuaCIKICNpbmNsdWRlICJSZXNvdXJjZUxvYWRQcmlvcml0eS5o
IgogCisjaW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5o
PgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC01MSw2ICs1MiwyMCBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAgICAgY2xhc3MgUmVzb3VyY2VSZXF1ZXN0QmFzZSB7CiAgICAgICAgIFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKKyAgICAgICAgZW51bSBJbml0aWF0b3JUeXBl
IHsKKyAgICAgICAgICAgIEluaXRpYXRvcklzVW5rbm93biwKKyAgICAgICAgICAgIEluaXRpYXRv
cklzTWFpbkRvY3VtZW50LAorICAgICAgICAgICAgSW5pdGlhdG9ySXNDU1MsCisgICAgICAgICAg
ICBJbml0aWF0b3JJc0VtYmVkRWxlbWVudCwKKyAgICAgICAgICAgIEluaXRpYXRvcklzSW1hZ2VF
bGVtZW50LAorICAgICAgICAgICAgSW5pdGlhdG9ySXNMaW5rRWxlbWVudCwKKyAgICAgICAgICAg
IEluaXRpYXRvcklzT2JqZWN0RWxlbWVudCwKKyAgICAgICAgICAgIEluaXRpYXRvcklzU2NyaXB0
RWxlbWVudCwKKyAgICAgICAgICAgIEluaXRpYXRvcklzU3ViRG9jdW1lbnQsCisgICAgICAgICAg
ICBJbml0aWF0b3JJc1NWRywKKyAgICAgICAgICAgIEluaXRpYXRvcklzWEhSLAorICAgICAgICB9
OworCiAgICAgICAgIHN0YXRpYyBQYXNzT3duUHRyPFJlc291cmNlUmVxdWVzdD4gYWRvcHQoUGFz
c093blB0cjxDcm9zc1RocmVhZFJlc291cmNlUmVxdWVzdERhdGE+KTsKIAogICAgICAgICAvLyBH
ZXRzIGEgY29weSBvZiB0aGUgZGF0YSBzdWl0YWJsZSBmb3IgcGFzc2luZyB0byBhbm90aGVyIHRo
cmVhZC4KQEAgLTEzMiw2ICsxNDcsMTEgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBi
b29sIHJlcG9ydFJhd0hlYWRlcnMoKSBjb25zdCB7IHJldHVybiBtX3JlcG9ydFJhd0hlYWRlcnM7
IH0KICAgICAgICAgdm9pZCBzZXRSZXBvcnRSYXdIZWFkZXJzKGJvb2wgcmVwb3J0UmF3SGVhZGVy
cykgeyBtX3JlcG9ydFJhd0hlYWRlcnMgPSByZXBvcnRSYXdIZWFkZXJzOyB9CiAKKyAgICAgICAg
SW5pdGlhdG9yVHlwZSBpbml0aWF0b3JUeXBlKCkgY29uc3QgeyByZXR1cm4gbV9pbml0aWF0b3JU
eXBlOyB9CisgICAgICAgIHZvaWQgc2V0SW5pdGlhdG9yVHlwZShJbml0aWF0b3JUeXBlIGluaXRp
YXRvclR5cGUpIHsgbV9pbml0aWF0b3JUeXBlID0gaW5pdGlhdG9yVHlwZTsgfQorCisgICAgICAg
IGRvdWJsZSBpbml0aWF0ZWRUaW1lKCkgY29uc3QgeyByZXR1cm4gbV9pbml0aWF0ZWRUaW1lOyB9
CisKICAgICAgICAgc3RhdGljIGRvdWJsZSBkZWZhdWx0VGltZW91dEludGVydmFsKCk7IC8vIE1h
eSByZXR1cm4gMCB3aGVuIHVzaW5nIHBsYXRmb3JtIGRlZmF1bHQuCiAgICAgICAgIHN0YXRpYyB2
b2lkIHNldERlZmF1bHRUaW1lb3V0SW50ZXJ2YWwoZG91YmxlKTsKIApAQCAtMTQ2LDYgKzE2Niw4
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgICAgICwgbV9yZXBvcnRMb2FkVGltaW5n
KGZhbHNlKQogICAgICAgICAgICAgLCBtX3JlcG9ydFJhd0hlYWRlcnMoZmFsc2UpCiAgICAgICAg
ICAgICAsIG1fcHJpb3JpdHkoUmVzb3VyY2VMb2FkUHJpb3JpdHlMb3cpCisgICAgICAgICAgICAs
IG1faW5pdGlhdG9yVHlwZShJbml0aWF0b3JJc1Vua25vd24pCisgICAgICAgICAgICAsIG1faW5p
dGlhdGVkVGltZShtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSkKICAgICAgICAgewogICAg
ICAgICB9CiAKQEAgLTE2MSw2ICsxODMsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAg
ICAgICAsIG1fcmVwb3J0TG9hZFRpbWluZyhmYWxzZSkKICAgICAgICAgICAgICwgbV9yZXBvcnRS
YXdIZWFkZXJzKGZhbHNlKQogICAgICAgICAgICAgLCBtX3ByaW9yaXR5KFJlc291cmNlTG9hZFBy
aW9yaXR5TG93KQorICAgICAgICAgICAgLCBtX2luaXRpYXRvclR5cGUoSW5pdGlhdG9ySXNVbmtu
b3duKQorICAgICAgICAgICAgLCBtX2luaXRpYXRlZFRpbWUobW9ub3RvbmljYWxseUluY3JlYXNp
bmdUaW1lKCkpCiAgICAgICAgIHsKICAgICAgICAgfQogCkBAIC0xODYsNiArMjEwLDggQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBib29sIG1fcmVwb3J0TG9hZFRpbWluZyA6IDE7CiAg
ICAgICAgIGJvb2wgbV9yZXBvcnRSYXdIZWFkZXJzIDogMTsKICAgICAgICAgUmVzb3VyY2VMb2Fk
UHJpb3JpdHkgbV9wcmlvcml0eTsKKyAgICAgICAgSW5pdGlhdG9yVHlwZSBtX2luaXRpYXRvclR5
cGU7CisgICAgICAgIGRvdWJsZSBtX2luaXRpYXRlZFRpbWU7CiAKICAgICBwcml2YXRlOgogICAg
ICAgICBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIGFzUmVzb3VyY2VSZXF1ZXN0KCkgY29uc3Q7CkBA
IC0yMTQsOCArMjQwLDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBSZWZQdHI8Rm9y
bURhdGE+IG1faHR0cEJvZHk7CiAgICAgICAgIGJvb2wgbV9hbGxvd0Nvb2tpZXM7CiAgICAgICAg
IFJlc291cmNlTG9hZFByaW9yaXR5IG1fcHJpb3JpdHk7CisgICAgICAgIFJlc291cmNlUmVxdWVz
dEJhc2U6OkluaXRpYXRvclR5cGUgbV9pbml0aWF0b3JUeXBlOwogICAgIH07Ci0gICAgCisKICAg
ICB1bnNpZ25lZCBpbml0aWFsaXplTWF4aW11bUhUVFBDb25uZWN0aW9uQ291bnRQZXJIb3N0KCk7
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>139126</attachid>
            <date>2012-04-26 20:18:00 -0700</date>
            <delta_ts>2012-04-26 20:51:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-61152-20120426201759.patch</filename>
            <type>text/plain</type>
            <size>48073</size>
            <attacher name="James Simonsen">simonjam</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE1MzIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2Y2MjFmYzQ0MjJiZGRl
ZDRmN2M3ZTA4Yzg0ZTA4YTU0ZWM2MzY0Ny4uNmI5ZGMzZDIxYjIxZTYyZWQ0MzFmMzFmNmM1MTZi
ZjRhODQ3ZjRmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDkzIEBACisyMDEyLTA0LTI2ICBKYW1l
cyBTaW1vbnNlbiAgPHNpbW9uamFtQGNocm9taXVtLm9yZz4KKworICAgICAgICBbUmVzb3VyY2Ug
VGltaW5nXSBJbXBsZW1lbnQgUmVzb3VyY2UgVGltaW5nIGludGVyZmFjZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjExNTIKKworICAgICAgICBUaGlz
IHBhdGNoIGltcGxlbWVudHMgdGhlIFJlc291cmNlIFRpbWluZyBpbnRlcmZhY2UuIEl0IGRvZXNu
J3QgZG8gYW55dGhpbmcKKyAgICAgICAgdXNlZnVsLCBiZWNhdXNlIG5vdGhpbmcgcG9wdWxhdGVz
IHRoZSB0aW1lbGluZSB5ZXQuIFRoZXJlIGFyZSBhbHNvIHNvbWUgZ2FwcworICAgICAgICBpbiB0
aGUgaW1wbGVtZW50YXRpb24sIHdoaWNoIGhhdmUgYmVlbiBmaWxlZCBhcyBidWdzLgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4g
RmVhdHVyZSBpcyBkaXNhYmxlZCBvbiBhbGwgcGxhdGZvcm1zLgorCisgICAgICAgICogQ01ha2VM
aXN0cy50eHQ6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMucHJpOgorICAgICAgICAqIEdOVW1h
a2VmaWxlLmxpc3QuYW06CisgICAgICAgICogVGFyZ2V0LnByaToKKyAgICAgICAgKiBVc2VWOC5j
bWFrZToKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ov
V2ViQ29yZS52Y3Byb2o6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTUGVyZm9ybWFuY2VDdXN0b20uY3BwOiBDb3Bp
ZWQgZnJvbSBKU0lEQlZlcnNpb25DaGFuZ2VSZXF1ZXN0Q3VzdG9tLmNwcC4KKyAgICAgICAgKFdl
YkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6SlNQZXJmb3JtYW5jZTo6dmlzaXRDaGlsZHJlbik6
CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4UGVyZm9ybWFuY2VFbnRyeUN1c3RvbS5j
cHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OnRvVjgpOiBTdXBwb3J0
IFBlcmZvcm1hbmNlRW50cnkgcG9seW1vcnBoaXNtLgorICAgICAgICAqIGRvbS9FdmVudE5hbWVz
Lmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBkb20vRXZlbnRUYXJnZXRGYWN0b3J5
LmluOgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
UGVyZm9ybWFuY2U6On5QZXJmb3JtYW5jZSk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAg
KFdlYkNvcmU6OlBlcmZvcm1hbmNlOjppbnRlcmZhY2VOYW1lKTogUmVxaXJlZCBmb3IgRXZlbnRU
YXJnZXQuCisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZTo6c2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6OndlYmtpdEdldEVu
dHJpZXMpOiBSZXR1cm4gInJlc291cmNlIiBlbnRyaWVzLgorICAgICAgICAoV2ViQ29yZTo6UGVy
Zm9ybWFuY2U6OndlYmtpdEdldEVudHJpZXNCeVR5cGUpOiBEaXR0by4KKyAgICAgICAgKFdlYkNv
cmU6OlBlcmZvcm1hbmNlOjp3ZWJraXRHZXRFbnRyaWVzQnlOYW1lKTogRGl0dG8uCisgICAgICAg
IChXZWJDb3JlOjpQZXJmb3JtYW5jZTo6d2Via2l0Q2xlYXJSZXNvdXJjZVRpbWluZ3MpOiBOZXcu
CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZTo6d2Via2l0U2V0UmVzb3VyY2VUaW1pbmdC
dWZmZXJTaXplKTogTmV3LiBVbmltcGxlbWVudGVkLgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9y
bWFuY2U6OmFkZFJlc291cmNlVGltaW5nKTogVGhpcyBpcyBob3cgcmVzb3VyY2VzIGluIFdlYkNv
cmUgd2lsbCByZXBvcnQgdG8gdGhlIHRpbWVsaW5lLgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9y
bWFuY2U6OmV2ZW50VGFyZ2V0RGF0YSk6IFJlcXVpcmVkIGZvciBFdmVudFRhcmdldC4KKyAgICAg
ICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlOjplbnN1cmVFdmVudFRhcmdldERhdGEpOiBEaXR0by4K
KyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlLmg6CisgICAgICAgIChQZXJmb3JtYW5jZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZTo6cmVmRXZlbnRUYXJnZXQpOgorICAgICAgICAo
V2ViQ29yZTo6UGVyZm9ybWFuY2U6OmRlcmVmRXZlbnRUYXJnZXQpOgorICAgICAgICAqIHBhZ2Uv
UGVyZm9ybWFuY2UuaWRsOgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VFbnRyeS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZUVudHJ5Ojp+UGVyZm9ybWFuY2VFbnRyeSk6Cisg
ICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlRW50cnkuaDoKKyAg
ICAgICAgKFBlcmZvcm1hbmNlRW50cnkpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VF
bnRyeTo6aXNSZXNvdXJjZSk6CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmlkbDoK
KyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuY3BwOiBBZGRlZC4KKyAg
ICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6dG9QZXJmb3JtYW5jZUluaXRpYXRv
clR5cGUpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6UGVy
Zm9ybWFuY2VSZXNvdXJjZVRpbWluZyk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZVJl
c291cmNlVGltaW5nOjppbml0aWF0b3JUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1h
bmNlUmVzb3VyY2VUaW1pbmc6OnJlZGlyZWN0U3RhcnQpOgorICAgICAgICAoV2ViQ29yZTo6UGVy
Zm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6cmVkaXJlY3RFbmQpOgorICAgICAgICAoV2ViQ29yZTo6
UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6ZmV0Y2hTdGFydCk6CisgICAgICAgIChXZWJDb3Jl
OjpQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpkb21haW5Mb29rdXBTdGFydCk6CisgICAgICAg
IChXZWJDb3JlOjpQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpkb21haW5Mb29rdXBFbmQpOgor
ICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6Y29ubmVjdFN0YXJ0
KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OmNvbm5lY3RF
bmQpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6c2VjdXJl
Q29ubmVjdGlvblN0YXJ0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlUmVzb3VyY2VU
aW1pbmc6OnJlcXVlc3RTdGFydCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZVJlc291
cmNlVGltaW5nOjpyZXNwb25zZVN0YXJ0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNl
UmVzb3VyY2VUaW1pbmc6OnJlc3BvbnNlRW5kKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1h
bmNlUmVzb3VyY2VUaW1pbmc6Om1vbm90b25pY1RpbWVUb0RvY3VtZW50TWlsbGlzZWNvbmRzKToK
KyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OnJlc291cmNlVGlt
ZVRvTWlsbGlzZWNvbmRzKToKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1p
bmcuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFBlcmZvcm1hbmNlUmVz
b3VyY2VUaW1pbmcpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWlu
Zzo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6
OmlzUmVzb3VyY2UpOgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5p
ZGw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFz
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3RCYXNlOjphZG9wdCk6Cisg
ICAgICAgICogcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmg6CisgICAgICAg
IChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3RCYXNlOjppbml0aWF0b3JUeXBlKTogQWRkZWQuCisg
ICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3RCYXNlOjpzZXRJbml0aWF0b3JUeXBlKTog
QWRkZWQuCisgICAgICAgIChSZXNvdXJjZVJlcXVlc3RCYXNlKToKKyAgICAgICAgKFdlYkNvcmU6
OlJlc291cmNlUmVxdWVzdEJhc2U6OmluaXRpYXRlZFRpbWUpOiBBZGRlZC4KKyAgICAgICAgKFdl
YkNvcmU6OlJlc291cmNlUmVxdWVzdEJhc2U6OlJlc291cmNlUmVxdWVzdEJhc2UpOgorICAgICAg
ICAoQ3Jvc3NUaHJlYWRSZXNvdXJjZVJlcXVlc3REYXRhQmFzZSk6CisgICAgICAgIChXZWJDb3Jl
KToKKwogMjAxMi0wNC0yNiAgRG9taW5payBSw7Z0dHNjaGVzICA8ZG9taW5pay5yb3R0c2NoZXNA
bGludXguaW50ZWwuY29tPgogCiAgICAgICAgIFtjYWlyb10gQ2Fpcm9HcmFwaGljc0NvbnRleHQg
ZmlsbFJlY3QgKHdpdGggQ29sb3IpIG92ZXJyaWRlcyBjb21wb3NpdGUgb3BlcmF0b3IKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01h
a2VMaXN0cy50eHQKaW5kZXggZGZjMjAxN2U2YzZjYTk5M2E1NGJjZmZlZWYxNjQ5YjRjZWY1NDNl
MS4uYWNmNDg1NGE1N2I3Mjc5YTU5M2IzNTViZDAyYjM2OWZmOTQyOTFmMyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VM
aXN0cy50eHQKQEAgLTM3Nyw2ICszNzcsNyBAQCBTRVQoV2ViQ29yZV9JRExfRklMRVMKICAgICBw
YWdlL1BlcmZvcm1hbmNlRW50cnkuaWRsCiAgICAgcGFnZS9QZXJmb3JtYW5jZUVudHJ5TGlzdC5p
ZGwKICAgICBwYWdlL1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5pZGwKKyAgICBwYWdlL1BlcmZvcm1h
bmNlUmVzb3VyY2VUaW1pbmcuaWRsCiAgICAgcGFnZS9QZXJmb3JtYW5jZVRpbWluZy5pZGwKICAg
ICBwYWdlL1NjcmVlbi5pZGwKICAgICBwYWdlL1NwZWVjaElucHV0RXZlbnQuaWRsCkBAIC0xMDYx
LDYgKzEwNjIsNyBAQCBTRVQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgcGFnZS9QZXJmb3JtYW5jZUVu
dHJ5LmNwcAogICAgIHBhZ2UvUGVyZm9ybWFuY2VFbnRyeUxpc3QuY3BwCiAgICAgcGFnZS9QZXJm
b3JtYW5jZU5hdmlnYXRpb24uY3BwCisgICAgcGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5n
LmNwcAogICAgIHBhZ2UvUGVyZm9ybWFuY2VUaW1pbmcuY3BwCiAgICAgcGFnZS9QcmludENvbnRl
eHQuY3BwCiAgICAgcGFnZS9TY3JlZW4uY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy5wcmkgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkKaW5k
ZXggMGZhNGIyNDlhM2ViNWQzNDhiYzM0NTVlYTJmNDdhNmUxZTM2ZGU5MS4uZDQxOTU2NDEzN2Ey
ODgyYmY1M2U5NDhiNmI0OTQzNWQ5ODY1M2Y4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
RGVyaXZlZFNvdXJjZXMucHJpCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnBy
aQpAQCAtNDE0LDYgKzQxNCw3IEBAIElETF9CSU5ESU5HUyArPSBcCiAgICAgJCRQV0QvcGFnZS9Q
ZXJmb3JtYW5jZUVudHJ5LmlkbCBcCiAgICAgJCRQV0QvcGFnZS9QZXJmb3JtYW5jZUVudHJ5TGlz
dC5pZGwgXAogICAgICQkUFdEL3BhZ2UvUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmlkbCBcCisgICAg
JCRQV0QvcGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmlkbCBcCiAgICAgJCRQV0QvcGFn
ZS9QZXJmb3JtYW5jZVRpbWluZy5pZGwgXAogICAgICQkUFdEL3BhZ2UvU2NyZWVuLmlkbCBcCiAg
ICAgJCRQV0QvcGFnZS9TcGVlY2hJbnB1dEV2ZW50LmlkbCBcCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUu
bGlzdC5hbQppbmRleCBiMjMwYmZhZTdlM2FlOWY5NGVmZGU2NWZhMGNkMjJjMGFkZWM5MTdhLi44
ZGZmNjFmOTY0MDNmZDE1ZDJhNjUwNmY3Njg2NjliZjMzNDQwOTc3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1h
a2VmaWxlLmxpc3QuYW0KQEAgLTk0NSw2ICs5NDUsNyBAQCBkb21fYmluZGluZ19pZGxzICs9IFwK
IAkkKFdlYkNvcmUpL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeS5pZGwgXAogCSQoV2ViQ29yZSkvcGFn
ZS9QZXJmb3JtYW5jZUVudHJ5TGlzdC5pZGwgXAogCSQoV2ViQ29yZSkvcGFnZS9QZXJmb3JtYW5j
ZU5hdmlnYXRpb24uaWRsIFwKKwkkKFdlYkNvcmUpL3BhZ2UvUGVyZm9ybWFuY2VSZXNvdXJjZVRp
bWluZy5pZGwgXAogCSQoV2ViQ29yZSkvcGFnZS9QZXJmb3JtYW5jZVRpbWluZy5pZGwgXAogCSQo
V2ViQ29yZSkvcGFnZS9TY3JlZW4uaWRsIFwKIAkkKFdlYkNvcmUpL3BhZ2UvU3BlZWNoSW5wdXRF
dmVudC5pZGwgXApAQCAtMTQzMCw2ICsxNDMxLDcgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlT
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU05vZGVGaWx0ZXJDdXN0b20uY3BwIFwKIAlTb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU05vZGVJdGVyYXRvckN1c3RvbS5jcHAgXAogCVNvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTm9kZUxpc3RDdXN0b20uY3BwIFwKKwlTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU1BlcmZvcm1hbmNlQ3VzdG9tLmNwcCBcCiAJU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNQbHVnaW5FbGVtZW50RnVuY3Rpb25zLmNwcCBcCiAJU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNQbHVnaW5FbGVtZW50RnVuY3Rpb25zLmggXAogCVNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTUG9wU3RhdGVFdmVudEN1c3RvbS5jcHAgXApAQCAtMjk5MSw2
ICsyOTkzLDggQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9wYWdlL1Bl
cmZvcm1hbmNlRW50cnlMaXN0LmggXAogCVNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VO
YXZpZ2F0aW9uLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU5hdmlnYXRp
b24uaCBcCisJU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmNw
cCBcCisJU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmggXAog
CVNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VUaW1pbmcuY3BwIFwKIAlTb3VyY2UvV2Vi
Q29yZS9wYWdlL1BlcmZvcm1hbmNlVGltaW5nLmggXAogCVNvdXJjZS9XZWJDb3JlL3BhZ2UvUG9p
bnRlckxvY2suaCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpIGIvU291
cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQppbmRleCBkYTkzNmUzNDcyMDU2MjM0ZGMwYTVmZDA0OWZi
MjM5NTdkZDA3OTAyLi4wOThlNGYwNGFkMDc5YWIyYjNmMGE2Y2M2MzgwZDkxZWNjOTg5N2QzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L1RhcmdldC5wcmkKQEAgLTIxMiw2ICsyMTIsNyBAQCB2OCB7CiAgICAgICAgIGJpbmRpbmdzL3Y4
L2N1c3RvbS9WOE5vZGVDdXN0b20uY3BwIFwKICAgICAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4
Tm9kZUxpc3RDdXN0b20uY3BwIFwKICAgICAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4UGVyZm9y
bWFuY2VDdXN0b20uY3BwIFwKKyAgICAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4UGVyZm9ybWFu
Y2VFbnRyeUN1c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhTUUxSZXN1
bHRTZXRSb3dMaXN0Q3VzdG9tLmNwcCBcCiAgICAgICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOFNR
TFRyYW5zYWN0aW9uQ3VzdG9tLmNwcCBcCiAgICAgICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOFdl
YlNvY2tldEN1c3RvbS5jcHAgXApAQCAtMTAzNSw2ICsxMDM2LDcgQEAgU09VUkNFUyArPSBcCiAg
ICAgcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmNwcCBcCiAgICAgcGFnZS9QZXJmb3JtYW5jZUVudHJ5
TGlzdC5jcHAgXAogICAgIHBhZ2UvUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmNwcCBcCisgICAgcGFn
ZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmNwcCBcCiAgICAgcGFnZS9QZXJmb3JtYW5jZVRp
bWluZy5jcHAgXAogICAgIHBhZ2UvUHJpbnRDb250ZXh0LmNwcCBcCiAgICAgcGFnZS9TY3JlZW4u
Y3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1VzZUpTQy5jbWFrZSBiL1NvdXJjZS9X
ZWJDb3JlL1VzZUpTQy5jbWFrZQppbmRleCA1MTU1ODFjZDBlZGIzOGQ1NDVhNmJmMzRjYzIzZTNm
YzY3Zjk1ZDVmLi40MDQ5Zjg0NmZkZGI4NzIxODE5MDkzM2QyODM3ODZkMjFlYWM0ZjAzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Vc2VKU0MuY21ha2UKKysrIGIvU291cmNlL1dlYkNvcmUv
VXNlSlNDLmNtYWtlCkBAIC0xMjAsNiArMTIwLDcgQEAgTElTVChBUFBFTkQgV2ViQ29yZV9TT1VS
Q0VTCiAgICAgYmluZGluZ3MvanMvSlNOb2RlRmlsdGVyQ3VzdG9tLmNwcAogICAgIGJpbmRpbmdz
L2pzL0pTTm9kZUl0ZXJhdG9yQ3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL2pzL0pTTm9kZUxpc3RD
dXN0b20uY3BwCisgICAgYmluZGluZ3MvanMvSlNQZXJmb3JtYW5jZUN1c3RvbS5jcHAKICAgICBi
aW5kaW5ncy9qcy9KU1BsdWdpbkVsZW1lbnRGdW5jdGlvbnMuY3BwCiAgICAgYmluZGluZ3MvanMv
SlNQb3BTdGF0ZUV2ZW50Q3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL2pzL0pTUHJvY2Vzc2luZ0lu
c3RydWN0aW9uQ3VzdG9tLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvVXNlVjguY21h
a2UgYi9Tb3VyY2UvV2ViQ29yZS9Vc2VWOC5jbWFrZQppbmRleCBlZTRlNmI5NTk0MDJhNGRmOTIw
YzU0ZjE1YTk5MWFhNWYyZjdkNjNlLi4yYzc2ODFmOTFkODI0MDQ4YmM5NTMyMjcwZWFiY2Q3ZGZi
Zjg5Yzk5IDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Vc2VWOC5jbWFrZQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Vc2VWOC5jbWFrZQpAQCAtMTM4LDYgKzEzOCw3IEBAIExJU1QoQVBQRU5EIFdl
YkNvcmVfU09VUkNFUwogICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOE5vZGVMaXN0Q3VzdG9tLmNw
cAogICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOE5vdGlmaWNhdGlvbkNlbnRlckN1c3RvbS5jcHAK
ICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhQZXJmb3JtYW5jZUN1c3RvbS5jcHAKKyAgICBiaW5k
aW5ncy92OC9jdXN0b20vVjhQZXJmb3JtYW5jZUVudHJ5Q3VzdG9tLmNwcAogICAgIGJpbmRpbmdz
L3Y4L2N1c3RvbS9WOFBvcFN0YXRlRXZlbnRDdXN0b20uY3BwCiAgICAgYmluZGluZ3MvdjgvY3Vz
dG9tL1Y4U1FMUmVzdWx0U2V0Um93TGlzdEN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy92OC9jdXN0
b20vVjhTUUxUcmFuc2FjdGlvbkN1c3RvbS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCBlMDNkZDE3
MjdiZTIwZDk1YzE2OGI3ZDQwM2NiMTJiYTYzNTEzMGQ3Li5mMjA4MGVkNGZkZDI3YWE4ZDYzODUw
ZDVjMjVkODgzZTU2YjI0NGRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5
cGkKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC0xMTQ3LDYgKzExNDcsNyBA
QAogICAgICAgICAgICAgJ3BhZ2UvUGVyZm9ybWFuY2VFbnRyeS5pZGwnLAogICAgICAgICAgICAg
J3BhZ2UvUGVyZm9ybWFuY2VFbnRyeUxpc3QuaWRsJywKICAgICAgICAgICAgICdwYWdlL1BlcmZv
cm1hbmNlTmF2aWdhdGlvbi5pZGwnLAorICAgICAgICAgICAgJ3BhZ2UvUGVyZm9ybWFuY2VSZXNv
dXJjZVRpbWluZy5pZGwnLAogICAgICAgICAgICAgJ3BhZ2UvUGVyZm9ybWFuY2VUaW1pbmcuaWRs
JywKICAgICAgICAgICAgICdwYWdlL1BvaW50ZXJMb2NrLmlkbCcsCiAgICAgICAgICAgICAncGFn
ZS9TY3JlZW4uaWRsJywKQEAgLTIyOTYsNiArMjI5Nyw3IEBACiAgICAgICAgICAgICAnYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4Tm9kZUxpc3RDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5n
cy92OC9jdXN0b20vVjhOb3RpZmljYXRpb25DZW50ZXJDdXN0b20uY3BwJywKICAgICAgICAgICAg
ICdiaW5kaW5ncy92OC9jdXN0b20vVjhQZXJmb3JtYW5jZUN1c3RvbS5jcHAnLAorICAgICAgICAg
ICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFBlcmZvcm1hbmNlRW50cnlDdXN0b20uY3BwJywKICAg
ICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhQb3BTdGF0ZUV2ZW50Q3VzdG9tLmNwcCcs
CiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4U1FMUmVzdWx0U2V0Um93TGlzdEN1
c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFNRTFRyYW5zYWN0
aW9uQ3VzdG9tLmNwcCcsCkBAIC0zMDE1LDYgKzMwMTcsOCBAQAogICAgICAgICAgICAgJ3BhZ2Uv
UGVyZm9ybWFuY2VFbnRyeUxpc3QuaCcsCiAgICAgICAgICAgICAncGFnZS9QZXJmb3JtYW5jZU5h
dmlnYXRpb24uY3BwJywKICAgICAgICAgICAgICdwYWdlL1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5o
JywKKyAgICAgICAgICAgICdwYWdlL1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuY3BwJywKKyAg
ICAgICAgICAgICdwYWdlL1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaCcsCiAgICAgICAgICAg
ICAncGFnZS9QZXJmb3JtYW5jZVRpbWluZy5jcHAnLAogICAgICAgICAgICAgJ3BhZ2UvUGVyZm9y
bWFuY2VUaW1pbmcuaCcsCiAgICAgICAgICAgICAncGFnZS9Qb2ludGVyTG9jay5jcHAnLApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2ogYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagppbmRleCA0NDdkNzQ1
YzY3ZDEzOTIyYzlhMTc4ZWM1YmQ3NmVlYWYwOTQ3YTkyLi4zYmFmNzFmZmUwMjE0NTkyOWE4NGZm
YTY2MDU0MzE4NjIwMzM5Nzc2IDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZj
cHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9X
ZWJDb3JlLnZjcHJvagpAQCAtMjY1MDIsNiArMjY1MDIsMTQgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+
CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGFnZVxQZXJmb3JtYW5jZVJlc291cmNl
VGltaW5nLmNwcCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0
aD0iLi5ccGFnZVxQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmgiCisJCQkJPgorCQkJPC9GaWxl
PgorCQkJPEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHBhZ2VcUGVyZm9ybWFuY2VUaW1pbmcu
Y3BwIgogCQkJCT4KIAkJCTwvRmlsZT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBhNzljMTM1YjA1YzljYjJmZmY4YTI5Mzg3ODc3
NjNiZDYwOTliZTMxLi45YjU4NjI0MGFkMjIwNDlmNjc1YzM3Mjc2MmM3MzMwMjczYjBmNTQ5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CkBAIC0yODY2LDYgKzI4NjYsOCBAQAogCQk4NjFDMkVBNDEzRkI0RkREMDAwNjJBQkIgLyogRG9j
dW1lbnRMb2FkVGltaW5nLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDg2MUMyRUEzMTNGQjRGREQwMDA2MkFCQiAvKiBEb2N1bWVudExvYWRUaW1pbmcu
Y3BwICovOyB9OwogCQk4NjFDMkVBNjEzRkI0RkZGMDAwNjJBQkIgLyogUmVzb3VyY2VMb2FkVGlt
aW5nLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2
MUMyRUE1MTNGQjRGRkYwMDA2MkFCQiAvKiBSZXNvdXJjZUxvYWRUaW1pbmcuY3BwICovOyB9Owog
CQk4NjI0M0QwMTExQkMzMUY3MDBDQzAwNkEgLyogSlNBcnJheUJ1ZmZlclZpZXdIZWxwZXIuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2MjQzRDAwMTFC
QzMxRjcwMENDMDA2QSAvKiBKU0FycmF5QnVmZmVyVmlld0hlbHBlci5oICovOyB9OworCQk4NjUx
MkVERTE1NEEyQUVGMDBBOTA0MjYgLyogUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NjUxMkVEQjE1NEEy
QUVFMDBBOTA0MjYgLyogUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5jcHAgKi87IH07CisJCTg2
NTEyRURGMTU0QTJBRUYwMEE5MDQyNiAvKiBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NjUxMkVEQzE1NEEy
QUVGMDBBOTA0MjYgLyogUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5oICovOyB9OwogCQk4NkJF
MzQwMDE1MDU4Q0IyMDBDRTBGRDggLyogUGVyZm9ybWFuY2VFbnRyeS5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NkJFMzNGQTE1MDU4Q0IyMDBDRTBG
RDggLyogUGVyZm9ybWFuY2VFbnRyeS5jcHAgKi87IH07CiAJCTg2QkUzNDAxMTUwNThDQjIwMENF
MEZEOCAvKiBQZXJmb3JtYW5jZUVudHJ5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA4NkJFMzNGQjE1MDU4Q0IyMDBDRTBGRDggLyogUGVyZm9ybWFuY2VF
bnRyeS5oICovOyB9OwogCQk4NkJFMzQwMzE1MDU4Q0IyMDBDRTBGRDggLyogUGVyZm9ybWFuY2VF
bnRyeUxpc3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gODZCRTMzRkQxNTA1OENCMjAwQ0UwRkQ4IC8qIFBlcmZvcm1hbmNlRW50cnlMaXN0LmNwcCAq
LzsgfTsKQEAgLTk4NDcsNiArOTg0OSw5IEBACiAJCTg2MUMyRUEzMTNGQjRGREQwMDA2MkFCQiAv
KiBEb2N1bWVudExvYWRUaW1pbmcuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gRG9jdW1lbnRMb2FkVGltaW5nLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJODYxQzJFQTUxM0ZCNEZGRjAwMDYyQUJCIC8qIFJlc291cmNlTG9hZFRpbWluZy5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZXNvdXJjZUxvYWRUaW1pbmcuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NjI0M0QwMDExQkMzMUY3MDBDQzAwNkEg
LyogSlNBcnJheUJ1ZmZlclZpZXdIZWxwZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gSlNBcnJheUJ1ZmZlclZpZXdIZWxwZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJODY1MTJFREIxNTRBMkFFRTAwQTkwNDI2IC8qIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1p
bmcuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGVyZm9ybWFuY2VS
ZXNvdXJjZVRpbWluZy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg2NTEyRURD
MTU0QTJBRUYwMEE5MDQyNiAvKiBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODY1MTJFREQxNTRBMkFFRjAwQTkwNDI2IC8qIFBl
cmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFBlcmZv
cm1hbmNlUmVzb3VyY2VUaW1pbmcuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4
NkJFMzNGQTE1MDU4Q0IyMDBDRTBGRDggLyogUGVyZm9ybWFuY2VFbnRyeS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQZXJmb3JtYW5jZUVudHJ5LmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODZCRTMzRkIxNTA1OENCMjAwQ0UwRkQ4IC8qIFBlcmZv
cm1hbmNlRW50cnkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGVyZm9ybWFu
Y2VFbnRyeS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NkJFMzNGQzE1MDU4Q0Iy
MDBDRTBGRDggLyogUGVyZm9ybWFuY2VFbnRyeS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0g
UGVyZm9ybWFuY2VFbnRyeS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNTQ0
MCw2ICsxNTQ0NSw5IEBACiAJCQkJOEFGNEU1NTIxMURDNUEzNjAwMEVEM0RFIC8qIFBlcmZvcm1h
bmNlTmF2aWdhdGlvbi5jcHAgKi8sCiAJCQkJOEFGNEU1NTMxMURDNUEzNjAwMEVEM0RFIC8qIFBl
cmZvcm1hbmNlTmF2aWdhdGlvbi5oICovLAogCQkJCThBRjRFNTU0MTFEQzVBMzYwMDBFRDNERSAv
KiBQZXJmb3JtYW5jZU5hdmlnYXRpb24uaWRsICovLAorCQkJCTg2NTEyRURCMTU0QTJBRUUwMEE5
MDQyNiAvKiBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmNwcCAqLywKKwkJCQk4NjUxMkVEQzE1
NEEyQUVGMDBBOTA0MjYgLyogUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5oICovLAorCQkJCTg2
NTEyRUREMTU0QTJBRUYwMEE5MDQyNiAvKiBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmlkbCAq
LywKIAkJCQk4QUY0RTU1ODExREM1QTYzMDAwRUQzREUgLyogUGVyZm9ybWFuY2VUaW1pbmcuY3Bw
ICovLAogCQkJCThBRjRFNTU5MTFEQzVBNjMwMDBFRDNERSAvKiBQZXJmb3JtYW5jZVRpbWluZy5o
ICovLAogCQkJCThBRjRFNTVBMTFEQzVBNjMwMDBFRDNERSAvKiBQZXJmb3JtYW5jZVRpbWluZy5p
ZGwgKi8sCkBAIC0yMzg2OSw2ICsyMzg3Nyw3IEBACiAJCQkJODZCRTM0MDExNTA1OENCMjAwQ0Uw
RkQ4IC8qIFBlcmZvcm1hbmNlRW50cnkuaCBpbiBIZWFkZXJzICovLAogCQkJCTg2QkUzNDA0MTUw
NThDQjIwMENFMEZEOCAvKiBQZXJmb3JtYW5jZUVudHJ5TGlzdC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJOEFGNEU1NTYxMURDNUEzNjAwMEVEM0RFIC8qIFBlcmZvcm1hbmNlTmF2aWdhdGlvbi5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJODY1MTJFREYxNTRBMkFFRjAwQTkwNDI2IC8qIFBlcmZvcm1hbmNl
UmVzb3VyY2VUaW1pbmcuaCBpbiBIZWFkZXJzICovLAogCQkJCThBRjRFNTVDMTFEQzVBNjMwMDBF
RDNERSAvKiBQZXJmb3JtYW5jZVRpbWluZy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDlENURDMkUw
RjQyM0E3MzAwOEYyMEZEIC8qIFBlcnNwZWN0aXZlVHJhbnNmb3JtT3BlcmF0aW9uLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlEMEZGMkE1RTExRjhDNDVBMDA3RTc0RTAgLyogUGluZ0xvYWRlci5oIGlu
IEhlYWRlcnMgKi8sCkBAIC0yNzA3MCw2ICsyNzA3OSw3IEBACiAJCQkJODZCRTM0MDAxNTA1OENC
MjAwQ0UwRkQ4IC8qIFBlcmZvcm1hbmNlRW50cnkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJODZC
RTM0MDMxNTA1OENCMjAwQ0UwRkQ4IC8qIFBlcmZvcm1hbmNlRW50cnlMaXN0LmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCThBRjRFNTU1MTFEQzVBMzYwMDBFRDNERSAvKiBQZXJmb3JtYW5jZU5hdmln
YXRpb24uY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJODY1MTJFREUxNTRBMkFFRjAwQTkwNDI2IC8q
IFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOEFGNEU1
NUIxMURDNUE2MzAwMEVEM0RFIC8qIFBlcmZvcm1hbmNlVGltaW5nLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTQ5RDVEQzJEMEY0MjNBNzMwMDhGMjBGRCAvKiBQZXJzcGVjdGl2ZVRyYW5zZm9ybU9w
ZXJhdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlEMEZGMkE1RDExRjhDNDVBMDA3RTc0RTAg
LyogUGluZ0xvYWRlci5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTUGVyZm9ybWFuY2VDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNQZXJmb3JtYW5jZUN1c3RvbS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTI4MTA4Mzc5
ODMyNmUzZjIwOGY3MGZmZGEwODA3ODg2MTkzMWQ4NAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTUGVyZm9ybWFuY2VDdXN0b20uY3BwCkBAIC0wLDAgKzEs
NDIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIsIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OgorICoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEdP
T0dMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKKyAqIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKKyAqIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFCisgKiBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTAorICogREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IKKyAqIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
CisgKiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QKKyAqIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkKKyAqIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SAorICogREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJKU1Bl
cmZvcm1hbmNlLmgiCisKKyNpZiBFTkFCTEUoV0VCX1RJTUlORykKKworI2luY2x1ZGUgPHd0Zi9B
c3NlcnRpb25zLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwordm9pZCBKU1BlcmZvcm1hbmNl
Ojp2aXNpdENoaWxkcmVuKEpTQ2VsbCosIEpTQzo6U2xvdFZpc2l0b3ImKQoreworICAgIC8vIEZJ
WE1FOiBJbXBsZW1lbnQgdGhpcy4KK30KKworfQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFBlcmZvcm1hbmNlRW50cnlDdXN0b20uY3Bw
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4UGVyZm9ybWFuY2VFbnRyeUN1
c3RvbS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNzRkZjljNzY0ZGMxNTZkODRkOTE1OGU3OWM1ZGQyYmFhMGJi
MzZkOQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3Rv
bS9WOFBlcmZvcm1hbmNlRW50cnlDdXN0b20uY3BwCkBAIC0wLDAgKzEsNjEgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJp
YnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhl
IG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3Ig
cHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBz
cGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICog
IkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAi
Y29uZmlnLmgiCisjaW5jbHVkZSAiUGVyZm9ybWFuY2VFbnRyeS5oIgorCisjaWYgRU5BQkxFKFBF
UkZPUk1BTkNFX1RJTUVMSU5FKQorCisjaW5jbHVkZSAiUGVyZm9ybWFuY2UuaCIKKyNpbmNsdWRl
ICJQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmgiCisKKyNpbmNsdWRlICJWOFBlcmZvcm1hbmNl
RW50cnkuaCIKKyNpbmNsdWRlICJWOFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaCIKKworI2lu
Y2x1ZGUgPHd0Zi9SZWZQdHIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCit2ODo6SGFuZGxl
PHY4OjpWYWx1ZT4gdG9WOChQZXJmb3JtYW5jZUVudHJ5KiBpbXBsLCB2ODo6SXNvbGF0ZSogaXNv
bGF0ZSkKK3sKKyAgICBpZiAoIWltcGwpCisgICAgICAgIHJldHVybiB2ODo6TnVsbCgpOworCisj
aWYgRU5BQkxFKFJFU09VUkNFX1RJTUlORykKKyAgICBpZiAoaW1wbC0+aXNSZXNvdXJjZSgpKQor
ICAgICAgICByZXR1cm4gdG9WOChzdGF0aWNfY2FzdDxQZXJmb3JtYW5jZVJlc291cmNlVGltaW5n
Kj4oaW1wbCksIGlzb2xhdGUpOworI2VuZGlmCisKKyAgICByZXR1cm4gVjhQZXJmb3JtYW5jZUVu
dHJ5Ojp3cmFwKGltcGwpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAv
LyBFTkFCTEUoUEVSRk9STUFOQ0VfVElNRUxJTkUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vRXZlbnROYW1lcy5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaAppbmRl
eCAyMDVhOGM5OTIxY2E1MTgyYTY4YzdjYzJiZjFjZWE4ZWNkOWMxZGMwLi4zMTUwOTBkZTlhNmYw
Zjg5ZWNkYzAzYWQzZWNhZjgwNjFlY2VmY2FlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9k
b20vRXZlbnROYW1lcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgKQEAg
LTIyNSw2ICsyMjUsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgXAogICAgIG1hY3JvKHdl
YmtpdG5ldHdvcmtpbmZvY2hhbmdlKSBcCiAgICAgXAorICAgIG1hY3JvKHdlYmtpdHJlc291cmNl
dGltaW5nYnVmZmVyZnVsbCkgXAorICAgIFwKIAogLy8gZW5kIG9mIERPTV9FVkVOVF9OQU1FU19G
T1JfRUFDSAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXRGYWN0
b3J5LmluIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0RmFjdG9yeS5pbgppbmRleCBm
MDFiODExYWJhOWI4MDZmYzIxMjVmNzBmN2I0MzExNzNiM2JiNWIwLi4zZWM2ZGI5NDQ2ZDI1OTYz
MTYyOWFjNzNjZTllZjBlNDFmNGEzNTg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20v
RXZlbnRUYXJnZXRGYWN0b3J5LmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdl
dEZhY3RvcnkuaW4KQEAgLTIyLDYgKzIyLDcgQEAgTmV0d29ya0luZm9Db25uZWN0aW9uIGNvbmRp
dGlvbmFsPU5FVFdPUktfSU5GTwogTm9kZQogTm90aWZpY2F0aW9uIGNvbmRpdGlvbmFsPU5PVElG
SUNBVElPTlN8TEVHQUNZX05PVElGSUNBVElPTlMKIFBlZXJDb25uZWN0aW9uMDAgY29uZGl0aW9u
YWw9TUVESUFfU1RSRUFNCitQZXJmb3JtYW5jZSBjb25kaXRpb25hbD1XRUJfVElNSU5HCiBTaGFy
ZWRXb3JrZXIgY29uZGl0aW9uYWw9U0hBUkVEX1dPUktFUlMKIFNoYXJlZFdvcmtlckNvbnRleHQg
Y29uZGl0aW9uYWw9U0hBUkVEX1dPUktFUlMKIFNwZWVjaFJlY29nbml0aW9uIGNvbmRpdGlvbmFs
PVNDUklQVEVEX1NQRUVDSApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3Jt
YW5jZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmNwcAppbmRleCBlZTVj
YTU2ZDhlNmRmNTc1Y2MxMzRlNzg3OGMzOTkxZjE0MWVlYjFjLi4xOTlmMzVjMTg0M2ZhNDA1YjZi
NDkyZDczNTkzZDlmYTZmZTc2YTFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bl
cmZvcm1hbmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmNwcApA
QCAtMzEsOCArMzEsMTEgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJQZXJmb3Jt
YW5jZS5oIgogCisjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJNZW1vcnlJbmZvLmgi
CisjaW5jbHVkZSAiUGVyZm9ybWFuY2VFbnRyeS5oIgogI2luY2x1ZGUgIlBlcmZvcm1hbmNlTmF2
aWdhdGlvbi5oIgorI2luY2x1ZGUgIlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaCIKICNpbmNs
dWRlICJQZXJmb3JtYW5jZVRpbWluZy5oIgogCiAjaWYgRU5BQkxFKFdFQl9USU1JTkcpCkBAIC00
Niw2ICs0OSwyMCBAQCBQZXJmb3JtYW5jZTo6UGVyZm9ybWFuY2UoRnJhbWUqIGZyYW1lKQogewog
fQogCitQZXJmb3JtYW5jZTo6flBlcmZvcm1hbmNlKCkKK3sKK30KKworY29uc3QgQXRvbWljU3Ry
aW5nJiBQZXJmb3JtYW5jZTo6aW50ZXJmYWNlTmFtZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGV2
ZW50TmFtZXMoKS5pbnRlcmZhY2VGb3JQZXJmb3JtYW5jZTsKK30KKworU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCogUGVyZm9ybWFuY2U6OnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSBjb25zdAorewor
ICAgIHJldHVybiBmcmFtZSgpLT5kb2N1bWVudCgpLT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7
Cit9CisKIFBhc3NSZWZQdHI8TWVtb3J5SW5mbz4gUGVyZm9ybWFuY2U6Om1lbW9yeSgpIGNvbnN0
CiB7CiAgICAgcmV0dXJuIE1lbW9yeUluZm86OmNyZWF0ZShtX2ZyYW1lKTsKQEAgLTcyLDIzICs4
OSw3NyBAQCBQZXJmb3JtYW5jZVRpbWluZyogUGVyZm9ybWFuY2U6OnRpbWluZygpIGNvbnN0CiBQ
YXNzUmVmUHRyPFBlcmZvcm1hbmNlRW50cnlMaXN0PiBQZXJmb3JtYW5jZTo6d2Via2l0R2V0RW50
cmllcygpIGNvbnN0CiB7CiAgICAgUmVmUHRyPFBlcmZvcm1hbmNlRW50cnlMaXN0PiBlbnRyaWVz
ID0gUGVyZm9ybWFuY2VFbnRyeUxpc3Q6OmNyZWF0ZSgpOworCisjaWYgRU5BQkxFKFJFU09VUkNF
X1RJTUlORykKKyAgICBmb3IgKFZlY3RvcjxSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeT4gPjo6Y29u
c3RfaXRlcmF0b3IgcmVzb3VyY2UgPSBtX3Jlc291cmNlVGltaW5nQnVmZmVyLmJlZ2luKCk7IHJl
c291cmNlICE9IG1fcmVzb3VyY2VUaW1pbmdCdWZmZXIuZW5kKCk7ICsrcmVzb3VyY2UpCisgICAg
ICAgIGVudHJpZXMtPmFwcGVuZCgqcmVzb3VyY2UpOworI2VuZGlmIC8vIEVOQUJMRShSRVNPVVJD
RV9USU1JTkcpCisKICAgICByZXR1cm4gZW50cmllczsKIH0KIAotUGFzc1JlZlB0cjxQZXJmb3Jt
YW5jZUVudHJ5TGlzdD4gUGVyZm9ybWFuY2U6OndlYmtpdEdldEVudHJpZXNCeVR5cGUoY29uc3Qg
U3RyaW5nJikKK1Bhc3NSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeUxpc3Q+IFBlcmZvcm1hbmNlOjp3
ZWJraXRHZXRFbnRyaWVzQnlUeXBlKGNvbnN0IFN0cmluZyYgZW50cnlUeXBlKQogewogICAgIFJl
ZlB0cjxQZXJmb3JtYW5jZUVudHJ5TGlzdD4gZW50cmllcyA9IFBlcmZvcm1hbmNlRW50cnlMaXN0
OjpjcmVhdGUoKTsKKworI2lmIEVOQUJMRShSRVNPVVJDRV9USU1JTkcpCisgICAgaWYgKGVxdWFs
SWdub3JpbmdDYXNlKGVudHJ5VHlwZSwgInJlc291cmNlIikpCisgICAgICAgIGZvciAoVmVjdG9y
PFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5PiA+Ojpjb25zdF9pdGVyYXRvciByZXNvdXJjZSA9IG1f
cmVzb3VyY2VUaW1pbmdCdWZmZXIuYmVnaW4oKTsgcmVzb3VyY2UgIT0gbV9yZXNvdXJjZVRpbWlu
Z0J1ZmZlci5lbmQoKTsgKytyZXNvdXJjZSkKKyAgICAgICAgICAgIGVudHJpZXMtPmFwcGVuZCgq
cmVzb3VyY2UpOworI2VuZGlmIC8vIEVOQUJMRShSRVNPVVJDRV9USU1JTkcpCisKICAgICByZXR1
cm4gZW50cmllczsKIH0KIAotUGFzc1JlZlB0cjxQZXJmb3JtYW5jZUVudHJ5TGlzdD4gUGVyZm9y
bWFuY2U6OndlYmtpdEdldEVudHJpZXNCeU5hbWUoY29uc3QgU3RyaW5nJiwgY29uc3QgU3RyaW5n
JikKK1Bhc3NSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeUxpc3Q+IFBlcmZvcm1hbmNlOjp3ZWJraXRH
ZXRFbnRyaWVzQnlOYW1lKGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBlbnRyeVR5
cGUpCiB7CiAgICAgUmVmUHRyPFBlcmZvcm1hbmNlRW50cnlMaXN0PiBlbnRyaWVzID0gUGVyZm9y
bWFuY2VFbnRyeUxpc3Q6OmNyZWF0ZSgpOworCisjaWYgRU5BQkxFKFJFU09VUkNFX1RJTUlORykK
KyAgICBpZiAoZW50cnlUeXBlLmlzTnVsbCgpIHx8IGVxdWFsSWdub3JpbmdDYXNlKGVudHJ5VHlw
ZSwgInJlc291cmNlIikpCisgICAgICAgIGZvciAoVmVjdG9yPFJlZlB0cjxQZXJmb3JtYW5jZUVu
dHJ5PiA+Ojpjb25zdF9pdGVyYXRvciByZXNvdXJjZSA9IG1fcmVzb3VyY2VUaW1pbmdCdWZmZXIu
YmVnaW4oKTsgcmVzb3VyY2UgIT0gbV9yZXNvdXJjZVRpbWluZ0J1ZmZlci5lbmQoKTsgKytyZXNv
dXJjZSkKKyAgICAgICAgICAgIGlmICgoKnJlc291cmNlKS0+bmFtZSgpID09IG5hbWUpCisgICAg
ICAgICAgICAgICAgZW50cmllcy0+YXBwZW5kKCpyZXNvdXJjZSk7CisjZW5kaWYgLy8gRU5BQkxF
KFJFU09VUkNFX1RJTUlORykKKwogICAgIHJldHVybiBlbnRyaWVzOwogfQogCiAjZW5kaWYgLy8g
RU5BQkxFKFBFUkZPUk1BTkNFX1RJTUVMSU5FKQogCisjaWYgRU5BQkxFKFJFU09VUkNFX1RJTUlO
RykKKwordm9pZCBQZXJmb3JtYW5jZTo6d2Via2l0Q2xlYXJSZXNvdXJjZVRpbWluZ3MoKQorewor
ICAgIG1fcmVzb3VyY2VUaW1pbmdCdWZmZXIuY2xlYXIoKTsKK30KKwordm9pZCBQZXJmb3JtYW5j
ZTo6d2Via2l0U2V0UmVzb3VyY2VUaW1pbmdCdWZmZXJTaXplKHVuc2lnbmVkIGludCkKK3sKK30K
Kwordm9pZCBQZXJmb3JtYW5jZTo6YWRkUmVzb3VyY2VUaW1pbmcoY29uc3QgUmVzb3VyY2VSZXF1
ZXN0JiByZXF1ZXN0LCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSwgZG91YmxlIGZp
bmlzaFRpbWUsIERvY3VtZW50KiByZXF1ZXN0aW5nRG9jdW1lbnQpCit7CisgICAgaWYgKCFyZXNw
b25zZS5yZXNvdXJjZUxvYWRUaW1pbmcoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgUmVmUHRy
PFBlcmZvcm1hbmNlRW50cnk+IGVudHJ5ID0gUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6Y3Jl
YXRlKHJlcXVlc3QsIHJlc3BvbnNlLCBmaW5pc2hUaW1lLCByZXF1ZXN0aW5nRG9jdW1lbnQpOwor
ICAgIC8vIEZJWE1FOiBOZWVkIHRvIGVuZm9yY2UgYnVmZmVyIGxpbWl0cy4KKyAgICBtX3Jlc291
cmNlVGltaW5nQnVmZmVyLmFwcGVuZChlbnRyeSk7Cit9CisKKyNlbmRpZiAvLyBFTkFCTEUoUkVT
T1VSQ0VfVElNSU5HKQorCitFdmVudFRhcmdldERhdGEqIFBlcmZvcm1hbmNlOjpldmVudFRhcmdl
dERhdGEoKQoreworICAgIHJldHVybiAmbV9ldmVudFRhcmdldERhdGE7Cit9CisKK0V2ZW50VGFy
Z2V0RGF0YSogUGVyZm9ybWFuY2U6OmVuc3VyZUV2ZW50VGFyZ2V0RGF0YSgpCit7CisgICAgcmV0
dXJuICZtX2V2ZW50VGFyZ2V0RGF0YTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAj
ZW5kaWYgLy8gRU5BQkxFKFdFQl9USU1JTkcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1BlcmZvcm1hbmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmgKaW5k
ZXggNjBmZmRhNjgwZDMzNzY5ZDgwOTM1ZjYxMzBhMjc3NTA3ODg5YjRiYy4uY2M0MDIzYWZiMjBl
MjQ0M2NkNWE1YTBlNTBiZWZjYjMyMzdjOGM2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGFnZS9QZXJmb3JtYW5jZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2Uu
aApAQCAtMzQsMTAgKzM0LDEzIEBACiAjaWYgRU5BQkxFKFdFQl9USU1JTkcpCiAKICNpbmNsdWRl
ICJET01XaW5kb3dQcm9wZXJ0eS5oIgorI2luY2x1ZGUgIkV2ZW50VGFyZ2V0LmgiCiAjaW5jbHVk
ZSAiTWVtb3J5SW5mby5oIgogI2luY2x1ZGUgIlBlcmZvcm1hbmNlRW50cnlMaXN0LmgiCiAjaW5j
bHVkZSAiUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VUaW1p
bmcuaCIKKyNpbmNsdWRlICJSZXNvdXJjZVJlcXVlc3QuaCIKKyNpbmNsdWRlICJSZXNvdXJjZVJl
c3BvbnNlLmgiCiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVm
Q291bnRlZC5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KQEAgLTQ1LDkgKzQ4LDEzIEBACiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgUGVyZm9ybWFuY2UgOiBwdWJsaWMgUmVmQ291
bnRlZDxQZXJmb3JtYW5jZT4sIHB1YmxpYyBET01XaW5kb3dQcm9wZXJ0eSB7CitjbGFzcyBQZXJm
b3JtYW5jZSA6IHB1YmxpYyBSZWZDb3VudGVkPFBlcmZvcm1hbmNlPiwgcHVibGljIERPTVdpbmRv
d1Byb3BlcnR5LCBwdWJsaWMgRXZlbnRUYXJnZXQgewogcHVibGljOgogICAgIHN0YXRpYyBQYXNz
UmVmUHRyPFBlcmZvcm1hbmNlPiBjcmVhdGUoRnJhbWUqIGZyYW1lKSB7IHJldHVybiBhZG9wdFJl
ZihuZXcgUGVyZm9ybWFuY2UoZnJhbWUpKTsgfQorICAgIH5QZXJmb3JtYW5jZSgpOworCisgICAg
dmlydHVhbCBjb25zdCBBdG9taWNTdHJpbmcmIGludGVyZmFjZU5hbWUoKSBjb25zdDsKKyAgICB2
aXJ0dWFsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSBj
b25zdDsKIAogICAgIFBhc3NSZWZQdHI8TWVtb3J5SW5mbz4gbWVtb3J5KCkgY29uc3Q7CiAgICAg
UGVyZm9ybWFuY2VOYXZpZ2F0aW9uKiBuYXZpZ2F0aW9uKCkgY29uc3Q7CkBAIC01OSwxMSArNjYs
MzUgQEAgcHVibGljOgogICAgIFBhc3NSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeUxpc3Q+IHdlYmtp
dEdldEVudHJpZXNCeU5hbWUoY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGVudHJ5
VHlwZSk7CiAjZW5kaWYKIAorI2lmIEVOQUJMRShSRVNPVVJDRV9USU1JTkcpCisgICAgdm9pZCB3
ZWJraXRDbGVhclJlc291cmNlVGltaW5ncygpOworICAgIHZvaWQgd2Via2l0U2V0UmVzb3VyY2VU
aW1pbmdCdWZmZXJTaXplKHVuc2lnbmVkIGludCk7CisKKyAgICBERUZJTkVfQVRUUklCVVRFX0VW
RU5UX0xJU1RFTkVSKHdlYmtpdHJlc291cmNldGltaW5nYnVmZmVyZnVsbCk7CisKKyAgICB2b2lk
IGFkZFJlc291cmNlVGltaW5nKGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFJlc291cmNl
UmVzcG9uc2UmLCBkb3VibGUgZmluaXNoVGltZSwgRG9jdW1lbnQqKTsKKyNlbmRpZgorCisgICAg
dXNpbmcgUmVmQ291bnRlZDxQZXJmb3JtYW5jZT46OnJlZjsKKyAgICB1c2luZyBSZWZDb3VudGVk
PFBlcmZvcm1hbmNlPjo6ZGVyZWY7CisKIHByaXZhdGU6CiAgICAgZXhwbGljaXQgUGVyZm9ybWFu
Y2UoRnJhbWUqKTsKIAorICAgIHZpcnR1YWwgdm9pZCByZWZFdmVudFRhcmdldCgpIHsgcmVmKCk7
IH0KKyAgICB2aXJ0dWFsIHZvaWQgZGVyZWZFdmVudFRhcmdldCgpIHsgZGVyZWYoKTsgfQorICAg
IHZpcnR1YWwgRXZlbnRUYXJnZXREYXRhKiBldmVudFRhcmdldERhdGEoKTsKKyAgICB2aXJ0dWFs
IEV2ZW50VGFyZ2V0RGF0YSogZW5zdXJlRXZlbnRUYXJnZXREYXRhKCk7CisKKyAgICBFdmVudFRh
cmdldERhdGEgbV9ldmVudFRhcmdldERhdGE7CisgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCAq
bV9zY3JpcHRFeGVjdXRpb25Db250ZXh0OworCiAgICAgbXV0YWJsZSBSZWZQdHI8UGVyZm9ybWFu
Y2VOYXZpZ2F0aW9uPiBtX25hdmlnYXRpb247CiAgICAgbXV0YWJsZSBSZWZQdHI8UGVyZm9ybWFu
Y2VUaW1pbmc+IG1fdGltaW5nOworCisjaWYgRU5BQkxFKFJFU09VUkNFX1RJTUlORykKKyAgICBW
ZWN0b3I8UmVmUHRyPFBlcmZvcm1hbmNlRW50cnk+ID4gbV9yZXNvdXJjZVRpbWluZ0J1ZmZlcjsK
KyNlbmRpZgogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3Jt
YW5jZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmlkbAppbmRleCBhMGNk
ODM4NDIxNWY0YjcwNTg3OWRkZjM3Nzk0MjBiODE4ZjUxMjdjLi43M2ZmNmYxYTgyYzExNjk1Mzc0
MGRmYjIzMTExMjJhYTliNTU0YTAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bl
cmZvcm1hbmNlLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmlkbApA
QCAtMzMsNiArMzMsNyBAQCBtb2R1bGUgd2luZG93IHsKICAgICAvLyBTZWU6IGh0dHA6Ly9kZXYu
dzMub3JnLzIwMDYvd2ViYXBpL1dlYlRpbWluZy8KICAgICBpbnRlcmZhY2UgWwogICAgICAgICBD
b25kaXRpb25hbD1XRUJfVElNSU5HLAorICAgICAgICBFdmVudFRhcmdldCwKICAgICAgICAgT21p
dENvbnN0cnVjdG9yCiAgICAgXSBQZXJmb3JtYW5jZSB7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSBQZXJmb3JtYW5jZU5hdmlnYXRpb24gbmF2aWdhdGlvbjsKQEAgLTQ0LDYgKzQ1LDEzIEBA
IG1vZHVsZSB3aW5kb3cgewogICAgICAgICBQZXJmb3JtYW5jZUVudHJ5TGlzdCB3ZWJraXRHZXRF
bnRyaWVzQnlUeXBlKGluIERPTVN0cmluZyBlbnRyeVR5cGUpOwogICAgICAgICBQZXJmb3JtYW5j
ZUVudHJ5TGlzdCB3ZWJraXRHZXRFbnRyaWVzQnlOYW1lKGluIERPTVN0cmluZyBuYW1lLCBpbiBb
T3B0aW9uYWw9RGVmYXVsdElzTnVsbFN0cmluZ10gRE9NU3RyaW5nIGVudHJ5VHlwZSk7CiAjZW5k
aWYKKworI2lmIGRlZmluZWQoRU5BQkxFX1JFU09VUkNFX1RJTUlORykgJiYgRU5BQkxFX1JFU09V
UkNFX1RJTUlORworICAgICAgICB2b2lkIHdlYmtpdENsZWFyUmVzb3VyY2VUaW1pbmdzKCk7Cisg
ICAgICAgIHZvaWQgd2Via2l0U2V0UmVzb3VyY2VUaW1pbmdCdWZmZXJTaXplKGluIHVuc2lnbmVk
IGxvbmcgbWF4U2l6ZSk7CisKKyAgICAgICAgYXR0cmlidXRlIEV2ZW50TGlzdGVuZXIgb253ZWJr
aXRyZXNvdXJjZXRpbWluZ2J1ZmZlcmZ1bGw7CisjZW5kaWYKICAgICB9OwogCiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50cnkuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmNwcAppbmRleCBhYzUyM2M2ZGM2MTc4OTgyY2E1
ZWVlNzIyYTkyZTBiOGJjNDhmMTkyLi5hZDY5NTQ3MDBlNjcyNGZiMTNhMDUxMWQyMDExOTM3NDFm
OTUyYmE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50cnku
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeS5jcHAKQEAgLTQz
LDYgKzQzLDEwIEBAIFBlcmZvcm1hbmNlRW50cnk6OlBlcmZvcm1hbmNlRW50cnkoY29uc3QgU3Ry
aW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGVudHJ5VHlwZSwKIHsKIH0KIAorUGVyZm9ybWFuY2VF
bnRyeTo6flBlcmZvcm1hbmNlRW50cnkoKQoreworfQorCiBTdHJpbmcgUGVyZm9ybWFuY2VFbnRy
eTo6bmFtZSgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIG1fbmFtZTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Q
ZXJmb3JtYW5jZUVudHJ5LmgKaW5kZXggODY2NmU0MzFkYWUzMWUwZTMyZGZlYzIyOTY5ZGYzNzI1
OWI5MTU5MS4uNmQ5NjcyMTk3NTNhNGI1YWM3MmRjNGM0NDRjYjBmMWIzZWYyOTJjYyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmgKQEAgLTQyLDExICs0MiwxNSBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFBlcmZvcm1hbmNlRW50cnkgOiBwdWJsaWMgUmVmQ291
bnRlZDxQZXJmb3JtYW5jZUVudHJ5PiB7CiBwdWJsaWM6CisgICAgdmlydHVhbCB+UGVyZm9ybWFu
Y2VFbnRyeSgpOworCiAgICAgU3RyaW5nIG5hbWUoKSBjb25zdDsKICAgICBTdHJpbmcgZW50cnlU
eXBlKCkgY29uc3Q7CiAgICAgZG91YmxlIHN0YXJ0VGltZSgpIGNvbnN0OwogICAgIGRvdWJsZSBk
dXJhdGlvbigpIGNvbnN0OwogCisgICAgdmlydHVhbCBib29sIGlzUmVzb3VyY2UoKSB7IHJldHVy
biBmYWxzZTsgfQorCiBwcm90ZWN0ZWQ6CiAgICAgUGVyZm9ybWFuY2VFbnRyeShjb25zdCBTdHJp
bmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgZW50cnlUeXBlLCBkb3VibGUgc3RhcnRUaW1lLCBkb3Vi
bGUgZHVyYXRpb24pOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1h
bmNlRW50cnkuaWRsIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmlkbApp
bmRleCBhNzg4YmQ5YzZlNDI3YmNkMDZjMGFkNDU2MjU5NGNlYzMxM2VlYjRkLi45ZTEwZmUwYmYx
NzUzMTlmMjJjMzdkMjYwM2EwZTgyZDk4ZjM4MzJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1BlcmZvcm1hbmNlRW50cnkuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVy
Zm9ybWFuY2VFbnRyeS5pZGwKQEAgLTM0LDYgKzM0LDcgQEAgbW9kdWxlIHdpbmRvdyB7CiAgICAg
aW50ZXJmYWNlIFsKICAgICAgICAgQ29uZGl0aW9uYWw9V0VCX1RJTUlORywKICAgICAgICAgQ29u
ZGl0aW9uYWw9UEVSRk9STUFOQ0VfVElNRUxJTkUsCisgICAgICAgIEN1c3RvbVRvSlNPYmplY3Qs
CiAgICAgICAgIE9taXRDb25zdHJ1Y3RvcgogICAgIF0gUGVyZm9ybWFuY2VFbnRyeSB7CiAgICAg
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgbmFtZTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuY3BwCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY2ZmVh
ZWU3M2UzMzI5MGQ2N2U2Y2E2YzdjMTIyNDM4NTFlNzVhOTEKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuY3BwCkBAIC0wLDAg
KzEsMTgzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6
CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIK
KyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2Yg
R29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUg
dXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlz
IHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFO
RCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJ
R0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlBlcmZvcm1hbmNlUmVzb3Vy
Y2VUaW1pbmcuaCIKKworI2lmIEVOQUJMRShSRVNPVVJDRV9USU1JTkcpCisKKyNpbmNsdWRlICJE
b2N1bWVudC5oIgorI2luY2x1ZGUgIkRvY3VtZW50TG9hZFRpbWluZy5oIgorI2luY2x1ZGUgIkRv
Y3VtZW50TG9hZGVyLmgiCisjaW5jbHVkZSAiS1VSTC5oIgorI2luY2x1ZGUgIlJlc291cmNlUmVx
dWVzdC5oIgorI2luY2x1ZGUgIlJlc291cmNlUmVzcG9uc2UuaCIKKyNpbmNsdWRlICJTZWN1cml0
eU9yaWdpbi5oIgorI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUg
eworCitzdGF0aWMgU3RyaW5nIHRvUGVyZm9ybWFuY2VJbml0aWF0b3JUeXBlKFJlc291cmNlUmVx
dWVzdDo6SW5pdGlhdG9yVHlwZSB0eXBlKQoreworICAgIHN3aXRjaCAodHlwZSkgeworICAgIGNh
c2UgUmVzb3VyY2VSZXF1ZXN0OjpJbml0aWF0b3JJc0NTUzoKKyAgICAgICAgcmV0dXJuICJjc3Mi
OworICAgIGNhc2UgUmVzb3VyY2VSZXF1ZXN0OjpJbml0aWF0b3JJc0VtYmVkRWxlbWVudDoKKyAg
ICAgICAgcmV0dXJuICJlbWJlZCI7CisgICAgY2FzZSBSZXNvdXJjZVJlcXVlc3Q6OkluaXRpYXRv
cklzSW1hZ2VFbGVtZW50OgorICAgICAgICByZXR1cm4gImltZyI7CisgICAgY2FzZSBSZXNvdXJj
ZVJlcXVlc3Q6OkluaXRpYXRvcklzTGlua0VsZW1lbnQ6CisgICAgICAgIHJldHVybiAibGluayI7
CisgICAgY2FzZSBSZXNvdXJjZVJlcXVlc3Q6OkluaXRpYXRvcklzT2JqZWN0RWxlbWVudDoKKyAg
ICAgICAgcmV0dXJuICJvYmplY3QiOworICAgIGNhc2UgUmVzb3VyY2VSZXF1ZXN0OjpJbml0aWF0
b3JJc1NjcmlwdEVsZW1lbnQ6CisgICAgICAgIHJldHVybiAic2NyaXB0IjsKKyAgICBjYXNlIFJl
c291cmNlUmVxdWVzdDo6SW5pdGlhdG9ySXNTdWJEb2N1bWVudDoKKyAgICAgICAgcmV0dXJuICJz
dWJkb2N1bWVudCI7CisgICAgY2FzZSBSZXNvdXJjZVJlcXVlc3Q6OkluaXRpYXRvcklzU1ZHOgor
ICAgICAgICByZXR1cm4gInN2ZyI7CisgICAgY2FzZSBSZXNvdXJjZVJlcXVlc3Q6OkluaXRpYXRv
cklzWEhSOgorICAgICAgICByZXR1cm4gInhtbGh0dHByZXF1ZXN0IjsKKyAgICBjYXNlIFJlc291
cmNlUmVxdWVzdDo6SW5pdGlhdG9ySXNVbmtub3duOgorICAgIGNhc2UgUmVzb3VyY2VSZXF1ZXN0
OjpJbml0aWF0b3JJc01haW5Eb2N1bWVudDoKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7
CisgICAgICAgIHJldHVybiAib3RoZXIiOworICAgIH0KKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQo
KTsKKyAgICByZXR1cm4gIm90aGVyIjsKK30KKworUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6
UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZyhjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3Qs
IGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlLCBkb3VibGUgZmluaXNoVGltZSwgRG9j
dW1lbnQqIHJlcXVlc3RpbmdEb2N1bWVudCkKKyAgICA6IFBlcmZvcm1hbmNlRW50cnkocmVxdWVz
dC51cmwoKS5zdHJpbmcoKSwgInJlc291cmNlIiwgcmVxdWVzdC5pbml0aWF0ZWRUaW1lKCksIGZp
bmlzaFRpbWUpCisgICAgLCBtX2luaXRpYXRvclR5cGUodG9QZXJmb3JtYW5jZUluaXRpYXRvclR5
cGUocmVxdWVzdC5pbml0aWF0b3JUeXBlKCkpKQorICAgICwgbV90aW1pbmcocmVzcG9uc2UucmVz
b3VyY2VMb2FkVGltaW5nKCkpCisgICAgLCBtX2ZpbmlzaFRpbWUoZmluaXNoVGltZSkKKyAgICAs
IG1fcmVxdWVzdGluZ0RvY3VtZW50KHJlcXVlc3RpbmdEb2N1bWVudCkKK3sKK30KKworU3RyaW5n
IFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OmluaXRpYXRvclR5cGUoKSBjb25zdAoreworICAg
IHJldHVybiBtX2luaXRpYXRvclR5cGU7Cit9CisKKy8vIEZJWE1FOiBOZWVkIHRvIGVuZm9yY2Ug
c2FtZS1vcmlnaW4gcG9saWN5IG9uIHRoZXNlLgorCitkb3VibGUgUGVyZm9ybWFuY2VSZXNvdXJj
ZVRpbWluZzo6cmVkaXJlY3RTdGFydCgpIGNvbnN0Cit7CisgICAgLy8gRklYTUU6IE5lZWQgdG8g
dHJhY2sgYW5kIHJlcG9ydCByZWRpcmVjdHMgZm9yIHJlc291cmNlcy4KKyAgICByZXR1cm4gMDsK
K30KKworZG91YmxlIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OnJlZGlyZWN0RW5kKCkgY29u
c3QKK3sKKyAgICByZXR1cm4gMDsKK30KKworZG91YmxlIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1p
bmc6OmZldGNoU3RhcnQoKSBjb25zdAoreworICAgIHJldHVybiBtb25vdG9uaWNUaW1lVG9Eb2N1
bWVudE1pbGxpc2Vjb25kcyhtX3RpbWluZy0+cmVxdWVzdFRpbWUpOworfQorCitkb3VibGUgUGVy
Zm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6ZG9tYWluTG9va3VwU3RhcnQoKSBjb25zdAoreworICAg
IGlmIChtX3RpbWluZy0+ZG5zU3RhcnQgPCAwKQorICAgICAgICByZXR1cm4gZmV0Y2hTdGFydCgp
OworCisgICAgcmV0dXJuIHJlc291cmNlVGltZVRvRG9jdW1lbnRNaWxsaXNlY29uZHMobV90aW1p
bmctPmRuc1N0YXJ0KTsKK30KKworZG91YmxlIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OmRv
bWFpbkxvb2t1cEVuZCgpIGNvbnN0Cit7CisgICAgaWYgKG1fdGltaW5nLT5kbnNFbmQgPCAwKQor
ICAgICAgICByZXR1cm4gZG9tYWluTG9va3VwU3RhcnQoKTsKKworICAgIHJldHVybiByZXNvdXJj
ZVRpbWVUb0RvY3VtZW50TWlsbGlzZWNvbmRzKG1fdGltaW5nLT5kbnNFbmQpOworfQorCitkb3Vi
bGUgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6Y29ubmVjdFN0YXJ0KCkgY29uc3QKK3sKKyAg
ICBpZiAobV90aW1pbmctPmNvbm5lY3RTdGFydCA8IDApIC8vIENvbm5lY3Rpb24gd2FzIHJldXNl
ZC4KKyAgICAgICAgcmV0dXJuIGRvbWFpbkxvb2t1cEVuZCgpOworCisgICAgLy8gY29ubmVjdFN0
YXJ0IGluY2x1ZGVzIGFueSBETlMgdGltZSwgc28gd2UgbWF5IG5lZWQgdG8gdHJpbSB0aGF0IG9m
Zi4KKyAgICBpbnQgY29ubmVjdFN0YXJ0ID0gbV90aW1pbmctPmNvbm5lY3RTdGFydDsKKyAgICBp
ZiAobV90aW1pbmctPmRuc0VuZCA+PSAwKQorICAgICAgICBjb25uZWN0U3RhcnQgPSBtX3RpbWlu
Zy0+ZG5zRW5kOworCisgICAgcmV0dXJuIHJlc291cmNlVGltZVRvRG9jdW1lbnRNaWxsaXNlY29u
ZHMoY29ubmVjdFN0YXJ0KTsKK30KKworZG91YmxlIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6
OmNvbm5lY3RFbmQoKSBjb25zdAoreworICAgIGlmIChtX3RpbWluZy0+Y29ubmVjdEVuZCA8IDAp
IC8vIENvbm5lY3Rpb24gd2FzIHJldXNlZC4KKyAgICAgICAgcmV0dXJuIGNvbm5lY3RTdGFydCgp
OworCisgICAgcmV0dXJuIHJlc291cmNlVGltZVRvRG9jdW1lbnRNaWxsaXNlY29uZHMobV90aW1p
bmctPmNvbm5lY3RFbmQpOworfQorCitkb3VibGUgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6
c2VjdXJlQ29ubmVjdGlvblN0YXJ0KCkgY29uc3QKK3sKKyAgICBpZiAobV90aW1pbmctPnNzbFN0
YXJ0IDwgMCkgLy8gU2VjdXJlIGNvbm5lY3Rpb24gbm90IG5lZ290aWF0ZWQuCisgICAgICAgIHJl
dHVybiAwOworCisgICAgcmV0dXJuIHJlc291cmNlVGltZVRvRG9jdW1lbnRNaWxsaXNlY29uZHMo
bV90aW1pbmctPnNzbFN0YXJ0KTsKK30KKworZG91YmxlIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1p
bmc6OnJlcXVlc3RTdGFydCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIHJlc291cmNlVGltZVRvRG9j
dW1lbnRNaWxsaXNlY29uZHMobV90aW1pbmctPnNlbmRTdGFydCk7Cit9CisKK2RvdWJsZSBQZXJm
b3JtYW5jZVJlc291cmNlVGltaW5nOjpyZXNwb25zZVN0YXJ0KCkgY29uc3QKK3sKKyAgICAvLyBG
SVhNRTogVGhpcyBudW1iZXIgaXNuJ3QgZXhhY3RseSBjb3JyZWN0LiBTZWUgdGhlIG5vdGVzIGlu
IFBlcmZvcm1hbmNlVGltaW5nOjpyZXNwb25zZVN0YXJ0KCkuCisgICAgcmV0dXJuIHJlc291cmNl
VGltZVRvRG9jdW1lbnRNaWxsaXNlY29uZHMobV90aW1pbmctPnJlY2VpdmVIZWFkZXJzRW5kKTsK
K30KKworZG91YmxlIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OnJlc3BvbnNlRW5kKCkgY29u
c3QKK3sKKyAgICByZXR1cm4gbW9ub3RvbmljVGltZVRvRG9jdW1lbnRNaWxsaXNlY29uZHMobV9m
aW5pc2hUaW1lKTsKK30KKworZG91YmxlIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6Om1vbm90
b25pY1RpbWVUb0RvY3VtZW50TWlsbGlzZWNvbmRzKGRvdWJsZSBzZWNvbmRzKSBjb25zdAorewor
ICAgIEFTU0VSVChzZWNvbmRzID49IDAuMCk7CisgICAgcmV0dXJuIG1fcmVxdWVzdGluZ0RvY3Vt
ZW50LT5sb2FkZXIoKS0+dGltaW5nKCktPmNvbnZlcnRNb25vdG9uaWNUaW1lVG9Eb2N1bWVudFRp
bWUoc2Vjb25kcykgKiAxMDAwLjA7Cit9CisKK2RvdWJsZSBQZXJmb3JtYW5jZVJlc291cmNlVGlt
aW5nOjpyZXNvdXJjZVRpbWVUb0RvY3VtZW50TWlsbGlzZWNvbmRzKGludCBkZWx0YU1pbGxpc2Vj
b25kcykgY29uc3QKK3sKKyAgICByZXR1cm4gbW9ub3RvbmljVGltZVRvRG9jdW1lbnRNaWxsaXNl
Y29uZHMobV90aW1pbmctPnJlcXVlc3RUaW1lKSArIGRlbHRhTWlsbGlzZWNvbmRzOworfQorCit9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoUkVTT1VSQ0VfVElNSU5H
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGlt
aW5nLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mODc5OGM2MDg3M2FhNzQwMzk3ZTQ5MWVlY2JhNTJlMzIxNzRkNDMwCi0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGlt
aW5nLmgKQEAgLTAsMCArMSw4OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
IGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVy
IHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmli
dXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQg
ZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVy
bWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklH
SFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywg
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
CisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisg
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZ19o
CisjZGVmaW5lIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmdfaAorCisjaWYgRU5BQkxFKFJFU09V
UkNFX1RJTUlORykKKworI2luY2x1ZGUgIlBlcmZvcm1hbmNlLmgiCisjaW5jbHVkZSAiUGVyZm9y
bWFuY2VFbnRyeS5oIgorI2luY2x1ZGUgIlJlc291cmNlTG9hZFRpbWluZy5oIgorI2luY2x1ZGUg
IlJlc291cmNlUmVxdWVzdC5oIgorI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CisjaW5jbHVk
ZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBEb2N1
bWVudDsKK2NsYXNzIEtVUkw7CitjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOworCitjbGFzcyBQZXJm
b3JtYW5jZVJlc291cmNlVGltaW5nIDogcHVibGljIFBlcmZvcm1hbmNlRW50cnkgeworcHVibGlj
OgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc+IGNyZWF0
ZShjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IFJlc291cmNlUmVzcG9uc2Um
IHJlc3BvbnNlLCBkb3VibGUgZmluaXNoVGltZSwgRG9jdW1lbnQqIHJlcXVlc3RpbmdEb2N1bWVu
dCkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgUGVyZm9ybWFuY2VSZXNvdXJj
ZVRpbWluZyhyZXF1ZXN0LCByZXNwb25zZSwgZmluaXNoVGltZSwgcmVxdWVzdGluZ0RvY3VtZW50
KSk7CisgICAgfQorCisgICAgU3RyaW5nIGluaXRpYXRvclR5cGUoKSBjb25zdDsKKworICAgIGRv
dWJsZSByZWRpcmVjdFN0YXJ0KCkgY29uc3Q7CisgICAgZG91YmxlIHJlZGlyZWN0RW5kKCkgY29u
c3Q7CisgICAgZG91YmxlIGZldGNoU3RhcnQoKSBjb25zdDsKKyAgICBkb3VibGUgZG9tYWluTG9v
a3VwU3RhcnQoKSBjb25zdDsKKyAgICBkb3VibGUgZG9tYWluTG9va3VwRW5kKCkgY29uc3Q7Cisg
ICAgZG91YmxlIGNvbm5lY3RTdGFydCgpIGNvbnN0OworICAgIGRvdWJsZSBjb25uZWN0RW5kKCkg
Y29uc3Q7CisgICAgZG91YmxlIHNlY3VyZUNvbm5lY3Rpb25TdGFydCgpIGNvbnN0OworICAgIGRv
dWJsZSByZXF1ZXN0U3RhcnQoKSBjb25zdDsKKyAgICBkb3VibGUgcmVzcG9uc2VTdGFydCgpIGNv
bnN0OworICAgIGRvdWJsZSByZXNwb25zZUVuZCgpIGNvbnN0OworCisgICAgdmlydHVhbCBib29s
IGlzUmVzb3VyY2UoKSB7IHJldHVybiB0cnVlOyB9CisKK3ByaXZhdGU6CisgICAgUGVyZm9ybWFu
Y2VSZXNvdXJjZVRpbWluZyhjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBSZXNvdXJjZVJl
c3BvbnNlJiwgZG91YmxlIGZpbmlzaFRpbWUsIERvY3VtZW50Kik7CisKKyAgICBkb3VibGUgbW9u
b3RvbmljVGltZVRvRG9jdW1lbnRNaWxsaXNlY29uZHMoZG91YmxlIHNlY29uZHMpIGNvbnN0Owor
ICAgIGRvdWJsZSByZXNvdXJjZVRpbWVUb0RvY3VtZW50TWlsbGlzZWNvbmRzKGludCBkZWx0YU1p
bGxpc2Vjb25kcykgY29uc3Q7CisKKyAgICBTdHJpbmcgbV9pbml0aWF0b3JUeXBlOworICAgIFJl
ZlB0cjxSZXNvdXJjZUxvYWRUaW1pbmc+IG1fdGltaW5nOworICAgIGRvdWJsZSBtX2ZpbmlzaFRp
bWU7CisgICAgUmVmUHRyPERvY3VtZW50PiBtX3JlcXVlc3RpbmdEb2N1bWVudDsKK307CisKK30K
KworI2VuZGlmIC8vIEVOQUJMRShSRVNPVVJDRV9USU1JTkcpCisKKyNlbmRpZiAvLyAhZGVmaW5l
ZChQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nX2gpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaWRsIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zZTBhZDU5Y2U4NGJm
MTNkMjFiMTQ5ODliOWYxMDNlMTY5ZThmMjM4Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmlkbApAQCAtMCwwICsxLDUyIEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICog
ICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRo
ZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUK
KyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIElu
Yy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBl
bmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJl
IHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklC
VVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBP
V05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
CisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
bW9kdWxlIHdpbmRvdyB7CisKKyAgICAvLyBTZWU6IGh0dHBzOi8vZHZjcy53My5vcmcvaGcvd2Vi
cGVyZi9yYXctZmlsZS90aXAvc3BlY3MvUmVzb3VyY2VUaW1pbmcvT3ZlcnZpZXcuaHRtbAorICAg
IGludGVyZmFjZSBbCisgICAgICAgIENvbmRpdGlvbmFsPVJFU09VUkNFX1RJTUlORywKKyAgICAg
ICAgT21pdENvbnN0cnVjdG9yCisgICAgXSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nIDogUGVy
Zm9ybWFuY2VFbnRyeSB7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgaW5p
dGlhdG9yVHlwZTsKKworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgZG91YmxlIHJlZGlyZWN0
U3RhcnQ7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBkb3VibGUgcmVkaXJlY3RFbmQ7Cisg
ICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBkb3VibGUgZmV0Y2hTdGFydDsKKyAgICAgICAgcmVh
ZG9ubHkgYXR0cmlidXRlIGRvdWJsZSBkb21haW5Mb29rdXBTdGFydDsKKyAgICAgICAgcmVhZG9u
bHkgYXR0cmlidXRlIGRvdWJsZSBkb21haW5Mb29rdXBFbmQ7CisgICAgICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSBkb3VibGUgY29ubmVjdFN0YXJ0OworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUg
ZG91YmxlIGNvbm5lY3RFbmQ7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBkb3VibGUgc2Vj
dXJlQ29ubmVjdGlvblN0YXJ0OworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgZG91YmxlIHJl
cXVlc3RTdGFydDsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGRvdWJsZSByZXNwb25zZVN0
YXJ0OworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgZG91YmxlIHJlc3BvbnNlRW5kOworICAg
IH07Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291
cmNlUmVxdWVzdEJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNv
dXJjZVJlcXVlc3RCYXNlLmNwcAppbmRleCAzNTA5NzkyOTI3OGM3NjA2NGM0YjBkZWI5YWZlMzlm
ZjE5YmU0YzI0Li5lNTExYzI0NDllNmY3NDhkYTg4MTMyNzEyNDdlY2FhOTdiNzBjZjcwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJh
c2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1
ZXN0QmFzZS5jcHAKQEAgLTUzLDYgKzUzLDcgQEAgUGFzc093blB0cjxSZXNvdXJjZVJlcXVlc3Q+
IFJlc291cmNlUmVxdWVzdEJhc2U6OmFkb3B0KFBhc3NPd25QdHI8Q3Jvc3NUaHJlYWRSZXMKICAg
ICByZXF1ZXN0LT5zZXRGaXJzdFBhcnR5Rm9yQ29va2llcyhkYXRhLT5tX2ZpcnN0UGFydHlGb3JD
b29raWVzKTsKICAgICByZXF1ZXN0LT5zZXRIVFRQTWV0aG9kKGRhdGEtPm1faHR0cE1ldGhvZCk7
CiAgICAgcmVxdWVzdC0+c2V0UHJpb3JpdHkoZGF0YS0+bV9wcmlvcml0eSk7CisgICAgcmVxdWVz
dC0+c2V0SW5pdGlhdG9yVHlwZShkYXRhLT5tX2luaXRpYXRvclR5cGUpOwogCiAgICAgcmVxdWVz
dC0+dXBkYXRlUmVzb3VyY2VSZXF1ZXN0KCk7CiAgICAgcmVxdWVzdC0+bV9odHRwSGVhZGVyRmll
bGRzLmFkb3B0KGRhdGEtPm1faHR0cEhlYWRlcnMucmVsZWFzZSgpKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmgKaW5kZXgg
ODZkZDYyZThlMDhjMjYwNDQyYzNhMWMxOTU4YjkyMDYxNDQzMGMwYy4uYmIxOTIxNzMzMWY1N2Qx
MzgxMTkwMGM2NDdjMzE3ZmM3YjIzNmU2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmgKQEAgLTMzLDYgKzMzLDcgQEAK
ICNpbmNsdWRlICJLVVJMLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VMb2FkUHJpb3JpdHkuaCIKIAor
I2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KIAog
bmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNTEsNiArNTIsMjAgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogICAgIGNsYXNzIFJlc291cmNlUmVxdWVzdEJhc2UgewogICAgICAgICBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CisgICAgICAgIGVudW0gSW5pdGlhdG9yVHlwZSB7Cisg
ICAgICAgICAgICBJbml0aWF0b3JJc1Vua25vd24sCisgICAgICAgICAgICBJbml0aWF0b3JJc01h
aW5Eb2N1bWVudCwKKyAgICAgICAgICAgIEluaXRpYXRvcklzQ1NTLAorICAgICAgICAgICAgSW5p
dGlhdG9ySXNFbWJlZEVsZW1lbnQsCisgICAgICAgICAgICBJbml0aWF0b3JJc0ltYWdlRWxlbWVu
dCwKKyAgICAgICAgICAgIEluaXRpYXRvcklzTGlua0VsZW1lbnQsCisgICAgICAgICAgICBJbml0
aWF0b3JJc09iamVjdEVsZW1lbnQsCisgICAgICAgICAgICBJbml0aWF0b3JJc1NjcmlwdEVsZW1l
bnQsCisgICAgICAgICAgICBJbml0aWF0b3JJc1N1YkRvY3VtZW50LAorICAgICAgICAgICAgSW5p
dGlhdG9ySXNTVkcsCisgICAgICAgICAgICBJbml0aWF0b3JJc1hIUiwKKyAgICAgICAgfTsKKwog
ICAgICAgICBzdGF0aWMgUGFzc093blB0cjxSZXNvdXJjZVJlcXVlc3Q+IGFkb3B0KFBhc3NPd25Q
dHI8Q3Jvc3NUaHJlYWRSZXNvdXJjZVJlcXVlc3REYXRhPik7CiAKICAgICAgICAgLy8gR2V0cyBh
IGNvcHkgb2YgdGhlIGRhdGEgc3VpdGFibGUgZm9yIHBhc3NpbmcgdG8gYW5vdGhlciB0aHJlYWQu
CkBAIC0xMzIsNiArMTQ3LDExIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgYm9vbCBy
ZXBvcnRSYXdIZWFkZXJzKCkgY29uc3QgeyByZXR1cm4gbV9yZXBvcnRSYXdIZWFkZXJzOyB9CiAg
ICAgICAgIHZvaWQgc2V0UmVwb3J0UmF3SGVhZGVycyhib29sIHJlcG9ydFJhd0hlYWRlcnMpIHsg
bV9yZXBvcnRSYXdIZWFkZXJzID0gcmVwb3J0UmF3SGVhZGVyczsgfQogCisgICAgICAgIEluaXRp
YXRvclR5cGUgaW5pdGlhdG9yVHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1faW5pdGlhdG9yVHlwZTsg
fQorICAgICAgICB2b2lkIHNldEluaXRpYXRvclR5cGUoSW5pdGlhdG9yVHlwZSBpbml0aWF0b3JU
eXBlKSB7IG1faW5pdGlhdG9yVHlwZSA9IGluaXRpYXRvclR5cGU7IH0KKworICAgICAgICBkb3Vi
bGUgaW5pdGlhdGVkVGltZSgpIGNvbnN0IHsgcmV0dXJuIG1faW5pdGlhdGVkVGltZTsgfQorCiAg
ICAgICAgIHN0YXRpYyBkb3VibGUgZGVmYXVsdFRpbWVvdXRJbnRlcnZhbCgpOyAvLyBNYXkgcmV0
dXJuIDAgd2hlbiB1c2luZyBwbGF0Zm9ybSBkZWZhdWx0LgogICAgICAgICBzdGF0aWMgdm9pZCBz
ZXREZWZhdWx0VGltZW91dEludGVydmFsKGRvdWJsZSk7CiAKQEAgLTE0Niw2ICsxNjYsOCBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgICAgICAsIG1fcmVwb3J0TG9hZFRpbWluZyhmYWxz
ZSkKICAgICAgICAgICAgICwgbV9yZXBvcnRSYXdIZWFkZXJzKGZhbHNlKQogICAgICAgICAgICAg
LCBtX3ByaW9yaXR5KFJlc291cmNlTG9hZFByaW9yaXR5TG93KQorICAgICAgICAgICAgLCBtX2lu
aXRpYXRvclR5cGUoSW5pdGlhdG9ySXNVbmtub3duKQorICAgICAgICAgICAgLCBtX2luaXRpYXRl
ZFRpbWUobW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCkpCiAgICAgICAgIHsKICAgICAgICAg
fQogCkBAIC0xNjEsNiArMTgzLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAgICAg
LCBtX3JlcG9ydExvYWRUaW1pbmcoZmFsc2UpCiAgICAgICAgICAgICAsIG1fcmVwb3J0UmF3SGVh
ZGVycyhmYWxzZSkKICAgICAgICAgICAgICwgbV9wcmlvcml0eShSZXNvdXJjZUxvYWRQcmlvcml0
eUxvdykKKyAgICAgICAgICAgICwgbV9pbml0aWF0b3JUeXBlKEluaXRpYXRvcklzVW5rbm93bikK
KyAgICAgICAgICAgICwgbV9pbml0aWF0ZWRUaW1lKG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGlt
ZSgpKQogICAgICAgICB7CiAgICAgICAgIH0KIApAQCAtMTg2LDYgKzIxMCw4IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKICAgICAgICAgYm9vbCBtX3JlcG9ydExvYWRUaW1pbmcgOiAxOwogICAgICAg
ICBib29sIG1fcmVwb3J0UmF3SGVhZGVycyA6IDE7CiAgICAgICAgIFJlc291cmNlTG9hZFByaW9y
aXR5IG1fcHJpb3JpdHk7CisgICAgICAgIEluaXRpYXRvclR5cGUgbV9pbml0aWF0b3JUeXBlOwor
ICAgICAgICBkb3VibGUgbV9pbml0aWF0ZWRUaW1lOwogCiAgICAgcHJpdmF0ZToKICAgICAgICAg
Y29uc3QgUmVzb3VyY2VSZXF1ZXN0JiBhc1Jlc291cmNlUmVxdWVzdCgpIGNvbnN0OwpAQCAtMjE0
LDggKzI0MCw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgUmVmUHRyPEZvcm1EYXRh
PiBtX2h0dHBCb2R5OwogICAgICAgICBib29sIG1fYWxsb3dDb29raWVzOwogICAgICAgICBSZXNv
dXJjZUxvYWRQcmlvcml0eSBtX3ByaW9yaXR5OworICAgICAgICBSZXNvdXJjZVJlcXVlc3RCYXNl
OjpJbml0aWF0b3JUeXBlIG1faW5pdGlhdG9yVHlwZTsKICAgICB9OwotICAgIAorCiAgICAgdW5z
aWduZWQgaW5pdGlhbGl6ZU1heGltdW1IVFRQQ29ubmVjdGlvbkNvdW50UGVySG9zdCgpOwogCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>139128</attachid>
            <date>2012-04-26 20:51:24 -0700</date>
            <delta_ts>2012-06-07 19:04:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-61152-20120426205123.patch</filename>
            <type>text/plain</type>
            <size>48841</size>
            <attacher name="James Simonsen">simonjam</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE1MzIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2Y2MjFmYzQ0MjJiZGRl
ZDRmN2M3ZTA4Yzg0ZTA4YTU0ZWM2MzY0Ny4uNmI5ZGMzZDIxYjIxZTYyZWQ0MzFmMzFmNmM1MTZi
ZjRhODQ3ZjRmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDkzIEBACisyMDEyLTA0LTI2ICBKYW1l
cyBTaW1vbnNlbiAgPHNpbW9uamFtQGNocm9taXVtLm9yZz4KKworICAgICAgICBbUmVzb3VyY2Ug
VGltaW5nXSBJbXBsZW1lbnQgUmVzb3VyY2UgVGltaW5nIGludGVyZmFjZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjExNTIKKworICAgICAgICBUaGlz
IHBhdGNoIGltcGxlbWVudHMgdGhlIFJlc291cmNlIFRpbWluZyBpbnRlcmZhY2UuIEl0IGRvZXNu
J3QgZG8gYW55dGhpbmcKKyAgICAgICAgdXNlZnVsLCBiZWNhdXNlIG5vdGhpbmcgcG9wdWxhdGVz
IHRoZSB0aW1lbGluZSB5ZXQuIFRoZXJlIGFyZSBhbHNvIHNvbWUgZ2FwcworICAgICAgICBpbiB0
aGUgaW1wbGVtZW50YXRpb24sIHdoaWNoIGhhdmUgYmVlbiBmaWxlZCBhcyBidWdzLgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4g
RmVhdHVyZSBpcyBkaXNhYmxlZCBvbiBhbGwgcGxhdGZvcm1zLgorCisgICAgICAgICogQ01ha2VM
aXN0cy50eHQ6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMucHJpOgorICAgICAgICAqIEdOVW1h
a2VmaWxlLmxpc3QuYW06CisgICAgICAgICogVGFyZ2V0LnByaToKKyAgICAgICAgKiBVc2VWOC5j
bWFrZToKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ov
V2ViQ29yZS52Y3Byb2o6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTUGVyZm9ybWFuY2VDdXN0b20uY3BwOiBDb3Bp
ZWQgZnJvbSBKU0lEQlZlcnNpb25DaGFuZ2VSZXF1ZXN0Q3VzdG9tLmNwcC4KKyAgICAgICAgKFdl
YkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6SlNQZXJmb3JtYW5jZTo6dmlzaXRDaGlsZHJlbik6
CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4UGVyZm9ybWFuY2VFbnRyeUN1c3RvbS5j
cHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OnRvVjgpOiBTdXBwb3J0
IFBlcmZvcm1hbmNlRW50cnkgcG9seW1vcnBoaXNtLgorICAgICAgICAqIGRvbS9FdmVudE5hbWVz
Lmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBkb20vRXZlbnRUYXJnZXRGYWN0b3J5
LmluOgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
UGVyZm9ybWFuY2U6On5QZXJmb3JtYW5jZSk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAg
KFdlYkNvcmU6OlBlcmZvcm1hbmNlOjppbnRlcmZhY2VOYW1lKTogUmVxaXJlZCBmb3IgRXZlbnRU
YXJnZXQuCisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZTo6c2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6OndlYmtpdEdldEVu
dHJpZXMpOiBSZXR1cm4gInJlc291cmNlIiBlbnRyaWVzLgorICAgICAgICAoV2ViQ29yZTo6UGVy
Zm9ybWFuY2U6OndlYmtpdEdldEVudHJpZXNCeVR5cGUpOiBEaXR0by4KKyAgICAgICAgKFdlYkNv
cmU6OlBlcmZvcm1hbmNlOjp3ZWJraXRHZXRFbnRyaWVzQnlOYW1lKTogRGl0dG8uCisgICAgICAg
IChXZWJDb3JlOjpQZXJmb3JtYW5jZTo6d2Via2l0Q2xlYXJSZXNvdXJjZVRpbWluZ3MpOiBOZXcu
CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZTo6d2Via2l0U2V0UmVzb3VyY2VUaW1pbmdC
dWZmZXJTaXplKTogTmV3LiBVbmltcGxlbWVudGVkLgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9y
bWFuY2U6OmFkZFJlc291cmNlVGltaW5nKTogVGhpcyBpcyBob3cgcmVzb3VyY2VzIGluIFdlYkNv
cmUgd2lsbCByZXBvcnQgdG8gdGhlIHRpbWVsaW5lLgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9y
bWFuY2U6OmV2ZW50VGFyZ2V0RGF0YSk6IFJlcXVpcmVkIGZvciBFdmVudFRhcmdldC4KKyAgICAg
ICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlOjplbnN1cmVFdmVudFRhcmdldERhdGEpOiBEaXR0by4K
KyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlLmg6CisgICAgICAgIChQZXJmb3JtYW5jZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZTo6cmVmRXZlbnRUYXJnZXQpOgorICAgICAgICAo
V2ViQ29yZTo6UGVyZm9ybWFuY2U6OmRlcmVmRXZlbnRUYXJnZXQpOgorICAgICAgICAqIHBhZ2Uv
UGVyZm9ybWFuY2UuaWRsOgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VFbnRyeS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZUVudHJ5Ojp+UGVyZm9ybWFuY2VFbnRyeSk6Cisg
ICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlRW50cnkuaDoKKyAg
ICAgICAgKFBlcmZvcm1hbmNlRW50cnkpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VF
bnRyeTo6aXNSZXNvdXJjZSk6CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmlkbDoK
KyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuY3BwOiBBZGRlZC4KKyAg
ICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6dG9QZXJmb3JtYW5jZUluaXRpYXRv
clR5cGUpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6UGVy
Zm9ybWFuY2VSZXNvdXJjZVRpbWluZyk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZVJl
c291cmNlVGltaW5nOjppbml0aWF0b3JUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1h
bmNlUmVzb3VyY2VUaW1pbmc6OnJlZGlyZWN0U3RhcnQpOgorICAgICAgICAoV2ViQ29yZTo6UGVy
Zm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6cmVkaXJlY3RFbmQpOgorICAgICAgICAoV2ViQ29yZTo6
UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6ZmV0Y2hTdGFydCk6CisgICAgICAgIChXZWJDb3Jl
OjpQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpkb21haW5Mb29rdXBTdGFydCk6CisgICAgICAg
IChXZWJDb3JlOjpQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpkb21haW5Mb29rdXBFbmQpOgor
ICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6Y29ubmVjdFN0YXJ0
KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OmNvbm5lY3RF
bmQpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6c2VjdXJl
Q29ubmVjdGlvblN0YXJ0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlUmVzb3VyY2VU
aW1pbmc6OnJlcXVlc3RTdGFydCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZVJlc291
cmNlVGltaW5nOjpyZXNwb25zZVN0YXJ0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNl
UmVzb3VyY2VUaW1pbmc6OnJlc3BvbnNlRW5kKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1h
bmNlUmVzb3VyY2VUaW1pbmc6Om1vbm90b25pY1RpbWVUb0RvY3VtZW50TWlsbGlzZWNvbmRzKToK
KyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OnJlc291cmNlVGlt
ZVRvTWlsbGlzZWNvbmRzKToKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1p
bmcuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFBlcmZvcm1hbmNlUmVz
b3VyY2VUaW1pbmcpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWlu
Zzo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6
OmlzUmVzb3VyY2UpOgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5p
ZGw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFz
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3RCYXNlOjphZG9wdCk6Cisg
ICAgICAgICogcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmg6CisgICAgICAg
IChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3RCYXNlOjppbml0aWF0b3JUeXBlKTogQWRkZWQuCisg
ICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3RCYXNlOjpzZXRJbml0aWF0b3JUeXBlKTog
QWRkZWQuCisgICAgICAgIChSZXNvdXJjZVJlcXVlc3RCYXNlKToKKyAgICAgICAgKFdlYkNvcmU6
OlJlc291cmNlUmVxdWVzdEJhc2U6OmluaXRpYXRlZFRpbWUpOiBBZGRlZC4KKyAgICAgICAgKFdl
YkNvcmU6OlJlc291cmNlUmVxdWVzdEJhc2U6OlJlc291cmNlUmVxdWVzdEJhc2UpOgorICAgICAg
ICAoQ3Jvc3NUaHJlYWRSZXNvdXJjZVJlcXVlc3REYXRhQmFzZSk6CisgICAgICAgIChXZWJDb3Jl
KToKKwogMjAxMi0wNC0yNiAgRG9taW5payBSw7Z0dHNjaGVzICA8ZG9taW5pay5yb3R0c2NoZXNA
bGludXguaW50ZWwuY29tPgogCiAgICAgICAgIFtjYWlyb10gQ2Fpcm9HcmFwaGljc0NvbnRleHQg
ZmlsbFJlY3QgKHdpdGggQ29sb3IpIG92ZXJyaWRlcyBjb21wb3NpdGUgb3BlcmF0b3IKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01h
a2VMaXN0cy50eHQKaW5kZXggZGZjMjAxN2U2YzZjYTk5M2E1NGJjZmZlZWYxNjQ5YjRjZWY1NDNl
MS4uYWNmNDg1NGE1N2I3Mjc5YTU5M2IzNTViZDAyYjM2OWZmOTQyOTFmMyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VM
aXN0cy50eHQKQEAgLTM3Nyw2ICszNzcsNyBAQCBTRVQoV2ViQ29yZV9JRExfRklMRVMKICAgICBw
YWdlL1BlcmZvcm1hbmNlRW50cnkuaWRsCiAgICAgcGFnZS9QZXJmb3JtYW5jZUVudHJ5TGlzdC5p
ZGwKICAgICBwYWdlL1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5pZGwKKyAgICBwYWdlL1BlcmZvcm1h
bmNlUmVzb3VyY2VUaW1pbmcuaWRsCiAgICAgcGFnZS9QZXJmb3JtYW5jZVRpbWluZy5pZGwKICAg
ICBwYWdlL1NjcmVlbi5pZGwKICAgICBwYWdlL1NwZWVjaElucHV0RXZlbnQuaWRsCkBAIC0xMDYx
LDYgKzEwNjIsNyBAQCBTRVQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgcGFnZS9QZXJmb3JtYW5jZUVu
dHJ5LmNwcAogICAgIHBhZ2UvUGVyZm9ybWFuY2VFbnRyeUxpc3QuY3BwCiAgICAgcGFnZS9QZXJm
b3JtYW5jZU5hdmlnYXRpb24uY3BwCisgICAgcGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5n
LmNwcAogICAgIHBhZ2UvUGVyZm9ybWFuY2VUaW1pbmcuY3BwCiAgICAgcGFnZS9QcmludENvbnRl
eHQuY3BwCiAgICAgcGFnZS9TY3JlZW4uY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy5wcmkgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkKaW5k
ZXggMGZhNGIyNDlhM2ViNWQzNDhiYzM0NTVlYTJmNDdhNmUxZTM2ZGU5MS4uZDQxOTU2NDEzN2Ey
ODgyYmY1M2U5NDhiNmI0OTQzNWQ5ODY1M2Y4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
RGVyaXZlZFNvdXJjZXMucHJpCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnBy
aQpAQCAtNDE0LDYgKzQxNCw3IEBAIElETF9CSU5ESU5HUyArPSBcCiAgICAgJCRQV0QvcGFnZS9Q
ZXJmb3JtYW5jZUVudHJ5LmlkbCBcCiAgICAgJCRQV0QvcGFnZS9QZXJmb3JtYW5jZUVudHJ5TGlz
dC5pZGwgXAogICAgICQkUFdEL3BhZ2UvUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmlkbCBcCisgICAg
JCRQV0QvcGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmlkbCBcCiAgICAgJCRQV0QvcGFn
ZS9QZXJmb3JtYW5jZVRpbWluZy5pZGwgXAogICAgICQkUFdEL3BhZ2UvU2NyZWVuLmlkbCBcCiAg
ICAgJCRQV0QvcGFnZS9TcGVlY2hJbnB1dEV2ZW50LmlkbCBcCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUu
bGlzdC5hbQppbmRleCBiMjMwYmZhZTdlM2FlOWY5NGVmZGU2NWZhMGNkMjJjMGFkZWM5MTdhLi44
ZGZmNjFmOTY0MDNmZDE1ZDJhNjUwNmY3Njg2NjliZjMzNDQwOTc3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1h
a2VmaWxlLmxpc3QuYW0KQEAgLTk0NSw2ICs5NDUsNyBAQCBkb21fYmluZGluZ19pZGxzICs9IFwK
IAkkKFdlYkNvcmUpL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeS5pZGwgXAogCSQoV2ViQ29yZSkvcGFn
ZS9QZXJmb3JtYW5jZUVudHJ5TGlzdC5pZGwgXAogCSQoV2ViQ29yZSkvcGFnZS9QZXJmb3JtYW5j
ZU5hdmlnYXRpb24uaWRsIFwKKwkkKFdlYkNvcmUpL3BhZ2UvUGVyZm9ybWFuY2VSZXNvdXJjZVRp
bWluZy5pZGwgXAogCSQoV2ViQ29yZSkvcGFnZS9QZXJmb3JtYW5jZVRpbWluZy5pZGwgXAogCSQo
V2ViQ29yZSkvcGFnZS9TY3JlZW4uaWRsIFwKIAkkKFdlYkNvcmUpL3BhZ2UvU3BlZWNoSW5wdXRF
dmVudC5pZGwgXApAQCAtMTQzMCw2ICsxNDMxLDcgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlT
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU05vZGVGaWx0ZXJDdXN0b20uY3BwIFwKIAlTb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU05vZGVJdGVyYXRvckN1c3RvbS5jcHAgXAogCVNvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTm9kZUxpc3RDdXN0b20uY3BwIFwKKwlTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU1BlcmZvcm1hbmNlQ3VzdG9tLmNwcCBcCiAJU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNQbHVnaW5FbGVtZW50RnVuY3Rpb25zLmNwcCBcCiAJU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNQbHVnaW5FbGVtZW50RnVuY3Rpb25zLmggXAogCVNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTUG9wU3RhdGVFdmVudEN1c3RvbS5jcHAgXApAQCAtMjk5MSw2
ICsyOTkzLDggQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9wYWdlL1Bl
cmZvcm1hbmNlRW50cnlMaXN0LmggXAogCVNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VO
YXZpZ2F0aW9uLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU5hdmlnYXRp
b24uaCBcCisJU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmNw
cCBcCisJU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmggXAog
CVNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VUaW1pbmcuY3BwIFwKIAlTb3VyY2UvV2Vi
Q29yZS9wYWdlL1BlcmZvcm1hbmNlVGltaW5nLmggXAogCVNvdXJjZS9XZWJDb3JlL3BhZ2UvUG9p
bnRlckxvY2suaCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpIGIvU291
cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQppbmRleCBkYTkzNmUzNDcyMDU2MjM0ZGMwYTVmZDA0OWZi
MjM5NTdkZDA3OTAyLi5lOGY1OTE5NjFkNzQ4NTU0ZGI2ZWFlOGYxOThiYWQ0MzFjOTFiMzExIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L1RhcmdldC5wcmkKQEAgLTIxMiw2ICsyMTIsNyBAQCB2OCB7CiAgICAgICAgIGJpbmRpbmdzL3Y4
L2N1c3RvbS9WOE5vZGVDdXN0b20uY3BwIFwKICAgICAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4
Tm9kZUxpc3RDdXN0b20uY3BwIFwKICAgICAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4UGVyZm9y
bWFuY2VDdXN0b20uY3BwIFwKKyAgICAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4UGVyZm9ybWFu
Y2VFbnRyeUN1c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhTUUxSZXN1
bHRTZXRSb3dMaXN0Q3VzdG9tLmNwcCBcCiAgICAgICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOFNR
TFRyYW5zYWN0aW9uQ3VzdG9tLmNwcCBcCiAgICAgICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOFdl
YlNvY2tldEN1c3RvbS5jcHAgXApAQCAtMzQyLDYgKzM0Myw3IEBAIHY4IHsKICAgICAgICAgYmlu
ZGluZ3MvanMvSlNOb2RlRmlsdGVyQ3VzdG9tLmNwcCBcCiAgICAgICAgIGJpbmRpbmdzL2pzL0pT
Tm9kZUl0ZXJhdG9yQ3VzdG9tLmNwcCBcCiAgICAgICAgIGJpbmRpbmdzL2pzL0pTTm9kZUxpc3RD
dXN0b20uY3BwIFwKKyAgICAgICAgYmluZGluZ3MvanMvSlNQZXJmb3JtYW5jZUN1c3RvbS5jcHAg
XAogICAgICAgICBiaW5kaW5ncy9qcy9KU1BsdWdpbkVsZW1lbnRGdW5jdGlvbnMuY3BwIFwKICAg
ICAgICAgYmluZGluZ3MvanMvSlNQb3BTdGF0ZUV2ZW50Q3VzdG9tLmNwcCBcCiAgICAgICAgIGJp
bmRpbmdzL2pzL0pTUHJvY2Vzc2luZ0luc3RydWN0aW9uQ3VzdG9tLmNwcCBcCkBAIC0xMDM1LDYg
KzEwMzcsNyBAQCBTT1VSQ0VTICs9IFwKICAgICBwYWdlL1BlcmZvcm1hbmNlRW50cnkuY3BwIFwK
ICAgICBwYWdlL1BlcmZvcm1hbmNlRW50cnlMaXN0LmNwcCBcCiAgICAgcGFnZS9QZXJmb3JtYW5j
ZU5hdmlnYXRpb24uY3BwIFwKKyAgICBwYWdlL1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuY3Bw
IFwKICAgICBwYWdlL1BlcmZvcm1hbmNlVGltaW5nLmNwcCBcCiAgICAgcGFnZS9QcmludENvbnRl
eHQuY3BwIFwKICAgICBwYWdlL1NjcmVlbi5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvVXNlSlNDLmNtYWtlIGIvU291cmNlL1dlYkNvcmUvVXNlSlNDLmNtYWtlCmluZGV4IDUxNTU4
MWNkMGVkYjM4ZDU0NWE2YmYzNGNjMjNlM2ZjNjdmOTVkNWYuLjQwNDlmODQ2ZmRkYjg3MjE4MTkw
OTMzZDI4Mzc4NmQyMWVhYzRmMDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1VzZUpTQy5j
bWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9Vc2VKU0MuY21ha2UKQEAgLTEyMCw2ICsxMjAsNyBA
QCBMSVNUKEFQUEVORCBXZWJDb3JlX1NPVVJDRVMKICAgICBiaW5kaW5ncy9qcy9KU05vZGVGaWx0
ZXJDdXN0b20uY3BwCiAgICAgYmluZGluZ3MvanMvSlNOb2RlSXRlcmF0b3JDdXN0b20uY3BwCiAg
ICAgYmluZGluZ3MvanMvSlNOb2RlTGlzdEN1c3RvbS5jcHAKKyAgICBiaW5kaW5ncy9qcy9KU1Bl
cmZvcm1hbmNlQ3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL2pzL0pTUGx1Z2luRWxlbWVudEZ1bmN0
aW9ucy5jcHAKICAgICBiaW5kaW5ncy9qcy9KU1BvcFN0YXRlRXZlbnRDdXN0b20uY3BwCiAgICAg
YmluZGluZ3MvanMvSlNQcm9jZXNzaW5nSW5zdHJ1Y3Rpb25DdXN0b20uY3BwCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Vc2VWOC5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL1VzZVY4LmNtYWtl
CmluZGV4IGVlNGU2Yjk1OTQwMmE0ZGY5MjBjNTRmMTVhOTkxYWE1ZjJmN2Q2M2UuLjJjNzY4MWY5
MWQ4MjQwNDhiYzk1MzIyNzBlYWJjZDdkZmJmODljOTkgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL1VzZVY4LmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL1VzZVY4LmNtYWtlCkBAIC0xMzgs
NiArMTM4LDcgQEAgTElTVChBUFBFTkQgV2ViQ29yZV9TT1VSQ0VTCiAgICAgYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4Tm9kZUxpc3RDdXN0b20uY3BwCiAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4Tm90
aWZpY2F0aW9uQ2VudGVyQ3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOFBlcmZv
cm1hbmNlQ3VzdG9tLmNwcAorICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOFBlcmZvcm1hbmNlRW50
cnlDdXN0b20uY3BwCiAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4UG9wU3RhdGVFdmVudEN1c3Rv
bS5jcHAKICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhTUUxSZXN1bHRTZXRSb3dMaXN0Q3VzdG9t
LmNwcAogICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOFNRTFRyYW5zYWN0aW9uQ3VzdG9tLmNwcApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS5neXBpCmluZGV4IGUwM2RkMTcyN2JlMjBkOTVjMTY4YjdkNDAzY2IxMmJhNjM1MTMw
ZDcuLjk0NTBkZTk5OTc0MWU2YzJiZjVjYmYxNjUzMzEzOGE0NjExYmI0MWYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lmd5cGkKQEAgLTExNDcsNiArMTE0Nyw3IEBACiAgICAgICAgICAgICAncGFnZS9QZXJmb3JtYW5j
ZUVudHJ5LmlkbCcsCiAgICAgICAgICAgICAncGFnZS9QZXJmb3JtYW5jZUVudHJ5TGlzdC5pZGwn
LAogICAgICAgICAgICAgJ3BhZ2UvUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmlkbCcsCisgICAgICAg
ICAgICAncGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmlkbCcsCiAgICAgICAgICAgICAn
cGFnZS9QZXJmb3JtYW5jZVRpbWluZy5pZGwnLAogICAgICAgICAgICAgJ3BhZ2UvUG9pbnRlckxv
Y2suaWRsJywKICAgICAgICAgICAgICdwYWdlL1NjcmVlbi5pZGwnLApAQCAtMTk4NCw2ICsxOTg1
LDcgQEAKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU05vZGVGaWx0ZXJDdXN0b20uY3BwJywK
ICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU05vZGVJdGVyYXRvckN1c3RvbS5jcHAnLAogICAg
ICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTTm9kZUxpc3RDdXN0b20uY3BwJywKKyAgICAgICAgICAg
ICdiaW5kaW5ncy9qcy9KU1BlcmZvcm1hbmNlQ3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmlu
ZGluZ3MvanMvSlNQbHVnaW5FbGVtZW50RnVuY3Rpb25zLmNwcCcsCiAgICAgICAgICAgICAnYmlu
ZGluZ3MvanMvSlNQb3BTdGF0ZUV2ZW50Q3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGlu
Z3MvanMvSlNQcm9jZXNzaW5nSW5zdHJ1Y3Rpb25DdXN0b20uY3BwJywKQEAgLTIyOTYsNiArMjI5
OCw3IEBACiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4Tm9kZUxpc3RDdXN0b20u
Y3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhOb3RpZmljYXRpb25DZW50
ZXJDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhQZXJmb3Jt
YW5jZUN1c3RvbS5jcHAnLAorICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFBlcmZv
cm1hbmNlRW50cnlDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20v
VjhQb3BTdGF0ZUV2ZW50Q3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3Vz
dG9tL1Y4U1FMUmVzdWx0U2V0Um93TGlzdEN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRp
bmdzL3Y4L2N1c3RvbS9WOFNRTFRyYW5zYWN0aW9uQ3VzdG9tLmNwcCcsCkBAIC0zMDE1LDYgKzMw
MTgsOCBAQAogICAgICAgICAgICAgJ3BhZ2UvUGVyZm9ybWFuY2VFbnRyeUxpc3QuaCcsCiAgICAg
ICAgICAgICAncGFnZS9QZXJmb3JtYW5jZU5hdmlnYXRpb24uY3BwJywKICAgICAgICAgICAgICdw
YWdlL1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5oJywKKyAgICAgICAgICAgICdwYWdlL1BlcmZvcm1h
bmNlUmVzb3VyY2VUaW1pbmcuY3BwJywKKyAgICAgICAgICAgICdwYWdlL1BlcmZvcm1hbmNlUmVz
b3VyY2VUaW1pbmcuaCcsCiAgICAgICAgICAgICAncGFnZS9QZXJmb3JtYW5jZVRpbWluZy5jcHAn
LAogICAgICAgICAgICAgJ3BhZ2UvUGVyZm9ybWFuY2VUaW1pbmcuaCcsCiAgICAgICAgICAgICAn
cGFnZS9Qb2ludGVyTG9jay5jcHAnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9X
ZWJDb3JlLnZjcHJvagppbmRleCA0NDdkNzQ1YzY3ZDEzOTIyYzlhMTc4ZWM1YmQ3NmVlYWYwOTQ3
YTkyLi4zYmFmNzFmZmUwMjE0NTkyOWE4NGZmYTY2MDU0MzE4NjIwMzM5Nzc2IDEwMDc1NQotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagpAQCAtMjY1MDIsNiArMjY1
MDIsMTQgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0i
Li5ccGFnZVxQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmNwcCIKKwkJCQk+CisJCQk8L0ZpbGU+
CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGFnZVxQZXJmb3JtYW5jZVJlc291cmNl
VGltaW5nLmgiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9
Ii4uXHBhZ2VcUGVyZm9ybWFuY2VUaW1pbmcuY3BwIgogCQkJCT4KIAkJCTwvRmlsZT4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBh
NzljMTM1YjA1YzljYjJmZmY4YTI5Mzg3ODc3NjNiZDYwOTliZTMxLi45YjU4NjI0MGFkMjIwNDlm
Njc1YzM3Mjc2MmM3MzMwMjczYjBmNTQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0yODY2LDYgKzI4NjYsOCBAQAogCQk4NjFD
MkVBNDEzRkI0RkREMDAwNjJBQkIgLyogRG9jdW1lbnRMb2FkVGltaW5nLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2MUMyRUEzMTNGQjRGREQwMDA2
MkFCQiAvKiBEb2N1bWVudExvYWRUaW1pbmcuY3BwICovOyB9OwogCQk4NjFDMkVBNjEzRkI0RkZG
MDAwNjJBQkIgLyogUmVzb3VyY2VMb2FkVGltaW5nLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2MUMyRUE1MTNGQjRGRkYwMDA2MkFCQiAvKiBSZXNv
dXJjZUxvYWRUaW1pbmcuY3BwICovOyB9OwogCQk4NjI0M0QwMTExQkMzMUY3MDBDQzAwNkEgLyog
SlNBcnJheUJ1ZmZlclZpZXdIZWxwZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDg2MjQzRDAwMTFCQzMxRjcwMENDMDA2QSAvKiBKU0FycmF5QnVmZmVy
Vmlld0hlbHBlci5oICovOyB9OworCQk4NjUxMkVERTE1NEEyQUVGMDBBOTA0MjYgLyogUGVyZm9y
bWFuY2VSZXNvdXJjZVRpbWluZy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA4NjUxMkVEQjE1NEEyQUVFMDBBOTA0MjYgLyogUGVyZm9ybWFuY2VSZXNv
dXJjZVRpbWluZy5jcHAgKi87IH07CisJCTg2NTEyRURGMTU0QTJBRUYwMEE5MDQyNiAvKiBQZXJm
b3JtYW5jZVJlc291cmNlVGltaW5nLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA4NjUxMkVEQzE1NEEyQUVGMDBBOTA0MjYgLyogUGVyZm9ybWFuY2VSZXNv
dXJjZVRpbWluZy5oICovOyB9OwogCQk4NkJFMzQwMDE1MDU4Q0IyMDBDRTBGRDggLyogUGVyZm9y
bWFuY2VFbnRyeS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA4NkJFMzNGQTE1MDU4Q0IyMDBDRTBGRDggLyogUGVyZm9ybWFuY2VFbnRyeS5jcHAgKi87
IH07CiAJCTg2QkUzNDAxMTUwNThDQjIwMENFMEZEOCAvKiBQZXJmb3JtYW5jZUVudHJ5LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NkJFMzNGQjE1MDU4
Q0IyMDBDRTBGRDggLyogUGVyZm9ybWFuY2VFbnRyeS5oICovOyB9OwogCQk4NkJFMzQwMzE1MDU4
Q0IyMDBDRTBGRDggLyogUGVyZm9ybWFuY2VFbnRyeUxpc3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODZCRTMzRkQxNTA1OENCMjAwQ0UwRkQ4IC8q
IFBlcmZvcm1hbmNlRW50cnlMaXN0LmNwcCAqLzsgfTsKQEAgLTk4NDcsNiArOTg0OSw5IEBACiAJ
CTg2MUMyRUEzMTNGQjRGREQwMDA2MkFCQiAvKiBEb2N1bWVudExvYWRUaW1pbmcuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRG9jdW1lbnRMb2FkVGltaW5nLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODYxQzJFQTUxM0ZCNEZGRjAwMDYyQUJCIC8q
IFJlc291cmNlTG9hZFRpbWluZy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBSZXNvdXJjZUxvYWRUaW1pbmcuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk4NjI0M0QwMDExQkMzMUY3MDBDQzAwNkEgLyogSlNBcnJheUJ1ZmZlclZpZXdIZWxwZXIuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNBcnJheUJ1ZmZlclZpZXdIZWxwZXIu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODY1MTJFREIxNTRBMkFFRTAwQTkwNDI2
IC8qIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTg2NTEyRURDMTU0QTJBRUYwMEE5MDQyNiAvKiBQZXJmb3JtYW5j
ZVJlc291cmNlVGltaW5nLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBlcmZv
cm1hbmNlUmVzb3VyY2VUaW1pbmcuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODY1
MTJFREQxNTRBMkFFRjAwQTkwNDI2IC8qIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaWRsICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gdGV4dDsgcGF0aCA9IFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaWRsOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NkJFMzNGQTE1MDU4Q0IyMDBDRTBGRDggLyogUGVy
Zm9ybWFuY2VFbnRyeS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQ
ZXJmb3JtYW5jZUVudHJ5LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODZCRTMz
RkIxNTA1OENCMjAwQ0UwRkQ4IC8qIFBlcmZvcm1hbmNlRW50cnkuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gUGVyZm9ybWFuY2VFbnRyeS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk4NkJFMzNGQzE1MDU4Q0IyMDBDRTBGRDggLyogUGVyZm9ybWFuY2VFbnRyeS5p
ZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gUGVyZm9ybWFuY2VFbnRyeS5pZGw7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNTQ0MCw2ICsxNTQ0NSw5IEBACiAJCQkJOEFGNEU1NTIx
MURDNUEzNjAwMEVEM0RFIC8qIFBlcmZvcm1hbmNlTmF2aWdhdGlvbi5jcHAgKi8sCiAJCQkJOEFG
NEU1NTMxMURDNUEzNjAwMEVEM0RFIC8qIFBlcmZvcm1hbmNlTmF2aWdhdGlvbi5oICovLAogCQkJ
CThBRjRFNTU0MTFEQzVBMzYwMDBFRDNERSAvKiBQZXJmb3JtYW5jZU5hdmlnYXRpb24uaWRsICov
LAorCQkJCTg2NTEyRURCMTU0QTJBRUUwMEE5MDQyNiAvKiBQZXJmb3JtYW5jZVJlc291cmNlVGlt
aW5nLmNwcCAqLywKKwkJCQk4NjUxMkVEQzE1NEEyQUVGMDBBOTA0MjYgLyogUGVyZm9ybWFuY2VS
ZXNvdXJjZVRpbWluZy5oICovLAorCQkJCTg2NTEyRUREMTU0QTJBRUYwMEE5MDQyNiAvKiBQZXJm
b3JtYW5jZVJlc291cmNlVGltaW5nLmlkbCAqLywKIAkJCQk4QUY0RTU1ODExREM1QTYzMDAwRUQz
REUgLyogUGVyZm9ybWFuY2VUaW1pbmcuY3BwICovLAogCQkJCThBRjRFNTU5MTFEQzVBNjMwMDBF
RDNERSAvKiBQZXJmb3JtYW5jZVRpbWluZy5oICovLAogCQkJCThBRjRFNTVBMTFEQzVBNjMwMDBF
RDNERSAvKiBQZXJmb3JtYW5jZVRpbWluZy5pZGwgKi8sCkBAIC0yMzg2OSw2ICsyMzg3Nyw3IEBA
CiAJCQkJODZCRTM0MDExNTA1OENCMjAwQ0UwRkQ4IC8qIFBlcmZvcm1hbmNlRW50cnkuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTg2QkUzNDA0MTUwNThDQjIwMENFMEZEOCAvKiBQZXJmb3JtYW5jZUVu
dHJ5TGlzdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOEFGNEU1NTYxMURDNUEzNjAwMEVEM0RFIC8q
IFBlcmZvcm1hbmNlTmF2aWdhdGlvbi5oIGluIEhlYWRlcnMgKi8sCisJCQkJODY1MTJFREYxNTRB
MkFFRjAwQTkwNDI2IC8qIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaCBpbiBIZWFkZXJzICov
LAogCQkJCThBRjRFNTVDMTFEQzVBNjMwMDBFRDNERSAvKiBQZXJmb3JtYW5jZVRpbWluZy5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJNDlENURDMkUwRjQyM0E3MzAwOEYyMEZEIC8qIFBlcnNwZWN0aXZl
VHJhbnNmb3JtT3BlcmF0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQlEMEZGMkE1RTExRjhDNDVB
MDA3RTc0RTAgLyogUGluZ0xvYWRlci5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNzA3MCw2ICsyNzA3
OSw3IEBACiAJCQkJODZCRTM0MDAxNTA1OENCMjAwQ0UwRkQ4IC8qIFBlcmZvcm1hbmNlRW50cnku
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJODZCRTM0MDMxNTA1OENCMjAwQ0UwRkQ4IC8qIFBlcmZv
cm1hbmNlRW50cnlMaXN0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCThBRjRFNTU1MTFEQzVBMzYw
MDBFRDNERSAvKiBQZXJmb3JtYW5jZU5hdmlnYXRpb24uY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJ
ODY1MTJFREUxNTRBMkFFRjAwQTkwNDI2IC8qIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJOEFGNEU1NUIxMURDNUE2MzAwMEVEM0RFIC8qIFBlcmZvcm1h
bmNlVGltaW5nLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQ5RDVEQzJEMEY0MjNBNzMwMDhGMjBG
RCAvKiBQZXJzcGVjdGl2ZVRyYW5zZm9ybU9wZXJhdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQlEMEZGMkE1RDExRjhDNDVBMDA3RTc0RTAgLyogUGluZ0xvYWRlci5jcHAgaW4gU291cmNlcyAq
LywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTUGVyZm9ybWFuY2VD
dXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNQZXJmb3JtYW5jZUN1c3Rv
bS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uYTI4MTA4Mzc5ODMyNmUzZjIwOGY3MGZmZGEwODA3ODg2MTkzMWQ4
NAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTUGVyZm9y
bWFuY2VDdXN0b20uY3BwCkBAIC0wLDAgKzEsNDIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTIsIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUgbWV0OgorICoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEdPT0dMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJyBBTkQKKyAqIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKKyAq
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMgQkUgTElBQkxFCisgKiBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAorICogREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IKKyAqIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSCisgKiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QKKyAqIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkKKyAqIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSAorICogREFNQUdFLgorICovCisKKyNpbmNsdWRl
ICJjb25maWcuaCIKKyNpbmNsdWRlICJKU1BlcmZvcm1hbmNlLmgiCisKKyNpZiBFTkFCTEUoV0VC
X1RJTUlORykKKworI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKwordm9pZCBKU1BlcmZvcm1hbmNlOjp2aXNpdENoaWxkcmVuKEpTQ2VsbCosIEpTQzo6
U2xvdFZpc2l0b3ImKQoreworICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQgdGhpcy4KK30KKworfQor
CisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9W
OFBlcmZvcm1hbmNlRW50cnlDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4UGVyZm9ybWFuY2VFbnRyeUN1c3RvbS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzRkZjljNzY0
ZGMxNTZkODRkOTE1OGU3OWM1ZGQyYmFhMGJiMzZkOQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFBlcmZvcm1hbmNlRW50cnlDdXN0b20uY3Bw
CkBAIC0wLDAgKzEsNjEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUK
KyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUg
bmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3Jz
IG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20K
KyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Np
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICog
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
CisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiUGVyZm9ybWFu
Y2VFbnRyeS5oIgorCisjaWYgRU5BQkxFKFBFUkZPUk1BTkNFX1RJTUVMSU5FKQorCisjaW5jbHVk
ZSAiUGVyZm9ybWFuY2UuaCIKKyNpbmNsdWRlICJQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmgi
CisKKyNpbmNsdWRlICJWOFBlcmZvcm1hbmNlRW50cnkuaCIKKyNpbmNsdWRlICJWOFBlcmZvcm1h
bmNlUmVzb3VyY2VUaW1pbmcuaCIKKworI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KKworbmFtZXNw
YWNlIFdlYkNvcmUgeworCit2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChQZXJmb3JtYW5jZUVu
dHJ5KiBpbXBsLCB2ODo6SXNvbGF0ZSogaXNvbGF0ZSkKK3sKKyAgICBpZiAoIWltcGwpCisgICAg
ICAgIHJldHVybiB2ODo6TnVsbCgpOworCisjaWYgRU5BQkxFKFJFU09VUkNFX1RJTUlORykKKyAg
ICBpZiAoaW1wbC0+aXNSZXNvdXJjZSgpKQorICAgICAgICByZXR1cm4gdG9WOChzdGF0aWNfY2Fz
dDxQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nKj4oaW1wbCksIGlzb2xhdGUpOworI2VuZGlmCisK
KyAgICByZXR1cm4gVjhQZXJmb3JtYW5jZUVudHJ5Ojp3cmFwKGltcGwpOworfQorCit9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoUEVSRk9STUFOQ0VfVElNRUxJTkUp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5oIGIvU291cmNlL1dl
YkNvcmUvZG9tL0V2ZW50TmFtZXMuaAppbmRleCAyMDVhOGM5OTIxY2E1MTgyYTY4YzdjYzJiZjFj
ZWE4ZWNkOWMxZGMwLi4zMTUwOTBkZTlhNmYwZjg5ZWNkYzAzYWQzZWNhZjgwNjFlY2VmY2FlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgKQEAgLTIyNSw2ICsyMjUsOCBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAgICAgXAogICAgIG1hY3JvKHdlYmtpdG5ldHdvcmtpbmZvY2hhbmdlKSBcCiAgICAg
XAorICAgIG1hY3JvKHdlYmtpdHJlc291cmNldGltaW5nYnVmZmVyZnVsbCkgXAorICAgIFwKIAog
Ly8gZW5kIG9mIERPTV9FVkVOVF9OQU1FU19GT1JfRUFDSAogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vRXZlbnRUYXJnZXRGYWN0b3J5LmluIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2
ZW50VGFyZ2V0RmFjdG9yeS5pbgppbmRleCBmMDFiODExYWJhOWI4MDZmYzIxMjVmNzBmN2I0MzEx
NzNiM2JiNWIwLi4zZWM2ZGI5NDQ2ZDI1OTYzMTYyOWFjNzNjZTllZjBlNDFmNGEzNTg2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXRGYWN0b3J5LmluCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldEZhY3RvcnkuaW4KQEAgLTIyLDYgKzIyLDcgQEAg
TmV0d29ya0luZm9Db25uZWN0aW9uIGNvbmRpdGlvbmFsPU5FVFdPUktfSU5GTwogTm9kZQogTm90
aWZpY2F0aW9uIGNvbmRpdGlvbmFsPU5PVElGSUNBVElPTlN8TEVHQUNZX05PVElGSUNBVElPTlMK
IFBlZXJDb25uZWN0aW9uMDAgY29uZGl0aW9uYWw9TUVESUFfU1RSRUFNCitQZXJmb3JtYW5jZSBj
b25kaXRpb25hbD1XRUJfVElNSU5HCiBTaGFyZWRXb3JrZXIgY29uZGl0aW9uYWw9U0hBUkVEX1dP
UktFUlMKIFNoYXJlZFdvcmtlckNvbnRleHQgY29uZGl0aW9uYWw9U0hBUkVEX1dPUktFUlMKIFNw
ZWVjaFJlY29nbml0aW9uIGNvbmRpdGlvbmFsPVNDUklQVEVEX1NQRUVDSApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1BlcmZvcm1hbmNlLmNwcAppbmRleCBlZTVjYTU2ZDhlNmRmNTc1Y2MxMzRlNzg3OGMzOTkxZjE0
MWVlYjFjLi4xOTlmMzVjMTg0M2ZhNDA1YjZiNDkyZDczNTkzZDlmYTZmZTc2YTFkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1BlcmZvcm1hbmNlLmNwcApAQCAtMzEsOCArMzEsMTEgQEAKICNpbmNsdWRlICJj
b25maWcuaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZS5oIgogCisjaW5jbHVkZSAiRG9jdW1lbnQu
aCIKICNpbmNsdWRlICJNZW1vcnlJbmZvLmgiCisjaW5jbHVkZSAiUGVyZm9ybWFuY2VFbnRyeS5o
IgogI2luY2x1ZGUgIlBlcmZvcm1hbmNlTmF2aWdhdGlvbi5oIgorI2luY2x1ZGUgIlBlcmZvcm1h
bmNlUmVzb3VyY2VUaW1pbmcuaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZVRpbWluZy5oIgogCiAj
aWYgRU5BQkxFKFdFQl9USU1JTkcpCkBAIC00Niw2ICs0OSwyMCBAQCBQZXJmb3JtYW5jZTo6UGVy
Zm9ybWFuY2UoRnJhbWUqIGZyYW1lKQogewogfQogCitQZXJmb3JtYW5jZTo6flBlcmZvcm1hbmNl
KCkKK3sKK30KKworY29uc3QgQXRvbWljU3RyaW5nJiBQZXJmb3JtYW5jZTo6aW50ZXJmYWNlTmFt
ZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGV2ZW50TmFtZXMoKS5pbnRlcmZhY2VGb3JQZXJmb3Jt
YW5jZTsKK30KKworU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogUGVyZm9ybWFuY2U6OnNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQoKSBjb25zdAoreworICAgIHJldHVybiBmcmFtZSgpLT5kb2N1bWVudCgp
LT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7Cit9CisKIFBhc3NSZWZQdHI8TWVtb3J5SW5mbz4g
UGVyZm9ybWFuY2U6Om1lbW9yeSgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIE1lbW9yeUluZm86OmNy
ZWF0ZShtX2ZyYW1lKTsKQEAgLTcyLDIzICs4OSw3NyBAQCBQZXJmb3JtYW5jZVRpbWluZyogUGVy
Zm9ybWFuY2U6OnRpbWluZygpIGNvbnN0CiBQYXNzUmVmUHRyPFBlcmZvcm1hbmNlRW50cnlMaXN0
PiBQZXJmb3JtYW5jZTo6d2Via2l0R2V0RW50cmllcygpIGNvbnN0CiB7CiAgICAgUmVmUHRyPFBl
cmZvcm1hbmNlRW50cnlMaXN0PiBlbnRyaWVzID0gUGVyZm9ybWFuY2VFbnRyeUxpc3Q6OmNyZWF0
ZSgpOworCisjaWYgRU5BQkxFKFJFU09VUkNFX1RJTUlORykKKyAgICBmb3IgKFZlY3RvcjxSZWZQ
dHI8UGVyZm9ybWFuY2VFbnRyeT4gPjo6Y29uc3RfaXRlcmF0b3IgcmVzb3VyY2UgPSBtX3Jlc291
cmNlVGltaW5nQnVmZmVyLmJlZ2luKCk7IHJlc291cmNlICE9IG1fcmVzb3VyY2VUaW1pbmdCdWZm
ZXIuZW5kKCk7ICsrcmVzb3VyY2UpCisgICAgICAgIGVudHJpZXMtPmFwcGVuZCgqcmVzb3VyY2Up
OworI2VuZGlmIC8vIEVOQUJMRShSRVNPVVJDRV9USU1JTkcpCisKICAgICByZXR1cm4gZW50cmll
czsKIH0KIAotUGFzc1JlZlB0cjxQZXJmb3JtYW5jZUVudHJ5TGlzdD4gUGVyZm9ybWFuY2U6Ondl
YmtpdEdldEVudHJpZXNCeVR5cGUoY29uc3QgU3RyaW5nJikKK1Bhc3NSZWZQdHI8UGVyZm9ybWFu
Y2VFbnRyeUxpc3Q+IFBlcmZvcm1hbmNlOjp3ZWJraXRHZXRFbnRyaWVzQnlUeXBlKGNvbnN0IFN0
cmluZyYgZW50cnlUeXBlKQogewogICAgIFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5TGlzdD4gZW50
cmllcyA9IFBlcmZvcm1hbmNlRW50cnlMaXN0OjpjcmVhdGUoKTsKKworI2lmIEVOQUJMRShSRVNP
VVJDRV9USU1JTkcpCisgICAgaWYgKGVxdWFsSWdub3JpbmdDYXNlKGVudHJ5VHlwZSwgInJlc291
cmNlIikpCisgICAgICAgIGZvciAoVmVjdG9yPFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5PiA+Ojpj
b25zdF9pdGVyYXRvciByZXNvdXJjZSA9IG1fcmVzb3VyY2VUaW1pbmdCdWZmZXIuYmVnaW4oKTsg
cmVzb3VyY2UgIT0gbV9yZXNvdXJjZVRpbWluZ0J1ZmZlci5lbmQoKTsgKytyZXNvdXJjZSkKKyAg
ICAgICAgICAgIGVudHJpZXMtPmFwcGVuZCgqcmVzb3VyY2UpOworI2VuZGlmIC8vIEVOQUJMRShS
RVNPVVJDRV9USU1JTkcpCisKICAgICByZXR1cm4gZW50cmllczsKIH0KIAotUGFzc1JlZlB0cjxQ
ZXJmb3JtYW5jZUVudHJ5TGlzdD4gUGVyZm9ybWFuY2U6OndlYmtpdEdldEVudHJpZXNCeU5hbWUo
Y29uc3QgU3RyaW5nJiwgY29uc3QgU3RyaW5nJikKK1Bhc3NSZWZQdHI8UGVyZm9ybWFuY2VFbnRy
eUxpc3Q+IFBlcmZvcm1hbmNlOjp3ZWJraXRHZXRFbnRyaWVzQnlOYW1lKGNvbnN0IFN0cmluZyYg
bmFtZSwgY29uc3QgU3RyaW5nJiBlbnRyeVR5cGUpCiB7CiAgICAgUmVmUHRyPFBlcmZvcm1hbmNl
RW50cnlMaXN0PiBlbnRyaWVzID0gUGVyZm9ybWFuY2VFbnRyeUxpc3Q6OmNyZWF0ZSgpOworCisj
aWYgRU5BQkxFKFJFU09VUkNFX1RJTUlORykKKyAgICBpZiAoZW50cnlUeXBlLmlzTnVsbCgpIHx8
IGVxdWFsSWdub3JpbmdDYXNlKGVudHJ5VHlwZSwgInJlc291cmNlIikpCisgICAgICAgIGZvciAo
VmVjdG9yPFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5PiA+Ojpjb25zdF9pdGVyYXRvciByZXNvdXJj
ZSA9IG1fcmVzb3VyY2VUaW1pbmdCdWZmZXIuYmVnaW4oKTsgcmVzb3VyY2UgIT0gbV9yZXNvdXJj
ZVRpbWluZ0J1ZmZlci5lbmQoKTsgKytyZXNvdXJjZSkKKyAgICAgICAgICAgIGlmICgoKnJlc291
cmNlKS0+bmFtZSgpID09IG5hbWUpCisgICAgICAgICAgICAgICAgZW50cmllcy0+YXBwZW5kKCpy
ZXNvdXJjZSk7CisjZW5kaWYgLy8gRU5BQkxFKFJFU09VUkNFX1RJTUlORykKKwogICAgIHJldHVy
biBlbnRyaWVzOwogfQogCiAjZW5kaWYgLy8gRU5BQkxFKFBFUkZPUk1BTkNFX1RJTUVMSU5FKQog
CisjaWYgRU5BQkxFKFJFU09VUkNFX1RJTUlORykKKwordm9pZCBQZXJmb3JtYW5jZTo6d2Via2l0
Q2xlYXJSZXNvdXJjZVRpbWluZ3MoKQoreworICAgIG1fcmVzb3VyY2VUaW1pbmdCdWZmZXIuY2xl
YXIoKTsKK30KKwordm9pZCBQZXJmb3JtYW5jZTo6d2Via2l0U2V0UmVzb3VyY2VUaW1pbmdCdWZm
ZXJTaXplKHVuc2lnbmVkIGludCkKK3sKK30KKwordm9pZCBQZXJmb3JtYW5jZTo6YWRkUmVzb3Vy
Y2VUaW1pbmcoY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBSZXNvdXJjZVJl
c3BvbnNlJiByZXNwb25zZSwgZG91YmxlIGZpbmlzaFRpbWUsIERvY3VtZW50KiByZXF1ZXN0aW5n
RG9jdW1lbnQpCit7CisgICAgaWYgKCFyZXNwb25zZS5yZXNvdXJjZUxvYWRUaW1pbmcoKSkKKyAg
ICAgICAgcmV0dXJuOworCisgICAgUmVmUHRyPFBlcmZvcm1hbmNlRW50cnk+IGVudHJ5ID0gUGVy
Zm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6Y3JlYXRlKHJlcXVlc3QsIHJlc3BvbnNlLCBmaW5pc2hU
aW1lLCByZXF1ZXN0aW5nRG9jdW1lbnQpOworICAgIC8vIEZJWE1FOiBOZWVkIHRvIGVuZm9yY2Ug
YnVmZmVyIGxpbWl0cy4KKyAgICBtX3Jlc291cmNlVGltaW5nQnVmZmVyLmFwcGVuZChlbnRyeSk7
Cit9CisKKyNlbmRpZiAvLyBFTkFCTEUoUkVTT1VSQ0VfVElNSU5HKQorCitFdmVudFRhcmdldERh
dGEqIFBlcmZvcm1hbmNlOjpldmVudFRhcmdldERhdGEoKQoreworICAgIHJldHVybiAmbV9ldmVu
dFRhcmdldERhdGE7Cit9CisKK0V2ZW50VGFyZ2V0RGF0YSogUGVyZm9ybWFuY2U6OmVuc3VyZUV2
ZW50VGFyZ2V0RGF0YSgpCit7CisgICAgcmV0dXJuICZtX2V2ZW50VGFyZ2V0RGF0YTsKK30KKwog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gRU5BQkxFKFdFQl9USU1JTkcpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1BlcmZvcm1hbmNlLmgKaW5kZXggNjBmZmRhNjgwZDMzNzY5ZDgwOTM1ZjYxMzBh
Mjc3NTA3ODg5YjRiYy4uY2M0MDIzYWZiMjBlMjQ0M2NkNWE1YTBlNTBiZWZjYjMyMzdjOGM2ZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuaApAQCAtMzQsMTAgKzM0LDEzIEBACiAjaWYgRU5B
QkxFKFdFQl9USU1JTkcpCiAKICNpbmNsdWRlICJET01XaW5kb3dQcm9wZXJ0eS5oIgorI2luY2x1
ZGUgIkV2ZW50VGFyZ2V0LmgiCiAjaW5jbHVkZSAiTWVtb3J5SW5mby5oIgogI2luY2x1ZGUgIlBl
cmZvcm1hbmNlRW50cnlMaXN0LmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmgi
CiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VUaW1pbmcuaCIKKyNpbmNsdWRlICJSZXNvdXJjZVJlcXVl
c3QuaCIKKyNpbmNsdWRlICJSZXNvdXJjZVJlc3BvbnNlLmgiCiAjaW5jbHVkZSA8d3RmL1Bhc3NS
ZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQ
dHIuaD4KQEAgLTQ1LDkgKzQ4LDEzIEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3Mg
UGVyZm9ybWFuY2UgOiBwdWJsaWMgUmVmQ291bnRlZDxQZXJmb3JtYW5jZT4sIHB1YmxpYyBET01X
aW5kb3dQcm9wZXJ0eSB7CitjbGFzcyBQZXJmb3JtYW5jZSA6IHB1YmxpYyBSZWZDb3VudGVkPFBl
cmZvcm1hbmNlPiwgcHVibGljIERPTVdpbmRvd1Byb3BlcnR5LCBwdWJsaWMgRXZlbnRUYXJnZXQg
ewogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFBlcmZvcm1hbmNlPiBjcmVhdGUoRnJh
bWUqIGZyYW1lKSB7IHJldHVybiBhZG9wdFJlZihuZXcgUGVyZm9ybWFuY2UoZnJhbWUpKTsgfQor
ICAgIH5QZXJmb3JtYW5jZSgpOworCisgICAgdmlydHVhbCBjb25zdCBBdG9taWNTdHJpbmcmIGlu
dGVyZmFjZU5hbWUoKSBjb25zdDsKKyAgICB2aXJ0dWFsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQq
IHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSBjb25zdDsKIAogICAgIFBhc3NSZWZQdHI8TWVtb3J5
SW5mbz4gbWVtb3J5KCkgY29uc3Q7CiAgICAgUGVyZm9ybWFuY2VOYXZpZ2F0aW9uKiBuYXZpZ2F0
aW9uKCkgY29uc3Q7CkBAIC01OSwxMSArNjYsMzUgQEAgcHVibGljOgogICAgIFBhc3NSZWZQdHI8
UGVyZm9ybWFuY2VFbnRyeUxpc3Q+IHdlYmtpdEdldEVudHJpZXNCeU5hbWUoY29uc3QgU3RyaW5n
JiBuYW1lLCBjb25zdCBTdHJpbmcmIGVudHJ5VHlwZSk7CiAjZW5kaWYKIAorI2lmIEVOQUJMRShS
RVNPVVJDRV9USU1JTkcpCisgICAgdm9pZCB3ZWJraXRDbGVhclJlc291cmNlVGltaW5ncygpOwor
ICAgIHZvaWQgd2Via2l0U2V0UmVzb3VyY2VUaW1pbmdCdWZmZXJTaXplKHVuc2lnbmVkIGludCk7
CisKKyAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHdlYmtpdHJlc291cmNldGlt
aW5nYnVmZmVyZnVsbCk7CisKKyAgICB2b2lkIGFkZFJlc291cmNlVGltaW5nKGNvbnN0IFJlc291
cmNlUmVxdWVzdCYsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmLCBkb3VibGUgZmluaXNoVGltZSwg
RG9jdW1lbnQqKTsKKyNlbmRpZgorCisgICAgdXNpbmcgUmVmQ291bnRlZDxQZXJmb3JtYW5jZT46
OnJlZjsKKyAgICB1c2luZyBSZWZDb3VudGVkPFBlcmZvcm1hbmNlPjo6ZGVyZWY7CisKIHByaXZh
dGU6CiAgICAgZXhwbGljaXQgUGVyZm9ybWFuY2UoRnJhbWUqKTsKIAorICAgIHZpcnR1YWwgdm9p
ZCByZWZFdmVudFRhcmdldCgpIHsgcmVmKCk7IH0KKyAgICB2aXJ0dWFsIHZvaWQgZGVyZWZFdmVu
dFRhcmdldCgpIHsgZGVyZWYoKTsgfQorICAgIHZpcnR1YWwgRXZlbnRUYXJnZXREYXRhKiBldmVu
dFRhcmdldERhdGEoKTsKKyAgICB2aXJ0dWFsIEV2ZW50VGFyZ2V0RGF0YSogZW5zdXJlRXZlbnRU
YXJnZXREYXRhKCk7CisKKyAgICBFdmVudFRhcmdldERhdGEgbV9ldmVudFRhcmdldERhdGE7Cisg
ICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCAqbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0OworCiAg
ICAgbXV0YWJsZSBSZWZQdHI8UGVyZm9ybWFuY2VOYXZpZ2F0aW9uPiBtX25hdmlnYXRpb247CiAg
ICAgbXV0YWJsZSBSZWZQdHI8UGVyZm9ybWFuY2VUaW1pbmc+IG1fdGltaW5nOworCisjaWYgRU5B
QkxFKFJFU09VUkNFX1RJTUlORykKKyAgICBWZWN0b3I8UmVmUHRyPFBlcmZvcm1hbmNlRW50cnk+
ID4gbV9yZXNvdXJjZVRpbWluZ0J1ZmZlcjsKKyNlbmRpZgogfTsKIAogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1BlcmZvcm1hbmNlLmlkbAppbmRleCBhMGNkODM4NDIxNWY0YjcwNTg3OWRkZjM3Nzk0MjBiODE4
ZjUxMjdjLi43M2ZmNmYxYTgyYzExNjk1Mzc0MGRmYjIzMTExMjJhYTliNTU0YTAyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmlkbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1BlcmZvcm1hbmNlLmlkbApAQCAtMzMsNiArMzMsNyBAQCBtb2R1bGUgd2luZG93
IHsKICAgICAvLyBTZWU6IGh0dHA6Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dlYlRpbWluZy8K
ICAgICBpbnRlcmZhY2UgWwogICAgICAgICBDb25kaXRpb25hbD1XRUJfVElNSU5HLAorICAgICAg
ICBFdmVudFRhcmdldCwKICAgICAgICAgT21pdENvbnN0cnVjdG9yCiAgICAgXSBQZXJmb3JtYW5j
ZSB7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBQZXJmb3JtYW5jZU5hdmlnYXRpb24gbmF2
aWdhdGlvbjsKQEAgLTQ0LDYgKzQ1LDEzIEBAIG1vZHVsZSB3aW5kb3cgewogICAgICAgICBQZXJm
b3JtYW5jZUVudHJ5TGlzdCB3ZWJraXRHZXRFbnRyaWVzQnlUeXBlKGluIERPTVN0cmluZyBlbnRy
eVR5cGUpOwogICAgICAgICBQZXJmb3JtYW5jZUVudHJ5TGlzdCB3ZWJraXRHZXRFbnRyaWVzQnlO
YW1lKGluIERPTVN0cmluZyBuYW1lLCBpbiBbT3B0aW9uYWw9RGVmYXVsdElzTnVsbFN0cmluZ10g
RE9NU3RyaW5nIGVudHJ5VHlwZSk7CiAjZW5kaWYKKworI2lmIGRlZmluZWQoRU5BQkxFX1JFU09V
UkNFX1RJTUlORykgJiYgRU5BQkxFX1JFU09VUkNFX1RJTUlORworICAgICAgICB2b2lkIHdlYmtp
dENsZWFyUmVzb3VyY2VUaW1pbmdzKCk7CisgICAgICAgIHZvaWQgd2Via2l0U2V0UmVzb3VyY2VU
aW1pbmdCdWZmZXJTaXplKGluIHVuc2lnbmVkIGxvbmcgbWF4U2l6ZSk7CisKKyAgICAgICAgYXR0
cmlidXRlIEV2ZW50TGlzdGVuZXIgb253ZWJraXRyZXNvdXJjZXRpbWluZ2J1ZmZlcmZ1bGw7Cisj
ZW5kaWYKICAgICB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZv
cm1hbmNlRW50cnkuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmNw
cAppbmRleCBhYzUyM2M2ZGM2MTc4OTgyY2E1ZWVlNzIyYTkyZTBiOGJjNDhmMTkyLi5hZDY5NTQ3
MDBlNjcyNGZiMTNhMDUxMWQyMDExOTM3NDFmOTUyYmE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1BlcmZvcm1hbmNlRW50cnkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UGVyZm9ybWFuY2VFbnRyeS5jcHAKQEAgLTQzLDYgKzQzLDEwIEBAIFBlcmZvcm1hbmNlRW50cnk6
OlBlcmZvcm1hbmNlRW50cnkoY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGVudHJ5
VHlwZSwKIHsKIH0KIAorUGVyZm9ybWFuY2VFbnRyeTo6flBlcmZvcm1hbmNlRW50cnkoKQorewor
fQorCiBTdHJpbmcgUGVyZm9ybWFuY2VFbnRyeTo6bmFtZSgpIGNvbnN0CiB7CiAgICAgcmV0dXJu
IG1fbmFtZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRy
eS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmgKaW5kZXggODY2NmU0
MzFkYWUzMWUwZTMyZGZlYzIyOTY5ZGYzNzI1OWI5MTU5MS4uNmQ5NjcyMTk3NTNhNGI1YWM3MmRj
NGM0NDRjYjBmMWIzZWYyOTJjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJm
b3JtYW5jZUVudHJ5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5
LmgKQEAgLTQyLDExICs0MiwxNSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFBlcmZv
cm1hbmNlRW50cnkgOiBwdWJsaWMgUmVmQ291bnRlZDxQZXJmb3JtYW5jZUVudHJ5PiB7CiBwdWJs
aWM6CisgICAgdmlydHVhbCB+UGVyZm9ybWFuY2VFbnRyeSgpOworCiAgICAgU3RyaW5nIG5hbWUo
KSBjb25zdDsKICAgICBTdHJpbmcgZW50cnlUeXBlKCkgY29uc3Q7CiAgICAgZG91YmxlIHN0YXJ0
VGltZSgpIGNvbnN0OwogICAgIGRvdWJsZSBkdXJhdGlvbigpIGNvbnN0OwogCisgICAgdmlydHVh
bCBib29sIGlzUmVzb3VyY2UoKSB7IHJldHVybiBmYWxzZTsgfQorCiBwcm90ZWN0ZWQ6CiAgICAg
UGVyZm9ybWFuY2VFbnRyeShjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgZW50cnlU
eXBlLCBkb3VibGUgc3RhcnRUaW1lLCBkb3VibGUgZHVyYXRpb24pOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50cnkuaWRsIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9QZXJmb3JtYW5jZUVudHJ5LmlkbAppbmRleCBhNzg4YmQ5YzZlNDI3YmNkMDZjMGFkNDU2
MjU5NGNlYzMxM2VlYjRkLi45ZTEwZmUwYmYxNzUzMTlmMjJjMzdkMjYwM2EwZTgyZDk4ZjM4MzJm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50cnkuaWRsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeS5pZGwKQEAgLTM0LDYgKzM0
LDcgQEAgbW9kdWxlIHdpbmRvdyB7CiAgICAgaW50ZXJmYWNlIFsKICAgICAgICAgQ29uZGl0aW9u
YWw9V0VCX1RJTUlORywKICAgICAgICAgQ29uZGl0aW9uYWw9UEVSRk9STUFOQ0VfVElNRUxJTkUs
CisgICAgICAgIEN1c3RvbVRvSlNPYmplY3QsCiAgICAgICAgIE9taXRDb25zdHJ1Y3RvcgogICAg
IF0gUGVyZm9ybWFuY2VFbnRyeSB7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJp
bmcgbmFtZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VSZXNv
dXJjZVRpbWluZy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlUmVzb3VyY2VU
aW1pbmcuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY2ZmVhZWU3M2UzMzI5MGQ2N2U2Y2E2YzdjMTIyNDM4NTFl
NzVhOTEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNl
UmVzb3VyY2VUaW1pbmcuY3BwCkBAIC0wLDAgKzEsMTgzIEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAq
ICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBp
dHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJv
ZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJp
b3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisg
KiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgor
I2luY2x1ZGUgIlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaCIKKworI2lmIEVOQUJMRShSRVNP
VVJDRV9USU1JTkcpCisKKyNpbmNsdWRlICJEb2N1bWVudC5oIgorI2luY2x1ZGUgIkRvY3VtZW50
TG9hZFRpbWluZy5oIgorI2luY2x1ZGUgIkRvY3VtZW50TG9hZGVyLmgiCisjaW5jbHVkZSAiS1VS
TC5oIgorI2luY2x1ZGUgIlJlc291cmNlUmVxdWVzdC5oIgorI2luY2x1ZGUgIlJlc291cmNlUmVz
cG9uc2UuaCIKKyNpbmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgorI2luY2x1ZGUgPHd0Zi9WZWN0
b3IuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitzdGF0aWMgU3RyaW5nIHRvUGVyZm9ybWFu
Y2VJbml0aWF0b3JUeXBlKFJlc291cmNlUmVxdWVzdDo6SW5pdGlhdG9yVHlwZSB0eXBlKQorewor
ICAgIHN3aXRjaCAodHlwZSkgeworICAgIGNhc2UgUmVzb3VyY2VSZXF1ZXN0OjpJbml0aWF0b3JJ
c0NTUzoKKyAgICAgICAgcmV0dXJuICJjc3MiOworICAgIGNhc2UgUmVzb3VyY2VSZXF1ZXN0OjpJ
bml0aWF0b3JJc0VtYmVkRWxlbWVudDoKKyAgICAgICAgcmV0dXJuICJlbWJlZCI7CisgICAgY2Fz
ZSBSZXNvdXJjZVJlcXVlc3Q6OkluaXRpYXRvcklzSW1hZ2VFbGVtZW50OgorICAgICAgICByZXR1
cm4gImltZyI7CisgICAgY2FzZSBSZXNvdXJjZVJlcXVlc3Q6OkluaXRpYXRvcklzTGlua0VsZW1l
bnQ6CisgICAgICAgIHJldHVybiAibGluayI7CisgICAgY2FzZSBSZXNvdXJjZVJlcXVlc3Q6Oklu
aXRpYXRvcklzT2JqZWN0RWxlbWVudDoKKyAgICAgICAgcmV0dXJuICJvYmplY3QiOworICAgIGNh
c2UgUmVzb3VyY2VSZXF1ZXN0OjpJbml0aWF0b3JJc1NjcmlwdEVsZW1lbnQ6CisgICAgICAgIHJl
dHVybiAic2NyaXB0IjsKKyAgICBjYXNlIFJlc291cmNlUmVxdWVzdDo6SW5pdGlhdG9ySXNTdWJE
b2N1bWVudDoKKyAgICAgICAgcmV0dXJuICJzdWJkb2N1bWVudCI7CisgICAgY2FzZSBSZXNvdXJj
ZVJlcXVlc3Q6OkluaXRpYXRvcklzU1ZHOgorICAgICAgICByZXR1cm4gInN2ZyI7CisgICAgY2Fz
ZSBSZXNvdXJjZVJlcXVlc3Q6OkluaXRpYXRvcklzWEhSOgorICAgICAgICByZXR1cm4gInhtbGh0
dHByZXF1ZXN0IjsKKyAgICBjYXNlIFJlc291cmNlUmVxdWVzdDo6SW5pdGlhdG9ySXNVbmtub3du
OgorICAgIGNhc2UgUmVzb3VyY2VSZXF1ZXN0OjpJbml0aWF0b3JJc01haW5Eb2N1bWVudDoKKyAg
ICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIHJldHVybiAib3RoZXIiOworICAg
IH0KKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gIm90aGVyIjsKK30KKwor
UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZyhjb25z
dCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3Bv
bnNlLCBkb3VibGUgZmluaXNoVGltZSwgRG9jdW1lbnQqIHJlcXVlc3RpbmdEb2N1bWVudCkKKyAg
ICA6IFBlcmZvcm1hbmNlRW50cnkocmVxdWVzdC51cmwoKS5zdHJpbmcoKSwgInJlc291cmNlIiwg
cmVxdWVzdC5pbml0aWF0ZWRUaW1lKCksIGZpbmlzaFRpbWUpCisgICAgLCBtX2luaXRpYXRvclR5
cGUodG9QZXJmb3JtYW5jZUluaXRpYXRvclR5cGUocmVxdWVzdC5pbml0aWF0b3JUeXBlKCkpKQor
ICAgICwgbV90aW1pbmcocmVzcG9uc2UucmVzb3VyY2VMb2FkVGltaW5nKCkpCisgICAgLCBtX2Zp
bmlzaFRpbWUoZmluaXNoVGltZSkKKyAgICAsIG1fcmVxdWVzdGluZ0RvY3VtZW50KHJlcXVlc3Rp
bmdEb2N1bWVudCkKK3sKK30KKworU3RyaW5nIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6Omlu
aXRpYXRvclR5cGUoKSBjb25zdAoreworICAgIHJldHVybiBtX2luaXRpYXRvclR5cGU7Cit9CisK
Ky8vIEZJWE1FOiBOZWVkIHRvIGVuZm9yY2Ugc2FtZS1vcmlnaW4gcG9saWN5IG9uIHRoZXNlLgor
Citkb3VibGUgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6cmVkaXJlY3RTdGFydCgpIGNvbnN0
Cit7CisgICAgLy8gRklYTUU6IE5lZWQgdG8gdHJhY2sgYW5kIHJlcG9ydCByZWRpcmVjdHMgZm9y
IHJlc291cmNlcy4KKyAgICByZXR1cm4gMDsKK30KKworZG91YmxlIFBlcmZvcm1hbmNlUmVzb3Vy
Y2VUaW1pbmc6OnJlZGlyZWN0RW5kKCkgY29uc3QKK3sKKyAgICByZXR1cm4gMDsKK30KKworZG91
YmxlIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OmZldGNoU3RhcnQoKSBjb25zdAoreworICAg
IHJldHVybiBtb25vdG9uaWNUaW1lVG9Eb2N1bWVudE1pbGxpc2Vjb25kcyhtX3RpbWluZy0+cmVx
dWVzdFRpbWUpOworfQorCitkb3VibGUgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6ZG9tYWlu
TG9va3VwU3RhcnQoKSBjb25zdAoreworICAgIGlmIChtX3RpbWluZy0+ZG5zU3RhcnQgPCAwKQor
ICAgICAgICByZXR1cm4gZmV0Y2hTdGFydCgpOworCisgICAgcmV0dXJuIHJlc291cmNlVGltZVRv
RG9jdW1lbnRNaWxsaXNlY29uZHMobV90aW1pbmctPmRuc1N0YXJ0KTsKK30KKworZG91YmxlIFBl
cmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OmRvbWFpbkxvb2t1cEVuZCgpIGNvbnN0Cit7CisgICAg
aWYgKG1fdGltaW5nLT5kbnNFbmQgPCAwKQorICAgICAgICByZXR1cm4gZG9tYWluTG9va3VwU3Rh
cnQoKTsKKworICAgIHJldHVybiByZXNvdXJjZVRpbWVUb0RvY3VtZW50TWlsbGlzZWNvbmRzKG1f
dGltaW5nLT5kbnNFbmQpOworfQorCitkb3VibGUgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6
Y29ubmVjdFN0YXJ0KCkgY29uc3QKK3sKKyAgICBpZiAobV90aW1pbmctPmNvbm5lY3RTdGFydCA8
IDApIC8vIENvbm5lY3Rpb24gd2FzIHJldXNlZC4KKyAgICAgICAgcmV0dXJuIGRvbWFpbkxvb2t1
cEVuZCgpOworCisgICAgLy8gY29ubmVjdFN0YXJ0IGluY2x1ZGVzIGFueSBETlMgdGltZSwgc28g
d2UgbWF5IG5lZWQgdG8gdHJpbSB0aGF0IG9mZi4KKyAgICBpbnQgY29ubmVjdFN0YXJ0ID0gbV90
aW1pbmctPmNvbm5lY3RTdGFydDsKKyAgICBpZiAobV90aW1pbmctPmRuc0VuZCA+PSAwKQorICAg
ICAgICBjb25uZWN0U3RhcnQgPSBtX3RpbWluZy0+ZG5zRW5kOworCisgICAgcmV0dXJuIHJlc291
cmNlVGltZVRvRG9jdW1lbnRNaWxsaXNlY29uZHMoY29ubmVjdFN0YXJ0KTsKK30KKworZG91Ymxl
IFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OmNvbm5lY3RFbmQoKSBjb25zdAoreworICAgIGlm
IChtX3RpbWluZy0+Y29ubmVjdEVuZCA8IDApIC8vIENvbm5lY3Rpb24gd2FzIHJldXNlZC4KKyAg
ICAgICAgcmV0dXJuIGNvbm5lY3RTdGFydCgpOworCisgICAgcmV0dXJuIHJlc291cmNlVGltZVRv
RG9jdW1lbnRNaWxsaXNlY29uZHMobV90aW1pbmctPmNvbm5lY3RFbmQpOworfQorCitkb3VibGUg
UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6c2VjdXJlQ29ubmVjdGlvblN0YXJ0KCkgY29uc3QK
K3sKKyAgICBpZiAobV90aW1pbmctPnNzbFN0YXJ0IDwgMCkgLy8gU2VjdXJlIGNvbm5lY3Rpb24g
bm90IG5lZ290aWF0ZWQuCisgICAgICAgIHJldHVybiAwOworCisgICAgcmV0dXJuIHJlc291cmNl
VGltZVRvRG9jdW1lbnRNaWxsaXNlY29uZHMobV90aW1pbmctPnNzbFN0YXJ0KTsKK30KKworZG91
YmxlIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OnJlcXVlc3RTdGFydCgpIGNvbnN0Cit7Cisg
ICAgcmV0dXJuIHJlc291cmNlVGltZVRvRG9jdW1lbnRNaWxsaXNlY29uZHMobV90aW1pbmctPnNl
bmRTdGFydCk7Cit9CisKK2RvdWJsZSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpyZXNwb25z
ZVN0YXJ0KCkgY29uc3QKK3sKKyAgICAvLyBGSVhNRTogVGhpcyBudW1iZXIgaXNuJ3QgZXhhY3Rs
eSBjb3JyZWN0LiBTZWUgdGhlIG5vdGVzIGluIFBlcmZvcm1hbmNlVGltaW5nOjpyZXNwb25zZVN0
YXJ0KCkuCisgICAgcmV0dXJuIHJlc291cmNlVGltZVRvRG9jdW1lbnRNaWxsaXNlY29uZHMobV90
aW1pbmctPnJlY2VpdmVIZWFkZXJzRW5kKTsKK30KKworZG91YmxlIFBlcmZvcm1hbmNlUmVzb3Vy
Y2VUaW1pbmc6OnJlc3BvbnNlRW5kKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbW9ub3RvbmljVGlt
ZVRvRG9jdW1lbnRNaWxsaXNlY29uZHMobV9maW5pc2hUaW1lKTsKK30KKworZG91YmxlIFBlcmZv
cm1hbmNlUmVzb3VyY2VUaW1pbmc6Om1vbm90b25pY1RpbWVUb0RvY3VtZW50TWlsbGlzZWNvbmRz
KGRvdWJsZSBzZWNvbmRzKSBjb25zdAoreworICAgIEFTU0VSVChzZWNvbmRzID49IDAuMCk7Cisg
ICAgcmV0dXJuIG1fcmVxdWVzdGluZ0RvY3VtZW50LT5sb2FkZXIoKS0+dGltaW5nKCktPmNvbnZl
cnRNb25vdG9uaWNUaW1lVG9Eb2N1bWVudFRpbWUoc2Vjb25kcykgKiAxMDAwLjA7Cit9CisKK2Rv
dWJsZSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpyZXNvdXJjZVRpbWVUb0RvY3VtZW50TWls
bGlzZWNvbmRzKGludCBkZWx0YU1pbGxpc2Vjb25kcykgY29uc3QKK3sKKyAgICByZXR1cm4gbW9u
b3RvbmljVGltZVRvRG9jdW1lbnRNaWxsaXNlY29uZHMobV90aW1pbmctPnJlcXVlc3RUaW1lKSAr
IGRlbHRhTWlsbGlzZWNvbmRzOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRp
ZiAvLyBFTkFCTEUoUkVTT1VSQ0VfVElNSU5HKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bl
cmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mODc5OGM2MDg3M2FhNzQwMzk3
ZTQ5MWVlY2JhNTJlMzIxNzRkNDMwCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmgKQEAgLTAsMCArMSw4OCBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0
cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0
aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisg
KiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1Ig
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYg
UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZ19oCisjZGVmaW5lIFBlcmZvcm1hbmNlUmVzb3VyY2VU
aW1pbmdfaAorCisjaWYgRU5BQkxFKFJFU09VUkNFX1RJTUlORykKKworI2luY2x1ZGUgIlBlcmZv
cm1hbmNlLmgiCisjaW5jbHVkZSAiUGVyZm9ybWFuY2VFbnRyeS5oIgorI2luY2x1ZGUgIlJlc291
cmNlTG9hZFRpbWluZy5oIgorI2luY2x1ZGUgIlJlc291cmNlUmVxdWVzdC5oIgorI2luY2x1ZGUg
PHd0Zi9QYXNzUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFtZXNw
YWNlIFdlYkNvcmUgeworCitjbGFzcyBEb2N1bWVudDsKK2NsYXNzIEtVUkw7CitjbGFzcyBSZXNv
dXJjZVJlc3BvbnNlOworCitjbGFzcyBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nIDogcHVibGlj
IFBlcmZvcm1hbmNlRW50cnkgeworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPFBlcmZv
cm1hbmNlUmVzb3VyY2VUaW1pbmc+IGNyZWF0ZShjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVl
c3QsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlLCBkb3VibGUgZmluaXNoVGltZSwg
RG9jdW1lbnQqIHJlcXVlc3RpbmdEb2N1bWVudCkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9w
dFJlZihuZXcgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZyhyZXF1ZXN0LCByZXNwb25zZSwgZmlu
aXNoVGltZSwgcmVxdWVzdGluZ0RvY3VtZW50KSk7CisgICAgfQorCisgICAgU3RyaW5nIGluaXRp
YXRvclR5cGUoKSBjb25zdDsKKworICAgIGRvdWJsZSByZWRpcmVjdFN0YXJ0KCkgY29uc3Q7Cisg
ICAgZG91YmxlIHJlZGlyZWN0RW5kKCkgY29uc3Q7CisgICAgZG91YmxlIGZldGNoU3RhcnQoKSBj
b25zdDsKKyAgICBkb3VibGUgZG9tYWluTG9va3VwU3RhcnQoKSBjb25zdDsKKyAgICBkb3VibGUg
ZG9tYWluTG9va3VwRW5kKCkgY29uc3Q7CisgICAgZG91YmxlIGNvbm5lY3RTdGFydCgpIGNvbnN0
OworICAgIGRvdWJsZSBjb25uZWN0RW5kKCkgY29uc3Q7CisgICAgZG91YmxlIHNlY3VyZUNvbm5l
Y3Rpb25TdGFydCgpIGNvbnN0OworICAgIGRvdWJsZSByZXF1ZXN0U3RhcnQoKSBjb25zdDsKKyAg
ICBkb3VibGUgcmVzcG9uc2VTdGFydCgpIGNvbnN0OworICAgIGRvdWJsZSByZXNwb25zZUVuZCgp
IGNvbnN0OworCisgICAgdmlydHVhbCBib29sIGlzUmVzb3VyY2UoKSB7IHJldHVybiB0cnVlOyB9
CisKK3ByaXZhdGU6CisgICAgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZyhjb25zdCBSZXNvdXJj
ZVJlcXVlc3QmLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiwgZG91YmxlIGZpbmlzaFRpbWUsIERv
Y3VtZW50Kik7CisKKyAgICBkb3VibGUgbW9ub3RvbmljVGltZVRvRG9jdW1lbnRNaWxsaXNlY29u
ZHMoZG91YmxlIHNlY29uZHMpIGNvbnN0OworICAgIGRvdWJsZSByZXNvdXJjZVRpbWVUb0RvY3Vt
ZW50TWlsbGlzZWNvbmRzKGludCBkZWx0YU1pbGxpc2Vjb25kcykgY29uc3Q7CisKKyAgICBTdHJp
bmcgbV9pbml0aWF0b3JUeXBlOworICAgIFJlZlB0cjxSZXNvdXJjZUxvYWRUaW1pbmc+IG1fdGlt
aW5nOworICAgIGRvdWJsZSBtX2ZpbmlzaFRpbWU7CisgICAgUmVmUHRyPERvY3VtZW50PiBtX3Jl
cXVlc3RpbmdEb2N1bWVudDsKK307CisKK30KKworI2VuZGlmIC8vIEVOQUJMRShSRVNPVVJDRV9U
SU1JTkcpCisKKyNlbmRpZiAvLyAhZGVmaW5lZChQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nX2gp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1p
bmcuaWRsIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmlk
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4zZTBhZDU5Y2U4NGJmMTNkMjFiMTQ5ODliOWYxMDNlMTY5ZThmMjM4Ci0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVJlc291cmNl
VGltaW5nLmlkbApAQCAtMCwwICsxLDUyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdv
b2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAq
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUK
KyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5l
aXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVy
aXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENP
UFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworbW9kdWxlIHdpbmRvdyB7CisKKyAgICAvLyBTZWU6
IGh0dHBzOi8vZHZjcy53My5vcmcvaGcvd2VicGVyZi9yYXctZmlsZS90aXAvc3BlY3MvUmVzb3Vy
Y2VUaW1pbmcvT3ZlcnZpZXcuaHRtbAorICAgIGludGVyZmFjZSBbCisgICAgICAgIENvbmRpdGlv
bmFsPVJFU09VUkNFX1RJTUlORywKKyAgICAgICAgT21pdENvbnN0cnVjdG9yCisgICAgXSBQZXJm
b3JtYW5jZVJlc291cmNlVGltaW5nIDogUGVyZm9ybWFuY2VFbnRyeSB7CisgICAgICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgaW5pdGlhdG9yVHlwZTsKKworICAgICAgICByZWFkb25s
eSBhdHRyaWJ1dGUgZG91YmxlIHJlZGlyZWN0U3RhcnQ7CisgICAgICAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSBkb3VibGUgcmVkaXJlY3RFbmQ7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBkb3Vi
bGUgZmV0Y2hTdGFydDsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGRvdWJsZSBkb21haW5M
b29rdXBTdGFydDsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGRvdWJsZSBkb21haW5Mb29r
dXBFbmQ7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBkb3VibGUgY29ubmVjdFN0YXJ0Owor
ICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgZG91YmxlIGNvbm5lY3RFbmQ7CisgICAgICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBkb3VibGUgc2VjdXJlQ29ubmVjdGlvblN0YXJ0OworICAgICAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgZG91YmxlIHJlcXVlc3RTdGFydDsKKyAgICAgICAgcmVhZG9ubHkg
YXR0cmlidXRlIGRvdWJsZSByZXNwb25zZVN0YXJ0OworICAgICAgICByZWFkb25seSBhdHRyaWJ1
dGUgZG91YmxlIHJlc3BvbnNlRW5kOworICAgIH07Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmNwcAppbmRleCAzNTA5
NzkyOTI3OGM3NjA2NGM0YjBkZWI5YWZlMzlmZjE5YmU0YzI0Li5lNTExYzI0NDllNmY3NDhkYTg4
MTMyNzEyNDdlY2FhOTdiNzBjZjcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5jcHAKQEAgLTUzLDYgKzUzLDcgQEAg
UGFzc093blB0cjxSZXNvdXJjZVJlcXVlc3Q+IFJlc291cmNlUmVxdWVzdEJhc2U6OmFkb3B0KFBh
c3NPd25QdHI8Q3Jvc3NUaHJlYWRSZXMKICAgICByZXF1ZXN0LT5zZXRGaXJzdFBhcnR5Rm9yQ29v
a2llcyhkYXRhLT5tX2ZpcnN0UGFydHlGb3JDb29raWVzKTsKICAgICByZXF1ZXN0LT5zZXRIVFRQ
TWV0aG9kKGRhdGEtPm1faHR0cE1ldGhvZCk7CiAgICAgcmVxdWVzdC0+c2V0UHJpb3JpdHkoZGF0
YS0+bV9wcmlvcml0eSk7CisgICAgcmVxdWVzdC0+c2V0SW5pdGlhdG9yVHlwZShkYXRhLT5tX2lu
aXRpYXRvclR5cGUpOwogCiAgICAgcmVxdWVzdC0+dXBkYXRlUmVzb3VyY2VSZXF1ZXN0KCk7CiAg
ICAgcmVxdWVzdC0+bV9odHRwSGVhZGVyRmllbGRzLmFkb3B0KGRhdGEtPm1faHR0cEhlYWRlcnMu
cmVsZWFzZSgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
UmVzb3VyY2VSZXF1ZXN0QmFzZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9S
ZXNvdXJjZVJlcXVlc3RCYXNlLmgKaW5kZXggODZkZDYyZThlMDhjMjYwNDQyYzNhMWMxOTU4Yjky
MDYxNDQzMGMwYy4uYmIxOTIxNzMzMWY1N2QxMzgxMTkwMGM2NDdjMzE3ZmM3YjIzNmU2OSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RC
YXNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVl
c3RCYXNlLmgKQEAgLTMzLDYgKzMzLDcgQEAKICNpbmNsdWRlICJLVVJMLmgiCiAjaW5jbHVkZSAi
UmVzb3VyY2VMb2FkUHJpb3JpdHkuaCIKIAorI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgog
I2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNTEsNiAr
NTIsMjAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFJlc291cmNlUmVxdWVzdEJh
c2UgewogICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CisgICAg
ICAgIGVudW0gSW5pdGlhdG9yVHlwZSB7CisgICAgICAgICAgICBJbml0aWF0b3JJc1Vua25vd24s
CisgICAgICAgICAgICBJbml0aWF0b3JJc01haW5Eb2N1bWVudCwKKyAgICAgICAgICAgIEluaXRp
YXRvcklzQ1NTLAorICAgICAgICAgICAgSW5pdGlhdG9ySXNFbWJlZEVsZW1lbnQsCisgICAgICAg
ICAgICBJbml0aWF0b3JJc0ltYWdlRWxlbWVudCwKKyAgICAgICAgICAgIEluaXRpYXRvcklzTGlu
a0VsZW1lbnQsCisgICAgICAgICAgICBJbml0aWF0b3JJc09iamVjdEVsZW1lbnQsCisgICAgICAg
ICAgICBJbml0aWF0b3JJc1NjcmlwdEVsZW1lbnQsCisgICAgICAgICAgICBJbml0aWF0b3JJc1N1
YkRvY3VtZW50LAorICAgICAgICAgICAgSW5pdGlhdG9ySXNTVkcsCisgICAgICAgICAgICBJbml0
aWF0b3JJc1hIUiwKKyAgICAgICAgfTsKKwogICAgICAgICBzdGF0aWMgUGFzc093blB0cjxSZXNv
dXJjZVJlcXVlc3Q+IGFkb3B0KFBhc3NPd25QdHI8Q3Jvc3NUaHJlYWRSZXNvdXJjZVJlcXVlc3RE
YXRhPik7CiAKICAgICAgICAgLy8gR2V0cyBhIGNvcHkgb2YgdGhlIGRhdGEgc3VpdGFibGUgZm9y
IHBhc3NpbmcgdG8gYW5vdGhlciB0aHJlYWQuCkBAIC0xMzIsNiArMTQ3LDExIEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKICAgICAgICAgYm9vbCByZXBvcnRSYXdIZWFkZXJzKCkgY29uc3QgeyByZXR1
cm4gbV9yZXBvcnRSYXdIZWFkZXJzOyB9CiAgICAgICAgIHZvaWQgc2V0UmVwb3J0UmF3SGVhZGVy
cyhib29sIHJlcG9ydFJhd0hlYWRlcnMpIHsgbV9yZXBvcnRSYXdIZWFkZXJzID0gcmVwb3J0UmF3
SGVhZGVyczsgfQogCisgICAgICAgIEluaXRpYXRvclR5cGUgaW5pdGlhdG9yVHlwZSgpIGNvbnN0
IHsgcmV0dXJuIG1faW5pdGlhdG9yVHlwZTsgfQorICAgICAgICB2b2lkIHNldEluaXRpYXRvclR5
cGUoSW5pdGlhdG9yVHlwZSBpbml0aWF0b3JUeXBlKSB7IG1faW5pdGlhdG9yVHlwZSA9IGluaXRp
YXRvclR5cGU7IH0KKworICAgICAgICBkb3VibGUgaW5pdGlhdGVkVGltZSgpIGNvbnN0IHsgcmV0
dXJuIG1faW5pdGlhdGVkVGltZTsgfQorCiAgICAgICAgIHN0YXRpYyBkb3VibGUgZGVmYXVsdFRp
bWVvdXRJbnRlcnZhbCgpOyAvLyBNYXkgcmV0dXJuIDAgd2hlbiB1c2luZyBwbGF0Zm9ybSBkZWZh
dWx0LgogICAgICAgICBzdGF0aWMgdm9pZCBzZXREZWZhdWx0VGltZW91dEludGVydmFsKGRvdWJs
ZSk7CiAKQEAgLTE0Niw2ICsxNjYsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgICAg
ICAsIG1fcmVwb3J0TG9hZFRpbWluZyhmYWxzZSkKICAgICAgICAgICAgICwgbV9yZXBvcnRSYXdI
ZWFkZXJzKGZhbHNlKQogICAgICAgICAgICAgLCBtX3ByaW9yaXR5KFJlc291cmNlTG9hZFByaW9y
aXR5TG93KQorICAgICAgICAgICAgLCBtX2luaXRpYXRvclR5cGUoSW5pdGlhdG9ySXNVbmtub3du
KQorICAgICAgICAgICAgLCBtX2luaXRpYXRlZFRpbWUobW9ub3RvbmljYWxseUluY3JlYXNpbmdU
aW1lKCkpCiAgICAgICAgIHsKICAgICAgICAgfQogCkBAIC0xNjEsNiArMTgzLDggQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgICAgICAgICAgLCBtX3JlcG9ydExvYWRUaW1pbmcoZmFsc2UpCiAg
ICAgICAgICAgICAsIG1fcmVwb3J0UmF3SGVhZGVycyhmYWxzZSkKICAgICAgICAgICAgICwgbV9w
cmlvcml0eShSZXNvdXJjZUxvYWRQcmlvcml0eUxvdykKKyAgICAgICAgICAgICwgbV9pbml0aWF0
b3JUeXBlKEluaXRpYXRvcklzVW5rbm93bikKKyAgICAgICAgICAgICwgbV9pbml0aWF0ZWRUaW1l
KG1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpKQogICAgICAgICB7CiAgICAgICAgIH0KIApA
QCAtMTg2LDYgKzIxMCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgYm9vbCBtX3Jl
cG9ydExvYWRUaW1pbmcgOiAxOwogICAgICAgICBib29sIG1fcmVwb3J0UmF3SGVhZGVycyA6IDE7
CiAgICAgICAgIFJlc291cmNlTG9hZFByaW9yaXR5IG1fcHJpb3JpdHk7CisgICAgICAgIEluaXRp
YXRvclR5cGUgbV9pbml0aWF0b3JUeXBlOworICAgICAgICBkb3VibGUgbV9pbml0aWF0ZWRUaW1l
OwogCiAgICAgcHJpdmF0ZToKICAgICAgICAgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiBhc1Jlc291
cmNlUmVxdWVzdCgpIGNvbnN0OwpAQCAtMjE0LDggKzI0MCw5IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKICAgICAgICAgUmVmUHRyPEZvcm1EYXRhPiBtX2h0dHBCb2R5OwogICAgICAgICBib29sIG1f
YWxsb3dDb29raWVzOwogICAgICAgICBSZXNvdXJjZUxvYWRQcmlvcml0eSBtX3ByaW9yaXR5Owor
ICAgICAgICBSZXNvdXJjZVJlcXVlc3RCYXNlOjpJbml0aWF0b3JUeXBlIG1faW5pdGlhdG9yVHlw
ZTsKICAgICB9OwotICAgIAorCiAgICAgdW5zaWduZWQgaW5pdGlhbGl6ZU1heGltdW1IVFRQQ29u
bmVjdGlvbkNvdW50UGVySG9zdCgpOwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>146451</attachid>
            <date>2012-06-07 19:04:59 -0700</date>
            <delta_ts>2012-06-07 20:53:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-61152-20120607190459.patch</filename>
            <type>text/plain</type>
            <size>52567</size>
            <attacher name="James Simonsen">simonjam</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE5NzQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjRkYmM1NTIzYWVmMTU0
NDllNDY0YmY4YmRkNmVlMTBhMmI3ODE0Ny4uZTRmNjM5OTMzNWQ4ZGFiYTlkZDg1NmNlNjkyMTY4
YTk2MjEzODMwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDk1IEBACisyMDEyLTA2LTA3ICBKYW1l
cyBTaW1vbnNlbiAgPHNpbW9uamFtQGNocm9taXVtLm9yZz4KKworICAgICAgICBbUmVzb3VyY2Ug
VGltaW5nXSBJbXBsZW1lbnQgUmVzb3VyY2UgVGltaW5nIGludGVyZmFjZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjExNTIKKworICAgICAgICBUaGlz
IHBhdGNoIGltcGxlbWVudHMgdGhlIFJlc291cmNlIFRpbWluZyBpbnRlcmZhY2UuIEl0IGRvZXNu
J3QgZG8gYW55dGhpbmcKKyAgICAgICAgdXNlZnVsLCBiZWNhdXNlIG5vdGhpbmcgcG9wdWxhdGVz
IHRoZSB0aW1lbGluZSB5ZXQuIFRoZXJlIGFyZSBhbHNvIHNvbWUgZ2FwcworICAgICAgICBpbiB0
aGUgaW1wbGVtZW50YXRpb24sIHdoaWNoIGhhdmUgYmVlbiBmaWxlZCBhcyBidWdzLgorCisgICAg
ICAgIGh0dHA6Ly9kdmNzLnczLm9yZy9oZy93ZWJwZXJmL3Jhdy1maWxlL3RpcC9zcGVjcy9SZXNv
dXJjZVRpbWluZy9PdmVydmlldy5odG1sCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLiBGZWF0dXJlIGlzIGRpc2FibGVkIG9uIGFs
bCBwbGF0Zm9ybXMuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBEZXJp
dmVkU291cmNlcy5wcmk6CisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAgICAg
KiBUYXJnZXQucHJpOgorICAgICAgICAqIFVzZVY4LmNtYWtlOgorICAgICAgICAqIFdlYkNvcmUu
Z3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAg
KiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogYmluZGluZ3Mv
anMvSlNQZXJmb3JtYW5jZUN1c3RvbS5jcHA6IENvcGllZCBmcm9tIEpTSURCVmVyc2lvbkNoYW5n
ZVJlcXVlc3RDdXN0b20uY3BwLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3Jl
OjpKU1BlcmZvcm1hbmNlOjp2aXNpdENoaWxkcmVuKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9j
dXN0b20vVjhQZXJmb3JtYW5jZUVudHJ5Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgor
ICAgICAgICAoV2ViQ29yZTo6dG9WOCk6IFN1cHBvcnQgUGVyZm9ybWFuY2VFbnRyeSBwb2x5bW9y
cGhpc20uCisgICAgICAgICogZG9tL0V2ZW50TmFtZXMuaDoKKyAgICAgICAgKFdlYkNvcmUpOgor
ICAgICAgICAqIGRvbS9FdmVudFRhcmdldEZhY3RvcnkuaW46CisgICAgICAgICogcGFnZS9QZXJm
b3JtYW5jZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZTo6flBlcmZvcm1hbmNl
KToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6Omlu
dGVyZmFjZU5hbWUpOiBSZXFpcmVkIGZvciBFdmVudFRhcmdldC4KKyAgICAgICAgKFdlYkNvcmU6
OlBlcmZvcm1hbmNlOjpzY3JpcHRFeGVjdXRpb25Db250ZXh0KTogRGl0dG8uCisgICAgICAgIChX
ZWJDb3JlOjpQZXJmb3JtYW5jZTo6d2Via2l0R2V0RW50cmllcyk6IFJldHVybiAicmVzb3VyY2Ui
IGVudHJpZXMuCisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZTo6d2Via2l0R2V0RW50cmll
c0J5VHlwZSk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6OndlYmtpdEdl
dEVudHJpZXNCeU5hbWUpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlOjp3
ZWJraXRDbGVhclJlc291cmNlVGltaW5ncyk6IE5ldy4KKyAgICAgICAgKFdlYkNvcmU6OlBlcmZv
cm1hbmNlOjp3ZWJraXRTZXRSZXNvdXJjZVRpbWluZ0J1ZmZlclNpemUpOiBOZXcuIFVuaW1wbGVt
ZW50ZWQuCisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZTo6YWRkUmVzb3VyY2VUaW1pbmcp
OiBUaGlzIGlzIGhvdyByZXNvdXJjZXMgaW4gV2ViQ29yZSB3aWxsIHJlcG9ydCB0byB0aGUgdGlt
ZWxpbmUuCisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZTo6ZXZlbnRUYXJnZXREYXRhKTog
UmVxdWlyZWQgZm9yIEV2ZW50VGFyZ2V0LgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6
OmVuc3VyZUV2ZW50VGFyZ2V0RGF0YSk6IERpdHRvLgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFu
Y2UuaDoKKyAgICAgICAgKFBlcmZvcm1hbmNlKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1h
bmNlOjpyZWZFdmVudFRhcmdldCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZTo6ZGVy
ZWZFdmVudFRhcmdldCk6CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZS5pZGw6CisgICAgICAg
ICogcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1h
bmNlRW50cnk6On5QZXJmb3JtYW5jZUVudHJ5KToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAg
ICAqIHBhZ2UvUGVyZm9ybWFuY2VFbnRyeS5oOgorICAgICAgICAoUGVyZm9ybWFuY2VFbnRyeSk6
CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZUVudHJ5Ojppc1Jlc291cmNlKToKKyAgICAg
ICAgKiBwYWdlL1BlcmZvcm1hbmNlRW50cnkuaWRsOgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFu
Y2VSZXNvdXJjZVRpbWluZy5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAg
IChXZWJDb3JlOjp0b1BlcmZvcm1hbmNlSW5pdGlhdG9yVHlwZSk6CisgICAgICAgIChXZWJDb3Jl
OjpQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nKToK
KyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OmluaXRpYXRvclR5
cGUpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6cmVkaXJl
Y3RTdGFydCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpy
ZWRpcmVjdEVuZCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZVJlc291cmNlVGltaW5n
OjpmZXRjaFN0YXJ0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1p
bmc6OmRvbWFpbkxvb2t1cFN0YXJ0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlUmVz
b3VyY2VUaW1pbmc6OmRvbWFpbkxvb2t1cEVuZCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3Jt
YW5jZVJlc291cmNlVGltaW5nOjpjb25uZWN0U3RhcnQpOgorICAgICAgICAoV2ViQ29yZTo6UGVy
Zm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6Y29ubmVjdEVuZCk6CisgICAgICAgIChXZWJDb3JlOjpQ
ZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpzZWN1cmVDb25uZWN0aW9uU3RhcnQpOgorICAgICAg
ICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6cmVxdWVzdFN0YXJ0KToKKyAg
ICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OnJlc3BvbnNlU3RhcnQp
OgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6cmVzcG9uc2VF
bmQpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6bW9ub3Rv
bmljVGltZVRvRG9jdW1lbnRNaWxsaXNlY29uZHMpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9y
bWFuY2VSZXNvdXJjZVRpbWluZzo6cmVzb3VyY2VUaW1lVG9NaWxsaXNlY29uZHMpOgorICAgICAg
ICAqIHBhZ2UvUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5oOiBBZGRlZC4KKyAgICAgICAgKFdl
YkNvcmUpOgorICAgICAgICAoUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZyk6CisgICAgICAgIChX
ZWJDb3JlOjpQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpjcmVhdGUpOgorICAgICAgICAoV2Vi
Q29yZTo6UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6aXNSZXNvdXJjZSk6CisgICAgICAgICog
cGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmlkbDogQWRkZWQuCisgICAgICAgICogcGxh
dGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlJlc291cmNlUmVxdWVzdEJhc2U6OmFkb3B0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3Jr
L1Jlc291cmNlUmVxdWVzdEJhc2UuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVxdWVz
dEJhc2U6OmluaXRpYXRvclR5cGUpOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNl
UmVxdWVzdEJhc2U6OnNldEluaXRpYXRvclR5cGUpOiBBZGRlZC4KKyAgICAgICAgKFJlc291cmNl
UmVxdWVzdEJhc2UpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0QmFzZTo6aW5p
dGlhdGVkVGltZSk6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0QmFz
ZTo6UmVzb3VyY2VSZXF1ZXN0QmFzZSk6CisgICAgICAgIChDcm9zc1RocmVhZFJlc291cmNlUmVx
dWVzdERhdGFCYXNlKToKKyAgICAgICAgKFdlYkNvcmUpOgorCiAyMDEyLTA2LTA3ICBQZXRlciBC
ZXZlcmxvbyAgPHBldGVyQGNocm9taXVtLm9yZz4KIAogICAgICAgICBCdWlsZGZpeCBmb3IgRU5B
QkxFX09WRVJGTE9XX1NDUk9MTElORz0wICh0aG91Z2ggZGVmaW5lZCkKQEAgLTU0MzAsNiArNTUy
Miw1OCBAQAogICAgICAgICAoV2ViQ29yZTo6TGF5ZXJDaHJvbWl1bTo6c2V0U2NyZWVuU3BhY2VU
cmFuc2Zvcm0pOgogICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyUmVu
ZGVyZXJDaHJvbWl1bS5jcHA6CiAgICAgICAgIChXZWJDb3JlOjpMYXllclJlbmRlcmVyQ2hyb21p
dW06OmRyYXdDaGVja2VyYm9hcmRRdWFkKToKKzIwMTItMDQtMjUgIEphbWVzIFNpbW9uc2VuICA8
c2ltb25qYW1AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtXZWIgVGltaW5nXSBBZGQgYSB2ZW5k
b3ItcHJlZml4ZWQgUGVyZm9ybWFuY2UgVGltZWxpbmUgQVBJCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDM1MAorCisgICAgICAgIEFzIGRlc2NyaWJl
ZCBoZXJlOiBodHRwOi8vZHZjcy53My5vcmcvaGcvd2VicGVyZi9yYXctZmlsZS90aXAvc3BlY3Mv
UGVyZm9ybWFuY2VUaW1lbGluZS9PdmVydmlldy5odG1sCisKKyAgICAgICAgVGhlIEFQSSBpcyB0
aGVyZSBhbmQgc2hvdWxkIGJlIGNvcnJlY3QsIGJ1dCBpdCBpc24ndCBwYXJ0aWN1bGFybHkgdXNl
ZnVsLAorICAgICAgICBiZWNhdXNlIG5vdGhpbmcgaXMgcG9wdWxhdGVkLiBVcGNvbWluZyBjaGFu
Z2VzIHdpbGwgYWRkIE5hdmlnYXRpb24gVGltaW5nCisgICAgICAgIGFuZCBSZXNvdXJjZSBUaW1p
bmcuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgVG9ueSBHZW50aWxjb3JlLgorCisgICAgICAgIE5v
IG5ldyB0ZXN0cy4gRnVuY3Rpb25hbGl0eSBpcyBkaXNhYmxlZCBvbiBhbGwgcGxhdGZvcm1zLgor
CisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6IEFkZGVkIFBlcmZvcm1hbmNlRW50cnkqIGZpbGVz
LgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLnByaTogRGl0dG8uCisgICAgICAgICogR05VbWFr
ZWZpbGUubGlzdC5hbTogRGl0dG8uCisgICAgICAgICogV2ViQ29yZS5neXBpOiBEaXR0by4KKyAg
ICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajogRGl0dG8uCisgICAgICAgICog
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOiBEaXR0by4KKyAgICAgICAgKiBwYWdl
L1BlcmZvcm1hbmNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlOjp3ZWJraXRH
ZXRFbnRyaWVzKTogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZTo6d2Via2l0
R2V0RW50cmllc0J5VHlwZSk6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6
OndlYmtpdEdldEVudHJpZXNCeU5hbWUpOiBBZGRlZC4KKyAgICAgICAgKiBwYWdlL1BlcmZvcm1h
bmNlLmg6CisgICAgICAgIChQZXJmb3JtYW5jZSk6CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5j
ZS5pZGw6CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmNwcDogQWRkZWQuCisgICAg
ICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlRW50cnk6OlBlcmZv
cm1hbmNlRW50cnkpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VFbnRyeTo6bmFtZSk6
CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZUVudHJ5OjplbnRyeVR5cGUpOgorICAgICAg
ICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VFbnRyeTo6c3RhcnRUaW1lKToKKyAgICAgICAgKFdlYkNv
cmU6OlBlcmZvcm1hbmNlRW50cnk6OmR1cmF0aW9uKToKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1h
bmNlRW50cnkuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFBlcmZvcm1h
bmNlRW50cnkpOgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VFbnRyeS5pZGw6IEFkZGVkLgor
ICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VFbnRyeUxpc3QuY3BwOiBBZGRlZC4KKyAgICAgICAg
KFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VFbnRyeUxpc3Q6OlBlcmZv
cm1hbmNlRW50cnlMaXN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlRW50cnlMaXN0
Ojp+UGVyZm9ybWFuY2VFbnRyeUxpc3QpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VF
bnRyeUxpc3Q6Omxlbmd0aCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZUVudHJ5TGlz
dDo6aXRlbSk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZUVudHJ5TGlzdDo6YXBwZW5k
KToKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlRW50cnlMaXN0Lmg6IEFkZGVkLgorICAgICAg
ICAoV2ViQ29yZSk6CisgICAgICAgIChQZXJmb3JtYW5jZUVudHJ5TGlzdCk6CisgICAgICAgIChX
ZWJDb3JlOjpQZXJmb3JtYW5jZUVudHJ5TGlzdDo6Y3JlYXRlKToKKyAgICAgICAgKiBwYWdlL1Bl
cmZvcm1hbmNlRW50cnlMaXN0LmlkbDogQWRkZWQuCisKICAgICAgICAgKFdlYkNvcmU6OkxheWVy
UmVuZGVyZXJDaHJvbWl1bTo6ZHJhd0RlYnVnQm9yZGVyUXVhZCk6CiAgICAgICAgIChXZWJDb3Jl
OjpMYXllclJlbmRlcmVyQ2hyb21pdW06OmRyYXdCYWNrZ3JvdW5kRmlsdGVycyk6CiAgICAgICAg
IChXZWJDb3JlOjpMYXllclJlbmRlcmVyQ2hyb21pdW06OmRyYXdSZW5kZXJTdXJmYWNlUXVhZCk6
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJD
b3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDdiOTc3ODM0NjM5MWU2MDQ0OTI5ZGM0MGQyNjM1OTlh
YjcwYjkzYTcuLmZkOWZmZTI2MTMyYjc3OGY0Y2YxN2M5MDYzZDgzNmEwY2ZkM2E0OWYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3Jl
L0NNYWtlTGlzdHMudHh0CkBAIC0zOTEsNiArMzkxLDcgQEAgU0VUKFdlYkNvcmVfSURMX0ZJTEVT
CiAgICAgcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmlkbAogICAgIHBhZ2UvUGVyZm9ybWFuY2VFbnRy
eUxpc3QuaWRsCiAgICAgcGFnZS9QZXJmb3JtYW5jZU5hdmlnYXRpb24uaWRsCisgICAgcGFnZS9Q
ZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmlkbAogICAgIHBhZ2UvUGVyZm9ybWFuY2VUaW1pbmcu
aWRsCiAgICAgcGFnZS9TY3JlZW4uaWRsCiAgICAgcGFnZS9TcGVlY2hJbnB1dEV2ZW50LmlkbApA
QCAtMTA4MSw2ICsxMDgyLDcgQEAgU0VUKFdlYkNvcmVfU09VUkNFUwogICAgIHBhZ2UvUGVyZm9y
bWFuY2VFbnRyeS5jcHAKICAgICBwYWdlL1BlcmZvcm1hbmNlRW50cnlMaXN0LmNwcAogICAgIHBh
Z2UvUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmNwcAorICAgIHBhZ2UvUGVyZm9ybWFuY2VSZXNvdXJj
ZVRpbWluZy5jcHAKICAgICBwYWdlL1BlcmZvcm1hbmNlVGltaW5nLmNwcAogICAgIHBhZ2UvUHJp
bnRDb250ZXh0LmNwcAogICAgIHBhZ2UvU2NyZWVuLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvRGVyaXZlZFNvdXJjZXMucHJpIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMu
cHJpCmluZGV4IDgyZmM0NDU1ZTk5ZGU0MDkyY2MwNTdkOWI5OWI1YzcyY2YyYjE0NTUuLjIwMDNm
NjhjMGM0ZjQ5OThmNjdlNWZkODBiMjYyM2ZlNmM1Y2ZiYTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291
cmNlcy5wcmkKQEAgLTQxOCw2ICs0MTgsNyBAQCBJRExfQklORElOR1MgKz0gXAogICAgICQkUFdE
L3BhZ2UvUGVyZm9ybWFuY2VFbnRyeS5pZGwgXAogICAgICQkUFdEL3BhZ2UvUGVyZm9ybWFuY2VF
bnRyeUxpc3QuaWRsIFwKICAgICAkJFBXRC9wYWdlL1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5pZGwg
XAorICAgICQkUFdEL3BhZ2UvUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5pZGwgXAogICAgICQk
UFdEL3BhZ2UvUGVyZm9ybWFuY2VUaW1pbmcuaWRsIFwKICAgICAkJFBXRC9wYWdlL1NjcmVlbi5p
ZGwgXAogICAgICQkUFdEL3BhZ2UvU3BlZWNoSW5wdXRFdmVudC5pZGwgXApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1h
a2VmaWxlLmxpc3QuYW0KaW5kZXggYTljNzVlMjYwMzcyZDBjM2JhZjBjYjFmMjkyZmU1MDgwM2Ew
NTA2Zi4uOTk3Yjc1OTdhMDY3NWM3ZmJmZDMxZWI0ZjQxZmEyMmQwMWQxYjRkYiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC05NTUsNiArOTU1LDcgQEAgZG9tX2JpbmRpbmdfaWRs
cyArPSBcCiAJJChXZWJDb3JlKS9wYWdlL1BlcmZvcm1hbmNlRW50cnkuaWRsIFwKIAkkKFdlYkNv
cmUpL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeUxpc3QuaWRsIFwKIAkkKFdlYkNvcmUpL3BhZ2UvUGVy
Zm9ybWFuY2VOYXZpZ2F0aW9uLmlkbCBcCisJJChXZWJDb3JlKS9wYWdlL1BlcmZvcm1hbmNlUmVz
b3VyY2VUaW1pbmcuaWRsIFwKIAkkKFdlYkNvcmUpL3BhZ2UvUGVyZm9ybWFuY2VUaW1pbmcuaWRs
IFwKIAkkKFdlYkNvcmUpL3BhZ2UvU2NyZWVuLmlkbCBcCiAJJChXZWJDb3JlKS9wYWdlL1NwZWVj
aElucHV0RXZlbnQuaWRsIFwKQEAgLTE0NTUsNiArMTQ1Niw3IEBAIHdlYmNvcmVfc291cmNlcyAr
PSBcCiAJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNOb2RlRmlsdGVyQ3VzdG9tLmNwcCBc
CiAJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNOb2RlSXRlcmF0b3JDdXN0b20uY3BwIFwK
IAlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU05vZGVMaXN0Q3VzdG9tLmNwcCBcCisJU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNQZXJmb3JtYW5jZUN1c3RvbS5jcHAgXAogCVNvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTUGx1Z2luRWxlbWVudEZ1bmN0aW9ucy5jcHAgXAogCVNv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTUGx1Z2luRWxlbWVudEZ1bmN0aW9ucy5oIFwKIAlT
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1BvcFN0YXRlRXZlbnRDdXN0b20uY3BwIFwKQEAg
LTMwMjgsNiArMzAzMCw4IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUv
cGFnZS9QZXJmb3JtYW5jZUVudHJ5TGlzdC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZv
cm1hbmNlTmF2aWdhdGlvbi5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VO
YXZpZ2F0aW9uLmggXAorCVNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VSZXNvdXJjZVRp
bWluZy5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWlu
Zy5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlVGltaW5nLmNwcCBcCiAJU291
cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVRpbWluZy5oIFwKIAlTb3VyY2UvV2ViQ29yZS9w
YWdlL1BvaW50ZXJMb2NrLmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnBy
aSBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKaW5kZXggMTUzZjEzOWMzM2ViN2JjZDA4M2Yy
YjQyZDE4ZjMyOTExYWZkODJkZS4uYTg5NmZjMTEyMjFmZjQwNGJlYjhmZTM3MTMyOTUwMGZkNDcw
YzM1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9UYXJnZXQucHJpCkBAIC0yMTMsNiArMjEzLDcgQEAgdjggewogICAgICAgICBiaW5k
aW5ncy92OC9jdXN0b20vVjhOb2RlQ3VzdG9tLmNwcCBcCiAgICAgICAgIGJpbmRpbmdzL3Y4L2N1
c3RvbS9WOE5vZGVMaXN0Q3VzdG9tLmNwcCBcCiAgICAgICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9W
OFBlcmZvcm1hbmNlQ3VzdG9tLmNwcCBcCisgICAgICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOFBl
cmZvcm1hbmNlRW50cnlDdXN0b20uY3BwIFwKICAgICAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4
U1FMUmVzdWx0U2V0Um93TGlzdEN1c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5ncy92OC9jdXN0
b20vVjhTUUxUcmFuc2FjdGlvbkN1c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5ncy92OC9jdXN0
b20vVjhXZWJTb2NrZXRDdXN0b20uY3BwIFwKQEAgLTM0NSw2ICszNDYsNyBAQCB2OCB7CiAgICAg
ICAgIGJpbmRpbmdzL2pzL0pTTm9kZUl0ZXJhdG9yQ3VzdG9tLmNwcCBcCiAgICAgICAgIGJpbmRp
bmdzL2pzL0pTTm9kZUxpc3RDdXN0b20uY3BwIFwKICAgICAgICAgYmluZGluZ3MvanMvSlNOb3Rp
ZmljYXRpb25DdXN0b20uY3BwIFwKKyAgICAgICAgYmluZGluZ3MvanMvSlNQZXJmb3JtYW5jZUN1
c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5ncy9qcy9KU1BsdWdpbkVsZW1lbnRGdW5jdGlvbnMu
Y3BwIFwKICAgICAgICAgYmluZGluZ3MvanMvSlNQb3BTdGF0ZUV2ZW50Q3VzdG9tLmNwcCBcCiAg
ICAgICAgIGJpbmRpbmdzL2pzL0pTUHJvY2Vzc2luZ0luc3RydWN0aW9uQ3VzdG9tLmNwcCBcCkBA
IC0xMDQ4LDYgKzEwNTAsNyBAQCBTT1VSQ0VTICs9IFwKICAgICBwYWdlL1BlcmZvcm1hbmNlRW50
cnkuY3BwIFwKICAgICBwYWdlL1BlcmZvcm1hbmNlRW50cnlMaXN0LmNwcCBcCiAgICAgcGFnZS9Q
ZXJmb3JtYW5jZU5hdmlnYXRpb24uY3BwIFwKKyAgICBwYWdlL1BlcmZvcm1hbmNlUmVzb3VyY2VU
aW1pbmcuY3BwIFwKICAgICBwYWdlL1BlcmZvcm1hbmNlVGltaW5nLmNwcCBcCiAgICAgcGFnZS9Q
cmludENvbnRleHQuY3BwIFwKICAgICBwYWdlL1NjcmVlbi5jcHAgXApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvVXNlSlNDLmNtYWtlIGIvU291cmNlL1dlYkNvcmUvVXNlSlNDLmNtYWtlCmlu
ZGV4IDIwMTVlM2I3Y2Q1ODcwODNkMDk3YjRiNDA0ZmRjYmNiMzk1ZjIwODUuLjc0YzZlOTNiYjQ5
YTdlYjEyNWE3OTUzM2FkYWNmYjQ0MmRjM2MzMmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1VzZUpTQy5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9Vc2VKU0MuY21ha2UKQEAgLTEyMSw2
ICsxMjEsNyBAQCBMSVNUKEFQUEVORCBXZWJDb3JlX1NPVVJDRVMKICAgICBiaW5kaW5ncy9qcy9K
U05vZGVJdGVyYXRvckN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9KU05vZGVMaXN0Q3VzdG9t
LmNwcAogICAgIGJpbmRpbmdzL2pzL0pTTm90aWZpY2F0aW9uQ3VzdG9tLmNwcAorICAgIGJpbmRp
bmdzL2pzL0pTUGVyZm9ybWFuY2VDdXN0b20uY3BwCiAgICAgYmluZGluZ3MvanMvSlNQbHVnaW5F
bGVtZW50RnVuY3Rpb25zLmNwcAogICAgIGJpbmRpbmdzL2pzL0pTUG9wU3RhdGVFdmVudEN1c3Rv
bS5jcHAKICAgICBiaW5kaW5ncy9qcy9KU1Byb2Nlc3NpbmdJbnN0cnVjdGlvbkN1c3RvbS5jcHAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1VzZVY4LmNtYWtlIGIvU291cmNlL1dlYkNvcmUv
VXNlVjguY21ha2UKaW5kZXggODVkMzc4NmIzMjc5NTdhNzA0MjllZTFmNDZmMGNlOTY1ZGU0ZmJh
Ni4uZWMxZTQ5NDFlYTQ2ODk1NTIyMWQ5NjdmNDMyZTZmZmEzNThkZGU2OSAxMDA3NTUKLS0tIGEv
U291cmNlL1dlYkNvcmUvVXNlVjguY21ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvVXNlVjguY21h
a2UKQEAgLTEzOSw2ICsxMzksNyBAQCBMSVNUKEFQUEVORCBXZWJDb3JlX1NPVVJDRVMKICAgICBi
aW5kaW5ncy92OC9jdXN0b20vVjhOb3RpZmljYXRpb25DdXN0b20uY3BwCiAgICAgYmluZGluZ3Mv
djgvY3VzdG9tL1Y4Tm90aWZpY2F0aW9uQ2VudGVyQ3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL3Y4
L2N1c3RvbS9WOFBlcmZvcm1hbmNlQ3VzdG9tLmNwcAorICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9W
OFBlcmZvcm1hbmNlRW50cnlDdXN0b20uY3BwCiAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4UG9w
U3RhdGVFdmVudEN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhTUUxSZXN1bHRT
ZXRSb3dMaXN0Q3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOFNRTFRyYW5zYWN0
aW9uQ3VzdG9tLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDk5MjcwMjcyMWU2YjEwZWU1MTE1YmRj
YzVhNDM1ZGM1OThhNTFiOGYuLjY5MTA4MzE5NGI5ODAxMDBiMzM3NTdjOWQ0OTViMGRiYjA1MzNk
MTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTExNTYsNiArMTE1Niw3IEBACiAgICAgICAgICAgICAn
cGFnZS9QZXJmb3JtYW5jZUVudHJ5LmlkbCcsCiAgICAgICAgICAgICAncGFnZS9QZXJmb3JtYW5j
ZUVudHJ5TGlzdC5pZGwnLAogICAgICAgICAgICAgJ3BhZ2UvUGVyZm9ybWFuY2VOYXZpZ2F0aW9u
LmlkbCcsCisgICAgICAgICAgICAncGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmlkbCcs
CiAgICAgICAgICAgICAncGFnZS9QZXJmb3JtYW5jZVRpbWluZy5pZGwnLAogICAgICAgICAgICAg
J3BhZ2UvUG9pbnRlckxvY2suaWRsJywKICAgICAgICAgICAgICdwYWdlL1NjcmVlbi5pZGwnLApA
QCAtMjAwOCw2ICsyMDA5LDcgQEAKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU05vZGVJdGVy
YXRvckN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTTm9kZUxpc3RDdXN0
b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU05vdGlmaWNhdGlvbkN1c3RvbS5j
cHAnLAorICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTUGVyZm9ybWFuY2VDdXN0b20uY3BwJywK
ICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU1BsdWdpbkVsZW1lbnRGdW5jdGlvbnMuY3BwJywK
ICAgICAgICAgICAgICdiaW5kaW5ncy9qcy9KU1BvcFN0YXRlRXZlbnRDdXN0b20uY3BwJywKICAg
ICAgICAgICAgICdiaW5kaW5ncy9qcy9KU1Byb2Nlc3NpbmdJbnN0cnVjdGlvbkN1c3RvbS5jcHAn
LApAQCAtMjMyMSw2ICsyMzIzLDcgQEAKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20v
VjhOb3RpZmljYXRpb25DdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0
b20vVjhOb3RpZmljYXRpb25DZW50ZXJDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5n
cy92OC9jdXN0b20vVjhQZXJmb3JtYW5jZUN1c3RvbS5jcHAnLAorICAgICAgICAgICAgJ2JpbmRp
bmdzL3Y4L2N1c3RvbS9WOFBlcmZvcm1hbmNlRW50cnlDdXN0b20uY3BwJywKICAgICAgICAgICAg
ICdiaW5kaW5ncy92OC9jdXN0b20vVjhQb3BTdGF0ZUV2ZW50Q3VzdG9tLmNwcCcsCiAgICAgICAg
ICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4U1FMUmVzdWx0U2V0Um93TGlzdEN1c3RvbS5jcHAn
LAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFNRTFRyYW5zYWN0aW9uQ3VzdG9t
LmNwcCcsCkBAIC0zMDUwLDYgKzMwNTMsOCBAQAogICAgICAgICAgICAgJ3BhZ2UvUGVyZm9ybWFu
Y2VFbnRyeUxpc3QuaCcsCiAgICAgICAgICAgICAncGFnZS9QZXJmb3JtYW5jZU5hdmlnYXRpb24u
Y3BwJywKICAgICAgICAgICAgICdwYWdlL1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5oJywKKyAgICAg
ICAgICAgICdwYWdlL1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuY3BwJywKKyAgICAgICAgICAg
ICdwYWdlL1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaCcsCiAgICAgICAgICAgICAncGFnZS9Q
ZXJmb3JtYW5jZVRpbWluZy5jcHAnLAogICAgICAgICAgICAgJ3BhZ2UvUGVyZm9ybWFuY2VUaW1p
bmcuaCcsCiAgICAgICAgICAgICAncGFnZS9Qb2ludGVyTG9jay5jcHAnLApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2ogYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagppbmRleCBiMTZhOTYyZTBlYjIwZGUw
NzY3MzAxM2Y4MDgwNzhiNmNmNzZjMDdjLi40ZDYwODljNzIxMWVlNWE5ODQ5MjJiZWFkZDhiZDRj
YmM0ODMyNzVjIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJD
b3JlLnZjcHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZj
cHJvagpAQCAtMjY4NDcsNiArMjY4NDcsMTQgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8Rmls
ZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGFnZVxQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmNw
cCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGFn
ZVxQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmgiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZp
bGUKIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHBhZ2VcUGVyZm9ybWFuY2VUaW1pbmcuY3BwIgogCQkJ
CT4KIAkJCTwvRmlsZT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagppbmRleCBiMWQwY2ZiZmQxOGRkNmM3NzcxMzgxMmYyNmUwMTdmNTNjOWI0
YjVkLi44MjJlNzZhNjEyNzI5MTkwOTBhN2FhNDc4MzJmMDdlNDYxZDlmYWU0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0yODg2
LDYgKzI4ODYsOCBAQAogCQk4NjFDMkVBNDEzRkI0RkREMDAwNjJBQkIgLyogRG9jdW1lbnRMb2Fk
VGltaW5nLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDg2MUMyRUEzMTNGQjRGREQwMDA2MkFCQiAvKiBEb2N1bWVudExvYWRUaW1pbmcuY3BwICovOyB9
OwogCQk4NjFDMkVBNjEzRkI0RkZGMDAwNjJBQkIgLyogUmVzb3VyY2VMb2FkVGltaW5nLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2MUMyRUE1MTNG
QjRGRkYwMDA2MkFCQiAvKiBSZXNvdXJjZUxvYWRUaW1pbmcuY3BwICovOyB9OwogCQk4NjI0M0Qw
MTExQkMzMUY3MDBDQzAwNkEgLyogSlNBcnJheUJ1ZmZlclZpZXdIZWxwZXIuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2MjQzRDAwMTFCQzMxRjcwMEND
MDA2QSAvKiBKU0FycmF5QnVmZmVyVmlld0hlbHBlci5oICovOyB9OworCQk4NjUxMkVERTE1NEEy
QUVGMDBBOTA0MjYgLyogUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NjUxMkVEQjE1NEEyQUVFMDBBOTA0
MjYgLyogUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5jcHAgKi87IH07CisJCTg2NTEyRURGMTU0
QTJBRUYwMEE5MDQyNiAvKiBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NjUxMkVEQzE1NEEyQUVGMDBBOTA0
MjYgLyogUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5oICovOyB9OwogCQk4NkJFMzQwMDE1MDU4
Q0IyMDBDRTBGRDggLyogUGVyZm9ybWFuY2VFbnRyeS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NkJFMzNGQTE1MDU4Q0IyMDBDRTBGRDggLyogUGVy
Zm9ybWFuY2VFbnRyeS5jcHAgKi87IH07CiAJCTg2QkUzNDAxMTUwNThDQjIwMENFMEZEOCAvKiBQ
ZXJmb3JtYW5jZUVudHJ5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA4NkJFMzNGQjE1MDU4Q0IyMDBDRTBGRDggLyogUGVyZm9ybWFuY2VFbnRyeS5oICov
OyB9OwogCQk4NkJFMzQwMzE1MDU4Q0IyMDBDRTBGRDggLyogUGVyZm9ybWFuY2VFbnRyeUxpc3Qu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODZCRTMz
RkQxNTA1OENCMjAwQ0UwRkQ4IC8qIFBlcmZvcm1hbmNlRW50cnlMaXN0LmNwcCAqLzsgfTsKQEAg
LTk5MTQsNiArOTkxNiw5IEBACiAJCTg2MUMyRUEzMTNGQjRGREQwMDA2MkFCQiAvKiBEb2N1bWVu
dExvYWRUaW1pbmcuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRG9j
dW1lbnRMb2FkVGltaW5nLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODYxQzJF
QTUxM0ZCNEZGRjAwMDYyQUJCIC8qIFJlc291cmNlTG9hZFRpbWluZy5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZXNvdXJjZUxvYWRUaW1pbmcuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk4NjI0M0QwMDExQkMzMUY3MDBDQzAwNkEgLyogSlNBcnJh
eUJ1ZmZlclZpZXdIZWxwZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNB
cnJheUJ1ZmZlclZpZXdIZWxwZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODY1
MTJFREIxNTRBMkFFRTAwQTkwNDI2IC8qIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGVyZm9ybWFuY2VSZXNvdXJjZVRp
bWluZy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg2NTEyRURDMTU0QTJBRUYw
MEE5MDQyNiAvKiBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJODY1MTJFREQxNTRBMkFFRjAwQTkwNDI2IC8qIFBlcmZvcm1hbmNl
UmVzb3VyY2VUaW1pbmcuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFBlcmZvcm1hbmNlUmVz
b3VyY2VUaW1pbmcuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NkJFMzNGQTE1
MDU4Q0IyMDBDRTBGRDggLyogUGVyZm9ybWFuY2VFbnRyeS5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBQZXJmb3JtYW5jZUVudHJ5LmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJODZCRTMzRkIxNTA1OENCMjAwQ0UwRkQ4IC8qIFBlcmZvcm1hbmNlRW50
cnkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGVyZm9ybWFuY2VFbnRyeS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NkJFMzNGQzE1MDU4Q0IyMDBDRTBGRDgg
LyogUGVyZm9ybWFuY2VFbnRyeS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gUGVyZm9ybWFu
Y2VFbnRyeS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNTU0Nyw2ICsxNTU1
Miw5IEBACiAJCQkJOEFGNEU1NTIxMURDNUEzNjAwMEVEM0RFIC8qIFBlcmZvcm1hbmNlTmF2aWdh
dGlvbi5jcHAgKi8sCiAJCQkJOEFGNEU1NTMxMURDNUEzNjAwMEVEM0RFIC8qIFBlcmZvcm1hbmNl
TmF2aWdhdGlvbi5oICovLAogCQkJCThBRjRFNTU0MTFEQzVBMzYwMDBFRDNERSAvKiBQZXJmb3Jt
YW5jZU5hdmlnYXRpb24uaWRsICovLAorCQkJCTg2NTEyRURCMTU0QTJBRUUwMEE5MDQyNiAvKiBQ
ZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmNwcCAqLywKKwkJCQk4NjUxMkVEQzE1NEEyQUVGMDBB
OTA0MjYgLyogUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5oICovLAorCQkJCTg2NTEyRUREMTU0
QTJBRUYwMEE5MDQyNiAvKiBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmlkbCAqLywKIAkJCQk4
QUY0RTU1ODExREM1QTYzMDAwRUQzREUgLyogUGVyZm9ybWFuY2VUaW1pbmcuY3BwICovLAogCQkJ
CThBRjRFNTU5MTFEQzVBNjMwMDBFRDNERSAvKiBQZXJmb3JtYW5jZVRpbWluZy5oICovLAogCQkJ
CThBRjRFNTVBMTFEQzVBNjMwMDBFRDNERSAvKiBQZXJmb3JtYW5jZVRpbWluZy5pZGwgKi8sCkBA
IC0yNDAxNSw2ICsyNDAyMyw3IEBACiAJCQkJODZCRTM0MDExNTA1OENCMjAwQ0UwRkQ4IC8qIFBl
cmZvcm1hbmNlRW50cnkuaCBpbiBIZWFkZXJzICovLAogCQkJCTg2QkUzNDA0MTUwNThDQjIwMENF
MEZEOCAvKiBQZXJmb3JtYW5jZUVudHJ5TGlzdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOEFGNEU1
NTYxMURDNUEzNjAwMEVEM0RFIC8qIFBlcmZvcm1hbmNlTmF2aWdhdGlvbi5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJODY1MTJFREYxNTRBMkFFRjAwQTkwNDI2IC8qIFBlcmZvcm1hbmNlUmVzb3VyY2VU
aW1pbmcuaCBpbiBIZWFkZXJzICovLAogCQkJCThBRjRFNTVDMTFEQzVBNjMwMDBFRDNERSAvKiBQ
ZXJmb3JtYW5jZVRpbWluZy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDlENURDMkUwRjQyM0E3MzAw
OEYyMEZEIC8qIFBlcnNwZWN0aXZlVHJhbnNmb3JtT3BlcmF0aW9uLmggaW4gSGVhZGVycyAqLywK
IAkJCQlEMEZGMkE1RTExRjhDNDVBMDA3RTc0RTAgLyogUGluZ0xvYWRlci5oIGluIEhlYWRlcnMg
Ki8sCkBAIC0yNzIzNSw2ICsyNzI0NCw3IEBACiAJCQkJODZCRTM0MDAxNTA1OENCMjAwQ0UwRkQ4
IC8qIFBlcmZvcm1hbmNlRW50cnkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJODZCRTM0MDMxNTA1
OENCMjAwQ0UwRkQ4IC8qIFBlcmZvcm1hbmNlRW50cnlMaXN0LmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCThBRjRFNTU1MTFEQzVBMzYwMDBFRDNERSAvKiBQZXJmb3JtYW5jZU5hdmlnYXRpb24uY3Bw
IGluIFNvdXJjZXMgKi8sCisJCQkJODY1MTJFREUxNTRBMkFFRjAwQTkwNDI2IC8qIFBlcmZvcm1h
bmNlUmVzb3VyY2VUaW1pbmcuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOEFGNEU1NUIxMURDNUE2
MzAwMEVEM0RFIC8qIFBlcmZvcm1hbmNlVGltaW5nLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQ5
RDVEQzJEMEY0MjNBNzMwMDhGMjBGRCAvKiBQZXJzcGVjdGl2ZVRyYW5zZm9ybU9wZXJhdGlvbi5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQlEMEZGMkE1RDExRjhDNDVBMDA3RTc0RTAgLyogUGluZ0xv
YWRlci5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTUGVyZm9ybWFuY2VDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNQZXJmb3JtYW5jZUN1c3RvbS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTI4MTA4Mzc5ODMyNmUzZjIw
OGY3MGZmZGEwODA3ODg2MTkzMWQ4NAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTUGVyZm9ybWFuY2VDdXN0b20uY3BwCkBAIC0wLDAgKzEsNDIgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTIsIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OgorICoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEdPT0dMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKKyAqIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICog
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UKKyAqIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFCisgKiBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTAorICogREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IKKyAqIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSCisgKiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QKKyAqIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkKKyAqIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSAorICogREFN
QUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJKU1BlcmZvcm1hbmNl
LmgiCisKKyNpZiBFTkFCTEUoV0VCX1RJTUlORykKKworI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25z
Lmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwordm9pZCBKU1BlcmZvcm1hbmNlOjp2aXNpdENo
aWxkcmVuKEpTQ2VsbCosIEpTQzo6U2xvdFZpc2l0b3ImKQoreworICAgIC8vIEZJWE1FOiBJbXBs
ZW1lbnQgdGhpcy4KK30KKworfQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFBlcmZvcm1hbmNlRW50cnlDdXN0b20uY3BwIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4UGVyZm9ybWFuY2VFbnRyeUN1c3RvbS5jcHAK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNzRkZjljNzY0ZGMxNTZkODRkOTE1OGU3OWM1ZGQyYmFhMGJiMzZkOQotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFBlcmZv
cm1hbmNlRW50cnlDdXN0b20uY3BwCkBAIC0wLDAgKzEsNjEgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgor
ICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9m
IGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QK
KyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgi
CisjaW5jbHVkZSAiUGVyZm9ybWFuY2VFbnRyeS5oIgorCisjaWYgRU5BQkxFKFBFUkZPUk1BTkNF
X1RJTUVMSU5FKQorCisjaW5jbHVkZSAiUGVyZm9ybWFuY2UuaCIKKyNpbmNsdWRlICJQZXJmb3Jt
YW5jZVJlc291cmNlVGltaW5nLmgiCisKKyNpbmNsdWRlICJWOFBlcmZvcm1hbmNlRW50cnkuaCIK
KyNpbmNsdWRlICJWOFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaCIKKworI2luY2x1ZGUgPHd0
Zi9SZWZQdHIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCit2ODo6SGFuZGxlPHY4OjpWYWx1
ZT4gdG9WOChQZXJmb3JtYW5jZUVudHJ5KiBpbXBsLCB2ODo6SXNvbGF0ZSogaXNvbGF0ZSkKK3sK
KyAgICBpZiAoIWltcGwpCisgICAgICAgIHJldHVybiB2ODo6TnVsbCgpOworCisjaWYgRU5BQkxF
KFJFU09VUkNFX1RJTUlORykKKyAgICBpZiAoaW1wbC0+aXNSZXNvdXJjZSgpKQorICAgICAgICBy
ZXR1cm4gdG9WOChzdGF0aWNfY2FzdDxQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nKj4oaW1wbCks
IGlzb2xhdGUpOworI2VuZGlmCisKKyAgICByZXR1cm4gVjhQZXJmb3JtYW5jZUVudHJ5Ojp3cmFw
KGltcGwpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUo
UEVSRk9STUFOQ0VfVElNRUxJTkUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZl
bnROYW1lcy5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaAppbmRleCAyMDVhOGM5
OTIxY2E1MTgyYTY4YzdjYzJiZjFjZWE4ZWNkOWMxZGMwLi4zMTUwOTBkZTlhNmYwZjg5ZWNkYzAz
YWQzZWNhZjgwNjFlY2VmY2FlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRO
YW1lcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgKQEAgLTIyNSw2ICsy
MjUsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgXAogICAgIG1hY3JvKHdlYmtpdG5ldHdv
cmtpbmZvY2hhbmdlKSBcCiAgICAgXAorICAgIG1hY3JvKHdlYmtpdHJlc291cmNldGltaW5nYnVm
ZmVyZnVsbCkgXAorICAgIFwKIAogLy8gZW5kIG9mIERPTV9FVkVOVF9OQU1FU19GT1JfRUFDSAog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXRGYWN0b3J5LmluIGIv
U291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0RmFjdG9yeS5pbgppbmRleCBmMDFiODExYWJh
OWI4MDZmYzIxMjVmNzBmN2I0MzExNzNiM2JiNWIwLi4zZWM2ZGI5NDQ2ZDI1OTYzMTYyOWFjNzNj
ZTllZjBlNDFmNGEzNTg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJn
ZXRGYWN0b3J5LmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldEZhY3Rvcnku
aW4KQEAgLTIyLDYgKzIyLDcgQEAgTmV0d29ya0luZm9Db25uZWN0aW9uIGNvbmRpdGlvbmFsPU5F
VFdPUktfSU5GTwogTm9kZQogTm90aWZpY2F0aW9uIGNvbmRpdGlvbmFsPU5PVElGSUNBVElPTlN8
TEVHQUNZX05PVElGSUNBVElPTlMKIFBlZXJDb25uZWN0aW9uMDAgY29uZGl0aW9uYWw9TUVESUFf
U1RSRUFNCitQZXJmb3JtYW5jZSBjb25kaXRpb25hbD1XRUJfVElNSU5HCiBTaGFyZWRXb3JrZXIg
Y29uZGl0aW9uYWw9U0hBUkVEX1dPUktFUlMKIFNoYXJlZFdvcmtlckNvbnRleHQgY29uZGl0aW9u
YWw9U0hBUkVEX1dPUktFUlMKIFNwZWVjaFJlY29nbml0aW9uIGNvbmRpdGlvbmFsPVNDUklQVEVE
X1NQRUVDSApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmNwcAppbmRleCA1YmYyM2I2ZGVhMTJi
MDc4YTEwNmZkYzE4ZjUyZDI1NzM2OGQ0ZTI4Li45MDMzOTMwMjE5ZTYwNDExNTE0Y2NkZTU2ZjY2
YmU2Yjg1ODhkNTE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNl
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmNwcApAQCAtMzQsOCAr
MzQsMTEgQEAKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkRvY3VtZW50TG9hZGVy
LmgiCiAjaW5jbHVkZSAiTWVtb3J5SW5mby5oIgorI2luY2x1ZGUgIlBlcmZvcm1hbmNlRW50cnku
aCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZU5hdmlnYXRpb24uaCIKKyNpbmNsdWRlICJQZXJmb3Jt
YW5jZVJlc291cmNlVGltaW5nLmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VUaW1pbmcuaCIKKyNp
bmNsdWRlICJSZXNvdXJjZVJlc3BvbnNlLmgiCiAjaW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+
CiAKICNpZiBFTkFCTEUoV0VCX1RJTUlORykKQEAgLTQ5LDYgKzUyLDIyIEBAIFBlcmZvcm1hbmNl
OjpQZXJmb3JtYW5jZShGcmFtZSogZnJhbWUpCiB7CiB9CiAKK1BlcmZvcm1hbmNlOjp+UGVyZm9y
bWFuY2UoKQoreworfQorCitjb25zdCBBdG9taWNTdHJpbmcmIFBlcmZvcm1hbmNlOjppbnRlcmZh
Y2VOYW1lKCkgY29uc3QKK3sKKyAgICByZXR1cm4gZXZlbnROYW1lcygpLmludGVyZmFjZUZvclBl
cmZvcm1hbmNlOworfQorCitTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBQZXJmb3JtYW5jZTo6c2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCgpIGNvbnN0Cit7CisgICAgaWYgKCFmcmFtZSgpKQorICAgICAg
ICByZXR1cm4gMDsKKyAgICByZXR1cm4gZnJhbWUoKS0+ZG9jdW1lbnQoKTsKK30KKwogUGFzc1Jl
ZlB0cjxNZW1vcnlJbmZvPiBQZXJmb3JtYW5jZTo6bWVtb3J5KCkgY29uc3QKIHsKICAgICByZXR1
cm4gTWVtb3J5SW5mbzo6Y3JlYXRlKG1fZnJhbWUpOwpAQCAtNzUsMjMgKzk0LDc3IEBAIFBlcmZv
cm1hbmNlVGltaW5nKiBQZXJmb3JtYW5jZTo6dGltaW5nKCkgY29uc3QKIFBhc3NSZWZQdHI8UGVy
Zm9ybWFuY2VFbnRyeUxpc3Q+IFBlcmZvcm1hbmNlOjp3ZWJraXRHZXRFbnRyaWVzKCkgY29uc3QK
IHsKICAgICBSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeUxpc3Q+IGVudHJpZXMgPSBQZXJmb3JtYW5j
ZUVudHJ5TGlzdDo6Y3JlYXRlKCk7CisKKyNpZiBFTkFCTEUoUkVTT1VSQ0VfVElNSU5HKQorICAg
IGVudHJpZXMtPmFwcGVuZEFsbChtX3Jlc291cmNlVGltaW5nQnVmZmVyKTsKKyNlbmRpZiAvLyBF
TkFCTEUoUkVTT1VSQ0VfVElNSU5HKQorCiAgICAgcmV0dXJuIGVudHJpZXM7CiB9CiAKLVBhc3NS
ZWZQdHI8UGVyZm9ybWFuY2VFbnRyeUxpc3Q+IFBlcmZvcm1hbmNlOjp3ZWJraXRHZXRFbnRyaWVz
QnlUeXBlKGNvbnN0IFN0cmluZyYpCitQYXNzUmVmUHRyPFBlcmZvcm1hbmNlRW50cnlMaXN0PiBQ
ZXJmb3JtYW5jZTo6d2Via2l0R2V0RW50cmllc0J5VHlwZShjb25zdCBTdHJpbmcmIGVudHJ5VHlw
ZSkKIHsKICAgICBSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeUxpc3Q+IGVudHJpZXMgPSBQZXJmb3Jt
YW5jZUVudHJ5TGlzdDo6Y3JlYXRlKCk7CisKKyNpZiBFTkFCTEUoUkVTT1VSQ0VfVElNSU5HKQor
ICAgIGlmIChlcXVhbElnbm9yaW5nQ2FzZShlbnRyeVR5cGUsICJyZXNvdXJjZSIpKQorICAgICAg
ICBmb3IgKFZlY3RvcjxSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeT4gPjo6Y29uc3RfaXRlcmF0b3Ig
cmVzb3VyY2UgPSBtX3Jlc291cmNlVGltaW5nQnVmZmVyLmJlZ2luKCk7IHJlc291cmNlICE9IG1f
cmVzb3VyY2VUaW1pbmdCdWZmZXIuZW5kKCk7ICsrcmVzb3VyY2UpCisgICAgICAgICAgICBlbnRy
aWVzLT5hcHBlbmQoKnJlc291cmNlKTsKKyNlbmRpZiAvLyBFTkFCTEUoUkVTT1VSQ0VfVElNSU5H
KQorCiAgICAgcmV0dXJuIGVudHJpZXM7CiB9CiAKLVBhc3NSZWZQdHI8UGVyZm9ybWFuY2VFbnRy
eUxpc3Q+IFBlcmZvcm1hbmNlOjp3ZWJraXRHZXRFbnRyaWVzQnlOYW1lKGNvbnN0IFN0cmluZyYs
IGNvbnN0IFN0cmluZyYpCitQYXNzUmVmUHRyPFBlcmZvcm1hbmNlRW50cnlMaXN0PiBQZXJmb3Jt
YW5jZTo6d2Via2l0R2V0RW50cmllc0J5TmFtZShjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0
cmluZyYgZW50cnlUeXBlKQogewogICAgIFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5TGlzdD4gZW50
cmllcyA9IFBlcmZvcm1hbmNlRW50cnlMaXN0OjpjcmVhdGUoKTsKKworI2lmIEVOQUJMRShSRVNP
VVJDRV9USU1JTkcpCisgICAgaWYgKGVudHJ5VHlwZS5pc051bGwoKSB8fCBlcXVhbElnbm9yaW5n
Q2FzZShlbnRyeVR5cGUsICJyZXNvdXJjZSIpKQorICAgICAgICBmb3IgKFZlY3RvcjxSZWZQdHI8
UGVyZm9ybWFuY2VFbnRyeT4gPjo6Y29uc3RfaXRlcmF0b3IgcmVzb3VyY2UgPSBtX3Jlc291cmNl
VGltaW5nQnVmZmVyLmJlZ2luKCk7IHJlc291cmNlICE9IG1fcmVzb3VyY2VUaW1pbmdCdWZmZXIu
ZW5kKCk7ICsrcmVzb3VyY2UpCisgICAgICAgICAgICBpZiAoKCpyZXNvdXJjZSktPm5hbWUoKSA9
PSBuYW1lKQorICAgICAgICAgICAgICAgIGVudHJpZXMtPmFwcGVuZCgqcmVzb3VyY2UpOworI2Vu
ZGlmIC8vIEVOQUJMRShSRVNPVVJDRV9USU1JTkcpCisKICAgICByZXR1cm4gZW50cmllczsKIH0K
IAogI2VuZGlmIC8vIEVOQUJMRShQRVJGT1JNQU5DRV9USU1FTElORSkKIAorI2lmIEVOQUJMRShS
RVNPVVJDRV9USU1JTkcpCisKK3ZvaWQgUGVyZm9ybWFuY2U6OndlYmtpdENsZWFyUmVzb3VyY2VU
aW1pbmdzKCkKK3sKKyAgICBtX3Jlc291cmNlVGltaW5nQnVmZmVyLmNsZWFyKCk7Cit9CisKK3Zv
aWQgUGVyZm9ybWFuY2U6OndlYmtpdFNldFJlc291cmNlVGltaW5nQnVmZmVyU2l6ZSh1bnNpZ25l
ZCBpbnQpCit7CisgICAgLy8gRklYTUU6IEltcGxlbWVudCB0aGlzLgorfQorCit2b2lkIFBlcmZv
cm1hbmNlOjphZGRSZXNvdXJjZVRpbWluZyhjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3Qs
IGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlLCBkb3VibGUgZmluaXNoVGltZSwgRG9j
dW1lbnQqIHJlcXVlc3RpbmdEb2N1bWVudCkKK3sKKyAgICBpZiAoIXJlc3BvbnNlLnJlc291cmNl
TG9hZFRpbWluZygpKQorICAgICAgICByZXR1cm47CisKKyAgICBSZWZQdHI8UGVyZm9ybWFuY2VF
bnRyeT4gZW50cnkgPSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpjcmVhdGUocmVxdWVzdCwg
cmVzcG9uc2UsIGZpbmlzaFRpbWUsIHJlcXVlc3RpbmdEb2N1bWVudCk7CisgICAgLy8gRklYTUU6
IE5lZWQgdG8gZW5mb3JjZSBidWZmZXIgbGltaXRzLgorICAgIG1fcmVzb3VyY2VUaW1pbmdCdWZm
ZXIuYXBwZW5kKGVudHJ5KTsKK30KKworI2VuZGlmIC8vIEVOQUJMRShSRVNPVVJDRV9USU1JTkcp
CisKK0V2ZW50VGFyZ2V0RGF0YSogUGVyZm9ybWFuY2U6OmV2ZW50VGFyZ2V0RGF0YSgpCit7Cisg
ICAgcmV0dXJuICZtX2V2ZW50VGFyZ2V0RGF0YTsKK30KKworRXZlbnRUYXJnZXREYXRhKiBQZXJm
b3JtYW5jZTo6ZW5zdXJlRXZlbnRUYXJnZXREYXRhKCkKK3sKKyAgICByZXR1cm4gJm1fZXZlbnRU
YXJnZXREYXRhOworfQorCiBkb3VibGUgUGVyZm9ybWFuY2U6OndlYmtpdE5vdygpIGNvbnN0CiB7
CiAgICAgcmV0dXJuIDEwMDAuMCAqIG1fZnJhbWUtPmRvY3VtZW50KCktPmxvYWRlcigpLT50aW1p
bmcoKS0+Y29udmVydE1vbm90b25pY1RpbWVUb1plcm9CYXNlZERvY3VtZW50VGltZShtb25vdG9u
aWNhbGx5SW5jcmVhc2luZ1RpbWUoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1BlcmZvcm1hbmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmgKaW5kZXgg
YWE0Yzc5MjgyNTdlZWI0MTQ2NjU1ZDhkODI5ZDc2Y2Y3OTMzMWRmOC4uZGVhZTBhZWMwY2Q3YjE2
NGE0ODE1YTE5MWQyODJjY2NlNTgyNDFhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9QZXJmb3JtYW5jZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuaApA
QCAtMzQsNiArMzQsNyBAQAogI2lmIEVOQUJMRShXRUJfVElNSU5HKQogCiAjaW5jbHVkZSAiRE9N
V2luZG93UHJvcGVydHkuaCIKKyNpbmNsdWRlICJFdmVudFRhcmdldC5oIgogI2luY2x1ZGUgIk1l
bW9yeUluZm8uaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZUVudHJ5TGlzdC5oIgogI2luY2x1ZGUg
IlBlcmZvcm1hbmNlTmF2aWdhdGlvbi5oIgpAQCAtNDUsOSArNDYsMTcgQEAKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCi1jbGFzcyBQZXJmb3JtYW5jZSA6IHB1YmxpYyBSZWZDb3VudGVkPFBlcmZv
cm1hbmNlPiwgcHVibGljIERPTVdpbmRvd1Byb3BlcnR5IHsKK2NsYXNzIERvY3VtZW50OworY2xh
c3MgUmVzb3VyY2VSZXF1ZXN0OworY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKKworY2xhc3MgUGVy
Zm9ybWFuY2UgOiBwdWJsaWMgUmVmQ291bnRlZDxQZXJmb3JtYW5jZT4sIHB1YmxpYyBET01XaW5k
b3dQcm9wZXJ0eSwgcHVibGljIEV2ZW50VGFyZ2V0IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFz
c1JlZlB0cjxQZXJmb3JtYW5jZT4gY3JlYXRlKEZyYW1lKiBmcmFtZSkgeyByZXR1cm4gYWRvcHRS
ZWYobmV3IFBlcmZvcm1hbmNlKGZyYW1lKSk7IH0KKyAgICB+UGVyZm9ybWFuY2UoKTsKKworICAg
IHZpcnR1YWwgY29uc3QgQXRvbWljU3RyaW5nJiBpbnRlcmZhY2VOYW1lKCkgY29uc3Q7CisgICAg
dmlydHVhbCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkg
Y29uc3Q7CiAKICAgICBQYXNzUmVmUHRyPE1lbW9yeUluZm8+IG1lbW9yeSgpIGNvbnN0OwogICAg
IFBlcmZvcm1hbmNlTmF2aWdhdGlvbiogbmF2aWdhdGlvbigpIGNvbnN0OwpAQCAtNjAsMTEgKzY5
LDM1IEBAIHB1YmxpYzoKICAgICBQYXNzUmVmUHRyPFBlcmZvcm1hbmNlRW50cnlMaXN0PiB3ZWJr
aXRHZXRFbnRyaWVzQnlOYW1lKGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBlbnRy
eVR5cGUpOwogI2VuZGlmCiAKKyNpZiBFTkFCTEUoUkVTT1VSQ0VfVElNSU5HKQorICAgIHZvaWQg
d2Via2l0Q2xlYXJSZXNvdXJjZVRpbWluZ3MoKTsKKyAgICB2b2lkIHdlYmtpdFNldFJlc291cmNl
VGltaW5nQnVmZmVyU2l6ZSh1bnNpZ25lZCBpbnQpOworCisgICAgREVGSU5FX0FUVFJJQlVURV9F
VkVOVF9MSVNURU5FUih3ZWJraXRyZXNvdXJjZXRpbWluZ2J1ZmZlcmZ1bGwpOworCisgICAgdm9p
ZCBhZGRSZXNvdXJjZVRpbWluZyhjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBSZXNvdXJj
ZVJlc3BvbnNlJiwgZG91YmxlIGZpbmlzaFRpbWUsIERvY3VtZW50Kik7CisjZW5kaWYKKworICAg
IHVzaW5nIFJlZkNvdW50ZWQ8UGVyZm9ybWFuY2U+OjpyZWY7CisgICAgdXNpbmcgUmVmQ291bnRl
ZDxQZXJmb3JtYW5jZT46OmRlcmVmOworCiBwcml2YXRlOgogICAgIGV4cGxpY2l0IFBlcmZvcm1h
bmNlKEZyYW1lKik7CiAKKyAgICB2aXJ0dWFsIHZvaWQgcmVmRXZlbnRUYXJnZXQoKSB7IHJlZigp
OyB9CisgICAgdmlydHVhbCB2b2lkIGRlcmVmRXZlbnRUYXJnZXQoKSB7IGRlcmVmKCk7IH0KKyAg
ICB2aXJ0dWFsIEV2ZW50VGFyZ2V0RGF0YSogZXZlbnRUYXJnZXREYXRhKCk7CisgICAgdmlydHVh
bCBFdmVudFRhcmdldERhdGEqIGVuc3VyZUV2ZW50VGFyZ2V0RGF0YSgpOworCisgICAgRXZlbnRU
YXJnZXREYXRhIG1fZXZlbnRUYXJnZXREYXRhOworICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQg
Km1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKKwogICAgIG11dGFibGUgUmVmUHRyPFBlcmZvcm1h
bmNlTmF2aWdhdGlvbj4gbV9uYXZpZ2F0aW9uOwogICAgIG11dGFibGUgUmVmUHRyPFBlcmZvcm1h
bmNlVGltaW5nPiBtX3RpbWluZzsKKworI2lmIEVOQUJMRShSRVNPVVJDRV9USU1JTkcpCisgICAg
VmVjdG9yPFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5PiA+IG1fcmVzb3VyY2VUaW1pbmdCdWZmZXI7
CisjZW5kaWYKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9y
bWFuY2UuaWRsIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5pZGwKaW5kZXggNjYz
Yjc0MjQ3NDk4YmUwODZjM2MyOWJjMzcyZWJjYzJiNmE0ZDQ5Yy4uZmM5ZmZkZjFmN2RmMGIzNDU4
ZDYwNWM4YzdlZjdmMWZjNWU4NzY0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9Q
ZXJmb3JtYW5jZS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5pZGwK
QEAgLTMzLDYgKzMzLDcgQEAgbW9kdWxlIHdpbmRvdyB7CiAgICAgLy8gU2VlOiBodHRwOi8vZGV2
LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJUaW1pbmcvCiAgICAgaW50ZXJmYWNlIFsKICAgICAgICAg
Q29uZGl0aW9uYWw9V0VCX1RJTUlORywKKyAgICAgICAgRXZlbnRUYXJnZXQsCiAgICAgICAgIE9t
aXRDb25zdHJ1Y3RvcgogICAgIF0gUGVyZm9ybWFuY2UgewogICAgICAgICByZWFkb25seSBhdHRy
aWJ1dGUgUGVyZm9ybWFuY2VOYXZpZ2F0aW9uIG5hdmlnYXRpb247CkBAIC00NCw2ICs0NSwxMyBA
QCBtb2R1bGUgd2luZG93IHsKICAgICAgICAgUGVyZm9ybWFuY2VFbnRyeUxpc3Qgd2Via2l0R2V0
RW50cmllc0J5VHlwZShpbiBET01TdHJpbmcgZW50cnlUeXBlKTsKICAgICAgICAgUGVyZm9ybWFu
Y2VFbnRyeUxpc3Qgd2Via2l0R2V0RW50cmllc0J5TmFtZShpbiBET01TdHJpbmcgbmFtZSwgaW4g
W09wdGlvbmFsPURlZmF1bHRJc051bGxTdHJpbmddIERPTVN0cmluZyBlbnRyeVR5cGUpOwogI2Vu
ZGlmCisKKyNpZiBkZWZpbmVkKEVOQUJMRV9SRVNPVVJDRV9USU1JTkcpICYmIEVOQUJMRV9SRVNP
VVJDRV9USU1JTkcKKyAgICAgICAgdm9pZCB3ZWJraXRDbGVhclJlc291cmNlVGltaW5ncygpOwor
ICAgICAgICB2b2lkIHdlYmtpdFNldFJlc291cmNlVGltaW5nQnVmZmVyU2l6ZShpbiB1bnNpZ25l
ZCBsb25nIG1heFNpemUpOworCisgICAgICAgIGF0dHJpYnV0ZSBFdmVudExpc3RlbmVyIG9ud2Vi
a2l0cmVzb3VyY2V0aW1pbmdidWZmZXJmdWxsOworI2VuZGlmCiAgICAgICAgIC8vIFNlZSBodHRw
Oi8vd3d3LnczLm9yZy9UUi9oci10aW1lLyBmb3IgZGV0YWlscy4KICAgICAgICAgZG91YmxlIHdl
YmtpdE5vdygpOwogICAgIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZv
cm1hbmNlRW50cnkuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmNw
cAppbmRleCBhYzUyM2M2ZGM2MTc4OTgyY2E1ZWVlNzIyYTkyZTBiOGJjNDhmMTkyLi5hZDY5NTQ3
MDBlNjcyNGZiMTNhMDUxMWQyMDExOTM3NDFmOTUyYmE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1BlcmZvcm1hbmNlRW50cnkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UGVyZm9ybWFuY2VFbnRyeS5jcHAKQEAgLTQzLDYgKzQzLDEwIEBAIFBlcmZvcm1hbmNlRW50cnk6
OlBlcmZvcm1hbmNlRW50cnkoY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGVudHJ5
VHlwZSwKIHsKIH0KIAorUGVyZm9ybWFuY2VFbnRyeTo6flBlcmZvcm1hbmNlRW50cnkoKQorewor
fQorCiBTdHJpbmcgUGVyZm9ybWFuY2VFbnRyeTo6bmFtZSgpIGNvbnN0CiB7CiAgICAgcmV0dXJu
IG1fbmFtZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRy
eS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmgKaW5kZXggODY2NmU0
MzFkYWUzMWUwZTMyZGZlYzIyOTY5ZGYzNzI1OWI5MTU5MS4uNmQ5NjcyMTk3NTNhNGI1YWM3MmRj
NGM0NDRjYjBmMWIzZWYyOTJjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJm
b3JtYW5jZUVudHJ5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5
LmgKQEAgLTQyLDExICs0MiwxNSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFBlcmZv
cm1hbmNlRW50cnkgOiBwdWJsaWMgUmVmQ291bnRlZDxQZXJmb3JtYW5jZUVudHJ5PiB7CiBwdWJs
aWM6CisgICAgdmlydHVhbCB+UGVyZm9ybWFuY2VFbnRyeSgpOworCiAgICAgU3RyaW5nIG5hbWUo
KSBjb25zdDsKICAgICBTdHJpbmcgZW50cnlUeXBlKCkgY29uc3Q7CiAgICAgZG91YmxlIHN0YXJ0
VGltZSgpIGNvbnN0OwogICAgIGRvdWJsZSBkdXJhdGlvbigpIGNvbnN0OwogCisgICAgdmlydHVh
bCBib29sIGlzUmVzb3VyY2UoKSB7IHJldHVybiBmYWxzZTsgfQorCiBwcm90ZWN0ZWQ6CiAgICAg
UGVyZm9ybWFuY2VFbnRyeShjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgZW50cnlU
eXBlLCBkb3VibGUgc3RhcnRUaW1lLCBkb3VibGUgZHVyYXRpb24pOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50cnkuaWRsIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9QZXJmb3JtYW5jZUVudHJ5LmlkbAppbmRleCBhNzg4YmQ5YzZlNDI3YmNkMDZjMGFkNDU2
MjU5NGNlYzMxM2VlYjRkLi45ZTEwZmUwYmYxNzUzMTlmMjJjMzdkMjYwM2EwZTgyZDk4ZjM4MzJm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50cnkuaWRsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeS5pZGwKQEAgLTM0LDYgKzM0
LDcgQEAgbW9kdWxlIHdpbmRvdyB7CiAgICAgaW50ZXJmYWNlIFsKICAgICAgICAgQ29uZGl0aW9u
YWw9V0VCX1RJTUlORywKICAgICAgICAgQ29uZGl0aW9uYWw9UEVSRk9STUFOQ0VfVElNRUxJTkUs
CisgICAgICAgIEN1c3RvbVRvSlNPYmplY3QsCiAgICAgICAgIE9taXRDb25zdHJ1Y3RvcgogICAg
IF0gUGVyZm9ybWFuY2VFbnRyeSB7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJp
bmcgbmFtZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRy
eUxpc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5TGlzdC5jcHAK
aW5kZXggYTRlMDlhMzE5M2Y1OTk3OWE4YzFkOWQ1MzBmY2YyZDc1YzQ3MjU5Ny4uOWYyNzNiYzQ0
OWI0MWI0MjU1NzM0MTE5MGRiZmE2OGU0MmI0ZjY1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5TGlzdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9QZXJmb3JtYW5jZUVudHJ5TGlzdC5jcHAKQEAgLTYyLDYgKzYyLDExIEBAIHZvaWQgUGVyZm9y
bWFuY2VFbnRyeUxpc3Q6OmFwcGVuZChQYXNzUmVmUHRyPFBlcmZvcm1hbmNlRW50cnk+IGVudHJ5
KQogICAgIG1fZW50cmllcy5hcHBlbmQoZW50cnkpOwogfQogCit2b2lkIFBlcmZvcm1hbmNlRW50
cnlMaXN0OjphcHBlbmRBbGwoY29uc3QgVmVjdG9yPFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5PiA+
JiBlbnRyaWVzKQoreworICAgIG1fZW50cmllcy5hcHBlbmQoZW50cmllcyk7Cit9CisKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShXRUJfVElNSU5HKSAmJiBFTkFC
TEUoUEVSRk9STUFOQ0VfVElNRUxJTkUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1BlcmZvcm1hbmNlRW50cnlMaXN0LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNl
RW50cnlMaXN0LmgKaW5kZXggMGVjZjliYTNiZTU3NWQ3MmEyNDAzMTMzOTA0ZWU4NzhhMDE4ZDRh
ZC4uOGY3NjI2N2UxZDJhMTA0NGM1NzhkZDE2ZTdhYjE4ZDJiM2E3MWZhNiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5TGlzdC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeUxpc3QuaApAQCAtNTEsNiArNTEsNyBAQCBwdWJs
aWM6CiAgICAgUGVyZm9ybWFuY2VFbnRyeSogaXRlbSh1bnNpZ25lZCBpbmRleCk7CiAKICAgICB2
b2lkIGFwcGVuZChQYXNzUmVmUHRyPFBlcmZvcm1hbmNlRW50cnk+KTsKKyAgICB2b2lkIGFwcGVu
ZEFsbChjb25zdCBWZWN0b3I8UmVmUHRyPFBlcmZvcm1hbmNlRW50cnk+ID4mKTsKIAogcHJpdmF0
ZToKICAgICBQZXJmb3JtYW5jZUVudHJ5TGlzdCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGE3YmFhZmRiZGY3
YjBmMDQ5NjllNDEzOTBkZTQzN2EyMDNiYmVhMwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5jcHAKQEAgLTAsMCArMSwxODcg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisg
KiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4g
dGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUg
SW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRv
IGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdh
cmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRS
SUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAq
IE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWlu
Zy5oIgorCisjaWYgRU5BQkxFKFJFU09VUkNFX1RJTUlORykKKworI2luY2x1ZGUgIkRvY3VtZW50
LmgiCisjaW5jbHVkZSAiRG9jdW1lbnRMb2FkVGltaW5nLmgiCisjaW5jbHVkZSAiRG9jdW1lbnRM
b2FkZXIuaCIKKyNpbmNsdWRlICJLVVJMLmgiCisjaW5jbHVkZSAiUmVzb3VyY2VSZXF1ZXN0Lmgi
CisjaW5jbHVkZSAiUmVzb3VyY2VSZXNwb25zZS5oIgorI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2lu
LmgiCisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0
YXRpYyBTdHJpbmcgdG9QZXJmb3JtYW5jZUluaXRpYXRvclR5cGUoUmVzb3VyY2VSZXF1ZXN0OjpJ
bml0aWF0b3JUeXBlIHR5cGUpCit7CisgICAgc3dpdGNoICh0eXBlKSB7CisgICAgY2FzZSBSZXNv
dXJjZVJlcXVlc3Q6OkluaXRpYXRvcklzQ1NTOgorICAgICAgICByZXR1cm4gImNzcyI7CisgICAg
Y2FzZSBSZXNvdXJjZVJlcXVlc3Q6OkluaXRpYXRvcklzRW1iZWRFbGVtZW50OgorICAgICAgICBy
ZXR1cm4gImVtYmVkIjsKKyAgICBjYXNlIFJlc291cmNlUmVxdWVzdDo6SW5pdGlhdG9ySXNJbWFn
ZUVsZW1lbnQ6CisgICAgICAgIHJldHVybiAiaW1nIjsKKyAgICBjYXNlIFJlc291cmNlUmVxdWVz
dDo6SW5pdGlhdG9ySXNMaW5rRWxlbWVudDoKKyAgICAgICAgcmV0dXJuICJsaW5rIjsKKyAgICBj
YXNlIFJlc291cmNlUmVxdWVzdDo6SW5pdGlhdG9ySXNPYmplY3RFbGVtZW50OgorICAgICAgICBy
ZXR1cm4gIm9iamVjdCI7CisgICAgY2FzZSBSZXNvdXJjZVJlcXVlc3Q6OkluaXRpYXRvcklzU2Ny
aXB0RWxlbWVudDoKKyAgICAgICAgcmV0dXJuICJzY3JpcHQiOworICAgIGNhc2UgUmVzb3VyY2VS
ZXF1ZXN0OjpJbml0aWF0b3JJc1N1YkRvY3VtZW50OgorICAgICAgICByZXR1cm4gInN1YmRvY3Vt
ZW50IjsKKyAgICBjYXNlIFJlc291cmNlUmVxdWVzdDo6SW5pdGlhdG9ySXNTVkc6CisgICAgICAg
IHJldHVybiAic3ZnIjsKKyAgICBjYXNlIFJlc291cmNlUmVxdWVzdDo6SW5pdGlhdG9ySXNYSFI6
CisgICAgICAgIHJldHVybiAieG1saHR0cHJlcXVlc3QiOworICAgIGNhc2UgUmVzb3VyY2VSZXF1
ZXN0OjpJbml0aWF0b3JJc1Vua25vd246CisgICAgY2FzZSBSZXNvdXJjZVJlcXVlc3Q6OkluaXRp
YXRvcklzTWFpbkRvY3VtZW50OgorICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAg
ICAgcmV0dXJuICJvdGhlciI7CisgICAgfQorICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAg
IHJldHVybiAib3RoZXIiOworfQorCitQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpQZXJmb3Jt
YW5jZVJlc291cmNlVGltaW5nKGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3Qg
UmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIGRvdWJsZSBmaW5pc2hUaW1lLCBEb2N1bWVudCog
cmVxdWVzdGluZ0RvY3VtZW50KQorICAgIDogUGVyZm9ybWFuY2VFbnRyeShyZXF1ZXN0LnVybCgp
LnN0cmluZygpLCAicmVzb3VyY2UiLCByZXNwb25zZS5yZXNvdXJjZUxvYWRUaW1pbmcoKS0+cmVx
dWVzdFRpbWUsIGZpbmlzaFRpbWUpCisgICAgLCBtX2luaXRpYXRvclR5cGUodG9QZXJmb3JtYW5j
ZUluaXRpYXRvclR5cGUocmVxdWVzdC5pbml0aWF0b3JUeXBlKCkpKQorICAgICwgbV90aW1pbmco
cmVzcG9uc2UucmVzb3VyY2VMb2FkVGltaW5nKCkpCisgICAgLCBtX2ZpbmlzaFRpbWUoZmluaXNo
VGltZSkKKyAgICAsIG1fcmVxdWVzdGluZ0RvY3VtZW50KHJlcXVlc3RpbmdEb2N1bWVudCkKK3sK
K30KKworUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6flBlcmZvcm1hbmNlUmVzb3VyY2VUaW1p
bmcoKQoreworfQorCitTdHJpbmcgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6aW5pdGlhdG9y
VHlwZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1faW5pdGlhdG9yVHlwZTsKK30KKworLy8gRklY
TUU6IE5lZWQgdG8gZW5mb3JjZSBzYW1lLW9yaWdpbiBwb2xpY3kgb24gdGhlc2UuCisKK2RvdWJs
ZSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpyZWRpcmVjdFN0YXJ0KCkgY29uc3QKK3sKKyAg
ICAvLyBGSVhNRTogTmVlZCB0byB0cmFjayBhbmQgcmVwb3J0IHJlZGlyZWN0cyBmb3IgcmVzb3Vy
Y2VzLgorICAgIHJldHVybiAwOworfQorCitkb3VibGUgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWlu
Zzo6cmVkaXJlY3RFbmQoKSBjb25zdAoreworICAgIHJldHVybiAwOworfQorCitkb3VibGUgUGVy
Zm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6ZmV0Y2hTdGFydCgpIGNvbnN0Cit7CisgICAgcmV0dXJu
IG1vbm90b25pY1RpbWVUb0RvY3VtZW50TWlsbGlzZWNvbmRzKG1fdGltaW5nLT5yZXF1ZXN0VGlt
ZSk7Cit9CisKK2RvdWJsZSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpkb21haW5Mb29rdXBT
dGFydCgpIGNvbnN0Cit7CisgICAgaWYgKG1fdGltaW5nLT5kbnNTdGFydCA8IDApCisgICAgICAg
IHJldHVybiBmZXRjaFN0YXJ0KCk7CisKKyAgICByZXR1cm4gcmVzb3VyY2VUaW1lVG9Eb2N1bWVu
dE1pbGxpc2Vjb25kcyhtX3RpbWluZy0+ZG5zU3RhcnQpOworfQorCitkb3VibGUgUGVyZm9ybWFu
Y2VSZXNvdXJjZVRpbWluZzo6ZG9tYWluTG9va3VwRW5kKCkgY29uc3QKK3sKKyAgICBpZiAobV90
aW1pbmctPmRuc0VuZCA8IDApCisgICAgICAgIHJldHVybiBkb21haW5Mb29rdXBTdGFydCgpOwor
CisgICAgcmV0dXJuIHJlc291cmNlVGltZVRvRG9jdW1lbnRNaWxsaXNlY29uZHMobV90aW1pbmct
PmRuc0VuZCk7Cit9CisKK2RvdWJsZSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpjb25uZWN0
U3RhcnQoKSBjb25zdAoreworICAgIGlmIChtX3RpbWluZy0+Y29ubmVjdFN0YXJ0IDwgMCkgLy8g
Q29ubmVjdGlvbiB3YXMgcmV1c2VkLgorICAgICAgICByZXR1cm4gZG9tYWluTG9va3VwRW5kKCk7
CisKKyAgICAvLyBjb25uZWN0U3RhcnQgaW5jbHVkZXMgYW55IEROUyB0aW1lLCBzbyB3ZSBtYXkg
bmVlZCB0byB0cmltIHRoYXQgb2ZmLgorICAgIGludCBjb25uZWN0U3RhcnQgPSBtX3RpbWluZy0+
Y29ubmVjdFN0YXJ0OworICAgIGlmIChtX3RpbWluZy0+ZG5zRW5kID49IDApCisgICAgICAgIGNv
bm5lY3RTdGFydCA9IG1fdGltaW5nLT5kbnNFbmQ7CisKKyAgICByZXR1cm4gcmVzb3VyY2VUaW1l
VG9Eb2N1bWVudE1pbGxpc2Vjb25kcyhjb25uZWN0U3RhcnQpOworfQorCitkb3VibGUgUGVyZm9y
bWFuY2VSZXNvdXJjZVRpbWluZzo6Y29ubmVjdEVuZCgpIGNvbnN0Cit7CisgICAgaWYgKG1fdGlt
aW5nLT5jb25uZWN0RW5kIDwgMCkgLy8gQ29ubmVjdGlvbiB3YXMgcmV1c2VkLgorICAgICAgICBy
ZXR1cm4gY29ubmVjdFN0YXJ0KCk7CisKKyAgICByZXR1cm4gcmVzb3VyY2VUaW1lVG9Eb2N1bWVu
dE1pbGxpc2Vjb25kcyhtX3RpbWluZy0+Y29ubmVjdEVuZCk7Cit9CisKK2RvdWJsZSBQZXJmb3Jt
YW5jZVJlc291cmNlVGltaW5nOjpzZWN1cmVDb25uZWN0aW9uU3RhcnQoKSBjb25zdAoreworICAg
IGlmIChtX3RpbWluZy0+c3NsU3RhcnQgPCAwKSAvLyBTZWN1cmUgY29ubmVjdGlvbiBub3QgbmVn
b3RpYXRlZC4KKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICByZXR1cm4gcmVzb3VyY2VUaW1lVG9E
b2N1bWVudE1pbGxpc2Vjb25kcyhtX3RpbWluZy0+c3NsU3RhcnQpOworfQorCitkb3VibGUgUGVy
Zm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6cmVxdWVzdFN0YXJ0KCkgY29uc3QKK3sKKyAgICByZXR1
cm4gcmVzb3VyY2VUaW1lVG9Eb2N1bWVudE1pbGxpc2Vjb25kcyhtX3RpbWluZy0+c2VuZFN0YXJ0
KTsKK30KKworZG91YmxlIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OnJlc3BvbnNlU3RhcnQo
KSBjb25zdAoreworICAgIC8vIEZJWE1FOiBUaGlzIG51bWJlciBpc24ndCBleGFjdGx5IGNvcnJl
Y3QuIFNlZSB0aGUgbm90ZXMgaW4gUGVyZm9ybWFuY2VUaW1pbmc6OnJlc3BvbnNlU3RhcnQoKS4K
KyAgICByZXR1cm4gcmVzb3VyY2VUaW1lVG9Eb2N1bWVudE1pbGxpc2Vjb25kcyhtX3RpbWluZy0+
cmVjZWl2ZUhlYWRlcnNFbmQpOworfQorCitkb3VibGUgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWlu
Zzo6cmVzcG9uc2VFbmQoKSBjb25zdAoreworICAgIHJldHVybiBtb25vdG9uaWNUaW1lVG9Eb2N1
bWVudE1pbGxpc2Vjb25kcyhtX2ZpbmlzaFRpbWUpOworfQorCitkb3VibGUgUGVyZm9ybWFuY2VS
ZXNvdXJjZVRpbWluZzo6bW9ub3RvbmljVGltZVRvRG9jdW1lbnRNaWxsaXNlY29uZHMoZG91Ymxl
IHNlY29uZHMpIGNvbnN0Cit7CisgICAgQVNTRVJUKHNlY29uZHMgPj0gMC4wKTsKKyAgICByZXR1
cm4gbV9yZXF1ZXN0aW5nRG9jdW1lbnQtPmxvYWRlcigpLT50aW1pbmcoKS0+Y29udmVydE1vbm90
b25pY1RpbWVUb0RvY3VtZW50VGltZShzZWNvbmRzKSAqIDEwMDAuMDsKK30KKworZG91YmxlIFBl
cmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OnJlc291cmNlVGltZVRvRG9jdW1lbnRNaWxsaXNlY29u
ZHMoaW50IGRlbHRhTWlsbGlzZWNvbmRzKSBjb25zdAoreworICAgIHJldHVybiBtb25vdG9uaWNU
aW1lVG9Eb2N1bWVudE1pbGxpc2Vjb25kcyhtX3RpbWluZy0+cmVxdWVzdFRpbWUpICsgZGVsdGFN
aWxsaXNlY29uZHM7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVO
QUJMRShSRVNPVVJDRV9USU1JTkcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bl
cmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFu
Y2VSZXNvdXJjZVRpbWluZy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmUzYjRmZTAyZGNhZDRhMjYxZmVhMzA4ZTQ4
Nzg1ZTUzMDM4MjBjNGMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bl
cmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaApAQCAtMCwwICsxLDg5IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlv
bi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1l
cyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lm
aWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAq
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBQZXJmb3Jt
YW5jZVJlc291cmNlVGltaW5nX2gKKyNkZWZpbmUgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZ19o
CisKKyNpZiBFTkFCTEUoUkVTT1VSQ0VfVElNSU5HKQorCisjaW5jbHVkZSAiUGVyZm9ybWFuY2VF
bnRyeS5oIgorI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0
ci5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgorCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisKK2NsYXNzIERvY3VtZW50OworY2xhc3MgS1VSTDsKK2NsYXNzIFJlc291cmNlTG9hZFRp
bWluZzsKK2NsYXNzIFJlc291cmNlUmVxdWVzdDsKK2NsYXNzIFJlc291cmNlUmVzcG9uc2U7CisK
K2NsYXNzIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcgOiBwdWJsaWMgUGVyZm9ybWFuY2VFbnRy
eSB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8UGVyZm9ybWFuY2VSZXNvdXJjZVRp
bWluZz4gY3JlYXRlKGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgUmVzb3Vy
Y2VSZXNwb25zZSYgcmVzcG9uc2UsIGRvdWJsZSBmaW5pc2hUaW1lLCBEb2N1bWVudCogcmVxdWVz
dGluZ0RvY3VtZW50KQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBQZXJmb3Jt
YW5jZVJlc291cmNlVGltaW5nKHJlcXVlc3QsIHJlc3BvbnNlLCBmaW5pc2hUaW1lLCByZXF1ZXN0
aW5nRG9jdW1lbnQpKTsKKyAgICB9CisKKyAgICBTdHJpbmcgaW5pdGlhdG9yVHlwZSgpIGNvbnN0
OworCisgICAgZG91YmxlIHJlZGlyZWN0U3RhcnQoKSBjb25zdDsKKyAgICBkb3VibGUgcmVkaXJl
Y3RFbmQoKSBjb25zdDsKKyAgICBkb3VibGUgZmV0Y2hTdGFydCgpIGNvbnN0OworICAgIGRvdWJs
ZSBkb21haW5Mb29rdXBTdGFydCgpIGNvbnN0OworICAgIGRvdWJsZSBkb21haW5Mb29rdXBFbmQo
KSBjb25zdDsKKyAgICBkb3VibGUgY29ubmVjdFN0YXJ0KCkgY29uc3Q7CisgICAgZG91YmxlIGNv
bm5lY3RFbmQoKSBjb25zdDsKKyAgICBkb3VibGUgc2VjdXJlQ29ubmVjdGlvblN0YXJ0KCkgY29u
c3Q7CisgICAgZG91YmxlIHJlcXVlc3RTdGFydCgpIGNvbnN0OworICAgIGRvdWJsZSByZXNwb25z
ZVN0YXJ0KCkgY29uc3Q7CisgICAgZG91YmxlIHJlc3BvbnNlRW5kKCkgY29uc3Q7CisKKyAgICB2
aXJ0dWFsIGJvb2wgaXNSZXNvdXJjZSgpIHsgcmV0dXJuIHRydWU7IH0KKworcHJpdmF0ZToKKyAg
ICBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nKGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIGNvbnN0
IFJlc291cmNlUmVzcG9uc2UmLCBkb3VibGUgZmluaXNoVGltZSwgRG9jdW1lbnQqKTsKKyAgICB+
UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZygpOworCisgICAgZG91YmxlIG1vbm90b25pY1RpbWVU
b0RvY3VtZW50TWlsbGlzZWNvbmRzKGRvdWJsZSBzZWNvbmRzKSBjb25zdDsKKyAgICBkb3VibGUg
cmVzb3VyY2VUaW1lVG9Eb2N1bWVudE1pbGxpc2Vjb25kcyhpbnQgZGVsdGFNaWxsaXNlY29uZHMp
IGNvbnN0OworCisgICAgU3RyaW5nIG1faW5pdGlhdG9yVHlwZTsKKyAgICBSZWZQdHI8UmVzb3Vy
Y2VMb2FkVGltaW5nPiBtX3RpbWluZzsKKyAgICBkb3VibGUgbV9maW5pc2hUaW1lOworICAgIFJl
ZlB0cjxEb2N1bWVudD4gbV9yZXF1ZXN0aW5nRG9jdW1lbnQ7Cit9OworCit9CisKKyNlbmRpZiAv
LyBFTkFCTEUoUkVTT1VSQ0VfVElNSU5HKQorCisjZW5kaWYgLy8gIWRlZmluZWQoUGVyZm9ybWFu
Y2VSZXNvdXJjZVRpbWluZ19oKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJm
b3JtYW5jZVJlc291cmNlVGltaW5nLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFu
Y2VSZXNvdXJjZVRpbWluZy5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2UwYWQ1OWNlODRiZjEzZDIxYjE0OTg5
YjlmMTAzZTE2OWU4ZjIzOAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5pZGwKQEAgLTAsMCArMSw1MiBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmli
dXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUg
bmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBw
cm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAi
QVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
CisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK21vZHVsZSB3aW5k
b3cgeworCisgICAgLy8gU2VlOiBodHRwczovL2R2Y3MudzMub3JnL2hnL3dlYnBlcmYvcmF3LWZp
bGUvdGlwL3NwZWNzL1Jlc291cmNlVGltaW5nL092ZXJ2aWV3Lmh0bWwKKyAgICBpbnRlcmZhY2Ug
WworICAgICAgICBDb25kaXRpb25hbD1SRVNPVVJDRV9USU1JTkcsCisgICAgICAgIE9taXRDb25z
dHJ1Y3RvcgorICAgIF0gUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZyA6IFBlcmZvcm1hbmNlRW50
cnkgeworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGluaXRpYXRvclR5cGU7
CisKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGRvdWJsZSByZWRpcmVjdFN0YXJ0OworICAg
ICAgICByZWFkb25seSBhdHRyaWJ1dGUgZG91YmxlIHJlZGlyZWN0RW5kOworICAgICAgICByZWFk
b25seSBhdHRyaWJ1dGUgZG91YmxlIGZldGNoU3RhcnQ7CisgICAgICAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSBkb3VibGUgZG9tYWluTG9va3VwU3RhcnQ7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBkb3VibGUgZG9tYWluTG9va3VwRW5kOworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgZG91
YmxlIGNvbm5lY3RTdGFydDsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGRvdWJsZSBjb25u
ZWN0RW5kOworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgZG91YmxlIHNlY3VyZUNvbm5lY3Rp
b25TdGFydDsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGRvdWJsZSByZXF1ZXN0U3RhcnQ7
CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBkb3VibGUgcmVzcG9uc2VTdGFydDsKKyAgICAg
ICAgcmVhZG9ubHkgYXR0cmlidXRlIGRvdWJsZSByZXNwb25zZUVuZDsKKyAgICB9OworfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RC
YXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0
QmFzZS5jcHAKaW5kZXggMzUwOTc5MjkyNzhjNzYwNjRjNGIwZGViOWFmZTM5ZmYxOWJlNGMyNC4u
ZTUxMWMyNDQ5ZTZmNzQ4ZGE4ODEzMjcxMjQ3ZWNhYTk3YjcwY2Y3MCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuY3Bw
CkBAIC01Myw2ICs1Myw3IEBAIFBhc3NPd25QdHI8UmVzb3VyY2VSZXF1ZXN0PiBSZXNvdXJjZVJl
cXVlc3RCYXNlOjphZG9wdChQYXNzT3duUHRyPENyb3NzVGhyZWFkUmVzCiAgICAgcmVxdWVzdC0+
c2V0Rmlyc3RQYXJ0eUZvckNvb2tpZXMoZGF0YS0+bV9maXJzdFBhcnR5Rm9yQ29va2llcyk7CiAg
ICAgcmVxdWVzdC0+c2V0SFRUUE1ldGhvZChkYXRhLT5tX2h0dHBNZXRob2QpOwogICAgIHJlcXVl
c3QtPnNldFByaW9yaXR5KGRhdGEtPm1fcHJpb3JpdHkpOworICAgIHJlcXVlc3QtPnNldEluaXRp
YXRvclR5cGUoZGF0YS0+bV9pbml0aWF0b3JUeXBlKTsKIAogICAgIHJlcXVlc3QtPnVwZGF0ZVJl
c291cmNlUmVxdWVzdCgpOwogICAgIHJlcXVlc3QtPm1faHR0cEhlYWRlckZpZWxkcy5hZG9wdChk
YXRhLT5tX2h0dHBIZWFkZXJzLnJlbGVhc2UoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5oCmluZGV4IDg2ZGQ2MmU4ZTA4
YzI2MDQ0MmMzYTFjMTk1OGI5MjA2MTQ0MzBjMGMuLmNmZDc2MDFlZjgzZjZiNTViZTEwZjA0MjRh
MTAyOTZkOGM1MDRiMDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5oCkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVkZSAi
S1VSTC5oIgogI2luY2x1ZGUgIlJlc291cmNlTG9hZFByaW9yaXR5LmgiCiAKKyNpbmNsdWRlIDx3
dGYvQ3VycmVudFRpbWUuaD4KICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKQEAgLTUxLDYgKzUyLDIwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFz
cyBSZXNvdXJjZVJlcXVlc3RCYXNlIHsKICAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CiAgICAgcHVibGljOgorICAgICAgICBlbnVtIEluaXRpYXRvclR5cGUgeworICAgICAgICAgICAg
SW5pdGlhdG9ySXNVbmtub3duLAorICAgICAgICAgICAgSW5pdGlhdG9ySXNNYWluRG9jdW1lbnQs
CisgICAgICAgICAgICBJbml0aWF0b3JJc0NTUywKKyAgICAgICAgICAgIEluaXRpYXRvcklzRW1i
ZWRFbGVtZW50LAorICAgICAgICAgICAgSW5pdGlhdG9ySXNJbWFnZUVsZW1lbnQsCisgICAgICAg
ICAgICBJbml0aWF0b3JJc0xpbmtFbGVtZW50LAorICAgICAgICAgICAgSW5pdGlhdG9ySXNPYmpl
Y3RFbGVtZW50LAorICAgICAgICAgICAgSW5pdGlhdG9ySXNTY3JpcHRFbGVtZW50LAorICAgICAg
ICAgICAgSW5pdGlhdG9ySXNTdWJEb2N1bWVudCwKKyAgICAgICAgICAgIEluaXRpYXRvcklzU1ZH
LAorICAgICAgICAgICAgSW5pdGlhdG9ySXNYSFIsCisgICAgICAgIH07CisKICAgICAgICAgc3Rh
dGljIFBhc3NPd25QdHI8UmVzb3VyY2VSZXF1ZXN0PiBhZG9wdChQYXNzT3duUHRyPENyb3NzVGhy
ZWFkUmVzb3VyY2VSZXF1ZXN0RGF0YT4pOwogCiAgICAgICAgIC8vIEdldHMgYSBjb3B5IG9mIHRo
ZSBkYXRhIHN1aXRhYmxlIGZvciBwYXNzaW5nIHRvIGFub3RoZXIgdGhyZWFkLgpAQCAtMTMyLDYg
KzE0Nyw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgYm9vbCByZXBvcnRSYXdIZWFk
ZXJzKCkgY29uc3QgeyByZXR1cm4gbV9yZXBvcnRSYXdIZWFkZXJzOyB9CiAgICAgICAgIHZvaWQg
c2V0UmVwb3J0UmF3SGVhZGVycyhib29sIHJlcG9ydFJhd0hlYWRlcnMpIHsgbV9yZXBvcnRSYXdI
ZWFkZXJzID0gcmVwb3J0UmF3SGVhZGVyczsgfQogCisgICAgICAgIEluaXRpYXRvclR5cGUgaW5p
dGlhdG9yVHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1faW5pdGlhdG9yVHlwZTsgfQorICAgICAgICB2
b2lkIHNldEluaXRpYXRvclR5cGUoSW5pdGlhdG9yVHlwZSBpbml0aWF0b3JUeXBlKSB7IG1faW5p
dGlhdG9yVHlwZSA9IGluaXRpYXRvclR5cGU7IH0KKwogICAgICAgICBzdGF0aWMgZG91YmxlIGRl
ZmF1bHRUaW1lb3V0SW50ZXJ2YWwoKTsgLy8gTWF5IHJldHVybiAwIHdoZW4gdXNpbmcgcGxhdGZv
cm0gZGVmYXVsdC4KICAgICAgICAgc3RhdGljIHZvaWQgc2V0RGVmYXVsdFRpbWVvdXRJbnRlcnZh
bChkb3VibGUpOwogCkBAIC0xNDYsNiArMTY0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAg
ICAgICAgICAgLCBtX3JlcG9ydExvYWRUaW1pbmcoZmFsc2UpCiAgICAgICAgICAgICAsIG1fcmVw
b3J0UmF3SGVhZGVycyhmYWxzZSkKICAgICAgICAgICAgICwgbV9wcmlvcml0eShSZXNvdXJjZUxv
YWRQcmlvcml0eUxvdykKKyAgICAgICAgICAgICwgbV9pbml0aWF0b3JUeXBlKEluaXRpYXRvcklz
VW5rbm93bikKICAgICAgICAgewogICAgICAgICB9CiAKQEAgLTE2MSw2ICsxODAsNyBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgICAgICAgICAgICAsIG1fcmVwb3J0TG9hZFRpbWluZyhmYWxzZSkK
ICAgICAgICAgICAgICwgbV9yZXBvcnRSYXdIZWFkZXJzKGZhbHNlKQogICAgICAgICAgICAgLCBt
X3ByaW9yaXR5KFJlc291cmNlTG9hZFByaW9yaXR5TG93KQorICAgICAgICAgICAgLCBtX2luaXRp
YXRvclR5cGUoSW5pdGlhdG9ySXNVbmtub3duKQogICAgICAgICB7CiAgICAgICAgIH0KIApAQCAt
MTg2LDYgKzIwNiw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgYm9vbCBtX3JlcG9y
dExvYWRUaW1pbmcgOiAxOwogICAgICAgICBib29sIG1fcmVwb3J0UmF3SGVhZGVycyA6IDE7CiAg
ICAgICAgIFJlc291cmNlTG9hZFByaW9yaXR5IG1fcHJpb3JpdHk7CisgICAgICAgIEluaXRpYXRv
clR5cGUgbV9pbml0aWF0b3JUeXBlOwogCiAgICAgcHJpdmF0ZToKICAgICAgICAgY29uc3QgUmVz
b3VyY2VSZXF1ZXN0JiBhc1Jlc291cmNlUmVxdWVzdCgpIGNvbnN0OwpAQCAtMjE0LDggKzIzNSw5
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgUmVmUHRyPEZvcm1EYXRhPiBtX2h0dHBC
b2R5OwogICAgICAgICBib29sIG1fYWxsb3dDb29raWVzOwogICAgICAgICBSZXNvdXJjZUxvYWRQ
cmlvcml0eSBtX3ByaW9yaXR5OworICAgICAgICBSZXNvdXJjZVJlcXVlc3RCYXNlOjpJbml0aWF0
b3JUeXBlIG1faW5pdGlhdG9yVHlwZTsKICAgICB9OwotICAgIAorCiAgICAgdW5zaWduZWQgaW5p
dGlhbGl6ZU1heGltdW1IVFRQQ29ubmVjdGlvbkNvdW50UGVySG9zdCgpOwogCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>146466</attachid>
            <date>2012-06-07 20:53:29 -0700</date>
            <delta_ts>2012-06-12 14:02:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-61152-20120607205328.patch</filename>
            <type>text/plain</type>
            <size>50463</size>
            <attacher name="James Simonsen">simonjam</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE5NzQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjRkYmM1NTIzYWVmMTU0
NDllNDY0YmY4YmRkNmVlMTBhMmI3ODE0Ny4uMjE1Y2RkNmExNDI1ODI1ZDFhYTlkZjJiYzcxZWM2
ZWFlNjU4ZDIwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDkzIEBACisyMDEyLTA2LTA3ICBKYW1l
cyBTaW1vbnNlbiAgPHNpbW9uamFtQGNocm9taXVtLm9yZz4KKworICAgICAgICBbUmVzb3VyY2Ug
VGltaW5nXSBJbXBsZW1lbnQgUmVzb3VyY2UgVGltaW5nIGludGVyZmFjZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjExNTIKKworICAgICAgICBUaGlz
IHBhdGNoIGltcGxlbWVudHMgdGhlIFJlc291cmNlIFRpbWluZyBpbnRlcmZhY2UuIEl0IGRvZXNu
J3QgZG8gYW55dGhpbmcKKyAgICAgICAgdXNlZnVsLCBiZWNhdXNlIG5vdGhpbmcgcG9wdWxhdGVz
IHRoZSB0aW1lbGluZSB5ZXQuIFRoZXJlIGFyZSBhbHNvIHNvbWUgZ2FwcworICAgICAgICBpbiB0
aGUgaW1wbGVtZW50YXRpb24sIHdoaWNoIGhhdmUgYmVlbiBmaWxlZCBhcyBidWdzLgorCisgICAg
ICAgIGh0dHA6Ly9kdmNzLnczLm9yZy9oZy93ZWJwZXJmL3Jhdy1maWxlL3RpcC9zcGVjcy9SZXNv
dXJjZVRpbWluZy9PdmVydmlldy5odG1sCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLiBGZWF0dXJlIGlzIGRpc2FibGVkIG9uIGFs
bCBwbGF0Zm9ybXMuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBEZXJp
dmVkU291cmNlcy5wcmk6CisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAgICAg
KiBUYXJnZXQucHJpOgorICAgICAgICAqIFVzZVY4LmNtYWtlOgorICAgICAgICAqIFdlYkNvcmUu
Z3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAg
KiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgIChXZWJDb3JlKToK
KyAgICAgICAgKFdlYkNvcmU6OkpTUGVyZm9ybWFuY2U6OnZpc2l0Q2hpbGRyZW4pOgorICAgICAg
ICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOFBlcmZvcm1hbmNlRW50cnlDdXN0b20uY3BwOgorICAg
ICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjp0b1Y4KTogU3VwcG9ydCBQZXJmb3Jt
YW5jZUVudHJ5IHBvbHltb3JwaGlzbS4KKyAgICAgICAgKiBkb20vRXZlbnROYW1lcy5oOgorICAg
ICAgICAoV2ViQ29yZSk6CisgICAgICAgICogZG9tL0V2ZW50VGFyZ2V0RmFjdG9yeS5pbjoKKyAg
ICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1h
bmNlOjp+UGVyZm9ybWFuY2UpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3Jl
OjpQZXJmb3JtYW5jZTo6aW50ZXJmYWNlTmFtZSk6IFJlcWlyZWQgZm9yIEV2ZW50VGFyZ2V0Lgor
ICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6OnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQpOiBE
aXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlOjp3ZWJraXRHZXRFbnRyaWVzKTog
UmV0dXJuICJyZXNvdXJjZSIgZW50cmllcy4KKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNl
Ojp3ZWJraXRHZXRFbnRyaWVzQnlUeXBlKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpQZXJm
b3JtYW5jZTo6d2Via2l0R2V0RW50cmllc0J5TmFtZSk6IERpdHRvLgorICAgICAgICAoV2ViQ29y
ZTo6UGVyZm9ybWFuY2U6OndlYmtpdENsZWFyUmVzb3VyY2VUaW1pbmdzKTogTmV3LgorICAgICAg
ICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6OndlYmtpdFNldFJlc291cmNlVGltaW5nQnVmZmVyU2l6
ZSk6IE5ldy4gVW5pbXBsZW1lbnRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlOjph
ZGRSZXNvdXJjZVRpbWluZyk6IFRoaXMgaXMgaG93IHJlc291cmNlcyBpbiBXZWJDb3JlIHdpbGwg
cmVwb3J0IHRvIHRoZSB0aW1lbGluZS4KKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlOjpl
dmVudFRhcmdldERhdGEpOiBSZXF1aXJlZCBmb3IgRXZlbnRUYXJnZXQuCisgICAgICAgIChXZWJD
b3JlOjpQZXJmb3JtYW5jZTo6ZW5zdXJlRXZlbnRUYXJnZXREYXRhKTogRGl0dG8uCisgICAgICAg
ICogcGFnZS9QZXJmb3JtYW5jZS5oOgorICAgICAgICAoUGVyZm9ybWFuY2UpOgorICAgICAgICAo
V2ViQ29yZTo6UGVyZm9ybWFuY2U6OnJlZkV2ZW50VGFyZ2V0KToKKyAgICAgICAgKFdlYkNvcmU6
OlBlcmZvcm1hbmNlOjpkZXJlZkV2ZW50VGFyZ2V0KToKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1h
bmNlLmlkbDoKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlRW50cnkuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UGVyZm9ybWFuY2VFbnRyeTo6flBlcmZvcm1hbmNlRW50cnkpOgorICAgICAgICAo
V2ViQ29yZSk6CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZUVudHJ5Lmg6CisgICAgICAgIChQ
ZXJmb3JtYW5jZUVudHJ5KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlRW50cnk6Omlz
UmVzb3VyY2UpOgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VFbnRyeS5pZGw6CisgICAgICAg
ICogcGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmNwcDogQWRkZWQuCisgICAgICAgIChX
ZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OnRvUGVyZm9ybWFuY2VJbml0aWF0b3JUeXBlKToK
KyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OlBlcmZvcm1hbmNl
UmVzb3VyY2VUaW1pbmcpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VSZXNvdXJjZVRp
bWluZzo6aW5pdGlhdG9yVHlwZSk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZVJlc291
cmNlVGltaW5nOjpyZWRpcmVjdFN0YXJ0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNl
UmVzb3VyY2VUaW1pbmc6OnJlZGlyZWN0RW5kKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1h
bmNlUmVzb3VyY2VUaW1pbmc6OmZldGNoU3RhcnQpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9y
bWFuY2VSZXNvdXJjZVRpbWluZzo6ZG9tYWluTG9va3VwU3RhcnQpOgorICAgICAgICAoV2ViQ29y
ZTo6UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6ZG9tYWluTG9va3VwRW5kKToKKyAgICAgICAg
KFdlYkNvcmU6OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OmNvbm5lY3RTdGFydCk6CisgICAg
ICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpjb25uZWN0RW5kKToKKyAg
ICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OnNlY3VyZUNvbm5lY3Rp
b25TdGFydCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpy
ZXF1ZXN0U3RhcnQpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWlu
Zzo6cmVzcG9uc2VTdGFydCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZVJlc291cmNl
VGltaW5nOjpyZXNwb25zZUVuZCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZVJlc291
cmNlVGltaW5nOjptb25vdG9uaWNUaW1lVG9Eb2N1bWVudE1pbGxpc2Vjb25kcyk6CisgICAgICAg
IChXZWJDb3JlOjpQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpyZXNvdXJjZVRpbWVUb01pbGxp
c2Vjb25kcyk6CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmg6IEFk
ZGVkLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChQZXJmb3JtYW5jZVJlc291cmNlVGlt
aW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OmNyZWF0
ZSk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjppc1Jlc291
cmNlKToKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaWRsOiBBZGRl
ZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0QmFzZTo6YWRvcHQpOgorICAgICAgICAq
IHBsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5oOgorICAgICAgICAoV2ViQ29y
ZTo6UmVzb3VyY2VSZXF1ZXN0QmFzZTo6aW5pdGlhdG9yVHlwZSk6IEFkZGVkLgorICAgICAgICAo
V2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0QmFzZTo6c2V0SW5pdGlhdG9yVHlwZSk6IEFkZGVkLgor
ICAgICAgICAoUmVzb3VyY2VSZXF1ZXN0QmFzZSk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJj
ZVJlcXVlc3RCYXNlOjpSZXNvdXJjZVJlcXVlc3RCYXNlKToKKyAgICAgICAgKENyb3NzVGhyZWFk
UmVzb3VyY2VSZXF1ZXN0RGF0YUJhc2UpOgorICAgICAgICAoV2ViQ29yZSk6CisKIDIwMTItMDYt
MDcgIFBldGVyIEJldmVybG9vICA8cGV0ZXJAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIEJ1aWxk
Zml4IGZvciBFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5HPTAgKHRob3VnaCBkZWZpbmVkKQpAQCAt
NTQzMCw2ICs1NTIwLDU4IEBACiAgICAgICAgIChXZWJDb3JlOjpMYXllckNocm9taXVtOjpzZXRT
Y3JlZW5TcGFjZVRyYW5zZm9ybSk6CiAgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21p
dW0vTGF5ZXJSZW5kZXJlckNocm9taXVtLmNwcDoKICAgICAgICAgKFdlYkNvcmU6OkxheWVyUmVu
ZGVyZXJDaHJvbWl1bTo6ZHJhd0NoZWNrZXJib2FyZFF1YWQpOgorMjAxMi0wNC0yNSAgSmFtZXMg
U2ltb25zZW4gIDxzaW1vbmphbUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW1dlYiBUaW1pbmdd
IEFkZCBhIHZlbmRvci1wcmVmaXhlZCBQZXJmb3JtYW5jZSBUaW1lbGluZSBBUEkKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwMzUwCisKKyAgICAgICAg
QXMgZGVzY3JpYmVkIGhlcmU6IGh0dHA6Ly9kdmNzLnczLm9yZy9oZy93ZWJwZXJmL3Jhdy1maWxl
L3RpcC9zcGVjcy9QZXJmb3JtYW5jZVRpbWVsaW5lL092ZXJ2aWV3Lmh0bWwKKworICAgICAgICBU
aGUgQVBJIGlzIHRoZXJlIGFuZCBzaG91bGQgYmUgY29ycmVjdCwgYnV0IGl0IGlzbid0IHBhcnRp
Y3VsYXJseSB1c2VmdWwsCisgICAgICAgIGJlY2F1c2Ugbm90aGluZyBpcyBwb3B1bGF0ZWQuIFVw
Y29taW5nIGNoYW5nZXMgd2lsbCBhZGQgTmF2aWdhdGlvbiBUaW1pbmcKKyAgICAgICAgYW5kIFJl
c291cmNlIFRpbWluZy4KKworICAgICAgICBSZXZpZXdlZCBieSBUb255IEdlbnRpbGNvcmUuCisK
KyAgICAgICAgTm8gbmV3IHRlc3RzLiBGdW5jdGlvbmFsaXR5IGlzIGRpc2FibGVkIG9uIGFsbCBw
bGF0Zm9ybXMuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDogQWRkZWQgUGVyZm9ybWFuY2VF
bnRyeSogZmlsZXMuCisgICAgICAgICogRGVyaXZlZFNvdXJjZXMucHJpOiBEaXR0by4KKyAgICAg
ICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOiBEaXR0by4KKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6
IERpdHRvLgorICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qOiBEaXR0by4K
KyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6IERpdHRvLgorICAg
ICAgICAqIHBhZ2UvUGVyZm9ybWFuY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFu
Y2U6OndlYmtpdEdldEVudHJpZXMpOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1h
bmNlOjp3ZWJraXRHZXRFbnRyaWVzQnlUeXBlKTogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpQ
ZXJmb3JtYW5jZTo6d2Via2l0R2V0RW50cmllc0J5TmFtZSk6IEFkZGVkLgorICAgICAgICAqIHBh
Z2UvUGVyZm9ybWFuY2UuaDoKKyAgICAgICAgKFBlcmZvcm1hbmNlKToKKyAgICAgICAgKiBwYWdl
L1BlcmZvcm1hbmNlLmlkbDoKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlRW50cnkuY3BwOiBB
ZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VF
bnRyeTo6UGVyZm9ybWFuY2VFbnRyeSk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZUVu
dHJ5OjpuYW1lKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlRW50cnk6OmVudHJ5VHlw
ZSk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZUVudHJ5OjpzdGFydFRpbWUpOgorICAg
ICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VFbnRyeTo6ZHVyYXRpb24pOgorICAgICAgICAqIHBh
Z2UvUGVyZm9ybWFuY2VFbnRyeS5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAg
ICAoUGVyZm9ybWFuY2VFbnRyeSk6CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZUVudHJ5Lmlk
bDogQWRkZWQuCisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZUVudHJ5TGlzdC5jcHA6IEFkZGVk
LgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZUVudHJ5
TGlzdDo6UGVyZm9ybWFuY2VFbnRyeUxpc3QpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFu
Y2VFbnRyeUxpc3Q6On5QZXJmb3JtYW5jZUVudHJ5TGlzdCk6CisgICAgICAgIChXZWJDb3JlOjpQ
ZXJmb3JtYW5jZUVudHJ5TGlzdDo6bGVuZ3RoKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1h
bmNlRW50cnlMaXN0OjppdGVtKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlRW50cnlM
aXN0OjphcHBlbmQpOgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VFbnRyeUxpc3QuaDogQWRk
ZWQuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFBlcmZvcm1hbmNlRW50cnlMaXN0KToK
KyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlRW50cnlMaXN0OjpjcmVhdGUpOgorICAgICAg
ICAqIHBhZ2UvUGVyZm9ybWFuY2VFbnRyeUxpc3QuaWRsOiBBZGRlZC4KKwogICAgICAgICAoV2Vi
Q29yZTo6TGF5ZXJSZW5kZXJlckNocm9taXVtOjpkcmF3RGVidWdCb3JkZXJRdWFkKToKICAgICAg
ICAgKFdlYkNvcmU6OkxheWVyUmVuZGVyZXJDaHJvbWl1bTo6ZHJhd0JhY2tncm91bmRGaWx0ZXJz
KToKICAgICAgICAgKFdlYkNvcmU6OkxheWVyUmVuZGVyZXJDaHJvbWl1bTo6ZHJhd1JlbmRlclN1
cmZhY2VRdWFkKToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIv
U291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggN2I5Nzc4MzQ2MzkxZTYwNDQ5Mjlk
YzQwZDI2MzU5OWFiNzBiOTNhNy4uZmQ5ZmZlMjYxMzJiNzc4ZjRjZjE3YzkwNjNkODM2YTBjZmQz
YTQ5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291
cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTM5MSw2ICszOTEsNyBAQCBTRVQoV2ViQ29y
ZV9JRExfRklMRVMKICAgICBwYWdlL1BlcmZvcm1hbmNlRW50cnkuaWRsCiAgICAgcGFnZS9QZXJm
b3JtYW5jZUVudHJ5TGlzdC5pZGwKICAgICBwYWdlL1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5pZGwK
KyAgICBwYWdlL1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaWRsCiAgICAgcGFnZS9QZXJmb3Jt
YW5jZVRpbWluZy5pZGwKICAgICBwYWdlL1NjcmVlbi5pZGwKICAgICBwYWdlL1NwZWVjaElucHV0
RXZlbnQuaWRsCkBAIC0xMDgxLDYgKzEwODIsNyBAQCBTRVQoV2ViQ29yZV9TT1VSQ0VTCiAgICAg
cGFnZS9QZXJmb3JtYW5jZUVudHJ5LmNwcAogICAgIHBhZ2UvUGVyZm9ybWFuY2VFbnRyeUxpc3Qu
Y3BwCiAgICAgcGFnZS9QZXJmb3JtYW5jZU5hdmlnYXRpb24uY3BwCisgICAgcGFnZS9QZXJmb3Jt
YW5jZVJlc291cmNlVGltaW5nLmNwcAogICAgIHBhZ2UvUGVyZm9ybWFuY2VUaW1pbmcuY3BwCiAg
ICAgcGFnZS9QcmludENvbnRleHQuY3BwCiAgICAgcGFnZS9TY3JlZW4uY3BwCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkgYi9Tb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy5wcmkKaW5kZXggODJmYzQ0NTVlOTlkZTQwOTJjYzA1N2Q5Yjk5YjVjNzJjZjJi
MTQ1NS4uMjAwM2Y2OGMwYzRmNDk5OGY2N2U1ZmQ4MGIyNjIzZmU2YzVjZmJhMyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMucHJpCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L0Rlcml2ZWRTb3VyY2VzLnByaQpAQCAtNDE4LDYgKzQxOCw3IEBAIElETF9CSU5ESU5HUyArPSBc
CiAgICAgJCRQV0QvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmlkbCBcCiAgICAgJCRQV0QvcGFnZS9Q
ZXJmb3JtYW5jZUVudHJ5TGlzdC5pZGwgXAogICAgICQkUFdEL3BhZ2UvUGVyZm9ybWFuY2VOYXZp
Z2F0aW9uLmlkbCBcCisgICAgJCRQV0QvcGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmlk
bCBcCiAgICAgJCRQV0QvcGFnZS9QZXJmb3JtYW5jZVRpbWluZy5pZGwgXAogICAgICQkUFdEL3Bh
Z2UvU2NyZWVuLmlkbCBcCiAgICAgJCRQV0QvcGFnZS9TcGVlY2hJbnB1dEV2ZW50LmlkbCBcCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtIGIvU291cmNlL1dl
YkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCBhOWM3NWUyNjAzNzJkMGMzYmFmMGNiMWYy
OTJmZTUwODAzYTA1MDZmLi45OTdiNzU5N2EwNjc1YzdmYmZkMzFlYjRmNDFmYTIyZDAxZDFiNGRi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTk1NSw2ICs5NTUsNyBAQCBkb21f
YmluZGluZ19pZGxzICs9IFwKIAkkKFdlYkNvcmUpL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeS5pZGwg
XAogCSQoV2ViQ29yZSkvcGFnZS9QZXJmb3JtYW5jZUVudHJ5TGlzdC5pZGwgXAogCSQoV2ViQ29y
ZSkvcGFnZS9QZXJmb3JtYW5jZU5hdmlnYXRpb24uaWRsIFwKKwkkKFdlYkNvcmUpL3BhZ2UvUGVy
Zm9ybWFuY2VSZXNvdXJjZVRpbWluZy5pZGwgXAogCSQoV2ViQ29yZSkvcGFnZS9QZXJmb3JtYW5j
ZVRpbWluZy5pZGwgXAogCSQoV2ViQ29yZSkvcGFnZS9TY3JlZW4uaWRsIFwKIAkkKFdlYkNvcmUp
L3BhZ2UvU3BlZWNoSW5wdXRFdmVudC5pZGwgXApAQCAtMTQ1NSw2ICsxNDU2LDcgQEAgd2ViY29y
ZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU05vZGVGaWx0ZXJD
dXN0b20uY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU05vZGVJdGVyYXRvckN1
c3RvbS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTm9kZUxpc3RDdXN0b20u
Y3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1BlcmZvcm1hbmNlQ3VzdG9tLmNw
cCBcCiAJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNQbHVnaW5FbGVtZW50RnVuY3Rpb25z
LmNwcCBcCiAJU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNQbHVnaW5FbGVtZW50RnVuY3Rp
b25zLmggXAogCVNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTUG9wU3RhdGVFdmVudEN1c3Rv
bS5jcHAgXApAQCAtMzAyOCw2ICszMDMwLDggQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50cnlMaXN0LmggXAogCVNvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGFnZS9Q
ZXJmb3JtYW5jZU5hdmlnYXRpb24uaCBcCisJU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5j
ZVJlc291cmNlVGltaW5nLmNwcCBcCisJU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVJl
c291cmNlVGltaW5nLmggXAogCVNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VUaW1pbmcu
Y3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlVGltaW5nLmggXAogCVNvdXJj
ZS9XZWJDb3JlL3BhZ2UvUG9pbnRlckxvY2suaCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9UYXJnZXQucHJpIGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQppbmRleCAxNTNmMTM5YzMz
ZWI3YmNkMDgzZjJiNDJkMThmMzI5MTFhZmQ4MmRlLi5hODk2ZmMxMTIyMWZmNDA0YmViOGZlMzcx
MzI5NTAwZmQ0NzBjMzVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCisr
KyBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKQEAgLTIxMyw2ICsyMTMsNyBAQCB2OCB7CiAg
ICAgICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOE5vZGVDdXN0b20uY3BwIFwKICAgICAgICAgYmlu
ZGluZ3MvdjgvY3VzdG9tL1Y4Tm9kZUxpc3RDdXN0b20uY3BwIFwKICAgICAgICAgYmluZGluZ3Mv
djgvY3VzdG9tL1Y4UGVyZm9ybWFuY2VDdXN0b20uY3BwIFwKKyAgICAgICAgYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4UGVyZm9ybWFuY2VFbnRyeUN1c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5ncy92
OC9jdXN0b20vVjhTUUxSZXN1bHRTZXRSb3dMaXN0Q3VzdG9tLmNwcCBcCiAgICAgICAgIGJpbmRp
bmdzL3Y4L2N1c3RvbS9WOFNRTFRyYW5zYWN0aW9uQ3VzdG9tLmNwcCBcCiAgICAgICAgIGJpbmRp
bmdzL3Y4L2N1c3RvbS9WOFdlYlNvY2tldEN1c3RvbS5jcHAgXApAQCAtMzQ1LDYgKzM0Niw3IEBA
IHY4IHsKICAgICAgICAgYmluZGluZ3MvanMvSlNOb2RlSXRlcmF0b3JDdXN0b20uY3BwIFwKICAg
ICAgICAgYmluZGluZ3MvanMvSlNOb2RlTGlzdEN1c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5n
cy9qcy9KU05vdGlmaWNhdGlvbkN1c3RvbS5jcHAgXAorICAgICAgICBiaW5kaW5ncy9qcy9KU1Bl
cmZvcm1hbmNlQ3VzdG9tLmNwcCBcCiAgICAgICAgIGJpbmRpbmdzL2pzL0pTUGx1Z2luRWxlbWVu
dEZ1bmN0aW9ucy5jcHAgXAogICAgICAgICBiaW5kaW5ncy9qcy9KU1BvcFN0YXRlRXZlbnRDdXN0
b20uY3BwIFwKICAgICAgICAgYmluZGluZ3MvanMvSlNQcm9jZXNzaW5nSW5zdHJ1Y3Rpb25DdXN0
b20uY3BwIFwKQEAgLTEwNDgsNiArMTA1MCw3IEBAIFNPVVJDRVMgKz0gXAogICAgIHBhZ2UvUGVy
Zm9ybWFuY2VFbnRyeS5jcHAgXAogICAgIHBhZ2UvUGVyZm9ybWFuY2VFbnRyeUxpc3QuY3BwIFwK
ICAgICBwYWdlL1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5jcHAgXAorICAgIHBhZ2UvUGVyZm9ybWFu
Y2VSZXNvdXJjZVRpbWluZy5jcHAgXAogICAgIHBhZ2UvUGVyZm9ybWFuY2VUaW1pbmcuY3BwIFwK
ICAgICBwYWdlL1ByaW50Q29udGV4dC5jcHAgXAogICAgIHBhZ2UvU2NyZWVuLmNwcCBcCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Vc2VKU0MuY21ha2UgYi9Tb3VyY2UvV2ViQ29yZS9Vc2VK
U0MuY21ha2UKaW5kZXggMjAxNWUzYjdjZDU4NzA4M2QwOTdiNGI0MDRmZGNiY2IzOTVmMjA4NS4u
NzRjNmU5M2JiNDlhN2ViMTI1YTc5NTMzYWRhY2ZiNDQyZGMzYzMyYSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvVXNlSlNDLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL1VzZUpTQy5jbWFr
ZQpAQCAtMTIxLDYgKzEyMSw3IEBAIExJU1QoQVBQRU5EIFdlYkNvcmVfU09VUkNFUwogICAgIGJp
bmRpbmdzL2pzL0pTTm9kZUl0ZXJhdG9yQ3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL2pzL0pTTm9k
ZUxpc3RDdXN0b20uY3BwCiAgICAgYmluZGluZ3MvanMvSlNOb3RpZmljYXRpb25DdXN0b20uY3Bw
CisgICAgYmluZGluZ3MvanMvSlNQZXJmb3JtYW5jZUN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9q
cy9KU1BsdWdpbkVsZW1lbnRGdW5jdGlvbnMuY3BwCiAgICAgYmluZGluZ3MvanMvSlNQb3BTdGF0
ZUV2ZW50Q3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL2pzL0pTUHJvY2Vzc2luZ0luc3RydWN0aW9u
Q3VzdG9tLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvVXNlVjguY21ha2UgYi9Tb3Vy
Y2UvV2ViQ29yZS9Vc2VWOC5jbWFrZQppbmRleCA4NWQzNzg2YjMyNzk1N2E3MDQyOWVlMWY0NmYw
Y2U5NjVkZTRmYmE2Li5lYzFlNDk0MWVhNDY4OTU1MjIxZDk2N2Y0MzJlNmZmYTM1OGRkZTY5IDEw
MDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Vc2VWOC5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Vc2VWOC5jbWFrZQpAQCAtMTM5LDYgKzEzOSw3IEBAIExJU1QoQVBQRU5EIFdlYkNvcmVfU09V
UkNFUwogICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOE5vdGlmaWNhdGlvbkN1c3RvbS5jcHAKICAg
ICBiaW5kaW5ncy92OC9jdXN0b20vVjhOb3RpZmljYXRpb25DZW50ZXJDdXN0b20uY3BwCiAgICAg
YmluZGluZ3MvdjgvY3VzdG9tL1Y4UGVyZm9ybWFuY2VDdXN0b20uY3BwCisgICAgYmluZGluZ3Mv
djgvY3VzdG9tL1Y4UGVyZm9ybWFuY2VFbnRyeUN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy92OC9j
dXN0b20vVjhQb3BTdGF0ZUV2ZW50Q3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9W
OFNRTFJlc3VsdFNldFJvd0xpc3RDdXN0b20uY3BwCiAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4
U1FMVHJhbnNhY3Rpb25DdXN0b20uY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLmd5cGkgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggOTkyNzAyNzIxZTZi
MTBlZTUxMTViZGNjNWE0MzVkYzU5OGE1MWI4Zi4uNjkxMDgzMTk0Yjk4MDEwMGIzMzc1N2M5ZDQ5
NWIwZGJiMDUzM2QxNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCisr
KyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtMTE1Niw2ICsxMTU2LDcgQEAKICAg
ICAgICAgICAgICdwYWdlL1BlcmZvcm1hbmNlRW50cnkuaWRsJywKICAgICAgICAgICAgICdwYWdl
L1BlcmZvcm1hbmNlRW50cnlMaXN0LmlkbCcsCiAgICAgICAgICAgICAncGFnZS9QZXJmb3JtYW5j
ZU5hdmlnYXRpb24uaWRsJywKKyAgICAgICAgICAgICdwYWdlL1BlcmZvcm1hbmNlUmVzb3VyY2VU
aW1pbmcuaWRsJywKICAgICAgICAgICAgICdwYWdlL1BlcmZvcm1hbmNlVGltaW5nLmlkbCcsCiAg
ICAgICAgICAgICAncGFnZS9Qb2ludGVyTG9jay5pZGwnLAogICAgICAgICAgICAgJ3BhZ2UvU2Ny
ZWVuLmlkbCcsCkBAIC0yMDA4LDYgKzIwMDksNyBAQAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pz
L0pTTm9kZUl0ZXJhdG9yQ3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNO
b2RlTGlzdEN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTTm90aWZpY2F0
aW9uQ3VzdG9tLmNwcCcsCisgICAgICAgICAgICAnYmluZGluZ3MvanMvSlNQZXJmb3JtYW5jZUN1
c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTUGx1Z2luRWxlbWVudEZ1bmN0
aW9ucy5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTUG9wU3RhdGVFdmVudEN1c3Rv
bS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL2pzL0pTUHJvY2Vzc2luZ0luc3RydWN0aW9u
Q3VzdG9tLmNwcCcsCkBAIC0yMzIxLDYgKzIzMjMsNyBAQAogICAgICAgICAgICAgJ2JpbmRpbmdz
L3Y4L2N1c3RvbS9WOE5vdGlmaWNhdGlvbkN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRp
bmdzL3Y4L2N1c3RvbS9WOE5vdGlmaWNhdGlvbkNlbnRlckN1c3RvbS5jcHAnLAogICAgICAgICAg
ICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFBlcmZvcm1hbmNlQ3VzdG9tLmNwcCcsCisgICAgICAg
ICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4UGVyZm9ybWFuY2VFbnRyeUN1c3RvbS5jcHAnLAog
ICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFBvcFN0YXRlRXZlbnRDdXN0b20uY3Bw
JywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhTUUxSZXN1bHRTZXRSb3dMaXN0
Q3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4U1FMVHJhbnNh
Y3Rpb25DdXN0b20uY3BwJywKQEAgLTMwNTAsNiArMzA1Myw4IEBACiAgICAgICAgICAgICAncGFn
ZS9QZXJmb3JtYW5jZUVudHJ5TGlzdC5oJywKICAgICAgICAgICAgICdwYWdlL1BlcmZvcm1hbmNl
TmF2aWdhdGlvbi5jcHAnLAogICAgICAgICAgICAgJ3BhZ2UvUGVyZm9ybWFuY2VOYXZpZ2F0aW9u
LmgnLAorICAgICAgICAgICAgJ3BhZ2UvUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5jcHAnLAor
ICAgICAgICAgICAgJ3BhZ2UvUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5oJywKICAgICAgICAg
ICAgICdwYWdlL1BlcmZvcm1hbmNlVGltaW5nLmNwcCcsCiAgICAgICAgICAgICAncGFnZS9QZXJm
b3JtYW5jZVRpbWluZy5oJywKICAgICAgICAgICAgICdwYWdlL1BvaW50ZXJMb2NrLmNwcCcsCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvaiBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCmluZGV4IGIxNmE5
NjJlMGViMjBkZTA3NjczMDEzZjgwODA3OGI2Y2Y3NmMwN2MuLjRkNjA4OWM3MjExZWU1YTk4NDky
MmJlYWRkOGJkNGNiYzQ4MzI3NWMgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
dmNwcm9qL1dlYkNvcmUudmNwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9q
L1dlYkNvcmUudmNwcm9qCkBAIC0yNjg0Nyw2ICsyNjg0NywxNCBAQAogCQkJCT4KIAkJCTwvRmls
ZT4KIAkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxwYWdlXFBlcmZvcm1hbmNlUmVzb3Vy
Y2VUaW1pbmcuY3BwIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQ
YXRoPSIuLlxwYWdlXFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaCIKKwkJCQk+CisJCQk8L0Zp
bGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGFnZVxQZXJmb3JtYW5jZVRpbWlu
Zy5jcHAiCiAJCQkJPgogCQkJPC9GaWxlPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGIxZDBjZmJmZDE4ZGQ2Yzc3NzEzODEyZjI2
ZTAxN2Y1M2M5YjRiNWQuLjgyMmU3NmE2MTI3MjkxOTA5MGE3YWE0NzgzMmYwN2U0NjFkOWZhZTQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKQEAgLTI4ODYsNiArMjg4Niw4IEBACiAJCTg2MUMyRUE0MTNGQjRGREQwMDA2MkFCQiAvKiBE
b2N1bWVudExvYWRUaW1pbmcuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gODYxQzJFQTMxM0ZCNEZERDAwMDYyQUJCIC8qIERvY3VtZW50TG9hZFRpbWlu
Zy5jcHAgKi87IH07CiAJCTg2MUMyRUE2MTNGQjRGRkYwMDA2MkFCQiAvKiBSZXNvdXJjZUxvYWRU
aW1pbmcuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
ODYxQzJFQTUxM0ZCNEZGRjAwMDYyQUJCIC8qIFJlc291cmNlTG9hZFRpbWluZy5jcHAgKi87IH07
CiAJCTg2MjQzRDAxMTFCQzMxRjcwMENDMDA2QSAvKiBKU0FycmF5QnVmZmVyVmlld0hlbHBlci5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODYyNDNEMDAx
MUJDMzFGNzAwQ0MwMDZBIC8qIEpTQXJyYXlCdWZmZXJWaWV3SGVscGVyLmggKi87IH07CisJCTg2
NTEyRURFMTU0QTJBRUYwMEE5MDQyNiAvKiBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2NTEyRURCMTU0
QTJBRUUwMEE5MDQyNiAvKiBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmNwcCAqLzsgfTsKKwkJ
ODY1MTJFREYxNTRBMkFFRjAwQTkwNDI2IC8qIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2NTEyRURDMTU0
QTJBRUYwMEE5MDQyNiAvKiBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmggKi87IH07CiAJCTg2
QkUzNDAwMTUwNThDQjIwMENFMEZEOCAvKiBQZXJmb3JtYW5jZUVudHJ5LmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2QkUzM0ZBMTUwNThDQjIwMENF
MEZEOCAvKiBQZXJmb3JtYW5jZUVudHJ5LmNwcCAqLzsgfTsKIAkJODZCRTM0MDExNTA1OENCMjAw
Q0UwRkQ4IC8qIFBlcmZvcm1hbmNlRW50cnkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDg2QkUzM0ZCMTUwNThDQjIwMENFMEZEOCAvKiBQZXJmb3JtYW5j
ZUVudHJ5LmggKi87IH07CiAJCTg2QkUzNDAzMTUwNThDQjIwMENFMEZEOCAvKiBQZXJmb3JtYW5j
ZUVudHJ5TGlzdC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA4NkJFMzNGRDE1MDU4Q0IyMDBDRTBGRDggLyogUGVyZm9ybWFuY2VFbnRyeUxpc3QuY3Bw
ICovOyB9OwpAQCAtOTkxNCw2ICs5OTE2LDkgQEAKIAkJODYxQzJFQTMxM0ZCNEZERDAwMDYyQUJC
IC8qIERvY3VtZW50TG9hZFRpbWluZy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBEb2N1bWVudExvYWRUaW1pbmcuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk4NjFDMkVBNTEzRkI0RkZGMDAwNjJBQkIgLyogUmVzb3VyY2VMb2FkVGltaW5nLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlc291cmNlTG9hZFRpbWluZy5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg2MjQzRDAwMTFCQzMxRjcwMENDMDA2
QSAvKiBKU0FycmF5QnVmZmVyVmlld0hlbHBlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBKU0FycmF5QnVmZmVyVmlld0hlbHBlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQk4NjUxMkVEQjE1NEEyQUVFMDBBOTA0MjYgLyogUGVyZm9ybWFuY2VSZXNvdXJjZVRp
bWluZy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQZXJmb3JtYW5j
ZVJlc291cmNlVGltaW5nLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODY1MTJF
REMxNTRBMkFFRjAwQTkwNDI2IC8qIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4NjUxMkVERDE1NEEyQUVGMDBBOTA0MjYgLyog
UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gUGVy
Zm9ybWFuY2VSZXNvdXJjZVRpbWluZy5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTg2QkUzM0ZBMTUwNThDQjIwMENFMEZEOCAvKiBQZXJmb3JtYW5jZUVudHJ5LmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBlcmZvcm1hbmNlRW50cnkuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NkJFMzNGQjE1MDU4Q0IyMDBDRTBGRDggLyogUGVy
Zm9ybWFuY2VFbnRyeS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQZXJmb3Jt
YW5jZUVudHJ5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg2QkUzM0ZDMTUwNThD
QjIwMENFMEZEOCAvKiBQZXJmb3JtYW5jZUVudHJ5LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGgg
PSBQZXJmb3JtYW5jZUVudHJ5LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE1
NTQ3LDYgKzE1NTUyLDkgQEAKIAkJCQk4QUY0RTU1MjExREM1QTM2MDAwRUQzREUgLyogUGVyZm9y
bWFuY2VOYXZpZ2F0aW9uLmNwcCAqLywKIAkJCQk4QUY0RTU1MzExREM1QTM2MDAwRUQzREUgLyog
UGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmggKi8sCiAJCQkJOEFGNEU1NTQxMURDNUEzNjAwMEVEM0RF
IC8qIFBlcmZvcm1hbmNlTmF2aWdhdGlvbi5pZGwgKi8sCisJCQkJODY1MTJFREIxNTRBMkFFRTAw
QTkwNDI2IC8qIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuY3BwICovLAorCQkJCTg2NTEyRURD
MTU0QTJBRUYwMEE5MDQyNiAvKiBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmggKi8sCisJCQkJ
ODY1MTJFREQxNTRBMkFFRjAwQTkwNDI2IC8qIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaWRs
ICovLAogCQkJCThBRjRFNTU4MTFEQzVBNjMwMDBFRDNERSAvKiBQZXJmb3JtYW5jZVRpbWluZy5j
cHAgKi8sCiAJCQkJOEFGNEU1NTkxMURDNUE2MzAwMEVEM0RFIC8qIFBlcmZvcm1hbmNlVGltaW5n
LmggKi8sCiAJCQkJOEFGNEU1NUExMURDNUE2MzAwMEVEM0RFIC8qIFBlcmZvcm1hbmNlVGltaW5n
LmlkbCAqLywKQEAgLTI0MDE1LDYgKzI0MDIzLDcgQEAKIAkJCQk4NkJFMzQwMTE1MDU4Q0IyMDBD
RTBGRDggLyogUGVyZm9ybWFuY2VFbnRyeS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODZCRTM0MDQx
NTA1OENCMjAwQ0UwRkQ4IC8qIFBlcmZvcm1hbmNlRW50cnlMaXN0LmggaW4gSGVhZGVycyAqLywK
IAkJCQk4QUY0RTU1NjExREM1QTM2MDAwRUQzREUgLyogUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmgg
aW4gSGVhZGVycyAqLywKKwkJCQk4NjUxMkVERjE1NEEyQUVGMDBBOTA0MjYgLyogUGVyZm9ybWFu
Y2VSZXNvdXJjZVRpbWluZy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOEFGNEU1NUMxMURDNUE2MzAw
MEVEM0RFIC8qIFBlcmZvcm1hbmNlVGltaW5nLmggaW4gSGVhZGVycyAqLywKIAkJCQk0OUQ1REMy
RTBGNDIzQTczMDA4RjIwRkQgLyogUGVyc3BlY3RpdmVUcmFuc2Zvcm1PcGVyYXRpb24uaCBpbiBI
ZWFkZXJzICovLAogCQkJCUQwRkYyQTVFMTFGOEM0NUEwMDdFNzRFMCAvKiBQaW5nTG9hZGVyLmgg
aW4gSGVhZGVycyAqLywKQEAgLTI3MjM1LDYgKzI3MjQ0LDcgQEAKIAkJCQk4NkJFMzQwMDE1MDU4
Q0IyMDBDRTBGRDggLyogUGVyZm9ybWFuY2VFbnRyeS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk4
NkJFMzQwMzE1MDU4Q0IyMDBDRTBGRDggLyogUGVyZm9ybWFuY2VFbnRyeUxpc3QuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJOEFGNEU1NTUxMURDNUEzNjAwMEVEM0RFIC8qIFBlcmZvcm1hbmNlTmF2
aWdhdGlvbi5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk4NjUxMkVERTE1NEEyQUVGMDBBOTA0MjYg
LyogUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk4QUY0
RTU1QjExREM1QTYzMDAwRUQzREUgLyogUGVyZm9ybWFuY2VUaW1pbmcuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJNDlENURDMkQwRjQyM0E3MzAwOEYyMEZEIC8qIFBlcnNwZWN0aXZlVHJhbnNmb3Jt
T3BlcmF0aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUQwRkYyQTVEMTFGOEM0NUEwMDdFNzRF
MCAvKiBQaW5nTG9hZGVyLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4UGVyZm9ybWFuY2VFbnRyeUN1c3RvbS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhQZXJmb3JtYW5jZUVudHJ5Q3VzdG9t
LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43NGRmOWM3NjRkYzE1NmQ4NGQ5MTU4ZTc5YzVkZDJiYWEwYmIzNmQ5
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4
UGVyZm9ybWFuY2VFbnRyeUN1c3RvbS5jcHAKQEAgLTAsMCArMSw2MSBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRp
b24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFt
ZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9t
b3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNp
ZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMg
SVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisg
KiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25m
aWcuaCIKKyNpbmNsdWRlICJQZXJmb3JtYW5jZUVudHJ5LmgiCisKKyNpZiBFTkFCTEUoUEVSRk9S
TUFOQ0VfVElNRUxJTkUpCisKKyNpbmNsdWRlICJQZXJmb3JtYW5jZS5oIgorI2luY2x1ZGUgIlBl
cmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaCIKKworI2luY2x1ZGUgIlY4UGVyZm9ybWFuY2VFbnRy
eS5oIgorI2luY2x1ZGUgIlY4UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5oIgorCisjaW5jbHVk
ZSA8d3RmL1JlZlB0ci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3Y4OjpIYW5kbGU8djg6
OlZhbHVlPiB0b1Y4KFBlcmZvcm1hbmNlRW50cnkqIGltcGwsIHY4OjpJc29sYXRlKiBpc29sYXRl
KQoreworICAgIGlmICghaW1wbCkKKyAgICAgICAgcmV0dXJuIHY4OjpOdWxsKCk7CisKKyNpZiBF
TkFCTEUoUkVTT1VSQ0VfVElNSU5HKQorICAgIGlmIChpbXBsLT5pc1Jlc291cmNlKCkpCisgICAg
ICAgIHJldHVybiB0b1Y4KHN0YXRpY19jYXN0PFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcqPihp
bXBsKSwgaXNvbGF0ZSk7CisjZW5kaWYKKworICAgIHJldHVybiBWOFBlcmZvcm1hbmNlRW50cnk6
OndyYXAoaW1wbCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVO
QUJMRShQRVJGT1JNQU5DRV9USU1FTElORSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9FdmVudE5hbWVzLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5oCmluZGV4IDIw
NWE4Yzk5MjFjYTUxODJhNjhjN2NjMmJmMWNlYThlY2Q5YzFkYzAuLjMxNTA5MGRlOWE2ZjBmODll
Y2RjMDNhZDNlY2FmODA2MWVjZWZjYWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9F
dmVudE5hbWVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaApAQCAtMjI1
LDYgKzIyNSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBcCiAgICAgbWFjcm8od2Via2l0
bmV0d29ya2luZm9jaGFuZ2UpIFwKICAgICBcCisgICAgbWFjcm8od2Via2l0cmVzb3VyY2V0aW1p
bmdidWZmZXJmdWxsKSBcCisgICAgXAogCiAvLyBlbmQgb2YgRE9NX0VWRU5UX05BTUVTX0ZPUl9F
QUNICiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldEZhY3Rvcnku
aW4gYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXRGYWN0b3J5LmluCmluZGV4IGYwMWI4
MTFhYmE5YjgwNmZjMjEyNWY3MGY3YjQzMTE3M2IzYmI1YjAuLjNlYzZkYjk0NDZkMjU5NjMxNjI5
YWM3M2NlOWVmMGU0MWY0YTM1ODYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVu
dFRhcmdldEZhY3RvcnkuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0RmFj
dG9yeS5pbgpAQCAtMjIsNiArMjIsNyBAQCBOZXR3b3JrSW5mb0Nvbm5lY3Rpb24gY29uZGl0aW9u
YWw9TkVUV09SS19JTkZPCiBOb2RlCiBOb3RpZmljYXRpb24gY29uZGl0aW9uYWw9Tk9USUZJQ0FU
SU9OU3xMRUdBQ1lfTk9USUZJQ0FUSU9OUwogUGVlckNvbm5lY3Rpb24wMCBjb25kaXRpb25hbD1N
RURJQV9TVFJFQU0KK1BlcmZvcm1hbmNlIGNvbmRpdGlvbmFsPVdFQl9USU1JTkcKIFNoYXJlZFdv
cmtlciBjb25kaXRpb25hbD1TSEFSRURfV09SS0VSUwogU2hhcmVkV29ya2VyQ29udGV4dCBjb25k
aXRpb25hbD1TSEFSRURfV09SS0VSUwogU3BlZWNoUmVjb2duaXRpb24gY29uZGl0aW9uYWw9U0NS
SVBURURfU1BFRUNICmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuY3BwCmluZGV4IDViZjIzYjZk
ZWExMmIwNzhhMTA2ZmRjMThmNTJkMjU3MzY4ZDRlMjguLjkwMzM5MzAyMTllNjA0MTE1MTRjY2Rl
NTZmNjZiZTZiODU4OGQ1MTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9y
bWFuY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuY3BwCkBAIC0z
NCw4ICszNCwxMSBAQAogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnRM
b2FkZXIuaCIKICNpbmNsdWRlICJNZW1vcnlJbmZvLmgiCisjaW5jbHVkZSAiUGVyZm9ybWFuY2VF
bnRyeS5oIgogI2luY2x1ZGUgIlBlcmZvcm1hbmNlTmF2aWdhdGlvbi5oIgorI2luY2x1ZGUgIlBl
cmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZVRpbWluZy5o
IgorI2luY2x1ZGUgIlJlc291cmNlUmVzcG9uc2UuaCIKICNpbmNsdWRlIDx3dGYvQ3VycmVudFRp
bWUuaD4KIAogI2lmIEVOQUJMRShXRUJfVElNSU5HKQpAQCAtNDksNiArNTIsMjIgQEAgUGVyZm9y
bWFuY2U6OlBlcmZvcm1hbmNlKEZyYW1lKiBmcmFtZSkKIHsKIH0KIAorUGVyZm9ybWFuY2U6On5Q
ZXJmb3JtYW5jZSgpCit7Cit9CisKK2NvbnN0IEF0b21pY1N0cmluZyYgUGVyZm9ybWFuY2U6Omlu
dGVyZmFjZU5hbWUoKSBjb25zdAoreworICAgIHJldHVybiBldmVudE5hbWVzKCkuaW50ZXJmYWNl
Rm9yUGVyZm9ybWFuY2U7Cit9CisKK1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIFBlcmZvcm1hbmNl
OjpzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkgY29uc3QKK3sKKyAgICBpZiAoIWZyYW1lKCkpCisg
ICAgICAgIHJldHVybiAwOworICAgIHJldHVybiBmcmFtZSgpLT5kb2N1bWVudCgpOworfQorCiBQ
YXNzUmVmUHRyPE1lbW9yeUluZm8+IFBlcmZvcm1hbmNlOjptZW1vcnkoKSBjb25zdAogewogICAg
IHJldHVybiBNZW1vcnlJbmZvOjpjcmVhdGUobV9mcmFtZSk7CkBAIC03NSwyMyArOTQsNzcgQEAg
UGVyZm9ybWFuY2VUaW1pbmcqIFBlcmZvcm1hbmNlOjp0aW1pbmcoKSBjb25zdAogUGFzc1JlZlB0
cjxQZXJmb3JtYW5jZUVudHJ5TGlzdD4gUGVyZm9ybWFuY2U6OndlYmtpdEdldEVudHJpZXMoKSBj
b25zdAogewogICAgIFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5TGlzdD4gZW50cmllcyA9IFBlcmZv
cm1hbmNlRW50cnlMaXN0OjpjcmVhdGUoKTsKKworI2lmIEVOQUJMRShSRVNPVVJDRV9USU1JTkcp
CisgICAgZW50cmllcy0+YXBwZW5kQWxsKG1fcmVzb3VyY2VUaW1pbmdCdWZmZXIpOworI2VuZGlm
IC8vIEVOQUJMRShSRVNPVVJDRV9USU1JTkcpCisKICAgICByZXR1cm4gZW50cmllczsKIH0KIAot
UGFzc1JlZlB0cjxQZXJmb3JtYW5jZUVudHJ5TGlzdD4gUGVyZm9ybWFuY2U6OndlYmtpdEdldEVu
dHJpZXNCeVR5cGUoY29uc3QgU3RyaW5nJikKK1Bhc3NSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeUxp
c3Q+IFBlcmZvcm1hbmNlOjp3ZWJraXRHZXRFbnRyaWVzQnlUeXBlKGNvbnN0IFN0cmluZyYgZW50
cnlUeXBlKQogewogICAgIFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5TGlzdD4gZW50cmllcyA9IFBl
cmZvcm1hbmNlRW50cnlMaXN0OjpjcmVhdGUoKTsKKworI2lmIEVOQUJMRShSRVNPVVJDRV9USU1J
TkcpCisgICAgaWYgKGVxdWFsSWdub3JpbmdDYXNlKGVudHJ5VHlwZSwgInJlc291cmNlIikpCisg
ICAgICAgIGZvciAoVmVjdG9yPFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5PiA+Ojpjb25zdF9pdGVy
YXRvciByZXNvdXJjZSA9IG1fcmVzb3VyY2VUaW1pbmdCdWZmZXIuYmVnaW4oKTsgcmVzb3VyY2Ug
IT0gbV9yZXNvdXJjZVRpbWluZ0J1ZmZlci5lbmQoKTsgKytyZXNvdXJjZSkKKyAgICAgICAgICAg
IGVudHJpZXMtPmFwcGVuZCgqcmVzb3VyY2UpOworI2VuZGlmIC8vIEVOQUJMRShSRVNPVVJDRV9U
SU1JTkcpCisKICAgICByZXR1cm4gZW50cmllczsKIH0KIAotUGFzc1JlZlB0cjxQZXJmb3JtYW5j
ZUVudHJ5TGlzdD4gUGVyZm9ybWFuY2U6OndlYmtpdEdldEVudHJpZXNCeU5hbWUoY29uc3QgU3Ry
aW5nJiwgY29uc3QgU3RyaW5nJikKK1Bhc3NSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeUxpc3Q+IFBl
cmZvcm1hbmNlOjp3ZWJraXRHZXRFbnRyaWVzQnlOYW1lKGNvbnN0IFN0cmluZyYgbmFtZSwgY29u
c3QgU3RyaW5nJiBlbnRyeVR5cGUpCiB7CiAgICAgUmVmUHRyPFBlcmZvcm1hbmNlRW50cnlMaXN0
PiBlbnRyaWVzID0gUGVyZm9ybWFuY2VFbnRyeUxpc3Q6OmNyZWF0ZSgpOworCisjaWYgRU5BQkxF
KFJFU09VUkNFX1RJTUlORykKKyAgICBpZiAoZW50cnlUeXBlLmlzTnVsbCgpIHx8IGVxdWFsSWdu
b3JpbmdDYXNlKGVudHJ5VHlwZSwgInJlc291cmNlIikpCisgICAgICAgIGZvciAoVmVjdG9yPFJl
ZlB0cjxQZXJmb3JtYW5jZUVudHJ5PiA+Ojpjb25zdF9pdGVyYXRvciByZXNvdXJjZSA9IG1fcmVz
b3VyY2VUaW1pbmdCdWZmZXIuYmVnaW4oKTsgcmVzb3VyY2UgIT0gbV9yZXNvdXJjZVRpbWluZ0J1
ZmZlci5lbmQoKTsgKytyZXNvdXJjZSkKKyAgICAgICAgICAgIGlmICgoKnJlc291cmNlKS0+bmFt
ZSgpID09IG5hbWUpCisgICAgICAgICAgICAgICAgZW50cmllcy0+YXBwZW5kKCpyZXNvdXJjZSk7
CisjZW5kaWYgLy8gRU5BQkxFKFJFU09VUkNFX1RJTUlORykKKwogICAgIHJldHVybiBlbnRyaWVz
OwogfQogCiAjZW5kaWYgLy8gRU5BQkxFKFBFUkZPUk1BTkNFX1RJTUVMSU5FKQogCisjaWYgRU5B
QkxFKFJFU09VUkNFX1RJTUlORykKKwordm9pZCBQZXJmb3JtYW5jZTo6d2Via2l0Q2xlYXJSZXNv
dXJjZVRpbWluZ3MoKQoreworICAgIG1fcmVzb3VyY2VUaW1pbmdCdWZmZXIuY2xlYXIoKTsKK30K
Kwordm9pZCBQZXJmb3JtYW5jZTo6d2Via2l0U2V0UmVzb3VyY2VUaW1pbmdCdWZmZXJTaXplKHVu
c2lnbmVkIGludCkKK3sKKyAgICAvLyBGSVhNRTogSW1wbGVtZW50IHRoaXMuCit9CisKK3ZvaWQg
UGVyZm9ybWFuY2U6OmFkZFJlc291cmNlVGltaW5nKGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVx
dWVzdCwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIGRvdWJsZSBmaW5pc2hUaW1l
LCBEb2N1bWVudCogcmVxdWVzdGluZ0RvY3VtZW50KQoreworICAgIGlmICghcmVzcG9uc2UucmVz
b3VyY2VMb2FkVGltaW5nKCkpCisgICAgICAgIHJldHVybjsKKworICAgIFJlZlB0cjxQZXJmb3Jt
YW5jZUVudHJ5PiBlbnRyeSA9IFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OmNyZWF0ZShyZXF1
ZXN0LCByZXNwb25zZSwgZmluaXNoVGltZSwgcmVxdWVzdGluZ0RvY3VtZW50KTsKKyAgICAvLyBG
SVhNRTogTmVlZCB0byBlbmZvcmNlIGJ1ZmZlciBsaW1pdHMuCisgICAgbV9yZXNvdXJjZVRpbWlu
Z0J1ZmZlci5hcHBlbmQoZW50cnkpOworfQorCisjZW5kaWYgLy8gRU5BQkxFKFJFU09VUkNFX1RJ
TUlORykKKworRXZlbnRUYXJnZXREYXRhKiBQZXJmb3JtYW5jZTo6ZXZlbnRUYXJnZXREYXRhKCkK
K3sKKyAgICByZXR1cm4gJm1fZXZlbnRUYXJnZXREYXRhOworfQorCitFdmVudFRhcmdldERhdGEq
IFBlcmZvcm1hbmNlOjplbnN1cmVFdmVudFRhcmdldERhdGEoKQoreworICAgIHJldHVybiAmbV9l
dmVudFRhcmdldERhdGE7Cit9CisKIGRvdWJsZSBQZXJmb3JtYW5jZTo6d2Via2l0Tm93KCkgY29u
c3QKIHsKICAgICByZXR1cm4gMTAwMC4wICogbV9mcmFtZS0+ZG9jdW1lbnQoKS0+bG9hZGVyKCkt
PnRpbWluZygpLT5jb252ZXJ0TW9ub3RvbmljVGltZVRvWmVyb0Jhc2VkRG9jdW1lbnRUaW1lKG1v
bm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGVyZm9ybWFuY2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuaApp
bmRleCBhYTRjNzkyODI1N2VlYjQxNDY2NTVkOGQ4MjlkNzZjZjc5MzMxZGY4Li5kZWFlMGFlYzBj
ZDdiMTY0YTQ4MTVhMTkxZDI4MmNjY2U1ODI0MWE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1BlcmZvcm1hbmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5j
ZS5oCkBAIC0zNCw2ICszNCw3IEBACiAjaWYgRU5BQkxFKFdFQl9USU1JTkcpCiAKICNpbmNsdWRl
ICJET01XaW5kb3dQcm9wZXJ0eS5oIgorI2luY2x1ZGUgIkV2ZW50VGFyZ2V0LmgiCiAjaW5jbHVk
ZSAiTWVtb3J5SW5mby5oIgogI2luY2x1ZGUgIlBlcmZvcm1hbmNlRW50cnlMaXN0LmgiCiAjaW5j
bHVkZSAiUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmgiCkBAIC00NSw5ICs0NiwxNyBAQAogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFBlcmZvcm1hbmNlIDogcHVibGljIFJlZkNvdW50ZWQ8
UGVyZm9ybWFuY2U+LCBwdWJsaWMgRE9NV2luZG93UHJvcGVydHkgeworY2xhc3MgRG9jdW1lbnQ7
CitjbGFzcyBSZXNvdXJjZVJlcXVlc3Q7CitjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOworCitjbGFz
cyBQZXJmb3JtYW5jZSA6IHB1YmxpYyBSZWZDb3VudGVkPFBlcmZvcm1hbmNlPiwgcHVibGljIERP
TVdpbmRvd1Byb3BlcnR5LCBwdWJsaWMgRXZlbnRUYXJnZXQgewogcHVibGljOgogICAgIHN0YXRp
YyBQYXNzUmVmUHRyPFBlcmZvcm1hbmNlPiBjcmVhdGUoRnJhbWUqIGZyYW1lKSB7IHJldHVybiBh
ZG9wdFJlZihuZXcgUGVyZm9ybWFuY2UoZnJhbWUpKTsgfQorICAgIH5QZXJmb3JtYW5jZSgpOwor
CisgICAgdmlydHVhbCBjb25zdCBBdG9taWNTdHJpbmcmIGludGVyZmFjZU5hbWUoKSBjb25zdDsK
KyAgICB2aXJ0dWFsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIHNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQoKSBjb25zdDsKIAogICAgIFBhc3NSZWZQdHI8TWVtb3J5SW5mbz4gbWVtb3J5KCkgY29uc3Q7
CiAgICAgUGVyZm9ybWFuY2VOYXZpZ2F0aW9uKiBuYXZpZ2F0aW9uKCkgY29uc3Q7CkBAIC02MCwx
MSArNjksMzUgQEAgcHVibGljOgogICAgIFBhc3NSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeUxpc3Q+
IHdlYmtpdEdldEVudHJpZXNCeU5hbWUoY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcm
IGVudHJ5VHlwZSk7CiAjZW5kaWYKIAorI2lmIEVOQUJMRShSRVNPVVJDRV9USU1JTkcpCisgICAg
dm9pZCB3ZWJraXRDbGVhclJlc291cmNlVGltaW5ncygpOworICAgIHZvaWQgd2Via2l0U2V0UmVz
b3VyY2VUaW1pbmdCdWZmZXJTaXplKHVuc2lnbmVkIGludCk7CisKKyAgICBERUZJTkVfQVRUUklC
VVRFX0VWRU5UX0xJU1RFTkVSKHdlYmtpdHJlc291cmNldGltaW5nYnVmZmVyZnVsbCk7CisKKyAg
ICB2b2lkIGFkZFJlc291cmNlVGltaW5nKGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFJl
c291cmNlUmVzcG9uc2UmLCBkb3VibGUgZmluaXNoVGltZSwgRG9jdW1lbnQqKTsKKyNlbmRpZgor
CisgICAgdXNpbmcgUmVmQ291bnRlZDxQZXJmb3JtYW5jZT46OnJlZjsKKyAgICB1c2luZyBSZWZD
b3VudGVkPFBlcmZvcm1hbmNlPjo6ZGVyZWY7CisKIHByaXZhdGU6CiAgICAgZXhwbGljaXQgUGVy
Zm9ybWFuY2UoRnJhbWUqKTsKIAorICAgIHZpcnR1YWwgdm9pZCByZWZFdmVudFRhcmdldCgpIHsg
cmVmKCk7IH0KKyAgICB2aXJ0dWFsIHZvaWQgZGVyZWZFdmVudFRhcmdldCgpIHsgZGVyZWYoKTsg
fQorICAgIHZpcnR1YWwgRXZlbnRUYXJnZXREYXRhKiBldmVudFRhcmdldERhdGEoKTsKKyAgICB2
aXJ0dWFsIEV2ZW50VGFyZ2V0RGF0YSogZW5zdXJlRXZlbnRUYXJnZXREYXRhKCk7CisKKyAgICBF
dmVudFRhcmdldERhdGEgbV9ldmVudFRhcmdldERhdGE7CisgICAgU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCAqbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0OworCiAgICAgbXV0YWJsZSBSZWZQdHI8UGVy
Zm9ybWFuY2VOYXZpZ2F0aW9uPiBtX25hdmlnYXRpb247CiAgICAgbXV0YWJsZSBSZWZQdHI8UGVy
Zm9ybWFuY2VUaW1pbmc+IG1fdGltaW5nOworCisjaWYgRU5BQkxFKFJFU09VUkNFX1RJTUlORykK
KyAgICBWZWN0b3I8UmVmUHRyPFBlcmZvcm1hbmNlRW50cnk+ID4gbV9yZXNvdXJjZVRpbWluZ0J1
ZmZlcjsKKyNlbmRpZgogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Q
ZXJmb3JtYW5jZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmlkbAppbmRl
eCA2NjNiNzQyNDc0OThiZTA4NmMzYzI5YmMzNzJlYmNjMmI2YTRkNDljLi5mYzlmZmRmMWY3ZGYw
YjM0NThkNjA1YzhjN2VmN2YxZmM1ZTg3NjQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1BlcmZvcm1hbmNlLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNl
LmlkbApAQCAtMzMsNiArMzMsNyBAQCBtb2R1bGUgd2luZG93IHsKICAgICAvLyBTZWU6IGh0dHA6
Ly9kZXYudzMub3JnLzIwMDYvd2ViYXBpL1dlYlRpbWluZy8KICAgICBpbnRlcmZhY2UgWwogICAg
ICAgICBDb25kaXRpb25hbD1XRUJfVElNSU5HLAorICAgICAgICBFdmVudFRhcmdldCwKICAgICAg
ICAgT21pdENvbnN0cnVjdG9yCiAgICAgXSBQZXJmb3JtYW5jZSB7CiAgICAgICAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSBQZXJmb3JtYW5jZU5hdmlnYXRpb24gbmF2aWdhdGlvbjsKQEAgLTQ0LDYgKzQ1
LDEzIEBAIG1vZHVsZSB3aW5kb3cgewogICAgICAgICBQZXJmb3JtYW5jZUVudHJ5TGlzdCB3ZWJr
aXRHZXRFbnRyaWVzQnlUeXBlKGluIERPTVN0cmluZyBlbnRyeVR5cGUpOwogICAgICAgICBQZXJm
b3JtYW5jZUVudHJ5TGlzdCB3ZWJraXRHZXRFbnRyaWVzQnlOYW1lKGluIERPTVN0cmluZyBuYW1l
LCBpbiBbT3B0aW9uYWw9RGVmYXVsdElzTnVsbFN0cmluZ10gRE9NU3RyaW5nIGVudHJ5VHlwZSk7
CiAjZW5kaWYKKworI2lmIGRlZmluZWQoRU5BQkxFX1JFU09VUkNFX1RJTUlORykgJiYgRU5BQkxF
X1JFU09VUkNFX1RJTUlORworICAgICAgICB2b2lkIHdlYmtpdENsZWFyUmVzb3VyY2VUaW1pbmdz
KCk7CisgICAgICAgIHZvaWQgd2Via2l0U2V0UmVzb3VyY2VUaW1pbmdCdWZmZXJTaXplKGluIHVu
c2lnbmVkIGxvbmcgbWF4U2l6ZSk7CisKKyAgICAgICAgYXR0cmlidXRlIEV2ZW50TGlzdGVuZXIg
b253ZWJraXRyZXNvdXJjZXRpbWluZ2J1ZmZlcmZ1bGw7CisjZW5kaWYKICAgICAgICAgLy8gU2Vl
IGh0dHA6Ly93d3cudzMub3JnL1RSL2hyLXRpbWUvIGZvciBkZXRhaWxzLgogICAgICAgICBkb3Vi
bGUgd2Via2l0Tm93KCk7CiAgICAgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UGVyZm9ybWFuY2VFbnRyeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50
cnkuY3BwCmluZGV4IGFjNTIzYzZkYzYxNzg5ODJjYTVlZWU3MjJhOTJlMGI4YmM0OGYxOTIuLmFk
Njk1NDcwMGU2NzI0ZmIxM2EwNTExZDIwMTE5Mzc0MWY5NTJiYTQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9QZXJmb3JtYW5jZUVudHJ5LmNwcApAQCAtNDMsNiArNDMsMTAgQEAgUGVyZm9ybWFuY2VF
bnRyeTo6UGVyZm9ybWFuY2VFbnRyeShjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYg
ZW50cnlUeXBlLAogewogfQogCitQZXJmb3JtYW5jZUVudHJ5Ojp+UGVyZm9ybWFuY2VFbnRyeSgp
Cit7Cit9CisKIFN0cmluZyBQZXJmb3JtYW5jZUVudHJ5OjpuYW1lKCkgY29uc3QKIHsKICAgICBy
ZXR1cm4gbV9uYW1lOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5j
ZUVudHJ5LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50cnkuaAppbmRleCA4
NjY2ZTQzMWRhZTMxZTBlMzJkZmVjMjI5NjlkZjM3MjU5YjkxNTkxLi42ZDk2NzIxOTc1M2E0YjVh
YzcyZGM0YzQ0NGNiMGYxYjNlZjI5MmNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1BlcmZvcm1hbmNlRW50cnkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNl
RW50cnkuaApAQCAtNDIsMTEgKzQyLDE1IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3Mg
UGVyZm9ybWFuY2VFbnRyeSA6IHB1YmxpYyBSZWZDb3VudGVkPFBlcmZvcm1hbmNlRW50cnk+IHsK
IHB1YmxpYzoKKyAgICB2aXJ0dWFsIH5QZXJmb3JtYW5jZUVudHJ5KCk7CisKICAgICBTdHJpbmcg
bmFtZSgpIGNvbnN0OwogICAgIFN0cmluZyBlbnRyeVR5cGUoKSBjb25zdDsKICAgICBkb3VibGUg
c3RhcnRUaW1lKCkgY29uc3Q7CiAgICAgZG91YmxlIGR1cmF0aW9uKCkgY29uc3Q7CiAKKyAgICB2
aXJ0dWFsIGJvb2wgaXNSZXNvdXJjZSgpIHsgcmV0dXJuIGZhbHNlOyB9CisKIHByb3RlY3RlZDoK
ICAgICBQZXJmb3JtYW5jZUVudHJ5KGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBl
bnRyeVR5cGUsIGRvdWJsZSBzdGFydFRpbWUsIGRvdWJsZSBkdXJhdGlvbik7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeS5pZGwgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1BlcmZvcm1hbmNlRW50cnkuaWRsCmluZGV4IGE3ODhiZDljNmU0MjdiY2QwNmMw
YWQ0NTYyNTk0Y2VjMzEzZWViNGQuLjllMTBmZTBiZjE3NTMxOWYyMmMzN2QyNjAzYTBlODJkOThm
MzgzMmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeS5p
ZGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmlkbApAQCAtMzQs
NiArMzQsNyBAQCBtb2R1bGUgd2luZG93IHsKICAgICBpbnRlcmZhY2UgWwogICAgICAgICBDb25k
aXRpb25hbD1XRUJfVElNSU5HLAogICAgICAgICBDb25kaXRpb25hbD1QRVJGT1JNQU5DRV9USU1F
TElORSwKKyAgICAgICAgQ3VzdG9tVG9KU09iamVjdCwKICAgICAgICAgT21pdENvbnN0cnVjdG9y
CiAgICAgXSBQZXJmb3JtYW5jZUVudHJ5IHsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERP
TVN0cmluZyBuYW1lOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5j
ZUVudHJ5TGlzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50cnlMaXN0
LmNwcAppbmRleCBhNGUwOWEzMTkzZjU5OTc5YThjMWQ5ZDUzMGZjZjJkNzVjNDcyNTk3Li45ZjI3
M2JjNDQ5YjQxYjQyNTU3MzQxMTkwZGJmYTY4ZTQyYjRmNjVmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50cnlMaXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1BlcmZvcm1hbmNlRW50cnlMaXN0LmNwcApAQCAtNjIsNiArNjIsMTEgQEAgdm9pZCBQ
ZXJmb3JtYW5jZUVudHJ5TGlzdDo6YXBwZW5kKFBhc3NSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeT4g
ZW50cnkpCiAgICAgbV9lbnRyaWVzLmFwcGVuZChlbnRyeSk7CiB9CiAKK3ZvaWQgUGVyZm9ybWFu
Y2VFbnRyeUxpc3Q6OmFwcGVuZEFsbChjb25zdCBWZWN0b3I8UmVmUHRyPFBlcmZvcm1hbmNlRW50
cnk+ID4mIGVudHJpZXMpCit7CisgICAgbV9lbnRyaWVzLmFwcGVuZChlbnRyaWVzKTsKK30KKwog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gRU5BQkxFKFdFQl9USU1JTkcpICYm
IEVOQUJMRShQRVJGT1JNQU5DRV9USU1FTElORSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGVyZm9ybWFuY2VFbnRyeUxpc3QuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9y
bWFuY2VFbnRyeUxpc3QuaAppbmRleCAwZWNmOWJhM2JlNTc1ZDcyYTI0MDMxMzM5MDRlZTg3OGEw
MThkNGFkLi44Zjc2MjY3ZTFkMmExMDQ0YzU3OGRkMTZlN2FiMThkMmIzYTcxZmE2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50cnlMaXN0LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5TGlzdC5oCkBAIC01MSw2ICs1MSw3IEBA
IHB1YmxpYzoKICAgICBQZXJmb3JtYW5jZUVudHJ5KiBpdGVtKHVuc2lnbmVkIGluZGV4KTsKIAog
ICAgIHZvaWQgYXBwZW5kKFBhc3NSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeT4pOworICAgIHZvaWQg
YXBwZW5kQWxsKGNvbnN0IFZlY3RvcjxSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeT4gPiYpOwogCiBw
cml2YXRlOgogICAgIFBlcmZvcm1hbmNlRW50cnlMaXN0KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44YTdiYWFm
ZGJkZjdiMGYwNDk2OWU0MTM5MGRlNDM3YTIwM2JiZWEzCi0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmNwcApAQCAtMCwwICsx
LDE4NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0Ogor
ICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisg
KiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdv
b2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVz
ZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQg
Q09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdI
VAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJQZXJmb3JtYW5jZVJlc291cmNl
VGltaW5nLmgiCisKKyNpZiBFTkFCTEUoUkVTT1VSQ0VfVElNSU5HKQorCisjaW5jbHVkZSAiRG9j
dW1lbnQuaCIKKyNpbmNsdWRlICJEb2N1bWVudExvYWRUaW1pbmcuaCIKKyNpbmNsdWRlICJEb2N1
bWVudExvYWRlci5oIgorI2luY2x1ZGUgIktVUkwuaCIKKyNpbmNsdWRlICJSZXNvdXJjZVJlcXVl
c3QuaCIKKyNpbmNsdWRlICJSZXNvdXJjZVJlc3BvbnNlLmgiCisjaW5jbHVkZSAiU2VjdXJpdHlP
cmlnaW4uaCIKKyNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
Kworc3RhdGljIFN0cmluZyB0b1BlcmZvcm1hbmNlSW5pdGlhdG9yVHlwZShSZXNvdXJjZVJlcXVl
c3Q6OkluaXRpYXRvclR5cGUgdHlwZSkKK3sKKyAgICBzd2l0Y2ggKHR5cGUpIHsKKyAgICBjYXNl
IFJlc291cmNlUmVxdWVzdDo6SW5pdGlhdG9ySXNDU1M6CisgICAgICAgIHJldHVybiAiY3NzIjsK
KyAgICBjYXNlIFJlc291cmNlUmVxdWVzdDo6SW5pdGlhdG9ySXNFbWJlZEVsZW1lbnQ6CisgICAg
ICAgIHJldHVybiAiZW1iZWQiOworICAgIGNhc2UgUmVzb3VyY2VSZXF1ZXN0OjpJbml0aWF0b3JJ
c0ltYWdlRWxlbWVudDoKKyAgICAgICAgcmV0dXJuICJpbWciOworICAgIGNhc2UgUmVzb3VyY2VS
ZXF1ZXN0OjpJbml0aWF0b3JJc0xpbmtFbGVtZW50OgorICAgICAgICByZXR1cm4gImxpbmsiOwor
ICAgIGNhc2UgUmVzb3VyY2VSZXF1ZXN0OjpJbml0aWF0b3JJc09iamVjdEVsZW1lbnQ6CisgICAg
ICAgIHJldHVybiAib2JqZWN0IjsKKyAgICBjYXNlIFJlc291cmNlUmVxdWVzdDo6SW5pdGlhdG9y
SXNTY3JpcHRFbGVtZW50OgorICAgICAgICByZXR1cm4gInNjcmlwdCI7CisgICAgY2FzZSBSZXNv
dXJjZVJlcXVlc3Q6OkluaXRpYXRvcklzU3ViRG9jdW1lbnQ6CisgICAgICAgIHJldHVybiAic3Vi
ZG9jdW1lbnQiOworICAgIGNhc2UgUmVzb3VyY2VSZXF1ZXN0OjpJbml0aWF0b3JJc1NWRzoKKyAg
ICAgICAgcmV0dXJuICJzdmciOworICAgIGNhc2UgUmVzb3VyY2VSZXF1ZXN0OjpJbml0aWF0b3JJ
c1hIUjoKKyAgICAgICAgcmV0dXJuICJ4bWxodHRwcmVxdWVzdCI7CisgICAgY2FzZSBSZXNvdXJj
ZVJlcXVlc3Q6OkluaXRpYXRvcklzVW5rbm93bjoKKyAgICBjYXNlIFJlc291cmNlUmVxdWVzdDo6
SW5pdGlhdG9ySXNNYWluRG9jdW1lbnQ6CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwor
ICAgICAgICByZXR1cm4gIm90aGVyIjsKKyAgICB9CisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7
CisgICAgcmV0dXJuICJvdGhlciI7Cit9CisKK1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OlBl
cmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcoY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBj
b25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSwgZG91YmxlIGZpbmlzaFRpbWUsIERvY3Vt
ZW50KiByZXF1ZXN0aW5nRG9jdW1lbnQpCisgICAgOiBQZXJmb3JtYW5jZUVudHJ5KHJlcXVlc3Qu
dXJsKCkuc3RyaW5nKCksICJyZXNvdXJjZSIsIHJlc3BvbnNlLnJlc291cmNlTG9hZFRpbWluZygp
LT5yZXF1ZXN0VGltZSwgZmluaXNoVGltZSkKKyAgICAsIG1faW5pdGlhdG9yVHlwZSh0b1BlcmZv
cm1hbmNlSW5pdGlhdG9yVHlwZShyZXF1ZXN0LmluaXRpYXRvclR5cGUoKSkpCisgICAgLCBtX3Rp
bWluZyhyZXNwb25zZS5yZXNvdXJjZUxvYWRUaW1pbmcoKSkKKyAgICAsIG1fZmluaXNoVGltZShm
aW5pc2hUaW1lKQorICAgICwgbV9yZXF1ZXN0aW5nRG9jdW1lbnQocmVxdWVzdGluZ0RvY3VtZW50
KQoreworfQorCitQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjp+UGVyZm9ybWFuY2VSZXNvdXJj
ZVRpbWluZygpCit7Cit9CisKK1N0cmluZyBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjppbml0
aWF0b3JUeXBlKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9pbml0aWF0b3JUeXBlOworfQorCisv
LyBGSVhNRTogTmVlZCB0byBlbmZvcmNlIHNhbWUtb3JpZ2luIHBvbGljeSBvbiB0aGVzZS4KKwor
ZG91YmxlIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OnJlZGlyZWN0U3RhcnQoKSBjb25zdAor
eworICAgIC8vIEZJWE1FOiBOZWVkIHRvIHRyYWNrIGFuZCByZXBvcnQgcmVkaXJlY3RzIGZvciBy
ZXNvdXJjZXMuCisgICAgcmV0dXJuIDA7Cit9CisKK2RvdWJsZSBQZXJmb3JtYW5jZVJlc291cmNl
VGltaW5nOjpyZWRpcmVjdEVuZCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIDA7Cit9CisKK2RvdWJs
ZSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpmZXRjaFN0YXJ0KCkgY29uc3QKK3sKKyAgICBy
ZXR1cm4gbW9ub3RvbmljVGltZVRvRG9jdW1lbnRNaWxsaXNlY29uZHMobV90aW1pbmctPnJlcXVl
c3RUaW1lKTsKK30KKworZG91YmxlIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OmRvbWFpbkxv
b2t1cFN0YXJ0KCkgY29uc3QKK3sKKyAgICBpZiAobV90aW1pbmctPmRuc1N0YXJ0IDwgMCkKKyAg
ICAgICAgcmV0dXJuIGZldGNoU3RhcnQoKTsKKworICAgIHJldHVybiByZXNvdXJjZVRpbWVUb0Rv
Y3VtZW50TWlsbGlzZWNvbmRzKG1fdGltaW5nLT5kbnNTdGFydCk7Cit9CisKK2RvdWJsZSBQZXJm
b3JtYW5jZVJlc291cmNlVGltaW5nOjpkb21haW5Mb29rdXBFbmQoKSBjb25zdAoreworICAgIGlm
IChtX3RpbWluZy0+ZG5zRW5kIDwgMCkKKyAgICAgICAgcmV0dXJuIGRvbWFpbkxvb2t1cFN0YXJ0
KCk7CisKKyAgICByZXR1cm4gcmVzb3VyY2VUaW1lVG9Eb2N1bWVudE1pbGxpc2Vjb25kcyhtX3Rp
bWluZy0+ZG5zRW5kKTsKK30KKworZG91YmxlIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OmNv
bm5lY3RTdGFydCgpIGNvbnN0Cit7CisgICAgaWYgKG1fdGltaW5nLT5jb25uZWN0U3RhcnQgPCAw
KSAvLyBDb25uZWN0aW9uIHdhcyByZXVzZWQuCisgICAgICAgIHJldHVybiBkb21haW5Mb29rdXBF
bmQoKTsKKworICAgIC8vIGNvbm5lY3RTdGFydCBpbmNsdWRlcyBhbnkgRE5TIHRpbWUsIHNvIHdl
IG1heSBuZWVkIHRvIHRyaW0gdGhhdCBvZmYuCisgICAgaW50IGNvbm5lY3RTdGFydCA9IG1fdGlt
aW5nLT5jb25uZWN0U3RhcnQ7CisgICAgaWYgKG1fdGltaW5nLT5kbnNFbmQgPj0gMCkKKyAgICAg
ICAgY29ubmVjdFN0YXJ0ID0gbV90aW1pbmctPmRuc0VuZDsKKworICAgIHJldHVybiByZXNvdXJj
ZVRpbWVUb0RvY3VtZW50TWlsbGlzZWNvbmRzKGNvbm5lY3RTdGFydCk7Cit9CisKK2RvdWJsZSBQ
ZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpjb25uZWN0RW5kKCkgY29uc3QKK3sKKyAgICBpZiAo
bV90aW1pbmctPmNvbm5lY3RFbmQgPCAwKSAvLyBDb25uZWN0aW9uIHdhcyByZXVzZWQuCisgICAg
ICAgIHJldHVybiBjb25uZWN0U3RhcnQoKTsKKworICAgIHJldHVybiByZXNvdXJjZVRpbWVUb0Rv
Y3VtZW50TWlsbGlzZWNvbmRzKG1fdGltaW5nLT5jb25uZWN0RW5kKTsKK30KKworZG91YmxlIFBl
cmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OnNlY3VyZUNvbm5lY3Rpb25TdGFydCgpIGNvbnN0Cit7
CisgICAgaWYgKG1fdGltaW5nLT5zc2xTdGFydCA8IDApIC8vIFNlY3VyZSBjb25uZWN0aW9uIG5v
dCBuZWdvdGlhdGVkLgorICAgICAgICByZXR1cm4gMDsKKworICAgIHJldHVybiByZXNvdXJjZVRp
bWVUb0RvY3VtZW50TWlsbGlzZWNvbmRzKG1fdGltaW5nLT5zc2xTdGFydCk7Cit9CisKK2RvdWJs
ZSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpyZXF1ZXN0U3RhcnQoKSBjb25zdAoreworICAg
IHJldHVybiByZXNvdXJjZVRpbWVUb0RvY3VtZW50TWlsbGlzZWNvbmRzKG1fdGltaW5nLT5zZW5k
U3RhcnQpOworfQorCitkb3VibGUgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6cmVzcG9uc2VT
dGFydCgpIGNvbnN0Cit7CisgICAgLy8gRklYTUU6IFRoaXMgbnVtYmVyIGlzbid0IGV4YWN0bHkg
Y29ycmVjdC4gU2VlIHRoZSBub3RlcyBpbiBQZXJmb3JtYW5jZVRpbWluZzo6cmVzcG9uc2VTdGFy
dCgpLgorICAgIHJldHVybiByZXNvdXJjZVRpbWVUb0RvY3VtZW50TWlsbGlzZWNvbmRzKG1fdGlt
aW5nLT5yZWNlaXZlSGVhZGVyc0VuZCk7Cit9CisKK2RvdWJsZSBQZXJmb3JtYW5jZVJlc291cmNl
VGltaW5nOjpyZXNwb25zZUVuZCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1vbm90b25pY1RpbWVU
b0RvY3VtZW50TWlsbGlzZWNvbmRzKG1fZmluaXNoVGltZSk7Cit9CisKK2RvdWJsZSBQZXJmb3Jt
YW5jZVJlc291cmNlVGltaW5nOjptb25vdG9uaWNUaW1lVG9Eb2N1bWVudE1pbGxpc2Vjb25kcyhk
b3VibGUgc2Vjb25kcykgY29uc3QKK3sKKyAgICBBU1NFUlQoc2Vjb25kcyA+PSAwLjApOworICAg
IHJldHVybiBtX3JlcXVlc3RpbmdEb2N1bWVudC0+bG9hZGVyKCktPnRpbWluZygpLT5jb252ZXJ0
TW9ub3RvbmljVGltZVRvRG9jdW1lbnRUaW1lKHNlY29uZHMpICogMTAwMC4wOworfQorCitkb3Vi
bGUgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6cmVzb3VyY2VUaW1lVG9Eb2N1bWVudE1pbGxp
c2Vjb25kcyhpbnQgZGVsdGFNaWxsaXNlY29uZHMpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1vbm90
b25pY1RpbWVUb0RvY3VtZW50TWlsbGlzZWNvbmRzKG1fdGltaW5nLT5yZXF1ZXN0VGltZSkgKyBk
ZWx0YU1pbGxpc2Vjb25kczsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYg
Ly8gRU5BQkxFKFJFU09VUkNFX1RJTUlORykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJm
b3JtYW5jZVJlc291cmNlVGltaW5nLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTNiNGZlMDJkY2FkNGEyNjFmZWEz
MDhlNDg3ODVlNTMwMzgyMGM0YwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5oCkBAIC0wLDAgKzEsODkgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJp
YnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhl
IG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3Ig
cHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBz
cGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICog
IkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFBl
cmZvcm1hbmNlUmVzb3VyY2VUaW1pbmdfaAorI2RlZmluZSBQZXJmb3JtYW5jZVJlc291cmNlVGlt
aW5nX2gKKworI2lmIEVOQUJMRShSRVNPVVJDRV9USU1JTkcpCisKKyNpbmNsdWRlICJQZXJmb3Jt
YW5jZUVudHJ5LmgiCisjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYv
UmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CisKK25hbWVzcGFjZSBX
ZWJDb3JlIHsKKworY2xhc3MgRG9jdW1lbnQ7CitjbGFzcyBLVVJMOworY2xhc3MgUmVzb3VyY2VM
b2FkVGltaW5nOworY2xhc3MgUmVzb3VyY2VSZXF1ZXN0OworY2xhc3MgUmVzb3VyY2VSZXNwb25z
ZTsKKworY2xhc3MgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZyA6IHB1YmxpYyBQZXJmb3JtYW5j
ZUVudHJ5IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxQZXJmb3JtYW5jZVJlc291
cmNlVGltaW5nPiBjcmVhdGUoY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBS
ZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSwgZG91YmxlIGZpbmlzaFRpbWUsIERvY3VtZW50KiBy
ZXF1ZXN0aW5nRG9jdW1lbnQpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFBl
cmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcocmVxdWVzdCwgcmVzcG9uc2UsIGZpbmlzaFRpbWUsIHJl
cXVlc3RpbmdEb2N1bWVudCkpOworICAgIH0KKworICAgIFN0cmluZyBpbml0aWF0b3JUeXBlKCkg
Y29uc3Q7CisKKyAgICBkb3VibGUgcmVkaXJlY3RTdGFydCgpIGNvbnN0OworICAgIGRvdWJsZSBy
ZWRpcmVjdEVuZCgpIGNvbnN0OworICAgIGRvdWJsZSBmZXRjaFN0YXJ0KCkgY29uc3Q7CisgICAg
ZG91YmxlIGRvbWFpbkxvb2t1cFN0YXJ0KCkgY29uc3Q7CisgICAgZG91YmxlIGRvbWFpbkxvb2t1
cEVuZCgpIGNvbnN0OworICAgIGRvdWJsZSBjb25uZWN0U3RhcnQoKSBjb25zdDsKKyAgICBkb3Vi
bGUgY29ubmVjdEVuZCgpIGNvbnN0OworICAgIGRvdWJsZSBzZWN1cmVDb25uZWN0aW9uU3RhcnQo
KSBjb25zdDsKKyAgICBkb3VibGUgcmVxdWVzdFN0YXJ0KCkgY29uc3Q7CisgICAgZG91YmxlIHJl
c3BvbnNlU3RhcnQoKSBjb25zdDsKKyAgICBkb3VibGUgcmVzcG9uc2VFbmQoKSBjb25zdDsKKwor
ICAgIHZpcnR1YWwgYm9vbCBpc1Jlc291cmNlKCkgeyByZXR1cm4gdHJ1ZTsgfQorCitwcml2YXRl
OgorICAgIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcoY29uc3QgUmVzb3VyY2VSZXF1ZXN0Jiwg
Y29uc3QgUmVzb3VyY2VSZXNwb25zZSYsIGRvdWJsZSBmaW5pc2hUaW1lLCBEb2N1bWVudCopOwor
ICAgIH5QZXJmb3JtYW5jZVJlc291cmNlVGltaW5nKCk7CisKKyAgICBkb3VibGUgbW9ub3Rvbmlj
VGltZVRvRG9jdW1lbnRNaWxsaXNlY29uZHMoZG91YmxlIHNlY29uZHMpIGNvbnN0OworICAgIGRv
dWJsZSByZXNvdXJjZVRpbWVUb0RvY3VtZW50TWlsbGlzZWNvbmRzKGludCBkZWx0YU1pbGxpc2Vj
b25kcykgY29uc3Q7CisKKyAgICBTdHJpbmcgbV9pbml0aWF0b3JUeXBlOworICAgIFJlZlB0cjxS
ZXNvdXJjZUxvYWRUaW1pbmc+IG1fdGltaW5nOworICAgIGRvdWJsZSBtX2ZpbmlzaFRpbWU7Cisg
ICAgUmVmUHRyPERvY3VtZW50PiBtX3JlcXVlc3RpbmdEb2N1bWVudDsKK307CisKK30KKworI2Vu
ZGlmIC8vIEVOQUJMRShSRVNPVVJDRV9USU1JTkcpCisKKyNlbmRpZiAvLyAhZGVmaW5lZChQZXJm
b3JtYW5jZVJlc291cmNlVGltaW5nX2gpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaWRsIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJm
b3JtYW5jZVJlc291cmNlVGltaW5nLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zZTBhZDU5Y2U4NGJmMTNkMjFi
MTQ5ODliOWYxMDNlMTY5ZThmMjM4Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmlkbApAQCAtMCwwICsxLDUyIEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICog
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRp
c3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9y
IHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNl
IG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhv
dXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMK
KyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBP
UiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworbW9kdWxl
IHdpbmRvdyB7CisKKyAgICAvLyBTZWU6IGh0dHBzOi8vZHZjcy53My5vcmcvaGcvd2VicGVyZi9y
YXctZmlsZS90aXAvc3BlY3MvUmVzb3VyY2VUaW1pbmcvT3ZlcnZpZXcuaHRtbAorICAgIGludGVy
ZmFjZSBbCisgICAgICAgIENvbmRpdGlvbmFsPVJFU09VUkNFX1RJTUlORywKKyAgICAgICAgT21p
dENvbnN0cnVjdG9yCisgICAgXSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nIDogUGVyZm9ybWFu
Y2VFbnRyeSB7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgaW5pdGlhdG9y
VHlwZTsKKworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgZG91YmxlIHJlZGlyZWN0U3RhcnQ7
CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBkb3VibGUgcmVkaXJlY3RFbmQ7CisgICAgICAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSBkb3VibGUgZmV0Y2hTdGFydDsKKyAgICAgICAgcmVhZG9ubHkg
YXR0cmlidXRlIGRvdWJsZSBkb21haW5Mb29rdXBTdGFydDsKKyAgICAgICAgcmVhZG9ubHkgYXR0
cmlidXRlIGRvdWJsZSBkb21haW5Mb29rdXBFbmQ7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBkb3VibGUgY29ubmVjdFN0YXJ0OworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgZG91Ymxl
IGNvbm5lY3RFbmQ7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBkb3VibGUgc2VjdXJlQ29u
bmVjdGlvblN0YXJ0OworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgZG91YmxlIHJlcXVlc3RT
dGFydDsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGRvdWJsZSByZXNwb25zZVN0YXJ0Owor
ICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgZG91YmxlIHJlc3BvbnNlRW5kOworICAgIH07Cit9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVx
dWVzdEJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJl
cXVlc3RCYXNlLmNwcAppbmRleCAzNTA5NzkyOTI3OGM3NjA2NGM0YjBkZWI5YWZlMzlmZjE5YmU0
YzI0Li5lNTExYzI0NDllNmY3NDhkYTg4MTMyNzEyNDdlY2FhOTdiNzBjZjcwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFz
ZS5jcHAKQEAgLTUzLDYgKzUzLDcgQEAgUGFzc093blB0cjxSZXNvdXJjZVJlcXVlc3Q+IFJlc291
cmNlUmVxdWVzdEJhc2U6OmFkb3B0KFBhc3NPd25QdHI8Q3Jvc3NUaHJlYWRSZXMKICAgICByZXF1
ZXN0LT5zZXRGaXJzdFBhcnR5Rm9yQ29va2llcyhkYXRhLT5tX2ZpcnN0UGFydHlGb3JDb29raWVz
KTsKICAgICByZXF1ZXN0LT5zZXRIVFRQTWV0aG9kKGRhdGEtPm1faHR0cE1ldGhvZCk7CiAgICAg
cmVxdWVzdC0+c2V0UHJpb3JpdHkoZGF0YS0+bV9wcmlvcml0eSk7CisgICAgcmVxdWVzdC0+c2V0
SW5pdGlhdG9yVHlwZShkYXRhLT5tX2luaXRpYXRvclR5cGUpOwogCiAgICAgcmVxdWVzdC0+dXBk
YXRlUmVzb3VyY2VSZXF1ZXN0KCk7CiAgICAgcmVxdWVzdC0+bV9odHRwSGVhZGVyRmllbGRzLmFk
b3B0KGRhdGEtPm1faHR0cEhlYWRlcnMucmVsZWFzZSgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmgKaW5kZXggODZkZDYy
ZThlMDhjMjYwNDQyYzNhMWMxOTU4YjkyMDYxNDQzMGMwYy4uY2ZkNzYwMWVmODNmNmI1NWJlMTBm
MDQyNGExMDI5NmQ4YzUwNGIwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmgKQEAgLTMzLDYgKzMzLDcgQEAKICNpbmNs
dWRlICJLVVJMLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VMb2FkUHJpb3JpdHkuaCIKIAorI2luY2x1
ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewpAQCAtNTEsNiArNTIsMjAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAg
IGNsYXNzIFJlc291cmNlUmVxdWVzdEJhc2UgewogICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKICAgICBwdWJsaWM6CisgICAgICAgIGVudW0gSW5pdGlhdG9yVHlwZSB7CisgICAgICAg
ICAgICBJbml0aWF0b3JJc1Vua25vd24sCisgICAgICAgICAgICBJbml0aWF0b3JJc01haW5Eb2N1
bWVudCwKKyAgICAgICAgICAgIEluaXRpYXRvcklzQ1NTLAorICAgICAgICAgICAgSW5pdGlhdG9y
SXNFbWJlZEVsZW1lbnQsCisgICAgICAgICAgICBJbml0aWF0b3JJc0ltYWdlRWxlbWVudCwKKyAg
ICAgICAgICAgIEluaXRpYXRvcklzTGlua0VsZW1lbnQsCisgICAgICAgICAgICBJbml0aWF0b3JJ
c09iamVjdEVsZW1lbnQsCisgICAgICAgICAgICBJbml0aWF0b3JJc1NjcmlwdEVsZW1lbnQsCisg
ICAgICAgICAgICBJbml0aWF0b3JJc1N1YkRvY3VtZW50LAorICAgICAgICAgICAgSW5pdGlhdG9y
SXNTVkcsCisgICAgICAgICAgICBJbml0aWF0b3JJc1hIUiwKKyAgICAgICAgfTsKKwogICAgICAg
ICBzdGF0aWMgUGFzc093blB0cjxSZXNvdXJjZVJlcXVlc3Q+IGFkb3B0KFBhc3NPd25QdHI8Q3Jv
c3NUaHJlYWRSZXNvdXJjZVJlcXVlc3REYXRhPik7CiAKICAgICAgICAgLy8gR2V0cyBhIGNvcHkg
b2YgdGhlIGRhdGEgc3VpdGFibGUgZm9yIHBhc3NpbmcgdG8gYW5vdGhlciB0aHJlYWQuCkBAIC0x
MzIsNiArMTQ3LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBib29sIHJlcG9ydFJh
d0hlYWRlcnMoKSBjb25zdCB7IHJldHVybiBtX3JlcG9ydFJhd0hlYWRlcnM7IH0KICAgICAgICAg
dm9pZCBzZXRSZXBvcnRSYXdIZWFkZXJzKGJvb2wgcmVwb3J0UmF3SGVhZGVycykgeyBtX3JlcG9y
dFJhd0hlYWRlcnMgPSByZXBvcnRSYXdIZWFkZXJzOyB9CiAKKyAgICAgICAgSW5pdGlhdG9yVHlw
ZSBpbml0aWF0b3JUeXBlKCkgY29uc3QgeyByZXR1cm4gbV9pbml0aWF0b3JUeXBlOyB9CisgICAg
ICAgIHZvaWQgc2V0SW5pdGlhdG9yVHlwZShJbml0aWF0b3JUeXBlIGluaXRpYXRvclR5cGUpIHsg
bV9pbml0aWF0b3JUeXBlID0gaW5pdGlhdG9yVHlwZTsgfQorCiAgICAgICAgIHN0YXRpYyBkb3Vi
bGUgZGVmYXVsdFRpbWVvdXRJbnRlcnZhbCgpOyAvLyBNYXkgcmV0dXJuIDAgd2hlbiB1c2luZyBw
bGF0Zm9ybSBkZWZhdWx0LgogICAgICAgICBzdGF0aWMgdm9pZCBzZXREZWZhdWx0VGltZW91dElu
dGVydmFsKGRvdWJsZSk7CiAKQEAgLTE0Niw2ICsxNjQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAgICAgICAgICAgICAsIG1fcmVwb3J0TG9hZFRpbWluZyhmYWxzZSkKICAgICAgICAgICAgICwg
bV9yZXBvcnRSYXdIZWFkZXJzKGZhbHNlKQogICAgICAgICAgICAgLCBtX3ByaW9yaXR5KFJlc291
cmNlTG9hZFByaW9yaXR5TG93KQorICAgICAgICAgICAgLCBtX2luaXRpYXRvclR5cGUoSW5pdGlh
dG9ySXNVbmtub3duKQogICAgICAgICB7CiAgICAgICAgIH0KIApAQCAtMTYxLDYgKzE4MCw3IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgICAgICwgbV9yZXBvcnRMb2FkVGltaW5nKGZh
bHNlKQogICAgICAgICAgICAgLCBtX3JlcG9ydFJhd0hlYWRlcnMoZmFsc2UpCiAgICAgICAgICAg
ICAsIG1fcHJpb3JpdHkoUmVzb3VyY2VMb2FkUHJpb3JpdHlMb3cpCisgICAgICAgICAgICAsIG1f
aW5pdGlhdG9yVHlwZShJbml0aWF0b3JJc1Vua25vd24pCiAgICAgICAgIHsKICAgICAgICAgfQog
CkBAIC0xODYsNiArMjA2LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBib29sIG1f
cmVwb3J0TG9hZFRpbWluZyA6IDE7CiAgICAgICAgIGJvb2wgbV9yZXBvcnRSYXdIZWFkZXJzIDog
MTsKICAgICAgICAgUmVzb3VyY2VMb2FkUHJpb3JpdHkgbV9wcmlvcml0eTsKKyAgICAgICAgSW5p
dGlhdG9yVHlwZSBtX2luaXRpYXRvclR5cGU7CiAKICAgICBwcml2YXRlOgogICAgICAgICBjb25z
dCBSZXNvdXJjZVJlcXVlc3QmIGFzUmVzb3VyY2VSZXF1ZXN0KCkgY29uc3Q7CkBAIC0yMTQsOCAr
MjM1LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBSZWZQdHI8Rm9ybURhdGE+IG1f
aHR0cEJvZHk7CiAgICAgICAgIGJvb2wgbV9hbGxvd0Nvb2tpZXM7CiAgICAgICAgIFJlc291cmNl
TG9hZFByaW9yaXR5IG1fcHJpb3JpdHk7CisgICAgICAgIFJlc291cmNlUmVxdWVzdEJhc2U6Oklu
aXRpYXRvclR5cGUgbV9pbml0aWF0b3JUeXBlOwogICAgIH07Ci0gICAgCisKICAgICB1bnNpZ25l
ZCBpbml0aWFsaXplTWF4aW11bUhUVFBDb25uZWN0aW9uQ291bnRQZXJIb3N0KCk7CiAKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>147155</attachid>
            <date>2012-06-12 14:02:06 -0700</date>
            <delta_ts>2012-06-14 21:03:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-61152-20120612140206.patch</filename>
            <type>text/plain</type>
            <size>48622</size>
            <attacher name="James Simonsen">simonjam</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIwMDYyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDBmODZmY2JlMjMwZmU5
NzIzODc0M2I5NGY4OTljYzg2N2Y0NmVkNy4uYTcyYTk4NDUyY2Q4MzMzOTYyNjliNDY3ZDUwNTRm
MmI2ZDBjNzQ1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDkxIEBACisyMDEyLTA2LTA3ICBKYW1l
cyBTaW1vbnNlbiAgPHNpbW9uamFtQGNocm9taXVtLm9yZz4KKworICAgICAgICBbUmVzb3VyY2Ug
VGltaW5nXSBJbXBsZW1lbnQgUmVzb3VyY2UgVGltaW5nIGludGVyZmFjZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjExNTIKKworICAgICAgICBUaGlz
IHBhdGNoIGltcGxlbWVudHMgdGhlIFJlc291cmNlIFRpbWluZyBpbnRlcmZhY2UuIEl0IGRvZXNu
J3QgZG8gYW55dGhpbmcKKyAgICAgICAgdXNlZnVsLCBiZWNhdXNlIG5vdGhpbmcgcG9wdWxhdGVz
IHRoZSB0aW1lbGluZSB5ZXQuIFRoZXJlIGFyZSBhbHNvIHNvbWUgZ2FwcworICAgICAgICBpbiB0
aGUgaW1wbGVtZW50YXRpb24sIHdoaWNoIGhhdmUgYmVlbiBmaWxlZCBhcyBidWdzLgorCisgICAg
ICAgIGh0dHA6Ly9kdmNzLnczLm9yZy9oZy93ZWJwZXJmL3Jhdy1maWxlL3RpcC9zcGVjcy9SZXNv
dXJjZVRpbWluZy9PdmVydmlldy5odG1sCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLiBGZWF0dXJlIGlzIGRpc2FibGVkIG9uIGFs
bCBwbGF0Zm9ybXMuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBEZXJp
dmVkU291cmNlcy5wcmk6CisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAgICAg
KiBUYXJnZXQucHJpOgorICAgICAgICAqIFVzZVY4LmNtYWtlOgorICAgICAgICAqIFdlYkNvcmUu
Z3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAg
KiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogYmluZGluZ3Mv
djgvY3VzdG9tL1Y4UGVyZm9ybWFuY2VFbnRyeUN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3Jl
KToKKyAgICAgICAgKFdlYkNvcmU6OnRvVjgpOiBTdXBwb3J0IFBlcmZvcm1hbmNlRW50cnkgcG9s
eW1vcnBoaXNtLgorICAgICAgICAqIGRvbS9FdmVudE5hbWVzLmg6CisgICAgICAgIChXZWJDb3Jl
KToKKyAgICAgICAgKiBkb20vRXZlbnRUYXJnZXRGYWN0b3J5LmluOgorICAgICAgICAqIHBhZ2Uv
UGVyZm9ybWFuY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6On5QZXJmb3Jt
YW5jZSk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNl
OjppbnRlcmZhY2VOYW1lKTogUmVxaXJlZCBmb3IgRXZlbnRUYXJnZXQuCisgICAgICAgIChXZWJD
b3JlOjpQZXJmb3JtYW5jZTo6c2NyaXB0RXhlY3V0aW9uQ29udGV4dCk6IERpdHRvLgorICAgICAg
ICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6OndlYmtpdEdldEVudHJpZXMpOiBSZXR1cm4gInJlc291
cmNlIiBlbnRyaWVzLgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6OndlYmtpdEdldEVu
dHJpZXNCeVR5cGUpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlOjp3ZWJr
aXRHZXRFbnRyaWVzQnlOYW1lKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5j
ZTo6d2Via2l0Q2xlYXJSZXNvdXJjZVRpbWluZ3MpOiBOZXcuCisgICAgICAgIChXZWJDb3JlOjpQ
ZXJmb3JtYW5jZTo6d2Via2l0U2V0UmVzb3VyY2VUaW1pbmdCdWZmZXJTaXplKTogTmV3LiBVbmlt
cGxlbWVudGVkLgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6OmFkZFJlc291cmNlVGlt
aW5nKTogVGhpcyBpcyBob3cgcmVzb3VyY2VzIGluIFdlYkNvcmUgd2lsbCByZXBvcnQgdG8gdGhl
IHRpbWVsaW5lLgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6OmV2ZW50VGFyZ2V0RGF0
YSk6IFJlcXVpcmVkIGZvciBFdmVudFRhcmdldC4KKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1h
bmNlOjplbnN1cmVFdmVudFRhcmdldERhdGEpOiBEaXR0by4KKyAgICAgICAgKiBwYWdlL1BlcmZv
cm1hbmNlLmg6CisgICAgICAgIChQZXJmb3JtYW5jZSk6CisgICAgICAgIChXZWJDb3JlOjpQZXJm
b3JtYW5jZTo6cmVmRXZlbnRUYXJnZXQpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6
OmRlcmVmRXZlbnRUYXJnZXQpOgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2UuaWRsOgorICAg
ICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VFbnRyeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQZXJm
b3JtYW5jZUVudHJ5Ojp+UGVyZm9ybWFuY2VFbnRyeSk6CisgICAgICAgIChXZWJDb3JlKToKKyAg
ICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlRW50cnkuaDoKKyAgICAgICAgKFBlcmZvcm1hbmNlRW50
cnkpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VFbnRyeTo6aXNSZXNvdXJjZSk6Cisg
ICAgICAgICogcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmlkbDoKKyAgICAgICAgKiBwYWdlL1BlcmZv
cm1hbmNlUmVzb3VyY2VUaW1pbmcuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAg
ICAgICAoV2ViQ29yZTo6dG9QZXJmb3JtYW5jZUluaXRpYXRvclR5cGUpOgorICAgICAgICAoV2Vi
Q29yZTo6UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWlu
Zyk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjppbml0aWF0
b3JUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OnJl
ZGlyZWN0U3RhcnQpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWlu
Zzo6cmVkaXJlY3RFbmQpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VSZXNvdXJjZVRp
bWluZzo6ZmV0Y2hTdGFydCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZVJlc291cmNl
VGltaW5nOjpkb21haW5Mb29rdXBTdGFydCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5j
ZVJlc291cmNlVGltaW5nOjpkb21haW5Mb29rdXBFbmQpOgorICAgICAgICAoV2ViQ29yZTo6UGVy
Zm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6Y29ubmVjdFN0YXJ0KToKKyAgICAgICAgKFdlYkNvcmU6
OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OmNvbm5lY3RFbmQpOgorICAgICAgICAoV2ViQ29y
ZTo6UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6c2VjdXJlQ29ubmVjdGlvblN0YXJ0KToKKyAg
ICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OnJlcXVlc3RTdGFydCk6
CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpyZXNwb25zZVN0
YXJ0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OnJlc3Bv
bnNlRW5kKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6Om1v
bm90b25pY1RpbWVUb0RvY3VtZW50TWlsbGlzZWNvbmRzKToKKyAgICAgICAgKFdlYkNvcmU6OlBl
cmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OnJlc291cmNlVGltZVRvTWlsbGlzZWNvbmRzKToKKyAg
ICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaDogQWRkZWQuCisgICAgICAg
IChXZWJDb3JlKToKKyAgICAgICAgKFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcpOgorICAgICAg
ICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6Y3JlYXRlKToKKyAgICAgICAg
KFdlYkNvcmU6OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OmlzUmVzb3VyY2UpOgorICAgICAg
ICAqIHBhZ2UvUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5pZGw6IEFkZGVkLgorICAgICAgICAq
IHBsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpSZXNvdXJjZVJlcXVlc3RCYXNlOjphZG9wdCk6CisgICAgICAgICogcGxhdGZvcm0vbmV0
d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmg6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJl
cXVlc3RCYXNlOjppbml0aWF0b3JUeXBlKTogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpSZXNv
dXJjZVJlcXVlc3RCYXNlOjpzZXRJbml0aWF0b3JUeXBlKTogQWRkZWQuCisgICAgICAgIChSZXNv
dXJjZVJlcXVlc3RCYXNlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdEJhc2U6
OlJlc291cmNlUmVxdWVzdEJhc2UpOgorICAgICAgICAoQ3Jvc3NUaHJlYWRSZXNvdXJjZVJlcXVl
c3REYXRhQmFzZSk6CisgICAgICAgIChXZWJDb3JlKToKKwogMjAxMi0wNi0xMiAgVGFrYXNoaSBT
YWthbW90byAgPHRhc2FrQGdvb2dsZS5jb20+CiAKICAgICAgICAgW1NoYWRvdyBET01dIDxzdHls
ZT4gaW5zaWRlIFNoYWRvdyBzdWJ0cmVlIHNob3VsZCBiZSBzY29wZWQgaW5zaWRlIHRoZSBzdWJ0
cmVlLgpAQCAtOTQ4NSw2ICs5NTczLDU4IEBACiAgICAgICAgIChXZWJDb3JlOjpMYXllckNocm9t
aXVtOjpzZXRTY3JlZW5TcGFjZVRyYW5zZm9ybSk6CiAgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVtLmNwcDoKICAgICAgICAgKFdlYkNvcmU6
OkxheWVyUmVuZGVyZXJDaHJvbWl1bTo6ZHJhd0NoZWNrZXJib2FyZFF1YWQpOgorMjAxMi0wNC0y
NSAgSmFtZXMgU2ltb25zZW4gIDxzaW1vbmphbUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW1dl
YiBUaW1pbmddIEFkZCBhIHZlbmRvci1wcmVmaXhlZCBQZXJmb3JtYW5jZSBUaW1lbGluZSBBUEkK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwMzUwCisK
KyAgICAgICAgQXMgZGVzY3JpYmVkIGhlcmU6IGh0dHA6Ly9kdmNzLnczLm9yZy9oZy93ZWJwZXJm
L3Jhdy1maWxlL3RpcC9zcGVjcy9QZXJmb3JtYW5jZVRpbWVsaW5lL092ZXJ2aWV3Lmh0bWwKKwor
ICAgICAgICBUaGUgQVBJIGlzIHRoZXJlIGFuZCBzaG91bGQgYmUgY29ycmVjdCwgYnV0IGl0IGlz
bid0IHBhcnRpY3VsYXJseSB1c2VmdWwsCisgICAgICAgIGJlY2F1c2Ugbm90aGluZyBpcyBwb3B1
bGF0ZWQuIFVwY29taW5nIGNoYW5nZXMgd2lsbCBhZGQgTmF2aWdhdGlvbiBUaW1pbmcKKyAgICAg
ICAgYW5kIFJlc291cmNlIFRpbWluZy4KKworICAgICAgICBSZXZpZXdlZCBieSBUb255IEdlbnRp
bGNvcmUuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLiBGdW5jdGlvbmFsaXR5IGlzIGRpc2FibGVk
IG9uIGFsbCBwbGF0Zm9ybXMuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDogQWRkZWQgUGVy
Zm9ybWFuY2VFbnRyeSogZmlsZXMuCisgICAgICAgICogRGVyaXZlZFNvdXJjZXMucHJpOiBEaXR0
by4KKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOiBEaXR0by4KKyAgICAgICAgKiBXZWJD
b3JlLmd5cGk6IERpdHRvLgorICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9q
OiBEaXR0by4KKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6IERp
dHRvLgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
UGVyZm9ybWFuY2U6OndlYmtpdEdldEVudHJpZXMpOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6
OlBlcmZvcm1hbmNlOjp3ZWJraXRHZXRFbnRyaWVzQnlUeXBlKTogQWRkZWQuCisgICAgICAgIChX
ZWJDb3JlOjpQZXJmb3JtYW5jZTo6d2Via2l0R2V0RW50cmllc0J5TmFtZSk6IEFkZGVkLgorICAg
ICAgICAqIHBhZ2UvUGVyZm9ybWFuY2UuaDoKKyAgICAgICAgKFBlcmZvcm1hbmNlKToKKyAgICAg
ICAgKiBwYWdlL1BlcmZvcm1hbmNlLmlkbDoKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlRW50
cnkuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6UGVy
Zm9ybWFuY2VFbnRyeTo6UGVyZm9ybWFuY2VFbnRyeSk6CisgICAgICAgIChXZWJDb3JlOjpQZXJm
b3JtYW5jZUVudHJ5OjpuYW1lKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlRW50cnk6
OmVudHJ5VHlwZSk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZUVudHJ5OjpzdGFydFRp
bWUpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VFbnRyeTo6ZHVyYXRpb24pOgorICAg
ICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VFbnRyeS5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmUp
OgorICAgICAgICAoUGVyZm9ybWFuY2VFbnRyeSk6CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5j
ZUVudHJ5LmlkbDogQWRkZWQuCisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZUVudHJ5TGlzdC5j
cHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3Jt
YW5jZUVudHJ5TGlzdDo6UGVyZm9ybWFuY2VFbnRyeUxpc3QpOgorICAgICAgICAoV2ViQ29yZTo6
UGVyZm9ybWFuY2VFbnRyeUxpc3Q6On5QZXJmb3JtYW5jZUVudHJ5TGlzdCk6CisgICAgICAgIChX
ZWJDb3JlOjpQZXJmb3JtYW5jZUVudHJ5TGlzdDo6bGVuZ3RoKToKKyAgICAgICAgKFdlYkNvcmU6
OlBlcmZvcm1hbmNlRW50cnlMaXN0OjppdGVtKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1h
bmNlRW50cnlMaXN0OjphcHBlbmQpOgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VFbnRyeUxp
c3QuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFBlcmZvcm1hbmNlRW50
cnlMaXN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlRW50cnlMaXN0OjpjcmVhdGUp
OgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VFbnRyeUxpc3QuaWRsOiBBZGRlZC4KKwogICAg
ICAgICAoV2ViQ29yZTo6TGF5ZXJSZW5kZXJlckNocm9taXVtOjpkcmF3RGVidWdCb3JkZXJRdWFk
KToKICAgICAgICAgKFdlYkNvcmU6OkxheWVyUmVuZGVyZXJDaHJvbWl1bTo6ZHJhd0JhY2tncm91
bmRGaWx0ZXJzKToKICAgICAgICAgKFdlYkNvcmU6OkxheWVyUmVuZGVyZXJDaHJvbWl1bTo6ZHJh
d1JlbmRlclN1cmZhY2VRdWFkKToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlz
dHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggZTRjMDRjYzI0MDNm
NTM3MGJjZDA5NTY2ZTIyOWM0NzhmN2JjZWQ3Yy4uMTllMGI1YmI4NmY3YzI4MTY3YTliYzE0NTQ5
M2M0NDkyMjE3ZTc3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQK
KysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTM5NSw2ICszOTUsNyBAQCBT
RVQoV2ViQ29yZV9JRExfRklMRVMKICAgICBwYWdlL1BlcmZvcm1hbmNlRW50cnkuaWRsCiAgICAg
cGFnZS9QZXJmb3JtYW5jZUVudHJ5TGlzdC5pZGwKICAgICBwYWdlL1BlcmZvcm1hbmNlTmF2aWdh
dGlvbi5pZGwKKyAgICBwYWdlL1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaWRsCiAgICAgcGFn
ZS9QZXJmb3JtYW5jZVRpbWluZy5pZGwKICAgICBwYWdlL1NjcmVlbi5pZGwKICAgICBwYWdlL1Nw
ZWVjaElucHV0RXZlbnQuaWRsCkBAIC0xMDgzLDYgKzEwODQsNyBAQCBTRVQoV2ViQ29yZV9TT1VS
Q0VTCiAgICAgcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmNwcAogICAgIHBhZ2UvUGVyZm9ybWFuY2VF
bnRyeUxpc3QuY3BwCiAgICAgcGFnZS9QZXJmb3JtYW5jZU5hdmlnYXRpb24uY3BwCisgICAgcGFn
ZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmNwcAogICAgIHBhZ2UvUGVyZm9ybWFuY2VUaW1p
bmcuY3BwCiAgICAgcGFnZS9QcmludENvbnRleHQuY3BwCiAgICAgcGFnZS9TY3JlZW4uY3BwCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkgYi9Tb3VyY2UvV2Vi
Q29yZS9EZXJpdmVkU291cmNlcy5wcmkKaW5kZXggN2I3M2U5ZTdkZjY1NTM5Mjk3ZmU5OWYwZjk4
MDJiYjlhMTc3MDNhYS4uNTM4YzRjYzcxZWU4OTQ1NGFhYmNlMjkzM2NkYTAxMDkwZDczN2NlMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMucHJpCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaQpAQCAtNDI0LDYgKzQyNCw3IEBAIElETF9CSU5E
SU5HUyArPSBcCiAgICAgJCRQV0QvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmlkbCBcCiAgICAgJCRQ
V0QvcGFnZS9QZXJmb3JtYW5jZUVudHJ5TGlzdC5pZGwgXAogICAgICQkUFdEL3BhZ2UvUGVyZm9y
bWFuY2VOYXZpZ2F0aW9uLmlkbCBcCisgICAgJCRQV0QvcGFnZS9QZXJmb3JtYW5jZVJlc291cmNl
VGltaW5nLmlkbCBcCiAgICAgJCRQV0QvcGFnZS9QZXJmb3JtYW5jZVRpbWluZy5pZGwgXAogICAg
ICQkUFdEL3BhZ2UvU2NyZWVuLmlkbCBcCiAgICAgJCRQV0QvcGFnZS9TcGVlY2hJbnB1dEV2ZW50
LmlkbCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtIGIv
U291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCBhNGIyMzE2NjViODIyMDEx
ZjhhNjRmNzk1ZDAzNDI0OWQxZDMxM2Q5Li5jYTYzYjBhOWJhZmUwNWI0Nzc1M2VkY2U3MjE2YjI2
MGRkYzE5NWI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFt
CisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTk1NCw2ICs5NTQs
NyBAQCBkb21fYmluZGluZ19pZGxzICs9IFwKIAkkKFdlYkNvcmUpL3BhZ2UvUGVyZm9ybWFuY2VF
bnRyeS5pZGwgXAogCSQoV2ViQ29yZSkvcGFnZS9QZXJmb3JtYW5jZUVudHJ5TGlzdC5pZGwgXAog
CSQoV2ViQ29yZSkvcGFnZS9QZXJmb3JtYW5jZU5hdmlnYXRpb24uaWRsIFwKKwkkKFdlYkNvcmUp
L3BhZ2UvUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5pZGwgXAogCSQoV2ViQ29yZSkvcGFnZS9Q
ZXJmb3JtYW5jZVRpbWluZy5pZGwgXAogCSQoV2ViQ29yZSkvcGFnZS9TY3JlZW4uaWRsIFwKIAkk
KFdlYkNvcmUpL3BhZ2UvU3BlZWNoSW5wdXRFdmVudC5pZGwgXApAQCAtMzAzMSw2ICszMDMyLDgg
QEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNl
RW50cnlMaXN0LmggXAogCVNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VOYXZpZ2F0aW9u
LmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU5hdmlnYXRpb24uaCBcCisJ
U291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmNwcCBcCisJU291
cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmggXAogCVNvdXJjZS9X
ZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VUaW1pbmcuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9wYWdl
L1BlcmZvcm1hbmNlVGltaW5nLmggXAogCVNvdXJjZS9XZWJDb3JlL3BhZ2UvUG9pbnRlckxvY2su
aCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpIGIvU291cmNlL1dlYkNv
cmUvVGFyZ2V0LnByaQppbmRleCBiY2QwMGMxYTAxYTQ3YTMzOTcyYjE0ZDFkOWQwNjQ1OWVhZDAx
ODYzLi4wNjE1M2E5MjA0ODE0NzJhMGU1MDg0MWJlMzQzMTc5ZDlkMzJmYmYyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5w
cmkKQEAgLTIxMyw2ICsyMTMsNyBAQCB2OCB7CiAgICAgICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9W
OE5vZGVDdXN0b20uY3BwIFwKICAgICAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4Tm9kZUxpc3RD
dXN0b20uY3BwIFwKICAgICAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4UGVyZm9ybWFuY2VDdXN0
b20uY3BwIFwKKyAgICAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4UGVyZm9ybWFuY2VFbnRyeUN1
c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhTUUxSZXN1bHRTZXRSb3dM
aXN0Q3VzdG9tLmNwcCBcCiAgICAgICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOFNRTFRyYW5zYWN0
aW9uQ3VzdG9tLmNwcCBcCiAgICAgICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOFdlYlNvY2tldEN1
c3RvbS5jcHAgXApAQCAtMTA1MCw2ICsxMDUxLDcgQEAgU09VUkNFUyArPSBcCiAgICAgcGFnZS9Q
ZXJmb3JtYW5jZUVudHJ5LmNwcCBcCiAgICAgcGFnZS9QZXJmb3JtYW5jZUVudHJ5TGlzdC5jcHAg
XAogICAgIHBhZ2UvUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmNwcCBcCisgICAgcGFnZS9QZXJmb3Jt
YW5jZVJlc291cmNlVGltaW5nLmNwcCBcCiAgICAgcGFnZS9QZXJmb3JtYW5jZVRpbWluZy5jcHAg
XAogICAgIHBhZ2UvUHJpbnRDb250ZXh0LmNwcCBcCiAgICAgcGFnZS9TY3JlZW4uY3BwIFwKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1VzZVY4LmNtYWtlIGIvU291cmNlL1dlYkNvcmUvVXNl
VjguY21ha2UKaW5kZXggNDQ4ZTI2NmE4NzFkZjU4N2MzOWY2YTI5ZjdlZDQ2NjU0MDU5Y2MxOS4u
ZDgyZjUwZmY2MTZlM2ZkNGZiYjg0MWY3MDQyNWM0ZDM0Y2JlMmZmOCAxMDA3NTUKLS0tIGEvU291
cmNlL1dlYkNvcmUvVXNlVjguY21ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvVXNlVjguY21ha2UK
QEAgLTEzOSw2ICsxMzksNyBAQCBMSVNUKEFQUEVORCBXZWJDb3JlX1NPVVJDRVMKICAgICBiaW5k
aW5ncy92OC9jdXN0b20vVjhOb3RpZmljYXRpb25DdXN0b20uY3BwCiAgICAgYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4Tm90aWZpY2F0aW9uQ2VudGVyQ3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL3Y4L2N1
c3RvbS9WOFBlcmZvcm1hbmNlQ3VzdG9tLmNwcAorICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOFBl
cmZvcm1hbmNlRW50cnlDdXN0b20uY3BwCiAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4UG9wU3Rh
dGVFdmVudEN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhTUUxSZXN1bHRTZXRS
b3dMaXN0Q3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOFNRTFRyYW5zYWN0aW9u
Q3VzdG9tLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDUyMzUxMjJmOTFjYzliMWJjZTY4ZTNjZWFi
NGIwM2QwZWUxODc1MTAuLjlkOWJhNGUzYzgxNmFlMmZiYzJkZmE1MmI4YjQyNWM1MDc1ODk5Mjcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLmd5cGkKQEAgLTExNTgsNiArMTE1OCw3IEBACiAgICAgICAgICAgICAncGFn
ZS9QZXJmb3JtYW5jZUVudHJ5LmlkbCcsCiAgICAgICAgICAgICAncGFnZS9QZXJmb3JtYW5jZUVu
dHJ5TGlzdC5pZGwnLAogICAgICAgICAgICAgJ3BhZ2UvUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmlk
bCcsCisgICAgICAgICAgICAncGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmlkbCcsCiAg
ICAgICAgICAgICAncGFnZS9QZXJmb3JtYW5jZVRpbWluZy5pZGwnLAogICAgICAgICAgICAgJ3Bh
Z2UvUG9pbnRlckxvY2suaWRsJywKICAgICAgICAgICAgICdwYWdlL1NjcmVlbi5pZGwnLApAQCAt
MjMyNiw2ICsyMzI3LDcgQEAKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhOb3Rp
ZmljYXRpb25DdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhO
b3RpZmljYXRpb25DZW50ZXJDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9j
dXN0b20vVjhQZXJmb3JtYW5jZUN1c3RvbS5jcHAnLAorICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4
L2N1c3RvbS9WOFBlcmZvcm1hbmNlRW50cnlDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5k
aW5ncy92OC9jdXN0b20vVjhQb3BTdGF0ZUV2ZW50Q3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAn
YmluZGluZ3MvdjgvY3VzdG9tL1Y4U1FMUmVzdWx0U2V0Um93TGlzdEN1c3RvbS5jcHAnLAogICAg
ICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFNRTFRyYW5zYWN0aW9uQ3VzdG9tLmNwcCcs
CkBAIC0zMDU2LDYgKzMwNTgsOCBAQAogICAgICAgICAgICAgJ3BhZ2UvUGVyZm9ybWFuY2VFbnRy
eUxpc3QuaCcsCiAgICAgICAgICAgICAncGFnZS9QZXJmb3JtYW5jZU5hdmlnYXRpb24uY3BwJywK
ICAgICAgICAgICAgICdwYWdlL1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5oJywKKyAgICAgICAgICAg
ICdwYWdlL1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuY3BwJywKKyAgICAgICAgICAgICdwYWdl
L1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaCcsCiAgICAgICAgICAgICAncGFnZS9QZXJmb3Jt
YW5jZVRpbWluZy5jcHAnLAogICAgICAgICAgICAgJ3BhZ2UvUGVyZm9ybWFuY2VUaW1pbmcuaCcs
CiAgICAgICAgICAgICAncGFnZS9Qb2ludGVyTG9jay5jcHAnLApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2ogYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagppbmRleCA1MTlhNjg5ZDJiZDQ1ZmJhNDczYWY5
ZDMyYTE1ZGZiMDkwMTFjN2MxLi5kMzI0NmViMzI4YTZmMDczOTY5M2FkOWVjOWZlNThlNmY4MjNi
MTJjIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZj
cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagpA
QCAtMjY4NzksNiArMjY4NzksMTQgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJ
CVJlbGF0aXZlUGF0aD0iLi5ccGFnZVxQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmNwcCIKKwkJ
CQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGFnZVxQZXJm
b3JtYW5jZVJlc291cmNlVGltaW5nLmgiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKIAkJ
CQlSZWxhdGl2ZVBhdGg9Ii4uXHBhZ2VcUGVyZm9ybWFuY2VUaW1pbmcuY3BwIgogCQkJCT4KIAkJ
CTwvRmlsZT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagppbmRleCAwYzcwMzczNDZmOGVjNjM0YzVjOWY3ZmEwZTI1OTFjM2UwMmU3YmYxLi45
MDQ4NzcyOGNlNWRjODg4MzU2Y2JmZGI0OWYyZmMyYzM4NzU5MGRlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0yODkwLDYgKzI4
OTAsOCBAQAogCQk4NjFDMkVBNDEzRkI0RkREMDAwNjJBQkIgLyogRG9jdW1lbnRMb2FkVGltaW5n
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2MUMy
RUEzMTNGQjRGREQwMDA2MkFCQiAvKiBEb2N1bWVudExvYWRUaW1pbmcuY3BwICovOyB9OwogCQk4
NjFDMkVBNjEzRkI0RkZGMDAwNjJBQkIgLyogUmVzb3VyY2VMb2FkVGltaW5nLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2MUMyRUE1MTNGQjRGRkYw
MDA2MkFCQiAvKiBSZXNvdXJjZUxvYWRUaW1pbmcuY3BwICovOyB9OwogCQk4NjI0M0QwMTExQkMz
MUY3MDBDQzAwNkEgLyogSlNBcnJheUJ1ZmZlclZpZXdIZWxwZXIuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2MjQzRDAwMTFCQzMxRjcwMENDMDA2QSAv
KiBKU0FycmF5QnVmZmVyVmlld0hlbHBlci5oICovOyB9OworCQk4NjUxMkVERTE1NEEyQUVGMDBB
OTA0MjYgLyogUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NjUxMkVEQjE1NEEyQUVFMDBBOTA0MjYgLyog
UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5jcHAgKi87IH07CisJCTg2NTEyRURGMTU0QTJBRUYw
MEE5MDQyNiAvKiBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NjUxMkVEQzE1NEEyQUVGMDBBOTA0MjYgLyog
UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5oICovOyB9OwogCQk4NkJFMzQwMDE1MDU4Q0IyMDBD
RTBGRDggLyogUGVyZm9ybWFuY2VFbnRyeS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA4NkJFMzNGQTE1MDU4Q0IyMDBDRTBGRDggLyogUGVyZm9ybWFu
Y2VFbnRyeS5jcHAgKi87IH07CiAJCTg2QkUzNDAxMTUwNThDQjIwMENFMEZEOCAvKiBQZXJmb3Jt
YW5jZUVudHJ5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA4NkJFMzNGQjE1MDU4Q0IyMDBDRTBGRDggLyogUGVyZm9ybWFuY2VFbnRyeS5oICovOyB9Owog
CQk4NkJFMzQwMzE1MDU4Q0IyMDBDRTBGRDggLyogUGVyZm9ybWFuY2VFbnRyeUxpc3QuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODZCRTMzRkQxNTA1
OENCMjAwQ0UwRkQ4IC8qIFBlcmZvcm1hbmNlRW50cnlMaXN0LmNwcCAqLzsgfTsKQEAgLTk5Mjks
NiArOTkzMSw5IEBACiAJCTg2MUMyRUEzMTNGQjRGREQwMDA2MkFCQiAvKiBEb2N1bWVudExvYWRU
aW1pbmcuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRG9jdW1lbnRM
b2FkVGltaW5nLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODYxQzJFQTUxM0ZC
NEZGRjAwMDYyQUJCIC8qIFJlc291cmNlTG9hZFRpbWluZy5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBSZXNvdXJjZUxvYWRUaW1pbmcuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk4NjI0M0QwMDExQkMzMUY3MDBDQzAwNkEgLyogSlNBcnJheUJ1ZmZl
clZpZXdIZWxwZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNBcnJheUJ1
ZmZlclZpZXdIZWxwZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODY1MTJFREIx
NTRBMkFFRTAwQTkwNDI2IC8qIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg2NTEyRURDMTU0QTJBRUYwMEE5MDQy
NiAvKiBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJODY1MTJFREQxNTRBMkFFRjAwQTkwNDI2IC8qIFBlcmZvcm1hbmNlUmVzb3Vy
Y2VUaW1pbmcuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFBlcmZvcm1hbmNlUmVzb3VyY2VU
aW1pbmcuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NkJFMzNGQTE1MDU4Q0Iy
MDBDRTBGRDggLyogUGVyZm9ybWFuY2VFbnRyeS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBQZXJmb3JtYW5jZUVudHJ5LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJODZCRTMzRkIxNTA1OENCMjAwQ0UwRkQ4IC8qIFBlcmZvcm1hbmNlRW50cnkuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGVyZm9ybWFuY2VFbnRyeS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NkJFMzNGQzE1MDU4Q0IyMDBDRTBGRDggLyogUGVy
Zm9ybWFuY2VFbnRyeS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gUGVyZm9ybWFuY2VFbnRy
eS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNTU2NSw2ICsxNTU3MCw5IEBA
CiAJCQkJOEFGNEU1NTIxMURDNUEzNjAwMEVEM0RFIC8qIFBlcmZvcm1hbmNlTmF2aWdhdGlvbi5j
cHAgKi8sCiAJCQkJOEFGNEU1NTMxMURDNUEzNjAwMEVEM0RFIC8qIFBlcmZvcm1hbmNlTmF2aWdh
dGlvbi5oICovLAogCQkJCThBRjRFNTU0MTFEQzVBMzYwMDBFRDNERSAvKiBQZXJmb3JtYW5jZU5h
dmlnYXRpb24uaWRsICovLAorCQkJCTg2NTEyRURCMTU0QTJBRUUwMEE5MDQyNiAvKiBQZXJmb3Jt
YW5jZVJlc291cmNlVGltaW5nLmNwcCAqLywKKwkJCQk4NjUxMkVEQzE1NEEyQUVGMDBBOTA0MjYg
LyogUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5oICovLAorCQkJCTg2NTEyRUREMTU0QTJBRUYw
MEE5MDQyNiAvKiBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmlkbCAqLywKIAkJCQk4QUY0RTU1
ODExREM1QTYzMDAwRUQzREUgLyogUGVyZm9ybWFuY2VUaW1pbmcuY3BwICovLAogCQkJCThBRjRF
NTU5MTFEQzVBNjMwMDBFRDNERSAvKiBQZXJmb3JtYW5jZVRpbWluZy5oICovLAogCQkJCThBRjRF
NTVBMTFEQzVBNjMwMDBFRDNERSAvKiBQZXJmb3JtYW5jZVRpbWluZy5pZGwgKi8sCkBAIC0yNDA4
OCw2ICsyNDA5Niw3IEBACiAJCQkJODZCRTM0MDExNTA1OENCMjAwQ0UwRkQ4IC8qIFBlcmZvcm1h
bmNlRW50cnkuaCBpbiBIZWFkZXJzICovLAogCQkJCTg2QkUzNDA0MTUwNThDQjIwMENFMEZEOCAv
KiBQZXJmb3JtYW5jZUVudHJ5TGlzdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOEFGNEU1NTYxMURD
NUEzNjAwMEVEM0RFIC8qIFBlcmZvcm1hbmNlTmF2aWdhdGlvbi5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJODY1MTJFREYxNTRBMkFFRjAwQTkwNDI2IC8qIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcu
aCBpbiBIZWFkZXJzICovLAogCQkJCThBRjRFNTVDMTFEQzVBNjMwMDBFRDNERSAvKiBQZXJmb3Jt
YW5jZVRpbWluZy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDlENURDMkUwRjQyM0E3MzAwOEYyMEZE
IC8qIFBlcnNwZWN0aXZlVHJhbnNmb3JtT3BlcmF0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQlE
MEZGMkE1RTExRjhDNDVBMDA3RTc0RTAgLyogUGluZ0xvYWRlci5oIGluIEhlYWRlcnMgKi8sCkBA
IC0yNzMxMCw2ICsyNzMxOSw3IEBACiAJCQkJODZCRTM0MDAxNTA1OENCMjAwQ0UwRkQ4IC8qIFBl
cmZvcm1hbmNlRW50cnkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJODZCRTM0MDMxNTA1OENCMjAw
Q0UwRkQ4IC8qIFBlcmZvcm1hbmNlRW50cnlMaXN0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCThB
RjRFNTU1MTFEQzVBMzYwMDBFRDNERSAvKiBQZXJmb3JtYW5jZU5hdmlnYXRpb24uY3BwIGluIFNv
dXJjZXMgKi8sCisJCQkJODY1MTJFREUxNTRBMkFFRjAwQTkwNDI2IC8qIFBlcmZvcm1hbmNlUmVz
b3VyY2VUaW1pbmcuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOEFGNEU1NUIxMURDNUE2MzAwMEVE
M0RFIC8qIFBlcmZvcm1hbmNlVGltaW5nLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQ5RDVEQzJE
MEY0MjNBNzMwMDhGMjBGRCAvKiBQZXJzcGVjdGl2ZVRyYW5zZm9ybU9wZXJhdGlvbi5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQlEMEZGMkE1RDExRjhDNDVBMDA3RTc0RTAgLyogUGluZ0xvYWRlci5j
cHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4
L2N1c3RvbS9WOFBlcmZvcm1hbmNlRW50cnlDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvY3VzdG9tL1Y4UGVyZm9ybWFuY2VFbnRyeUN1c3RvbS5jcHAKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NzRkZjljNzY0ZGMxNTZkODRkOTE1OGU3OWM1ZGQyYmFhMGJiMzZkOQotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFBlcmZvcm1hbmNlRW50cnlD
dXN0b20uY3BwCkBAIC0wLDAgKzEsNjEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29v
Z2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICog
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQor
ICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVp
dGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29u
dHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJp
dmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVu
IHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09Q
WVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAi
UGVyZm9ybWFuY2VFbnRyeS5oIgorCisjaWYgRU5BQkxFKFBFUkZPUk1BTkNFX1RJTUVMSU5FKQor
CisjaW5jbHVkZSAiUGVyZm9ybWFuY2UuaCIKKyNpbmNsdWRlICJQZXJmb3JtYW5jZVJlc291cmNl
VGltaW5nLmgiCisKKyNpbmNsdWRlICJWOFBlcmZvcm1hbmNlRW50cnkuaCIKKyNpbmNsdWRlICJW
OFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaCIKKworI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4K
KworbmFtZXNwYWNlIFdlYkNvcmUgeworCit2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChQZXJm
b3JtYW5jZUVudHJ5KiBpbXBsLCB2ODo6SXNvbGF0ZSogaXNvbGF0ZSkKK3sKKyAgICBpZiAoIWlt
cGwpCisgICAgICAgIHJldHVybiB2ODo6TnVsbCgpOworCisjaWYgRU5BQkxFKFJFU09VUkNFX1RJ
TUlORykKKyAgICBpZiAoaW1wbC0+aXNSZXNvdXJjZSgpKQorICAgICAgICByZXR1cm4gdG9WOChz
dGF0aWNfY2FzdDxQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nKj4oaW1wbCksIGlzb2xhdGUpOwor
I2VuZGlmCisKKyAgICByZXR1cm4gVjhQZXJmb3JtYW5jZUVudHJ5Ojp3cmFwKGltcGwpOworfQor
Cit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoUEVSRk9STUFOQ0Vf
VElNRUxJTkUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5oIGIv
U291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaAppbmRleCBkOGY1ZmRiMGE3YTFjMzliY2Ni
Njk1NGFjOWRiZTdkYWQ4YThjZDI2Li4zMDU2ZDRhMzk5MTgyMmFiNjQ1MGI5NzMyODIyYmE5YmY5
OGM1ZWE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgKQEAgLTIyNyw2ICsyMjcsOCBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgICAgXAogICAgIG1hY3JvKHdlYmtpdG5ldHdvcmtpbmZvY2hhbmdl
KSBcCiAgICAgXAorICAgIG1hY3JvKHdlYmtpdHJlc291cmNldGltaW5nYnVmZmVyZnVsbCkgXAor
ICAgIFwKIAogLy8gZW5kIG9mIERPTV9FVkVOVF9OQU1FU19GT1JfRUFDSAogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXRGYWN0b3J5LmluIGIvU291cmNlL1dlYkNv
cmUvZG9tL0V2ZW50VGFyZ2V0RmFjdG9yeS5pbgppbmRleCBmMDFiODExYWJhOWI4MDZmYzIxMjVm
NzBmN2I0MzExNzNiM2JiNWIwLi4zZWM2ZGI5NDQ2ZDI1OTYzMTYyOWFjNzNjZTllZjBlNDFmNGEz
NTg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXRGYWN0b3J5Lmlu
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldEZhY3RvcnkuaW4KQEAgLTIyLDYg
KzIyLDcgQEAgTmV0d29ya0luZm9Db25uZWN0aW9uIGNvbmRpdGlvbmFsPU5FVFdPUktfSU5GTwog
Tm9kZQogTm90aWZpY2F0aW9uIGNvbmRpdGlvbmFsPU5PVElGSUNBVElPTlN8TEVHQUNZX05PVElG
SUNBVElPTlMKIFBlZXJDb25uZWN0aW9uMDAgY29uZGl0aW9uYWw9TUVESUFfU1RSRUFNCitQZXJm
b3JtYW5jZSBjb25kaXRpb25hbD1XRUJfVElNSU5HCiBTaGFyZWRXb3JrZXIgY29uZGl0aW9uYWw9
U0hBUkVEX1dPUktFUlMKIFNoYXJlZFdvcmtlckNvbnRleHQgY29uZGl0aW9uYWw9U0hBUkVEX1dP
UktFUlMKIFNwZWVjaFJlY29nbml0aW9uIGNvbmRpdGlvbmFsPVNDUklQVEVEX1NQRUVDSApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1BlcmZvcm1hbmNlLmNwcAppbmRleCA1YmYyM2I2ZGVhMTJiMDc4YTEwNmZkYzE4
ZjUyZDI1NzM2OGQ0ZTI4Li45MDMzOTMwMjE5ZTYwNDExNTE0Y2NkZTU2ZjY2YmU2Yjg1ODhkNTE5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmNwcApAQCAtMzQsOCArMzQsMTEgQEAKICNp
bmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkRvY3VtZW50TG9hZGVyLmgiCiAjaW5jbHVk
ZSAiTWVtb3J5SW5mby5oIgorI2luY2x1ZGUgIlBlcmZvcm1hbmNlRW50cnkuaCIKICNpbmNsdWRl
ICJQZXJmb3JtYW5jZU5hdmlnYXRpb24uaCIKKyNpbmNsdWRlICJQZXJmb3JtYW5jZVJlc291cmNl
VGltaW5nLmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VUaW1pbmcuaCIKKyNpbmNsdWRlICJSZXNv
dXJjZVJlc3BvbnNlLmgiCiAjaW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+CiAKICNpZiBFTkFC
TEUoV0VCX1RJTUlORykKQEAgLTQ5LDYgKzUyLDIyIEBAIFBlcmZvcm1hbmNlOjpQZXJmb3JtYW5j
ZShGcmFtZSogZnJhbWUpCiB7CiB9CiAKK1BlcmZvcm1hbmNlOjp+UGVyZm9ybWFuY2UoKQorewor
fQorCitjb25zdCBBdG9taWNTdHJpbmcmIFBlcmZvcm1hbmNlOjppbnRlcmZhY2VOYW1lKCkgY29u
c3QKK3sKKyAgICByZXR1cm4gZXZlbnROYW1lcygpLmludGVyZmFjZUZvclBlcmZvcm1hbmNlOwor
fQorCitTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBQZXJmb3JtYW5jZTo6c2NyaXB0RXhlY3V0aW9u
Q29udGV4dCgpIGNvbnN0Cit7CisgICAgaWYgKCFmcmFtZSgpKQorICAgICAgICByZXR1cm4gMDsK
KyAgICByZXR1cm4gZnJhbWUoKS0+ZG9jdW1lbnQoKTsKK30KKwogUGFzc1JlZlB0cjxNZW1vcnlJ
bmZvPiBQZXJmb3JtYW5jZTo6bWVtb3J5KCkgY29uc3QKIHsKICAgICByZXR1cm4gTWVtb3J5SW5m
bzo6Y3JlYXRlKG1fZnJhbWUpOwpAQCAtNzUsMjMgKzk0LDc3IEBAIFBlcmZvcm1hbmNlVGltaW5n
KiBQZXJmb3JtYW5jZTo6dGltaW5nKCkgY29uc3QKIFBhc3NSZWZQdHI8UGVyZm9ybWFuY2VFbnRy
eUxpc3Q+IFBlcmZvcm1hbmNlOjp3ZWJraXRHZXRFbnRyaWVzKCkgY29uc3QKIHsKICAgICBSZWZQ
dHI8UGVyZm9ybWFuY2VFbnRyeUxpc3Q+IGVudHJpZXMgPSBQZXJmb3JtYW5jZUVudHJ5TGlzdDo6
Y3JlYXRlKCk7CisKKyNpZiBFTkFCTEUoUkVTT1VSQ0VfVElNSU5HKQorICAgIGVudHJpZXMtPmFw
cGVuZEFsbChtX3Jlc291cmNlVGltaW5nQnVmZmVyKTsKKyNlbmRpZiAvLyBFTkFCTEUoUkVTT1VS
Q0VfVElNSU5HKQorCiAgICAgcmV0dXJuIGVudHJpZXM7CiB9CiAKLVBhc3NSZWZQdHI8UGVyZm9y
bWFuY2VFbnRyeUxpc3Q+IFBlcmZvcm1hbmNlOjp3ZWJraXRHZXRFbnRyaWVzQnlUeXBlKGNvbnN0
IFN0cmluZyYpCitQYXNzUmVmUHRyPFBlcmZvcm1hbmNlRW50cnlMaXN0PiBQZXJmb3JtYW5jZTo6
d2Via2l0R2V0RW50cmllc0J5VHlwZShjb25zdCBTdHJpbmcmIGVudHJ5VHlwZSkKIHsKICAgICBS
ZWZQdHI8UGVyZm9ybWFuY2VFbnRyeUxpc3Q+IGVudHJpZXMgPSBQZXJmb3JtYW5jZUVudHJ5TGlz
dDo6Y3JlYXRlKCk7CisKKyNpZiBFTkFCTEUoUkVTT1VSQ0VfVElNSU5HKQorICAgIGlmIChlcXVh
bElnbm9yaW5nQ2FzZShlbnRyeVR5cGUsICJyZXNvdXJjZSIpKQorICAgICAgICBmb3IgKFZlY3Rv
cjxSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeT4gPjo6Y29uc3RfaXRlcmF0b3IgcmVzb3VyY2UgPSBt
X3Jlc291cmNlVGltaW5nQnVmZmVyLmJlZ2luKCk7IHJlc291cmNlICE9IG1fcmVzb3VyY2VUaW1p
bmdCdWZmZXIuZW5kKCk7ICsrcmVzb3VyY2UpCisgICAgICAgICAgICBlbnRyaWVzLT5hcHBlbmQo
KnJlc291cmNlKTsKKyNlbmRpZiAvLyBFTkFCTEUoUkVTT1VSQ0VfVElNSU5HKQorCiAgICAgcmV0
dXJuIGVudHJpZXM7CiB9CiAKLVBhc3NSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeUxpc3Q+IFBlcmZv
cm1hbmNlOjp3ZWJraXRHZXRFbnRyaWVzQnlOYW1lKGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmlu
ZyYpCitQYXNzUmVmUHRyPFBlcmZvcm1hbmNlRW50cnlMaXN0PiBQZXJmb3JtYW5jZTo6d2Via2l0
R2V0RW50cmllc0J5TmFtZShjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgZW50cnlU
eXBlKQogewogICAgIFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5TGlzdD4gZW50cmllcyA9IFBlcmZv
cm1hbmNlRW50cnlMaXN0OjpjcmVhdGUoKTsKKworI2lmIEVOQUJMRShSRVNPVVJDRV9USU1JTkcp
CisgICAgaWYgKGVudHJ5VHlwZS5pc051bGwoKSB8fCBlcXVhbElnbm9yaW5nQ2FzZShlbnRyeVR5
cGUsICJyZXNvdXJjZSIpKQorICAgICAgICBmb3IgKFZlY3RvcjxSZWZQdHI8UGVyZm9ybWFuY2VF
bnRyeT4gPjo6Y29uc3RfaXRlcmF0b3IgcmVzb3VyY2UgPSBtX3Jlc291cmNlVGltaW5nQnVmZmVy
LmJlZ2luKCk7IHJlc291cmNlICE9IG1fcmVzb3VyY2VUaW1pbmdCdWZmZXIuZW5kKCk7ICsrcmVz
b3VyY2UpCisgICAgICAgICAgICBpZiAoKCpyZXNvdXJjZSktPm5hbWUoKSA9PSBuYW1lKQorICAg
ICAgICAgICAgICAgIGVudHJpZXMtPmFwcGVuZCgqcmVzb3VyY2UpOworI2VuZGlmIC8vIEVOQUJM
RShSRVNPVVJDRV9USU1JTkcpCisKICAgICByZXR1cm4gZW50cmllczsKIH0KIAogI2VuZGlmIC8v
IEVOQUJMRShQRVJGT1JNQU5DRV9USU1FTElORSkKIAorI2lmIEVOQUJMRShSRVNPVVJDRV9USU1J
TkcpCisKK3ZvaWQgUGVyZm9ybWFuY2U6OndlYmtpdENsZWFyUmVzb3VyY2VUaW1pbmdzKCkKK3sK
KyAgICBtX3Jlc291cmNlVGltaW5nQnVmZmVyLmNsZWFyKCk7Cit9CisKK3ZvaWQgUGVyZm9ybWFu
Y2U6OndlYmtpdFNldFJlc291cmNlVGltaW5nQnVmZmVyU2l6ZSh1bnNpZ25lZCBpbnQpCit7Cisg
ICAgLy8gRklYTUU6IEltcGxlbWVudCB0aGlzLgorfQorCit2b2lkIFBlcmZvcm1hbmNlOjphZGRS
ZXNvdXJjZVRpbWluZyhjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IFJlc291
cmNlUmVzcG9uc2UmIHJlc3BvbnNlLCBkb3VibGUgZmluaXNoVGltZSwgRG9jdW1lbnQqIHJlcXVl
c3RpbmdEb2N1bWVudCkKK3sKKyAgICBpZiAoIXJlc3BvbnNlLnJlc291cmNlTG9hZFRpbWluZygp
KQorICAgICAgICByZXR1cm47CisKKyAgICBSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeT4gZW50cnkg
PSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpjcmVhdGUocmVxdWVzdCwgcmVzcG9uc2UsIGZp
bmlzaFRpbWUsIHJlcXVlc3RpbmdEb2N1bWVudCk7CisgICAgLy8gRklYTUU6IE5lZWQgdG8gZW5m
b3JjZSBidWZmZXIgbGltaXRzLgorICAgIG1fcmVzb3VyY2VUaW1pbmdCdWZmZXIuYXBwZW5kKGVu
dHJ5KTsKK30KKworI2VuZGlmIC8vIEVOQUJMRShSRVNPVVJDRV9USU1JTkcpCisKK0V2ZW50VGFy
Z2V0RGF0YSogUGVyZm9ybWFuY2U6OmV2ZW50VGFyZ2V0RGF0YSgpCit7CisgICAgcmV0dXJuICZt
X2V2ZW50VGFyZ2V0RGF0YTsKK30KKworRXZlbnRUYXJnZXREYXRhKiBQZXJmb3JtYW5jZTo6ZW5z
dXJlRXZlbnRUYXJnZXREYXRhKCkKK3sKKyAgICByZXR1cm4gJm1fZXZlbnRUYXJnZXREYXRhOwor
fQorCiBkb3VibGUgUGVyZm9ybWFuY2U6OndlYmtpdE5vdygpIGNvbnN0CiB7CiAgICAgcmV0dXJu
IDEwMDAuMCAqIG1fZnJhbWUtPmRvY3VtZW50KCktPmxvYWRlcigpLT50aW1pbmcoKS0+Y29udmVy
dE1vbm90b25pY1RpbWVUb1plcm9CYXNlZERvY3VtZW50VGltZShtb25vdG9uaWNhbGx5SW5jcmVh
c2luZ1RpbWUoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNl
LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmgKaW5kZXggYWE0Yzc5MjgyNTdl
ZWI0MTQ2NjU1ZDhkODI5ZDc2Y2Y3OTMzMWRmOC4uZGVhZTBhZWMwY2Q3YjE2NGE0ODE1YTE5MWQy
ODJjY2NlNTgyNDFhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5j
ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuaApAQCAtMzQsNiArMzQs
NyBAQAogI2lmIEVOQUJMRShXRUJfVElNSU5HKQogCiAjaW5jbHVkZSAiRE9NV2luZG93UHJvcGVy
dHkuaCIKKyNpbmNsdWRlICJFdmVudFRhcmdldC5oIgogI2luY2x1ZGUgIk1lbW9yeUluZm8uaCIK
ICNpbmNsdWRlICJQZXJmb3JtYW5jZUVudHJ5TGlzdC5oIgogI2luY2x1ZGUgIlBlcmZvcm1hbmNl
TmF2aWdhdGlvbi5oIgpAQCAtNDUsOSArNDYsMTcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
Ci1jbGFzcyBQZXJmb3JtYW5jZSA6IHB1YmxpYyBSZWZDb3VudGVkPFBlcmZvcm1hbmNlPiwgcHVi
bGljIERPTVdpbmRvd1Byb3BlcnR5IHsKK2NsYXNzIERvY3VtZW50OworY2xhc3MgUmVzb3VyY2VS
ZXF1ZXN0OworY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKKworY2xhc3MgUGVyZm9ybWFuY2UgOiBw
dWJsaWMgUmVmQ291bnRlZDxQZXJmb3JtYW5jZT4sIHB1YmxpYyBET01XaW5kb3dQcm9wZXJ0eSwg
cHVibGljIEV2ZW50VGFyZ2V0IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxQZXJm
b3JtYW5jZT4gY3JlYXRlKEZyYW1lKiBmcmFtZSkgeyByZXR1cm4gYWRvcHRSZWYobmV3IFBlcmZv
cm1hbmNlKGZyYW1lKSk7IH0KKyAgICB+UGVyZm9ybWFuY2UoKTsKKworICAgIHZpcnR1YWwgY29u
c3QgQXRvbWljU3RyaW5nJiBpbnRlcmZhY2VOYW1lKCkgY29uc3Q7CisgICAgdmlydHVhbCBTY3Jp
cHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkgY29uc3Q7CiAKICAg
ICBQYXNzUmVmUHRyPE1lbW9yeUluZm8+IG1lbW9yeSgpIGNvbnN0OwogICAgIFBlcmZvcm1hbmNl
TmF2aWdhdGlvbiogbmF2aWdhdGlvbigpIGNvbnN0OwpAQCAtNjAsMTEgKzY5LDM1IEBAIHB1Ymxp
YzoKICAgICBQYXNzUmVmUHRyPFBlcmZvcm1hbmNlRW50cnlMaXN0PiB3ZWJraXRHZXRFbnRyaWVz
QnlOYW1lKGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBlbnRyeVR5cGUpOwogI2Vu
ZGlmCiAKKyNpZiBFTkFCTEUoUkVTT1VSQ0VfVElNSU5HKQorICAgIHZvaWQgd2Via2l0Q2xlYXJS
ZXNvdXJjZVRpbWluZ3MoKTsKKyAgICB2b2lkIHdlYmtpdFNldFJlc291cmNlVGltaW5nQnVmZmVy
U2l6ZSh1bnNpZ25lZCBpbnQpOworCisgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5F
Uih3ZWJraXRyZXNvdXJjZXRpbWluZ2J1ZmZlcmZ1bGwpOworCisgICAgdm9pZCBhZGRSZXNvdXJj
ZVRpbWluZyhjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiwg
ZG91YmxlIGZpbmlzaFRpbWUsIERvY3VtZW50Kik7CisjZW5kaWYKKworICAgIHVzaW5nIFJlZkNv
dW50ZWQ8UGVyZm9ybWFuY2U+OjpyZWY7CisgICAgdXNpbmcgUmVmQ291bnRlZDxQZXJmb3JtYW5j
ZT46OmRlcmVmOworCiBwcml2YXRlOgogICAgIGV4cGxpY2l0IFBlcmZvcm1hbmNlKEZyYW1lKik7
CiAKKyAgICB2aXJ0dWFsIHZvaWQgcmVmRXZlbnRUYXJnZXQoKSB7IHJlZigpOyB9CisgICAgdmly
dHVhbCB2b2lkIGRlcmVmRXZlbnRUYXJnZXQoKSB7IGRlcmVmKCk7IH0KKyAgICB2aXJ0dWFsIEV2
ZW50VGFyZ2V0RGF0YSogZXZlbnRUYXJnZXREYXRhKCk7CisgICAgdmlydHVhbCBFdmVudFRhcmdl
dERhdGEqIGVuc3VyZUV2ZW50VGFyZ2V0RGF0YSgpOworCisgICAgRXZlbnRUYXJnZXREYXRhIG1f
ZXZlbnRUYXJnZXREYXRhOworICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQgKm1fc2NyaXB0RXhl
Y3V0aW9uQ29udGV4dDsKKwogICAgIG11dGFibGUgUmVmUHRyPFBlcmZvcm1hbmNlTmF2aWdhdGlv
bj4gbV9uYXZpZ2F0aW9uOwogICAgIG11dGFibGUgUmVmUHRyPFBlcmZvcm1hbmNlVGltaW5nPiBt
X3RpbWluZzsKKworI2lmIEVOQUJMRShSRVNPVVJDRV9USU1JTkcpCisgICAgVmVjdG9yPFJlZlB0
cjxQZXJmb3JtYW5jZUVudHJ5PiA+IG1fcmVzb3VyY2VUaW1pbmdCdWZmZXI7CisjZW5kaWYKIH07
CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuaWRsIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5pZGwKaW5kZXggNjYzYjc0MjQ3NDk4YmUw
ODZjM2MyOWJjMzcyZWJjYzJiNmE0ZDQ5Yy4uZmM5ZmZkZjFmN2RmMGIzNDU4ZDYwNWM4YzdlZjdm
MWZjNWU4NzY0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5p
ZGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5pZGwKQEAgLTMzLDYgKzMz
LDcgQEAgbW9kdWxlIHdpbmRvdyB7CiAgICAgLy8gU2VlOiBodHRwOi8vZGV2LnczLm9yZy8yMDA2
L3dlYmFwaS9XZWJUaW1pbmcvCiAgICAgaW50ZXJmYWNlIFsKICAgICAgICAgQ29uZGl0aW9uYWw9
V0VCX1RJTUlORywKKyAgICAgICAgRXZlbnRUYXJnZXQsCiAgICAgICAgIE9taXRDb25zdHJ1Y3Rv
cgogICAgIF0gUGVyZm9ybWFuY2UgewogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgUGVyZm9y
bWFuY2VOYXZpZ2F0aW9uIG5hdmlnYXRpb247CkBAIC00NCw2ICs0NSwxMyBAQCBtb2R1bGUgd2lu
ZG93IHsKICAgICAgICAgUGVyZm9ybWFuY2VFbnRyeUxpc3Qgd2Via2l0R2V0RW50cmllc0J5VHlw
ZShpbiBET01TdHJpbmcgZW50cnlUeXBlKTsKICAgICAgICAgUGVyZm9ybWFuY2VFbnRyeUxpc3Qg
d2Via2l0R2V0RW50cmllc0J5TmFtZShpbiBET01TdHJpbmcgbmFtZSwgaW4gW09wdGlvbmFsPURl
ZmF1bHRJc051bGxTdHJpbmddIERPTVN0cmluZyBlbnRyeVR5cGUpOwogI2VuZGlmCisKKyNpZiBk
ZWZpbmVkKEVOQUJMRV9SRVNPVVJDRV9USU1JTkcpICYmIEVOQUJMRV9SRVNPVVJDRV9USU1JTkcK
KyAgICAgICAgdm9pZCB3ZWJraXRDbGVhclJlc291cmNlVGltaW5ncygpOworICAgICAgICB2b2lk
IHdlYmtpdFNldFJlc291cmNlVGltaW5nQnVmZmVyU2l6ZShpbiB1bnNpZ25lZCBsb25nIG1heFNp
emUpOworCisgICAgICAgIGF0dHJpYnV0ZSBFdmVudExpc3RlbmVyIG9ud2Via2l0cmVzb3VyY2V0
aW1pbmdidWZmZXJmdWxsOworI2VuZGlmCiAgICAgICAgIC8vIFNlZSBodHRwOi8vd3d3LnczLm9y
Zy9UUi9oci10aW1lLyBmb3IgZGV0YWlscy4KICAgICAgICAgZG91YmxlIHdlYmtpdE5vdygpOwog
ICAgIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50cnku
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmNwcAppbmRleCBhYzUy
M2M2ZGM2MTc4OTgyY2E1ZWVlNzIyYTkyZTBiOGJjNDhmMTkyLi5hZDY5NTQ3MDBlNjcyNGZiMTNh
MDUxMWQyMDExOTM3NDFmOTUyYmE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bl
cmZvcm1hbmNlRW50cnkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VF
bnRyeS5jcHAKQEAgLTQzLDYgKzQzLDEwIEBAIFBlcmZvcm1hbmNlRW50cnk6OlBlcmZvcm1hbmNl
RW50cnkoY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGVudHJ5VHlwZSwKIHsKIH0K
IAorUGVyZm9ybWFuY2VFbnRyeTo6flBlcmZvcm1hbmNlRW50cnkoKQoreworfQorCiBTdHJpbmcg
UGVyZm9ybWFuY2VFbnRyeTo6bmFtZSgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIG1fbmFtZTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeS5oIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmgKaW5kZXggODY2NmU0MzFkYWUzMWUwZTMy
ZGZlYzIyOTY5ZGYzNzI1OWI5MTU5MS4uNmQ5NjcyMTk3NTNhNGI1YWM3MmRjNGM0NDRjYjBmMWIz
ZWYyOTJjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmgKQEAgLTQyLDEx
ICs0MiwxNSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFBlcmZvcm1hbmNlRW50cnkg
OiBwdWJsaWMgUmVmQ291bnRlZDxQZXJmb3JtYW5jZUVudHJ5PiB7CiBwdWJsaWM6CisgICAgdmly
dHVhbCB+UGVyZm9ybWFuY2VFbnRyeSgpOworCiAgICAgU3RyaW5nIG5hbWUoKSBjb25zdDsKICAg
ICBTdHJpbmcgZW50cnlUeXBlKCkgY29uc3Q7CiAgICAgZG91YmxlIHN0YXJ0VGltZSgpIGNvbnN0
OwogICAgIGRvdWJsZSBkdXJhdGlvbigpIGNvbnN0OwogCisgICAgdmlydHVhbCBib29sIGlzUmVz
b3VyY2UoKSB7IHJldHVybiBmYWxzZTsgfQorCiBwcm90ZWN0ZWQ6CiAgICAgUGVyZm9ybWFuY2VF
bnRyeShjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgZW50cnlUeXBlLCBkb3VibGUg
c3RhcnRUaW1lLCBkb3VibGUgZHVyYXRpb24pOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1BlcmZvcm1hbmNlRW50cnkuaWRsIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3Jt
YW5jZUVudHJ5LmlkbAppbmRleCBhNzg4YmQ5YzZlNDI3YmNkMDZjMGFkNDU2MjU5NGNlYzMxM2Vl
YjRkLi45ZTEwZmUwYmYxNzUzMTlmMjJjMzdkMjYwM2EwZTgyZDk4ZjM4MzJmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50cnkuaWRsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeS5pZGwKQEAgLTM0LDYgKzM0LDcgQEAgbW9kdWxl
IHdpbmRvdyB7CiAgICAgaW50ZXJmYWNlIFsKICAgICAgICAgQ29uZGl0aW9uYWw9V0VCX1RJTUlO
RywKICAgICAgICAgQ29uZGl0aW9uYWw9UEVSRk9STUFOQ0VfVElNRUxJTkUsCisgICAgICAgIEN1
c3RvbVRvSlNPYmplY3QsCiAgICAgICAgIE9taXRDb25zdHJ1Y3RvcgogICAgIF0gUGVyZm9ybWFu
Y2VFbnRyeSB7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgbmFtZTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeUxpc3QuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5TGlzdC5jcHAKaW5kZXggYTRlMDlh
MzE5M2Y1OTk3OWE4YzFkOWQ1MzBmY2YyZDc1YzQ3MjU5Ny4uOWYyNzNiYzQ0OWI0MWI0MjU1NzM0
MTE5MGRiZmE2OGU0MmI0ZjY1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJm
b3JtYW5jZUVudHJ5TGlzdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5j
ZUVudHJ5TGlzdC5jcHAKQEAgLTYyLDYgKzYyLDExIEBAIHZvaWQgUGVyZm9ybWFuY2VFbnRyeUxp
c3Q6OmFwcGVuZChQYXNzUmVmUHRyPFBlcmZvcm1hbmNlRW50cnk+IGVudHJ5KQogICAgIG1fZW50
cmllcy5hcHBlbmQoZW50cnkpOwogfQogCit2b2lkIFBlcmZvcm1hbmNlRW50cnlMaXN0OjphcHBl
bmRBbGwoY29uc3QgVmVjdG9yPFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5PiA+JiBlbnRyaWVzKQor
eworICAgIG1fZW50cmllcy5hcHBlbmQoZW50cmllcyk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShXRUJfVElNSU5HKSAmJiBFTkFCTEUoUEVSRk9STUFO
Q0VfVElNRUxJTkUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNl
RW50cnlMaXN0LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50cnlMaXN0LmgK
aW5kZXggMGVjZjliYTNiZTU3NWQ3MmEyNDAzMTMzOTA0ZWU4NzhhMDE4ZDRhZC4uOGY3NjI2N2Ux
ZDJhMTA0NGM1NzhkZDE2ZTdhYjE4ZDJiM2E3MWZhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5TGlzdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UGVyZm9ybWFuY2VFbnRyeUxpc3QuaApAQCAtNTEsNiArNTEsNyBAQCBwdWJsaWM6CiAgICAgUGVy
Zm9ybWFuY2VFbnRyeSogaXRlbSh1bnNpZ25lZCBpbmRleCk7CiAKICAgICB2b2lkIGFwcGVuZChQ
YXNzUmVmUHRyPFBlcmZvcm1hbmNlRW50cnk+KTsKKyAgICB2b2lkIGFwcGVuZEFsbChjb25zdCBW
ZWN0b3I8UmVmUHRyPFBlcmZvcm1hbmNlRW50cnk+ID4mKTsKIAogcHJpdmF0ZToKICAgICBQZXJm
b3JtYW5jZUVudHJ5TGlzdCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJm
b3JtYW5jZVJlc291cmNlVGltaW5nLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFu
Y2VSZXNvdXJjZVRpbWluZy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGE3YmFhZmRiZGY3YjBmMDQ5NjllNDEz
OTBkZTQzN2EyMDNiYmVhMwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5jcHAKQEAgLTAsMCArMSwxODcgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJp
YnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhl
IG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3Ig
cHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBz
cGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICog
IkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAi
Y29uZmlnLmgiCisjaW5jbHVkZSAiUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5oIgorCisjaWYg
RU5BQkxFKFJFU09VUkNFX1RJTUlORykKKworI2luY2x1ZGUgIkRvY3VtZW50LmgiCisjaW5jbHVk
ZSAiRG9jdW1lbnRMb2FkVGltaW5nLmgiCisjaW5jbHVkZSAiRG9jdW1lbnRMb2FkZXIuaCIKKyNp
bmNsdWRlICJLVVJMLmgiCisjaW5jbHVkZSAiUmVzb3VyY2VSZXF1ZXN0LmgiCisjaW5jbHVkZSAi
UmVzb3VyY2VSZXNwb25zZS5oIgorI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCisjaW5jbHVk
ZSA8d3RmL1ZlY3Rvci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0YXRpYyBTdHJpbmcg
dG9QZXJmb3JtYW5jZUluaXRpYXRvclR5cGUoUmVzb3VyY2VSZXF1ZXN0OjpJbml0aWF0b3JUeXBl
IHR5cGUpCit7CisgICAgc3dpdGNoICh0eXBlKSB7CisgICAgY2FzZSBSZXNvdXJjZVJlcXVlc3Q6
OkluaXRpYXRvcklzQ1NTOgorICAgICAgICByZXR1cm4gImNzcyI7CisgICAgY2FzZSBSZXNvdXJj
ZVJlcXVlc3Q6OkluaXRpYXRvcklzRW1iZWRFbGVtZW50OgorICAgICAgICByZXR1cm4gImVtYmVk
IjsKKyAgICBjYXNlIFJlc291cmNlUmVxdWVzdDo6SW5pdGlhdG9ySXNJbWFnZUVsZW1lbnQ6Cisg
ICAgICAgIHJldHVybiAiaW1nIjsKKyAgICBjYXNlIFJlc291cmNlUmVxdWVzdDo6SW5pdGlhdG9y
SXNMaW5rRWxlbWVudDoKKyAgICAgICAgcmV0dXJuICJsaW5rIjsKKyAgICBjYXNlIFJlc291cmNl
UmVxdWVzdDo6SW5pdGlhdG9ySXNPYmplY3RFbGVtZW50OgorICAgICAgICByZXR1cm4gIm9iamVj
dCI7CisgICAgY2FzZSBSZXNvdXJjZVJlcXVlc3Q6OkluaXRpYXRvcklzU2NyaXB0RWxlbWVudDoK
KyAgICAgICAgcmV0dXJuICJzY3JpcHQiOworICAgIGNhc2UgUmVzb3VyY2VSZXF1ZXN0OjpJbml0
aWF0b3JJc1N1YkRvY3VtZW50OgorICAgICAgICByZXR1cm4gInN1YmRvY3VtZW50IjsKKyAgICBj
YXNlIFJlc291cmNlUmVxdWVzdDo6SW5pdGlhdG9ySXNTVkc6CisgICAgICAgIHJldHVybiAic3Zn
IjsKKyAgICBjYXNlIFJlc291cmNlUmVxdWVzdDo6SW5pdGlhdG9ySXNYSFI6CisgICAgICAgIHJl
dHVybiAieG1saHR0cHJlcXVlc3QiOworICAgIGNhc2UgUmVzb3VyY2VSZXF1ZXN0OjpJbml0aWF0
b3JJc1Vua25vd246CisgICAgY2FzZSBSZXNvdXJjZVJlcXVlc3Q6OkluaXRpYXRvcklzTWFpbkRv
Y3VtZW50OgorICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgcmV0dXJuICJv
dGhlciI7CisgICAgfQorICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiAib3Ro
ZXIiOworfQorCitQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpQZXJmb3JtYW5jZVJlc291cmNl
VGltaW5nKGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgUmVzb3VyY2VSZXNw
b25zZSYgcmVzcG9uc2UsIGRvdWJsZSBmaW5pc2hUaW1lLCBEb2N1bWVudCogcmVxdWVzdGluZ0Rv
Y3VtZW50KQorICAgIDogUGVyZm9ybWFuY2VFbnRyeShyZXF1ZXN0LnVybCgpLnN0cmluZygpLCAi
cmVzb3VyY2UiLCByZXNwb25zZS5yZXNvdXJjZUxvYWRUaW1pbmcoKS0+cmVxdWVzdFRpbWUsIGZp
bmlzaFRpbWUpCisgICAgLCBtX2luaXRpYXRvclR5cGUodG9QZXJmb3JtYW5jZUluaXRpYXRvclR5
cGUocmVxdWVzdC5pbml0aWF0b3JUeXBlKCkpKQorICAgICwgbV90aW1pbmcocmVzcG9uc2UucmVz
b3VyY2VMb2FkVGltaW5nKCkpCisgICAgLCBtX2ZpbmlzaFRpbWUoZmluaXNoVGltZSkKKyAgICAs
IG1fcmVxdWVzdGluZ0RvY3VtZW50KHJlcXVlc3RpbmdEb2N1bWVudCkKK3sKK30KKworUGVyZm9y
bWFuY2VSZXNvdXJjZVRpbWluZzo6flBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcoKQoreworfQor
CitTdHJpbmcgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6aW5pdGlhdG9yVHlwZSgpIGNvbnN0
Cit7CisgICAgcmV0dXJuIG1faW5pdGlhdG9yVHlwZTsKK30KKworLy8gRklYTUU6IE5lZWQgdG8g
ZW5mb3JjZSBzYW1lLW9yaWdpbiBwb2xpY3kgb24gdGhlc2UuCisKK2RvdWJsZSBQZXJmb3JtYW5j
ZVJlc291cmNlVGltaW5nOjpyZWRpcmVjdFN0YXJ0KCkgY29uc3QKK3sKKyAgICAvLyBGSVhNRTog
TmVlZCB0byB0cmFjayBhbmQgcmVwb3J0IHJlZGlyZWN0cyBmb3IgcmVzb3VyY2VzLgorICAgIHJl
dHVybiAwOworfQorCitkb3VibGUgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6cmVkaXJlY3RF
bmQoKSBjb25zdAoreworICAgIHJldHVybiAwOworfQorCitkb3VibGUgUGVyZm9ybWFuY2VSZXNv
dXJjZVRpbWluZzo6ZmV0Y2hTdGFydCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1vbm90b25pY1Rp
bWVUb0RvY3VtZW50TWlsbGlzZWNvbmRzKG1fdGltaW5nLT5yZXF1ZXN0VGltZSk7Cit9CisKK2Rv
dWJsZSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpkb21haW5Mb29rdXBTdGFydCgpIGNvbnN0
Cit7CisgICAgaWYgKG1fdGltaW5nLT5kbnNTdGFydCA8IDApCisgICAgICAgIHJldHVybiBmZXRj
aFN0YXJ0KCk7CisKKyAgICByZXR1cm4gcmVzb3VyY2VUaW1lVG9Eb2N1bWVudE1pbGxpc2Vjb25k
cyhtX3RpbWluZy0+ZG5zU3RhcnQpOworfQorCitkb3VibGUgUGVyZm9ybWFuY2VSZXNvdXJjZVRp
bWluZzo6ZG9tYWluTG9va3VwRW5kKCkgY29uc3QKK3sKKyAgICBpZiAobV90aW1pbmctPmRuc0Vu
ZCA8IDApCisgICAgICAgIHJldHVybiBkb21haW5Mb29rdXBTdGFydCgpOworCisgICAgcmV0dXJu
IHJlc291cmNlVGltZVRvRG9jdW1lbnRNaWxsaXNlY29uZHMobV90aW1pbmctPmRuc0VuZCk7Cit9
CisKK2RvdWJsZSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpjb25uZWN0U3RhcnQoKSBjb25z
dAoreworICAgIGlmIChtX3RpbWluZy0+Y29ubmVjdFN0YXJ0IDwgMCkgLy8gQ29ubmVjdGlvbiB3
YXMgcmV1c2VkLgorICAgICAgICByZXR1cm4gZG9tYWluTG9va3VwRW5kKCk7CisKKyAgICAvLyBj
b25uZWN0U3RhcnQgaW5jbHVkZXMgYW55IEROUyB0aW1lLCBzbyB3ZSBtYXkgbmVlZCB0byB0cmlt
IHRoYXQgb2ZmLgorICAgIGludCBjb25uZWN0U3RhcnQgPSBtX3RpbWluZy0+Y29ubmVjdFN0YXJ0
OworICAgIGlmIChtX3RpbWluZy0+ZG5zRW5kID49IDApCisgICAgICAgIGNvbm5lY3RTdGFydCA9
IG1fdGltaW5nLT5kbnNFbmQ7CisKKyAgICByZXR1cm4gcmVzb3VyY2VUaW1lVG9Eb2N1bWVudE1p
bGxpc2Vjb25kcyhjb25uZWN0U3RhcnQpOworfQorCitkb3VibGUgUGVyZm9ybWFuY2VSZXNvdXJj
ZVRpbWluZzo6Y29ubmVjdEVuZCgpIGNvbnN0Cit7CisgICAgaWYgKG1fdGltaW5nLT5jb25uZWN0
RW5kIDwgMCkgLy8gQ29ubmVjdGlvbiB3YXMgcmV1c2VkLgorICAgICAgICByZXR1cm4gY29ubmVj
dFN0YXJ0KCk7CisKKyAgICByZXR1cm4gcmVzb3VyY2VUaW1lVG9Eb2N1bWVudE1pbGxpc2Vjb25k
cyhtX3RpbWluZy0+Y29ubmVjdEVuZCk7Cit9CisKK2RvdWJsZSBQZXJmb3JtYW5jZVJlc291cmNl
VGltaW5nOjpzZWN1cmVDb25uZWN0aW9uU3RhcnQoKSBjb25zdAoreworICAgIGlmIChtX3RpbWlu
Zy0+c3NsU3RhcnQgPCAwKSAvLyBTZWN1cmUgY29ubmVjdGlvbiBub3QgbmVnb3RpYXRlZC4KKyAg
ICAgICAgcmV0dXJuIDA7CisKKyAgICByZXR1cm4gcmVzb3VyY2VUaW1lVG9Eb2N1bWVudE1pbGxp
c2Vjb25kcyhtX3RpbWluZy0+c3NsU3RhcnQpOworfQorCitkb3VibGUgUGVyZm9ybWFuY2VSZXNv
dXJjZVRpbWluZzo6cmVxdWVzdFN0YXJ0KCkgY29uc3QKK3sKKyAgICByZXR1cm4gcmVzb3VyY2VU
aW1lVG9Eb2N1bWVudE1pbGxpc2Vjb25kcyhtX3RpbWluZy0+c2VuZFN0YXJ0KTsKK30KKworZG91
YmxlIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OnJlc3BvbnNlU3RhcnQoKSBjb25zdAorewor
ICAgIC8vIEZJWE1FOiBUaGlzIG51bWJlciBpc24ndCBleGFjdGx5IGNvcnJlY3QuIFNlZSB0aGUg
bm90ZXMgaW4gUGVyZm9ybWFuY2VUaW1pbmc6OnJlc3BvbnNlU3RhcnQoKS4KKyAgICByZXR1cm4g
cmVzb3VyY2VUaW1lVG9Eb2N1bWVudE1pbGxpc2Vjb25kcyhtX3RpbWluZy0+cmVjZWl2ZUhlYWRl
cnNFbmQpOworfQorCitkb3VibGUgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6cmVzcG9uc2VF
bmQoKSBjb25zdAoreworICAgIHJldHVybiBtb25vdG9uaWNUaW1lVG9Eb2N1bWVudE1pbGxpc2Vj
b25kcyhtX2ZpbmlzaFRpbWUpOworfQorCitkb3VibGUgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWlu
Zzo6bW9ub3RvbmljVGltZVRvRG9jdW1lbnRNaWxsaXNlY29uZHMoZG91YmxlIHNlY29uZHMpIGNv
bnN0Cit7CisgICAgQVNTRVJUKHNlY29uZHMgPj0gMC4wKTsKKyAgICByZXR1cm4gbV9yZXF1ZXN0
aW5nRG9jdW1lbnQtPmxvYWRlcigpLT50aW1pbmcoKS0+Y29udmVydE1vbm90b25pY1RpbWVUb0Rv
Y3VtZW50VGltZShzZWNvbmRzKSAqIDEwMDAuMDsKK30KKworZG91YmxlIFBlcmZvcm1hbmNlUmVz
b3VyY2VUaW1pbmc6OnJlc291cmNlVGltZVRvRG9jdW1lbnRNaWxsaXNlY29uZHMoaW50IGRlbHRh
TWlsbGlzZWNvbmRzKSBjb25zdAoreworICAgIHJldHVybiBtb25vdG9uaWNUaW1lVG9Eb2N1bWVu
dE1pbGxpc2Vjb25kcyhtX3RpbWluZy0+cmVxdWVzdFRpbWUpICsgZGVsdGFNaWxsaXNlY29uZHM7
Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShSRVNPVVJD
RV9USU1JTkcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlUmVz
b3VyY2VUaW1pbmcuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VSZXNvdXJjZVRp
bWluZy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmUzYjRmZTAyZGNhZDRhMjYxZmVhMzA4ZTQ4Nzg1ZTUzMDM4MjBj
NGMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlUmVz
b3VyY2VUaW1pbmcuaApAQCAtMCwwICsxLDg5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEy
IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAq
IE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAq
IGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMg
ZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3Jp
dHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAq
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBQZXJmb3JtYW5jZVJlc291cmNl
VGltaW5nX2gKKyNkZWZpbmUgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZ19oCisKKyNpZiBFTkFC
TEUoUkVTT1VSQ0VfVElNSU5HKQorCisjaW5jbHVkZSAiUGVyZm9ybWFuY2VFbnRyeS5oIgorI2lu
Y2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgorI2luY2x1
ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNz
IERvY3VtZW50OworY2xhc3MgS1VSTDsKK2NsYXNzIFJlc291cmNlTG9hZFRpbWluZzsKK2NsYXNz
IFJlc291cmNlUmVxdWVzdDsKK2NsYXNzIFJlc291cmNlUmVzcG9uc2U7CisKK2NsYXNzIFBlcmZv
cm1hbmNlUmVzb3VyY2VUaW1pbmcgOiBwdWJsaWMgUGVyZm9ybWFuY2VFbnRyeSB7CitwdWJsaWM6
CisgICAgc3RhdGljIFBhc3NSZWZQdHI8UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZz4gY3JlYXRl
KGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYg
cmVzcG9uc2UsIGRvdWJsZSBmaW5pc2hUaW1lLCBEb2N1bWVudCogcmVxdWVzdGluZ0RvY3VtZW50
KQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBQZXJmb3JtYW5jZVJlc291cmNl
VGltaW5nKHJlcXVlc3QsIHJlc3BvbnNlLCBmaW5pc2hUaW1lLCByZXF1ZXN0aW5nRG9jdW1lbnQp
KTsKKyAgICB9CisKKyAgICBTdHJpbmcgaW5pdGlhdG9yVHlwZSgpIGNvbnN0OworCisgICAgZG91
YmxlIHJlZGlyZWN0U3RhcnQoKSBjb25zdDsKKyAgICBkb3VibGUgcmVkaXJlY3RFbmQoKSBjb25z
dDsKKyAgICBkb3VibGUgZmV0Y2hTdGFydCgpIGNvbnN0OworICAgIGRvdWJsZSBkb21haW5Mb29r
dXBTdGFydCgpIGNvbnN0OworICAgIGRvdWJsZSBkb21haW5Mb29rdXBFbmQoKSBjb25zdDsKKyAg
ICBkb3VibGUgY29ubmVjdFN0YXJ0KCkgY29uc3Q7CisgICAgZG91YmxlIGNvbm5lY3RFbmQoKSBj
b25zdDsKKyAgICBkb3VibGUgc2VjdXJlQ29ubmVjdGlvblN0YXJ0KCkgY29uc3Q7CisgICAgZG91
YmxlIHJlcXVlc3RTdGFydCgpIGNvbnN0OworICAgIGRvdWJsZSByZXNwb25zZVN0YXJ0KCkgY29u
c3Q7CisgICAgZG91YmxlIHJlc3BvbnNlRW5kKCkgY29uc3Q7CisKKyAgICB2aXJ0dWFsIGJvb2wg
aXNSZXNvdXJjZSgpIHsgcmV0dXJuIHRydWU7IH0KKworcHJpdmF0ZToKKyAgICBQZXJmb3JtYW5j
ZVJlc291cmNlVGltaW5nKGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFJlc291cmNlUmVz
cG9uc2UmLCBkb3VibGUgZmluaXNoVGltZSwgRG9jdW1lbnQqKTsKKyAgICB+UGVyZm9ybWFuY2VS
ZXNvdXJjZVRpbWluZygpOworCisgICAgZG91YmxlIG1vbm90b25pY1RpbWVUb0RvY3VtZW50TWls
bGlzZWNvbmRzKGRvdWJsZSBzZWNvbmRzKSBjb25zdDsKKyAgICBkb3VibGUgcmVzb3VyY2VUaW1l
VG9Eb2N1bWVudE1pbGxpc2Vjb25kcyhpbnQgZGVsdGFNaWxsaXNlY29uZHMpIGNvbnN0OworCisg
ICAgU3RyaW5nIG1faW5pdGlhdG9yVHlwZTsKKyAgICBSZWZQdHI8UmVzb3VyY2VMb2FkVGltaW5n
PiBtX3RpbWluZzsKKyAgICBkb3VibGUgbV9maW5pc2hUaW1lOworICAgIFJlZlB0cjxEb2N1bWVu
dD4gbV9yZXF1ZXN0aW5nRG9jdW1lbnQ7Cit9OworCit9CisKKyNlbmRpZiAvLyBFTkFCTEUoUkVT
T1VSQ0VfVElNSU5HKQorCisjZW5kaWYgLy8gIWRlZmluZWQoUGVyZm9ybWFuY2VSZXNvdXJjZVRp
bWluZ19oKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVJlc291
cmNlVGltaW5nLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VSZXNvdXJjZVRp
bWluZy5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uM2UwYWQ1OWNlODRiZjEzZDIxYjE0OTg5YjlmMTAzZTE2OWU4
ZjIzOAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VS
ZXNvdXJjZVRpbWluZy5pZGwKQEAgLTAsMCArMSw1MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAg
ICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRz
CisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1
Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9y
IHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICog
TElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
CisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK21vZHVsZSB3aW5kb3cgeworCisgICAg
Ly8gU2VlOiBodHRwczovL2R2Y3MudzMub3JnL2hnL3dlYnBlcmYvcmF3LWZpbGUvdGlwL3NwZWNz
L1Jlc291cmNlVGltaW5nL092ZXJ2aWV3Lmh0bWwKKyAgICBpbnRlcmZhY2UgWworICAgICAgICBD
b25kaXRpb25hbD1SRVNPVVJDRV9USU1JTkcsCisgICAgICAgIE9taXRDb25zdHJ1Y3RvcgorICAg
IF0gUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZyA6IFBlcmZvcm1hbmNlRW50cnkgeworICAgICAg
ICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGluaXRpYXRvclR5cGU7CisKKyAgICAgICAg
cmVhZG9ubHkgYXR0cmlidXRlIGRvdWJsZSByZWRpcmVjdFN0YXJ0OworICAgICAgICByZWFkb25s
eSBhdHRyaWJ1dGUgZG91YmxlIHJlZGlyZWN0RW5kOworICAgICAgICByZWFkb25seSBhdHRyaWJ1
dGUgZG91YmxlIGZldGNoU3RhcnQ7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBkb3VibGUg
ZG9tYWluTG9va3VwU3RhcnQ7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBkb3VibGUgZG9t
YWluTG9va3VwRW5kOworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgZG91YmxlIGNvbm5lY3RT
dGFydDsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGRvdWJsZSBjb25uZWN0RW5kOworICAg
ICAgICByZWFkb25seSBhdHRyaWJ1dGUgZG91YmxlIHNlY3VyZUNvbm5lY3Rpb25TdGFydDsKKyAg
ICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGRvdWJsZSByZXF1ZXN0U3RhcnQ7CisgICAgICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBkb3VibGUgcmVzcG9uc2VTdGFydDsKKyAgICAgICAgcmVhZG9ubHkg
YXR0cmlidXRlIGRvdWJsZSByZXNwb25zZUVuZDsKKyAgICB9OworfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5jcHAKaW5k
ZXggMzUwOTc5MjkyNzhjNzYwNjRjNGIwZGViOWFmZTM5ZmYxOWJlNGMyNC4uZTUxMWMyNDQ5ZTZm
NzQ4ZGE4ODEzMjcxMjQ3ZWNhYTk3YjcwY2Y3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuY3BwCkBAIC01Myw2ICs1
Myw3IEBAIFBhc3NPd25QdHI8UmVzb3VyY2VSZXF1ZXN0PiBSZXNvdXJjZVJlcXVlc3RCYXNlOjph
ZG9wdChQYXNzT3duUHRyPENyb3NzVGhyZWFkUmVzCiAgICAgcmVxdWVzdC0+c2V0Rmlyc3RQYXJ0
eUZvckNvb2tpZXMoZGF0YS0+bV9maXJzdFBhcnR5Rm9yQ29va2llcyk7CiAgICAgcmVxdWVzdC0+
c2V0SFRUUE1ldGhvZChkYXRhLT5tX2h0dHBNZXRob2QpOwogICAgIHJlcXVlc3QtPnNldFByaW9y
aXR5KGRhdGEtPm1fcHJpb3JpdHkpOworICAgIHJlcXVlc3QtPnNldEluaXRpYXRvclR5cGUoZGF0
YS0+bV9pbml0aWF0b3JUeXBlKTsKIAogICAgIHJlcXVlc3QtPnVwZGF0ZVJlc291cmNlUmVxdWVz
dCgpOwogICAgIHJlcXVlc3QtPm1faHR0cEhlYWRlckZpZWxkcy5hZG9wdChkYXRhLT5tX2h0dHBI
ZWFkZXJzLnJlbGVhc2UoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5oCmluZGV4IDg2ZGQ2MmU4ZTA4YzI2MDQ0MmMzYTFj
MTk1OGI5MjA2MTQ0MzBjMGMuLmNmZDc2MDFlZjgzZjZiNTViZTEwZjA0MjRhMTAyOTZkOGM1MDRi
MDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VS
ZXF1ZXN0QmFzZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3Vy
Y2VSZXF1ZXN0QmFzZS5oCkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVkZSAiS1VSTC5oIgogI2lu
Y2x1ZGUgIlJlc291cmNlTG9hZFByaW9yaXR5LmgiCiAKKyNpbmNsdWRlIDx3dGYvQ3VycmVudFRp
bWUuaD4KICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAg
LTUxLDYgKzUyLDIwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBSZXNvdXJjZVJl
cXVlc3RCYXNlIHsKICAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGlj
OgorICAgICAgICBlbnVtIEluaXRpYXRvclR5cGUgeworICAgICAgICAgICAgSW5pdGlhdG9ySXNV
bmtub3duLAorICAgICAgICAgICAgSW5pdGlhdG9ySXNNYWluRG9jdW1lbnQsCisgICAgICAgICAg
ICBJbml0aWF0b3JJc0NTUywKKyAgICAgICAgICAgIEluaXRpYXRvcklzRW1iZWRFbGVtZW50LAor
ICAgICAgICAgICAgSW5pdGlhdG9ySXNJbWFnZUVsZW1lbnQsCisgICAgICAgICAgICBJbml0aWF0
b3JJc0xpbmtFbGVtZW50LAorICAgICAgICAgICAgSW5pdGlhdG9ySXNPYmplY3RFbGVtZW50LAor
ICAgICAgICAgICAgSW5pdGlhdG9ySXNTY3JpcHRFbGVtZW50LAorICAgICAgICAgICAgSW5pdGlh
dG9ySXNTdWJEb2N1bWVudCwKKyAgICAgICAgICAgIEluaXRpYXRvcklzU1ZHLAorICAgICAgICAg
ICAgSW5pdGlhdG9ySXNYSFIsCisgICAgICAgIH07CisKICAgICAgICAgc3RhdGljIFBhc3NPd25Q
dHI8UmVzb3VyY2VSZXF1ZXN0PiBhZG9wdChQYXNzT3duUHRyPENyb3NzVGhyZWFkUmVzb3VyY2VS
ZXF1ZXN0RGF0YT4pOwogCiAgICAgICAgIC8vIEdldHMgYSBjb3B5IG9mIHRoZSBkYXRhIHN1aXRh
YmxlIGZvciBwYXNzaW5nIHRvIGFub3RoZXIgdGhyZWFkLgpAQCAtMTMyLDYgKzE0Nyw5IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgYm9vbCByZXBvcnRSYXdIZWFkZXJzKCkgY29uc3Qg
eyByZXR1cm4gbV9yZXBvcnRSYXdIZWFkZXJzOyB9CiAgICAgICAgIHZvaWQgc2V0UmVwb3J0UmF3
SGVhZGVycyhib29sIHJlcG9ydFJhd0hlYWRlcnMpIHsgbV9yZXBvcnRSYXdIZWFkZXJzID0gcmVw
b3J0UmF3SGVhZGVyczsgfQogCisgICAgICAgIEluaXRpYXRvclR5cGUgaW5pdGlhdG9yVHlwZSgp
IGNvbnN0IHsgcmV0dXJuIG1faW5pdGlhdG9yVHlwZTsgfQorICAgICAgICB2b2lkIHNldEluaXRp
YXRvclR5cGUoSW5pdGlhdG9yVHlwZSBpbml0aWF0b3JUeXBlKSB7IG1faW5pdGlhdG9yVHlwZSA9
IGluaXRpYXRvclR5cGU7IH0KKwogICAgICAgICBzdGF0aWMgZG91YmxlIGRlZmF1bHRUaW1lb3V0
SW50ZXJ2YWwoKTsgLy8gTWF5IHJldHVybiAwIHdoZW4gdXNpbmcgcGxhdGZvcm0gZGVmYXVsdC4K
ICAgICAgICAgc3RhdGljIHZvaWQgc2V0RGVmYXVsdFRpbWVvdXRJbnRlcnZhbChkb3VibGUpOwog
CkBAIC0xNDYsNiArMTY0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAgICAgLCBt
X3JlcG9ydExvYWRUaW1pbmcoZmFsc2UpCiAgICAgICAgICAgICAsIG1fcmVwb3J0UmF3SGVhZGVy
cyhmYWxzZSkKICAgICAgICAgICAgICwgbV9wcmlvcml0eShSZXNvdXJjZUxvYWRQcmlvcml0eUxv
dykKKyAgICAgICAgICAgICwgbV9pbml0aWF0b3JUeXBlKEluaXRpYXRvcklzVW5rbm93bikKICAg
ICAgICAgewogICAgICAgICB9CiAKQEAgLTE2MSw2ICsxODAsNyBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAgICAgICAgICAgICAsIG1fcmVwb3J0TG9hZFRpbWluZyhmYWxzZSkKICAgICAgICAgICAg
ICwgbV9yZXBvcnRSYXdIZWFkZXJzKGZhbHNlKQogICAgICAgICAgICAgLCBtX3ByaW9yaXR5KFJl
c291cmNlTG9hZFByaW9yaXR5TG93KQorICAgICAgICAgICAgLCBtX2luaXRpYXRvclR5cGUoSW5p
dGlhdG9ySXNVbmtub3duKQogICAgICAgICB7CiAgICAgICAgIH0KIApAQCAtMTg2LDYgKzIwNiw3
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgYm9vbCBtX3JlcG9ydExvYWRUaW1pbmcg
OiAxOwogICAgICAgICBib29sIG1fcmVwb3J0UmF3SGVhZGVycyA6IDE7CiAgICAgICAgIFJlc291
cmNlTG9hZFByaW9yaXR5IG1fcHJpb3JpdHk7CisgICAgICAgIEluaXRpYXRvclR5cGUgbV9pbml0
aWF0b3JUeXBlOwogCiAgICAgcHJpdmF0ZToKICAgICAgICAgY29uc3QgUmVzb3VyY2VSZXF1ZXN0
JiBhc1Jlc291cmNlUmVxdWVzdCgpIGNvbnN0OwpAQCAtMjE0LDggKzIzNSw5IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKICAgICAgICAgUmVmUHRyPEZvcm1EYXRhPiBtX2h0dHBCb2R5OwogICAgICAg
ICBib29sIG1fYWxsb3dDb29raWVzOwogICAgICAgICBSZXNvdXJjZUxvYWRQcmlvcml0eSBtX3By
aW9yaXR5OworICAgICAgICBSZXNvdXJjZVJlcXVlc3RCYXNlOjpJbml0aWF0b3JUeXBlIG1faW5p
dGlhdG9yVHlwZTsKICAgICB9OwotICAgIAorCiAgICAgdW5zaWduZWQgaW5pdGlhbGl6ZU1heGlt
dW1IVFRQQ29ubmVjdGlvbkNvdW50UGVySG9zdCgpOwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>147721</attachid>
            <date>2012-06-14 21:03:38 -0700</date>
            <delta_ts>2012-06-21 11:48:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-61152-20120614210338.patch</filename>
            <type>text/plain</type>
            <size>43469</size>
            <attacher name="James Simonsen">simonjam</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIwMzEzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2FlNDQ0ZTRmMjVjZmUx
N2Q4N2Y1ZTUxOWJlODM4MzNhZWE0NTE3MC4uZTIyNDhiZmI4YjFkMDNjNTM5M2VlNWM0MWE4ODgy
Y2Y2MmNkYmIyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDgxIEBACisyMDEyLTA2LTE0ICBKYW1l
cyBTaW1vbnNlbiAgPHNpbW9uamFtQGNocm9taXVtLm9yZz4KKworICAgICAgICBbUmVzb3VyY2Ug
VGltaW5nXSBJbXBsZW1lbnQgUmVzb3VyY2UgVGltaW5nIGludGVyZmFjZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjExNTIKKworICAgICAgICBUaGlz
IHBhdGNoIGltcGxlbWVudHMgdGhlIFJlc291cmNlIFRpbWluZyBpbnRlcmZhY2UuIEl0IGRvZXNu
J3QgZG8gYW55dGhpbmcKKyAgICAgICAgdXNlZnVsLCBiZWNhdXNlIG5vdGhpbmcgcG9wdWxhdGVz
IHRoZSB0aW1lbGluZSB5ZXQuIFRoZXJlIGFyZSBhbHNvIHNvbWUgZ2FwcworICAgICAgICBpbiB0
aGUgaW1wbGVtZW50YXRpb24sIHdoaWNoIGhhdmUgYmVlbiBmaWxlZCBhcyBidWdzLgorCisgICAg
ICAgIGh0dHA6Ly9kdmNzLnczLm9yZy9oZy93ZWJwZXJmL3Jhdy1maWxlL3RpcC9zcGVjcy9SZXNv
dXJjZVRpbWluZy9PdmVydmlldy5odG1sCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLiBGZWF0dXJlIGlzIGRpc2FibGVkIG9uIGFs
bCBwbGF0Zm9ybXMuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBEZXJp
dmVkU291cmNlcy5wcmk6CisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAgICAg
KiBUYXJnZXQucHJpOgorICAgICAgICAqIFVzZVY4LmNtYWtlOgorICAgICAgICAqIFdlYkNvcmUu
Z3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAg
KiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogYmluZGluZ3Mv
djgvY3VzdG9tL1Y4UGVyZm9ybWFuY2VFbnRyeUN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3Jl
KToKKyAgICAgICAgKFdlYkNvcmU6OnRvVjgpOiBTdXBwb3J0IFBlcmZvcm1hbmNlRW50cnkgcG9s
eW1vcnBoaXNtLgorICAgICAgICAqIGRvbS9FdmVudE5hbWVzLmg6CisgICAgICAgIChXZWJDb3Jl
KToKKyAgICAgICAgKiBkb20vRXZlbnRUYXJnZXRGYWN0b3J5LmluOgorICAgICAgICAqIHBhZ2Uv
UGVyZm9ybWFuY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6On5QZXJmb3Jt
YW5jZSk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNl
OjppbnRlcmZhY2VOYW1lKTogUmVxaXJlZCBmb3IgRXZlbnRUYXJnZXQuCisgICAgICAgIChXZWJD
b3JlOjpQZXJmb3JtYW5jZTo6c2NyaXB0RXhlY3V0aW9uQ29udGV4dCk6IERpdHRvLgorICAgICAg
ICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6OndlYmtpdEdldEVudHJpZXMpOiBSZXR1cm4gInJlc291
cmNlIiBlbnRyaWVzLgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6OndlYmtpdEdldEVu
dHJpZXNCeVR5cGUpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlOjp3ZWJr
aXRHZXRFbnRyaWVzQnlOYW1lKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5j
ZTo6d2Via2l0Q2xlYXJSZXNvdXJjZVRpbWluZ3MpOiBOZXcuCisgICAgICAgIChXZWJDb3JlOjpQ
ZXJmb3JtYW5jZTo6d2Via2l0U2V0UmVzb3VyY2VUaW1pbmdCdWZmZXJTaXplKTogTmV3LiBVbmlt
cGxlbWVudGVkLgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6OmFkZFJlc291cmNlVGlt
aW5nKTogVGhpcyBpcyBob3cgcmVzb3VyY2VzIGluIFdlYkNvcmUgd2lsbCByZXBvcnQgdG8gdGhl
IHRpbWVsaW5lLgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6OmV2ZW50VGFyZ2V0RGF0
YSk6IFJlcXVpcmVkIGZvciBFdmVudFRhcmdldC4KKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1h
bmNlOjplbnN1cmVFdmVudFRhcmdldERhdGEpOiBEaXR0by4KKyAgICAgICAgKiBwYWdlL1BlcmZv
cm1hbmNlLmg6CisgICAgICAgIChQZXJmb3JtYW5jZSk6CisgICAgICAgIChXZWJDb3JlOjpQZXJm
b3JtYW5jZTo6cmVmRXZlbnRUYXJnZXQpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6
OmRlcmVmRXZlbnRUYXJnZXQpOgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2UuaWRsOgorICAg
ICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VFbnRyeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQZXJm
b3JtYW5jZUVudHJ5Ojp+UGVyZm9ybWFuY2VFbnRyeSk6CisgICAgICAgIChXZWJDb3JlKToKKyAg
ICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlRW50cnkuaDoKKyAgICAgICAgKFBlcmZvcm1hbmNlRW50
cnkpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VFbnRyeTo6aXNSZXNvdXJjZSk6Cisg
ICAgICAgICogcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmlkbDoKKyAgICAgICAgKiBwYWdlL1BlcmZv
cm1hbmNlUmVzb3VyY2VUaW1pbmcuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAg
ICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6UGVyZm9ybWFuY2VSZXNv
dXJjZVRpbWluZyk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZVJlc291cmNlVGltaW5n
Ojppbml0aWF0b3JUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlUmVzb3VyY2VU
aW1pbmc6OnJlZGlyZWN0U3RhcnQpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VSZXNv
dXJjZVRpbWluZzo6cmVkaXJlY3RFbmQpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VS
ZXNvdXJjZVRpbWluZzo6ZmV0Y2hTdGFydCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5j
ZVJlc291cmNlVGltaW5nOjpkb21haW5Mb29rdXBTdGFydCk6CisgICAgICAgIChXZWJDb3JlOjpQ
ZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpkb21haW5Mb29rdXBFbmQpOgorICAgICAgICAoV2Vi
Q29yZTo6UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6Y29ubmVjdFN0YXJ0KToKKyAgICAgICAg
KFdlYkNvcmU6OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OmNvbm5lY3RFbmQpOgorICAgICAg
ICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6c2VjdXJlQ29ubmVjdGlvblN0
YXJ0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OnJlcXVl
c3RTdGFydCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpy
ZXNwb25zZVN0YXJ0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1p
bmc6OnJlc3BvbnNlRW5kKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlUmVzb3VyY2VU
aW1pbmc6Om1vbm90b25pY1RpbWVUb0RvY3VtZW50TWlsbGlzZWNvbmRzKToKKyAgICAgICAgKFdl
YkNvcmU6OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OnJlc291cmNlVGltZVRvTWlsbGlzZWNv
bmRzKToKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaDogQWRkZWQu
CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcp
OgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6Y3JlYXRlKToK
KyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OmlzUmVzb3VyY2Up
OgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5pZGw6IEFkZGVkLgor
CiAyMDEyLTA2LTE0ICBZb3NoaWZ1bWkgSW5vdWUgIDx5b3NpbkBjaHJvbWl1bS5vcmc+CiAKICAg
ICAgICAgW0Zvcm1dIFJlcGxhY2UgSW5wdXROdW1iZXIgdHlwZSB0byBEZWNpbWFsIHR5cGUgYW5k
IGRyb3AgSW5wdXROdW1iZXIKQEAgLTEyNTMwLDYgKzEyNjA4LDU4IEBACiAgICAgICAgIChXZWJD
b3JlOjpMYXllckNocm9taXVtOjpzZXRTY3JlZW5TcGFjZVRyYW5zZm9ybSk6CiAgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVtLmNwcDoKICAg
ICAgICAgKFdlYkNvcmU6OkxheWVyUmVuZGVyZXJDaHJvbWl1bTo6ZHJhd0NoZWNrZXJib2FyZFF1
YWQpOgorMjAxMi0wNC0yNSAgSmFtZXMgU2ltb25zZW4gIDxzaW1vbmphbUBjaHJvbWl1bS5vcmc+
CisKKyAgICAgICAgW1dlYiBUaW1pbmddIEFkZCBhIHZlbmRvci1wcmVmaXhlZCBQZXJmb3JtYW5j
ZSBUaW1lbGluZSBBUEkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTgwMzUwCisKKyAgICAgICAgQXMgZGVzY3JpYmVkIGhlcmU6IGh0dHA6Ly9kdmNzLncz
Lm9yZy9oZy93ZWJwZXJmL3Jhdy1maWxlL3RpcC9zcGVjcy9QZXJmb3JtYW5jZVRpbWVsaW5lL092
ZXJ2aWV3Lmh0bWwKKworICAgICAgICBUaGUgQVBJIGlzIHRoZXJlIGFuZCBzaG91bGQgYmUgY29y
cmVjdCwgYnV0IGl0IGlzbid0IHBhcnRpY3VsYXJseSB1c2VmdWwsCisgICAgICAgIGJlY2F1c2Ug
bm90aGluZyBpcyBwb3B1bGF0ZWQuIFVwY29taW5nIGNoYW5nZXMgd2lsbCBhZGQgTmF2aWdhdGlv
biBUaW1pbmcKKyAgICAgICAgYW5kIFJlc291cmNlIFRpbWluZy4KKworICAgICAgICBSZXZpZXdl
ZCBieSBUb255IEdlbnRpbGNvcmUuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLiBGdW5jdGlvbmFs
aXR5IGlzIGRpc2FibGVkIG9uIGFsbCBwbGF0Zm9ybXMuCisKKyAgICAgICAgKiBDTWFrZUxpc3Rz
LnR4dDogQWRkZWQgUGVyZm9ybWFuY2VFbnRyeSogZmlsZXMuCisgICAgICAgICogRGVyaXZlZFNv
dXJjZXMucHJpOiBEaXR0by4KKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOiBEaXR0by4K
KyAgICAgICAgKiBXZWJDb3JlLmd5cGk6IERpdHRvLgorICAgICAgICAqIFdlYkNvcmUudmNwcm9q
L1dlYkNvcmUudmNwcm9qOiBEaXR0by4KKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2o6IERpdHRvLgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2UuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6OndlYmtpdEdldEVudHJpZXMpOiBBZGRlZC4KKyAg
ICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlOjp3ZWJraXRHZXRFbnRyaWVzQnlUeXBlKTogQWRk
ZWQuCisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZTo6d2Via2l0R2V0RW50cmllc0J5TmFt
ZSk6IEFkZGVkLgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2UuaDoKKyAgICAgICAgKFBlcmZv
cm1hbmNlKToKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlLmlkbDoKKyAgICAgICAgKiBwYWdl
L1BlcmZvcm1hbmNlRW50cnkuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAg
ICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VFbnRyeTo6UGVyZm9ybWFuY2VFbnRyeSk6CisgICAgICAg
IChXZWJDb3JlOjpQZXJmb3JtYW5jZUVudHJ5OjpuYW1lKToKKyAgICAgICAgKFdlYkNvcmU6OlBl
cmZvcm1hbmNlRW50cnk6OmVudHJ5VHlwZSk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5j
ZUVudHJ5OjpzdGFydFRpbWUpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VFbnRyeTo6
ZHVyYXRpb24pOgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VFbnRyeS5oOiBBZGRlZC4KKyAg
ICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoUGVyZm9ybWFuY2VFbnRyeSk6CisgICAgICAgICog
cGFnZS9QZXJmb3JtYW5jZUVudHJ5LmlkbDogQWRkZWQuCisgICAgICAgICogcGFnZS9QZXJmb3Jt
YW5jZUVudHJ5TGlzdC5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChX
ZWJDb3JlOjpQZXJmb3JtYW5jZUVudHJ5TGlzdDo6UGVyZm9ybWFuY2VFbnRyeUxpc3QpOgorICAg
ICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VFbnRyeUxpc3Q6On5QZXJmb3JtYW5jZUVudHJ5TGlz
dCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZUVudHJ5TGlzdDo6bGVuZ3RoKToKKyAg
ICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlRW50cnlMaXN0OjppdGVtKToKKyAgICAgICAgKFdl
YkNvcmU6OlBlcmZvcm1hbmNlRW50cnlMaXN0OjphcHBlbmQpOgorICAgICAgICAqIHBhZ2UvUGVy
Zm9ybWFuY2VFbnRyeUxpc3QuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAg
KFBlcmZvcm1hbmNlRW50cnlMaXN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlRW50
cnlMaXN0OjpjcmVhdGUpOgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VFbnRyeUxpc3QuaWRs
OiBBZGRlZC4KKwogICAgICAgICAoV2ViQ29yZTo6TGF5ZXJSZW5kZXJlckNocm9taXVtOjpkcmF3
RGVidWdCb3JkZXJRdWFkKToKICAgICAgICAgKFdlYkNvcmU6OkxheWVyUmVuZGVyZXJDaHJvbWl1
bTo6ZHJhd0JhY2tncm91bmRGaWx0ZXJzKToKICAgICAgICAgKFdlYkNvcmU6OkxheWVyUmVuZGVy
ZXJDaHJvbWl1bTo6ZHJhd1JlbmRlclN1cmZhY2VRdWFkKToKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5k
ZXggZTFhYzNmOGZlNzhmYzg1YzBjNGQxNWMwODk3NmI1ZGIyZDE1MmJhYy4uOWFkMDllOTdiYTY1
NTBjYzgxNDZiY2RiMDA4YWU0OGM1NzUyN2MyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Q01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTM5
NSw2ICszOTUsNyBAQCBTRVQoV2ViQ29yZV9JRExfRklMRVMKICAgICBwYWdlL1BlcmZvcm1hbmNl
RW50cnkuaWRsCiAgICAgcGFnZS9QZXJmb3JtYW5jZUVudHJ5TGlzdC5pZGwKICAgICBwYWdlL1Bl
cmZvcm1hbmNlTmF2aWdhdGlvbi5pZGwKKyAgICBwYWdlL1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1p
bmcuaWRsCiAgICAgcGFnZS9QZXJmb3JtYW5jZVRpbWluZy5pZGwKICAgICBwYWdlL1NjcmVlbi5p
ZGwKICAgICBwYWdlL1NwZWVjaElucHV0RXZlbnQuaWRsCkBAIC0xMDgzLDYgKzEwODQsNyBAQCBT
RVQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmNwcAogICAgIHBh
Z2UvUGVyZm9ybWFuY2VFbnRyeUxpc3QuY3BwCiAgICAgcGFnZS9QZXJmb3JtYW5jZU5hdmlnYXRp
b24uY3BwCisgICAgcGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmNwcAogICAgIHBhZ2Uv
UGVyZm9ybWFuY2VUaW1pbmcuY3BwCiAgICAgcGFnZS9QcmludENvbnRleHQuY3BwCiAgICAgcGFn
ZS9TY3JlZW4uY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5w
cmkgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkKaW5kZXggN2I3M2U5ZTdkZjY1
NTM5Mjk3ZmU5OWYwZjk4MDJiYjlhMTc3MDNhYS4uNTM4YzRjYzcxZWU4OTQ1NGFhYmNlMjkzM2Nk
YTAxMDkwZDczN2NlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMu
cHJpCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaQpAQCAtNDI0LDYgKzQy
NCw3IEBAIElETF9CSU5ESU5HUyArPSBcCiAgICAgJCRQV0QvcGFnZS9QZXJmb3JtYW5jZUVudHJ5
LmlkbCBcCiAgICAgJCRQV0QvcGFnZS9QZXJmb3JtYW5jZUVudHJ5TGlzdC5pZGwgXAogICAgICQk
UFdEL3BhZ2UvUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmlkbCBcCisgICAgJCRQV0QvcGFnZS9QZXJm
b3JtYW5jZVJlc291cmNlVGltaW5nLmlkbCBcCiAgICAgJCRQV0QvcGFnZS9QZXJmb3JtYW5jZVRp
bWluZy5pZGwgXAogICAgICQkUFdEL3BhZ2UvU2NyZWVuLmlkbCBcCiAgICAgJCRQV0QvcGFnZS9T
cGVlY2hJbnB1dEV2ZW50LmlkbCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtl
ZmlsZS5saXN0LmFtIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCA1
NGY5MWZjMDc5NTU1MTMxN2Q3YTdiNTRlNTBiNGI0NTE4Y2UxM2FiLi5lZjk4MDc0OThjZWIwNjRh
ZGNjMjliOWJlZDk1M2Y1NTUyZTZjMTc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVt
YWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0K
QEAgLTk1NCw2ICs5NTQsNyBAQCBkb21fYmluZGluZ19pZGxzICs9IFwKIAkkKFdlYkNvcmUpL3Bh
Z2UvUGVyZm9ybWFuY2VFbnRyeS5pZGwgXAogCSQoV2ViQ29yZSkvcGFnZS9QZXJmb3JtYW5jZUVu
dHJ5TGlzdC5pZGwgXAogCSQoV2ViQ29yZSkvcGFnZS9QZXJmb3JtYW5jZU5hdmlnYXRpb24uaWRs
IFwKKwkkKFdlYkNvcmUpL3BhZ2UvUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5pZGwgXAogCSQo
V2ViQ29yZSkvcGFnZS9QZXJmb3JtYW5jZVRpbWluZy5pZGwgXAogCSQoV2ViQ29yZSkvcGFnZS9T
Y3JlZW4uaWRsIFwKIAkkKFdlYkNvcmUpL3BhZ2UvU3BlZWNoSW5wdXRFdmVudC5pZGwgXApAQCAt
MzAzMyw2ICszMDM0LDggQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9w
YWdlL1BlcmZvcm1hbmNlRW50cnlMaXN0LmggXAogCVNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9y
bWFuY2VOYXZpZ2F0aW9uLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU5h
dmlnYXRpb24uaCBcCisJU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGlt
aW5nLmNwcCBcCisJU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5n
LmggXAogCVNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VUaW1pbmcuY3BwIFwKIAlTb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlVGltaW5nLmggXAogCVNvdXJjZS9XZWJDb3JlL3Bh
Z2UvUG9pbnRlckxvY2suaCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJp
IGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQppbmRleCAxNGY3ZWQxODBhNzEyYmU1MDQ4OGFj
ODVjNjFjNmNlNDI2ZDdkMzg0Li41Zjc1Yjg1NzdlOWY1OGRmNDllZmMxNzFiNzNiYTU0NTA2MDE1
YzU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL1RhcmdldC5wcmkKQEAgLTIwOCw2ICsyMDgsNyBAQCB2OCB7CiAgICAgICAgIGJpbmRp
bmdzL3Y4L2N1c3RvbS9WOE5vZGVDdXN0b20uY3BwIFwKICAgICAgICAgYmluZGluZ3MvdjgvY3Vz
dG9tL1Y4Tm9kZUxpc3RDdXN0b20uY3BwIFwKICAgICAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4
UGVyZm9ybWFuY2VDdXN0b20uY3BwIFwKKyAgICAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4UGVy
Zm9ybWFuY2VFbnRyeUN1c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhT
UUxSZXN1bHRTZXRSb3dMaXN0Q3VzdG9tLmNwcCBcCiAgICAgICAgIGJpbmRpbmdzL3Y4L2N1c3Rv
bS9WOFNRTFRyYW5zYWN0aW9uQ3VzdG9tLmNwcCBcCiAgICAgICAgIGJpbmRpbmdzL3Y4L2N1c3Rv
bS9WOFdlYlNvY2tldEN1c3RvbS5jcHAgXApAQCAtMTA0Nyw2ICsxMDQ4LDcgQEAgU09VUkNFUyAr
PSBcCiAgICAgcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmNwcCBcCiAgICAgcGFnZS9QZXJmb3JtYW5j
ZUVudHJ5TGlzdC5jcHAgXAogICAgIHBhZ2UvUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmNwcCBcCisg
ICAgcGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmNwcCBcCiAgICAgcGFnZS9QZXJmb3Jt
YW5jZVRpbWluZy5jcHAgXAogICAgIHBhZ2UvUHJpbnRDb250ZXh0LmNwcCBcCiAgICAgcGFnZS9T
Y3JlZW4uY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1VzZVY4LmNtYWtlIGIvU291
cmNlL1dlYkNvcmUvVXNlVjguY21ha2UKaW5kZXggZmZmYzI2YjEzNWU0MmYzMzZmZjcyNzQ5YjRl
NGE1MmJkMTc3M2VkZi4uMmNmYzI1YWI1MmY5NzdjM2JmNjE2MzE2ZDM4MjE2OThmMGJjOTcyNiAx
MDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvVXNlVjguY21ha2UKKysrIGIvU291cmNlL1dlYkNv
cmUvVXNlVjguY21ha2UKQEAgLTE0MCw2ICsxNDAsNyBAQCBMSVNUKEFQUEVORCBXZWJDb3JlX1NP
VVJDRVMKICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhOb3RpZmljYXRpb25DdXN0b20uY3BwCiAg
ICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4Tm90aWZpY2F0aW9uQ2VudGVyQ3VzdG9tLmNwcAogICAg
IGJpbmRpbmdzL3Y4L2N1c3RvbS9WOFBlcmZvcm1hbmNlQ3VzdG9tLmNwcAorICAgIGJpbmRpbmdz
L3Y4L2N1c3RvbS9WOFBlcmZvcm1hbmNlRW50cnlDdXN0b20uY3BwCiAgICAgYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4UG9wU3RhdGVFdmVudEN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy92OC9jdXN0b20v
VjhTUUxSZXN1bHRTZXRSb3dMaXN0Q3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9W
OFNRTFRyYW5zYWN0aW9uQ3VzdG9tLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDdhNDUwZDc2MzQ0
YzE2NjM2ODJlYWQ3NjE0OThmZjBhYjllMzg2YWUuLmY0M2IzZWE0YmZmMjczODg1NjIxMTZkOTlh
NzgwYzBiMjllM2ExZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTExNjIsNiArMTE2Miw3IEBACiAg
ICAgICAgICAgICAncGFnZS9QZXJmb3JtYW5jZUVudHJ5LmlkbCcsCiAgICAgICAgICAgICAncGFn
ZS9QZXJmb3JtYW5jZUVudHJ5TGlzdC5pZGwnLAogICAgICAgICAgICAgJ3BhZ2UvUGVyZm9ybWFu
Y2VOYXZpZ2F0aW9uLmlkbCcsCisgICAgICAgICAgICAncGFnZS9QZXJmb3JtYW5jZVJlc291cmNl
VGltaW5nLmlkbCcsCiAgICAgICAgICAgICAncGFnZS9QZXJmb3JtYW5jZVRpbWluZy5pZGwnLAog
ICAgICAgICAgICAgJ3BhZ2UvUG9pbnRlckxvY2suaWRsJywKICAgICAgICAgICAgICdwYWdlL1Nj
cmVlbi5pZGwnLApAQCAtMjMyOCw2ICsyMzI5LDcgQEAKICAgICAgICAgICAgICdiaW5kaW5ncy92
OC9jdXN0b20vVjhOb3RpZmljYXRpb25DdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5n
cy92OC9jdXN0b20vVjhOb3RpZmljYXRpb25DZW50ZXJDdXN0b20uY3BwJywKICAgICAgICAgICAg
ICdiaW5kaW5ncy92OC9jdXN0b20vVjhQZXJmb3JtYW5jZUN1c3RvbS5jcHAnLAorICAgICAgICAg
ICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFBlcmZvcm1hbmNlRW50cnlDdXN0b20uY3BwJywKICAg
ICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhQb3BTdGF0ZUV2ZW50Q3VzdG9tLmNwcCcs
CiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4U1FMUmVzdWx0U2V0Um93TGlzdEN1
c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFNRTFRyYW5zYWN0
aW9uQ3VzdG9tLmNwcCcsCkBAIC0zMDU5LDYgKzMwNjEsOCBAQAogICAgICAgICAgICAgJ3BhZ2Uv
UGVyZm9ybWFuY2VFbnRyeUxpc3QuaCcsCiAgICAgICAgICAgICAncGFnZS9QZXJmb3JtYW5jZU5h
dmlnYXRpb24uY3BwJywKICAgICAgICAgICAgICdwYWdlL1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5o
JywKKyAgICAgICAgICAgICdwYWdlL1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuY3BwJywKKyAg
ICAgICAgICAgICdwYWdlL1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaCcsCiAgICAgICAgICAg
ICAncGFnZS9QZXJmb3JtYW5jZVRpbWluZy5jcHAnLAogICAgICAgICAgICAgJ3BhZ2UvUGVyZm9y
bWFuY2VUaW1pbmcuaCcsCiAgICAgICAgICAgICAncGFnZS9Qb2ludGVyTG9jay5jcHAnLApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2ogYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagppbmRleCAxN2FlMGRm
NTE2NjY2MWVhYzNhMWI3MGFjMmIzZjdmODQ2MDIyN2U1Li40NjM5ODA3MTA2N2VkYTY2ZDA1NmJk
NTJjMmZmZTlmMGZjNzliNWRmIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZj
cHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9X
ZWJDb3JlLnZjcHJvagpAQCAtMjY4NzksNiArMjY4NzksMTQgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+
CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGFnZVxQZXJmb3JtYW5jZVJlc291cmNl
VGltaW5nLmNwcCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0
aD0iLi5ccGFnZVxQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmgiCisJCQkJPgorCQkJPC9GaWxl
PgorCQkJPEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHBhZ2VcUGVyZm9ybWFuY2VUaW1pbmcu
Y3BwIgogCQkJCT4KIAkJCTwvRmlsZT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA2MWE3ODVhNWY0YzJhZjBjOGE0YjEzMTk4ODg0
ZjQwN2YxN2Q2YTMxLi45NDA2NjQ0ZjZmYjQ2NzFjNWE4YTQyOGRjNjUyMTU0MTQ1MmUwNTIyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CkBAIC0yODkwLDYgKzI4OTAsOCBAQAogCQk4NjFDMkVBNDEzRkI0RkREMDAwNjJBQkIgLyogRG9j
dW1lbnRMb2FkVGltaW5nLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDg2MUMyRUEzMTNGQjRGREQwMDA2MkFCQiAvKiBEb2N1bWVudExvYWRUaW1pbmcu
Y3BwICovOyB9OwogCQk4NjFDMkVBNjEzRkI0RkZGMDAwNjJBQkIgLyogUmVzb3VyY2VMb2FkVGlt
aW5nLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2
MUMyRUE1MTNGQjRGRkYwMDA2MkFCQiAvKiBSZXNvdXJjZUxvYWRUaW1pbmcuY3BwICovOyB9Owog
CQk4NjI0M0QwMTExQkMzMUY3MDBDQzAwNkEgLyogSlNBcnJheUJ1ZmZlclZpZXdIZWxwZXIuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2MjQzRDAwMTFC
QzMxRjcwMENDMDA2QSAvKiBKU0FycmF5QnVmZmVyVmlld0hlbHBlci5oICovOyB9OworCQk4NjUx
MkVERTE1NEEyQUVGMDBBOTA0MjYgLyogUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NjUxMkVEQjE1NEEy
QUVFMDBBOTA0MjYgLyogUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5jcHAgKi87IH07CisJCTg2
NTEyRURGMTU0QTJBRUYwMEE5MDQyNiAvKiBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NjUxMkVEQzE1NEEy
QUVGMDBBOTA0MjYgLyogUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5oICovOyB9OwogCQk4NkJF
MzQwMDE1MDU4Q0IyMDBDRTBGRDggLyogUGVyZm9ybWFuY2VFbnRyeS5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NkJFMzNGQTE1MDU4Q0IyMDBDRTBG
RDggLyogUGVyZm9ybWFuY2VFbnRyeS5jcHAgKi87IH07CiAJCTg2QkUzNDAxMTUwNThDQjIwMENF
MEZEOCAvKiBQZXJmb3JtYW5jZUVudHJ5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA4NkJFMzNGQjE1MDU4Q0IyMDBDRTBGRDggLyogUGVyZm9ybWFuY2VF
bnRyeS5oICovOyB9OwogCQk4NkJFMzQwMzE1MDU4Q0IyMDBDRTBGRDggLyogUGVyZm9ybWFuY2VF
bnRyeUxpc3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gODZCRTMzRkQxNTA1OENCMjAwQ0UwRkQ4IC8qIFBlcmZvcm1hbmNlRW50cnlMaXN0LmNwcCAq
LzsgfTsKQEAgLTk5MzMsNiArOTkzNSw5IEBACiAJCTg2MUMyRUEzMTNGQjRGREQwMDA2MkFCQiAv
KiBEb2N1bWVudExvYWRUaW1pbmcuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gRG9jdW1lbnRMb2FkVGltaW5nLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJODYxQzJFQTUxM0ZCNEZGRjAwMDYyQUJCIC8qIFJlc291cmNlTG9hZFRpbWluZy5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZXNvdXJjZUxvYWRUaW1pbmcuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NjI0M0QwMDExQkMzMUY3MDBDQzAwNkEg
LyogSlNBcnJheUJ1ZmZlclZpZXdIZWxwZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gSlNBcnJheUJ1ZmZlclZpZXdIZWxwZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJODY1MTJFREIxNTRBMkFFRTAwQTkwNDI2IC8qIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1p
bmcuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGVyZm9ybWFuY2VS
ZXNvdXJjZVRpbWluZy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg2NTEyRURD
MTU0QTJBRUYwMEE5MDQyNiAvKiBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODY1MTJFREQxNTRBMkFFRjAwQTkwNDI2IC8qIFBl
cmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFBlcmZv
cm1hbmNlUmVzb3VyY2VUaW1pbmcuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4
NkJFMzNGQTE1MDU4Q0IyMDBDRTBGRDggLyogUGVyZm9ybWFuY2VFbnRyeS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQZXJmb3JtYW5jZUVudHJ5LmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODZCRTMzRkIxNTA1OENCMjAwQ0UwRkQ4IC8qIFBlcmZv
cm1hbmNlRW50cnkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGVyZm9ybWFu
Y2VFbnRyeS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NkJFMzNGQzE1MDU4Q0Iy
MDBDRTBGRDggLyogUGVyZm9ybWFuY2VFbnRyeS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0g
UGVyZm9ybWFuY2VFbnRyeS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNTU3
Myw2ICsxNTU3OCw5IEBACiAJCQkJOEFGNEU1NTIxMURDNUEzNjAwMEVEM0RFIC8qIFBlcmZvcm1h
bmNlTmF2aWdhdGlvbi5jcHAgKi8sCiAJCQkJOEFGNEU1NTMxMURDNUEzNjAwMEVEM0RFIC8qIFBl
cmZvcm1hbmNlTmF2aWdhdGlvbi5oICovLAogCQkJCThBRjRFNTU0MTFEQzVBMzYwMDBFRDNERSAv
KiBQZXJmb3JtYW5jZU5hdmlnYXRpb24uaWRsICovLAorCQkJCTg2NTEyRURCMTU0QTJBRUUwMEE5
MDQyNiAvKiBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmNwcCAqLywKKwkJCQk4NjUxMkVEQzE1
NEEyQUVGMDBBOTA0MjYgLyogUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5oICovLAorCQkJCTg2
NTEyRUREMTU0QTJBRUYwMEE5MDQyNiAvKiBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmlkbCAq
LywKIAkJCQk4QUY0RTU1ODExREM1QTYzMDAwRUQzREUgLyogUGVyZm9ybWFuY2VUaW1pbmcuY3Bw
ICovLAogCQkJCThBRjRFNTU5MTFEQzVBNjMwMDBFRDNERSAvKiBQZXJmb3JtYW5jZVRpbWluZy5o
ICovLAogCQkJCThBRjRFNTVBMTFEQzVBNjMwMDBFRDNERSAvKiBQZXJmb3JtYW5jZVRpbWluZy5p
ZGwgKi8sCkBAIC0yNDEwMSw2ICsyNDEwOSw3IEBACiAJCQkJODZCRTM0MDExNTA1OENCMjAwQ0Uw
RkQ4IC8qIFBlcmZvcm1hbmNlRW50cnkuaCBpbiBIZWFkZXJzICovLAogCQkJCTg2QkUzNDA0MTUw
NThDQjIwMENFMEZEOCAvKiBQZXJmb3JtYW5jZUVudHJ5TGlzdC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJOEFGNEU1NTYxMURDNUEzNjAwMEVEM0RFIC8qIFBlcmZvcm1hbmNlTmF2aWdhdGlvbi5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJODY1MTJFREYxNTRBMkFFRjAwQTkwNDI2IC8qIFBlcmZvcm1hbmNl
UmVzb3VyY2VUaW1pbmcuaCBpbiBIZWFkZXJzICovLAogCQkJCThBRjRFNTVDMTFEQzVBNjMwMDBF
RDNERSAvKiBQZXJmb3JtYW5jZVRpbWluZy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDlENURDMkUw
RjQyM0E3MzAwOEYyMEZEIC8qIFBlcnNwZWN0aXZlVHJhbnNmb3JtT3BlcmF0aW9uLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlEMEZGMkE1RTExRjhDNDVBMDA3RTc0RTAgLyogUGluZ0xvYWRlci5oIGlu
IEhlYWRlcnMgKi8sCkBAIC0yNzMyNSw2ICsyNzMzNCw3IEBACiAJCQkJODZCRTM0MDAxNTA1OENC
MjAwQ0UwRkQ4IC8qIFBlcmZvcm1hbmNlRW50cnkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJODZC
RTM0MDMxNTA1OENCMjAwQ0UwRkQ4IC8qIFBlcmZvcm1hbmNlRW50cnlMaXN0LmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCThBRjRFNTU1MTFEQzVBMzYwMDBFRDNERSAvKiBQZXJmb3JtYW5jZU5hdmln
YXRpb24uY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJODY1MTJFREUxNTRBMkFFRjAwQTkwNDI2IC8q
IFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOEFGNEU1
NUIxMURDNUE2MzAwMEVEM0RFIC8qIFBlcmZvcm1hbmNlVGltaW5nLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTQ5RDVEQzJEMEY0MjNBNzMwMDhGMjBGRCAvKiBQZXJzcGVjdGl2ZVRyYW5zZm9ybU9w
ZXJhdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlEMEZGMkE1RDExRjhDNDVBMDA3RTc0RTAg
LyogUGluZ0xvYWRlci5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFBlcmZvcm1hbmNlRW50cnlDdXN0b20uY3BwIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4UGVyZm9ybWFuY2VFbnRyeUN1c3RvbS5j
cHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNzRkZjljNzY0ZGMxNTZkODRkOTE1OGU3OWM1ZGQyYmFhMGJiMzZkOQot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFBl
cmZvcm1hbmNlRW50cnlDdXN0b20uY3BwCkBAIC0wLDAgKzEsNjEgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9u
LgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVz
IG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElT
IiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICog
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
KyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmln
LmgiCisjaW5jbHVkZSAiUGVyZm9ybWFuY2VFbnRyeS5oIgorCisjaWYgRU5BQkxFKFBFUkZPUk1B
TkNFX1RJTUVMSU5FKQorCisjaW5jbHVkZSAiUGVyZm9ybWFuY2UuaCIKKyNpbmNsdWRlICJQZXJm
b3JtYW5jZVJlc291cmNlVGltaW5nLmgiCisKKyNpbmNsdWRlICJWOFBlcmZvcm1hbmNlRW50cnku
aCIKKyNpbmNsdWRlICJWOFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaCIKKworI2luY2x1ZGUg
PHd0Zi9SZWZQdHIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCit2ODo6SGFuZGxlPHY4OjpW
YWx1ZT4gdG9WOChQZXJmb3JtYW5jZUVudHJ5KiBpbXBsLCB2ODo6SXNvbGF0ZSogaXNvbGF0ZSkK
K3sKKyAgICBpZiAoIWltcGwpCisgICAgICAgIHJldHVybiB2ODo6TnVsbCgpOworCisjaWYgRU5B
QkxFKFJFU09VUkNFX1RJTUlORykKKyAgICBpZiAoaW1wbC0+aXNSZXNvdXJjZSgpKQorICAgICAg
ICByZXR1cm4gdG9WOChzdGF0aWNfY2FzdDxQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nKj4oaW1w
bCksIGlzb2xhdGUpOworI2VuZGlmCisKKyAgICByZXR1cm4gVjhQZXJmb3JtYW5jZUVudHJ5Ojp3
cmFwKGltcGwpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFC
TEUoUEVSRk9STUFOQ0VfVElNRUxJTkUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20v
RXZlbnROYW1lcy5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaAppbmRleCBkOGY1
ZmRiMGE3YTFjMzliY2NiNjk1NGFjOWRiZTdkYWQ4YThjZDI2Li4zMDU2ZDRhMzk5MTgyMmFiNjQ1
MGI5NzMyODIyYmE5YmY5OGM1ZWE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZl
bnROYW1lcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgKQEAgLTIyNyw2
ICsyMjcsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgXAogICAgIG1hY3JvKHdlYmtpdG5l
dHdvcmtpbmZvY2hhbmdlKSBcCiAgICAgXAorICAgIG1hY3JvKHdlYmtpdHJlc291cmNldGltaW5n
YnVmZmVyZnVsbCkgXAorICAgIFwKIAogLy8gZW5kIG9mIERPTV9FVkVOVF9OQU1FU19GT1JfRUFD
SAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXRGYWN0b3J5Lmlu
IGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0RmFjdG9yeS5pbgppbmRleCBmMDFiODEx
YWJhOWI4MDZmYzIxMjVmNzBmN2I0MzExNzNiM2JiNWIwLi4zZWM2ZGI5NDQ2ZDI1OTYzMTYyOWFj
NzNjZTllZjBlNDFmNGEzNTg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRU
YXJnZXRGYWN0b3J5LmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldEZhY3Rv
cnkuaW4KQEAgLTIyLDYgKzIyLDcgQEAgTmV0d29ya0luZm9Db25uZWN0aW9uIGNvbmRpdGlvbmFs
PU5FVFdPUktfSU5GTwogTm9kZQogTm90aWZpY2F0aW9uIGNvbmRpdGlvbmFsPU5PVElGSUNBVElP
TlN8TEVHQUNZX05PVElGSUNBVElPTlMKIFBlZXJDb25uZWN0aW9uMDAgY29uZGl0aW9uYWw9TUVE
SUFfU1RSRUFNCitQZXJmb3JtYW5jZSBjb25kaXRpb25hbD1XRUJfVElNSU5HCiBTaGFyZWRXb3Jr
ZXIgY29uZGl0aW9uYWw9U0hBUkVEX1dPUktFUlMKIFNoYXJlZFdvcmtlckNvbnRleHQgY29uZGl0
aW9uYWw9U0hBUkVEX1dPUktFUlMKIFNwZWVjaFJlY29nbml0aW9uIGNvbmRpdGlvbmFsPVNDUklQ
VEVEX1NQRUVDSApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmNwcAppbmRleCA1YmYyM2I2ZGVh
MTJiMDc4YTEwNmZkYzE4ZjUyZDI1NzM2OGQ0ZTI4Li45MDMzOTMwMjE5ZTYwNDExNTE0Y2NkZTU2
ZjY2YmU2Yjg1ODhkNTE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1h
bmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmNwcApAQCAtMzQs
OCArMzQsMTEgQEAKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkRvY3VtZW50TG9h
ZGVyLmgiCiAjaW5jbHVkZSAiTWVtb3J5SW5mby5oIgorI2luY2x1ZGUgIlBlcmZvcm1hbmNlRW50
cnkuaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZU5hdmlnYXRpb24uaCIKKyNpbmNsdWRlICJQZXJm
b3JtYW5jZVJlc291cmNlVGltaW5nLmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VUaW1pbmcuaCIK
KyNpbmNsdWRlICJSZXNvdXJjZVJlc3BvbnNlLmgiCiAjaW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1l
Lmg+CiAKICNpZiBFTkFCTEUoV0VCX1RJTUlORykKQEAgLTQ5LDYgKzUyLDIyIEBAIFBlcmZvcm1h
bmNlOjpQZXJmb3JtYW5jZShGcmFtZSogZnJhbWUpCiB7CiB9CiAKK1BlcmZvcm1hbmNlOjp+UGVy
Zm9ybWFuY2UoKQoreworfQorCitjb25zdCBBdG9taWNTdHJpbmcmIFBlcmZvcm1hbmNlOjppbnRl
cmZhY2VOYW1lKCkgY29uc3QKK3sKKyAgICByZXR1cm4gZXZlbnROYW1lcygpLmludGVyZmFjZUZv
clBlcmZvcm1hbmNlOworfQorCitTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBQZXJmb3JtYW5jZTo6
c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpIGNvbnN0Cit7CisgICAgaWYgKCFmcmFtZSgpKQorICAg
ICAgICByZXR1cm4gMDsKKyAgICByZXR1cm4gZnJhbWUoKS0+ZG9jdW1lbnQoKTsKK30KKwogUGFz
c1JlZlB0cjxNZW1vcnlJbmZvPiBQZXJmb3JtYW5jZTo6bWVtb3J5KCkgY29uc3QKIHsKICAgICBy
ZXR1cm4gTWVtb3J5SW5mbzo6Y3JlYXRlKG1fZnJhbWUpOwpAQCAtNzUsMjMgKzk0LDc3IEBAIFBl
cmZvcm1hbmNlVGltaW5nKiBQZXJmb3JtYW5jZTo6dGltaW5nKCkgY29uc3QKIFBhc3NSZWZQdHI8
UGVyZm9ybWFuY2VFbnRyeUxpc3Q+IFBlcmZvcm1hbmNlOjp3ZWJraXRHZXRFbnRyaWVzKCkgY29u
c3QKIHsKICAgICBSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeUxpc3Q+IGVudHJpZXMgPSBQZXJmb3Jt
YW5jZUVudHJ5TGlzdDo6Y3JlYXRlKCk7CisKKyNpZiBFTkFCTEUoUkVTT1VSQ0VfVElNSU5HKQor
ICAgIGVudHJpZXMtPmFwcGVuZEFsbChtX3Jlc291cmNlVGltaW5nQnVmZmVyKTsKKyNlbmRpZiAv
LyBFTkFCTEUoUkVTT1VSQ0VfVElNSU5HKQorCiAgICAgcmV0dXJuIGVudHJpZXM7CiB9CiAKLVBh
c3NSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeUxpc3Q+IFBlcmZvcm1hbmNlOjp3ZWJraXRHZXRFbnRy
aWVzQnlUeXBlKGNvbnN0IFN0cmluZyYpCitQYXNzUmVmUHRyPFBlcmZvcm1hbmNlRW50cnlMaXN0
PiBQZXJmb3JtYW5jZTo6d2Via2l0R2V0RW50cmllc0J5VHlwZShjb25zdCBTdHJpbmcmIGVudHJ5
VHlwZSkKIHsKICAgICBSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeUxpc3Q+IGVudHJpZXMgPSBQZXJm
b3JtYW5jZUVudHJ5TGlzdDo6Y3JlYXRlKCk7CisKKyNpZiBFTkFCTEUoUkVTT1VSQ0VfVElNSU5H
KQorICAgIGlmIChlcXVhbElnbm9yaW5nQ2FzZShlbnRyeVR5cGUsICJyZXNvdXJjZSIpKQorICAg
ICAgICBmb3IgKFZlY3RvcjxSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeT4gPjo6Y29uc3RfaXRlcmF0
b3IgcmVzb3VyY2UgPSBtX3Jlc291cmNlVGltaW5nQnVmZmVyLmJlZ2luKCk7IHJlc291cmNlICE9
IG1fcmVzb3VyY2VUaW1pbmdCdWZmZXIuZW5kKCk7ICsrcmVzb3VyY2UpCisgICAgICAgICAgICBl
bnRyaWVzLT5hcHBlbmQoKnJlc291cmNlKTsKKyNlbmRpZiAvLyBFTkFCTEUoUkVTT1VSQ0VfVElN
SU5HKQorCiAgICAgcmV0dXJuIGVudHJpZXM7CiB9CiAKLVBhc3NSZWZQdHI8UGVyZm9ybWFuY2VF
bnRyeUxpc3Q+IFBlcmZvcm1hbmNlOjp3ZWJraXRHZXRFbnRyaWVzQnlOYW1lKGNvbnN0IFN0cmlu
ZyYsIGNvbnN0IFN0cmluZyYpCitQYXNzUmVmUHRyPFBlcmZvcm1hbmNlRW50cnlMaXN0PiBQZXJm
b3JtYW5jZTo6d2Via2l0R2V0RW50cmllc0J5TmFtZShjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0
IFN0cmluZyYgZW50cnlUeXBlKQogewogICAgIFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5TGlzdD4g
ZW50cmllcyA9IFBlcmZvcm1hbmNlRW50cnlMaXN0OjpjcmVhdGUoKTsKKworI2lmIEVOQUJMRShS
RVNPVVJDRV9USU1JTkcpCisgICAgaWYgKGVudHJ5VHlwZS5pc051bGwoKSB8fCBlcXVhbElnbm9y
aW5nQ2FzZShlbnRyeVR5cGUsICJyZXNvdXJjZSIpKQorICAgICAgICBmb3IgKFZlY3RvcjxSZWZQ
dHI8UGVyZm9ybWFuY2VFbnRyeT4gPjo6Y29uc3RfaXRlcmF0b3IgcmVzb3VyY2UgPSBtX3Jlc291
cmNlVGltaW5nQnVmZmVyLmJlZ2luKCk7IHJlc291cmNlICE9IG1fcmVzb3VyY2VUaW1pbmdCdWZm
ZXIuZW5kKCk7ICsrcmVzb3VyY2UpCisgICAgICAgICAgICBpZiAoKCpyZXNvdXJjZSktPm5hbWUo
KSA9PSBuYW1lKQorICAgICAgICAgICAgICAgIGVudHJpZXMtPmFwcGVuZCgqcmVzb3VyY2UpOwor
I2VuZGlmIC8vIEVOQUJMRShSRVNPVVJDRV9USU1JTkcpCisKICAgICByZXR1cm4gZW50cmllczsK
IH0KIAogI2VuZGlmIC8vIEVOQUJMRShQRVJGT1JNQU5DRV9USU1FTElORSkKIAorI2lmIEVOQUJM
RShSRVNPVVJDRV9USU1JTkcpCisKK3ZvaWQgUGVyZm9ybWFuY2U6OndlYmtpdENsZWFyUmVzb3Vy
Y2VUaW1pbmdzKCkKK3sKKyAgICBtX3Jlc291cmNlVGltaW5nQnVmZmVyLmNsZWFyKCk7Cit9CisK
K3ZvaWQgUGVyZm9ybWFuY2U6OndlYmtpdFNldFJlc291cmNlVGltaW5nQnVmZmVyU2l6ZSh1bnNp
Z25lZCBpbnQpCit7CisgICAgLy8gRklYTUU6IEltcGxlbWVudCB0aGlzLgorfQorCit2b2lkIFBl
cmZvcm1hbmNlOjphZGRSZXNvdXJjZVRpbWluZyhjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVl
c3QsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlLCBkb3VibGUgZmluaXNoVGltZSwg
RG9jdW1lbnQqIHJlcXVlc3RpbmdEb2N1bWVudCkKK3sKKyAgICBpZiAoIXJlc3BvbnNlLnJlc291
cmNlTG9hZFRpbWluZygpKQorICAgICAgICByZXR1cm47CisKKyAgICBSZWZQdHI8UGVyZm9ybWFu
Y2VFbnRyeT4gZW50cnkgPSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpjcmVhdGUocmVxdWVz
dCwgcmVzcG9uc2UsIGZpbmlzaFRpbWUsIHJlcXVlc3RpbmdEb2N1bWVudCk7CisgICAgLy8gRklY
TUU6IE5lZWQgdG8gZW5mb3JjZSBidWZmZXIgbGltaXRzLgorICAgIG1fcmVzb3VyY2VUaW1pbmdC
dWZmZXIuYXBwZW5kKGVudHJ5KTsKK30KKworI2VuZGlmIC8vIEVOQUJMRShSRVNPVVJDRV9USU1J
TkcpCisKK0V2ZW50VGFyZ2V0RGF0YSogUGVyZm9ybWFuY2U6OmV2ZW50VGFyZ2V0RGF0YSgpCit7
CisgICAgcmV0dXJuICZtX2V2ZW50VGFyZ2V0RGF0YTsKK30KKworRXZlbnRUYXJnZXREYXRhKiBQ
ZXJmb3JtYW5jZTo6ZW5zdXJlRXZlbnRUYXJnZXREYXRhKCkKK3sKKyAgICByZXR1cm4gJm1fZXZl
bnRUYXJnZXREYXRhOworfQorCiBkb3VibGUgUGVyZm9ybWFuY2U6OndlYmtpdE5vdygpIGNvbnN0
CiB7CiAgICAgcmV0dXJuIDEwMDAuMCAqIG1fZnJhbWUtPmRvY3VtZW50KCktPmxvYWRlcigpLT50
aW1pbmcoKS0+Y29udmVydE1vbm90b25pY1RpbWVUb1plcm9CYXNlZERvY3VtZW50VGltZShtb25v
dG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1BlcmZvcm1hbmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmgKaW5k
ZXggYWE0Yzc5MjgyNTdlZWI0MTQ2NjU1ZDhkODI5ZDc2Y2Y3OTMzMWRmOC4uZGVhZTBhZWMwY2Q3
YjE2NGE0ODE1YTE5MWQyODJjY2NlNTgyNDFhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGFnZS9QZXJmb3JtYW5jZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2Uu
aApAQCAtMzQsNiArMzQsNyBAQAogI2lmIEVOQUJMRShXRUJfVElNSU5HKQogCiAjaW5jbHVkZSAi
RE9NV2luZG93UHJvcGVydHkuaCIKKyNpbmNsdWRlICJFdmVudFRhcmdldC5oIgogI2luY2x1ZGUg
Ik1lbW9yeUluZm8uaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZUVudHJ5TGlzdC5oIgogI2luY2x1
ZGUgIlBlcmZvcm1hbmNlTmF2aWdhdGlvbi5oIgpAQCAtNDUsOSArNDYsMTcgQEAKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCi1jbGFzcyBQZXJmb3JtYW5jZSA6IHB1YmxpYyBSZWZDb3VudGVkPFBl
cmZvcm1hbmNlPiwgcHVibGljIERPTVdpbmRvd1Byb3BlcnR5IHsKK2NsYXNzIERvY3VtZW50Owor
Y2xhc3MgUmVzb3VyY2VSZXF1ZXN0OworY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKKworY2xhc3Mg
UGVyZm9ybWFuY2UgOiBwdWJsaWMgUmVmQ291bnRlZDxQZXJmb3JtYW5jZT4sIHB1YmxpYyBET01X
aW5kb3dQcm9wZXJ0eSwgcHVibGljIEV2ZW50VGFyZ2V0IHsKIHB1YmxpYzoKICAgICBzdGF0aWMg
UGFzc1JlZlB0cjxQZXJmb3JtYW5jZT4gY3JlYXRlKEZyYW1lKiBmcmFtZSkgeyByZXR1cm4gYWRv
cHRSZWYobmV3IFBlcmZvcm1hbmNlKGZyYW1lKSk7IH0KKyAgICB+UGVyZm9ybWFuY2UoKTsKKwor
ICAgIHZpcnR1YWwgY29uc3QgQXRvbWljU3RyaW5nJiBpbnRlcmZhY2VOYW1lKCkgY29uc3Q7Cisg
ICAgdmlydHVhbCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0
KCkgY29uc3Q7CiAKICAgICBQYXNzUmVmUHRyPE1lbW9yeUluZm8+IG1lbW9yeSgpIGNvbnN0Owog
ICAgIFBlcmZvcm1hbmNlTmF2aWdhdGlvbiogbmF2aWdhdGlvbigpIGNvbnN0OwpAQCAtNjAsMTEg
KzY5LDM1IEBAIHB1YmxpYzoKICAgICBQYXNzUmVmUHRyPFBlcmZvcm1hbmNlRW50cnlMaXN0PiB3
ZWJraXRHZXRFbnRyaWVzQnlOYW1lKGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBl
bnRyeVR5cGUpOwogI2VuZGlmCiAKKyNpZiBFTkFCTEUoUkVTT1VSQ0VfVElNSU5HKQorICAgIHZv
aWQgd2Via2l0Q2xlYXJSZXNvdXJjZVRpbWluZ3MoKTsKKyAgICB2b2lkIHdlYmtpdFNldFJlc291
cmNlVGltaW5nQnVmZmVyU2l6ZSh1bnNpZ25lZCBpbnQpOworCisgICAgREVGSU5FX0FUVFJJQlVU
RV9FVkVOVF9MSVNURU5FUih3ZWJraXRyZXNvdXJjZXRpbWluZ2J1ZmZlcmZ1bGwpOworCisgICAg
dm9pZCBhZGRSZXNvdXJjZVRpbWluZyhjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBSZXNv
dXJjZVJlc3BvbnNlJiwgZG91YmxlIGZpbmlzaFRpbWUsIERvY3VtZW50Kik7CisjZW5kaWYKKwor
ICAgIHVzaW5nIFJlZkNvdW50ZWQ8UGVyZm9ybWFuY2U+OjpyZWY7CisgICAgdXNpbmcgUmVmQ291
bnRlZDxQZXJmb3JtYW5jZT46OmRlcmVmOworCiBwcml2YXRlOgogICAgIGV4cGxpY2l0IFBlcmZv
cm1hbmNlKEZyYW1lKik7CiAKKyAgICB2aXJ0dWFsIHZvaWQgcmVmRXZlbnRUYXJnZXQoKSB7IHJl
ZigpOyB9CisgICAgdmlydHVhbCB2b2lkIGRlcmVmRXZlbnRUYXJnZXQoKSB7IGRlcmVmKCk7IH0K
KyAgICB2aXJ0dWFsIEV2ZW50VGFyZ2V0RGF0YSogZXZlbnRUYXJnZXREYXRhKCk7CisgICAgdmly
dHVhbCBFdmVudFRhcmdldERhdGEqIGVuc3VyZUV2ZW50VGFyZ2V0RGF0YSgpOworCisgICAgRXZl
bnRUYXJnZXREYXRhIG1fZXZlbnRUYXJnZXREYXRhOworICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQgKm1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKKwogICAgIG11dGFibGUgUmVmUHRyPFBlcmZv
cm1hbmNlTmF2aWdhdGlvbj4gbV9uYXZpZ2F0aW9uOwogICAgIG11dGFibGUgUmVmUHRyPFBlcmZv
cm1hbmNlVGltaW5nPiBtX3RpbWluZzsKKworI2lmIEVOQUJMRShSRVNPVVJDRV9USU1JTkcpCisg
ICAgVmVjdG9yPFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5PiA+IG1fcmVzb3VyY2VUaW1pbmdCdWZm
ZXI7CisjZW5kaWYKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVy
Zm9ybWFuY2UuaWRsIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5pZGwKaW5kZXgg
NjYzYjc0MjQ3NDk4YmUwODZjM2MyOWJjMzcyZWJjYzJiNmE0ZDQ5Yy4uZmM5ZmZkZjFmN2RmMGIz
NDU4ZDYwNWM4YzdlZjdmMWZjNWU4NzY0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9QZXJmb3JtYW5jZS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5p
ZGwKQEAgLTMzLDYgKzMzLDcgQEAgbW9kdWxlIHdpbmRvdyB7CiAgICAgLy8gU2VlOiBodHRwOi8v
ZGV2LnczLm9yZy8yMDA2L3dlYmFwaS9XZWJUaW1pbmcvCiAgICAgaW50ZXJmYWNlIFsKICAgICAg
ICAgQ29uZGl0aW9uYWw9V0VCX1RJTUlORywKKyAgICAgICAgRXZlbnRUYXJnZXQsCiAgICAgICAg
IE9taXRDb25zdHJ1Y3RvcgogICAgIF0gUGVyZm9ybWFuY2UgewogICAgICAgICByZWFkb25seSBh
dHRyaWJ1dGUgUGVyZm9ybWFuY2VOYXZpZ2F0aW9uIG5hdmlnYXRpb247CkBAIC00NCw2ICs0NSwx
MyBAQCBtb2R1bGUgd2luZG93IHsKICAgICAgICAgUGVyZm9ybWFuY2VFbnRyeUxpc3Qgd2Via2l0
R2V0RW50cmllc0J5VHlwZShpbiBET01TdHJpbmcgZW50cnlUeXBlKTsKICAgICAgICAgUGVyZm9y
bWFuY2VFbnRyeUxpc3Qgd2Via2l0R2V0RW50cmllc0J5TmFtZShpbiBET01TdHJpbmcgbmFtZSwg
aW4gW09wdGlvbmFsPURlZmF1bHRJc051bGxTdHJpbmddIERPTVN0cmluZyBlbnRyeVR5cGUpOwog
I2VuZGlmCisKKyNpZiBkZWZpbmVkKEVOQUJMRV9SRVNPVVJDRV9USU1JTkcpICYmIEVOQUJMRV9S
RVNPVVJDRV9USU1JTkcKKyAgICAgICAgdm9pZCB3ZWJraXRDbGVhclJlc291cmNlVGltaW5ncygp
OworICAgICAgICB2b2lkIHdlYmtpdFNldFJlc291cmNlVGltaW5nQnVmZmVyU2l6ZShpbiB1bnNp
Z25lZCBsb25nIG1heFNpemUpOworCisgICAgICAgIGF0dHJpYnV0ZSBFdmVudExpc3RlbmVyIG9u
d2Via2l0cmVzb3VyY2V0aW1pbmdidWZmZXJmdWxsOworI2VuZGlmCiAgICAgICAgIC8vIFNlZSBo
dHRwOi8vd3d3LnczLm9yZy9UUi9oci10aW1lLyBmb3IgZGV0YWlscy4KICAgICAgICAgZG91Ymxl
IHdlYmtpdE5vdygpOwogICAgIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bl
cmZvcm1hbmNlRW50cnkuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5
LmNwcAppbmRleCBhYzUyM2M2ZGM2MTc4OTgyY2E1ZWVlNzIyYTkyZTBiOGJjNDhmMTkyLi5hZDY5
NTQ3MDBlNjcyNGZiMTNhMDUxMWQyMDExOTM3NDFmOTUyYmE0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50cnkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvUGVyZm9ybWFuY2VFbnRyeS5jcHAKQEAgLTQzLDYgKzQzLDEwIEBAIFBlcmZvcm1hbmNlRW50
cnk6OlBlcmZvcm1hbmNlRW50cnkoY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGVu
dHJ5VHlwZSwKIHsKIH0KIAorUGVyZm9ybWFuY2VFbnRyeTo6flBlcmZvcm1hbmNlRW50cnkoKQor
eworfQorCiBTdHJpbmcgUGVyZm9ybWFuY2VFbnRyeTo6bmFtZSgpIGNvbnN0CiB7CiAgICAgcmV0
dXJuIG1fbmFtZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VF
bnRyeS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmgKaW5kZXggODY2
NmU0MzFkYWUzMWUwZTMyZGZlYzIyOTY5ZGYzNzI1OWI5MTU5MS4uNmQ5NjcyMTk3NTNhNGI1YWM3
MmRjNGM0NDRjYjBmMWIzZWYyOTJjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9Q
ZXJmb3JtYW5jZUVudHJ5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVu
dHJ5LmgKQEAgLTQyLDExICs0MiwxNSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFBl
cmZvcm1hbmNlRW50cnkgOiBwdWJsaWMgUmVmQ291bnRlZDxQZXJmb3JtYW5jZUVudHJ5PiB7CiBw
dWJsaWM6CisgICAgdmlydHVhbCB+UGVyZm9ybWFuY2VFbnRyeSgpOworCiAgICAgU3RyaW5nIG5h
bWUoKSBjb25zdDsKICAgICBTdHJpbmcgZW50cnlUeXBlKCkgY29uc3Q7CiAgICAgZG91YmxlIHN0
YXJ0VGltZSgpIGNvbnN0OwogICAgIGRvdWJsZSBkdXJhdGlvbigpIGNvbnN0OwogCisgICAgdmly
dHVhbCBib29sIGlzUmVzb3VyY2UoKSB7IHJldHVybiBmYWxzZTsgfQorCiBwcm90ZWN0ZWQ6CiAg
ICAgUGVyZm9ybWFuY2VFbnRyeShjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgZW50
cnlUeXBlLCBkb3VibGUgc3RhcnRUaW1lLCBkb3VibGUgZHVyYXRpb24pOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50cnkuaWRsIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmlkbAppbmRleCBhNzg4YmQ5YzZlNDI3YmNkMDZjMGFk
NDU2MjU5NGNlYzMxM2VlYjRkLi45ZTEwZmUwYmYxNzUzMTlmMjJjMzdkMjYwM2EwZTgyZDk4ZjM4
MzJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50cnkuaWRs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeS5pZGwKQEAgLTM0LDYg
KzM0LDcgQEAgbW9kdWxlIHdpbmRvdyB7CiAgICAgaW50ZXJmYWNlIFsKICAgICAgICAgQ29uZGl0
aW9uYWw9V0VCX1RJTUlORywKICAgICAgICAgQ29uZGl0aW9uYWw9UEVSRk9STUFOQ0VfVElNRUxJ
TkUsCisgICAgICAgIEN1c3RvbVRvSlNPYmplY3QsCiAgICAgICAgIE9taXRDb25zdHJ1Y3Rvcgog
ICAgIF0gUGVyZm9ybWFuY2VFbnRyeSB7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01T
dHJpbmcgbmFtZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VF
bnRyeUxpc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5TGlzdC5j
cHAKaW5kZXggYTRlMDlhMzE5M2Y1OTk3OWE4YzFkOWQ1MzBmY2YyZDc1YzQ3MjU5Ny4uOWYyNzNi
YzQ0OWI0MWI0MjU1NzM0MTE5MGRiZmE2OGU0MmI0ZjY1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5TGlzdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9QZXJmb3JtYW5jZUVudHJ5TGlzdC5jcHAKQEAgLTYyLDYgKzYyLDExIEBAIHZvaWQgUGVy
Zm9ybWFuY2VFbnRyeUxpc3Q6OmFwcGVuZChQYXNzUmVmUHRyPFBlcmZvcm1hbmNlRW50cnk+IGVu
dHJ5KQogICAgIG1fZW50cmllcy5hcHBlbmQoZW50cnkpOwogfQogCit2b2lkIFBlcmZvcm1hbmNl
RW50cnlMaXN0OjphcHBlbmRBbGwoY29uc3QgVmVjdG9yPFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5
PiA+JiBlbnRyaWVzKQoreworICAgIG1fZW50cmllcy5hcHBlbmQoZW50cmllcyk7Cit9CisKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShXRUJfVElNSU5HKSAmJiBF
TkFCTEUoUEVSRk9STUFOQ0VfVElNRUxJTkUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1BlcmZvcm1hbmNlRW50cnlMaXN0LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1h
bmNlRW50cnlMaXN0LmgKaW5kZXggMGVjZjliYTNiZTU3NWQ3MmEyNDAzMTMzOTA0ZWU4NzhhMDE4
ZDRhZC4uOGY3NjI2N2UxZDJhMTA0NGM1NzhkZDE2ZTdhYjE4ZDJiM2E3MWZhNiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5TGlzdC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeUxpc3QuaApAQCAtNTEsNiArNTEsNyBAQCBw
dWJsaWM6CiAgICAgUGVyZm9ybWFuY2VFbnRyeSogaXRlbSh1bnNpZ25lZCBpbmRleCk7CiAKICAg
ICB2b2lkIGFwcGVuZChQYXNzUmVmUHRyPFBlcmZvcm1hbmNlRW50cnk+KTsKKyAgICB2b2lkIGFw
cGVuZEFsbChjb25zdCBWZWN0b3I8UmVmUHRyPFBlcmZvcm1hbmNlRW50cnk+ID4mKTsKIAogcHJp
dmF0ZToKICAgICBQZXJmb3JtYW5jZUVudHJ5TGlzdCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDk3NmFkZDc4
MDMyODgzYzNmNGE1YTE3YmZmYmVhYzZkZWY0ZGQxYwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5jcHAKQEAgLTAsMCArMSwx
NTcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAq
CisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICog
aW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29n
bGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29m
dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP
TlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQK
KyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiUGVyZm9ybWFuY2VSZXNvdXJjZVRp
bWluZy5oIgorCisjaWYgRU5BQkxFKFJFU09VUkNFX1RJTUlORykKKworI2luY2x1ZGUgIkRvY3Vt
ZW50LmgiCisjaW5jbHVkZSAiRG9jdW1lbnRMb2FkVGltaW5nLmgiCisjaW5jbHVkZSAiRG9jdW1l
bnRMb2FkZXIuaCIKKyNpbmNsdWRlICJLVVJMLmgiCisjaW5jbHVkZSAiUmVzb3VyY2VSZXF1ZXN0
LmgiCisjaW5jbHVkZSAiUmVzb3VyY2VSZXNwb25zZS5oIgorI2luY2x1ZGUgIlNlY3VyaXR5T3Jp
Z2luLmgiCisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisK
K1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcoY29u
c3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNw
b25zZSwgZG91YmxlIGZpbmlzaFRpbWUsIERvY3VtZW50KiByZXF1ZXN0aW5nRG9jdW1lbnQpCisg
ICAgOiBQZXJmb3JtYW5jZUVudHJ5KHJlcXVlc3QudXJsKCkuc3RyaW5nKCksICJyZXNvdXJjZSIs
IHJlc3BvbnNlLnJlc291cmNlTG9hZFRpbWluZygpLT5yZXF1ZXN0VGltZSwgZmluaXNoVGltZSkK
KyAgICAsIG1fdGltaW5nKHJlc3BvbnNlLnJlc291cmNlTG9hZFRpbWluZygpKQorICAgICwgbV9m
aW5pc2hUaW1lKGZpbmlzaFRpbWUpCisgICAgLCBtX3JlcXVlc3RpbmdEb2N1bWVudChyZXF1ZXN0
aW5nRG9jdW1lbnQpCit7Cit9CisKK1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6On5QZXJmb3Jt
YW5jZVJlc291cmNlVGltaW5nKCkKK3sKK30KKworU3RyaW5nIFBlcmZvcm1hbmNlUmVzb3VyY2VU
aW1pbmc6OmluaXRpYXRvclR5cGUoKSBjb25zdAoreworICAgIC8vIEZJWE1FOiBUaGlzIHNob3Vs
ZCBiZSBkZWNpZGVkIGJ5IHRoZSByZXNvdXJjZSB0eXBlLgorICAgIHJldHVybiAib3RoZXIiOwor
fQorCisvLyBGSVhNRTogTmVlZCB0byBlbmZvcmNlIHNhbWUtb3JpZ2luIHBvbGljeSBvbiB0aGVz
ZS4KKworZG91YmxlIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OnJlZGlyZWN0U3RhcnQoKSBj
b25zdAoreworICAgIC8vIEZJWE1FOiBOZWVkIHRvIHRyYWNrIGFuZCByZXBvcnQgcmVkaXJlY3Rz
IGZvciByZXNvdXJjZXMuCisgICAgcmV0dXJuIDA7Cit9CisKK2RvdWJsZSBQZXJmb3JtYW5jZVJl
c291cmNlVGltaW5nOjpyZWRpcmVjdEVuZCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIDA7Cit9CisK
K2RvdWJsZSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpmZXRjaFN0YXJ0KCkgY29uc3QKK3sK
KyAgICByZXR1cm4gbW9ub3RvbmljVGltZVRvRG9jdW1lbnRNaWxsaXNlY29uZHMobV90aW1pbmct
PnJlcXVlc3RUaW1lKTsKK30KKworZG91YmxlIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OmRv
bWFpbkxvb2t1cFN0YXJ0KCkgY29uc3QKK3sKKyAgICBpZiAobV90aW1pbmctPmRuc1N0YXJ0IDwg
MCkKKyAgICAgICAgcmV0dXJuIGZldGNoU3RhcnQoKTsKKworICAgIHJldHVybiByZXNvdXJjZVRp
bWVUb0RvY3VtZW50TWlsbGlzZWNvbmRzKG1fdGltaW5nLT5kbnNTdGFydCk7Cit9CisKK2RvdWJs
ZSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpkb21haW5Mb29rdXBFbmQoKSBjb25zdAorewor
ICAgIGlmIChtX3RpbWluZy0+ZG5zRW5kIDwgMCkKKyAgICAgICAgcmV0dXJuIGRvbWFpbkxvb2t1
cFN0YXJ0KCk7CisKKyAgICByZXR1cm4gcmVzb3VyY2VUaW1lVG9Eb2N1bWVudE1pbGxpc2Vjb25k
cyhtX3RpbWluZy0+ZG5zRW5kKTsKK30KKworZG91YmxlIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1p
bmc6OmNvbm5lY3RTdGFydCgpIGNvbnN0Cit7CisgICAgaWYgKG1fdGltaW5nLT5jb25uZWN0U3Rh
cnQgPCAwKSAvLyBDb25uZWN0aW9uIHdhcyByZXVzZWQuCisgICAgICAgIHJldHVybiBkb21haW5M
b29rdXBFbmQoKTsKKworICAgIC8vIGNvbm5lY3RTdGFydCBpbmNsdWRlcyBhbnkgRE5TIHRpbWUs
IHNvIHdlIG1heSBuZWVkIHRvIHRyaW0gdGhhdCBvZmYuCisgICAgaW50IGNvbm5lY3RTdGFydCA9
IG1fdGltaW5nLT5jb25uZWN0U3RhcnQ7CisgICAgaWYgKG1fdGltaW5nLT5kbnNFbmQgPj0gMCkK
KyAgICAgICAgY29ubmVjdFN0YXJ0ID0gbV90aW1pbmctPmRuc0VuZDsKKworICAgIHJldHVybiBy
ZXNvdXJjZVRpbWVUb0RvY3VtZW50TWlsbGlzZWNvbmRzKGNvbm5lY3RTdGFydCk7Cit9CisKK2Rv
dWJsZSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpjb25uZWN0RW5kKCkgY29uc3QKK3sKKyAg
ICBpZiAobV90aW1pbmctPmNvbm5lY3RFbmQgPCAwKSAvLyBDb25uZWN0aW9uIHdhcyByZXVzZWQu
CisgICAgICAgIHJldHVybiBjb25uZWN0U3RhcnQoKTsKKworICAgIHJldHVybiByZXNvdXJjZVRp
bWVUb0RvY3VtZW50TWlsbGlzZWNvbmRzKG1fdGltaW5nLT5jb25uZWN0RW5kKTsKK30KKworZG91
YmxlIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OnNlY3VyZUNvbm5lY3Rpb25TdGFydCgpIGNv
bnN0Cit7CisgICAgaWYgKG1fdGltaW5nLT5zc2xTdGFydCA8IDApIC8vIFNlY3VyZSBjb25uZWN0
aW9uIG5vdCBuZWdvdGlhdGVkLgorICAgICAgICByZXR1cm4gMDsKKworICAgIHJldHVybiByZXNv
dXJjZVRpbWVUb0RvY3VtZW50TWlsbGlzZWNvbmRzKG1fdGltaW5nLT5zc2xTdGFydCk7Cit9CisK
K2RvdWJsZSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpyZXF1ZXN0U3RhcnQoKSBjb25zdAor
eworICAgIHJldHVybiByZXNvdXJjZVRpbWVUb0RvY3VtZW50TWlsbGlzZWNvbmRzKG1fdGltaW5n
LT5zZW5kU3RhcnQpOworfQorCitkb3VibGUgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6cmVz
cG9uc2VTdGFydCgpIGNvbnN0Cit7CisgICAgLy8gRklYTUU6IFRoaXMgbnVtYmVyIGlzbid0IGV4
YWN0bHkgY29ycmVjdC4gU2VlIHRoZSBub3RlcyBpbiBQZXJmb3JtYW5jZVRpbWluZzo6cmVzcG9u
c2VTdGFydCgpLgorICAgIHJldHVybiByZXNvdXJjZVRpbWVUb0RvY3VtZW50TWlsbGlzZWNvbmRz
KG1fdGltaW5nLT5yZWNlaXZlSGVhZGVyc0VuZCk7Cit9CisKK2RvdWJsZSBQZXJmb3JtYW5jZVJl
c291cmNlVGltaW5nOjpyZXNwb25zZUVuZCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1vbm90b25p
Y1RpbWVUb0RvY3VtZW50TWlsbGlzZWNvbmRzKG1fZmluaXNoVGltZSk7Cit9CisKK2RvdWJsZSBQ
ZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjptb25vdG9uaWNUaW1lVG9Eb2N1bWVudE1pbGxpc2Vj
b25kcyhkb3VibGUgc2Vjb25kcykgY29uc3QKK3sKKyAgICBBU1NFUlQoc2Vjb25kcyA+PSAwLjAp
OworICAgIHJldHVybiBtX3JlcXVlc3RpbmdEb2N1bWVudC0+bG9hZGVyKCktPnRpbWluZygpLT5j
b252ZXJ0TW9ub3RvbmljVGltZVRvRG9jdW1lbnRUaW1lKHNlY29uZHMpICogMTAwMC4wOworfQor
Citkb3VibGUgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6cmVzb3VyY2VUaW1lVG9Eb2N1bWVu
dE1pbGxpc2Vjb25kcyhpbnQgZGVsdGFNaWxsaXNlY29uZHMpIGNvbnN0Cit7CisgICAgcmV0dXJu
IG1vbm90b25pY1RpbWVUb0RvY3VtZW50TWlsbGlzZWNvbmRzKG1fdGltaW5nLT5yZXF1ZXN0VGlt
ZSkgKyBkZWx0YU1pbGxpc2Vjb25kczsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisj
ZW5kaWYgLy8gRU5BQkxFKFJFU09VUkNFX1RJTUlORykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5oIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDgyYjg5MjUxNDk2Mjll
ODhkM2Q3MWFhNjhiYjExYjc1MjY2MGE5MgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5oCkBAIC0wLDAgKzEsODggQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICog
ZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBu
b3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0
aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9S
UworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVS
IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAq
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZu
ZGVmIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmdfaAorI2RlZmluZSBQZXJmb3JtYW5jZVJlc291
cmNlVGltaW5nX2gKKworI2lmIEVOQUJMRShSRVNPVVJDRV9USU1JTkcpCisKKyNpbmNsdWRlICJQ
ZXJmb3JtYW5jZUVudHJ5LmgiCisjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KKyNpbmNsdWRl
IDx3dGYvUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CisKK25hbWVz
cGFjZSBXZWJDb3JlIHsKKworY2xhc3MgRG9jdW1lbnQ7CitjbGFzcyBLVVJMOworY2xhc3MgUmVz
b3VyY2VMb2FkVGltaW5nOworY2xhc3MgUmVzb3VyY2VSZXF1ZXN0OworY2xhc3MgUmVzb3VyY2VS
ZXNwb25zZTsKKworY2xhc3MgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZyA6IHB1YmxpYyBQZXJm
b3JtYW5jZUVudHJ5IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxQZXJmb3JtYW5j
ZVJlc291cmNlVGltaW5nPiBjcmVhdGUoY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBj
b25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSwgZG91YmxlIGZpbmlzaFRpbWUsIERvY3Vt
ZW50KiByZXF1ZXN0aW5nRG9jdW1lbnQpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYo
bmV3IFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcocmVxdWVzdCwgcmVzcG9uc2UsIGZpbmlzaFRp
bWUsIHJlcXVlc3RpbmdEb2N1bWVudCkpOworICAgIH0KKworICAgIFN0cmluZyBpbml0aWF0b3JU
eXBlKCkgY29uc3Q7CisKKyAgICBkb3VibGUgcmVkaXJlY3RTdGFydCgpIGNvbnN0OworICAgIGRv
dWJsZSByZWRpcmVjdEVuZCgpIGNvbnN0OworICAgIGRvdWJsZSBmZXRjaFN0YXJ0KCkgY29uc3Q7
CisgICAgZG91YmxlIGRvbWFpbkxvb2t1cFN0YXJ0KCkgY29uc3Q7CisgICAgZG91YmxlIGRvbWFp
bkxvb2t1cEVuZCgpIGNvbnN0OworICAgIGRvdWJsZSBjb25uZWN0U3RhcnQoKSBjb25zdDsKKyAg
ICBkb3VibGUgY29ubmVjdEVuZCgpIGNvbnN0OworICAgIGRvdWJsZSBzZWN1cmVDb25uZWN0aW9u
U3RhcnQoKSBjb25zdDsKKyAgICBkb3VibGUgcmVxdWVzdFN0YXJ0KCkgY29uc3Q7CisgICAgZG91
YmxlIHJlc3BvbnNlU3RhcnQoKSBjb25zdDsKKyAgICBkb3VibGUgcmVzcG9uc2VFbmQoKSBjb25z
dDsKKworICAgIHZpcnR1YWwgYm9vbCBpc1Jlc291cmNlKCkgeyByZXR1cm4gdHJ1ZTsgfQorCitw
cml2YXRlOgorICAgIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcoY29uc3QgUmVzb3VyY2VSZXF1
ZXN0JiwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYsIGRvdWJsZSBmaW5pc2hUaW1lLCBEb2N1bWVu
dCopOworICAgIH5QZXJmb3JtYW5jZVJlc291cmNlVGltaW5nKCk7CisKKyAgICBkb3VibGUgbW9u
b3RvbmljVGltZVRvRG9jdW1lbnRNaWxsaXNlY29uZHMoZG91YmxlIHNlY29uZHMpIGNvbnN0Owor
ICAgIGRvdWJsZSByZXNvdXJjZVRpbWVUb0RvY3VtZW50TWlsbGlzZWNvbmRzKGludCBkZWx0YU1p
bGxpc2Vjb25kcykgY29uc3Q7CisKKyAgICBSZWZQdHI8UmVzb3VyY2VMb2FkVGltaW5nPiBtX3Rp
bWluZzsKKyAgICBkb3VibGUgbV9maW5pc2hUaW1lOworICAgIFJlZlB0cjxEb2N1bWVudD4gbV9y
ZXF1ZXN0aW5nRG9jdW1lbnQ7Cit9OworCit9CisKKyNlbmRpZiAvLyBFTkFCTEUoUkVTT1VSQ0Vf
VElNSU5HKQorCisjZW5kaWYgLy8gIWRlZmluZWQoUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZ19o
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGlt
aW5nLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5p
ZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uM2UwYWQ1OWNlODRiZjEzZDIxYjE0OTg5YjlmMTAzZTE2OWU4ZjIzOAot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VSZXNvdXJj
ZVRpbWluZy5pZGwKQEAgLTAsMCArMSw1MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBH
b29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
CisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBj
b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0
ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK21vZHVsZSB3aW5kb3cgeworCisgICAgLy8gU2Vl
OiBodHRwczovL2R2Y3MudzMub3JnL2hnL3dlYnBlcmYvcmF3LWZpbGUvdGlwL3NwZWNzL1Jlc291
cmNlVGltaW5nL092ZXJ2aWV3Lmh0bWwKKyAgICBpbnRlcmZhY2UgWworICAgICAgICBDb25kaXRp
b25hbD1SRVNPVVJDRV9USU1JTkcsCisgICAgICAgIE9taXRDb25zdHJ1Y3RvcgorICAgIF0gUGVy
Zm9ybWFuY2VSZXNvdXJjZVRpbWluZyA6IFBlcmZvcm1hbmNlRW50cnkgeworICAgICAgICByZWFk
b25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGluaXRpYXRvclR5cGU7CisKKyAgICAgICAgcmVhZG9u
bHkgYXR0cmlidXRlIGRvdWJsZSByZWRpcmVjdFN0YXJ0OworICAgICAgICByZWFkb25seSBhdHRy
aWJ1dGUgZG91YmxlIHJlZGlyZWN0RW5kOworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgZG91
YmxlIGZldGNoU3RhcnQ7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBkb3VibGUgZG9tYWlu
TG9va3VwU3RhcnQ7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBkb3VibGUgZG9tYWluTG9v
a3VwRW5kOworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgZG91YmxlIGNvbm5lY3RTdGFydDsK
KyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGRvdWJsZSBjb25uZWN0RW5kOworICAgICAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgZG91YmxlIHNlY3VyZUNvbm5lY3Rpb25TdGFydDsKKyAgICAgICAg
cmVhZG9ubHkgYXR0cmlidXRlIGRvdWJsZSByZXF1ZXN0U3RhcnQ7CisgICAgICAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSBkb3VibGUgcmVzcG9uc2VTdGFydDsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmli
dXRlIGRvdWJsZSByZXNwb25zZUVuZDsKKyAgICB9OworfQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>148852</attachid>
            <date>2012-06-21 11:48:11 -0700</date>
            <delta_ts>2012-06-21 14:15:45 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-61152-20120621114811.patch</filename>
            <type>text/plain</type>
            <size>40891</size>
            <attacher name="James Simonsen">simonjam</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIwOTA2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWJkMzNjY2MwOTViMzlj
MTM5MzQ5NDUyZjY4YjMzMDA0YjkzNGM2Ni4uMjU1YzA3NzE4NmY3MjYxYjE0MThhMjM4NjkxOGY4
Zjg5ODFkYjgzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDgxIEBACisyMDEyLTA2LTIxICBKYW1l
cyBTaW1vbnNlbiAgPHNpbW9uamFtQGNocm9taXVtLm9yZz4KKworICAgICAgICBbUmVzb3VyY2Ug
VGltaW5nXSBJbXBsZW1lbnQgUmVzb3VyY2UgVGltaW5nIGludGVyZmFjZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjExNTIKKworICAgICAgICBUaGlz
IHBhdGNoIGltcGxlbWVudHMgdGhlIFJlc291cmNlIFRpbWluZyBpbnRlcmZhY2UuIEl0IGRvZXNu
J3QgZG8gYW55dGhpbmcKKyAgICAgICAgdXNlZnVsLCBiZWNhdXNlIG5vdGhpbmcgcG9wdWxhdGVz
IHRoZSB0aW1lbGluZSB5ZXQuIFRoZXJlIGFyZSBhbHNvIHNvbWUgZ2FwcworICAgICAgICBpbiB0
aGUgaW1wbGVtZW50YXRpb24sIHdoaWNoIGhhdmUgYmVlbiBmaWxlZCBhcyBidWdzLgorCisgICAg
ICAgIGh0dHA6Ly9kdmNzLnczLm9yZy9oZy93ZWJwZXJmL3Jhdy1maWxlL3RpcC9zcGVjcy9SZXNv
dXJjZVRpbWluZy9PdmVydmlldy5odG1sCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgVG9ueSBHZW50
aWxjb3JlLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4gRmVhdHVyZSBpcyBkaXNhYmxlZCBvbiBh
bGwgcGxhdGZvcm1zLgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogRGVy
aXZlZFNvdXJjZXMucHJpOgorICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAgICAg
ICogVGFyZ2V0LnByaToKKyAgICAgICAgKiBVc2VWOC5jbWFrZToKKyAgICAgICAgKiBXZWJDb3Jl
Lmd5cGk6CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6CisgICAgICAg
ICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdz
L3Y4L2N1c3RvbS9WOFBlcmZvcm1hbmNlRW50cnlDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29y
ZSk6CisgICAgICAgIChXZWJDb3JlOjp0b1Y4KTogU3VwcG9ydCBQZXJmb3JtYW5jZUVudHJ5IHBv
bHltb3JwaGlzbS4KKyAgICAgICAgKiBkb20vRXZlbnROYW1lcy5oOgorICAgICAgICAoV2ViQ29y
ZSk6CisgICAgICAgICogZG9tL0V2ZW50VGFyZ2V0RmFjdG9yeS5pbjoKKyAgICAgICAgKiBwYWdl
L1BlcmZvcm1hbmNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlOjp+UGVyZm9y
bWFuY2UpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5j
ZTo6aW50ZXJmYWNlTmFtZSk6IFJlcWlyZWQgZm9yIEV2ZW50VGFyZ2V0LgorICAgICAgICAoV2Vi
Q29yZTo6UGVyZm9ybWFuY2U6OnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQpOiBEaXR0by4KKyAgICAg
ICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlOjp3ZWJraXRHZXRFbnRyaWVzKTogUmV0dXJuICJyZXNv
dXJjZSIgZW50cmllcy4KKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlOjp3ZWJraXRHZXRF
bnRyaWVzQnlUeXBlKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZTo6d2Vi
a2l0R2V0RW50cmllc0J5TmFtZSk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFu
Y2U6OndlYmtpdENsZWFyUmVzb3VyY2VUaW1pbmdzKTogTmV3LgorICAgICAgICAoV2ViQ29yZTo6
UGVyZm9ybWFuY2U6OndlYmtpdFNldFJlc291cmNlVGltaW5nQnVmZmVyU2l6ZSk6IE5ldy4gVW5p
bXBsZW1lbnRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlOjphZGRSZXNvdXJjZVRp
bWluZyk6IFRoaXMgaXMgaG93IHJlc291cmNlcyBpbiBXZWJDb3JlIHdpbGwgcmVwb3J0IHRvIHRo
ZSB0aW1lbGluZS4KKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlOjpldmVudFRhcmdldERh
dGEpOiBSZXF1aXJlZCBmb3IgRXZlbnRUYXJnZXQuCisgICAgICAgIChXZWJDb3JlOjpQZXJmb3Jt
YW5jZTo6ZW5zdXJlRXZlbnRUYXJnZXREYXRhKTogRGl0dG8uCisgICAgICAgICogcGFnZS9QZXJm
b3JtYW5jZS5oOgorICAgICAgICAoUGVyZm9ybWFuY2UpOgorICAgICAgICAoV2ViQ29yZTo6UGVy
Zm9ybWFuY2U6OnJlZkV2ZW50VGFyZ2V0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNl
OjpkZXJlZkV2ZW50VGFyZ2V0KToKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlLmlkbDoKKyAg
ICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlRW50cnkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGVy
Zm9ybWFuY2VFbnRyeTo6flBlcmZvcm1hbmNlRW50cnkpOgorICAgICAgICAoV2ViQ29yZSk6Cisg
ICAgICAgICogcGFnZS9QZXJmb3JtYW5jZUVudHJ5Lmg6CisgICAgICAgIChQZXJmb3JtYW5jZUVu
dHJ5KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlRW50cnk6OmlzUmVzb3VyY2UpOgor
ICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VFbnRyeS5pZGw6CisgICAgICAgICogcGFnZS9QZXJm
b3JtYW5jZVJlc291cmNlVGltaW5nLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlKToKKyAg
ICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OlBlcmZvcm1hbmNlUmVz
b3VyY2VUaW1pbmcpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWlu
Zzo6aW5pdGlhdG9yVHlwZSk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZVJlc291cmNl
VGltaW5nOjpyZWRpcmVjdFN0YXJ0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlUmVz
b3VyY2VUaW1pbmc6OnJlZGlyZWN0RW5kKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNl
UmVzb3VyY2VUaW1pbmc6OmZldGNoU3RhcnQpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFu
Y2VSZXNvdXJjZVRpbWluZzo6ZG9tYWluTG9va3VwU3RhcnQpOgorICAgICAgICAoV2ViQ29yZTo6
UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6ZG9tYWluTG9va3VwRW5kKToKKyAgICAgICAgKFdl
YkNvcmU6OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OmNvbm5lY3RTdGFydCk6CisgICAgICAg
IChXZWJDb3JlOjpQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpjb25uZWN0RW5kKToKKyAgICAg
ICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OnNlY3VyZUNvbm5lY3Rpb25T
dGFydCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpyZXF1
ZXN0U3RhcnQpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6
cmVzcG9uc2VTdGFydCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZVJlc291cmNlVGlt
aW5nOjpyZXNwb25zZUVuZCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZVJlc291cmNl
VGltaW5nOjptb25vdG9uaWNUaW1lVG9Eb2N1bWVudE1pbGxpc2Vjb25kcyk6CisgICAgICAgIChX
ZWJDb3JlOjpQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpyZXNvdXJjZVRpbWVUb01pbGxpc2Vj
b25kcyk6CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmg6IEFkZGVk
LgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChQZXJmb3JtYW5jZVJlc291cmNlVGltaW5n
KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OmNyZWF0ZSk6
CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjppc1Jlc291cmNl
KToKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaWRsOiBBZGRlZC4K
KwogMjAxMi0wNi0yMSAgVGFpanUgVHN1aWtpICA8dHppa0BjaHJvbWl1bS5vcmc+CiAKICAgICAg
ICAgV2ViIEluc3BlY3RvcjogTW92ZSByZXF1ZXN0SWQgYWxsb2NhdGlvbiBmcm9tIEZpbGVTeXN0
ZW0gZnJvbnRlbmQgdG8gYmFja2VuZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VM
aXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCAyOWU4OGY1MjVm
ZWEwM2JkMDNjYzVlOWJlM2U4N2ZmMzE0NWU1NzZlLi5hOGFmZDdiNjI1ZDFkMmE3ZWFmMTM2Y2Ni
NWM3M2QwNGZmMWMxMmQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4
dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMzk2LDYgKzM5Niw3IEBA
IFNFVChXZWJDb3JlX0lETF9GSUxFUwogICAgIHBhZ2UvUGVyZm9ybWFuY2VFbnRyeS5pZGwKICAg
ICBwYWdlL1BlcmZvcm1hbmNlRW50cnlMaXN0LmlkbAogICAgIHBhZ2UvUGVyZm9ybWFuY2VOYXZp
Z2F0aW9uLmlkbAorICAgIHBhZ2UvUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5pZGwKICAgICBw
YWdlL1BlcmZvcm1hbmNlVGltaW5nLmlkbAogICAgIHBhZ2UvU2NyZWVuLmlkbAogICAgIHBhZ2Uv
U3BlZWNoSW5wdXRFdmVudC5pZGwKQEAgLTEwODYsNiArMTA4Nyw3IEBAIFNFVChXZWJDb3JlX1NP
VVJDRVMKICAgICBwYWdlL1BlcmZvcm1hbmNlRW50cnkuY3BwCiAgICAgcGFnZS9QZXJmb3JtYW5j
ZUVudHJ5TGlzdC5jcHAKICAgICBwYWdlL1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5jcHAKKyAgICBw
YWdlL1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuY3BwCiAgICAgcGFnZS9QZXJmb3JtYW5jZVRp
bWluZy5jcHAKICAgICBwYWdlL1ByaW50Q29udGV4dC5jcHAKICAgICBwYWdlL1NjcmVlbi5jcHAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaSBiL1NvdXJjZS9X
ZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaQppbmRleCA5YjU0YzdlNDNhNTUxN2MzNDM0NmM2ZWEy
M2FkZjNhNmY4MzAxMDRlLi4wMmM1NTgwZDkzNDk3MDI4ZDQ3YzBmNjcxOTgwNTdkYjllYjg5ODc5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkKKysrIGIvU291
cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMucHJpCkBAIC00MjUsNiArNDI1LDcgQEAgSURMX0JJ
TkRJTkdTICs9IFwKICAgICAkJFBXRC9wYWdlL1BlcmZvcm1hbmNlRW50cnkuaWRsIFwKICAgICAk
JFBXRC9wYWdlL1BlcmZvcm1hbmNlRW50cnlMaXN0LmlkbCBcCiAgICAgJCRQV0QvcGFnZS9QZXJm
b3JtYW5jZU5hdmlnYXRpb24uaWRsIFwKKyAgICAkJFBXRC9wYWdlL1BlcmZvcm1hbmNlUmVzb3Vy
Y2VUaW1pbmcuaWRsIFwKICAgICAkJFBXRC9wYWdlL1BlcmZvcm1hbmNlVGltaW5nLmlkbCBcCiAg
ICAgJCRQV0QvcGFnZS9TY3JlZW4uaWRsIFwKICAgICAkJFBXRC9wYWdlL1NwZWVjaElucHV0RXZl
bnQuaWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0g
Yi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IDk4NWRiOWE3MDdmODZj
ZmFjNzk4MzE3YzE1ZGZhZDEyOGZiYjM1ZGEuLjhjZDAxYTAzODQ0Mjc3MmE2ZDMyNmQyMTZlNDY2
MGQ5OTE2ZDE0MmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3Qu
YW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtOTU3LDYgKzk1
Nyw3IEBAIGRvbV9iaW5kaW5nX2lkbHMgKz0gXAogCSQoV2ViQ29yZSkvcGFnZS9QZXJmb3JtYW5j
ZUVudHJ5LmlkbCBcCiAJJChXZWJDb3JlKS9wYWdlL1BlcmZvcm1hbmNlRW50cnlMaXN0LmlkbCBc
CiAJJChXZWJDb3JlKS9wYWdlL1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5pZGwgXAorCSQoV2ViQ29y
ZSkvcGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmlkbCBcCiAJJChXZWJDb3JlKS9wYWdl
L1BlcmZvcm1hbmNlVGltaW5nLmlkbCBcCiAJJChXZWJDb3JlKS9wYWdlL1NjcmVlbi5pZGwgXAog
CSQoV2ViQ29yZSkvcGFnZS9TcGVlY2hJbnB1dEV2ZW50LmlkbCBcCkBAIC0zMDQwLDYgKzMwNDEs
OCBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFu
Y2VFbnRyeUxpc3QuaCBcCiAJU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU5hdmlnYXRp
b24uY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5oIFwK
KwlTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuY3BwIFwKKwlT
b3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaCBcCiAJU291cmNl
L1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVRpbWluZy5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3Bh
Z2UvUGVyZm9ybWFuY2VUaW1pbmcuaCBcCiAJU291cmNlL1dlYkNvcmUvcGFnZS9Qb2ludGVyTG9j
ay5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkgYi9Tb3VyY2UvV2Vi
Q29yZS9UYXJnZXQucHJpCmluZGV4IGI5ZGRmOTM1NmUyYjJiZThkMmZhODQwODMzOTY0OWIxYTU0
OTBmNGMuLjg0Y2Q5N2Y1NDY5NDI0ODNiMmU0MWU0NDRjYzYxMDBmZWQ5MDhmMjggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKKysrIGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0
LnByaQpAQCAtMjA4LDYgKzIwOCw3IEBAIHY4IHsKICAgICAgICAgYmluZGluZ3MvdjgvY3VzdG9t
L1Y4Tm9kZUN1c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhOb2RlTGlz
dEN1c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhQZXJmb3JtYW5jZUN1
c3RvbS5jcHAgXAorICAgICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhQZXJmb3JtYW5jZUVudHJ5
Q3VzdG9tLmNwcCBcCiAgICAgICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOFNRTFJlc3VsdFNldFJv
d0xpc3RDdXN0b20uY3BwIFwKICAgICAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4U1FMVHJhbnNh
Y3Rpb25DdXN0b20uY3BwIFwKICAgICAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4V2ViU29ja2V0
Q3VzdG9tLmNwcCBcCkBAIC0xMDQ5LDYgKzEwNTAsNyBAQCBTT1VSQ0VTICs9IFwKICAgICBwYWdl
L1BlcmZvcm1hbmNlRW50cnkuY3BwIFwKICAgICBwYWdlL1BlcmZvcm1hbmNlRW50cnlMaXN0LmNw
cCBcCiAgICAgcGFnZS9QZXJmb3JtYW5jZU5hdmlnYXRpb24uY3BwIFwKKyAgICBwYWdlL1BlcmZv
cm1hbmNlUmVzb3VyY2VUaW1pbmcuY3BwIFwKICAgICBwYWdlL1BlcmZvcm1hbmNlVGltaW5nLmNw
cCBcCiAgICAgcGFnZS9QcmludENvbnRleHQuY3BwIFwKICAgICBwYWdlL1NjcmVlbi5jcHAgXApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvVXNlVjguY21ha2UgYi9Tb3VyY2UvV2ViQ29yZS9V
c2VWOC5jbWFrZQppbmRleCBmZmZjMjZiMTM1ZTQyZjMzNmZmNzI3NDliNGU0YTUyYmQxNzczZWRm
Li4yY2ZjMjVhYjUyZjk3N2MzYmY2MTYzMTZkMzgyMTY5OGYwYmM5NzI2IDEwMDc1NQotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Vc2VWOC5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9Vc2VWOC5jbWFr
ZQpAQCAtMTQwLDYgKzE0MCw3IEBAIExJU1QoQVBQRU5EIFdlYkNvcmVfU09VUkNFUwogICAgIGJp
bmRpbmdzL3Y4L2N1c3RvbS9WOE5vdGlmaWNhdGlvbkN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy92
OC9jdXN0b20vVjhOb3RpZmljYXRpb25DZW50ZXJDdXN0b20uY3BwCiAgICAgYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4UGVyZm9ybWFuY2VDdXN0b20uY3BwCisgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4
UGVyZm9ybWFuY2VFbnRyeUN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhQb3BT
dGF0ZUV2ZW50Q3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOFNRTFJlc3VsdFNl
dFJvd0xpc3RDdXN0b20uY3BwCiAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4U1FMVHJhbnNhY3Rp
b25DdXN0b20uY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggYjRmMTQxYTFjYjI2NTY3YmZlODQ5MTFl
ODRlMmNjYzgzYmFiZWRlYS4uODA5YzhkMGQ0NWI1MzgxZjNhZTliMWFlYzQwY2M5N2Q4MmJjNWEw
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtMTE2Nyw2ICsxMTY3LDcgQEAKICAgICAgICAgICAgICdw
YWdlL1BlcmZvcm1hbmNlRW50cnkuaWRsJywKICAgICAgICAgICAgICdwYWdlL1BlcmZvcm1hbmNl
RW50cnlMaXN0LmlkbCcsCiAgICAgICAgICAgICAncGFnZS9QZXJmb3JtYW5jZU5hdmlnYXRpb24u
aWRsJywKKyAgICAgICAgICAgICdwYWdlL1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaWRsJywK
ICAgICAgICAgICAgICdwYWdlL1BlcmZvcm1hbmNlVGltaW5nLmlkbCcsCiAgICAgICAgICAgICAn
cGFnZS9Qb2ludGVyTG9jay5pZGwnLAogICAgICAgICAgICAgJ3BhZ2UvU2NyZWVuLmlkbCcsCkBA
IC0yMzM1LDYgKzIzMzYsNyBAQAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE5v
dGlmaWNhdGlvbkN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9W
OE5vdGlmaWNhdGlvbkNlbnRlckN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4
L2N1c3RvbS9WOFBlcmZvcm1hbmNlQ3VzdG9tLmNwcCcsCisgICAgICAgICAgICAnYmluZGluZ3Mv
djgvY3VzdG9tL1Y4UGVyZm9ybWFuY2VFbnRyeUN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2Jp
bmRpbmdzL3Y4L2N1c3RvbS9WOFBvcFN0YXRlRXZlbnRDdXN0b20uY3BwJywKICAgICAgICAgICAg
ICdiaW5kaW5ncy92OC9jdXN0b20vVjhTUUxSZXN1bHRTZXRSb3dMaXN0Q3VzdG9tLmNwcCcsCiAg
ICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4U1FMVHJhbnNhY3Rpb25DdXN0b20uY3Bw
JywKQEAgLTMwNzAsNiArMzA3Miw4IEBACiAgICAgICAgICAgICAncGFnZS9QZXJmb3JtYW5jZUVu
dHJ5TGlzdC5oJywKICAgICAgICAgICAgICdwYWdlL1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5jcHAn
LAogICAgICAgICAgICAgJ3BhZ2UvUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmgnLAorICAgICAgICAg
ICAgJ3BhZ2UvUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5jcHAnLAorICAgICAgICAgICAgJ3Bh
Z2UvUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5oJywKICAgICAgICAgICAgICdwYWdlL1BlcmZv
cm1hbmNlVGltaW5nLmNwcCcsCiAgICAgICAgICAgICAncGFnZS9QZXJmb3JtYW5jZVRpbWluZy5o
JywKICAgICAgICAgICAgICdwYWdlL1BvaW50ZXJMb2NrLmNwcCcsCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvaiBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCmluZGV4IDA1NmY4OTRiNmUyMzM5MDJiZjQz
MjE1MDMxODJlNjczNTJmNGVmMWEuLmYzNjUwMmZiMzU0YWQxYTY3MDhhMzMwODA4YjNlZGVjOTE4
NjNiMTAgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUu
dmNwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9q
CkBAIC0yNjg3OSw2ICsyNjg3OSwxNCBAQAogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCisJ
CQkJUmVsYXRpdmVQYXRoPSIuLlxwYWdlXFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuY3BwIgor
CQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxwYWdlXFBl
cmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQog
CQkJCVJlbGF0aXZlUGF0aD0iLi5ccGFnZVxQZXJmb3JtYW5jZVRpbWluZy5jcHAiCiAJCQkJPgog
CQkJPC9GaWxlPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCmluZGV4IDQ5MmZjMTIzMzVhNGE3ZmM1Y2IwODY1Yzc4ZmE2YTVlMDU5YTdmY2Iu
Ljk0ZDc1Mzg2ZTcxMzM3MzBiYWM0MGNlNTBhY2E1YmFhOWFlN2JjZTQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTI4OTgsNiAr
Mjg5OCw4IEBACiAJCTg2MUMyRUE0MTNGQjRGREQwMDA2MkFCQiAvKiBEb2N1bWVudExvYWRUaW1p
bmcuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODYx
QzJFQTMxM0ZCNEZERDAwMDYyQUJCIC8qIERvY3VtZW50TG9hZFRpbWluZy5jcHAgKi87IH07CiAJ
CTg2MUMyRUE2MTNGQjRGRkYwMDA2MkFCQiAvKiBSZXNvdXJjZUxvYWRUaW1pbmcuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODYxQzJFQTUxM0ZCNEZG
RjAwMDYyQUJCIC8qIFJlc291cmNlTG9hZFRpbWluZy5jcHAgKi87IH07CiAJCTg2MjQzRDAxMTFC
QzMxRjcwMENDMDA2QSAvKiBKU0FycmF5QnVmZmVyVmlld0hlbHBlci5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODYyNDNEMDAxMUJDMzFGNzAwQ0MwMDZB
IC8qIEpTQXJyYXlCdWZmZXJWaWV3SGVscGVyLmggKi87IH07CisJCTg2NTEyRURFMTU0QTJBRUYw
MEE5MDQyNiAvKiBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2NTEyRURCMTU0QTJBRUUwMEE5MDQyNiAv
KiBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmNwcCAqLzsgfTsKKwkJODY1MTJFREYxNTRBMkFF
RjAwQTkwNDI2IC8qIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2NTEyRURDMTU0QTJBRUYwMEE5MDQyNiAv
KiBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmggKi87IH07CiAJCTg2QkUzNDAwMTUwNThDQjIw
MENFMEZEOCAvKiBQZXJmb3JtYW5jZUVudHJ5LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2QkUzM0ZBMTUwNThDQjIwMENFMEZEOCAvKiBQZXJmb3Jt
YW5jZUVudHJ5LmNwcCAqLzsgfTsKIAkJODZCRTM0MDExNTA1OENCMjAwQ0UwRkQ4IC8qIFBlcmZv
cm1hbmNlRW50cnkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDg2QkUzM0ZCMTUwNThDQjIwMENFMEZEOCAvKiBQZXJmb3JtYW5jZUVudHJ5LmggKi87IH07
CiAJCTg2QkUzNDAzMTUwNThDQjIwMENFMEZEOCAvKiBQZXJmb3JtYW5jZUVudHJ5TGlzdC5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NkJFMzNGRDE1
MDU4Q0IyMDBDRTBGRDggLyogUGVyZm9ybWFuY2VFbnRyeUxpc3QuY3BwICovOyB9OwpAQCAtOTk1
OCw2ICs5OTYwLDkgQEAKIAkJODYxQzJFQTMxM0ZCNEZERDAwMDYyQUJCIC8qIERvY3VtZW50TG9h
ZFRpbWluZy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBEb2N1bWVu
dExvYWRUaW1pbmcuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NjFDMkVBNTEz
RkI0RkZGMDAwNjJBQkIgLyogUmVzb3VyY2VMb2FkVGltaW5nLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlc291cmNlTG9hZFRpbWluZy5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTg2MjQzRDAwMTFCQzMxRjcwMENDMDA2QSAvKiBKU0FycmF5QnVm
ZmVyVmlld0hlbHBlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0FycmF5
QnVmZmVyVmlld0hlbHBlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4NjUxMkVE
QjE1NEEyQUVFMDBBOTA0MjYgLyogUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5n
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODY1MTJFREMxNTRBMkFFRjAwQTkw
NDI2IC8qIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQk4NjUxMkVERDE1NEEyQUVGMDBBOTA0MjYgLyogUGVyZm9ybWFuY2VSZXNv
dXJjZVRpbWluZy5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gUGVyZm9ybWFuY2VSZXNvdXJj
ZVRpbWluZy5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg2QkUzM0ZBMTUwNThD
QjIwMENFMEZEOCAvKiBQZXJmb3JtYW5jZUVudHJ5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IFBlcmZvcm1hbmNlRW50cnkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk4NkJFMzNGQjE1MDU4Q0IyMDBDRTBGRDggLyogUGVyZm9ybWFuY2VFbnRyeS5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQZXJmb3JtYW5jZUVudHJ5Lmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg2QkUzM0ZDMTUwNThDQjIwMENFMEZEOCAvKiBQ
ZXJmb3JtYW5jZUVudHJ5LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBQZXJmb3JtYW5jZUVu
dHJ5LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE1NjEzLDYgKzE1NjE4LDkg
QEAKIAkJCQk4QUY0RTU1MjExREM1QTM2MDAwRUQzREUgLyogUGVyZm9ybWFuY2VOYXZpZ2F0aW9u
LmNwcCAqLywKIAkJCQk4QUY0RTU1MzExREM1QTM2MDAwRUQzREUgLyogUGVyZm9ybWFuY2VOYXZp
Z2F0aW9uLmggKi8sCiAJCQkJOEFGNEU1NTQxMURDNUEzNjAwMEVEM0RFIC8qIFBlcmZvcm1hbmNl
TmF2aWdhdGlvbi5pZGwgKi8sCisJCQkJODY1MTJFREIxNTRBMkFFRTAwQTkwNDI2IC8qIFBlcmZv
cm1hbmNlUmVzb3VyY2VUaW1pbmcuY3BwICovLAorCQkJCTg2NTEyRURDMTU0QTJBRUYwMEE5MDQy
NiAvKiBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmggKi8sCisJCQkJODY1MTJFREQxNTRBMkFF
RjAwQTkwNDI2IC8qIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaWRsICovLAogCQkJCThBRjRF
NTU4MTFEQzVBNjMwMDBFRDNERSAvKiBQZXJmb3JtYW5jZVRpbWluZy5jcHAgKi8sCiAJCQkJOEFG
NEU1NTkxMURDNUE2MzAwMEVEM0RFIC8qIFBlcmZvcm1hbmNlVGltaW5nLmggKi8sCiAJCQkJOEFG
NEU1NUExMURDNUE2MzAwMEVEM0RFIC8qIFBlcmZvcm1hbmNlVGltaW5nLmlkbCAqLywKQEAgLTI0
MTU0LDYgKzI0MTYyLDcgQEAKIAkJCQk4NkJFMzQwMTE1MDU4Q0IyMDBDRTBGRDggLyogUGVyZm9y
bWFuY2VFbnRyeS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODZCRTM0MDQxNTA1OENCMjAwQ0UwRkQ4
IC8qIFBlcmZvcm1hbmNlRW50cnlMaXN0LmggaW4gSGVhZGVycyAqLywKIAkJCQk4QUY0RTU1NjEx
REM1QTM2MDAwRUQzREUgLyogUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmggaW4gSGVhZGVycyAqLywK
KwkJCQk4NjUxMkVERjE1NEEyQUVGMDBBOTA0MjYgLyogUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWlu
Zy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOEFGNEU1NUMxMURDNUE2MzAwMEVEM0RFIC8qIFBlcmZv
cm1hbmNlVGltaW5nLmggaW4gSGVhZGVycyAqLywKIAkJCQk0OUQ1REMyRTBGNDIzQTczMDA4RjIw
RkQgLyogUGVyc3BlY3RpdmVUcmFuc2Zvcm1PcGVyYXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJ
CUQwRkYyQTVFMTFGOEM0NUEwMDdFNzRFMCAvKiBQaW5nTG9hZGVyLmggaW4gSGVhZGVycyAqLywK
QEAgLTI3Mzg2LDYgKzI3Mzk1LDcgQEAKIAkJCQk4NkJFMzQwMDE1MDU4Q0IyMDBDRTBGRDggLyog
UGVyZm9ybWFuY2VFbnRyeS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk4NkJFMzQwMzE1MDU4Q0Iy
MDBDRTBGRDggLyogUGVyZm9ybWFuY2VFbnRyeUxpc3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
OEFGNEU1NTUxMURDNUEzNjAwMEVEM0RFIC8qIFBlcmZvcm1hbmNlTmF2aWdhdGlvbi5jcHAgaW4g
U291cmNlcyAqLywKKwkJCQk4NjUxMkVERTE1NEEyQUVGMDBBOTA0MjYgLyogUGVyZm9ybWFuY2VS
ZXNvdXJjZVRpbWluZy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk4QUY0RTU1QjExREM1QTYzMDAw
RUQzREUgLyogUGVyZm9ybWFuY2VUaW1pbmcuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDlENURD
MkQwRjQyM0E3MzAwOEYyMEZEIC8qIFBlcnNwZWN0aXZlVHJhbnNmb3JtT3BlcmF0aW9uLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCUQwRkYyQTVEMTFGOEM0NUEwMDdFNzRFMCAvKiBQaW5nTG9hZGVy
LmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvY3VzdG9tL1Y4UGVyZm9ybWFuY2VFbnRyeUN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9jdXN0b20vVjhQZXJmb3JtYW5jZUVudHJ5Q3VzdG9tLmNwcApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43NGRmOWM3NjRkYzE1NmQ4NGQ5MTU4ZTc5YzVkZDJiYWEwYmIzNmQ5Ci0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4UGVyZm9ybWFuY2VFbnRy
eUN1c3RvbS5jcHAKQEAgLTAsMCArMSw2MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBH
b29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
CisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBj
b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0
ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRl
ICJQZXJmb3JtYW5jZUVudHJ5LmgiCisKKyNpZiBFTkFCTEUoUEVSRk9STUFOQ0VfVElNRUxJTkUp
CisKKyNpbmNsdWRlICJQZXJmb3JtYW5jZS5oIgorI2luY2x1ZGUgIlBlcmZvcm1hbmNlUmVzb3Vy
Y2VUaW1pbmcuaCIKKworI2luY2x1ZGUgIlY4UGVyZm9ybWFuY2VFbnRyeS5oIgorI2luY2x1ZGUg
IlY4UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5oIgorCisjaW5jbHVkZSA8d3RmL1JlZlB0ci5o
PgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3Y4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4KFBl
cmZvcm1hbmNlRW50cnkqIGltcGwsIHY4OjpJc29sYXRlKiBpc29sYXRlKQoreworICAgIGlmICgh
aW1wbCkKKyAgICAgICAgcmV0dXJuIHY4OjpOdWxsKCk7CisKKyNpZiBFTkFCTEUoUkVTT1VSQ0Vf
VElNSU5HKQorICAgIGlmIChpbXBsLT5pc1Jlc291cmNlKCkpCisgICAgICAgIHJldHVybiB0b1Y4
KHN0YXRpY19jYXN0PFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcqPihpbXBsKSwgaXNvbGF0ZSk7
CisjZW5kaWYKKworICAgIHJldHVybiBWOFBlcmZvcm1hbmNlRW50cnk6OndyYXAoaW1wbCk7Cit9
CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShQRVJGT1JNQU5D
RV9USU1FTElORSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5oCmluZGV4IGQ4ZjVmZGIwYTdhMWMzOWJj
Y2I2OTU0YWM5ZGJlN2RhZDhhOGNkMjYuLjMwNTZkNGEzOTkxODIyYWI2NDUwYjk3MzI4MjJiYTli
Zjk4YzVlYTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaApAQCAtMjI3LDYgKzIyNyw4IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKICAgICBcCiAgICAgbWFjcm8od2Via2l0bmV0d29ya2luZm9jaGFu
Z2UpIFwKICAgICBcCisgICAgbWFjcm8od2Via2l0cmVzb3VyY2V0aW1pbmdidWZmZXJmdWxsKSBc
CisgICAgXAogCiAvLyBlbmQgb2YgRE9NX0VWRU5UX05BTUVTX0ZPUl9FQUNICiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldEZhY3RvcnkuaW4gYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vRXZlbnRUYXJnZXRGYWN0b3J5LmluCmluZGV4IGYwMWI4MTFhYmE5YjgwNmZjMjEy
NWY3MGY3YjQzMTE3M2IzYmI1YjAuLjNlYzZkYjk0NDZkMjU5NjMxNjI5YWM3M2NlOWVmMGU0MWY0
YTM1ODYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldEZhY3Rvcnku
aW4KKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0RmFjdG9yeS5pbgpAQCAtMjIs
NiArMjIsNyBAQCBOZXR3b3JrSW5mb0Nvbm5lY3Rpb24gY29uZGl0aW9uYWw9TkVUV09SS19JTkZP
CiBOb2RlCiBOb3RpZmljYXRpb24gY29uZGl0aW9uYWw9Tk9USUZJQ0FUSU9OU3xMRUdBQ1lfTk9U
SUZJQ0FUSU9OUwogUGVlckNvbm5lY3Rpb24wMCBjb25kaXRpb25hbD1NRURJQV9TVFJFQU0KK1Bl
cmZvcm1hbmNlIGNvbmRpdGlvbmFsPVdFQl9USU1JTkcKIFNoYXJlZFdvcmtlciBjb25kaXRpb25h
bD1TSEFSRURfV09SS0VSUwogU2hhcmVkV29ya2VyQ29udGV4dCBjb25kaXRpb25hbD1TSEFSRURf
V09SS0VSUwogU3BlZWNoUmVjb2duaXRpb24gY29uZGl0aW9uYWw9U0NSSVBURURfU1BFRUNICmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuY3BwCmluZGV4IDViZjIzYjZkZWExMmIwNzhhMTA2ZmRj
MThmNTJkMjU3MzY4ZDRlMjguLjkwMzM5MzAyMTllNjA0MTE1MTRjY2RlNTZmNjZiZTZiODU4OGQ1
MTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuY3BwCkBAIC0zNCw4ICszNCwxMSBAQAog
I2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnRMb2FkZXIuaCIKICNpbmNs
dWRlICJNZW1vcnlJbmZvLmgiCisjaW5jbHVkZSAiUGVyZm9ybWFuY2VFbnRyeS5oIgogI2luY2x1
ZGUgIlBlcmZvcm1hbmNlTmF2aWdhdGlvbi5oIgorI2luY2x1ZGUgIlBlcmZvcm1hbmNlUmVzb3Vy
Y2VUaW1pbmcuaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZVRpbWluZy5oIgorI2luY2x1ZGUgIlJl
c291cmNlUmVzcG9uc2UuaCIKICNpbmNsdWRlIDx3dGYvQ3VycmVudFRpbWUuaD4KIAogI2lmIEVO
QUJMRShXRUJfVElNSU5HKQpAQCAtNDksNiArNTIsMjIgQEAgUGVyZm9ybWFuY2U6OlBlcmZvcm1h
bmNlKEZyYW1lKiBmcmFtZSkKIHsKIH0KIAorUGVyZm9ybWFuY2U6On5QZXJmb3JtYW5jZSgpCit7
Cit9CisKK2NvbnN0IEF0b21pY1N0cmluZyYgUGVyZm9ybWFuY2U6OmludGVyZmFjZU5hbWUoKSBj
b25zdAoreworICAgIHJldHVybiBldmVudE5hbWVzKCkuaW50ZXJmYWNlRm9yUGVyZm9ybWFuY2U7
Cit9CisKK1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIFBlcmZvcm1hbmNlOjpzY3JpcHRFeGVjdXRp
b25Db250ZXh0KCkgY29uc3QKK3sKKyAgICBpZiAoIWZyYW1lKCkpCisgICAgICAgIHJldHVybiAw
OworICAgIHJldHVybiBmcmFtZSgpLT5kb2N1bWVudCgpOworfQorCiBQYXNzUmVmUHRyPE1lbW9y
eUluZm8+IFBlcmZvcm1hbmNlOjptZW1vcnkoKSBjb25zdAogewogICAgIHJldHVybiBNZW1vcnlJ
bmZvOjpjcmVhdGUobV9mcmFtZSk7CkBAIC03NSwyMyArOTQsNzcgQEAgUGVyZm9ybWFuY2VUaW1p
bmcqIFBlcmZvcm1hbmNlOjp0aW1pbmcoKSBjb25zdAogUGFzc1JlZlB0cjxQZXJmb3JtYW5jZUVu
dHJ5TGlzdD4gUGVyZm9ybWFuY2U6OndlYmtpdEdldEVudHJpZXMoKSBjb25zdAogewogICAgIFJl
ZlB0cjxQZXJmb3JtYW5jZUVudHJ5TGlzdD4gZW50cmllcyA9IFBlcmZvcm1hbmNlRW50cnlMaXN0
OjpjcmVhdGUoKTsKKworI2lmIEVOQUJMRShSRVNPVVJDRV9USU1JTkcpCisgICAgZW50cmllcy0+
YXBwZW5kQWxsKG1fcmVzb3VyY2VUaW1pbmdCdWZmZXIpOworI2VuZGlmIC8vIEVOQUJMRShSRVNP
VVJDRV9USU1JTkcpCisKICAgICByZXR1cm4gZW50cmllczsKIH0KIAotUGFzc1JlZlB0cjxQZXJm
b3JtYW5jZUVudHJ5TGlzdD4gUGVyZm9ybWFuY2U6OndlYmtpdEdldEVudHJpZXNCeVR5cGUoY29u
c3QgU3RyaW5nJikKK1Bhc3NSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeUxpc3Q+IFBlcmZvcm1hbmNl
Ojp3ZWJraXRHZXRFbnRyaWVzQnlUeXBlKGNvbnN0IFN0cmluZyYgZW50cnlUeXBlKQogewogICAg
IFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5TGlzdD4gZW50cmllcyA9IFBlcmZvcm1hbmNlRW50cnlM
aXN0OjpjcmVhdGUoKTsKKworI2lmIEVOQUJMRShSRVNPVVJDRV9USU1JTkcpCisgICAgaWYgKGVx
dWFsSWdub3JpbmdDYXNlKGVudHJ5VHlwZSwgInJlc291cmNlIikpCisgICAgICAgIGZvciAoVmVj
dG9yPFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5PiA+Ojpjb25zdF9pdGVyYXRvciByZXNvdXJjZSA9
IG1fcmVzb3VyY2VUaW1pbmdCdWZmZXIuYmVnaW4oKTsgcmVzb3VyY2UgIT0gbV9yZXNvdXJjZVRp
bWluZ0J1ZmZlci5lbmQoKTsgKytyZXNvdXJjZSkKKyAgICAgICAgICAgIGVudHJpZXMtPmFwcGVu
ZCgqcmVzb3VyY2UpOworI2VuZGlmIC8vIEVOQUJMRShSRVNPVVJDRV9USU1JTkcpCisKICAgICBy
ZXR1cm4gZW50cmllczsKIH0KIAotUGFzc1JlZlB0cjxQZXJmb3JtYW5jZUVudHJ5TGlzdD4gUGVy
Zm9ybWFuY2U6OndlYmtpdEdldEVudHJpZXNCeU5hbWUoY29uc3QgU3RyaW5nJiwgY29uc3QgU3Ry
aW5nJikKK1Bhc3NSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeUxpc3Q+IFBlcmZvcm1hbmNlOjp3ZWJr
aXRHZXRFbnRyaWVzQnlOYW1lKGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBlbnRy
eVR5cGUpCiB7CiAgICAgUmVmUHRyPFBlcmZvcm1hbmNlRW50cnlMaXN0PiBlbnRyaWVzID0gUGVy
Zm9ybWFuY2VFbnRyeUxpc3Q6OmNyZWF0ZSgpOworCisjaWYgRU5BQkxFKFJFU09VUkNFX1RJTUlO
RykKKyAgICBpZiAoZW50cnlUeXBlLmlzTnVsbCgpIHx8IGVxdWFsSWdub3JpbmdDYXNlKGVudHJ5
VHlwZSwgInJlc291cmNlIikpCisgICAgICAgIGZvciAoVmVjdG9yPFJlZlB0cjxQZXJmb3JtYW5j
ZUVudHJ5PiA+Ojpjb25zdF9pdGVyYXRvciByZXNvdXJjZSA9IG1fcmVzb3VyY2VUaW1pbmdCdWZm
ZXIuYmVnaW4oKTsgcmVzb3VyY2UgIT0gbV9yZXNvdXJjZVRpbWluZ0J1ZmZlci5lbmQoKTsgKyty
ZXNvdXJjZSkKKyAgICAgICAgICAgIGlmICgoKnJlc291cmNlKS0+bmFtZSgpID09IG5hbWUpCisg
ICAgICAgICAgICAgICAgZW50cmllcy0+YXBwZW5kKCpyZXNvdXJjZSk7CisjZW5kaWYgLy8gRU5B
QkxFKFJFU09VUkNFX1RJTUlORykKKwogICAgIHJldHVybiBlbnRyaWVzOwogfQogCiAjZW5kaWYg
Ly8gRU5BQkxFKFBFUkZPUk1BTkNFX1RJTUVMSU5FKQogCisjaWYgRU5BQkxFKFJFU09VUkNFX1RJ
TUlORykKKwordm9pZCBQZXJmb3JtYW5jZTo6d2Via2l0Q2xlYXJSZXNvdXJjZVRpbWluZ3MoKQor
eworICAgIG1fcmVzb3VyY2VUaW1pbmdCdWZmZXIuY2xlYXIoKTsKK30KKwordm9pZCBQZXJmb3Jt
YW5jZTo6d2Via2l0U2V0UmVzb3VyY2VUaW1pbmdCdWZmZXJTaXplKHVuc2lnbmVkIGludCkKK3sK
KyAgICAvLyBGSVhNRTogSW1wbGVtZW50IHRoaXMuCit9CisKK3ZvaWQgUGVyZm9ybWFuY2U6OmFk
ZFJlc291cmNlVGltaW5nKGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgUmVz
b3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIGRvdWJsZSBmaW5pc2hUaW1lLCBEb2N1bWVudCogcmVx
dWVzdGluZ0RvY3VtZW50KQoreworICAgIGlmICghcmVzcG9uc2UucmVzb3VyY2VMb2FkVGltaW5n
KCkpCisgICAgICAgIHJldHVybjsKKworICAgIFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5PiBlbnRy
eSA9IFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OmNyZWF0ZShyZXF1ZXN0LCByZXNwb25zZSwg
ZmluaXNoVGltZSwgcmVxdWVzdGluZ0RvY3VtZW50KTsKKyAgICAvLyBGSVhNRTogTmVlZCB0byBl
bmZvcmNlIGJ1ZmZlciBsaW1pdHMuCisgICAgbV9yZXNvdXJjZVRpbWluZ0J1ZmZlci5hcHBlbmQo
ZW50cnkpOworfQorCisjZW5kaWYgLy8gRU5BQkxFKFJFU09VUkNFX1RJTUlORykKKworRXZlbnRU
YXJnZXREYXRhKiBQZXJmb3JtYW5jZTo6ZXZlbnRUYXJnZXREYXRhKCkKK3sKKyAgICByZXR1cm4g
Jm1fZXZlbnRUYXJnZXREYXRhOworfQorCitFdmVudFRhcmdldERhdGEqIFBlcmZvcm1hbmNlOjpl
bnN1cmVFdmVudFRhcmdldERhdGEoKQoreworICAgIHJldHVybiAmbV9ldmVudFRhcmdldERhdGE7
Cit9CisKIGRvdWJsZSBQZXJmb3JtYW5jZTo6d2Via2l0Tm93KCkgY29uc3QKIHsKICAgICByZXR1
cm4gMTAwMC4wICogbV9mcmFtZS0+ZG9jdW1lbnQoKS0+bG9hZGVyKCktPnRpbWluZygpLT5jb252
ZXJ0TW9ub3RvbmljVGltZVRvWmVyb0Jhc2VkRG9jdW1lbnRUaW1lKG1vbm90b25pY2FsbHlJbmNy
ZWFzaW5nVGltZSgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFu
Y2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuaAppbmRleCBhYTRjNzkyODI1
N2VlYjQxNDY2NTVkOGQ4MjlkNzZjZjc5MzMxZGY4Li5kZWFlMGFlYzBjZDdiMTY0YTQ4MTVhMTkx
ZDI4MmNjY2U1ODI0MWE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1h
bmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5oCkBAIC0zNCw2ICsz
NCw3IEBACiAjaWYgRU5BQkxFKFdFQl9USU1JTkcpCiAKICNpbmNsdWRlICJET01XaW5kb3dQcm9w
ZXJ0eS5oIgorI2luY2x1ZGUgIkV2ZW50VGFyZ2V0LmgiCiAjaW5jbHVkZSAiTWVtb3J5SW5mby5o
IgogI2luY2x1ZGUgIlBlcmZvcm1hbmNlRW50cnlMaXN0LmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFu
Y2VOYXZpZ2F0aW9uLmgiCkBAIC00NSw5ICs0NiwxNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKLWNsYXNzIFBlcmZvcm1hbmNlIDogcHVibGljIFJlZkNvdW50ZWQ8UGVyZm9ybWFuY2U+LCBw
dWJsaWMgRE9NV2luZG93UHJvcGVydHkgeworY2xhc3MgRG9jdW1lbnQ7CitjbGFzcyBSZXNvdXJj
ZVJlcXVlc3Q7CitjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOworCitjbGFzcyBQZXJmb3JtYW5jZSA6
IHB1YmxpYyBSZWZDb3VudGVkPFBlcmZvcm1hbmNlPiwgcHVibGljIERPTVdpbmRvd1Byb3BlcnR5
LCBwdWJsaWMgRXZlbnRUYXJnZXQgewogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFBl
cmZvcm1hbmNlPiBjcmVhdGUoRnJhbWUqIGZyYW1lKSB7IHJldHVybiBhZG9wdFJlZihuZXcgUGVy
Zm9ybWFuY2UoZnJhbWUpKTsgfQorICAgIH5QZXJmb3JtYW5jZSgpOworCisgICAgdmlydHVhbCBj
b25zdCBBdG9taWNTdHJpbmcmIGludGVyZmFjZU5hbWUoKSBjb25zdDsKKyAgICB2aXJ0dWFsIFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQqIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSBjb25zdDsKIAog
ICAgIFBhc3NSZWZQdHI8TWVtb3J5SW5mbz4gbWVtb3J5KCkgY29uc3Q7CiAgICAgUGVyZm9ybWFu
Y2VOYXZpZ2F0aW9uKiBuYXZpZ2F0aW9uKCkgY29uc3Q7CkBAIC02MCwxMSArNjksMzUgQEAgcHVi
bGljOgogICAgIFBhc3NSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeUxpc3Q+IHdlYmtpdEdldEVudHJp
ZXNCeU5hbWUoY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGVudHJ5VHlwZSk7CiAj
ZW5kaWYKIAorI2lmIEVOQUJMRShSRVNPVVJDRV9USU1JTkcpCisgICAgdm9pZCB3ZWJraXRDbGVh
clJlc291cmNlVGltaW5ncygpOworICAgIHZvaWQgd2Via2l0U2V0UmVzb3VyY2VUaW1pbmdCdWZm
ZXJTaXplKHVuc2lnbmVkIGludCk7CisKKyAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RF
TkVSKHdlYmtpdHJlc291cmNldGltaW5nYnVmZmVyZnVsbCk7CisKKyAgICB2b2lkIGFkZFJlc291
cmNlVGltaW5nKGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFJlc291cmNlUmVzcG9uc2Um
LCBkb3VibGUgZmluaXNoVGltZSwgRG9jdW1lbnQqKTsKKyNlbmRpZgorCisgICAgdXNpbmcgUmVm
Q291bnRlZDxQZXJmb3JtYW5jZT46OnJlZjsKKyAgICB1c2luZyBSZWZDb3VudGVkPFBlcmZvcm1h
bmNlPjo6ZGVyZWY7CisKIHByaXZhdGU6CiAgICAgZXhwbGljaXQgUGVyZm9ybWFuY2UoRnJhbWUq
KTsKIAorICAgIHZpcnR1YWwgdm9pZCByZWZFdmVudFRhcmdldCgpIHsgcmVmKCk7IH0KKyAgICB2
aXJ0dWFsIHZvaWQgZGVyZWZFdmVudFRhcmdldCgpIHsgZGVyZWYoKTsgfQorICAgIHZpcnR1YWwg
RXZlbnRUYXJnZXREYXRhKiBldmVudFRhcmdldERhdGEoKTsKKyAgICB2aXJ0dWFsIEV2ZW50VGFy
Z2V0RGF0YSogZW5zdXJlRXZlbnRUYXJnZXREYXRhKCk7CisKKyAgICBFdmVudFRhcmdldERhdGEg
bV9ldmVudFRhcmdldERhdGE7CisgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCAqbV9zY3JpcHRF
eGVjdXRpb25Db250ZXh0OworCiAgICAgbXV0YWJsZSBSZWZQdHI8UGVyZm9ybWFuY2VOYXZpZ2F0
aW9uPiBtX25hdmlnYXRpb247CiAgICAgbXV0YWJsZSBSZWZQdHI8UGVyZm9ybWFuY2VUaW1pbmc+
IG1fdGltaW5nOworCisjaWYgRU5BQkxFKFJFU09VUkNFX1RJTUlORykKKyAgICBWZWN0b3I8UmVm
UHRyPFBlcmZvcm1hbmNlRW50cnk+ID4gbV9yZXNvdXJjZVRpbWluZ0J1ZmZlcjsKKyNlbmRpZgog
fTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5pZGwg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmlkbAppbmRleCA2NjNiNzQyNDc0OThi
ZTA4NmMzYzI5YmMzNzJlYmNjMmI2YTRkNDljLi5mYzlmZmRmMWY3ZGYwYjM0NThkNjA1YzhjN2Vm
N2YxZmM1ZTg3NjQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNl
LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmlkbApAQCAtMzMsNiAr
MzMsNyBAQCBtb2R1bGUgd2luZG93IHsKICAgICAvLyBTZWU6IGh0dHA6Ly9kZXYudzMub3JnLzIw
MDYvd2ViYXBpL1dlYlRpbWluZy8KICAgICBpbnRlcmZhY2UgWwogICAgICAgICBDb25kaXRpb25h
bD1XRUJfVElNSU5HLAorICAgICAgICBFdmVudFRhcmdldCwKICAgICAgICAgT21pdENvbnN0cnVj
dG9yCiAgICAgXSBQZXJmb3JtYW5jZSB7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBQZXJm
b3JtYW5jZU5hdmlnYXRpb24gbmF2aWdhdGlvbjsKQEAgLTQ0LDYgKzQ1LDEzIEBAIG1vZHVsZSB3
aW5kb3cgewogICAgICAgICBQZXJmb3JtYW5jZUVudHJ5TGlzdCB3ZWJraXRHZXRFbnRyaWVzQnlU
eXBlKGluIERPTVN0cmluZyBlbnRyeVR5cGUpOwogICAgICAgICBQZXJmb3JtYW5jZUVudHJ5TGlz
dCB3ZWJraXRHZXRFbnRyaWVzQnlOYW1lKGluIERPTVN0cmluZyBuYW1lLCBpbiBbT3B0aW9uYWw9
RGVmYXVsdElzTnVsbFN0cmluZ10gRE9NU3RyaW5nIGVudHJ5VHlwZSk7CiAjZW5kaWYKKworI2lm
IGRlZmluZWQoRU5BQkxFX1JFU09VUkNFX1RJTUlORykgJiYgRU5BQkxFX1JFU09VUkNFX1RJTUlO
RworICAgICAgICB2b2lkIHdlYmtpdENsZWFyUmVzb3VyY2VUaW1pbmdzKCk7CisgICAgICAgIHZv
aWQgd2Via2l0U2V0UmVzb3VyY2VUaW1pbmdCdWZmZXJTaXplKGluIHVuc2lnbmVkIGxvbmcgbWF4
U2l6ZSk7CisKKyAgICAgICAgYXR0cmlidXRlIEV2ZW50TGlzdGVuZXIgb253ZWJraXRyZXNvdXJj
ZXRpbWluZ2J1ZmZlcmZ1bGw7CisjZW5kaWYKICAgICAgICAgLy8gU2VlIGh0dHA6Ly93d3cudzMu
b3JnL1RSL2hyLXRpbWUvIGZvciBkZXRhaWxzLgogICAgICAgICBkb3VibGUgd2Via2l0Tm93KCk7
CiAgICAgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRy
eS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50cnkuY3BwCmluZGV4IGFj
NTIzYzZkYzYxNzg5ODJjYTVlZWU3MjJhOTJlMGI4YmM0OGYxOTIuLmFkNjk1NDcwMGU2NzI0ZmIx
M2EwNTExZDIwMTE5Mzc0MWY5NTJiYTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UGVyZm9ybWFuY2VFbnRyeS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5j
ZUVudHJ5LmNwcApAQCAtNDMsNiArNDMsMTAgQEAgUGVyZm9ybWFuY2VFbnRyeTo6UGVyZm9ybWFu
Y2VFbnRyeShjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgZW50cnlUeXBlLAogewog
fQogCitQZXJmb3JtYW5jZUVudHJ5Ojp+UGVyZm9ybWFuY2VFbnRyeSgpCit7Cit9CisKIFN0cmlu
ZyBQZXJmb3JtYW5jZUVudHJ5OjpuYW1lKCkgY29uc3QKIHsKICAgICByZXR1cm4gbV9uYW1lOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50cnkuaAppbmRleCA4NjY2ZTQzMWRhZTMxZTBl
MzJkZmVjMjI5NjlkZjM3MjU5YjkxNTkxLi42ZDk2NzIxOTc1M2E0YjVhYzcyZGM0YzQ0NGNiMGYx
YjNlZjI5MmNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50
cnkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50cnkuaApAQCAtNDIs
MTEgKzQyLDE1IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgUGVyZm9ybWFuY2VFbnRy
eSA6IHB1YmxpYyBSZWZDb3VudGVkPFBlcmZvcm1hbmNlRW50cnk+IHsKIHB1YmxpYzoKKyAgICB2
aXJ0dWFsIH5QZXJmb3JtYW5jZUVudHJ5KCk7CisKICAgICBTdHJpbmcgbmFtZSgpIGNvbnN0Owog
ICAgIFN0cmluZyBlbnRyeVR5cGUoKSBjb25zdDsKICAgICBkb3VibGUgc3RhcnRUaW1lKCkgY29u
c3Q7CiAgICAgZG91YmxlIGR1cmF0aW9uKCkgY29uc3Q7CiAKKyAgICB2aXJ0dWFsIGJvb2wgaXNS
ZXNvdXJjZSgpIHsgcmV0dXJuIGZhbHNlOyB9CisKIHByb3RlY3RlZDoKICAgICBQZXJmb3JtYW5j
ZUVudHJ5KGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBlbnRyeVR5cGUsIGRvdWJs
ZSBzdGFydFRpbWUsIGRvdWJsZSBkdXJhdGlvbik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZv
cm1hbmNlRW50cnkuaWRsCmluZGV4IGE3ODhiZDljNmU0MjdiY2QwNmMwYWQ0NTYyNTk0Y2VjMzEz
ZWViNGQuLjllMTBmZTBiZjE3NTMxOWYyMmMzN2QyNjAzYTBlODJkOThmMzgzMmYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeS5pZGwKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmlkbApAQCAtMzQsNiArMzQsNyBAQCBtb2R1
bGUgd2luZG93IHsKICAgICBpbnRlcmZhY2UgWwogICAgICAgICBDb25kaXRpb25hbD1XRUJfVElN
SU5HLAogICAgICAgICBDb25kaXRpb25hbD1QRVJGT1JNQU5DRV9USU1FTElORSwKKyAgICAgICAg
Q3VzdG9tVG9KU09iamVjdCwKICAgICAgICAgT21pdENvbnN0cnVjdG9yCiAgICAgXSBQZXJmb3Jt
YW5jZUVudHJ5IHsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBuYW1lOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5TGlzdC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50cnlMaXN0LmNwcAppbmRleCBhNGUw
OWEzMTkzZjU5OTc5YThjMWQ5ZDUzMGZjZjJkNzVjNDcyNTk3Li45ZjI3M2JjNDQ5YjQxYjQyNTU3
MzQxMTkwZGJmYTY4ZTQyYjRmNjVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bl
cmZvcm1hbmNlRW50cnlMaXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1h
bmNlRW50cnlMaXN0LmNwcApAQCAtNjIsNiArNjIsMTEgQEAgdm9pZCBQZXJmb3JtYW5jZUVudHJ5
TGlzdDo6YXBwZW5kKFBhc3NSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeT4gZW50cnkpCiAgICAgbV9l
bnRyaWVzLmFwcGVuZChlbnRyeSk7CiB9CiAKK3ZvaWQgUGVyZm9ybWFuY2VFbnRyeUxpc3Q6OmFw
cGVuZEFsbChjb25zdCBWZWN0b3I8UmVmUHRyPFBlcmZvcm1hbmNlRW50cnk+ID4mIGVudHJpZXMp
Cit7CisgICAgbV9lbnRyaWVzLmFwcGVuZChlbnRyaWVzKTsKK30KKwogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQogCiAjZW5kaWYgLy8gRU5BQkxFKFdFQl9USU1JTkcpICYmIEVOQUJMRShQRVJGT1JN
QU5DRV9USU1FTElORSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFu
Y2VFbnRyeUxpc3QuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeUxpc3Qu
aAppbmRleCAwZWNmOWJhM2JlNTc1ZDcyYTI0MDMxMzM5MDRlZTg3OGEwMThkNGFkLi44Zjc2MjY3
ZTFkMmExMDQ0YzU3OGRkMTZlN2FiMThkMmIzYTcxZmE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1BlcmZvcm1hbmNlRW50cnlMaXN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9QZXJmb3JtYW5jZUVudHJ5TGlzdC5oCkBAIC01MSw2ICs1MSw3IEBAIHB1YmxpYzoKICAgICBQ
ZXJmb3JtYW5jZUVudHJ5KiBpdGVtKHVuc2lnbmVkIGluZGV4KTsKIAogICAgIHZvaWQgYXBwZW5k
KFBhc3NSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeT4pOworICAgIHZvaWQgYXBwZW5kQWxsKGNvbnN0
IFZlY3RvcjxSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeT4gPiYpOwogCiBwcml2YXRlOgogICAgIFBl
cmZvcm1hbmNlRW50cnlMaXN0KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bl
cmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3Jt
YW5jZVJlc291cmNlVGltaW5nLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wOTc2YWRkNzgwMzI4ODNjM2Y0YTVh
MTdiZmZiZWFjNmRlZjRkZDFjCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmNwcApAQCAtMCwwICsxLDE1NyBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0
cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0
aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisg
KiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1Ig
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRl
ICJjb25maWcuaCIKKyNpbmNsdWRlICJQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmgiCisKKyNp
ZiBFTkFCTEUoUkVTT1VSQ0VfVElNSU5HKQorCisjaW5jbHVkZSAiRG9jdW1lbnQuaCIKKyNpbmNs
dWRlICJEb2N1bWVudExvYWRUaW1pbmcuaCIKKyNpbmNsdWRlICJEb2N1bWVudExvYWRlci5oIgor
I2luY2x1ZGUgIktVUkwuaCIKKyNpbmNsdWRlICJSZXNvdXJjZVJlcXVlc3QuaCIKKyNpbmNsdWRl
ICJSZXNvdXJjZVJlc3BvbnNlLmgiCisjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKKyNpbmNs
dWRlIDx3dGYvVmVjdG9yLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworUGVyZm9ybWFuY2VS
ZXNvdXJjZVRpbWluZzo6UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZyhjb25zdCBSZXNvdXJjZVJl
cXVlc3QmIHJlcXVlc3QsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlLCBkb3VibGUg
ZmluaXNoVGltZSwgRG9jdW1lbnQqIHJlcXVlc3RpbmdEb2N1bWVudCkKKyAgICA6IFBlcmZvcm1h
bmNlRW50cnkocmVxdWVzdC51cmwoKS5zdHJpbmcoKSwgInJlc291cmNlIiwgcmVzcG9uc2UucmVz
b3VyY2VMb2FkVGltaW5nKCktPnJlcXVlc3RUaW1lLCBmaW5pc2hUaW1lKQorICAgICwgbV90aW1p
bmcocmVzcG9uc2UucmVzb3VyY2VMb2FkVGltaW5nKCkpCisgICAgLCBtX2ZpbmlzaFRpbWUoZmlu
aXNoVGltZSkKKyAgICAsIG1fcmVxdWVzdGluZ0RvY3VtZW50KHJlcXVlc3RpbmdEb2N1bWVudCkK
K3sKK30KKworUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6flBlcmZvcm1hbmNlUmVzb3VyY2VU
aW1pbmcoKQoreworfQorCitTdHJpbmcgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6aW5pdGlh
dG9yVHlwZSgpIGNvbnN0Cit7CisgICAgLy8gRklYTUU6IFRoaXMgc2hvdWxkIGJlIGRlY2lkZWQg
YnkgdGhlIHJlc291cmNlIHR5cGUuCisgICAgcmV0dXJuICJvdGhlciI7Cit9CisKKy8vIEZJWE1F
OiBOZWVkIHRvIGVuZm9yY2Ugc2FtZS1vcmlnaW4gcG9saWN5IG9uIHRoZXNlLgorCitkb3VibGUg
UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6cmVkaXJlY3RTdGFydCgpIGNvbnN0Cit7CisgICAg
Ly8gRklYTUU6IE5lZWQgdG8gdHJhY2sgYW5kIHJlcG9ydCByZWRpcmVjdHMgZm9yIHJlc291cmNl
cy4KKyAgICByZXR1cm4gMDsKK30KKworZG91YmxlIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6
OnJlZGlyZWN0RW5kKCkgY29uc3QKK3sKKyAgICByZXR1cm4gMDsKK30KKworZG91YmxlIFBlcmZv
cm1hbmNlUmVzb3VyY2VUaW1pbmc6OmZldGNoU3RhcnQoKSBjb25zdAoreworICAgIHJldHVybiBt
b25vdG9uaWNUaW1lVG9Eb2N1bWVudE1pbGxpc2Vjb25kcyhtX3RpbWluZy0+cmVxdWVzdFRpbWUp
OworfQorCitkb3VibGUgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6ZG9tYWluTG9va3VwU3Rh
cnQoKSBjb25zdAoreworICAgIGlmIChtX3RpbWluZy0+ZG5zU3RhcnQgPCAwKQorICAgICAgICBy
ZXR1cm4gZmV0Y2hTdGFydCgpOworCisgICAgcmV0dXJuIHJlc291cmNlVGltZVRvRG9jdW1lbnRN
aWxsaXNlY29uZHMobV90aW1pbmctPmRuc1N0YXJ0KTsKK30KKworZG91YmxlIFBlcmZvcm1hbmNl
UmVzb3VyY2VUaW1pbmc6OmRvbWFpbkxvb2t1cEVuZCgpIGNvbnN0Cit7CisgICAgaWYgKG1fdGlt
aW5nLT5kbnNFbmQgPCAwKQorICAgICAgICByZXR1cm4gZG9tYWluTG9va3VwU3RhcnQoKTsKKwor
ICAgIHJldHVybiByZXNvdXJjZVRpbWVUb0RvY3VtZW50TWlsbGlzZWNvbmRzKG1fdGltaW5nLT5k
bnNFbmQpOworfQorCitkb3VibGUgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6Y29ubmVjdFN0
YXJ0KCkgY29uc3QKK3sKKyAgICBpZiAobV90aW1pbmctPmNvbm5lY3RTdGFydCA8IDApIC8vIENv
bm5lY3Rpb24gd2FzIHJldXNlZC4KKyAgICAgICAgcmV0dXJuIGRvbWFpbkxvb2t1cEVuZCgpOwor
CisgICAgLy8gY29ubmVjdFN0YXJ0IGluY2x1ZGVzIGFueSBETlMgdGltZSwgc28gd2UgbWF5IG5l
ZWQgdG8gdHJpbSB0aGF0IG9mZi4KKyAgICBpbnQgY29ubmVjdFN0YXJ0ID0gbV90aW1pbmctPmNv
bm5lY3RTdGFydDsKKyAgICBpZiAobV90aW1pbmctPmRuc0VuZCA+PSAwKQorICAgICAgICBjb25u
ZWN0U3RhcnQgPSBtX3RpbWluZy0+ZG5zRW5kOworCisgICAgcmV0dXJuIHJlc291cmNlVGltZVRv
RG9jdW1lbnRNaWxsaXNlY29uZHMoY29ubmVjdFN0YXJ0KTsKK30KKworZG91YmxlIFBlcmZvcm1h
bmNlUmVzb3VyY2VUaW1pbmc6OmNvbm5lY3RFbmQoKSBjb25zdAoreworICAgIGlmIChtX3RpbWlu
Zy0+Y29ubmVjdEVuZCA8IDApIC8vIENvbm5lY3Rpb24gd2FzIHJldXNlZC4KKyAgICAgICAgcmV0
dXJuIGNvbm5lY3RTdGFydCgpOworCisgICAgcmV0dXJuIHJlc291cmNlVGltZVRvRG9jdW1lbnRN
aWxsaXNlY29uZHMobV90aW1pbmctPmNvbm5lY3RFbmQpOworfQorCitkb3VibGUgUGVyZm9ybWFu
Y2VSZXNvdXJjZVRpbWluZzo6c2VjdXJlQ29ubmVjdGlvblN0YXJ0KCkgY29uc3QKK3sKKyAgICBp
ZiAobV90aW1pbmctPnNzbFN0YXJ0IDwgMCkgLy8gU2VjdXJlIGNvbm5lY3Rpb24gbm90IG5lZ290
aWF0ZWQuCisgICAgICAgIHJldHVybiAwOworCisgICAgcmV0dXJuIHJlc291cmNlVGltZVRvRG9j
dW1lbnRNaWxsaXNlY29uZHMobV90aW1pbmctPnNzbFN0YXJ0KTsKK30KKworZG91YmxlIFBlcmZv
cm1hbmNlUmVzb3VyY2VUaW1pbmc6OnJlcXVlc3RTdGFydCgpIGNvbnN0Cit7CisgICAgcmV0dXJu
IHJlc291cmNlVGltZVRvRG9jdW1lbnRNaWxsaXNlY29uZHMobV90aW1pbmctPnNlbmRTdGFydCk7
Cit9CisKK2RvdWJsZSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpyZXNwb25zZVN0YXJ0KCkg
Y29uc3QKK3sKKyAgICAvLyBGSVhNRTogVGhpcyBudW1iZXIgaXNuJ3QgZXhhY3RseSBjb3JyZWN0
LiBTZWUgdGhlIG5vdGVzIGluIFBlcmZvcm1hbmNlVGltaW5nOjpyZXNwb25zZVN0YXJ0KCkuCisg
ICAgcmV0dXJuIHJlc291cmNlVGltZVRvRG9jdW1lbnRNaWxsaXNlY29uZHMobV90aW1pbmctPnJl
Y2VpdmVIZWFkZXJzRW5kKTsKK30KKworZG91YmxlIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6
OnJlc3BvbnNlRW5kKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbW9ub3RvbmljVGltZVRvRG9jdW1l
bnRNaWxsaXNlY29uZHMobV9maW5pc2hUaW1lKTsKK30KKworZG91YmxlIFBlcmZvcm1hbmNlUmVz
b3VyY2VUaW1pbmc6Om1vbm90b25pY1RpbWVUb0RvY3VtZW50TWlsbGlzZWNvbmRzKGRvdWJsZSBz
ZWNvbmRzKSBjb25zdAoreworICAgIEFTU0VSVChzZWNvbmRzID49IDAuMCk7CisgICAgcmV0dXJu
IG1fcmVxdWVzdGluZ0RvY3VtZW50LT5sb2FkZXIoKS0+dGltaW5nKCktPmNvbnZlcnRNb25vdG9u
aWNUaW1lVG9Eb2N1bWVudFRpbWUoc2Vjb25kcykgKiAxMDAwLjA7Cit9CisKK2RvdWJsZSBQZXJm
b3JtYW5jZVJlc291cmNlVGltaW5nOjpyZXNvdXJjZVRpbWVUb0RvY3VtZW50TWlsbGlzZWNvbmRz
KGludCBkZWx0YU1pbGxpc2Vjb25kcykgY29uc3QKK3sKKyAgICByZXR1cm4gbW9ub3RvbmljVGlt
ZVRvRG9jdW1lbnRNaWxsaXNlY29uZHMobV90aW1pbmctPnJlcXVlc3RUaW1lKSArIGRlbHRhTWls
bGlzZWNvbmRzOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFC
TEUoUkVTT1VSQ0VfVElNSU5HKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJm
b3JtYW5jZVJlc291cmNlVGltaW5nLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNl
UmVzb3VyY2VUaW1pbmcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wODJiODkyNTE0OTYyOWU4OGQzZDcxYWE2OGJi
MTFiNzUyNjYwYTkyCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJm
b3JtYW5jZVJlc291cmNlVGltaW5nLmgKQEAgLTAsMCArMSw4OCBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24u
CisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMg
b2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAor
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgUGVyZm9ybWFu
Y2VSZXNvdXJjZVRpbWluZ19oCisjZGVmaW5lIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmdfaAor
CisjaWYgRU5BQkxFKFJFU09VUkNFX1RJTUlORykKKworI2luY2x1ZGUgIlBlcmZvcm1hbmNlRW50
cnkuaCIKKyNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9SZWZQdHIu
aD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUg
eworCitjbGFzcyBEb2N1bWVudDsKK2NsYXNzIEtVUkw7CitjbGFzcyBSZXNvdXJjZUxvYWRUaW1p
bmc7CitjbGFzcyBSZXNvdXJjZVJlcXVlc3Q7CitjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOworCitj
bGFzcyBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nIDogcHVibGljIFBlcmZvcm1hbmNlRW50cnkg
eworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1p
bmc+IGNyZWF0ZShjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IFJlc291cmNl
UmVzcG9uc2UmIHJlc3BvbnNlLCBkb3VibGUgZmluaXNoVGltZSwgRG9jdW1lbnQqIHJlcXVlc3Rp
bmdEb2N1bWVudCkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgUGVyZm9ybWFu
Y2VSZXNvdXJjZVRpbWluZyhyZXF1ZXN0LCByZXNwb25zZSwgZmluaXNoVGltZSwgcmVxdWVzdGlu
Z0RvY3VtZW50KSk7CisgICAgfQorCisgICAgU3RyaW5nIGluaXRpYXRvclR5cGUoKSBjb25zdDsK
KworICAgIGRvdWJsZSByZWRpcmVjdFN0YXJ0KCkgY29uc3Q7CisgICAgZG91YmxlIHJlZGlyZWN0
RW5kKCkgY29uc3Q7CisgICAgZG91YmxlIGZldGNoU3RhcnQoKSBjb25zdDsKKyAgICBkb3VibGUg
ZG9tYWluTG9va3VwU3RhcnQoKSBjb25zdDsKKyAgICBkb3VibGUgZG9tYWluTG9va3VwRW5kKCkg
Y29uc3Q7CisgICAgZG91YmxlIGNvbm5lY3RTdGFydCgpIGNvbnN0OworICAgIGRvdWJsZSBjb25u
ZWN0RW5kKCkgY29uc3Q7CisgICAgZG91YmxlIHNlY3VyZUNvbm5lY3Rpb25TdGFydCgpIGNvbnN0
OworICAgIGRvdWJsZSByZXF1ZXN0U3RhcnQoKSBjb25zdDsKKyAgICBkb3VibGUgcmVzcG9uc2VT
dGFydCgpIGNvbnN0OworICAgIGRvdWJsZSByZXNwb25zZUVuZCgpIGNvbnN0OworCisgICAgdmly
dHVhbCBib29sIGlzUmVzb3VyY2UoKSB7IHJldHVybiB0cnVlOyB9CisKK3ByaXZhdGU6CisgICAg
UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZyhjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBS
ZXNvdXJjZVJlc3BvbnNlJiwgZG91YmxlIGZpbmlzaFRpbWUsIERvY3VtZW50Kik7CisgICAgflBl
cmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcoKTsKKworICAgIGRvdWJsZSBtb25vdG9uaWNUaW1lVG9E
b2N1bWVudE1pbGxpc2Vjb25kcyhkb3VibGUgc2Vjb25kcykgY29uc3Q7CisgICAgZG91YmxlIHJl
c291cmNlVGltZVRvRG9jdW1lbnRNaWxsaXNlY29uZHMoaW50IGRlbHRhTWlsbGlzZWNvbmRzKSBj
b25zdDsKKworICAgIFJlZlB0cjxSZXNvdXJjZUxvYWRUaW1pbmc+IG1fdGltaW5nOworICAgIGRv
dWJsZSBtX2ZpbmlzaFRpbWU7CisgICAgUmVmUHRyPERvY3VtZW50PiBtX3JlcXVlc3RpbmdEb2N1
bWVudDsKK307CisKK30KKworI2VuZGlmIC8vIEVOQUJMRShSRVNPVVJDRV9USU1JTkcpCisKKyNl
bmRpZiAvLyAhZGVmaW5lZChQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nX2gpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaWRsIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmlkbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4zZTBhZDU5Y2U4NGJmMTNkMjFiMTQ5ODliOWYxMDNlMTY5ZThmMjM4Ci0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmlkbApA
QCAtMCwwICsxLDUyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisg
KiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5h
bWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBt
YXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisg
KiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xE
RVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
Q09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAor
ICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworbW9kdWxlIHdpbmRvdyB7CisKKyAgICAvLyBTZWU6IGh0dHBzOi8vZHZj
cy53My5vcmcvaGcvd2VicGVyZi9yYXctZmlsZS90aXAvc3BlY3MvUmVzb3VyY2VUaW1pbmcvT3Zl
cnZpZXcuaHRtbAorICAgIGludGVyZmFjZSBbCisgICAgICAgIENvbmRpdGlvbmFsPVJFU09VUkNF
X1RJTUlORywKKyAgICAgICAgT21pdENvbnN0cnVjdG9yCisgICAgXSBQZXJmb3JtYW5jZVJlc291
cmNlVGltaW5nIDogUGVyZm9ybWFuY2VFbnRyeSB7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBET01TdHJpbmcgaW5pdGlhdG9yVHlwZTsKKworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUg
ZG91YmxlIHJlZGlyZWN0U3RhcnQ7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBkb3VibGUg
cmVkaXJlY3RFbmQ7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBkb3VibGUgZmV0Y2hTdGFy
dDsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGRvdWJsZSBkb21haW5Mb29rdXBTdGFydDsK
KyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGRvdWJsZSBkb21haW5Mb29rdXBFbmQ7CisgICAg
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBkb3VibGUgY29ubmVjdFN0YXJ0OworICAgICAgICByZWFk
b25seSBhdHRyaWJ1dGUgZG91YmxlIGNvbm5lY3RFbmQ7CisgICAgICAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSBkb3VibGUgc2VjdXJlQ29ubmVjdGlvblN0YXJ0OworICAgICAgICByZWFkb25seSBhdHRy
aWJ1dGUgZG91YmxlIHJlcXVlc3RTdGFydDsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGRv
dWJsZSByZXNwb25zZVN0YXJ0OworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgZG91YmxlIHJl
c3BvbnNlRW5kOworICAgIH07Cit9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>