<?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>143463</bug_id>
          
          <creation_ts>2015-04-06 19:08:56 -0700</creation_ts>
          <short_desc>Bing video search result pages are not PageCacheable</short_desc>
          <delta_ts>2016-02-01 15:43:52 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Page Loading</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=143484</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=153683</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>143779</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>ap</cc>
    
    <cc>barraclough</cc>
    
    <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>japhet</cc>
    
    <cc>kling</cc>
    
    <cc>koivisto</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1083243</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-04-06 19:08:56 -0700</bug_when>
    <thetext>Bing video search result pages are not PageCacheable (tested on iOS). It both:
- is bad for power usage as it causes a reload when clicking one of the results then navigating back in history
- degrades user experience because the results page uses infinite scrolling and the scroll position is not properly restored when navigating back, not to mention the user has to wait for the reload to complete.

Radar: &lt;rdar://problem/20440916&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1083244</commentid>
    <comment_count>1</comment_count>
      <attachid>250252</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-04-06 19:41:54 -0700</bug_when>
    <thetext>Created attachment 250252
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1083245</commentid>
    <comment_count>2</comment_count>
      <attachid>250252</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2015-04-06 20:08:42 -0700</bug_when>
    <thetext>Comment on attachment 250252
Patch

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

&gt; LayoutTests/http/tests/navigation/page-cache-pending-image-load-cache-partition.html:11
&gt; +    testRunner.overridePreference(&quot;WebKitUsesPageCachePreferenceKey&quot;, 1);

Is this preference reset after the test (in both DRT and WKTR)?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1083246</commentid>
    <comment_count>3</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2015-04-06 20:09:27 -0700</bug_when>
    <thetext>Please fix the iOS build:

/Volumes/Data/EWS/WebKit/Source/WebKit/mac/Misc/WebCache.mm:204:81: error: no member named &apos;resourceForURL&apos; in &apos;WebCore::MemoryCache&apos;
    WebCore::CachedResource* cachedResource = WebCore::MemoryCache::singleton().resourceForURL(url);</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1083250</commentid>
    <comment_count>4</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-04-06 21:47:00 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; Comment on attachment 250252 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=250252&amp;action=review
&gt; 
&gt; &gt; LayoutTests/http/tests/navigation/page-cache-pending-image-load-cache-partition.html:11
&gt; &gt; +    testRunner.overridePreference(&quot;WebKitUsesPageCachePreferenceKey&quot;, 1);
&gt; 
&gt; Is this preference reset after the test (in both DRT and WKTR)?

Yes, for WKTR, this is taken care of by WebPreferencesStore::removeTestRunnerOverrides().
For DTR, in void resetWebPreferencesToConsistentValues() in DumpRenderTree.mm:
[preferences setUsesPageCache:NO];</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1083251</commentid>
    <comment_count>5</comment_count>
      <attachid>250254</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-04-06 21:52:31 -0700</bug_when>
    <thetext>Created attachment 250254
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1083253</commentid>
    <comment_count>6</comment_count>
      <attachid>250255</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-04-06 22:21:41 -0700</bug_when>
    <thetext>Created attachment 250255
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1083254</commentid>
    <comment_count>7</comment_count>
      <attachid>250256</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-04-06 22:26:35 -0700</bug_when>
    <thetext>Created attachment 250256
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1083256</commentid>
    <comment_count>8</comment_count>
      <attachid>250256</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-04-06 23:23:54 -0700</bug_when>
    <thetext>Comment on attachment 250256
Patch

Clearing flags on attachment: 250256

Committed r182449: &lt;http://trac.webkit.org/changeset/182449&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1083257</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-04-06 23:24:02 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1083321</commentid>
    <comment_count>10</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2015-04-07 09:39:11 -0700</bug_when>
    <thetext>Looks like this broke a test on Windows:

http/tests/security/xss-DENIED-xsl-external-entity-redirect.xml

@@ -1,2 +1,6 @@
+CONSOLE MESSAGE: line 1: Document is empty
+
+CONSOLE MESSAGE: line 1: Start tag expected, &apos;&lt;&apos; not found
+
 This test includes a cross-origin external entity. It passes if the load fails and thus there is no text below this line.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1083322</commentid>
    <comment_count>11</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-04-07 09:40:26 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; Looks like this broke a test on Windows:
&gt; 
&gt; http/tests/security/xss-DENIED-xsl-external-entity-redirect.xml
&gt; 
&gt; @@ -1,2 +1,6 @@
&gt; +CONSOLE MESSAGE: line 1: Document is empty
&gt; +
&gt; +CONSOLE MESSAGE: line 1: Start tag expected, &apos;&lt;&apos; not found
&gt; +
&gt;  This test includes a cross-origin external entity. It passes if the load
&gt; fails and thus there is no text below this line.

Hmm, this is really odd. I&apos;ll take a look now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1083323</commentid>
    <comment_count>12</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-04-07 09:43:00 -0700</bug_when>
    <thetext>The failing test does not use PageCache or internals.isLoadingFromMemoryCache(). Could it be a flake?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1083324</commentid>
    <comment_count>13</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2015-04-07 09:48:15 -0700</bug_when>
    <thetext>It fails every time, so not really a flake:

http://webkit-test-results.appspot.com/dashboards/flakiness_dashboard.html#tests=http%2Ftests%2Fsecurity%2Fxss-DENIED-xsl-external-entity-redirect.xml</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1083325</commentid>
    <comment_count>14</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-04-07 09:51:36 -0700</bug_when>
    <thetext>(In reply to comment #13)
&gt; It fails every time, so not really a flake:
&gt; 
&gt; http://webkit-test-results.appspot.com/dashboards/flakiness_dashboard.
&gt; html#tests=http%2Ftests%2Fsecurity%2Fxss-DENIED-xsl-external-entity-redirect.
&gt; xml

Ok, still investigating. stdio shows:
476 2928 worker/0 http/tests/security/xss-DENIED-xsl-external-entity-redirect.xml passed
18:00:06.538 2928 worker/0 http/tests/security/xss-DENIED-xsl-external-entity.xml output stderr lines:
18:00:06.538 2928   ERROR: Failed to create path /tmp/DumpRenderTree-1sDSaK\Databases
18:00:06.538 2928   ..\platform\win\FileSystemWin.cpp(212) : WebCore::makeAllDirectories
18:00:06.538 2928   ERROR: Failed to create path /tmp/DumpRenderTree-1sDSaK\Databases
18:00:06.538 2928   ..\platform\win\FileSystemWin.cpp(212) : WebCore::makeAllDirectories
18:00:06.538 2928   LEAK: 3 CachedPage
18:00:06.538 2928   LEAK: 218 CachedResource
18:00:06.538 2928   LEAK: 4 CachedFrame
18:00:06.538 2928   LEAK: 7 Frame
18:00:06.538 2928   LEAK: 242 WebCoreNode
18:00:06.538 2928   LEAK: 46 RenderObject
18:00:06.538 2928   LEAK: 6 Page
18:00:06.538 2928   file:///C:/Program%20Files%20(x86)/Common%20Files/Apple/Apple%20Application%20Support/../etc/catalog:1: parser error : Document is empty
18:00:06.538 2928   
18:00:06.538 2928   ^
18:00:06.538 2928   file:///C:/Program%20Files%20(x86)/Common%20Files/Apple/Apple%20Application%20Support/../etc/catalog:1: parser error : Start tag expected, &apos;&lt;&apos; not found
18:00:06.538 2928   
18:00:06.538 2928   ^
18:00:06.538 2928   compilation error: file http://127.0.0.1:8000/security/xss-DENIED-xsl-document-securityOrigin.xml line 2 element stylesheet
18:00:06.538 2928   xsl:version: only 1.0 features are supported
18:00:06.538 2928   compilation error: file http://127.0.0.1:8000/security/xss-DENIED-xsl-document-securityOrigin.xml line 2 element stylesheet
18:00:06.538 2928   xsl:version: only 1.0 features are supported
18:00:06.538 2928   compilation error: file http://127.0.0.1:8000/security/xss-DENIED-xsl-document-securityOrigin.xml line 2 element stylesheet
18:00:06.538 2928   xsl:version: only 1.0 features are supported
18:00:06.538 2928 worker/0 http/tests/security/xss-DENIED-xsl-external-entity.xml passed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1083327</commentid>
    <comment_count>15</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-04-07 09:55:51 -0700</bug_when>
    <thetext>(In reply to comment #14)
&gt; (In reply to comment #13)
&gt; &gt; It fails every time, so not really a flake:
&gt; &gt; 
&gt; &gt; http://webkit-test-results.appspot.com/dashboards/flakiness_dashboard.
&gt; &gt; html#tests=http%2Ftests%2Fsecurity%2Fxss-DENIED-xsl-external-entity-redirect.
&gt; &gt; xml
&gt; 
&gt; Ok, still investigating. stdio shows:
&gt; 476 2928 worker/0
&gt; http/tests/security/xss-DENIED-xsl-external-entity-redirect.xml passed
&gt; 18:00:06.538 2928 worker/0
&gt; http/tests/security/xss-DENIED-xsl-external-entity.xml output stderr lines:
&gt; 18:00:06.538 2928   ERROR: Failed to create path
&gt; /tmp/DumpRenderTree-1sDSaK\Databases
&gt; 18:00:06.538 2928   ..\platform\win\FileSystemWin.cpp(212) :
&gt; WebCore::makeAllDirectories
&gt; 18:00:06.538 2928   ERROR: Failed to create path
&gt; /tmp/DumpRenderTree-1sDSaK\Databases
&gt; 18:00:06.538 2928   ..\platform\win\FileSystemWin.cpp(212) :
&gt; WebCore::makeAllDirectories
&gt; 18:00:06.538 2928   LEAK: 3 CachedPage
&gt; 18:00:06.538 2928   LEAK: 218 CachedResource
&gt; 18:00:06.538 2928   LEAK: 4 CachedFrame
&gt; 18:00:06.538 2928   LEAK: 7 Frame
&gt; 18:00:06.538 2928   LEAK: 242 WebCoreNode
&gt; 18:00:06.538 2928   LEAK: 46 RenderObject
&gt; 18:00:06.538 2928   LEAK: 6 Page
&gt; 18:00:06.538 2928  
&gt; file:///C:/Program%20Files%20(x86)/Common%20Files/Apple/
&gt; Apple%20Application%20Support/../etc/catalog:1: parser error : Document is
&gt; empty
&gt; 18:00:06.538 2928   
&gt; 18:00:06.538 2928   ^
&gt; 18:00:06.538 2928  
&gt; file:///C:/Program%20Files%20(x86)/Common%20Files/Apple/
&gt; Apple%20Application%20Support/../etc/catalog:1: parser error : Start tag
&gt; expected, &apos;&lt;&apos; not found
&gt; 18:00:06.538 2928   
&gt; 18:00:06.538 2928   ^
&gt; 18:00:06.538 2928   compilation error: file
&gt; http://127.0.0.1:8000/security/xss-DENIED-xsl-document-securityOrigin.xml
&gt; line 2 element stylesheet
&gt; 18:00:06.538 2928   xsl:version: only 1.0 features are supported
&gt; 18:00:06.538 2928   compilation error: file
&gt; http://127.0.0.1:8000/security/xss-DENIED-xsl-document-securityOrigin.xml
&gt; line 2 element stylesheet
&gt; 18:00:06.538 2928   xsl:version: only 1.0 features are supported
&gt; 18:00:06.538 2928   compilation error: file
&gt; http://127.0.0.1:8000/security/xss-DENIED-xsl-document-securityOrigin.xml
&gt; line 2 element stylesheet
&gt; 18:00:06.538 2928   xsl:version: only 1.0 features are supported
&gt; 18:00:06.538 2928 worker/0
&gt; http/tests/security/xss-DENIED-xsl-external-entity.xml passed

Interestingly, stdio shows the same stdio errors in the builds before mine:
https://build.webkit.org/builders/Apple%20Win%207%20Debug%20%28Tests%29/builds/65579/steps/layout-test/logs/stdio

However, the test was not recognized as failing before (same errors though).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1083330</commentid>
    <comment_count>16</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-04-07 10:12:52 -0700</bug_when>
    <thetext>Looks like the Windows failure is caused by &lt;rdar://problem/4292995&gt;. mac and iOS already have a workaround for it, we likely want to do the same for win?
Tools/Scripts/webkitpy/port/ios.py:        env[&apos;XML_CATALOG_FILES&apos;] = &apos;&apos;  # work around missing /etc/catalog &lt;rdar://problem/4292995&gt;
Tools/Scripts/webkitpy/port/mac.py:        env[&apos;XML_CATALOG_FILES&apos;] = &apos;&apos;  # work around missing /etc/catalog &lt;rdar://problem/4292995&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1083332</commentid>
    <comment_count>17</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-04-07 10:16:23 -0700</bug_when>
    <thetext>(In reply to comment #16)
&gt; Looks like the Windows failure is caused by &lt;rdar://problem/4292995&gt;. mac
&gt; and iOS already have a workaround for it, we likely want to do the same for
&gt; win?
&gt; Tools/Scripts/webkitpy/port/ios.py:        env[&apos;XML_CATALOG_FILES&apos;] = &apos;&apos;  #
&gt; work around missing /etc/catalog &lt;rdar://problem/4292995&gt;
&gt; Tools/Scripts/webkitpy/port/mac.py:        env[&apos;XML_CATALOG_FILES&apos;] = &apos;&apos;  #
&gt; work around missing /etc/catalog &lt;rdar://problem/4292995&gt;

Wow -- we should definitely do the same for Windows!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1083334</commentid>
    <comment_count>18</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-04-07 10:18:28 -0700</bug_when>
    <thetext>(In reply to comment #17)
&gt; (In reply to comment #16)
&gt; &gt; Looks like the Windows failure is caused by &lt;rdar://problem/4292995&gt;. mac
&gt; &gt; and iOS already have a workaround for it, we likely want to do the same for
&gt; &gt; win?
&gt; &gt; Tools/Scripts/webkitpy/port/ios.py:        env[&apos;XML_CATALOG_FILES&apos;] = &apos;&apos;  #
&gt; &gt; work around missing /etc/catalog &lt;rdar://problem/4292995&gt;
&gt; &gt; Tools/Scripts/webkitpy/port/mac.py:        env[&apos;XML_CATALOG_FILES&apos;] = &apos;&apos;  #
&gt; &gt; work around missing /etc/catalog &lt;rdar://problem/4292995&gt;
&gt; 
&gt; Wow -- we should definitely do the same for Windows!

Filed https://bugs.webkit.org/show_bug.cgi?id=143484.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1083347</commentid>
    <comment_count>19</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2015-04-07 10:51:52 -0700</bug_when>
    <thetext>Good catch!

Not sure if we have an explanation of why this started being a test failure, seems quite surprising.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1083351</commentid>
    <comment_count>20</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-04-07 10:57:12 -0700</bug_when>
    <thetext>(In reply to comment #19)
&gt; Good catch!
&gt; 
&gt; Not sure if we have an explanation of why this started being a test failure,
&gt; seems quite surprising.

Yes, somehow the stderr output ended up as CONSOLE messages, causing the layout tests to fail. Not sure how this can happen. It may even be the stderr output from the previous test if I read correctly...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1083352</commentid>
    <comment_count>21</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2015-04-07 11:07:30 -0700</bug_when>
    <thetext>These may be coming from XSLTProcessor::parseErrorFunc, so they are proper console messages from the beginning, not stderr messages.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1083393</commentid>
    <comment_count>22</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2015-04-07 13:14:55 -0700</bug_when>
    <thetext>The test is still failing with that fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1085398</commentid>
    <comment_count>23</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2015-04-14 20:52:27 -0700</bug_when>
    <thetext>The test is still failing on Windows Debug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1085520</commentid>
    <comment_count>24</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-04-15 09:45:59 -0700</bug_when>
    <thetext>(In reply to comment #23)
&gt; The test is still failing on Windows Debug.

I believe Brent was looking into the XML error. However, I have another speculative fix at https://bugs.webkit.org/show_bug.cgi?id=143779.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1085626</commentid>
    <comment_count>25</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-04-15 12:16:03 -0700</bug_when>
    <thetext>(In reply to comment #24)
&gt; (In reply to comment #23)
&gt; &gt; The test is still failing on Windows Debug.
&gt; 
&gt; I believe Brent was looking into the XML error. However, I have another
&gt; speculative fix at https://bugs.webkit.org/show_bug.cgi?id=143779.

Looks like the test is no longer failing starting with the following build:
https://build.webkit.org/builders/Apple%20Win%207%20Debug%20%28Tests%29/builds/65705

I don&apos;t know what fixed it but the test still passes in the builds that follow.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1085766</commentid>
    <comment_count>26</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2015-04-15 17:06:59 -0700</bug_when>
    <thetext>It&apos;s failing again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1085780</commentid>
    <comment_count>27</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-04-15 17:31:51 -0700</bug_when>
    <thetext>(In reply to comment #26)
&gt; It&apos;s failing again.

I don&apos;t know what Brent thinks about this but I would propose marking it was flaky. I don&apos;t believe the failure was caused by my change. The test clearly is flaky as it starts passing / failing for no apparent reason.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>250252</attachid>
            <date>2015-04-06 19:41:54 -0700</date>
            <delta_ts>2015-04-06 21:52:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-143463-20150406194125.patch</filename>
            <type>text/plain</type>
            <size>13584</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgyNDQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjg2ODBhYzViYmM0YzBl
MWQ3MDhjM2U2MTljMWFhMzg0ZGEyYjEyMS4uMWNmMzM3MmNlZmRjNGM2YmMwYWEyYjJmMDU2MmY2
OWIzMjBkYmE3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYyIEBACisyMDE1LTA0LTA2ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgQmluZyB2aWRlbyBzZWFyY2gg
cmVzdWx0IHBhZ2VzIGFyZSBub3QgUGFnZUNhY2hlYWJsZQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQzNDYzCisgICAgICAgIDxyZGFyOi8vcHJvYmxl
bS8yMDQ0MDkxNj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBCaW5nIHZpZGVvIHNlYXJjaCByZXN1bHQgcGFnZXMgYXJlIG5vdCBQYWdlQ2FjaGVhYmxl
ICh0ZXN0ZWQgb24gaU9TKS4KKyAgICAgICAgSXQgYm90aDoKKyAgICAgICAgLSBpcyBiYWQgZm9y
IHBvd2VyIHVzYWdlIGFzIGl0IGNhdXNlcyBhIHJlbG9hZCB3aGVuIGNsaWNraW5nIG9uZSBvZiB0
aGUKKyAgICAgICAgICByZXN1bHRzIHRoZW4gbmF2aWdhdGluZyBiYWNrIGluIGhpc3RvcnkuCisg
ICAgICAgIC0gZGVncmFkZXMgdXNlciBleHBlcmllbmNlIGJlY2F1c2UgdGhlIHJlc3VsdHMgcGFn
ZSB1c2VzIGluZmluaXRlCisgICAgICAgICAgc2Nyb2xsaW5nIGFuZCB0aGUgc2Nyb2xsIHBvc2l0
aW9uIGlzIG5vdCBwcm9wZXJseSByZXN0b3JlZCB3aGVuCisgICAgICAgICAgbmF2aWdhdGluZyBi
YWNrLCBub3QgdG8gbWVudGlvbiB0aGUgdXNlciBoYXMgdG8gd2FpdCBmb3IgdGhlIHJlbG9hZAor
ICAgICAgICAgIHRvIGNvbXBsZXRlLgorCisgICAgICAgIFRoZSBpc3N1ZSB3YXMgdGhhdCB0aGUg
YmluZyBzZWFyY2ggcGFnZSB3YXMgZG9pbmcgYSBwaW5nIGxvYWQgd2hlbgorICAgICAgICBjbGlj
a2luZyBvbiBvbmUgb2YgdGhlIHNlYXJjaCByZXN1bHRzLiBUaGUgcGluZyBsb2FkIHdhcyBkb25l
IGJ5CisgICAgICAgIGNyZWF0ZSBhbiBpbWFnZSBhbmQgaXRzICdzcmMnIGF0dHJpYnV0ZSB0byB0
aGUgcGluZyBVUkwuIFRoaXMgbG9hZAorICAgICAgICB1c3VhbGx5IGRpZCBub3QgaGF2ZSB0aW1l
IHRvIGNvbXBsZXRlIHdoZW4gbmF2aWdhdGluZyBhd2F5IHNvIHdlIHdvdWxkCisgICAgICAgIGNh
bmNlbCBpdCBhbmQgdGhlIG1haW4gZG9jdW1lbnQgd291bGQgZW5kIHVwIHdpdGggYW4gZXJyb3Ig
dGhhdCB3b3VsZAorICAgICAgICBwcmV2ZW50IHRoZSBwYWdlIGZyb20gZW50ZXJpbmcgdGhlIHBh
Z2UgY2FjaGUuIFdlIGFscmVhZHkgaGF2ZSBjb2RlCisgICAgICAgIG1ha2luZyBzdXJlIGxvYWQg
Y2FuY2VsbGF0aW9ucyBkbyBub3QgcHJldmVudCBwYWdlIGNhY2hpbmcgYXMgbG9uZyBhcworICAg
ICAgICB0aGUgbG9hZHMgYXJlIGZvciBYSFIgb3IgaW1hZ2VzLiBIb3dldmVyLCB0aGUgbGF0dGVy
IGNoZWNrIHdhcyBicm9rZW4KKyAgICAgICAgaW4gdGhlIGNhc2Ugd2hlcmUgdGhlIFJlc291cmNl
UmVxdWVzdCdzIGNhY2hlUGFydGl0aW9uIHdhcyBub24tZW1wdHkuCisgICAgICAgIFRoaXMgaXMg
YmVjYXVzZSB0aGUgY2hlY2sgd2FzIHVzaW5nIHRoZSBNZW1vcnlDYWNoZTo6UmVzb3VyY2VGb3JV
cmwoKQorICAgICAgICBBUEkgd2hpY2ggcmFyZWx5IGRvZXMgd2hhdCB3ZSB3YW50IGJlY2F1c2Ug
aXQgd2lsbCByZXF1ZXN0IGEgZHVtbXkKKyAgICAgICAgUmVzb3VyY2VSZXF1ZXN0ICh3aXRob3V0
IGNhY2hlUGFydGl0aW9uKSBhbmQgdGhlbiBjYWxsCisgICAgICAgIE1lbW9yeUNhY2hlOjpyZXNv
dXJjZUZvclJlcXVlc3QoKS4gVGhpcyBwYXRjaCB1cGRhdGVzIHRoZSBjaGVjaworICAgICAgICB0
byB1c2UgcmVzb3VyY2VGb3JSZXF1ZXN0KCkgZGlyZWN0bHkgYXMgd2UgaGF2ZSB0aGUgUmVzb3Vy
Y2VSZXF1ZXN0CisgICAgICAgIGF0IHRoaXMgcG9pbnQuCisKKyAgICAgICAgVGhpcyBwYXRjaCBh
bHNvIGdldHMgcmlkIG9mIHRoZSAgTWVtb3J5Q2FjaGU6OlJlc291cmNlRm9yVXJsKCkgQVBJIGFz
CisgICAgICAgIGl0IHJhcmVseSBkb2VzIHdoYXQgd2Ugd2FudCBhbmQgaXQgaXMgYnVnIHByb25l
LiBJdCB3YXMgb25seSB1c2VkIGluCisgICAgICAgIDIgcGxhY2VzLCBvbmUgb2YgdGhlbSBjYXVz
aW5nIHRoaXMgYnVnIGFuZCB0aGUgb3RoZXIgaW4gSW50ZXJuYWxzLgorCisgICAgICAgIFRlc3Rz
OiBodHRwL3Rlc3RzL25hdmlnYXRpb24vcGFnZS1jYWNoZS1wZW5kaW5nLWltYWdlLWxvYWQtY2Fj
aGUtcGFydGl0aW9uLmh0bWwKKyAgICAgICAgICAgICAgIGh0dHAvdGVzdHMvbmF2aWdhdGlvbi9w
YWdlLWNhY2hlLXBlbmRpbmctaW1hZ2UtbG9hZC5odG1sCisKKyAgICAgICAgKiBsb2FkZXIvRG9j
dW1lbnRMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6YXJlQWxsTG9hZGVyc1BhZ2VDYWNo
ZUFjY2VwdGFibGUpOgorICAgICAgICBVc2UgTWVtb3J5Q2FjaGU6OnJlc291cmNlRm9yUmVxdWVz
dCgpIGluc3RlYWQgb2YgcmVzb3VyY2VGb3JVcmwoKSBhcworICAgICAgICB3ZSBoYXZlIHRoZSBS
ZXNvdXJjZVJlcXVlc3QgYW5kIGNhbGxpbmcgcmVzb3VyY2VGb3JVcmwoKSB3b3VsZCBsb29zZQor
ICAgICAgICB0aGUgY2FjaGVQYXJ0aXRpb24uCisKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvTWVt
b3J5Q2FjaGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVtb3J5Q2FjaGU6OnJlc291cmNlRm9y
VVJMKTogRGVsZXRlZC4KKyAgICAgICAgRHJvcCB0aGlzIEFQSSBhcyBpdCBpcyBidWcgcHJvbmUg
YW5kIHJhcmVseSBkb2VzIHdoYXQgd2Ugd2FudC4KKworICAgICAgICAqIHRlc3RpbmcvSW50ZXJu
YWxzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6aXNMb2FkaW5nRnJvbU1lbW9y
eUNhY2hlKToKKyAgICAgICAgVXBkYXRlIGNhbGwgdG8gY3JlYXRlIGEgZHVtbXkgUmVzb3VyY2VS
ZXF1ZXN0IGFuZCBjYWxsCisgICAgICAgIHJlc291cmNlRm9yUmVxdWVzdCgpIGluc3RlYWQgb2Yg
cmVzb3VyY2VGb3JVcmwoKSwgYXMgdGhpcyBBUEkgbm8KKyAgICAgICAgbG9uZ2VyIGV4aXN0cy4g
VGhlIG5ldyBjb2RlIGFsc28gc2V0IHRoZSBjYWNoZVBhcnRpdGlvbiBvbiB0aGUKKyAgICAgICAg
ZHVtbXkgcmVxdWVzdCBzbyB0aGF0IHRoaXMgZnVuY3Rpb24gYWN0dWFsbHkgYmVoYXZlcyBhcyBl
eHBlY3RlZAorICAgICAgICBpZiB0aGUgY2FjaGVQYXJ0aXRpb24gaW4gdGhlIG1lbW9yeSBjYWNo
ZSBpcyBub24tZW1wdHkuCisKKwogMjAxNS0wNC0wNiAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFw
cGxlLmNvbT4KIAogICAgICAgICBTeW5jaHJvbml6ZSBmdWxsc2NyZWVuIGFuaW1hdGlvbiBiZXR3
ZWVuIHByb2Nlc3Nlcy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVu
dExvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwCmlu
ZGV4IDJhOGYyZjA1ZWEyOWJjYTBlMTMxMTZmMjVmYThhZDMyMWFhMzM2YTguLmZiOGJlNmFhNmU0
MTI3NzBhOWQ1ZDY3Y2FjMjMxZWQyYzE4OGM1NDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Rv
Y3VtZW50TG9hZGVyLmNwcApAQCAtMTAzLDcgKzEwMyw3IEBAIHN0YXRpYyBib29sIGFyZUFsbExv
YWRlcnNQYWdlQ2FjaGVBY2NlcHRhYmxlKGNvbnN0IFJlc291cmNlTG9hZGVyTWFwJiBsb2FkZXJz
KQogICAgICAgICBpZiAoIWxvYWRlci0+ZnJhbWVMb2FkZXIoKSkKICAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKIAotICAgICAgICBDYWNoZWRSZXNvdXJjZSogY2FjaGVkUmVzb3VyY2UgPSBNZW1v
cnlDYWNoZTo6c2luZ2xldG9uKCkucmVzb3VyY2VGb3JVUkwobG9hZGVyLT5yZXF1ZXN0KCkudXJs
KCksIGxvYWRlci0+ZnJhbWVMb2FkZXIoKS0+ZnJhbWUoKS5wYWdlKCktPnNlc3Npb25JRCgpKTsK
KyAgICAgICAgQ2FjaGVkUmVzb3VyY2UqIGNhY2hlZFJlc291cmNlID0gTWVtb3J5Q2FjaGU6OnNp
bmdsZXRvbigpLnJlc291cmNlRm9yUmVxdWVzdChsb2FkZXItPnJlcXVlc3QoKSwgbG9hZGVyLT5m
cmFtZUxvYWRlcigpLT5mcmFtZSgpLnBhZ2UoKS0+c2Vzc2lvbklEKCkpOwogICAgICAgICBpZiAo
IWNhY2hlZFJlc291cmNlKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUuY3BwIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmNwcAppbmRleCA4MDQ4NmQ0MWQ1YmQzMzNi
NTY0MDY4MDA2NTU0ZjZmOWFlODk0NWU3Li5mYWIxYzBlMThkNWE0ZmZmZWJjNTFhNjVmZDM3NDFk
OGFlYWM4N2JiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvTWVtb3J5
Q2FjaGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5j
cHAKQEAgLTE2OCwxMSArMTY4LDYgQEAgdm9pZCBNZW1vcnlDYWNoZTo6cmV2YWxpZGF0aW9uRmFp
bGVkKENhY2hlZFJlc291cmNlJiByZXZhbGlkYXRpbmdSZXNvdXJjZSkKICAgICByZXZhbGlkYXRp
bmdSZXNvdXJjZS5jbGVhclJlc291cmNlVG9SZXZhbGlkYXRlKCk7CiB9CiAKLUNhY2hlZFJlc291
cmNlKiBNZW1vcnlDYWNoZTo6cmVzb3VyY2VGb3JVUkwoY29uc3QgVVJMJiByZXNvdXJjZVVSTCwg
U2Vzc2lvbklEIHNlc3Npb25JRCkKLXsKLSAgICByZXR1cm4gcmVzb3VyY2VGb3JSZXF1ZXN0KFJl
c291cmNlUmVxdWVzdChyZXNvdXJjZVVSTCksIHNlc3Npb25JRCk7Ci19Ci0KIENhY2hlZFJlc291
cmNlKiBNZW1vcnlDYWNoZTo6cmVzb3VyY2VGb3JSZXF1ZXN0KGNvbnN0IFJlc291cmNlUmVxdWVz
dCYgcmVxdWVzdCwgU2Vzc2lvbklEIHNlc3Npb25JRCkKIHsKICAgICBhdXRvKiByZXNvdXJjZXMg
PSBzZXNzaW9uUmVzb3VyY2VNYXAoc2Vzc2lvbklEKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2Nh
Y2hlL01lbW9yeUNhY2hlLmgKaW5kZXggNzY3NDI0MjE5YmRlMTJjM2UxODBhZGYyYjAyZmYwMDBi
ZDI4MDg0MC4uNWEzZDM3ZWJlNmJlNDRkZTFjMDZmYjQ2YWJlODM3Nzk4YjY2ZDcxZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmgKQEAgLTkxLDcgKzkxLDYgQEAg
cHVibGljOgogCiAgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIE1lbW9yeUNhY2hlJiBzaW5nbGV0
b24oKTsKIAotICAgIFdFQkNPUkVfRVhQT1JUIENhY2hlZFJlc291cmNlKiByZXNvdXJjZUZvclVS
TChjb25zdCBVUkwmLCBTZXNzaW9uSUQgPSBTZXNzaW9uSUQ6OmRlZmF1bHRTZXNzaW9uSUQoKSk7
CiAgICAgV0VCQ09SRV9FWFBPUlQgQ2FjaGVkUmVzb3VyY2UqIHJlc291cmNlRm9yUmVxdWVzdChj
b25zdCBSZXNvdXJjZVJlcXVlc3QmLCBTZXNzaW9uSUQpOwogCiAgICAgYm9vbCBhZGQoQ2FjaGVk
UmVzb3VyY2UmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxz
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAppbmRleCBiNzg0ODZk
OGZmZjFlM2M5MDQzZWQwNzY0NzBiYTMyOTdmNWM0ZmU1Li43YmZmOWVhYjg2ZDU3YzQ4NTE0NjA2
OWU0ZDA0ZWNmZTE0ZjRmZjJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0lu
dGVybmFscy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCkBA
IC00MDUsNyArNDA1LDEyIEBAIGJvb2wgSW50ZXJuYWxzOjppc0xvYWRpbmdGcm9tTWVtb3J5Q2Fj
aGUoY29uc3QgU3RyaW5nJiB1cmwpCiB7CiAgICAgaWYgKCFjb250ZXh0RG9jdW1lbnQoKSB8fCAh
Y29udGV4dERvY3VtZW50KCktPnBhZ2UoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIENh
Y2hlZFJlc291cmNlKiByZXNvdXJjZSA9IE1lbW9yeUNhY2hlOjpzaW5nbGV0b24oKS5yZXNvdXJj
ZUZvclVSTChjb250ZXh0RG9jdW1lbnQoKS0+Y29tcGxldGVVUkwodXJsKSwgY29udGV4dERvY3Vt
ZW50KCktPnBhZ2UoKS0+c2Vzc2lvbklEKCkpOworCisgICAgUmVzb3VyY2VSZXF1ZXN0IHJlcXVl
c3QoY29udGV4dERvY3VtZW50KCktPmNvbXBsZXRlVVJMKHVybCkpOworI2lmIEVOQUJMRShDQUNI
RV9QQVJUSVRJT05JTkcpCisgICAgcmVxdWVzdC5zZXREb21haW5Gb3JDYWNoZVBhcnRpdGlvbihj
b250ZXh0RG9jdW1lbnQoKS0+dG9wT3JpZ2luKCktPmRvbWFpbkZvckNhY2hlUGFydGl0aW9uKCkp
OworI2VuZGlmCisgICAgQ2FjaGVkUmVzb3VyY2UqIHJlc291cmNlID0gTWVtb3J5Q2FjaGU6OnNp
bmdsZXRvbigpLnJlc291cmNlRm9yUmVxdWVzdChyZXF1ZXN0LCBjb250ZXh0RG9jdW1lbnQoKS0+
cGFnZSgpLT5zZXNzaW9uSUQoKSk7CiAgICAgcmV0dXJuIHJlc291cmNlICYmIHJlc291cmNlLT5z
dGF0dXMoKSA9PSBDYWNoZWRSZXNvdXJjZTo6Q2FjaGVkOwogfQogCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggOThmZGU0MDEz
YTRiNjcwYmM5NmYwM2MwNTZlMzE0Y2ZjNjAzZGQ5My4uMjVhODFjNGEwZjJhM2I4M2E4OGFjNTlj
N2NiOWUwMWY3NzQxODJkNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDE1LTA0LTA2ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgQmluZyB2aWRlbyBzZWFyY2gg
cmVzdWx0IHBhZ2VzIGFyZSBub3QgUGFnZUNhY2hlYWJsZQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQzNDYzCisgICAgICAgIDxyZGFyOi8vcHJvYmxl
bS8yMDQ0MDkxNj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBBZGQgbGF5b3V0IHRlc3RzIHRvIGNvbmZpcm0gdGhhdCBhIHBlbmRpbmcgaW1hZ2UgbG9h
ZCBkb2VzIG5vdCBwcmV2ZW50CisgICAgICAgIGEgcGFnZSBmcm9tIGVudGVyaW5nIHRoZSBwYWdl
IGNhY2hlLiBUaGVyZSBhcmUgMiB0ZXN0cywgb25jZSB0aGF0IGNvdmVyCisgICAgICAgIHRoZSBj
YXNlIHdoZXJlIHRoZSByZXF1ZXN0J3MgY2FjaGVQYXJ0aW9uIGlzIGVtcHR5IChwYXNzaW5nIHdp
dGhvdXQgdGhlCisgICAgICAgIGZpeCksIGFuZCBhbm90aGVyIHdoZXJlIHRoZSByZXF1ZXN0J3Mg
Y2FjaGVQYXJ0aXRpb24gaXMgbm9uLWVtcHR5CisgICAgICAgICh3aGljaCBvbmx5IHBhc3NlcyB3
aXRoIHRoZSBmaXgpLgorCisgICAgICAgICogaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3BhZ2UtY2Fj
aGUtcGVuZGluZy1pbWFnZS1sb2FkLWNhY2hlLXBhcnRpdGlvbi1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGh0dHAvdGVzdHMvbmF2aWdhdGlvbi9wYWdlLWNhY2hlLXBlbmRpbmctaW1h
Z2UtbG9hZC1jYWNoZS1wYXJ0aXRpb24uaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0
cy9uYXZpZ2F0aW9uL3BhZ2UtY2FjaGUtcGVuZGluZy1pbWFnZS1sb2FkLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3BhZ2UtY2FjaGUtcGVuZGlu
Zy1pbWFnZS1sb2FkLmh0bWw6IEFkZGVkLgorCiAyMDE1LTA0LTAzICBBbGV4ZXkgUHJvc2t1cnlh
a292ICA8YXBAYXBwbGUuY29tPgogCiAgICAgICAgIFJlZHVjZSB0aGUgZGVwZW5kZW5jeSBvbiBG
bGFzaCBpbiByZWdyZXNzaW9uIHRlc3RzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL25hdmlnYXRpb24vcGFnZS1jYWNoZS1wZW5kaW5nLWltYWdlLWxvYWQtY2FjaGUtcGFydGl0
aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9wYWdl
LWNhY2hlLXBlbmRpbmctaW1hZ2UtbG9hZC1jYWNoZS1wYXJ0aXRpb24tZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjA3MzlkNzU2NmIyYmFkZGQwNzBlM2ZiZWNmMTM1MThjYTY1MTAzYjgKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vcGFnZS1jYWNo
ZS1wZW5kaW5nLWltYWdlLWxvYWQtY2FjaGUtcGFydGl0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEzIEBACitUZXN0cyB0aGF0IGEgcGFnZSB3aXRoIGEgbG9hZGluZyBpbWFnZSBnb2VzIGlu
dG8gdGhlIHBhZ2UgY2FjaGUgKHdpdGggbm9uLWVtcHR5IGNhY2hlIHBhcnRpdGlvbikuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitwYWdlc2hvdyAtIG5vdCBmcm9tIGNhY2hlCitw
YWdlaGlkZSAtIGVudGVyaW5nIGNhY2hlCitwYWdlc2hvdyAtIGZyb20gY2FjaGUKK1BBU1MgUGFn
ZSBkaWQgZW50ZXIgYW5kIHdhcyByZXN0b3JlZCBmcm9tIHRoZSBwYWdlIGNhY2hlCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3BhZ2UtY2FjaGUtcGVuZGluZy1pbWFn
ZS1sb2FkLWNhY2hlLXBhcnRpdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZp
Z2F0aW9uL3BhZ2UtY2FjaGUtcGVuZGluZy1pbWFnZS1sb2FkLWNhY2hlLXBhcnRpdGlvbi5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmIxODNhMWNiZjZlOWZkOWJiZmFiZGEyN2RmMmViNWRhMDExODc0MGQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vcGFnZS1j
YWNoZS1wZW5kaW5nLWltYWdlLWxvYWQtY2FjaGUtcGFydGl0aW9uLmh0bWwKQEAgLTAsMCArMSw1
MSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCdU
ZXN0cyB0aGF0IGEgcGFnZSB3aXRoIGEgbG9hZGluZyBpbWFnZSBnb2VzIGludG8gdGhlIHBhZ2Ug
Y2FjaGUgKHdpdGggbm9uLWVtcHR5IGNhY2hlIHBhcnRpdGlvbikuJyk7Cit3aW5kb3cuanNUZXN0
SXNBc3luYyA9IHRydWU7CitpbnRlcm5hbHMuc2V0dGluZ3Muc2V0U3RvcmFnZUJsb2NraW5nUG9s
aWN5KCdCbG9ja1RoaXJkUGFydHknKTsKKworaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgIHRl
c3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5j
ZUtleSIsIDEpOworCit3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicGFnZXNob3ciLCBmdW5jdGlv
bihldmVudCkgeworICAgIGRlYnVnKCJwYWdlc2hvdyAtICIgKyAoZXZlbnQucGVyc2lzdGVkID8g
IiIgOiAibm90ICIpICsgImZyb20gY2FjaGUiKTsKKworICAgIGlmIChldmVudC5wZXJzaXN0ZWQp
IHsKKyAgICAgICAgdGVzdFBhc3NlZCgiUGFnZSBkaWQgZW50ZXIgYW5kIHdhcyByZXN0b3JlZCBm
cm9tIHRoZSBwYWdlIGNhY2hlIik7CisgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7Cisg
ICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgfSwgMCk7CisgICAgfQorfSwgZmFs
c2UpOworCit3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicGFnZWhpZGUiLCBmdW5jdGlvbihldmVu
dCkgeworICAgIGRlYnVnKCJwYWdlaGlkZSAtICIgKyAoZXZlbnQucGVyc2lzdGVkID8gIiIgOiAi
bm90ICIpICsgImVudGVyaW5nIGNhY2hlIik7CisgICAgaWYgKCFldmVudC5wZXJzaXN0ZWQpIHsK
KyAgICAgICAgdGVzdEZhaWxlZCgiUGFnZSBkaWQgbm90IGVudGVyIHRoZSBwYWdlIGNhY2hlLiIp
OworICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICB9Cit9LCBmYWxzZSk7CisKK3dpbmRvdy5h
ZGRFdmVudExpc3RlbmVyKCdsb2FkJywgZnVuY3Rpb24oKSB7CisgICAgc2V0VGltZW91dChmdW5j
dGlvbigpIHsKKyAgICAgICAgLy8gU2xvdyBsb2FkaW5nIGltYWdlLgorICAgICAgICB2YXIgc2xv
d0ltYWdlID0gbmV3IEltYWdlKCk7CisgICAgICAgIHNsb3dJbWFnZS5zcmMgPSAiL2hpc3Rvcnkv
cmVzb3VyY2VzL3Nsb3ctaW1hZ2UucGhwIjsKKyAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRD
aGlsZChzbG93SW1hZ2UpOworICAgIH0sIDApOworCisgICAgLy8gVGhpcyBuZWVkcyB0byBoYXBw
ZW4gaW4gYSBzZXRUaW1lb3V0IGJlY2F1c2UgYSBuYXZpZ2F0aW9uIGluc2lkZSB0aGUgb25sb2Fk
IGhhbmRsZXIgd291bGQKKyAgICAvLyBub3QgY3JlYXRlIGEgaGlzdG9yeSBlbnRyeS4KKyAgICBz
ZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeworICAgICAgLy8gRm9yY2UgYSBiYWNrIG5hdmlnYXRpb24g
YmFjayB0byB0aGlzIHBhZ2UuCisgICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9ICJyZXNvdXJj
ZXMvcGFnZS1jYWNoZS1oZWxwZXIuaHRtbCI7CisgICAgfSwgMCk7Cit9LCBmYWxzZSk7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
bmF2aWdhdGlvbi9wYWdlLWNhY2hlLXBlbmRpbmctaW1hZ2UtbG9hZC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vcGFnZS1jYWNoZS1wZW5kaW5nLWltYWdl
LWxvYWQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjUzY2IwYzcyNmJjZDk0OWE0ZTEwOTgxOWVk
MTQ1NjJkZWU0MmE2NTgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L25hdmlnYXRpb24vcGFnZS1jYWNoZS1wZW5kaW5nLWltYWdlLWxvYWQtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTMgQEAKK1Rlc3RzIHRoYXQgYSBwYWdlIHdpdGggYSBsb2FkaW5nIGltYWdlIGdv
ZXMgaW50byB0aGUgcGFnZSBjYWNoZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisK
K3BhZ2VzaG93IC0gbm90IGZyb20gY2FjaGUKK3BhZ2VoaWRlIC0gZW50ZXJpbmcgY2FjaGUKK3Bh
Z2VzaG93IC0gZnJvbSBjYWNoZQorUEFTUyBQYWdlIGRpZCBlbnRlciBhbmQgd2FzIHJlc3RvcmVk
IGZyb20gdGhlIHBhZ2UgY2FjaGUKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmln
YXRpb24vcGFnZS1jYWNoZS1wZW5kaW5nLWltYWdlLWxvYWQuaHRtbCBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvbmF2aWdhdGlvbi9wYWdlLWNhY2hlLXBlbmRpbmctaW1hZ2UtbG9hZC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjUyMGI1MjZhNTcwNWY5MTg5N2NhYTk2NWI4OGMwM2JjZGQ0ODk0MDAKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vcGFnZS1jYWNo
ZS1wZW5kaW5nLWltYWdlLWxvYWQuaHRtbApAQCAtMCwwICsxLDUwIEBACis8IURPQ1RZUEUgaHRt
bD4KKzxodG1sPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oJ1Rlc3RzIHRoYXQgYSBwYWdlIHdp
dGggYSBsb2FkaW5nIGltYWdlIGdvZXMgaW50byB0aGUgcGFnZSBjYWNoZS4nKTsKK3dpbmRvdy5q
c1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgIHRlc3RS
dW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtl
eSIsIDEpOworCit3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicGFnZXNob3ciLCBmdW5jdGlvbihl
dmVudCkgeworICAgIGRlYnVnKCJwYWdlc2hvdyAtICIgKyAoZXZlbnQucGVyc2lzdGVkID8gIiIg
OiAibm90ICIpICsgImZyb20gY2FjaGUiKTsKKworICAgIGlmIChldmVudC5wZXJzaXN0ZWQpIHsK
KyAgICAgICAgdGVzdFBhc3NlZCgiUGFnZSBkaWQgZW50ZXIgYW5kIHdhcyByZXN0b3JlZCBmcm9t
IHRoZSBwYWdlIGNhY2hlIik7CisgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CisgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgfSwgMCk7CisgICAgfQorfSwgZmFsc2Up
OworCit3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicGFnZWhpZGUiLCBmdW5jdGlvbihldmVudCkg
eworICAgIGRlYnVnKCJwYWdlaGlkZSAtICIgKyAoZXZlbnQucGVyc2lzdGVkID8gIiIgOiAibm90
ICIpICsgImVudGVyaW5nIGNhY2hlIik7CisgICAgaWYgKCFldmVudC5wZXJzaXN0ZWQpIHsKKyAg
ICAgICAgdGVzdEZhaWxlZCgiUGFnZSBkaWQgbm90IGVudGVyIHRoZSBwYWdlIGNhY2hlLiIpOwor
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICB9Cit9LCBmYWxzZSk7CisKK3dpbmRvdy5hZGRF
dmVudExpc3RlbmVyKCdsb2FkJywgZnVuY3Rpb24oKSB7CisgICAgc2V0VGltZW91dChmdW5jdGlv
bigpIHsKKyAgICAgICAgLy8gU2xvdyBsb2FkaW5nIGltYWdlLgorICAgICAgICB2YXIgc2xvd0lt
YWdlID0gbmV3IEltYWdlKCk7CisgICAgICAgIHNsb3dJbWFnZS5zcmMgPSAiL2hpc3RvcnkvcmVz
b3VyY2VzL3Nsb3ctaW1hZ2UucGhwIjsKKyAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGls
ZChzbG93SW1hZ2UpOworICAgIH0sIDApOworCisgICAgLy8gVGhpcyBuZWVkcyB0byBoYXBwZW4g
aW4gYSBzZXRUaW1lb3V0IGJlY2F1c2UgYSBuYXZpZ2F0aW9uIGluc2lkZSB0aGUgb25sb2FkIGhh
bmRsZXIgd291bGQKKyAgICAvLyBub3QgY3JlYXRlIGEgaGlzdG9yeSBlbnRyeS4KKyAgICBzZXRU
aW1lb3V0KGZ1bmN0aW9uKCkgeworICAgICAgLy8gRm9yY2UgYSBiYWNrIG5hdmlnYXRpb24gYmFj
ayB0byB0aGlzIHBhZ2UuCisgICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9ICJyZXNvdXJjZXMv
cGFnZS1jYWNoZS1oZWxwZXIuaHRtbCI7CisgICAgfSwgMCk7Cit9LCBmYWxzZSk7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>250254</attachid>
            <date>2015-04-06 21:52:31 -0700</date>
            <delta_ts>2015-04-06 22:21:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-143463-20150406215202.patch</filename>
            <type>text/plain</type>
            <size>15166</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgyNDQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjg2ODBhYzViYmM0YzBl
MWQ3MDhjM2U2MTljMWFhMzg0ZGEyYjEyMS4uYzMyNDU3NDA5OGE0ZTZiMWFmN2NlZWI2ZThjZTJj
NzY5M2U0ZGJkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYyIEBACisyMDE1LTA0LTA2ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgQmluZyB2aWRlbyBzZWFyY2gg
cmVzdWx0IHBhZ2VzIGFyZSBub3QgUGFnZUNhY2hlYWJsZQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQzNDYzCisgICAgICAgIDxyZGFyOi8vcHJvYmxl
bS8yMDQ0MDkxNj4KKworICAgICAgICBSZXZpZXdlZCBieSBBbGV4ZXkgUHJvc2t1cnlha292Lgor
CisgICAgICAgIEJpbmcgdmlkZW8gc2VhcmNoIHJlc3VsdCBwYWdlcyBhcmUgbm90IFBhZ2VDYWNo
ZWFibGUgKHRlc3RlZCBvbiBpT1MpLgorICAgICAgICBJdCBib3RoOgorICAgICAgICAtIGlzIGJh
ZCBmb3IgcG93ZXIgdXNhZ2UgYXMgaXQgY2F1c2VzIGEgcmVsb2FkIHdoZW4gY2xpY2tpbmcgb25l
IG9mIHRoZQorICAgICAgICAgIHJlc3VsdHMgdGhlbiBuYXZpZ2F0aW5nIGJhY2sgaW4gaGlzdG9y
eS4KKyAgICAgICAgLSBkZWdyYWRlcyB1c2VyIGV4cGVyaWVuY2UgYmVjYXVzZSB0aGUgcmVzdWx0
cyBwYWdlIHVzZXMgaW5maW5pdGUKKyAgICAgICAgICBzY3JvbGxpbmcgYW5kIHRoZSBzY3JvbGwg
cG9zaXRpb24gaXMgbm90IHByb3Blcmx5IHJlc3RvcmVkIHdoZW4KKyAgICAgICAgICBuYXZpZ2F0
aW5nIGJhY2ssIG5vdCB0byBtZW50aW9uIHRoZSB1c2VyIGhhcyB0byB3YWl0IGZvciB0aGUgcmVs
b2FkCisgICAgICAgICAgdG8gY29tcGxldGUuCisKKyAgICAgICAgVGhlIGlzc3VlIHdhcyB0aGF0
IHRoZSBiaW5nIHNlYXJjaCBwYWdlIHdhcyBkb2luZyBhIHBpbmcgbG9hZCB3aGVuCisgICAgICAg
IGNsaWNraW5nIG9uIG9uZSBvZiB0aGUgc2VhcmNoIHJlc3VsdHMuIFRoZSBwaW5nIGxvYWQgd2Fz
IGRvbmUgYnkKKyAgICAgICAgY3JlYXRlIGFuIGltYWdlIGFuZCBpdHMgJ3NyYycgYXR0cmlidXRl
IHRvIHRoZSBwaW5nIFVSTC4gVGhpcyBsb2FkCisgICAgICAgIHVzdWFsbHkgZGlkIG5vdCBoYXZl
IHRpbWUgdG8gY29tcGxldGUgd2hlbiBuYXZpZ2F0aW5nIGF3YXkgc28gd2Ugd291bGQKKyAgICAg
ICAgY2FuY2VsIGl0IGFuZCB0aGUgbWFpbiBkb2N1bWVudCB3b3VsZCBlbmQgdXAgd2l0aCBhbiBl
cnJvciB0aGF0IHdvdWxkCisgICAgICAgIHByZXZlbnQgdGhlIHBhZ2UgZnJvbSBlbnRlcmluZyB0
aGUgcGFnZSBjYWNoZS4gV2UgYWxyZWFkeSBoYXZlIGNvZGUKKyAgICAgICAgbWFraW5nIHN1cmUg
bG9hZCBjYW5jZWxsYXRpb25zIGRvIG5vdCBwcmV2ZW50IHBhZ2UgY2FjaGluZyBhcyBsb25nIGFz
CisgICAgICAgIHRoZSBsb2FkcyBhcmUgZm9yIFhIUiBvciBpbWFnZXMuIEhvd2V2ZXIsIHRoZSBs
YXR0ZXIgY2hlY2sgd2FzIGJyb2tlbgorICAgICAgICBpbiB0aGUgY2FzZSB3aGVyZSB0aGUgUmVz
b3VyY2VSZXF1ZXN0J3MgY2FjaGVQYXJ0aXRpb24gd2FzIG5vbi1lbXB0eS4KKyAgICAgICAgVGhp
cyBpcyBiZWNhdXNlIHRoZSBjaGVjayB3YXMgdXNpbmcgdGhlIE1lbW9yeUNhY2hlOjpSZXNvdXJj
ZUZvclVybCgpCisgICAgICAgIEFQSSB3aGljaCByYXJlbHkgZG9lcyB3aGF0IHdlIHdhbnQgYmVj
YXVzZSBpdCB3aWxsIHJlcXVlc3QgYSBkdW1teQorICAgICAgICBSZXNvdXJjZVJlcXVlc3QgKHdp
dGhvdXQgY2FjaGVQYXJ0aXRpb24pIGFuZCB0aGVuIGNhbGwKKyAgICAgICAgTWVtb3J5Q2FjaGU6
OnJlc291cmNlRm9yUmVxdWVzdCgpLiBUaGlzIHBhdGNoIHVwZGF0ZXMgdGhlIGNoZWNrCisgICAg
ICAgIHRvIHVzZSByZXNvdXJjZUZvclJlcXVlc3QoKSBkaXJlY3RseSBhcyB3ZSBoYXZlIHRoZSBS
ZXNvdXJjZVJlcXVlc3QKKyAgICAgICAgYXQgdGhpcyBwb2ludC4KKworICAgICAgICBUaGlzIHBh
dGNoIGFsc28gZ2V0cyByaWQgb2YgdGhlICBNZW1vcnlDYWNoZTo6UmVzb3VyY2VGb3JVcmwoKSBB
UEkgYXMKKyAgICAgICAgaXQgcmFyZWx5IGRvZXMgd2hhdCB3ZSB3YW50IGFuZCBpdCBpcyBidWcg
cHJvbmUuIEl0IHdhcyBvbmx5IHVzZWQgaW4KKyAgICAgICAgMiBwbGFjZXMsIG9uZSBvZiB0aGVt
IGNhdXNpbmcgdGhpcyBidWcgYW5kIHRoZSBvdGhlciBpbiBJbnRlcm5hbHMuCisKKyAgICAgICAg
VGVzdHM6IGh0dHAvdGVzdHMvbmF2aWdhdGlvbi9wYWdlLWNhY2hlLXBlbmRpbmctaW1hZ2UtbG9h
ZC1jYWNoZS1wYXJ0aXRpb24uaHRtbAorICAgICAgICAgICAgICAgaHR0cC90ZXN0cy9uYXZpZ2F0
aW9uL3BhZ2UtY2FjaGUtcGVuZGluZy1pbWFnZS1sb2FkLmh0bWwKKworICAgICAgICAqIGxvYWRl
ci9Eb2N1bWVudExvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjphcmVBbGxMb2FkZXJzUGFn
ZUNhY2hlQWNjZXB0YWJsZSk6CisgICAgICAgIFVzZSBNZW1vcnlDYWNoZTo6cmVzb3VyY2VGb3JS
ZXF1ZXN0KCkgaW5zdGVhZCBvZiByZXNvdXJjZUZvclVybCgpIGFzCisgICAgICAgIHdlIGhhdmUg
dGhlIFJlc291cmNlUmVxdWVzdCBhbmQgY2FsbGluZyByZXNvdXJjZUZvclVybCgpIHdvdWxkIGxv
b3NlCisgICAgICAgIHRoZSBjYWNoZVBhcnRpdGlvbi4KKworICAgICAgICAqIGxvYWRlci9jYWNo
ZS9NZW1vcnlDYWNoZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZW1vcnlDYWNoZTo6cmVzb3Vy
Y2VGb3JVUkwpOiBEZWxldGVkLgorICAgICAgICBEcm9wIHRoaXMgQVBJIGFzIGl0IGlzIGJ1ZyBw
cm9uZSBhbmQgcmFyZWx5IGRvZXMgd2hhdCB3ZSB3YW50LgorCisgICAgICAgICogdGVzdGluZy9J
bnRlcm5hbHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjppc0xvYWRpbmdGcm9t
TWVtb3J5Q2FjaGUpOgorICAgICAgICBVcGRhdGUgY2FsbCB0byBjcmVhdGUgYSBkdW1teSBSZXNv
dXJjZVJlcXVlc3QgYW5kIGNhbGwKKyAgICAgICAgcmVzb3VyY2VGb3JSZXF1ZXN0KCkgaW5zdGVh
ZCBvZiByZXNvdXJjZUZvclVybCgpLCBhcyB0aGlzIEFQSSBubworICAgICAgICBsb25nZXIgZXhp
c3RzLiBUaGUgbmV3IGNvZGUgYWxzbyBzZXQgdGhlIGNhY2hlUGFydGl0aW9uIG9uIHRoZQorICAg
ICAgICBkdW1teSByZXF1ZXN0IHNvIHRoYXQgdGhpcyBmdW5jdGlvbiBhY3R1YWxseSBiZWhhdmVz
IGFzIGV4cGVjdGVkCisgICAgICAgIGlmIHRoZSBjYWNoZVBhcnRpdGlvbiBpbiB0aGUgbWVtb3J5
IGNhY2hlIGlzIG5vbi1lbXB0eS4KKworCiAyMDE1LTA0LTA2ICBKZXIgTm9ibGUgIDxqZXIubm9i
bGVAYXBwbGUuY29tPgogCiAgICAgICAgIFN5bmNocm9uaXplIGZ1bGxzY3JlZW4gYW5pbWF0aW9u
IGJldHdlZW4gcHJvY2Vzc2VzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IGNmMzNiNWEzNjNkZWM4ZjBh
YTgzZmI1ZTgzNGFlYzcwYTlkMWJkOTcuLmY3Mzg3MTZjZTQ5MmQzZjY2YmU0ZjI2NDEwOTYxZWQ0
OWQwMzczYzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxNS0wNC0wNiAg
Q2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIEJpbmcgdmlkZW8gc2Vh
cmNoIHJlc3VsdCBwYWdlcyBhcmUgbm90IFBhZ2VDYWNoZWFibGUKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MzQ2MworICAgICAgICA8cmRhcjovL3By
b2JsZW0vMjA0NDA5MTY+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWxleGV5IFByb3NrdXJ5YWtv
di4KKworICAgICAgICBGaXggdGhlIGlPUyAvIFdLMSBidWlsZCBieSB1c2luZyBNZW1vcnlDYWNo
ZTo6cmVzb3VyY2VGb3JSZXF1ZXN0KCkKKyAgICAgICAgaW5zdGVhZCBvZiByZXNvdXJjZUZvclVy
bCgpLgorCisgICAgICAgICogTWlzYy9XZWJDYWNoZS5tbToKKyAgICAgICAgKCtbV2ViQ2FjaGUg
aW1hZ2VGb3JVUkw6XSk6CisKIDIwMTUtMDQtMDUgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNl
ckBhcHBsZS5jb20+CiAKICAgICAgICAgUmVtb3ZlICJnbyBhaGVhZCBhbmQiIGZyb20gY29tbWVu
dHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwCmluZGV4IDJhOGYyZjA1
ZWEyOWJjYTBlMTMxMTZmMjVmYThhZDMyMWFhMzM2YTguLmZiOGJlNmFhNmU0MTI3NzBhOWQ1ZDY3
Y2FjMjMxZWQyYzE4OGM1NDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1
bWVudExvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVy
LmNwcApAQCAtMTAzLDcgKzEwMyw3IEBAIHN0YXRpYyBib29sIGFyZUFsbExvYWRlcnNQYWdlQ2Fj
aGVBY2NlcHRhYmxlKGNvbnN0IFJlc291cmNlTG9hZGVyTWFwJiBsb2FkZXJzKQogICAgICAgICBp
ZiAoIWxvYWRlci0+ZnJhbWVMb2FkZXIoKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIAot
ICAgICAgICBDYWNoZWRSZXNvdXJjZSogY2FjaGVkUmVzb3VyY2UgPSBNZW1vcnlDYWNoZTo6c2lu
Z2xldG9uKCkucmVzb3VyY2VGb3JVUkwobG9hZGVyLT5yZXF1ZXN0KCkudXJsKCksIGxvYWRlci0+
ZnJhbWVMb2FkZXIoKS0+ZnJhbWUoKS5wYWdlKCktPnNlc3Npb25JRCgpKTsKKyAgICAgICAgQ2Fj
aGVkUmVzb3VyY2UqIGNhY2hlZFJlc291cmNlID0gTWVtb3J5Q2FjaGU6OnNpbmdsZXRvbigpLnJl
c291cmNlRm9yUmVxdWVzdChsb2FkZXItPnJlcXVlc3QoKSwgbG9hZGVyLT5mcmFtZUxvYWRlcigp
LT5mcmFtZSgpLnBhZ2UoKS0+c2Vzc2lvbklEKCkpOwogICAgICAgICBpZiAoIWNhY2hlZFJlc291
cmNlKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L2NhY2hlL01lbW9yeUNhY2hlLmNwcAppbmRleCA4MDQ4NmQ0MWQ1YmQzMzNiNTY0MDY4MDA2NTU0
ZjZmOWFlODk0NWU3Li5mYWIxYzBlMThkNWE0ZmZmZWJjNTFhNjVmZDM3NDFkOGFlYWM4N2JiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5jcHAKQEAgLTE2OCwx
MSArMTY4LDYgQEAgdm9pZCBNZW1vcnlDYWNoZTo6cmV2YWxpZGF0aW9uRmFpbGVkKENhY2hlZFJl
c291cmNlJiByZXZhbGlkYXRpbmdSZXNvdXJjZSkKICAgICByZXZhbGlkYXRpbmdSZXNvdXJjZS5j
bGVhclJlc291cmNlVG9SZXZhbGlkYXRlKCk7CiB9CiAKLUNhY2hlZFJlc291cmNlKiBNZW1vcnlD
YWNoZTo6cmVzb3VyY2VGb3JVUkwoY29uc3QgVVJMJiByZXNvdXJjZVVSTCwgU2Vzc2lvbklEIHNl
c3Npb25JRCkKLXsKLSAgICByZXR1cm4gcmVzb3VyY2VGb3JSZXF1ZXN0KFJlc291cmNlUmVxdWVz
dChyZXNvdXJjZVVSTCksIHNlc3Npb25JRCk7Ci19Ci0KIENhY2hlZFJlc291cmNlKiBNZW1vcnlD
YWNoZTo6cmVzb3VyY2VGb3JSZXF1ZXN0KGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwg
U2Vzc2lvbklEIHNlc3Npb25JRCkKIHsKICAgICBhdXRvKiByZXNvdXJjZXMgPSBzZXNzaW9uUmVz
b3VyY2VNYXAoc2Vzc2lvbklEKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9j
YWNoZS9NZW1vcnlDYWNoZS5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9yeUNh
Y2hlLmgKaW5kZXggNzY3NDI0MjE5YmRlMTJjM2UxODBhZGYyYjAyZmYwMDBiZDI4MDg0MC4uNWEz
ZDM3ZWJlNmJlNDRkZTFjMDZmYjQ2YWJlODM3Nzk4YjY2ZDcxZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmgKQEAgLTkxLDcgKzkxLDYgQEAgcHVibGljOgogCiAg
ICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIE1lbW9yeUNhY2hlJiBzaW5nbGV0b24oKTsKIAotICAg
IFdFQkNPUkVfRVhQT1JUIENhY2hlZFJlc291cmNlKiByZXNvdXJjZUZvclVSTChjb25zdCBVUkwm
LCBTZXNzaW9uSUQgPSBTZXNzaW9uSUQ6OmRlZmF1bHRTZXNzaW9uSUQoKSk7CiAgICAgV0VCQ09S
RV9FWFBPUlQgQ2FjaGVkUmVzb3VyY2UqIHJlc291cmNlRm9yUmVxdWVzdChjb25zdCBSZXNvdXJj
ZVJlcXVlc3QmLCBTZXNzaW9uSUQpOwogCiAgICAgYm9vbCBhZGQoQ2FjaGVkUmVzb3VyY2UmKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAppbmRleCBiNzg0ODZkOGZmZjFlM2M5MDQz
ZWQwNzY0NzBiYTMyOTdmNWM0ZmU1Li43YmZmOWVhYjg2ZDU3YzQ4NTE0NjA2OWU0ZDA0ZWNmZTE0
ZjRmZjJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCkBAIC00MDUsNyArNDA1
LDEyIEBAIGJvb2wgSW50ZXJuYWxzOjppc0xvYWRpbmdGcm9tTWVtb3J5Q2FjaGUoY29uc3QgU3Ry
aW5nJiB1cmwpCiB7CiAgICAgaWYgKCFjb250ZXh0RG9jdW1lbnQoKSB8fCAhY29udGV4dERvY3Vt
ZW50KCktPnBhZ2UoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIENhY2hlZFJlc291cmNl
KiByZXNvdXJjZSA9IE1lbW9yeUNhY2hlOjpzaW5nbGV0b24oKS5yZXNvdXJjZUZvclVSTChjb250
ZXh0RG9jdW1lbnQoKS0+Y29tcGxldGVVUkwodXJsKSwgY29udGV4dERvY3VtZW50KCktPnBhZ2Uo
KS0+c2Vzc2lvbklEKCkpOworCisgICAgUmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3QoY29udGV4dERv
Y3VtZW50KCktPmNvbXBsZXRlVVJMKHVybCkpOworI2lmIEVOQUJMRShDQUNIRV9QQVJUSVRJT05J
TkcpCisgICAgcmVxdWVzdC5zZXREb21haW5Gb3JDYWNoZVBhcnRpdGlvbihjb250ZXh0RG9jdW1l
bnQoKS0+dG9wT3JpZ2luKCktPmRvbWFpbkZvckNhY2hlUGFydGl0aW9uKCkpOworI2VuZGlmCisg
ICAgQ2FjaGVkUmVzb3VyY2UqIHJlc291cmNlID0gTWVtb3J5Q2FjaGU6OnNpbmdsZXRvbigpLnJl
c291cmNlRm9yUmVxdWVzdChyZXF1ZXN0LCBjb250ZXh0RG9jdW1lbnQoKS0+cGFnZSgpLT5zZXNz
aW9uSUQoKSk7CiAgICAgcmV0dXJuIHJlc291cmNlICYmIHJlc291cmNlLT5zdGF0dXMoKSA9PSBD
YWNoZWRSZXNvdXJjZTo6Q2FjaGVkOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21h
Yy9NaXNjL1dlYkNhY2hlLm1tIGIvU291cmNlL1dlYktpdC9tYWMvTWlzYy9XZWJDYWNoZS5tbQpp
bmRleCAxOGQzMTQyZWI1MjFhZmQyYjhmNDJhNWQ1NzM3YWQ3NmUyOTI5NzQ3Li5hZGE2Y2FjZWFm
ZGRjMGU3NTdjNWMzMTYyNTEyZWFhNTAyZTY5MzU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L21hYy9NaXNjL1dlYkNhY2hlLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL01pc2MvV2ViQ2Fj
aGUubW0KQEAgLTIwMSw3ICsyMDEsOCBAQCArIChDR0ltYWdlUmVmKWltYWdlRm9yVVJMOihOU1VS
TCAqKXVybAogICAgIGlmICghdXJsKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICAKLSAg
ICBXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZSogY2FjaGVkUmVzb3VyY2UgPSBXZWJDb3JlOjpNZW1v
cnlDYWNoZTo6c2luZ2xldG9uKCkucmVzb3VyY2VGb3JVUkwodXJsKTsKKyAgICBXZWJDb3JlOjpS
ZXNvdXJjZVJlcXVlc3QgcmVxdWVzdCh1cmwpOworICAgIFdlYkNvcmU6OkNhY2hlZFJlc291cmNl
KiBjYWNoZWRSZXNvdXJjZSA9IFdlYkNvcmU6Ok1lbW9yeUNhY2hlOjpzaW5nbGV0b24oKS5yZXNv
dXJjZUZvclJlcXVlc3QocmVxdWVzdCk7CiAgICAgaWYgKCFpczxXZWJDb3JlOjpDYWNoZWRJbWFn
ZT4oY2FjaGVkUmVzb3VyY2UpKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICBXZWJDb3Jl
OjpDYWNoZWRJbWFnZSYgY2FjaGVkSW1hZ2UgPSBkb3duY2FzdDxXZWJDb3JlOjpDYWNoZWRJbWFn
ZT4oKmNhY2hlZFJlc291cmNlKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA5OGZkZTQwMTNhNGI2NzBiYzk2ZjAzYzA1NmUz
MTRjZmM2MDNkZDkzLi4zOTA1MDc5MmI0ZjMwMTY5ZTI3ZTk5ZjkwMmRhMzk1ODE1NjUzZDJjIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTUtMDQtMDYgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFw
cGxlLmNvbT4KKworICAgICAgICBCaW5nIHZpZGVvIHNlYXJjaCByZXN1bHQgcGFnZXMgYXJlIG5v
dCBQYWdlQ2FjaGVhYmxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNDM0NjMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzIwNDQwOTE2PgorCisgICAg
ICAgIFJldmlld2VkIGJ5IEFsZXhleSBQcm9za3VyeWFrb3YuCisKKyAgICAgICAgQWRkIGxheW91
dCB0ZXN0cyB0byBjb25maXJtIHRoYXQgYSBwZW5kaW5nIGltYWdlIGxvYWQgZG9lcyBub3QgcHJl
dmVudAorICAgICAgICBhIHBhZ2UgZnJvbSBlbnRlcmluZyB0aGUgcGFnZSBjYWNoZS4gVGhlcmUg
YXJlIDIgdGVzdHMsIG9uY2UgdGhhdCBjb3ZlcgorICAgICAgICB0aGUgY2FzZSB3aGVyZSB0aGUg
cmVxdWVzdCdzIGNhY2hlUGFydGlvbiBpcyBlbXB0eSAocGFzc2luZyB3aXRob3V0IHRoZQorICAg
ICAgICBmaXgpLCBhbmQgYW5vdGhlciB3aGVyZSB0aGUgcmVxdWVzdCdzIGNhY2hlUGFydGl0aW9u
IGlzIG5vbi1lbXB0eQorICAgICAgICAod2hpY2ggb25seSBwYXNzZXMgd2l0aCB0aGUgZml4KS4K
KworICAgICAgICAqIGh0dHAvdGVzdHMvbmF2aWdhdGlvbi9wYWdlLWNhY2hlLXBlbmRpbmctaW1h
Z2UtbG9hZC1jYWNoZS1wYXJ0aXRpb24tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL25hdmlnYXRpb24vcGFnZS1jYWNoZS1wZW5kaW5nLWltYWdlLWxvYWQtY2FjaGUt
cGFydGl0aW9uLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbmF2aWdhdGlvbi9w
YWdlLWNhY2hlLXBlbmRpbmctaW1hZ2UtbG9hZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGh0dHAvdGVzdHMvbmF2aWdhdGlvbi9wYWdlLWNhY2hlLXBlbmRpbmctaW1hZ2UtbG9hZC5o
dG1sOiBBZGRlZC4KKwogMjAxNS0wNC0wMyAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFwQGFwcGxl
LmNvbT4KIAogICAgICAgICBSZWR1Y2UgdGhlIGRlcGVuZGVuY3kgb24gRmxhc2ggaW4gcmVncmVz
c2lvbiB0ZXN0cwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9u
L3BhZ2UtY2FjaGUtcGVuZGluZy1pbWFnZS1sb2FkLWNhY2hlLXBhcnRpdGlvbi1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vcGFnZS1jYWNoZS1wZW5kaW5n
LWltYWdlLWxvYWQtY2FjaGUtcGFydGl0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wNzM5
ZDc1NjZiMmJhZGRkMDcwZTNmYmVjZjEzNTE4Y2E2NTEwM2I4Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3BhZ2UtY2FjaGUtcGVuZGluZy1pbWFn
ZS1sb2FkLWNhY2hlLXBhcnRpdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGVz
dHMgdGhhdCBhIHBhZ2Ugd2l0aCBhIGxvYWRpbmcgaW1hZ2UgZ29lcyBpbnRvIHRoZSBwYWdlIGNh
Y2hlICh3aXRoIG5vbi1lbXB0eSBjYWNoZSBwYXJ0aXRpb24pLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKKworcGFnZXNob3cgLSBub3QgZnJvbSBjYWNoZQorcGFnZWhpZGUgLSBlbnRl
cmluZyBjYWNoZQorcGFnZXNob3cgLSBmcm9tIGNhY2hlCitQQVNTIFBhZ2UgZGlkIGVudGVyIGFu
ZCB3YXMgcmVzdG9yZWQgZnJvbSB0aGUgcGFnZSBjYWNoZQorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvbmF2aWdhdGlvbi9wYWdlLWNhY2hlLXBlbmRpbmctaW1hZ2UtbG9hZC1jYWNoZS1w
YXJ0aXRpb24uaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9wYWdlLWNh
Y2hlLXBlbmRpbmctaW1hZ2UtbG9hZC1jYWNoZS1wYXJ0aXRpb24uaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5i
MTgzYTFjYmY2ZTlmZDliYmZhYmRhMjdkZjJlYjVkYTAxMTg3NDBkCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3BhZ2UtY2FjaGUtcGVuZGluZy1p
bWFnZS1sb2FkLWNhY2hlLXBhcnRpdGlvbi5odG1sCkBAIC0wLDAgKzEsNTEgQEAKKzwhRE9DVFlQ
RSBodG1sPgorPGh0bWw+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbignVGVzdHMgdGhhdCBhIHBh
Z2Ugd2l0aCBhIGxvYWRpbmcgaW1hZ2UgZ29lcyBpbnRvIHRoZSBwYWdlIGNhY2hlICh3aXRoIG5v
bi1lbXB0eSBjYWNoZSBwYXJ0aXRpb24pLicpOword2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVl
OworaW50ZXJuYWxzLnNldHRpbmdzLnNldFN0b3JhZ2VCbG9ja2luZ1BvbGljeSgnQmxvY2tUaGly
ZFBhcnR5Jyk7CisKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICB0ZXN0UnVubmVyLm92ZXJy
aWRlUHJlZmVyZW5jZSgiV2ViS2l0VXNlc1BhZ2VDYWNoZVByZWZlcmVuY2VLZXkiLCAxKTsKKwor
d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInBhZ2VzaG93IiwgZnVuY3Rpb24oZXZlbnQpIHsKKyAg
ICBkZWJ1ZygicGFnZXNob3cgLSAiICsgKGV2ZW50LnBlcnNpc3RlZCA/ICIiIDogIm5vdCAiKSAr
ICJmcm9tIGNhY2hlIik7CisKKyAgICBpZiAoZXZlbnQucGVyc2lzdGVkKSB7CisgICAgICAgIHRl
c3RQYXNzZWQoIlBhZ2UgZGlkIGVudGVyIGFuZCB3YXMgcmVzdG9yZWQgZnJvbSB0aGUgcGFnZSBj
YWNoZSIpOworICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgZmlu
aXNoSlNUZXN0KCk7CisgICAgICAgIH0sIDApOworICAgIH0KK30sIGZhbHNlKTsKKword2luZG93
LmFkZEV2ZW50TGlzdGVuZXIoInBhZ2VoaWRlIiwgZnVuY3Rpb24oZXZlbnQpIHsKKyAgICBkZWJ1
ZygicGFnZWhpZGUgLSAiICsgKGV2ZW50LnBlcnNpc3RlZCA/ICIiIDogIm5vdCAiKSArICJlbnRl
cmluZyBjYWNoZSIpOworICAgIGlmICghZXZlbnQucGVyc2lzdGVkKSB7CisgICAgICAgIHRlc3RG
YWlsZWQoIlBhZ2UgZGlkIG5vdCBlbnRlciB0aGUgcGFnZSBjYWNoZS4iKTsKKyAgICAgICAgZmlu
aXNoSlNUZXN0KCk7CisgICAgfQorfSwgZmFsc2UpOworCit3aW5kb3cuYWRkRXZlbnRMaXN0ZW5l
cignbG9hZCcsIGZ1bmN0aW9uKCkgeworICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CisgICAg
ICAgIC8vIFNsb3cgbG9hZGluZyBpbWFnZS4KKyAgICAgICAgdmFyIHNsb3dJbWFnZSA9IG5ldyBJ
bWFnZSgpOworICAgICAgICBzbG93SW1hZ2Uuc3JjID0gIi9oaXN0b3J5L3Jlc291cmNlcy9zbG93
LWltYWdlLnBocCI7CisgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoc2xvd0ltYWdl
KTsKKyAgICB9LCAwKTsKKworICAgIC8vIFRoaXMgbmVlZHMgdG8gaGFwcGVuIGluIGEgc2V0VGlt
ZW91dCBiZWNhdXNlIGEgbmF2aWdhdGlvbiBpbnNpZGUgdGhlIG9ubG9hZCBoYW5kbGVyIHdvdWxk
CisgICAgLy8gbm90IGNyZWF0ZSBhIGhpc3RvcnkgZW50cnkuCisgICAgc2V0VGltZW91dChmdW5j
dGlvbigpIHsKKyAgICAgIC8vIEZvcmNlIGEgYmFjayBuYXZpZ2F0aW9uIGJhY2sgdG8gdGhpcyBw
YWdlLgorICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSAicmVzb3VyY2VzL3BhZ2UtY2FjaGUt
aGVscGVyLmh0bWwiOworICAgIH0sIDApOworfSwgZmFsc2UpOworCis8L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vcGFn
ZS1jYWNoZS1wZW5kaW5nLWltYWdlLWxvYWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9uYXZpZ2F0aW9uL3BhZ2UtY2FjaGUtcGVuZGluZy1pbWFnZS1sb2FkLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi41M2NiMGM3MjZiY2Q5NDlhNGUxMDk4MTllZDE0NTYyZGVlNDJhNjU4
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3Bh
Z2UtY2FjaGUtcGVuZGluZy1pbWFnZS1sb2FkLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBA
CitUZXN0cyB0aGF0IGEgcGFnZSB3aXRoIGEgbG9hZGluZyBpbWFnZSBnb2VzIGludG8gdGhlIHBh
Z2UgY2FjaGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitwYWdlc2hvdyAtIG5v
dCBmcm9tIGNhY2hlCitwYWdlaGlkZSAtIGVudGVyaW5nIGNhY2hlCitwYWdlc2hvdyAtIGZyb20g
Y2FjaGUKK1BBU1MgUGFnZSBkaWQgZW50ZXIgYW5kIHdhcyByZXN0b3JlZCBmcm9tIHRoZSBwYWdl
IGNhY2hlCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3BhZ2UtY2Fj
aGUtcGVuZGluZy1pbWFnZS1sb2FkLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmln
YXRpb24vcGFnZS1jYWNoZS1wZW5kaW5nLWltYWdlLWxvYWQuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41MjBi
NTI2YTU3MDVmOTE4OTdjYWE5NjViODhjMDNiY2RkNDg5NDAwCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3BhZ2UtY2FjaGUtcGVuZGluZy1pbWFn
ZS1sb2FkLmh0bWwKQEAgLTAsMCArMSw1MCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxi
b2R5PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCdUZXN0cyB0aGF0IGEgcGFnZSB3aXRoIGEgbG9hZGluZyBp
bWFnZSBnb2VzIGludG8gdGhlIHBhZ2UgY2FjaGUuJyk7Cit3aW5kb3cuanNUZXN0SXNBc3luYyA9
IHRydWU7CisKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICB0ZXN0UnVubmVyLm92ZXJyaWRl
UHJlZmVyZW5jZSgiV2ViS2l0VXNlc1BhZ2VDYWNoZVByZWZlcmVuY2VLZXkiLCAxKTsKKword2lu
ZG93LmFkZEV2ZW50TGlzdGVuZXIoInBhZ2VzaG93IiwgZnVuY3Rpb24oZXZlbnQpIHsKKyAgICBk
ZWJ1ZygicGFnZXNob3cgLSAiICsgKGV2ZW50LnBlcnNpc3RlZCA/ICIiIDogIm5vdCAiKSArICJm
cm9tIGNhY2hlIik7CisKKyAgICBpZiAoZXZlbnQucGVyc2lzdGVkKSB7CisgICAgICAgIHRlc3RQ
YXNzZWQoIlBhZ2UgZGlkIGVudGVyIGFuZCB3YXMgcmVzdG9yZWQgZnJvbSB0aGUgcGFnZSBjYWNo
ZSIpOworICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgICAgIH0sIDApOworICAgIH0KK30sIGZhbHNlKTsKKword2luZG93LmFk
ZEV2ZW50TGlzdGVuZXIoInBhZ2VoaWRlIiwgZnVuY3Rpb24oZXZlbnQpIHsKKyAgICBkZWJ1Zygi
cGFnZWhpZGUgLSAiICsgKGV2ZW50LnBlcnNpc3RlZCA/ICIiIDogIm5vdCAiKSArICJlbnRlcmlu
ZyBjYWNoZSIpOworICAgIGlmICghZXZlbnQucGVyc2lzdGVkKSB7CisgICAgICAgIHRlc3RGYWls
ZWQoIlBhZ2UgZGlkIG5vdCBlbnRlciB0aGUgcGFnZSBjYWNoZS4iKTsKKyAgICAgICAgZmluaXNo
SlNUZXN0KCk7CisgICAgfQorfSwgZmFsc2UpOworCit3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcign
bG9hZCcsIGZ1bmN0aW9uKCkgeworICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CisgICAgICAg
IC8vIFNsb3cgbG9hZGluZyBpbWFnZS4KKyAgICAgICAgdmFyIHNsb3dJbWFnZSA9IG5ldyBJbWFn
ZSgpOworICAgICAgICBzbG93SW1hZ2Uuc3JjID0gIi9oaXN0b3J5L3Jlc291cmNlcy9zbG93LWlt
YWdlLnBocCI7CisgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoc2xvd0ltYWdlKTsK
KyAgICB9LCAwKTsKKworICAgIC8vIFRoaXMgbmVlZHMgdG8gaGFwcGVuIGluIGEgc2V0VGltZW91
dCBiZWNhdXNlIGEgbmF2aWdhdGlvbiBpbnNpZGUgdGhlIG9ubG9hZCBoYW5kbGVyIHdvdWxkCisg
ICAgLy8gbm90IGNyZWF0ZSBhIGhpc3RvcnkgZW50cnkuCisgICAgc2V0VGltZW91dChmdW5jdGlv
bigpIHsKKyAgICAgIC8vIEZvcmNlIGEgYmFjayBuYXZpZ2F0aW9uIGJhY2sgdG8gdGhpcyBwYWdl
LgorICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSAicmVzb3VyY2VzL3BhZ2UtY2FjaGUtaGVs
cGVyLmh0bWwiOworICAgIH0sIDApOworfSwgZmFsc2UpOworCis8L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>250255</attachid>
            <date>2015-04-06 22:21:41 -0700</date>
            <delta_ts>2015-04-06 22:26:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-143463-20150406222112.patch</filename>
            <type>text/plain</type>
            <size>15197</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgyNDQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjg2ODBhYzViYmM0YzBl
MWQ3MDhjM2U2MTljMWFhMzg0ZGEyYjEyMS4uYzMyNDU3NDA5OGE0ZTZiMWFmN2NlZWI2ZThjZTJj
NzY5M2U0ZGJkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYyIEBACisyMDE1LTA0LTA2ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgQmluZyB2aWRlbyBzZWFyY2gg
cmVzdWx0IHBhZ2VzIGFyZSBub3QgUGFnZUNhY2hlYWJsZQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQzNDYzCisgICAgICAgIDxyZGFyOi8vcHJvYmxl
bS8yMDQ0MDkxNj4KKworICAgICAgICBSZXZpZXdlZCBieSBBbGV4ZXkgUHJvc2t1cnlha292Lgor
CisgICAgICAgIEJpbmcgdmlkZW8gc2VhcmNoIHJlc3VsdCBwYWdlcyBhcmUgbm90IFBhZ2VDYWNo
ZWFibGUgKHRlc3RlZCBvbiBpT1MpLgorICAgICAgICBJdCBib3RoOgorICAgICAgICAtIGlzIGJh
ZCBmb3IgcG93ZXIgdXNhZ2UgYXMgaXQgY2F1c2VzIGEgcmVsb2FkIHdoZW4gY2xpY2tpbmcgb25l
IG9mIHRoZQorICAgICAgICAgIHJlc3VsdHMgdGhlbiBuYXZpZ2F0aW5nIGJhY2sgaW4gaGlzdG9y
eS4KKyAgICAgICAgLSBkZWdyYWRlcyB1c2VyIGV4cGVyaWVuY2UgYmVjYXVzZSB0aGUgcmVzdWx0
cyBwYWdlIHVzZXMgaW5maW5pdGUKKyAgICAgICAgICBzY3JvbGxpbmcgYW5kIHRoZSBzY3JvbGwg
cG9zaXRpb24gaXMgbm90IHByb3Blcmx5IHJlc3RvcmVkIHdoZW4KKyAgICAgICAgICBuYXZpZ2F0
aW5nIGJhY2ssIG5vdCB0byBtZW50aW9uIHRoZSB1c2VyIGhhcyB0byB3YWl0IGZvciB0aGUgcmVs
b2FkCisgICAgICAgICAgdG8gY29tcGxldGUuCisKKyAgICAgICAgVGhlIGlzc3VlIHdhcyB0aGF0
IHRoZSBiaW5nIHNlYXJjaCBwYWdlIHdhcyBkb2luZyBhIHBpbmcgbG9hZCB3aGVuCisgICAgICAg
IGNsaWNraW5nIG9uIG9uZSBvZiB0aGUgc2VhcmNoIHJlc3VsdHMuIFRoZSBwaW5nIGxvYWQgd2Fz
IGRvbmUgYnkKKyAgICAgICAgY3JlYXRlIGFuIGltYWdlIGFuZCBpdHMgJ3NyYycgYXR0cmlidXRl
IHRvIHRoZSBwaW5nIFVSTC4gVGhpcyBsb2FkCisgICAgICAgIHVzdWFsbHkgZGlkIG5vdCBoYXZl
IHRpbWUgdG8gY29tcGxldGUgd2hlbiBuYXZpZ2F0aW5nIGF3YXkgc28gd2Ugd291bGQKKyAgICAg
ICAgY2FuY2VsIGl0IGFuZCB0aGUgbWFpbiBkb2N1bWVudCB3b3VsZCBlbmQgdXAgd2l0aCBhbiBl
cnJvciB0aGF0IHdvdWxkCisgICAgICAgIHByZXZlbnQgdGhlIHBhZ2UgZnJvbSBlbnRlcmluZyB0
aGUgcGFnZSBjYWNoZS4gV2UgYWxyZWFkeSBoYXZlIGNvZGUKKyAgICAgICAgbWFraW5nIHN1cmUg
bG9hZCBjYW5jZWxsYXRpb25zIGRvIG5vdCBwcmV2ZW50IHBhZ2UgY2FjaGluZyBhcyBsb25nIGFz
CisgICAgICAgIHRoZSBsb2FkcyBhcmUgZm9yIFhIUiBvciBpbWFnZXMuIEhvd2V2ZXIsIHRoZSBs
YXR0ZXIgY2hlY2sgd2FzIGJyb2tlbgorICAgICAgICBpbiB0aGUgY2FzZSB3aGVyZSB0aGUgUmVz
b3VyY2VSZXF1ZXN0J3MgY2FjaGVQYXJ0aXRpb24gd2FzIG5vbi1lbXB0eS4KKyAgICAgICAgVGhp
cyBpcyBiZWNhdXNlIHRoZSBjaGVjayB3YXMgdXNpbmcgdGhlIE1lbW9yeUNhY2hlOjpSZXNvdXJj
ZUZvclVybCgpCisgICAgICAgIEFQSSB3aGljaCByYXJlbHkgZG9lcyB3aGF0IHdlIHdhbnQgYmVj
YXVzZSBpdCB3aWxsIHJlcXVlc3QgYSBkdW1teQorICAgICAgICBSZXNvdXJjZVJlcXVlc3QgKHdp
dGhvdXQgY2FjaGVQYXJ0aXRpb24pIGFuZCB0aGVuIGNhbGwKKyAgICAgICAgTWVtb3J5Q2FjaGU6
OnJlc291cmNlRm9yUmVxdWVzdCgpLiBUaGlzIHBhdGNoIHVwZGF0ZXMgdGhlIGNoZWNrCisgICAg
ICAgIHRvIHVzZSByZXNvdXJjZUZvclJlcXVlc3QoKSBkaXJlY3RseSBhcyB3ZSBoYXZlIHRoZSBS
ZXNvdXJjZVJlcXVlc3QKKyAgICAgICAgYXQgdGhpcyBwb2ludC4KKworICAgICAgICBUaGlzIHBh
dGNoIGFsc28gZ2V0cyByaWQgb2YgdGhlICBNZW1vcnlDYWNoZTo6UmVzb3VyY2VGb3JVcmwoKSBB
UEkgYXMKKyAgICAgICAgaXQgcmFyZWx5IGRvZXMgd2hhdCB3ZSB3YW50IGFuZCBpdCBpcyBidWcg
cHJvbmUuIEl0IHdhcyBvbmx5IHVzZWQgaW4KKyAgICAgICAgMiBwbGFjZXMsIG9uZSBvZiB0aGVt
IGNhdXNpbmcgdGhpcyBidWcgYW5kIHRoZSBvdGhlciBpbiBJbnRlcm5hbHMuCisKKyAgICAgICAg
VGVzdHM6IGh0dHAvdGVzdHMvbmF2aWdhdGlvbi9wYWdlLWNhY2hlLXBlbmRpbmctaW1hZ2UtbG9h
ZC1jYWNoZS1wYXJ0aXRpb24uaHRtbAorICAgICAgICAgICAgICAgaHR0cC90ZXN0cy9uYXZpZ2F0
aW9uL3BhZ2UtY2FjaGUtcGVuZGluZy1pbWFnZS1sb2FkLmh0bWwKKworICAgICAgICAqIGxvYWRl
ci9Eb2N1bWVudExvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjphcmVBbGxMb2FkZXJzUGFn
ZUNhY2hlQWNjZXB0YWJsZSk6CisgICAgICAgIFVzZSBNZW1vcnlDYWNoZTo6cmVzb3VyY2VGb3JS
ZXF1ZXN0KCkgaW5zdGVhZCBvZiByZXNvdXJjZUZvclVybCgpIGFzCisgICAgICAgIHdlIGhhdmUg
dGhlIFJlc291cmNlUmVxdWVzdCBhbmQgY2FsbGluZyByZXNvdXJjZUZvclVybCgpIHdvdWxkIGxv
b3NlCisgICAgICAgIHRoZSBjYWNoZVBhcnRpdGlvbi4KKworICAgICAgICAqIGxvYWRlci9jYWNo
ZS9NZW1vcnlDYWNoZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZW1vcnlDYWNoZTo6cmVzb3Vy
Y2VGb3JVUkwpOiBEZWxldGVkLgorICAgICAgICBEcm9wIHRoaXMgQVBJIGFzIGl0IGlzIGJ1ZyBw
cm9uZSBhbmQgcmFyZWx5IGRvZXMgd2hhdCB3ZSB3YW50LgorCisgICAgICAgICogdGVzdGluZy9J
bnRlcm5hbHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjppc0xvYWRpbmdGcm9t
TWVtb3J5Q2FjaGUpOgorICAgICAgICBVcGRhdGUgY2FsbCB0byBjcmVhdGUgYSBkdW1teSBSZXNv
dXJjZVJlcXVlc3QgYW5kIGNhbGwKKyAgICAgICAgcmVzb3VyY2VGb3JSZXF1ZXN0KCkgaW5zdGVh
ZCBvZiByZXNvdXJjZUZvclVybCgpLCBhcyB0aGlzIEFQSSBubworICAgICAgICBsb25nZXIgZXhp
c3RzLiBUaGUgbmV3IGNvZGUgYWxzbyBzZXQgdGhlIGNhY2hlUGFydGl0aW9uIG9uIHRoZQorICAg
ICAgICBkdW1teSByZXF1ZXN0IHNvIHRoYXQgdGhpcyBmdW5jdGlvbiBhY3R1YWxseSBiZWhhdmVz
IGFzIGV4cGVjdGVkCisgICAgICAgIGlmIHRoZSBjYWNoZVBhcnRpdGlvbiBpbiB0aGUgbWVtb3J5
IGNhY2hlIGlzIG5vbi1lbXB0eS4KKworCiAyMDE1LTA0LTA2ICBKZXIgTm9ibGUgIDxqZXIubm9i
bGVAYXBwbGUuY29tPgogCiAgICAgICAgIFN5bmNocm9uaXplIGZ1bGxzY3JlZW4gYW5pbWF0aW9u
IGJldHdlZW4gcHJvY2Vzc2VzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IGNmMzNiNWEzNjNkZWM4ZjBh
YTgzZmI1ZTgzNGFlYzcwYTlkMWJkOTcuLmY3Mzg3MTZjZTQ5MmQzZjY2YmU0ZjI2NDEwOTYxZWQ0
OWQwMzczYzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxNS0wNC0wNiAg
Q2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIEJpbmcgdmlkZW8gc2Vh
cmNoIHJlc3VsdCBwYWdlcyBhcmUgbm90IFBhZ2VDYWNoZWFibGUKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MzQ2MworICAgICAgICA8cmRhcjovL3By
b2JsZW0vMjA0NDA5MTY+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWxleGV5IFByb3NrdXJ5YWtv
di4KKworICAgICAgICBGaXggdGhlIGlPUyAvIFdLMSBidWlsZCBieSB1c2luZyBNZW1vcnlDYWNo
ZTo6cmVzb3VyY2VGb3JSZXF1ZXN0KCkKKyAgICAgICAgaW5zdGVhZCBvZiByZXNvdXJjZUZvclVy
bCgpLgorCisgICAgICAgICogTWlzYy9XZWJDYWNoZS5tbToKKyAgICAgICAgKCtbV2ViQ2FjaGUg
aW1hZ2VGb3JVUkw6XSk6CisKIDIwMTUtMDQtMDUgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNl
ckBhcHBsZS5jb20+CiAKICAgICAgICAgUmVtb3ZlICJnbyBhaGVhZCBhbmQiIGZyb20gY29tbWVu
dHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwCmluZGV4IDJhOGYyZjA1
ZWEyOWJjYTBlMTMxMTZmMjVmYThhZDMyMWFhMzM2YTguLmZiOGJlNmFhNmU0MTI3NzBhOWQ1ZDY3
Y2FjMjMxZWQyYzE4OGM1NDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1
bWVudExvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVy
LmNwcApAQCAtMTAzLDcgKzEwMyw3IEBAIHN0YXRpYyBib29sIGFyZUFsbExvYWRlcnNQYWdlQ2Fj
aGVBY2NlcHRhYmxlKGNvbnN0IFJlc291cmNlTG9hZGVyTWFwJiBsb2FkZXJzKQogICAgICAgICBp
ZiAoIWxvYWRlci0+ZnJhbWVMb2FkZXIoKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIAot
ICAgICAgICBDYWNoZWRSZXNvdXJjZSogY2FjaGVkUmVzb3VyY2UgPSBNZW1vcnlDYWNoZTo6c2lu
Z2xldG9uKCkucmVzb3VyY2VGb3JVUkwobG9hZGVyLT5yZXF1ZXN0KCkudXJsKCksIGxvYWRlci0+
ZnJhbWVMb2FkZXIoKS0+ZnJhbWUoKS5wYWdlKCktPnNlc3Npb25JRCgpKTsKKyAgICAgICAgQ2Fj
aGVkUmVzb3VyY2UqIGNhY2hlZFJlc291cmNlID0gTWVtb3J5Q2FjaGU6OnNpbmdsZXRvbigpLnJl
c291cmNlRm9yUmVxdWVzdChsb2FkZXItPnJlcXVlc3QoKSwgbG9hZGVyLT5mcmFtZUxvYWRlcigp
LT5mcmFtZSgpLnBhZ2UoKS0+c2Vzc2lvbklEKCkpOwogICAgICAgICBpZiAoIWNhY2hlZFJlc291
cmNlKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L2NhY2hlL01lbW9yeUNhY2hlLmNwcAppbmRleCA4MDQ4NmQ0MWQ1YmQzMzNiNTY0MDY4MDA2NTU0
ZjZmOWFlODk0NWU3Li5mYWIxYzBlMThkNWE0ZmZmZWJjNTFhNjVmZDM3NDFkOGFlYWM4N2JiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5jcHAKQEAgLTE2OCwx
MSArMTY4LDYgQEAgdm9pZCBNZW1vcnlDYWNoZTo6cmV2YWxpZGF0aW9uRmFpbGVkKENhY2hlZFJl
c291cmNlJiByZXZhbGlkYXRpbmdSZXNvdXJjZSkKICAgICByZXZhbGlkYXRpbmdSZXNvdXJjZS5j
bGVhclJlc291cmNlVG9SZXZhbGlkYXRlKCk7CiB9CiAKLUNhY2hlZFJlc291cmNlKiBNZW1vcnlD
YWNoZTo6cmVzb3VyY2VGb3JVUkwoY29uc3QgVVJMJiByZXNvdXJjZVVSTCwgU2Vzc2lvbklEIHNl
c3Npb25JRCkKLXsKLSAgICByZXR1cm4gcmVzb3VyY2VGb3JSZXF1ZXN0KFJlc291cmNlUmVxdWVz
dChyZXNvdXJjZVVSTCksIHNlc3Npb25JRCk7Ci19Ci0KIENhY2hlZFJlc291cmNlKiBNZW1vcnlD
YWNoZTo6cmVzb3VyY2VGb3JSZXF1ZXN0KGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwg
U2Vzc2lvbklEIHNlc3Npb25JRCkKIHsKICAgICBhdXRvKiByZXNvdXJjZXMgPSBzZXNzaW9uUmVz
b3VyY2VNYXAoc2Vzc2lvbklEKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9j
YWNoZS9NZW1vcnlDYWNoZS5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9yeUNh
Y2hlLmgKaW5kZXggNzY3NDI0MjE5YmRlMTJjM2UxODBhZGYyYjAyZmYwMDBiZDI4MDg0MC4uNWEz
ZDM3ZWJlNmJlNDRkZTFjMDZmYjQ2YWJlODM3Nzk4YjY2ZDcxZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmgKQEAgLTkxLDcgKzkxLDYgQEAgcHVibGljOgogCiAg
ICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIE1lbW9yeUNhY2hlJiBzaW5nbGV0b24oKTsKIAotICAg
IFdFQkNPUkVfRVhQT1JUIENhY2hlZFJlc291cmNlKiByZXNvdXJjZUZvclVSTChjb25zdCBVUkwm
LCBTZXNzaW9uSUQgPSBTZXNzaW9uSUQ6OmRlZmF1bHRTZXNzaW9uSUQoKSk7CiAgICAgV0VCQ09S
RV9FWFBPUlQgQ2FjaGVkUmVzb3VyY2UqIHJlc291cmNlRm9yUmVxdWVzdChjb25zdCBSZXNvdXJj
ZVJlcXVlc3QmLCBTZXNzaW9uSUQpOwogCiAgICAgYm9vbCBhZGQoQ2FjaGVkUmVzb3VyY2UmKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAppbmRleCBiNzg0ODZkOGZmZjFlM2M5MDQz
ZWQwNzY0NzBiYTMyOTdmNWM0ZmU1Li43YmZmOWVhYjg2ZDU3YzQ4NTE0NjA2OWU0ZDA0ZWNmZTE0
ZjRmZjJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCkBAIC00MDUsNyArNDA1
LDEyIEBAIGJvb2wgSW50ZXJuYWxzOjppc0xvYWRpbmdGcm9tTWVtb3J5Q2FjaGUoY29uc3QgU3Ry
aW5nJiB1cmwpCiB7CiAgICAgaWYgKCFjb250ZXh0RG9jdW1lbnQoKSB8fCAhY29udGV4dERvY3Vt
ZW50KCktPnBhZ2UoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIENhY2hlZFJlc291cmNl
KiByZXNvdXJjZSA9IE1lbW9yeUNhY2hlOjpzaW5nbGV0b24oKS5yZXNvdXJjZUZvclVSTChjb250
ZXh0RG9jdW1lbnQoKS0+Y29tcGxldGVVUkwodXJsKSwgY29udGV4dERvY3VtZW50KCktPnBhZ2Uo
KS0+c2Vzc2lvbklEKCkpOworCisgICAgUmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3QoY29udGV4dERv
Y3VtZW50KCktPmNvbXBsZXRlVVJMKHVybCkpOworI2lmIEVOQUJMRShDQUNIRV9QQVJUSVRJT05J
TkcpCisgICAgcmVxdWVzdC5zZXREb21haW5Gb3JDYWNoZVBhcnRpdGlvbihjb250ZXh0RG9jdW1l
bnQoKS0+dG9wT3JpZ2luKCktPmRvbWFpbkZvckNhY2hlUGFydGl0aW9uKCkpOworI2VuZGlmCisg
ICAgQ2FjaGVkUmVzb3VyY2UqIHJlc291cmNlID0gTWVtb3J5Q2FjaGU6OnNpbmdsZXRvbigpLnJl
c291cmNlRm9yUmVxdWVzdChyZXF1ZXN0LCBjb250ZXh0RG9jdW1lbnQoKS0+cGFnZSgpLT5zZXNz
aW9uSUQoKSk7CiAgICAgcmV0dXJuIHJlc291cmNlICYmIHJlc291cmNlLT5zdGF0dXMoKSA9PSBD
YWNoZWRSZXNvdXJjZTo6Q2FjaGVkOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21h
Yy9NaXNjL1dlYkNhY2hlLm1tIGIvU291cmNlL1dlYktpdC9tYWMvTWlzYy9XZWJDYWNoZS5tbQpp
bmRleCAxOGQzMTQyZWI1MjFhZmQyYjhmNDJhNWQ1NzM3YWQ3NmUyOTI5NzQ3Li5mYzY4ZTI3NDk5
NDI3OWIzMjY4Yjc5NmYyM2QxNzAzOTM2ZGQ3NjI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L21hYy9NaXNjL1dlYkNhY2hlLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL01pc2MvV2ViQ2Fj
aGUubW0KQEAgLTIwMSw3ICsyMDEsOCBAQCArIChDR0ltYWdlUmVmKWltYWdlRm9yVVJMOihOU1VS
TCAqKXVybAogICAgIGlmICghdXJsKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICAKLSAg
ICBXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZSogY2FjaGVkUmVzb3VyY2UgPSBXZWJDb3JlOjpNZW1v
cnlDYWNoZTo6c2luZ2xldG9uKCkucmVzb3VyY2VGb3JVUkwodXJsKTsKKyAgICBXZWJDb3JlOjpS
ZXNvdXJjZVJlcXVlc3QgcmVxdWVzdCh1cmwpOworICAgIFdlYkNvcmU6OkNhY2hlZFJlc291cmNl
KiBjYWNoZWRSZXNvdXJjZSA9IFdlYkNvcmU6Ok1lbW9yeUNhY2hlOjpzaW5nbGV0b24oKS5yZXNv
dXJjZUZvclJlcXVlc3QocmVxdWVzdCwgU2Vzc2lvbklEOjpkZWZhdWx0U2Vzc2lvbklEKCkpOwog
ICAgIGlmICghaXM8V2ViQ29yZTo6Q2FjaGVkSW1hZ2U+KGNhY2hlZFJlc291cmNlKSkKICAgICAg
ICAgcmV0dXJuIG51bGxwdHI7CiAgICAgV2ViQ29yZTo6Q2FjaGVkSW1hZ2UmIGNhY2hlZEltYWdl
ID0gZG93bmNhc3Q8V2ViQ29yZTo6Q2FjaGVkSW1hZ2U+KCpjYWNoZWRSZXNvdXJjZSk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5k
ZXggOThmZGU0MDEzYTRiNjcwYmM5NmYwM2MwNTZlMzE0Y2ZjNjAzZGQ5My4uMzkwNTA3OTJiNGYz
MDE2OWUyN2U5OWY5MDJkYTM5NTgxNTY1M2QyYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDE1
LTA0LTA2ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgQmluZyB2
aWRlbyBzZWFyY2ggcmVzdWx0IHBhZ2VzIGFyZSBub3QgUGFnZUNhY2hlYWJsZQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQzNDYzCisgICAgICAgIDxy
ZGFyOi8vcHJvYmxlbS8yMDQ0MDkxNj4KKworICAgICAgICBSZXZpZXdlZCBieSBBbGV4ZXkgUHJv
c2t1cnlha292LgorCisgICAgICAgIEFkZCBsYXlvdXQgdGVzdHMgdG8gY29uZmlybSB0aGF0IGEg
cGVuZGluZyBpbWFnZSBsb2FkIGRvZXMgbm90IHByZXZlbnQKKyAgICAgICAgYSBwYWdlIGZyb20g
ZW50ZXJpbmcgdGhlIHBhZ2UgY2FjaGUuIFRoZXJlIGFyZSAyIHRlc3RzLCBvbmNlIHRoYXQgY292
ZXIKKyAgICAgICAgdGhlIGNhc2Ugd2hlcmUgdGhlIHJlcXVlc3QncyBjYWNoZVBhcnRpb24gaXMg
ZW1wdHkgKHBhc3Npbmcgd2l0aG91dCB0aGUKKyAgICAgICAgZml4KSwgYW5kIGFub3RoZXIgd2hl
cmUgdGhlIHJlcXVlc3QncyBjYWNoZVBhcnRpdGlvbiBpcyBub24tZW1wdHkKKyAgICAgICAgKHdo
aWNoIG9ubHkgcGFzc2VzIHdpdGggdGhlIGZpeCkuCisKKyAgICAgICAgKiBodHRwL3Rlc3RzL25h
dmlnYXRpb24vcGFnZS1jYWNoZS1wZW5kaW5nLWltYWdlLWxvYWQtY2FjaGUtcGFydGl0aW9uLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3BhZ2Ut
Y2FjaGUtcGVuZGluZy1pbWFnZS1sb2FkLWNhY2hlLXBhcnRpdGlvbi5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBodHRwL3Rlc3RzL25hdmlnYXRpb24vcGFnZS1jYWNoZS1wZW5kaW5nLWltYWdlLWxv
YWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL25hdmlnYXRpb24v
cGFnZS1jYWNoZS1wZW5kaW5nLWltYWdlLWxvYWQuaHRtbDogQWRkZWQuCisKIDIwMTUtMDQtMDMg
IEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+CiAKICAgICAgICAgUmVkdWNlIHRo
ZSBkZXBlbmRlbmN5IG9uIEZsYXNoIGluIHJlZ3Jlc3Npb24gdGVzdHMKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9wYWdlLWNhY2hlLXBlbmRpbmctaW1hZ2Ut
bG9hZC1jYWNoZS1wYXJ0aXRpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9uYXZpZ2F0aW9uL3BhZ2UtY2FjaGUtcGVuZGluZy1pbWFnZS1sb2FkLWNhY2hlLXBhcnRpdGlv
bi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDczOWQ3NTY2YjJiYWRkZDA3MGUzZmJlY2YxMzUx
OGNhNjUxMDNiOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2
aWdhdGlvbi9wYWdlLWNhY2hlLXBlbmRpbmctaW1hZ2UtbG9hZC1jYWNoZS1wYXJ0aXRpb24tZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Rlc3RzIHRoYXQgYSBwYWdlIHdpdGggYSBsb2Fk
aW5nIGltYWdlIGdvZXMgaW50byB0aGUgcGFnZSBjYWNoZSAod2l0aCBub24tZW1wdHkgY2FjaGUg
cGFydGl0aW9uKS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK3BhZ2VzaG93IC0g
bm90IGZyb20gY2FjaGUKK3BhZ2VoaWRlIC0gZW50ZXJpbmcgY2FjaGUKK3BhZ2VzaG93IC0gZnJv
bSBjYWNoZQorUEFTUyBQYWdlIGRpZCBlbnRlciBhbmQgd2FzIHJlc3RvcmVkIGZyb20gdGhlIHBh
Z2UgY2FjaGUKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vcGFnZS1j
YWNoZS1wZW5kaW5nLWltYWdlLWxvYWQtY2FjaGUtcGFydGl0aW9uLmh0bWwgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vcGFnZS1jYWNoZS1wZW5kaW5nLWltYWdlLWxvYWQtY2Fj
aGUtcGFydGl0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjE4M2ExY2JmNmU5ZmQ5YmJmYWJkYTI3ZGYy
ZWI1ZGEwMTE4NzQwZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
bmF2aWdhdGlvbi9wYWdlLWNhY2hlLXBlbmRpbmctaW1hZ2UtbG9hZC1jYWNoZS1wYXJ0aXRpb24u
aHRtbApAQCAtMCwwICsxLDUxIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGJvZHk+Cis8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
PgorZGVzY3JpcHRpb24oJ1Rlc3RzIHRoYXQgYSBwYWdlIHdpdGggYSBsb2FkaW5nIGltYWdlIGdv
ZXMgaW50byB0aGUgcGFnZSBjYWNoZSAod2l0aCBub24tZW1wdHkgY2FjaGUgcGFydGl0aW9uKS4n
KTsKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKK2ludGVybmFscy5zZXR0aW5ncy5zZXRT
dG9yYWdlQmxvY2tpbmdQb2xpY3koJ0Jsb2NrVGhpcmRQYXJ0eScpOworCitpZiAod2luZG93LnRl
c3RSdW5uZXIpCisgICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFVzZXNQ
YWdlQ2FjaGVQcmVmZXJlbmNlS2V5IiwgMSk7CisKK3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJw
YWdlc2hvdyIsIGZ1bmN0aW9uKGV2ZW50KSB7CisgICAgZGVidWcoInBhZ2VzaG93IC0gIiArIChl
dmVudC5wZXJzaXN0ZWQgPyAiIiA6ICJub3QgIikgKyAiZnJvbSBjYWNoZSIpOworCisgICAgaWYg
KGV2ZW50LnBlcnNpc3RlZCkgeworICAgICAgICB0ZXN0UGFzc2VkKCJQYWdlIGRpZCBlbnRlciBh
bmQgd2FzIHJlc3RvcmVkIGZyb20gdGhlIHBhZ2UgY2FjaGUiKTsKKyAgICAgICAgc2V0VGltZW91
dChmdW5jdGlvbigpIHsKKyAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICB9LCAw
KTsKKyAgICB9Cit9LCBmYWxzZSk7CisKK3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJwYWdlaGlk
ZSIsIGZ1bmN0aW9uKGV2ZW50KSB7CisgICAgZGVidWcoInBhZ2VoaWRlIC0gIiArIChldmVudC5w
ZXJzaXN0ZWQgPyAiIiA6ICJub3QgIikgKyAiZW50ZXJpbmcgY2FjaGUiKTsKKyAgICBpZiAoIWV2
ZW50LnBlcnNpc3RlZCkgeworICAgICAgICB0ZXN0RmFpbGVkKCJQYWdlIGRpZCBub3QgZW50ZXIg
dGhlIHBhZ2UgY2FjaGUuIik7CisgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgIH0KK30sIGZh
bHNlKTsKKword2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBmdW5jdGlvbigpIHsKKyAg
ICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeworICAgICAgICAvLyBTbG93IGxvYWRpbmcgaW1hZ2Uu
CisgICAgICAgIHZhciBzbG93SW1hZ2UgPSBuZXcgSW1hZ2UoKTsKKyAgICAgICAgc2xvd0ltYWdl
LnNyYyA9ICIvaGlzdG9yeS9yZXNvdXJjZXMvc2xvdy1pbWFnZS5waHAiOworICAgICAgICBkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHNsb3dJbWFnZSk7CisgICAgfSwgMCk7CisKKyAgICAvLyBU
aGlzIG5lZWRzIHRvIGhhcHBlbiBpbiBhIHNldFRpbWVvdXQgYmVjYXVzZSBhIG5hdmlnYXRpb24g
aW5zaWRlIHRoZSBvbmxvYWQgaGFuZGxlciB3b3VsZAorICAgIC8vIG5vdCBjcmVhdGUgYSBoaXN0
b3J5IGVudHJ5LgorICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CisgICAgICAvLyBGb3JjZSBh
IGJhY2sgbmF2aWdhdGlvbiBiYWNrIHRvIHRoaXMgcGFnZS4KKyAgICAgIHdpbmRvdy5sb2NhdGlv
bi5ocmVmID0gInJlc291cmNlcy9wYWdlLWNhY2hlLWhlbHBlci5odG1sIjsKKyAgICB9LCAwKTsK
K30sIGZhbHNlKTsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3BhZ2UtY2FjaGUtcGVuZGluZy1pbWFnZS1sb2Fk
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9wYWdlLWNh
Y2hlLXBlbmRpbmctaW1hZ2UtbG9hZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTNjYjBjNzI2
YmNkOTQ5YTRlMTA5ODE5ZWQxNDU2MmRlZTQyYTY1OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9wYWdlLWNhY2hlLXBlbmRpbmctaW1hZ2UtbG9h
ZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGVzdHMgdGhhdCBhIHBhZ2Ugd2l0aCBh
IGxvYWRpbmcgaW1hZ2UgZ29lcyBpbnRvIHRoZSBwYWdlIGNhY2hlLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKKworcGFnZXNob3cgLSBub3QgZnJvbSBjYWNoZQorcGFnZWhpZGUgLSBl
bnRlcmluZyBjYWNoZQorcGFnZXNob3cgLSBmcm9tIGNhY2hlCitQQVNTIFBhZ2UgZGlkIGVudGVy
IGFuZCB3YXMgcmVzdG9yZWQgZnJvbSB0aGUgcGFnZSBjYWNoZQorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9wYWdlLWNhY2hlLXBlbmRpbmctaW1hZ2UtbG9hZC5odG1s
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3BhZ2UtY2FjaGUtcGVuZGluZy1p
bWFnZS1sb2FkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTIwYjUyNmE1NzA1ZjkxODk3Y2FhOTY1Yjg4YzAz
YmNkZDQ4OTQwMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2
aWdhdGlvbi9wYWdlLWNhY2hlLXBlbmRpbmctaW1hZ2UtbG9hZC5odG1sCkBAIC0wLDAgKzEsNTAg
QEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbignVGVz
dHMgdGhhdCBhIHBhZ2Ugd2l0aCBhIGxvYWRpbmcgaW1hZ2UgZ29lcyBpbnRvIHRoZSBwYWdlIGNh
Y2hlLicpOword2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworCitpZiAod2luZG93LnRlc3RS
dW5uZXIpCisgICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFVzZXNQYWdl
Q2FjaGVQcmVmZXJlbmNlS2V5IiwgMSk7CisKK3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJwYWdl
c2hvdyIsIGZ1bmN0aW9uKGV2ZW50KSB7CisgICAgZGVidWcoInBhZ2VzaG93IC0gIiArIChldmVu
dC5wZXJzaXN0ZWQgPyAiIiA6ICJub3QgIikgKyAiZnJvbSBjYWNoZSIpOworCisgICAgaWYgKGV2
ZW50LnBlcnNpc3RlZCkgeworICAgICAgICB0ZXN0UGFzc2VkKCJQYWdlIGRpZCBlbnRlciBhbmQg
d2FzIHJlc3RvcmVkIGZyb20gdGhlIHBhZ2UgY2FjaGUiKTsKKyAgICAgICAgc2V0VGltZW91dChm
dW5jdGlvbigpIHsKKyAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICB9LCAwKTsK
KyAgICB9Cit9LCBmYWxzZSk7CisKK3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJwYWdlaGlkZSIs
IGZ1bmN0aW9uKGV2ZW50KSB7CisgICAgZGVidWcoInBhZ2VoaWRlIC0gIiArIChldmVudC5wZXJz
aXN0ZWQgPyAiIiA6ICJub3QgIikgKyAiZW50ZXJpbmcgY2FjaGUiKTsKKyAgICBpZiAoIWV2ZW50
LnBlcnNpc3RlZCkgeworICAgICAgICB0ZXN0RmFpbGVkKCJQYWdlIGRpZCBub3QgZW50ZXIgdGhl
IHBhZ2UgY2FjaGUuIik7CisgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgIH0KK30sIGZhbHNl
KTsKKword2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBmdW5jdGlvbigpIHsKKyAgICBz
ZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeworICAgICAgICAvLyBTbG93IGxvYWRpbmcgaW1hZ2UuCisg
ICAgICAgIHZhciBzbG93SW1hZ2UgPSBuZXcgSW1hZ2UoKTsKKyAgICAgICAgc2xvd0ltYWdlLnNy
YyA9ICIvaGlzdG9yeS9yZXNvdXJjZXMvc2xvdy1pbWFnZS5waHAiOworICAgICAgICBkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKHNsb3dJbWFnZSk7CisgICAgfSwgMCk7CisKKyAgICAvLyBUaGlz
IG5lZWRzIHRvIGhhcHBlbiBpbiBhIHNldFRpbWVvdXQgYmVjYXVzZSBhIG5hdmlnYXRpb24gaW5z
aWRlIHRoZSBvbmxvYWQgaGFuZGxlciB3b3VsZAorICAgIC8vIG5vdCBjcmVhdGUgYSBoaXN0b3J5
IGVudHJ5LgorICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CisgICAgICAvLyBGb3JjZSBhIGJh
Y2sgbmF2aWdhdGlvbiBiYWNrIHRvIHRoaXMgcGFnZS4KKyAgICAgIHdpbmRvdy5sb2NhdGlvbi5o
cmVmID0gInJlc291cmNlcy9wYWdlLWNhY2hlLWhlbHBlci5odG1sIjsKKyAgICB9LCAwKTsKK30s
IGZhbHNlKTsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>250256</attachid>
            <date>2015-04-06 22:26:35 -0700</date>
            <delta_ts>2015-04-06 23:23:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-143463-20150406222606.patch</filename>
            <type>text/plain</type>
            <size>15206</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgyNDQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjg2ODBhYzViYmM0YzBl
MWQ3MDhjM2U2MTljMWFhMzg0ZGEyYjEyMS4uYzMyNDU3NDA5OGE0ZTZiMWFmN2NlZWI2ZThjZTJj
NzY5M2U0ZGJkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYyIEBACisyMDE1LTA0LTA2ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgQmluZyB2aWRlbyBzZWFyY2gg
cmVzdWx0IHBhZ2VzIGFyZSBub3QgUGFnZUNhY2hlYWJsZQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQzNDYzCisgICAgICAgIDxyZGFyOi8vcHJvYmxl
bS8yMDQ0MDkxNj4KKworICAgICAgICBSZXZpZXdlZCBieSBBbGV4ZXkgUHJvc2t1cnlha292Lgor
CisgICAgICAgIEJpbmcgdmlkZW8gc2VhcmNoIHJlc3VsdCBwYWdlcyBhcmUgbm90IFBhZ2VDYWNo
ZWFibGUgKHRlc3RlZCBvbiBpT1MpLgorICAgICAgICBJdCBib3RoOgorICAgICAgICAtIGlzIGJh
ZCBmb3IgcG93ZXIgdXNhZ2UgYXMgaXQgY2F1c2VzIGEgcmVsb2FkIHdoZW4gY2xpY2tpbmcgb25l
IG9mIHRoZQorICAgICAgICAgIHJlc3VsdHMgdGhlbiBuYXZpZ2F0aW5nIGJhY2sgaW4gaGlzdG9y
eS4KKyAgICAgICAgLSBkZWdyYWRlcyB1c2VyIGV4cGVyaWVuY2UgYmVjYXVzZSB0aGUgcmVzdWx0
cyBwYWdlIHVzZXMgaW5maW5pdGUKKyAgICAgICAgICBzY3JvbGxpbmcgYW5kIHRoZSBzY3JvbGwg
cG9zaXRpb24gaXMgbm90IHByb3Blcmx5IHJlc3RvcmVkIHdoZW4KKyAgICAgICAgICBuYXZpZ2F0
aW5nIGJhY2ssIG5vdCB0byBtZW50aW9uIHRoZSB1c2VyIGhhcyB0byB3YWl0IGZvciB0aGUgcmVs
b2FkCisgICAgICAgICAgdG8gY29tcGxldGUuCisKKyAgICAgICAgVGhlIGlzc3VlIHdhcyB0aGF0
IHRoZSBiaW5nIHNlYXJjaCBwYWdlIHdhcyBkb2luZyBhIHBpbmcgbG9hZCB3aGVuCisgICAgICAg
IGNsaWNraW5nIG9uIG9uZSBvZiB0aGUgc2VhcmNoIHJlc3VsdHMuIFRoZSBwaW5nIGxvYWQgd2Fz
IGRvbmUgYnkKKyAgICAgICAgY3JlYXRlIGFuIGltYWdlIGFuZCBpdHMgJ3NyYycgYXR0cmlidXRl
IHRvIHRoZSBwaW5nIFVSTC4gVGhpcyBsb2FkCisgICAgICAgIHVzdWFsbHkgZGlkIG5vdCBoYXZl
IHRpbWUgdG8gY29tcGxldGUgd2hlbiBuYXZpZ2F0aW5nIGF3YXkgc28gd2Ugd291bGQKKyAgICAg
ICAgY2FuY2VsIGl0IGFuZCB0aGUgbWFpbiBkb2N1bWVudCB3b3VsZCBlbmQgdXAgd2l0aCBhbiBl
cnJvciB0aGF0IHdvdWxkCisgICAgICAgIHByZXZlbnQgdGhlIHBhZ2UgZnJvbSBlbnRlcmluZyB0
aGUgcGFnZSBjYWNoZS4gV2UgYWxyZWFkeSBoYXZlIGNvZGUKKyAgICAgICAgbWFraW5nIHN1cmUg
bG9hZCBjYW5jZWxsYXRpb25zIGRvIG5vdCBwcmV2ZW50IHBhZ2UgY2FjaGluZyBhcyBsb25nIGFz
CisgICAgICAgIHRoZSBsb2FkcyBhcmUgZm9yIFhIUiBvciBpbWFnZXMuIEhvd2V2ZXIsIHRoZSBs
YXR0ZXIgY2hlY2sgd2FzIGJyb2tlbgorICAgICAgICBpbiB0aGUgY2FzZSB3aGVyZSB0aGUgUmVz
b3VyY2VSZXF1ZXN0J3MgY2FjaGVQYXJ0aXRpb24gd2FzIG5vbi1lbXB0eS4KKyAgICAgICAgVGhp
cyBpcyBiZWNhdXNlIHRoZSBjaGVjayB3YXMgdXNpbmcgdGhlIE1lbW9yeUNhY2hlOjpSZXNvdXJj
ZUZvclVybCgpCisgICAgICAgIEFQSSB3aGljaCByYXJlbHkgZG9lcyB3aGF0IHdlIHdhbnQgYmVj
YXVzZSBpdCB3aWxsIHJlcXVlc3QgYSBkdW1teQorICAgICAgICBSZXNvdXJjZVJlcXVlc3QgKHdp
dGhvdXQgY2FjaGVQYXJ0aXRpb24pIGFuZCB0aGVuIGNhbGwKKyAgICAgICAgTWVtb3J5Q2FjaGU6
OnJlc291cmNlRm9yUmVxdWVzdCgpLiBUaGlzIHBhdGNoIHVwZGF0ZXMgdGhlIGNoZWNrCisgICAg
ICAgIHRvIHVzZSByZXNvdXJjZUZvclJlcXVlc3QoKSBkaXJlY3RseSBhcyB3ZSBoYXZlIHRoZSBS
ZXNvdXJjZVJlcXVlc3QKKyAgICAgICAgYXQgdGhpcyBwb2ludC4KKworICAgICAgICBUaGlzIHBh
dGNoIGFsc28gZ2V0cyByaWQgb2YgdGhlICBNZW1vcnlDYWNoZTo6UmVzb3VyY2VGb3JVcmwoKSBB
UEkgYXMKKyAgICAgICAgaXQgcmFyZWx5IGRvZXMgd2hhdCB3ZSB3YW50IGFuZCBpdCBpcyBidWcg
cHJvbmUuIEl0IHdhcyBvbmx5IHVzZWQgaW4KKyAgICAgICAgMiBwbGFjZXMsIG9uZSBvZiB0aGVt
IGNhdXNpbmcgdGhpcyBidWcgYW5kIHRoZSBvdGhlciBpbiBJbnRlcm5hbHMuCisKKyAgICAgICAg
VGVzdHM6IGh0dHAvdGVzdHMvbmF2aWdhdGlvbi9wYWdlLWNhY2hlLXBlbmRpbmctaW1hZ2UtbG9h
ZC1jYWNoZS1wYXJ0aXRpb24uaHRtbAorICAgICAgICAgICAgICAgaHR0cC90ZXN0cy9uYXZpZ2F0
aW9uL3BhZ2UtY2FjaGUtcGVuZGluZy1pbWFnZS1sb2FkLmh0bWwKKworICAgICAgICAqIGxvYWRl
ci9Eb2N1bWVudExvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjphcmVBbGxMb2FkZXJzUGFn
ZUNhY2hlQWNjZXB0YWJsZSk6CisgICAgICAgIFVzZSBNZW1vcnlDYWNoZTo6cmVzb3VyY2VGb3JS
ZXF1ZXN0KCkgaW5zdGVhZCBvZiByZXNvdXJjZUZvclVybCgpIGFzCisgICAgICAgIHdlIGhhdmUg
dGhlIFJlc291cmNlUmVxdWVzdCBhbmQgY2FsbGluZyByZXNvdXJjZUZvclVybCgpIHdvdWxkIGxv
b3NlCisgICAgICAgIHRoZSBjYWNoZVBhcnRpdGlvbi4KKworICAgICAgICAqIGxvYWRlci9jYWNo
ZS9NZW1vcnlDYWNoZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZW1vcnlDYWNoZTo6cmVzb3Vy
Y2VGb3JVUkwpOiBEZWxldGVkLgorICAgICAgICBEcm9wIHRoaXMgQVBJIGFzIGl0IGlzIGJ1ZyBw
cm9uZSBhbmQgcmFyZWx5IGRvZXMgd2hhdCB3ZSB3YW50LgorCisgICAgICAgICogdGVzdGluZy9J
bnRlcm5hbHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjppc0xvYWRpbmdGcm9t
TWVtb3J5Q2FjaGUpOgorICAgICAgICBVcGRhdGUgY2FsbCB0byBjcmVhdGUgYSBkdW1teSBSZXNv
dXJjZVJlcXVlc3QgYW5kIGNhbGwKKyAgICAgICAgcmVzb3VyY2VGb3JSZXF1ZXN0KCkgaW5zdGVh
ZCBvZiByZXNvdXJjZUZvclVybCgpLCBhcyB0aGlzIEFQSSBubworICAgICAgICBsb25nZXIgZXhp
c3RzLiBUaGUgbmV3IGNvZGUgYWxzbyBzZXQgdGhlIGNhY2hlUGFydGl0aW9uIG9uIHRoZQorICAg
ICAgICBkdW1teSByZXF1ZXN0IHNvIHRoYXQgdGhpcyBmdW5jdGlvbiBhY3R1YWxseSBiZWhhdmVz
IGFzIGV4cGVjdGVkCisgICAgICAgIGlmIHRoZSBjYWNoZVBhcnRpdGlvbiBpbiB0aGUgbWVtb3J5
IGNhY2hlIGlzIG5vbi1lbXB0eS4KKworCiAyMDE1LTA0LTA2ICBKZXIgTm9ibGUgIDxqZXIubm9i
bGVAYXBwbGUuY29tPgogCiAgICAgICAgIFN5bmNocm9uaXplIGZ1bGxzY3JlZW4gYW5pbWF0aW9u
IGJldHdlZW4gcHJvY2Vzc2VzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IGNmMzNiNWEzNjNkZWM4ZjBh
YTgzZmI1ZTgzNGFlYzcwYTlkMWJkOTcuLmY3Mzg3MTZjZTQ5MmQzZjY2YmU0ZjI2NDEwOTYxZWQ0
OWQwMzczYzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxNS0wNC0wNiAg
Q2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIEJpbmcgdmlkZW8gc2Vh
cmNoIHJlc3VsdCBwYWdlcyBhcmUgbm90IFBhZ2VDYWNoZWFibGUKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MzQ2MworICAgICAgICA8cmRhcjovL3By
b2JsZW0vMjA0NDA5MTY+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWxleGV5IFByb3NrdXJ5YWtv
di4KKworICAgICAgICBGaXggdGhlIGlPUyAvIFdLMSBidWlsZCBieSB1c2luZyBNZW1vcnlDYWNo
ZTo6cmVzb3VyY2VGb3JSZXF1ZXN0KCkKKyAgICAgICAgaW5zdGVhZCBvZiByZXNvdXJjZUZvclVy
bCgpLgorCisgICAgICAgICogTWlzYy9XZWJDYWNoZS5tbToKKyAgICAgICAgKCtbV2ViQ2FjaGUg
aW1hZ2VGb3JVUkw6XSk6CisKIDIwMTUtMDQtMDUgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNl
ckBhcHBsZS5jb20+CiAKICAgICAgICAgUmVtb3ZlICJnbyBhaGVhZCBhbmQiIGZyb20gY29tbWVu
dHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwCmluZGV4IDJhOGYyZjA1
ZWEyOWJjYTBlMTMxMTZmMjVmYThhZDMyMWFhMzM2YTguLmZiOGJlNmFhNmU0MTI3NzBhOWQ1ZDY3
Y2FjMjMxZWQyYzE4OGM1NDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1
bWVudExvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVy
LmNwcApAQCAtMTAzLDcgKzEwMyw3IEBAIHN0YXRpYyBib29sIGFyZUFsbExvYWRlcnNQYWdlQ2Fj
aGVBY2NlcHRhYmxlKGNvbnN0IFJlc291cmNlTG9hZGVyTWFwJiBsb2FkZXJzKQogICAgICAgICBp
ZiAoIWxvYWRlci0+ZnJhbWVMb2FkZXIoKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIAot
ICAgICAgICBDYWNoZWRSZXNvdXJjZSogY2FjaGVkUmVzb3VyY2UgPSBNZW1vcnlDYWNoZTo6c2lu
Z2xldG9uKCkucmVzb3VyY2VGb3JVUkwobG9hZGVyLT5yZXF1ZXN0KCkudXJsKCksIGxvYWRlci0+
ZnJhbWVMb2FkZXIoKS0+ZnJhbWUoKS5wYWdlKCktPnNlc3Npb25JRCgpKTsKKyAgICAgICAgQ2Fj
aGVkUmVzb3VyY2UqIGNhY2hlZFJlc291cmNlID0gTWVtb3J5Q2FjaGU6OnNpbmdsZXRvbigpLnJl
c291cmNlRm9yUmVxdWVzdChsb2FkZXItPnJlcXVlc3QoKSwgbG9hZGVyLT5mcmFtZUxvYWRlcigp
LT5mcmFtZSgpLnBhZ2UoKS0+c2Vzc2lvbklEKCkpOwogICAgICAgICBpZiAoIWNhY2hlZFJlc291
cmNlKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L2NhY2hlL01lbW9yeUNhY2hlLmNwcAppbmRleCA4MDQ4NmQ0MWQ1YmQzMzNiNTY0MDY4MDA2NTU0
ZjZmOWFlODk0NWU3Li5mYWIxYzBlMThkNWE0ZmZmZWJjNTFhNjVmZDM3NDFkOGFlYWM4N2JiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5jcHAKQEAgLTE2OCwx
MSArMTY4LDYgQEAgdm9pZCBNZW1vcnlDYWNoZTo6cmV2YWxpZGF0aW9uRmFpbGVkKENhY2hlZFJl
c291cmNlJiByZXZhbGlkYXRpbmdSZXNvdXJjZSkKICAgICByZXZhbGlkYXRpbmdSZXNvdXJjZS5j
bGVhclJlc291cmNlVG9SZXZhbGlkYXRlKCk7CiB9CiAKLUNhY2hlZFJlc291cmNlKiBNZW1vcnlD
YWNoZTo6cmVzb3VyY2VGb3JVUkwoY29uc3QgVVJMJiByZXNvdXJjZVVSTCwgU2Vzc2lvbklEIHNl
c3Npb25JRCkKLXsKLSAgICByZXR1cm4gcmVzb3VyY2VGb3JSZXF1ZXN0KFJlc291cmNlUmVxdWVz
dChyZXNvdXJjZVVSTCksIHNlc3Npb25JRCk7Ci19Ci0KIENhY2hlZFJlc291cmNlKiBNZW1vcnlD
YWNoZTo6cmVzb3VyY2VGb3JSZXF1ZXN0KGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwg
U2Vzc2lvbklEIHNlc3Npb25JRCkKIHsKICAgICBhdXRvKiByZXNvdXJjZXMgPSBzZXNzaW9uUmVz
b3VyY2VNYXAoc2Vzc2lvbklEKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9j
YWNoZS9NZW1vcnlDYWNoZS5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9yeUNh
Y2hlLmgKaW5kZXggNzY3NDI0MjE5YmRlMTJjM2UxODBhZGYyYjAyZmYwMDBiZDI4MDg0MC4uNWEz
ZDM3ZWJlNmJlNDRkZTFjMDZmYjQ2YWJlODM3Nzk4YjY2ZDcxZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmgKQEAgLTkxLDcgKzkxLDYgQEAgcHVibGljOgogCiAg
ICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIE1lbW9yeUNhY2hlJiBzaW5nbGV0b24oKTsKIAotICAg
IFdFQkNPUkVfRVhQT1JUIENhY2hlZFJlc291cmNlKiByZXNvdXJjZUZvclVSTChjb25zdCBVUkwm
LCBTZXNzaW9uSUQgPSBTZXNzaW9uSUQ6OmRlZmF1bHRTZXNzaW9uSUQoKSk7CiAgICAgV0VCQ09S
RV9FWFBPUlQgQ2FjaGVkUmVzb3VyY2UqIHJlc291cmNlRm9yUmVxdWVzdChjb25zdCBSZXNvdXJj
ZVJlcXVlc3QmLCBTZXNzaW9uSUQpOwogCiAgICAgYm9vbCBhZGQoQ2FjaGVkUmVzb3VyY2UmKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAppbmRleCBiNzg0ODZkOGZmZjFlM2M5MDQz
ZWQwNzY0NzBiYTMyOTdmNWM0ZmU1Li43YmZmOWVhYjg2ZDU3YzQ4NTE0NjA2OWU0ZDA0ZWNmZTE0
ZjRmZjJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCkBAIC00MDUsNyArNDA1
LDEyIEBAIGJvb2wgSW50ZXJuYWxzOjppc0xvYWRpbmdGcm9tTWVtb3J5Q2FjaGUoY29uc3QgU3Ry
aW5nJiB1cmwpCiB7CiAgICAgaWYgKCFjb250ZXh0RG9jdW1lbnQoKSB8fCAhY29udGV4dERvY3Vt
ZW50KCktPnBhZ2UoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIENhY2hlZFJlc291cmNl
KiByZXNvdXJjZSA9IE1lbW9yeUNhY2hlOjpzaW5nbGV0b24oKS5yZXNvdXJjZUZvclVSTChjb250
ZXh0RG9jdW1lbnQoKS0+Y29tcGxldGVVUkwodXJsKSwgY29udGV4dERvY3VtZW50KCktPnBhZ2Uo
KS0+c2Vzc2lvbklEKCkpOworCisgICAgUmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3QoY29udGV4dERv
Y3VtZW50KCktPmNvbXBsZXRlVVJMKHVybCkpOworI2lmIEVOQUJMRShDQUNIRV9QQVJUSVRJT05J
TkcpCisgICAgcmVxdWVzdC5zZXREb21haW5Gb3JDYWNoZVBhcnRpdGlvbihjb250ZXh0RG9jdW1l
bnQoKS0+dG9wT3JpZ2luKCktPmRvbWFpbkZvckNhY2hlUGFydGl0aW9uKCkpOworI2VuZGlmCisg
ICAgQ2FjaGVkUmVzb3VyY2UqIHJlc291cmNlID0gTWVtb3J5Q2FjaGU6OnNpbmdsZXRvbigpLnJl
c291cmNlRm9yUmVxdWVzdChyZXF1ZXN0LCBjb250ZXh0RG9jdW1lbnQoKS0+cGFnZSgpLT5zZXNz
aW9uSUQoKSk7CiAgICAgcmV0dXJuIHJlc291cmNlICYmIHJlc291cmNlLT5zdGF0dXMoKSA9PSBD
YWNoZWRSZXNvdXJjZTo6Q2FjaGVkOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21h
Yy9NaXNjL1dlYkNhY2hlLm1tIGIvU291cmNlL1dlYktpdC9tYWMvTWlzYy9XZWJDYWNoZS5tbQpp
bmRleCAxOGQzMTQyZWI1MjFhZmQyYjhmNDJhNWQ1NzM3YWQ3NmUyOTI5NzQ3Li42ZmI1ZDg1MmFl
YjYxZmY5NGI5NDQzNGY5MmIxOTc4MmE1MGRkYTAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L21hYy9NaXNjL1dlYkNhY2hlLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL01pc2MvV2ViQ2Fj
aGUubW0KQEAgLTIwMSw3ICsyMDEsOCBAQCArIChDR0ltYWdlUmVmKWltYWdlRm9yVVJMOihOU1VS
TCAqKXVybAogICAgIGlmICghdXJsKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICAKLSAg
ICBXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZSogY2FjaGVkUmVzb3VyY2UgPSBXZWJDb3JlOjpNZW1v
cnlDYWNoZTo6c2luZ2xldG9uKCkucmVzb3VyY2VGb3JVUkwodXJsKTsKKyAgICBXZWJDb3JlOjpS
ZXNvdXJjZVJlcXVlc3QgcmVxdWVzdCh1cmwpOworICAgIFdlYkNvcmU6OkNhY2hlZFJlc291cmNl
KiBjYWNoZWRSZXNvdXJjZSA9IFdlYkNvcmU6Ok1lbW9yeUNhY2hlOjpzaW5nbGV0b24oKS5yZXNv
dXJjZUZvclJlcXVlc3QocmVxdWVzdCwgV2ViQ29yZTo6U2Vzc2lvbklEOjpkZWZhdWx0U2Vzc2lv
bklEKCkpOwogICAgIGlmICghaXM8V2ViQ29yZTo6Q2FjaGVkSW1hZ2U+KGNhY2hlZFJlc291cmNl
KSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgV2ViQ29yZTo6Q2FjaGVkSW1hZ2UmIGNh
Y2hlZEltYWdlID0gZG93bmNhc3Q8V2ViQ29yZTo6Q2FjaGVkSW1hZ2U+KCpjYWNoZWRSZXNvdXJj
ZSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKaW5kZXggOThmZGU0MDEzYTRiNjcwYmM5NmYwM2MwNTZlMzE0Y2ZjNjAzZGQ5My4uMzkw
NTA3OTJiNGYzMDE2OWUyN2U5OWY5MDJkYTM5NTgxNTY1M2QyYyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIy
IEBACisyMDE1LTA0LTA2ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAg
ICAgQmluZyB2aWRlbyBzZWFyY2ggcmVzdWx0IHBhZ2VzIGFyZSBub3QgUGFnZUNhY2hlYWJsZQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQzNDYzCisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yMDQ0MDkxNj4KKworICAgICAgICBSZXZpZXdlZCBieSBB
bGV4ZXkgUHJvc2t1cnlha292LgorCisgICAgICAgIEFkZCBsYXlvdXQgdGVzdHMgdG8gY29uZmly
bSB0aGF0IGEgcGVuZGluZyBpbWFnZSBsb2FkIGRvZXMgbm90IHByZXZlbnQKKyAgICAgICAgYSBw
YWdlIGZyb20gZW50ZXJpbmcgdGhlIHBhZ2UgY2FjaGUuIFRoZXJlIGFyZSAyIHRlc3RzLCBvbmNl
IHRoYXQgY292ZXIKKyAgICAgICAgdGhlIGNhc2Ugd2hlcmUgdGhlIHJlcXVlc3QncyBjYWNoZVBh
cnRpb24gaXMgZW1wdHkgKHBhc3Npbmcgd2l0aG91dCB0aGUKKyAgICAgICAgZml4KSwgYW5kIGFu
b3RoZXIgd2hlcmUgdGhlIHJlcXVlc3QncyBjYWNoZVBhcnRpdGlvbiBpcyBub24tZW1wdHkKKyAg
ICAgICAgKHdoaWNoIG9ubHkgcGFzc2VzIHdpdGggdGhlIGZpeCkuCisKKyAgICAgICAgKiBodHRw
L3Rlc3RzL25hdmlnYXRpb24vcGFnZS1jYWNoZS1wZW5kaW5nLWltYWdlLWxvYWQtY2FjaGUtcGFy
dGl0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9uYXZpZ2F0
aW9uL3BhZ2UtY2FjaGUtcGVuZGluZy1pbWFnZS1sb2FkLWNhY2hlLXBhcnRpdGlvbi5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL25hdmlnYXRpb24vcGFnZS1jYWNoZS1wZW5kaW5n
LWltYWdlLWxvYWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL25h
dmlnYXRpb24vcGFnZS1jYWNoZS1wZW5kaW5nLWltYWdlLWxvYWQuaHRtbDogQWRkZWQuCisKIDIw
MTUtMDQtMDMgIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+CiAKICAgICAgICAg
UmVkdWNlIHRoZSBkZXBlbmRlbmN5IG9uIEZsYXNoIGluIHJlZ3Jlc3Npb24gdGVzdHMKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9wYWdlLWNhY2hlLXBlbmRp
bmctaW1hZ2UtbG9hZC1jYWNoZS1wYXJ0aXRpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3BhZ2UtY2FjaGUtcGVuZGluZy1pbWFnZS1sb2FkLWNhY2hl
LXBhcnRpdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDczOWQ3NTY2YjJiYWRkZDA3MGUz
ZmJlY2YxMzUxOGNhNjUxMDNiOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvbmF2aWdhdGlvbi9wYWdlLWNhY2hlLXBlbmRpbmctaW1hZ2UtbG9hZC1jYWNoZS1wYXJ0
aXRpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Rlc3RzIHRoYXQgYSBwYWdlIHdp
dGggYSBsb2FkaW5nIGltYWdlIGdvZXMgaW50byB0aGUgcGFnZSBjYWNoZSAod2l0aCBub24tZW1w
dHkgY2FjaGUgcGFydGl0aW9uKS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK3Bh
Z2VzaG93IC0gbm90IGZyb20gY2FjaGUKK3BhZ2VoaWRlIC0gZW50ZXJpbmcgY2FjaGUKK3BhZ2Vz
aG93IC0gZnJvbSBjYWNoZQorUEFTUyBQYWdlIGRpZCBlbnRlciBhbmQgd2FzIHJlc3RvcmVkIGZy
b20gdGhlIHBhZ2UgY2FjaGUKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRp
b24vcGFnZS1jYWNoZS1wZW5kaW5nLWltYWdlLWxvYWQtY2FjaGUtcGFydGl0aW9uLmh0bWwgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vcGFnZS1jYWNoZS1wZW5kaW5nLWltYWdl
LWxvYWQtY2FjaGUtcGFydGl0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjE4M2ExY2JmNmU5ZmQ5YmJm
YWJkYTI3ZGYyZWI1ZGEwMTE4NzQwZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvbmF2aWdhdGlvbi9wYWdlLWNhY2hlLXBlbmRpbmctaW1hZ2UtbG9hZC1jYWNoZS1w
YXJ0aXRpb24uaHRtbApAQCAtMCwwICsxLDUxIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgor
PGJvZHk+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oJ1Rlc3RzIHRoYXQgYSBwYWdlIHdpdGggYSBsb2FkaW5n
IGltYWdlIGdvZXMgaW50byB0aGUgcGFnZSBjYWNoZSAod2l0aCBub24tZW1wdHkgY2FjaGUgcGFy
dGl0aW9uKS4nKTsKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKK2ludGVybmFscy5zZXR0
aW5ncy5zZXRTdG9yYWdlQmxvY2tpbmdQb2xpY3koJ0Jsb2NrVGhpcmRQYXJ0eScpOworCitpZiAo
d2luZG93LnRlc3RSdW5uZXIpCisgICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldl
YktpdFVzZXNQYWdlQ2FjaGVQcmVmZXJlbmNlS2V5IiwgMSk7CisKK3dpbmRvdy5hZGRFdmVudExp
c3RlbmVyKCJwYWdlc2hvdyIsIGZ1bmN0aW9uKGV2ZW50KSB7CisgICAgZGVidWcoInBhZ2VzaG93
IC0gIiArIChldmVudC5wZXJzaXN0ZWQgPyAiIiA6ICJub3QgIikgKyAiZnJvbSBjYWNoZSIpOwor
CisgICAgaWYgKGV2ZW50LnBlcnNpc3RlZCkgeworICAgICAgICB0ZXN0UGFzc2VkKCJQYWdlIGRp
ZCBlbnRlciBhbmQgd2FzIHJlc3RvcmVkIGZyb20gdGhlIHBhZ2UgY2FjaGUiKTsKKyAgICAgICAg
c2V0VGltZW91dChmdW5jdGlvbigpIHsKKyAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
ICAgICB9LCAwKTsKKyAgICB9Cit9LCBmYWxzZSk7CisKK3dpbmRvdy5hZGRFdmVudExpc3RlbmVy
KCJwYWdlaGlkZSIsIGZ1bmN0aW9uKGV2ZW50KSB7CisgICAgZGVidWcoInBhZ2VoaWRlIC0gIiAr
IChldmVudC5wZXJzaXN0ZWQgPyAiIiA6ICJub3QgIikgKyAiZW50ZXJpbmcgY2FjaGUiKTsKKyAg
ICBpZiAoIWV2ZW50LnBlcnNpc3RlZCkgeworICAgICAgICB0ZXN0RmFpbGVkKCJQYWdlIGRpZCBu
b3QgZW50ZXIgdGhlIHBhZ2UgY2FjaGUuIik7CisgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAg
IH0KK30sIGZhbHNlKTsKKword2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBmdW5jdGlv
bigpIHsKKyAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeworICAgICAgICAvLyBTbG93IGxvYWRp
bmcgaW1hZ2UuCisgICAgICAgIHZhciBzbG93SW1hZ2UgPSBuZXcgSW1hZ2UoKTsKKyAgICAgICAg
c2xvd0ltYWdlLnNyYyA9ICIvaGlzdG9yeS9yZXNvdXJjZXMvc2xvdy1pbWFnZS5waHAiOworICAg
ICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHNsb3dJbWFnZSk7CisgICAgfSwgMCk7CisK
KyAgICAvLyBUaGlzIG5lZWRzIHRvIGhhcHBlbiBpbiBhIHNldFRpbWVvdXQgYmVjYXVzZSBhIG5h
dmlnYXRpb24gaW5zaWRlIHRoZSBvbmxvYWQgaGFuZGxlciB3b3VsZAorICAgIC8vIG5vdCBjcmVh
dGUgYSBoaXN0b3J5IGVudHJ5LgorICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CisgICAgICAv
LyBGb3JjZSBhIGJhY2sgbmF2aWdhdGlvbiBiYWNrIHRvIHRoaXMgcGFnZS4KKyAgICAgIHdpbmRv
dy5sb2NhdGlvbi5ocmVmID0gInJlc291cmNlcy9wYWdlLWNhY2hlLWhlbHBlci5odG1sIjsKKyAg
ICB9LCAwKTsKK30sIGZhbHNlKTsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3BhZ2UtY2FjaGUtcGVuZGluZy1p
bWFnZS1sb2FkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlv
bi9wYWdlLWNhY2hlLXBlbmRpbmctaW1hZ2UtbG9hZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NTNjYjBjNzI2YmNkOTQ5YTRlMTA5ODE5ZWQxNDU2MmRlZTQyYTY1OAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9wYWdlLWNhY2hlLXBlbmRpbmct
aW1hZ2UtbG9hZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGVzdHMgdGhhdCBhIHBh
Z2Ugd2l0aCBhIGxvYWRpbmcgaW1hZ2UgZ29lcyBpbnRvIHRoZSBwYWdlIGNhY2hlLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworcGFnZXNob3cgLSBub3QgZnJvbSBjYWNoZQorcGFn
ZWhpZGUgLSBlbnRlcmluZyBjYWNoZQorcGFnZXNob3cgLSBmcm9tIGNhY2hlCitQQVNTIFBhZ2Ug
ZGlkIGVudGVyIGFuZCB3YXMgcmVzdG9yZWQgZnJvbSB0aGUgcGFnZSBjYWNoZQorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9wYWdlLWNhY2hlLXBlbmRpbmctaW1hZ2Ut
bG9hZC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3BhZ2UtY2FjaGUt
cGVuZGluZy1pbWFnZS1sb2FkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTIwYjUyNmE1NzA1ZjkxODk3Y2Fh
OTY1Yjg4YzAzYmNkZDQ4OTQwMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvbmF2aWdhdGlvbi9wYWdlLWNhY2hlLXBlbmRpbmctaW1hZ2UtbG9hZC5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8Ym9keT4KKzxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitkZXNjcmlw
dGlvbignVGVzdHMgdGhhdCBhIHBhZ2Ugd2l0aCBhIGxvYWRpbmcgaW1hZ2UgZ29lcyBpbnRvIHRo
ZSBwYWdlIGNhY2hlLicpOword2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworCitpZiAod2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktp
dFVzZXNQYWdlQ2FjaGVQcmVmZXJlbmNlS2V5IiwgMSk7CisKK3dpbmRvdy5hZGRFdmVudExpc3Rl
bmVyKCJwYWdlc2hvdyIsIGZ1bmN0aW9uKGV2ZW50KSB7CisgICAgZGVidWcoInBhZ2VzaG93IC0g
IiArIChldmVudC5wZXJzaXN0ZWQgPyAiIiA6ICJub3QgIikgKyAiZnJvbSBjYWNoZSIpOworCisg
ICAgaWYgKGV2ZW50LnBlcnNpc3RlZCkgeworICAgICAgICB0ZXN0UGFzc2VkKCJQYWdlIGRpZCBl
bnRlciBhbmQgd2FzIHJlc3RvcmVkIGZyb20gdGhlIHBhZ2UgY2FjaGUiKTsKKyAgICAgICAgc2V0
VGltZW91dChmdW5jdGlvbigpIHsKKyAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAg
ICB9LCAwKTsKKyAgICB9Cit9LCBmYWxzZSk7CisKK3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJw
YWdlaGlkZSIsIGZ1bmN0aW9uKGV2ZW50KSB7CisgICAgZGVidWcoInBhZ2VoaWRlIC0gIiArIChl
dmVudC5wZXJzaXN0ZWQgPyAiIiA6ICJub3QgIikgKyAiZW50ZXJpbmcgY2FjaGUiKTsKKyAgICBp
ZiAoIWV2ZW50LnBlcnNpc3RlZCkgeworICAgICAgICB0ZXN0RmFpbGVkKCJQYWdlIGRpZCBub3Qg
ZW50ZXIgdGhlIHBhZ2UgY2FjaGUuIik7CisgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgIH0K
K30sIGZhbHNlKTsKKword2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBmdW5jdGlvbigp
IHsKKyAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeworICAgICAgICAvLyBTbG93IGxvYWRpbmcg
aW1hZ2UuCisgICAgICAgIHZhciBzbG93SW1hZ2UgPSBuZXcgSW1hZ2UoKTsKKyAgICAgICAgc2xv
d0ltYWdlLnNyYyA9ICIvaGlzdG9yeS9yZXNvdXJjZXMvc2xvdy1pbWFnZS5waHAiOworICAgICAg
ICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHNsb3dJbWFnZSk7CisgICAgfSwgMCk7CisKKyAg
ICAvLyBUaGlzIG5lZWRzIHRvIGhhcHBlbiBpbiBhIHNldFRpbWVvdXQgYmVjYXVzZSBhIG5hdmln
YXRpb24gaW5zaWRlIHRoZSBvbmxvYWQgaGFuZGxlciB3b3VsZAorICAgIC8vIG5vdCBjcmVhdGUg
YSBoaXN0b3J5IGVudHJ5LgorICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CisgICAgICAvLyBG
b3JjZSBhIGJhY2sgbmF2aWdhdGlvbiBiYWNrIHRvIHRoaXMgcGFnZS4KKyAgICAgIHdpbmRvdy5s
b2NhdGlvbi5ocmVmID0gInJlc291cmNlcy9wYWdlLWNhY2hlLWhlbHBlci5odG1sIjsKKyAgICB9
LCAwKTsKK30sIGZhbHNlKTsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>