<?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>235710</bug_id>
          
          <creation_ts>2022-01-27 06:19:47 -0800</creation_ts>
          <short_desc>redirectCount returns 0 when using a Service Worker</short_desc>
          <delta_ts>2022-03-16 05:53:46 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Service Workers</component>
          <version>WebKit Local Build</version>
          <rep_platform>Mac (Apple Silicon)</rep_platform>
          <op_sys>macOS 12</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Minor</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Daniel Schulz">daniel.schulz</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>achristensen</cc>
    
    <cc>bfulgham</cc>
    
    <cc>cdumez</cc>
    
    <cc>cgarcia</cc>
    
    <cc>ews-feeder</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1834498</commentid>
    <comment_count>0</comment_count>
      <attachid>450130</attachid>
    <who name="Daniel Schulz">daniel.schulz</who>
    <bug_when>2022-01-27 06:19:47 -0800</bug_when>
    <thetext>Created attachment 450130
All the files referenced in the bug report

The Redirect Counter of the Performance API returns 0 after a redirect, when having a Service Worker installed.
I&apos;ve hosted the code in a test environment and attached everything in a zip as well.
Tested in Safari 15.2 and 15.4TP on MacOS 12.1 on a MacBook Pro M1 2020.


Steps to Reproduce

1)
- Go to https://sw-lifecycle-test.app.baqend.com/v1/code/redirect
- this redirects to https://sw-lifecycle-test.app.baqend.com/redirectTest/redirect.html
- on redirected site, execute in console:
	performance.navigation.redirectCount // returns 1
- This is the expected behaviour

2)
- Go to https://sw-lifecycle-test.app.baqend.com/redirectTest/test.html
- this installs a SW and redirects to https://sw-lifecycle-test.app.baqend.com/redirectTest/redirect.html
- on redirected site, execute in console:
	performance.navigation.redirectCount // returns 0
- This is unexpected behaviour. It should return 1.

3)
Repeat step 1)
- performance.navigation.redirectCount // still returns 1

4)
Uninstall Service Worker, Repeat 1)
- performance.navigation.redirectCount // returns 0 again</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1835441</commentid>
    <comment_count>1</comment_count>
    <who name="Daniel Schulz">daniel.schulz</who>
    <bug_when>2022-01-30 23:25:32 -0800</bug_when>
    <thetext>Amendment: My reported return values of step 3) and 4) are swapped. Sorry for the inconvenience. Is supposed to be:

3)
Repeat step 1)
- performance.navigation.redirectCount // still returns 0

4)
Uninstall Service Worker, Repeat 1)
- performance.navigation.redirectCount // returns 1 again</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1836911</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-02-03 06:20:16 -0800</bug_when>
    <thetext>&lt;rdar://problem/88432190&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1850418</commentid>
    <comment_count>3</comment_count>
      <attachid>454462</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-03-11 02:21:33 -0800</bug_when>
    <thetext>Created attachment 454462
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1850495</commentid>
    <comment_count>4</comment_count>
      <attachid>454480</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-03-11 06:44:02 -0800</bug_when>
    <thetext>Created attachment 454480
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1850510</commentid>
    <comment_count>5</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-03-11 08:35:16 -0800</bug_when>
    <thetext>@kal, gtk is crashing with the following trace:
Thread 1 (Thread 0x7fc96cd06e80 (LWP 322757)):
#0  0x00007fc975f1136b in WTF::Vector&lt;WTF::String, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc&gt;::~Vector() () at /app/webkit/WebKitBuild/Release/lib/libwebkit2gtk-4.1.so.0
#1  0x00007fc975f113db in WebCore::ResourceRequestBase::~ResourceRequestBase() () at /app/webkit/WebKitBuild/Release/lib/libwebkit2gtk-4.1.so.0
#2  0x00007fc9760ce0a6 in WebKit::NetworkLoad::~NetworkLoad() () at /app/webkit/WebKitBuild/Release/lib/libwebkit2gtk-4.1.so.0
#3  0x00007fc9760ce379 in WebKit::NetworkLoad::~NetworkLoad() () at /app/webkit/WebKitBuild/Release/lib/libwebkit2gtk-4.1.so.0
#4  0x00007fc9761a0997 in WebKit::ServiceWorkerNavigationPreloader::didComplete() () at /app/webkit/WebKitBuild/Release/lib/libwebkit2gtk-4.1.so.0
#5  0x00007fc9760cdc8b in WebKit::NetworkLoad::willPerformHTTPRedirection(WebCore::ResourceResponse&amp;&amp;, WebCore::ResourceRequest&amp;&amp;, WTF::CompletionHandler&lt;void (WebCore::ResourceRequest&amp;&amp;)&gt;&amp;&amp;) () at /app/webkit/WebKitBuild/Release/lib/libwebkit2gtk-4.1.so.0
#6  0x00007fc976215857 in WebKit::NetworkDataTaskSoup::continueHTTPRedirection() () at /app/webkit/WebKitBuild/Release/lib/libwebkit2gtk-4.1.so.0

Any idea what might be the issue?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1850808</commentid>
    <comment_count>6</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2022-03-14 02:41:59 -0700</bug_when>
    <thetext>(In reply to youenn fablet from comment #5)
&gt; @kal, gtk is crashing with the following trace:
&gt; Thread 1 (Thread 0x7fc96cd06e80 (LWP 322757)):
&gt; #0  0x00007fc975f1136b in WTF::Vector&lt;WTF::String, 0ul,
&gt; WTF::CrashOnOverflow, 16ul, WTF::FastMalloc&gt;::~Vector() () at
&gt; /app/webkit/WebKitBuild/Release/lib/libwebkit2gtk-4.1.so.0
&gt; #1  0x00007fc975f113db in
&gt; WebCore::ResourceRequestBase::~ResourceRequestBase() () at
&gt; /app/webkit/WebKitBuild/Release/lib/libwebkit2gtk-4.1.so.0
&gt; #2  0x00007fc9760ce0a6 in WebKit::NetworkLoad::~NetworkLoad() () at
&gt; /app/webkit/WebKitBuild/Release/lib/libwebkit2gtk-4.1.so.0
&gt; #3  0x00007fc9760ce379 in WebKit::NetworkLoad::~NetworkLoad() () at
&gt; /app/webkit/WebKitBuild/Release/lib/libwebkit2gtk-4.1.so.0
&gt; #4  0x00007fc9761a0997 in
&gt; WebKit::ServiceWorkerNavigationPreloader::didComplete() () at
&gt; /app/webkit/WebKitBuild/Release/lib/libwebkit2gtk-4.1.so.0
&gt; #5  0x00007fc9760cdc8b in
&gt; WebKit::NetworkLoad::willPerformHTTPRedirection(WebCore::ResourceResponse&amp;&amp;,
&gt; WebCore::ResourceRequest&amp;&amp;, WTF::CompletionHandler&lt;void
&gt; (WebCore::ResourceRequest&amp;&amp;)&gt;&amp;&amp;) () at
&gt; /app/webkit/WebKitBuild/Release/lib/libwebkit2gtk-4.1.so.0
&gt; #6  0x00007fc976215857 in
&gt; WebKit::NetworkDataTaskSoup::continueHTTPRedirection() () at
&gt; /app/webkit/WebKitBuild/Release/lib/libwebkit2gtk-4.1.so.0
&gt; 
&gt; Any idea what might be the issue?

Nope, let me debug it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1850848</commentid>
    <comment_count>7</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2022-03-14 06:32:29 -0700</bug_when>
    <thetext>Making this a security bug, because the problem I found is an UAF that I think it&apos;s in current code, but I&apos;m not sure it can happen without this patch, so feel free to make it public again if there&apos;s not a security problem.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1850854</commentid>
    <comment_count>8</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2022-03-14 06:49:20 -0700</bug_when>
    <thetext>The problem is that NetworkLoad destructor is called twice because ServiceWorkerNavigationPreloader is used after being freed. This is the sequence:

1.- ServiceWorkerFetchTask::loadResponseFromPreloader: starts the preloader load
2.- ServiceWorkerNavigationPreloader::loadFromNetwork: creates a NetworkLoad and starts loading. Redirection happens.
3.- ServiceWorkerNavigationPreloader::willSendRedirectedRequest: didReceiveResponse is called
 3.1.- NetworkResourceLoader processes the response and finishes the load calling NetworkResourceLoader::didFinishWithRedirectResponse
 3.2.- ServiceWorkerFetchTask::~ServiceWorkerFetchTask: calls cancelPreloadIfNecessary and sets m_preloader = nullptr;
 3.3.- ServiceWorkerNavigationPreloader::cancel: this cancels the NetworkLoad
 3.4.- ServiceWorkerNavigationPreloader::~ServiceWorkerNavigationPreloader: this destructor destroys the NetworkLoad.
4.- ServiceWorkerNavigationPreloader::willSendRedirectedRequest: continues and calls didComplete(), but this is already destroyed at this point.
4.- ServiceWorkerNavigationPreloader::didComplete: makes m_networkLoad = nullptr, calling the NetworkLoad destructor again.

So, we need to make WeakPtr before calling didReceiveResponse() in 3. and check it before calling didComplete(). I&apos;ll update the patch to confirm it fixes in the crashes in EWS too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1850857</commentid>
    <comment_count>9</comment_count>
      <attachid>454586</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2022-03-14 06:52:47 -0700</bug_when>
    <thetext>Created attachment 454586
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1850868</commentid>
    <comment_count>10</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-03-14 07:19:56 -0700</bug_when>
    <thetext>(In reply to Carlos Garcia Campos from comment #8)
&gt; The problem is that NetworkLoad destructor is called twice because
&gt; ServiceWorkerNavigationPreloader is used after being freed. This is the
&gt; sequence:
&gt; 
&gt; 1.- ServiceWorkerFetchTask::loadResponseFromPreloader: starts the preloader
&gt; load
&gt; 2.- ServiceWorkerNavigationPreloader::loadFromNetwork: creates a NetworkLoad
&gt; and starts loading. Redirection happens.
&gt; 3.- ServiceWorkerNavigationPreloader::willSendRedirectedRequest:
&gt; didReceiveResponse is called
&gt;  3.1.- NetworkResourceLoader processes the response and finishes the load
&gt; calling NetworkResourceLoader::didFinishWithRedirectResponse
&gt;  3.2.- ServiceWorkerFetchTask::~ServiceWorkerFetchTask: calls
&gt; cancelPreloadIfNecessary and sets m_preloader = nullptr;
&gt;  3.3.- ServiceWorkerNavigationPreloader::cancel: this cancels the NetworkLoad
&gt;  3.4.- ServiceWorkerNavigationPreloader::~ServiceWorkerNavigationPreloader:
&gt; this destructor destroys the NetworkLoad.
&gt; 4.- ServiceWorkerNavigationPreloader::willSendRedirectedRequest: continues
&gt; and calls didComplete(), but this is already destroyed at this point.
&gt; 4.- ServiceWorkerNavigationPreloader::didComplete: makes m_networkLoad =
&gt; nullptr, calling the NetworkLoad destructor again.
&gt; 
&gt; So, we need to make WeakPtr before calling didReceiveResponse() in 3. and
&gt; check it before calling didComplete(). I&apos;ll update the patch to confirm it
&gt; fixes in the crashes in EWS too.

Good catch!
I am not sure the bug can happen in the current code path since all we are doing before the patch when receiving a redirect is to send it to WebProcess.
After the patch, we are going through NetworkResourceLoader which can either send it to WebProcess (no problem) or cancel the load (leading tho this problem).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1850908</commentid>
    <comment_count>11</comment_count>
      <attachid>454586</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-03-14 09:43:12 -0700</bug_when>
    <thetext>Comment on attachment 454586
Patch

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

&gt; Source/WebKit/NetworkProcess/ServiceWorker/ServiceWorkerNavigationPreloader.cpp:160
&gt; +        return;

It might be better to call didComplete inside the didReceiveResponse lambda which would catch the weak pointer.
Will upload this variant.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1850909</commentid>
    <comment_count>12</comment_count>
      <attachid>454599</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-03-14 09:43:51 -0700</bug_when>
    <thetext>Created attachment 454599
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1851284</commentid>
    <comment_count>13</comment_count>
      <attachid>454599</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-03-15 07:19:57 -0700</bug_when>
    <thetext>Comment on attachment 454599
Patch

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

&gt; Source/WebKit/NetworkProcess/NetworkResourceLoader.h:247
&gt; +    enum class IsFromServiceWorker { No, Yes };

: bool

&gt; Source/WebKit/NetworkProcess/NetworkResourceLoader.h:249
&gt; +    std::optional&lt;WebCore::NetworkLoadMetrics&gt; computeResponseMetrics(const WebCore::ResourceResponse&amp;);

Ideally this function would be marked as const.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1851714</commentid>
    <comment_count>14</comment_count>
      <attachid>454815</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-03-16 03:22:40 -0700</bug_when>
    <thetext>Created attachment 454815
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1851756</commentid>
    <comment_count>15</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-03-16 05:53:42 -0700</bug_when>
    <thetext>Committed r291340 (248479@main): &lt;https://commits.webkit.org/248479@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 454815.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>450130</attachid>
            <date>2022-01-27 06:19:47 -0800</date>
            <delta_ts>2022-01-27 06:19:47 -0800</delta_ts>
            <desc>All the files referenced in the bug report</desc>
            <filename>safari-redirects-bugreport.zip</filename>
            <type>application/zip</type>
            <size>2371</size>
            <attacher name="Daniel Schulz">daniel.schulz</attacher>
            
              <data encoding="base64">UEsDBBQAAAAAAHt5O1QAAAAAAAAAAAAAAAAbACAAc2FmYXJpLXJlZGlyZWN0cy1idWdyZXBvcnQv
VVQNAAcqqPJhLKjyYSqo8mF1eAsAAQT1AQAABBQAAABQSwMEFAAIAAgAQng7VAAAAAAAAAAAEAEA
AC0AIABzYWZhcmktcmVkaXJlY3RzLWJ1Z3JlcG9ydC9zZXJ2ZXItcmVkaXJlY3QuanNVVA0AB9yl
8mHdpfJh3KXyYXV4CwABBPUBAAAEFAAAAFVOuw6CMBSd7Vd0AxJoJW4adwdHf6C2F2kCbem9vmL8
d4sR1O08ch5Scmot8ubsNFnveAQM3hnk5BMezoD0xi1RwLWUeK0624C+6w4qSq5QIYijGsAZoX0v
L7XU3oCMYGwETYwpvDv9XTgB5eZYTu3lZxKh4A+2mIhAoB0oAzHP9l6rMZqVPJt7Dyk7E9FS32XF
5id/jZZgbMhXy/rPSU/zJDwZ3IKPhCI94tvx14a9AFBLBwgXFJBysQAAABABAABQSwMEFAAIAAgA
hHk7VAAAAAAAAAAA9gAAAC0AIABzYWZhcmktcmVkaXJlY3RzLWJ1Z3JlcG9ydC9yZWRpcmVjdC1w
YWdlLmh0bWxVVA0ABzio8mE4qPJhOKjyYXV4CwABBPUBAAAEFAAAAD2Ouw6DMBRDZ/iKC3vIWlWB
pY+1qEqHjiG5JUgBUnKlir9veLSTZR/LssgYA2m7AF61CFHtGAgNKAJL5MOR8/BhrnuhnrVDRhio
UN4XjXrjYAo99nxC002oSUb2N4Wl3gFjVSqy8+0kn/UFlij6lTg1tGWOQ16libCoTNRE9EgKtFVT
QCrzh7yyQw58RdSRw+q+z0Md/wq+hXGB7xOiGc289H9FNAvd0thaH3wBUEsHCInlDVKtAAAA9gAA
AFBLAwQUAAgACACDeTtUAAAAAAAAAADWAQAAJAAgAHNhZmFyaS1yZWRpcmVjdHMtYnVncmVwb3J0
L3Rlc3QuaHRtbFVUDQAHN6jyYTeo8mE3qPJhdXgLAAEE9QEAAAQUAAAAjVDBTsMwDD1vX+HlUpBI
Iy4IjXYX4AwSkyaOWeq2GWkSYjM0If6dtBWTuHGy4/f8XvyqlZSw7S1B1B1Crn0gxgY0Q88caa0U
fUpnWzQn41AyEpc6xnKv39E3pQmDStjYhIa3GVMToefBgZSbZbV6eLrfvj4/wjjK7wkxThPVwgd5
IAFO+64WYrNcVD3qJtdFNSBrML1OhFyLD27lrQA1QWzZ4aZScz2TvR6wFg2SSTayDV6ACZ7R5/3f
1Rkb24XXR9tpDqkkTEdrcBfSG6YyYWdzAOmiUGSH6PBld1MeqLiCLyATIq6h+HNwAd+Xd6O4OqtX
ar4jd/vQnEa/kUmWcSTaNuW/AiVTi39nfLxWJjR4thY5gVloMpx9svGU8g9QSwcIH0tF9R8BAADW
AQAAUEsDBBQACAAIAIt5O1QAAAAAAAAAAGIFAAAnACAAc2FmYXJpLXJlZGlyZWN0cy1idWdyZXBv
cnQvc2ltcGxlU1c2LmpzVVQNAAdHqPJhSKjyYUeo8mF1eAsAAQT1AQAABBQAAACtlFFr2zAUhZ/t
X3EHBTmQ2G97yMhgbIY9jMGadXkYgyrydaxGllxJTjBp/vuu7Hpb2mbdxgzG4Ht9z3eOJGcZ+Eo6
KKVCoGdlnMcCuIfK+8bNs8ztZ0qWKDqhcObR+ZQ3Tbrmt6iLVJg6c7JuFC5XL9MbF8cOVZnyosh3
qP0HSdM02oRJ7TxXik2hbLXw0mhIMLRM4BBHWQbLrWwIBYHtufRSbxj8kIWm4g6n4A1sDBTSovCq
g9KaGsbJWLBQZ5yG7zh5IKkgALLs59Noi8Dpdl4qBY3FnTStA6kFt5oHJAemHOJwaHdSIOyN3aIF
ixtyYvsm6BUwjaOePw24V5pmJr11Rz5Wg4NkMnkVH+k+F8rIej6Vt4rLGrjuQChJ7wm3rrGQ9JHq
puAM4dJahdwaviHeYG2N0OqCsJcrEEZ7axQVfGVaT06U4QXBneO/16EnKT/roEQvKsIfqRevAziJ
OqMwVWaTsPxL/vHznNGQqDQWklAkYsodflqNZAmJ7xqkBejffvXfYLFYABuDYXB3B092mPUN7Qc2
zAnalH2LJBcd4+iE5fri4I9zuDiMA47XAev4gHj2x1fv6uTby/zTVb78nd/U4m1Lx+hp32P1ef+P
Ov81h18G/f883udv3uWXyyGPE7m0Qk6b1KWUUs5FlSQ7rlo65Vvsxo30kJpKPXffeQ/7SPLvcON+
CV6corVWpfRfUG2BLmGZMAVmbDIkO3a6xuhiRccq6Q9Bcrq4Q44B7jtQSwcIy/ZzijQCAABiBQAA
UEsBAhQDFAAAAAAAe3k7VAAAAAAAAAAAAAAAABsAIAAAAAAAAAAAAO1BAAAAAHNhZmFyaS1yZWRp
cmVjdHMtYnVncmVwb3J0L1VUDQAHKqjyYSyo8mEqqPJhdXgLAAEE9QEAAAQUAAAAUEsBAhQDFAAI
AAgAQng7VBcUkHKxAAAAEAEAAC0AIAAAAAAAAAAAAKSBWQAAAHNhZmFyaS1yZWRpcmVjdHMtYnVn
cmVwb3J0L3NlcnZlci1yZWRpcmVjdC5qc1VUDQAH3KXyYd2l8mHcpfJhdXgLAAEE9QEAAAQUAAAA
UEsBAhQDFAAIAAgAhHk7VInlDVKtAAAA9gAAAC0AIAAAAAAAAAAAAKSBhQEAAHNhZmFyaS1yZWRp
cmVjdHMtYnVncmVwb3J0L3JlZGlyZWN0LXBhZ2UuaHRtbFVUDQAHOKjyYTio8mE4qPJhdXgLAAEE
9QEAAAQUAAAAUEsBAhQDFAAIAAgAg3k7VB9LRfUfAQAA1gEAACQAIAAAAAAAAAAAAKSBrQIAAHNh
ZmFyaS1yZWRpcmVjdHMtYnVncmVwb3J0L3Rlc3QuaHRtbFVUDQAHN6jyYTeo8mE3qPJhdXgLAAEE
9QEAAAQUAAAAUEsBAhQDFAAIAAgAi3k7VMv2c4o0AgAAYgUAACcAIAAAAAAAAAAAAKSBPgQAAHNh
ZmFyaS1yZWRpcmVjdHMtYnVncmVwb3J0L3NpbXBsZVNXNi5qc1VUDQAHR6jyYUio8mFHqPJhdXgL
AAEE9QEAAAQUAAAAUEsFBgAAAAAFAAUARgIAAOcGAAAAAA==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>454462</attachid>
            <date>2022-03-11 02:21:33 -0800</date>
            <delta_ts>2022-03-11 06:43:57 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235710-20220311112131.patch</filename>
            <type>text/plain</type>
            <size>16018</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkxMDkwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGRhMTQ3MzE2MjVjNzllNDg3
YWJkZGY4M2UwNjM3ZWM1YjY1Y2Q1ZDMuLmEzODIzOTc1ZmVlNTQzYTdkMzBlNTA1YmY5ZjJlYTYx
ODRjMjM3MWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMjItMDMtMTAgIFlvdWVubiBG
YWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIHJlZGlyZWN0Q291bnQgcmV0dXJu
cyAwIHdoZW4gdXNpbmcgYSBTZXJ2aWNlIFdvcmtlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM1NzEwCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84
ODQzMjE5MD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBQYXNzIGFuIG9wdGlvbmFsIE5ldHdvcmtMb2FkTWV0cmljcyB3aGVuIHNlbmRpbmcgdGhlIHJl
c3BvbnNlIHRvIHdlYiBwcm9jZXNzLgorICAgICAgICBJbmNsdWRlIHRoZSByZWRpcmVjdENvdW50
IHZhbHVlIGNvbXB1dGVkIGJ5IE5ldHdvcmtSZXNvdXJjZUxvYWRlci4KKyAgICAgICAgTWFrZSBz
ZXJ2aWNlIHdvcmtlciByZWRpcmVjdGlvbnMgZ28gdGhyb3VnaCBOZXR3b3JrUmVzb3VyY2VMb2Fk
ZXIgdG8gc2V0IHRoZSByZWRpcmVjdENvdW50IHZhbHVlIGFuZCBmb3IgY29ycmVjdG5lc3MuCisK
KyAgICAgICAgQ292ZXJlZCBieSB1cGRhdGVkIHRlc3QuCisKKyAgICAgICAgKiBOZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNz
L1NlcnZpY2VXb3JrZXIvU2VydmljZVdvcmtlckZldGNoVGFzay5jcHA6CisgICAgICAgIChXZWJL
aXQ6OlNlcnZpY2VXb3JrZXJGZXRjaFRhc2s6OnByb2Nlc3NSZWRpcmVjdFJlc3BvbnNlKToKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5oOgorICAgICAgICAqIFdl
YlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5tZXNzYWdlcy5pbjoKKwogMjAyMi0w
My0xMCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgRG8gY2Fw
dHVyZSB2aWRlbyBmcmFtZSBkb3duc2FtcGxpbmcgaW4gR1BVUHJvY2VzcwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwIGIv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCmlu
ZGV4IGQ0ODRkY2I2OTRiN2I0YWRjMThjNmExZWQ1YTAwZjg1ZGVkZmNjMjIuLjZiMTNkYTdiZTA4
MGI3Y2QxN2FlOWI1OTExZDNjODlmNzJmYjg0MjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKQEAgLTU1OSw2ICs1
NTksMTkgQEAgdm9pZCBOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OmFib3J0KCkKICAgICBjbGVhbnVw
KExvYWRSZXN1bHQ6OkNhbmNlbCk7CiB9CiAKK3N0ZDo6b3B0aW9uYWw8TmV0d29ya0xvYWRNZXRy
aWNzPiBOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OmNvbXB1dGVSZXNwb25zZU1ldHJpY3MoY29uc3Qg
UmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UpCit7CisgICAgaWYgKHBhcmFtZXRlcnMoKS5vcHRp
b25zLm1vZGUgIT0gRmV0Y2hPcHRpb25zOjpNb2RlOjpOYXZpZ2F0ZSkKKyAgICAgICAgcmV0dXJu
IHsgfTsKKworICAgIE5ldHdvcmtMb2FkTWV0cmljcyBuZXR3b3JrTG9hZE1ldHJpY3M7CisgICAg
aWYgKGF1dG8qIG1ldHJpY3MgPSByZXNwb25zZS5kZXByZWNhdGVkTmV0d29ya0xvYWRNZXRyaWNz
T3JOdWxsKCkpCisgICAgICAgIG5ldHdvcmtMb2FkTWV0cmljcyA9ICptZXRyaWNzOworICAgIG5l
dHdvcmtMb2FkTWV0cmljcy5yZWRpcmVjdENvdW50ID0gbV9yZWRpcmVjdENvdW50OworCisgICAg
cmV0dXJuIG5ldHdvcmtMb2FkTWV0cmljczsKK30KKwogdm9pZCBOZXR3b3JrUmVzb3VyY2VMb2Fk
ZXI6OnRyYW5zZmVyVG9OZXdXZWJQcm9jZXNzKE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNz
JiBuZXdDb25uZWN0aW9uLCBXZWJDb3JlOjpSZXNvdXJjZUxvYWRlcklkZW50aWZpZXIgbmV3Q29y
ZUlkZW50aWZpZXIpCiB7CiAgICAgbV9jb25uZWN0aW9uID0gbmV3Q29ubmVjdGlvbjsKQEAgLTU3
MCw3ICs1ODMsNyBAQCB2b2lkIE5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6dHJhbnNmZXJUb05ld1dl
YlByb2Nlc3MoTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2NlcwogICAgIEFTU0VSVChtX3Jlc3Bv
bnNlQ29tcGxldGlvbkhhbmRsZXIgfHwgbV9jYWNoZUVudHJ5V2FpdGluZ0ZvckNvbnRpbnVlRGlk
UmVjZWl2ZVJlc3BvbnNlKTsKICNlbmRpZgogICAgIGJvb2wgd2lsbFdhaXRGb3JDb250aW51ZURp
ZFJlY2VpdmVSZXNwb25zZSA9IHRydWU7Ci0gICAgc2VuZChNZXNzYWdlczo6V2ViUmVzb3VyY2VM
b2FkZXI6OkRpZFJlY2VpdmVSZXNwb25zZSB7IG1fcmVzcG9uc2UsIG1fcHJpdmF0ZVJlbGF5ZWQs
IHdpbGxXYWl0Rm9yQ29udGludWVEaWRSZWNlaXZlUmVzcG9uc2UgfSk7CisgICAgc2VuZChNZXNz
YWdlczo6V2ViUmVzb3VyY2VMb2FkZXI6OkRpZFJlY2VpdmVSZXNwb25zZSB7IG1fcmVzcG9uc2Us
IG1fcHJpdmF0ZVJlbGF5ZWQsIHdpbGxXYWl0Rm9yQ29udGludWVEaWRSZWNlaXZlUmVzcG9uc2Us
IGNvbXB1dGVSZXNwb25zZU1ldHJpY3MobV9yZXNwb25zZSkgfSk7CiB9CiAKIGJvb2wgTmV0d29y
a1Jlc291cmNlTG9hZGVyOjpzaG91bGRJbnRlcnJ1cHRMb2FkRm9yWEZyYW1lT3B0aW9ucyhjb25z
dCBTdHJpbmcmIHhGcmFtZU9wdGlvbnMsIGNvbnN0IFVSTCYgdXJsKQpAQCAtODU3LDcgKzg3MCw3
IEBAIHZvaWQgTmV0d29ya1Jlc291cmNlTG9hZGVyOjpzZW5kRGlkUmVjZWl2ZVJlc3BvbnNlUG90
ZW50aWFsbHlJbk5ld0Jyb3dzaW5nQ29udGV4CiB7CiAgICAgYXV0byBicm93c2luZ0NvbnRleHRH
cm91cFN3aXRjaERlY2lzaW9uID0gdG9Ccm93c2luZ0NvbnRleHRHcm91cFN3aXRjaERlY2lzaW9u
KG1fY3VycmVudENvb3BFbmZvcmNlbWVudFJlc3VsdCk7CiAgICAgaWYgKGJyb3dzaW5nQ29udGV4
dEdyb3VwU3dpdGNoRGVjaXNpb24gPT0gQnJvd3NpbmdDb250ZXh0R3JvdXBTd2l0Y2hEZWNpc2lv
bjo6U3RheUluR3JvdXApIHsKLSAgICAgICAgc2VuZChNZXNzYWdlczo6V2ViUmVzb3VyY2VMb2Fk
ZXI6OkRpZFJlY2VpdmVSZXNwb25zZSB7IHJlc3BvbnNlLCBwcml2YXRlUmVsYXllZCwgbmVlZHND
b250aW51ZURpZFJlY2VpdmVSZXNwb25zZU1lc3NhZ2UgfSk7CisgICAgICAgIHNlbmQoTWVzc2Fn
ZXM6OldlYlJlc291cmNlTG9hZGVyOjpEaWRSZWNlaXZlUmVzcG9uc2UgeyByZXNwb25zZSwgcHJp
dmF0ZVJlbGF5ZWQsIG5lZWRzQ29udGludWVEaWRSZWNlaXZlUmVzcG9uc2VNZXNzYWdlLCBjb21w
dXRlUmVzcG9uc2VNZXRyaWNzKHJlc3BvbnNlKSB9KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0K
IApAQCAtMTAyMCw2ICsxMDMzLDE2IEBAIHN0ZDo6b3B0aW9uYWw8U2Vjb25kcz4gTmV0d29ya1Jl
c291cmNlTG9hZGVyOjp2YWxpZGF0ZUNhY2hlRW50cnlGb3JNYXhBZ2VDYXBWYWxpCiB9CiAKIHZv
aWQgTmV0d29ya1Jlc291cmNlTG9hZGVyOjp3aWxsU2VuZFJlZGlyZWN0ZWRSZXF1ZXN0KFJlc291
cmNlUmVxdWVzdCYmIHJlcXVlc3QsIFJlc291cmNlUmVxdWVzdCYmIHJlZGlyZWN0UmVxdWVzdCwg
UmVzb3VyY2VSZXNwb25zZSYmIHJlZGlyZWN0UmVzcG9uc2UpCit7CisgICAgd2lsbFNlbmRSZWRp
cmVjdGVkUmVxdWVzdEludGVybmFsKFdURk1vdmUocmVxdWVzdCksIFdURk1vdmUocmVkaXJlY3RS
ZXF1ZXN0KSwgV1RGTW92ZShyZWRpcmVjdFJlc3BvbnNlKSwgSXNGcm9tU2VydmljZVdvcmtlcjo6
Tm8pOworfQorCit2b2lkIE5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6d2lsbFNlbmRTZXJ2aWNlV29y
a2VyUmVkaXJlY3RlZFJlcXVlc3QoUmVzb3VyY2VSZXF1ZXN0JiYgcmVxdWVzdCwgUmVzb3VyY2VS
ZXF1ZXN0JiYgcmVkaXJlY3RSZXF1ZXN0LCBSZXNvdXJjZVJlc3BvbnNlJiYgcmVkaXJlY3RSZXNw
b25zZSkKK3sKKyAgICB3aWxsU2VuZFJlZGlyZWN0ZWRSZXF1ZXN0SW50ZXJuYWwoV1RGTW92ZShy
ZXF1ZXN0KSwgV1RGTW92ZShyZWRpcmVjdFJlcXVlc3QpLCBXVEZNb3ZlKHJlZGlyZWN0UmVzcG9u
c2UpLCBJc0Zyb21TZXJ2aWNlV29ya2VyOjpZZXMpOworfQorCit2b2lkIE5ldHdvcmtSZXNvdXJj
ZUxvYWRlcjo6d2lsbFNlbmRSZWRpcmVjdGVkUmVxdWVzdEludGVybmFsKFJlc291cmNlUmVxdWVz
dCYmIHJlcXVlc3QsIFJlc291cmNlUmVxdWVzdCYmIHJlZGlyZWN0UmVxdWVzdCwgUmVzb3VyY2VS
ZXNwb25zZSYmIHJlZGlyZWN0UmVzcG9uc2UsIElzRnJvbVNlcnZpY2VXb3JrZXIgaXNGcm9tU2Vy
dmljZVdvcmtlcikKIHsKICAgICBMT0FERVJfUkVMRUFTRV9MT0coIndpbGxTZW5kUmVkaXJlY3Rl
ZFJlcXVlc3Q6Iik7CiAgICAgKyttX3JlZGlyZWN0Q291bnQ7CkBAIC0xMDQyLDkgKzEwNjUsMTEg
QEAgdm9pZCBOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OndpbGxTZW5kUmVkaXJlY3RlZFJlcXVlc3Qo
UmVzb3VyY2VSZXF1ZXN0JiYgcmVxdWVzdCwKICAgICAgICAgICAgIGFkZENvbnNvbGVNZXNzYWdl
KE1lc3NhZ2VTb3VyY2U6OlByaXZhdGVDbGlja01lYXN1cmVtZW50LCBNZXNzYWdlTGV2ZWw6OkVy
cm9yLCByZXN1bHQuZXJyb3IoKSk7CiAgICAgfQogCi0gICAgYXV0byBtYXhBZ2VDYXAgPSB2YWxp
ZGF0ZUNhY2hlRW50cnlGb3JNYXhBZ2VDYXBWYWxpZGF0aW9uKHJlcXVlc3QsIHJlZGlyZWN0UmVx
dWVzdCwgcmVkaXJlY3RSZXNwb25zZSk7Ci0gICAgaWYgKHJlZGlyZWN0UmVzcG9uc2Uuc291cmNl
KCkgPT0gUmVzb3VyY2VSZXNwb25zZTo6U291cmNlOjpOZXR3b3JrICYmIGNhblVzZUNhY2hlZFJl
ZGlyZWN0KHJlcXVlc3QpKQotICAgICAgICBtX2NhY2hlLT5zdG9yZVJlZGlyZWN0KHJlcXVlc3Qs
IHJlZGlyZWN0UmVzcG9uc2UsIHJlZGlyZWN0UmVxdWVzdCwgbWF4QWdlQ2FwKTsKKyAgICBpZiAo
aXNGcm9tU2VydmljZVdvcmtlciA9PSBJc0Zyb21TZXJ2aWNlV29ya2VyOjpObykgeworICAgICAg
ICBhdXRvIG1heEFnZUNhcCA9IHZhbGlkYXRlQ2FjaGVFbnRyeUZvck1heEFnZUNhcFZhbGlkYXRp
b24ocmVxdWVzdCwgcmVkaXJlY3RSZXF1ZXN0LCByZWRpcmVjdFJlc3BvbnNlKTsKKyAgICAgICAg
aWYgKHJlZGlyZWN0UmVzcG9uc2Uuc291cmNlKCkgPT0gUmVzb3VyY2VSZXNwb25zZTo6U291cmNl
OjpOZXR3b3JrICYmIGNhblVzZUNhY2hlZFJlZGlyZWN0KHJlcXVlc3QpKQorICAgICAgICAgICAg
bV9jYWNoZS0+c3RvcmVSZWRpcmVjdChyZXF1ZXN0LCByZWRpcmVjdFJlc3BvbnNlLCByZWRpcmVj
dFJlcXVlc3QsIG1heEFnZUNhcCk7CisgICAgfQogCiAgICAgaWYgKGlzTWFpblJlc291cmNlKCkg
JiYgc2hvdWxkSW50ZXJydXB0TmF2aWdhdGlvbkZvckNyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3ko
cmVkaXJlY3RSZXNwb25zZSkpIHsKICAgICAgICAgdGhpcy0+ZGlkRmFpbExvYWRpbmcoUmVzb3Vy
Y2VFcnJvciB7IGVycm9yRG9tYWluV2ViS2l0SW50ZXJuYWwsIDAsIHJlZGlyZWN0UmVxdWVzdC51
cmwoKSwgIlJlZGlyZWN0aW9uIHdhcyBibG9ja2VkIGJ5IENyb3NzLU9yaWdpbi1FbWJlZGRlci1Q
b2xpY3kiX3MsIFJlc291cmNlRXJyb3I6OlR5cGU6OkFjY2Vzc0NvbnRyb2wgfSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5o
IGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuaApp
bmRleCA1Mjg2ZjNjMDk2YzAxNjgxMzc5MzgzZjc3MTUxZDI4NWZlMmQ1ODk3Li4xNTE3YjhlYTkw
MTY2NDUyNmUwMWU5MGZiZGZjMzBmMzZmYTM0YjljIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmgKQEAgLTE2NSw2ICsxNjUs
OCBAQCBwdWJsaWM6CiAgICAgdm9pZCBkZXJlZigpIGNvbnN0IGZpbmFsIHsgUmVmQ291bnRlZDxO
ZXR3b3JrUmVzb3VyY2VMb2FkZXI+OjpkZXJlZigpOyB9CiAjZW5kaWYKIAorICAgIHZvaWQgd2ls
bFNlbmRTZXJ2aWNlV29ya2VyUmVkaXJlY3RlZFJlcXVlc3QoV2ViQ29yZTo6UmVzb3VyY2VSZXF1
ZXN0JiYsIFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYmIHJlZGlyZWN0UmVxdWVzdCwgV2ViQ29y
ZTo6UmVzb3VyY2VSZXNwb25zZSYmKTsKKwogcHJpdmF0ZToKICAgICBOZXR3b3JrUmVzb3VyY2VM
b2FkZXIoTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMmJiwgTmV0d29ya0Nvbm5lY3Rpb25U
b1dlYlByb2Nlc3MmLCBNZXNzYWdlczo6TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OlBl
cmZvcm1TeW5jaHJvbm91c0xvYWREZWxheWVkUmVwbHkmJik7CiAKQEAgLTI0Miw2ICsyNDQsMTAg
QEAgcHJpdmF0ZToKICAgICB2b2lkIHN0YXJ0Q29udGVudEZpbHRlcmluZyhXZWJDb3JlOjpSZXNv
dXJjZVJlcXVlc3QmKTsKICNlbmRpZgogCisgICAgZW51bSBjbGFzcyBJc0Zyb21TZXJ2aWNlV29y
a2VyIHsgTm8sIFllcyB9OworICAgIHZvaWQgd2lsbFNlbmRSZWRpcmVjdGVkUmVxdWVzdEludGVy
bmFsKFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYmLCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3Qm
JiByZWRpcmVjdFJlcXVlc3QsIFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmJiwgSXNGcm9tU2Vy
dmljZVdvcmtlcik7CisgICAgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpOZXR3b3JrTG9hZE1ldHJp
Y3M+IGNvbXB1dGVSZXNwb25zZU1ldHJpY3MoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25z
ZSYpOworCiAgICAgY29uc3QgTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMgbV9wYXJhbWV0
ZXJzOwogCiAgICAgUmVmPE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzPiBtX2Nvbm5lY3Rp
b247CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3Jr
ZXIvU2VydmljZVdvcmtlckZldGNoVGFzay5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL1NlcnZpY2VXb3JrZXIvU2VydmljZVdvcmtlckZldGNoVGFzay5jcHAKaW5kZXggZDM4NmIy
YTUzYTdmNjQxY2QwZGQ0Y2M0ZjhkODIyYjI1YjM2OWZhMC4uYzdhZWFkNjEzYzNiY2JiOTNiNmM2
MDBjNTEyZWI0N2MyZTQ4MzQ5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9TZXJ2aWNlV29ya2VyL1NlcnZpY2VXb3JrZXJGZXRjaFRhc2suY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9TZXJ2aWNlV29ya2VyRmV0Y2hU
YXNrLmNwcApAQCAtMTgzLDcgKzE4Myw3IEBAIHZvaWQgU2VydmljZVdvcmtlckZldGNoVGFzazo6
cHJvY2Vzc1JlZGlyZWN0UmVzcG9uc2UoUmVzb3VyY2VSZXNwb25zZSYmIHJlc3BvbnNlCiAgICAg
ICAgIHJlc3BvbnNlLnNldFNvdXJjZShSZXNvdXJjZVJlc3BvbnNlOjpTb3VyY2U6OlNlcnZpY2VX
b3JrZXIpOwogICAgIGF1dG8gbmV3UmVxdWVzdCA9IG1fY3VycmVudFJlcXVlc3QucmVkaXJlY3Rl
ZFJlcXVlc3QocmVzcG9uc2UsIG1fbG9hZGVyLnBhcmFtZXRlcnMoKS5zaG91bGRDbGVhclJlZmVy
cmVyT25IVFRQU1RvSFRUUFJlZGlyZWN0KTsKIAotICAgIHNlbmRUb0NsaWVudChNZXNzYWdlczo6
V2ViUmVzb3VyY2VMb2FkZXI6OldpbGxTZW5kUmVxdWVzdCB7IG5ld1JlcXVlc3QsIElQQzo6Rm9y
bURhdGFSZWZlcmVuY2UgeyBuZXdSZXF1ZXN0Lmh0dHBCb2R5KCkgfSwgcmVzcG9uc2UgfSk7Cisg
ICAgbV9sb2FkZXIud2lsbFNlbmRTZXJ2aWNlV29ya2VyUmVkaXJlY3RlZFJlcXVlc3QoUmVzb3Vy
Y2VSZXF1ZXN0KG1fY3VycmVudFJlcXVlc3QpLCBXVEZNb3ZlKG5ld1JlcXVlc3QpLCBXVEZNb3Zl
KHJlc3BvbnNlKSk7CiB9CiAKIHZvaWQgU2VydmljZVdvcmtlckZldGNoVGFzazo6ZGlkUmVjZWl2
ZVJlc3BvbnNlKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmJiByZXNwb25zZSwgYm9vbCBuZWVk
c0NvbnRpbnVlRGlkUmVjZWl2ZVJlc3BvbnNlTWVzc2FnZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmNwcAppbmRleCA3MGY4
MTBmZmI3ZjFkNWNkNTY0NzQwMDA4YTgxYjY5Y2MxMTUzZWIwLi45OTA0OWRlMDI0YjEyMGI1N2Ni
ZGFjNTMxNTAyZTE5M2E3MmYyYWM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuY3BwCkBAIC0xNDksMTMgKzE0OSwxNiBA
QCB2b2lkIFdlYlJlc291cmNlTG9hZGVyOjpkaWRTZW5kRGF0YSh1aW50NjRfdCBieXRlc1NlbnQs
IHVpbnQ2NF90IHRvdGFsQnl0ZXNUb0JlUwogICAgIG1fY29yZUxvYWRlci0+ZGlkU2VuZERhdGEo
Ynl0ZXNTZW50LCB0b3RhbEJ5dGVzVG9CZVNlbnQpOwogfQogCi12b2lkIFdlYlJlc291cmNlTG9h
ZGVyOjpkaWRSZWNlaXZlUmVzcG9uc2UoY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2Us
IFByaXZhdGVSZWxheWVkIHByaXZhdGVSZWxheWVkLCBib29sIG5lZWRzQ29udGludWVEaWRSZWNl
aXZlUmVzcG9uc2VNZXNzYWdlKQordm9pZCBXZWJSZXNvdXJjZUxvYWRlcjo6ZGlkUmVjZWl2ZVJl
c3BvbnNlKFJlc291cmNlUmVzcG9uc2UmJiByZXNwb25zZSwgUHJpdmF0ZVJlbGF5ZWQgcHJpdmF0
ZVJlbGF5ZWQsIGJvb2wgbmVlZHNDb250aW51ZURpZFJlY2VpdmVSZXNwb25zZU1lc3NhZ2UsIHN0
ZDo6b3B0aW9uYWw8TmV0d29ya0xvYWRNZXRyaWNzPiYmIG1ldHJpY3MpCiB7CiAgICAgTE9HKE5l
dHdvcmssICIoV2ViUHJvY2VzcykgV2ViUmVzb3VyY2VMb2FkZXI6OmRpZFJlY2VpdmVSZXNwb25z
ZSBmb3IgJyVzJy4gU3RhdHVzICVkLiIsIG1fY29yZUxvYWRlci0+dXJsKCkuc3RyaW5nKCkubGF0
aW4xKCkuZGF0YSgpLCByZXNwb25zZS5odHRwU3RhdHVzQ29kZSgpKTsKICAgICBXRUJSRVNPVVJD
RUxPQURFUl9SRUxFQVNFX0xPRygiZGlkUmVjZWl2ZVJlc3BvbnNlOiAoaHR0cFN0YXR1c0NvZGU9
JWQpIiwgcmVzcG9uc2UuaHR0cFN0YXR1c0NvZGUoKSk7CiAKICAgICBSZWY8V2ViUmVzb3VyY2VM
b2FkZXI+IHByb3RlY3RlZFRoaXMoKnRoaXMpOwogCisgICAgaWYgKG1ldHJpY3MpCisgICAgICAg
IHJlc3BvbnNlLnNldERlcHJlY2F0ZWROZXR3b3JrTG9hZE1ldHJpY3MoQm94PE5ldHdvcmtMb2Fk
TWV0cmljcz46OmNyZWF0ZShXVEZNb3ZlKCptZXRyaWNzKSkpOworCiAgICAgaWYgKHByaXZhdGVS
ZWxheWVkID09IFByaXZhdGVSZWxheWVkOjpZZXMgJiYgbWFpbkZyYW1lTWFpblJlc291cmNlKCkg
PT0gTWFpbkZyYW1lTWFpblJlc291cmNlOjpZZXMpCiAgICAgICAgIFdlYlByb2Nlc3M6OnNpbmds
ZXRvbigpLnNldEhhZE1haW5GcmFtZU1haW5SZXNvdXJjZVByaXZhdGVSZWxheWVkKCk7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9h
ZGVyLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRl
ci5oCmluZGV4IDg4OWQ3ZmY4NDE2YmZhYjE5MWZhODZmM2VlMmU3OGU4OWJkMmFkZDYuLmM2YzE0
MjJlZmZkNjgzNmY1NjJhMGRiMDU4ODdkY2YwMTJmNWRjZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmgKKysrIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuaApAQCAtODUsNyAr
ODUsNyBAQCBwcml2YXRlOgogCiAgICAgdm9pZCB3aWxsU2VuZFJlcXVlc3QoV2ViQ29yZTo6UmVz
b3VyY2VSZXF1ZXN0JiYsIElQQzo6Rm9ybURhdGFSZWZlcmVuY2UmJiByZXF1ZXN0Qm9keSwgV2Vi
Q29yZTo6UmVzb3VyY2VSZXNwb25zZSYmKTsKICAgICB2b2lkIGRpZFNlbmREYXRhKHVpbnQ2NF90
IGJ5dGVzU2VudCwgdWludDY0X3QgdG90YWxCeXRlc1RvQmVTZW50KTsKLSAgICB2b2lkIGRpZFJl
Y2VpdmVSZXNwb25zZShjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJiwgUHJpdmF0ZVJl
bGF5ZWQsIGJvb2wgbmVlZHNDb250aW51ZURpZFJlY2VpdmVSZXNwb25zZU1lc3NhZ2UpOworICAg
IHZvaWQgZGlkUmVjZWl2ZVJlc3BvbnNlKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmJiwgUHJp
dmF0ZVJlbGF5ZWQsIGJvb2wgbmVlZHNDb250aW51ZURpZFJlY2VpdmVSZXNwb25zZU1lc3NhZ2Us
IHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6TmV0d29ya0xvYWRNZXRyaWNzPiYmKTsKICAgICB2b2lk
IGRpZFJlY2VpdmVEYXRhKGNvbnN0IElQQzo6U2hhcmVkQnVmZmVyQ29weSYgZGF0YSwgaW50NjRf
dCBlbmNvZGVkRGF0YUxlbmd0aCk7CiAgICAgdm9pZCBkaWRGaW5pc2hSZXNvdXJjZUxvYWQoY29u
c3QgV2ViQ29yZTo6TmV0d29ya0xvYWRNZXRyaWNzJik7CiAgICAgdm9pZCBkaWRGYWlsUmVzb3Vy
Y2VMb2FkKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlRXJyb3ImKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLm1lc3NhZ2VzLmlu
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIubWVz
c2FnZXMuaW4KaW5kZXggNmMxYmI1YjZmYmNjMmIzMjEzOTBhNmU4Y2RjMjc0MWU2MDZiODk5Yi4u
ZWFlMDU1NDMwMGE3YWQwMDkzOTU0MjE0YjkwNjVmMmIwYjg5MmRjOSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIubWVzc2FnZXMu
aW4KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2Fk
ZXIubWVzc2FnZXMuaW4KQEAgLTIzLDcgKzIzLDcgQEAKIG1lc3NhZ2VzIC0+IFdlYlJlc291cmNl
TG9hZGVyIExlZ2FjeVJlY2VpdmVyIHsKICAgICBXaWxsU2VuZFJlcXVlc3QoV2ViQ29yZTo6UmVz
b3VyY2VSZXF1ZXN0IHJlcXVlc3QsIElQQzo6Rm9ybURhdGFSZWZlcmVuY2UgcmVxdWVzdEJvZHks
IFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UgcmVkaXJlY3RSZXNwb25zZSkKICAgICBEaWRTZW5k
RGF0YSh1aW50NjRfdCBieXRlc1NlbnQsIHVpbnQ2NF90IHRvdGFsQnl0ZXNUb0JlU2VudCkKLSAg
ICBEaWRSZWNlaXZlUmVzcG9uc2UoV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSByZXNwb25zZSwg
ZW51bTpib29sIFdlYktpdDo6UHJpdmF0ZVJlbGF5ZWQgcHJpdmF0ZVJlbGF5ZWQsIGJvb2wgbmVl
ZHNDb250aW51ZURpZFJlY2VpdmVSZXNwb25zZU1lc3NhZ2UpCisgICAgRGlkUmVjZWl2ZVJlc3Bv
bnNlKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UgcmVzcG9uc2UsIGVudW06Ym9vbCBXZWJLaXQ6
OlByaXZhdGVSZWxheWVkIHByaXZhdGVSZWxheWVkLCBib29sIG5lZWRzQ29udGludWVEaWRSZWNl
aXZlUmVzcG9uc2VNZXNzYWdlLCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6Ok5ldHdvcmtMb2FkTWV0
cmljcz4gb3B0aW9uYWxOZXR3b3JrTG9hZE1ldHJpY3MpCiAgICAgRGlkUmVjZWl2ZURhdGEoSVBD
OjpTaGFyZWRCdWZmZXJDb3B5IGRhdGEsIGludDY0X3QgZW5jb2RlZERhdGFMZW5ndGgpCiAgICAg
RGlkRmluaXNoUmVzb3VyY2VMb2FkKFdlYkNvcmU6Ok5ldHdvcmtMb2FkTWV0cmljcyBuZXR3b3Jr
TG9hZE1ldHJpY3MpCiAgICAgRGlkRmFpbFJlc291cmNlTG9hZChXZWJDb3JlOjpSZXNvdXJjZUVy
cm9yIGVycm9yKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCmluZGV4IDk1MGY5YzI3OTJjZGQ1OTA1YTIxYTQ2Njk2MzIzYzgzZmQxOTE5
OTguLjdmNTYwZTgxOTI4ZjgyNzVlOGRkZTUzM2Y0MzE3YzY1YmQ2M2ViMjUgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMyBAQAorMjAyMi0wMy0xMCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+
CisKKyAgICAgICAgcmVkaXJlY3RDb3VudCByZXR1cm5zIDAgd2hlbiB1c2luZyBhIFNlcnZpY2Ug
V29ya2VyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MzU3MTAKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzg4NDMyMTkwPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogaHR0cC93cHQvc2VydmljZS13b3Jr
ZXJzL25hdmlnYXRpb24tcmVkaXJlY3QtbWFpbi1mcmFtZS5odHRwcy5odG1sOgorCiAyMDIyLTAz
LTEwICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBEbyBjYXB0
dXJlIHZpZGVvIGZyYW1lIGRvd25zYW1wbGluZyBpbiBHUFVQcm9jZXNzCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL0NoYW5nZUxvZwppbmRleCAwNjlmNDc0ZWMxMWNmYWMyOTYwMDc3NTUxZjQ3MzM4MmQ0MWQy
ZWViLi42MDJiNWYwYmFiYzk3MDZiNjY0ZjU5YWZjMWNmZjEzNWZmMmM1Y2VhIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAyMi0wMy0xMSAgWW91ZW5u
IEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgcmVkaXJlY3RDb3VudCByZXR1
cm5zIDAgd2hlbiB1c2luZyBhIFNlcnZpY2UgV29ya2VyCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzU3MTAKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
Lzg4NDMyMTkwPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9u
YXZpZ2F0aW9uLXByZWxvYWQvcmVzb3VyY2UtdGltaW5nLmh0dHBzLWV4cGVjdGVkLnR4dDoKKwog
MjAyMi0wMy0wOSAgQW50b2luZSBRdWludCAgPGdyYW91dHNAd2Via2l0Lm9yZz4KIAogICAgICAg
ICBbd2ViLWFuaW1hdGlvbnNdIGNvdW50ZXItaW5jcmVtZW50IHNob3VsZCBzdXBwb3J0IGRpc2Ny
ZXRlIGFuaW1hdGlvbgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvc2VydmljZS13
b3JrZXJzL25hdmlnYXRpb24tcmVkaXJlY3QtbWFpbi1mcmFtZS5odHRwcy5odG1sIGIvTGF5b3V0
VGVzdHMvaHR0cC93cHQvc2VydmljZS13b3JrZXJzL25hdmlnYXRpb24tcmVkaXJlY3QtbWFpbi1m
cmFtZS5odHRwcy5odG1sCmluZGV4IDIwOWY4YmYyZGNiNWQyNjY1MGNiZTYzNzU2ODg4NmVhODdj
YmNkOTQuLmQ5NzQyYWU2ODFjNzE0MjA4NTA2YjlkN2MwYWUxMzljYjNhNTBmZDEgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9uYXZpZ2F0aW9uLXJlZGly
ZWN0LW1haW4tZnJhbWUuaHR0cHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9zZXJ2
aWNlLXdvcmtlcnMvbmF2aWdhdGlvbi1yZWRpcmVjdC1tYWluLWZyYW1lLmh0dHBzLmh0bWwKQEAg
LTcsMTQgKzcsMTkgQEAKIGFzeW5jIGZ1bmN0aW9uIGRvVGVzdCgpCiB7CiAgICAgaWYgKHdpbmRv
dy5sb2NhdGlvbi5oYXNoID09PSAiI3JlZGlyZWN0ZWQiKSB7Ci0gICAgICAgIGlmICh3aW5kb3cu
dGVzdFJ1bm5lcikKLSAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuaW5uZXJIVE1MID0gdGVzdFJ1
bm5lci5kaWRSZWNlaXZlU2VydmVyUmVkaXJlY3RGb3JQcm92aXNpb25hbE5hdmlnYXRpb24gPyAi
UEFTUyIgOiAiRkFJTCI7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIGRvY3VtZW50LmJvZHku
aW5uZXJIVE1MID0gIlBBU1MiOwotICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAg
ICAgICAgbGV0IHN0YXR1cyA9ICJQQVNTIjsKKyAgICAgICAgaWYgKHdpbmRvdy5wZXJmb3JtYW5j
ZS5uYXZpZ2F0aW9uLnJlZGlyZWN0Q291bnQgIT09IDEpCisgICAgICAgICAgICAgICAgIHN0YXR1
cyA9ICJGQUlMOiByZWRpcmVjdENvdW50IGlzICIgKyB3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdh
dGlvbi5yZWRpcmVjdENvdW50OworICAgICAgICBlbHNlIGlmICh3aW5kb3cudGVzdFJ1bm5lcikg
eworICAgICAgICAgICAgIGlmICghdGVzdFJ1bm5lci5kaWRSZWNlaXZlU2VydmVyUmVkaXJlY3RG
b3JQcm92aXNpb25hbE5hdmlnYXRpb24pCisgICAgICAgICAgICAgICAgIHN0YXR1cyA9ICJGQUlM
OiBubyBzZXJ2ZXIgcmVkaXJlY3QgZm9yIHByb3Zpc2lvbmFsIG5hdmlnYXRpb24gIjsKICAgICAg
ICAgICAgIHRlc3RSdW5uZXIuY2xlYXJEaWRSZWNlaXZlU2VydmVyUmVkaXJlY3RGb3JQcm92aXNp
b25hbE5hdmlnYXRpb24oKTsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwog
ICAgICAgICB9CisKKyAgICAgICAgZG9jdW1lbnQuYm9keS5pbm5lckhUTUwgPSBzdGF0dXM7CisK
KyAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICAgICAgdGVzdFJ1bm5lci5u
b3RpZnlEb25lKCk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAgICAgdmFyIHJlZ2lzdHJhdGlv
biA9IGF3YWl0IG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLnJlZ2lzdGVyKCJuYXZpZ2F0aW9uLXJl
ZGlyZWN0LW1haW4tZnJhbWUtd29ya2VyLmpzIiwgeyBzY29wZSA6ICJyZXNvdXJjZXMiIH0pOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
ZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvbmF2aWdhdGlvbi1wcmVsb2FkL3Jlc291cmNl
LXRpbWluZy5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9uYXZpZ2F0aW9u
LXByZWxvYWQvcmVzb3VyY2UtdGltaW5nLmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCA4MTIxMmUw
MTA5M2U2ZGQ4ODYxMjRhMTE5MTYxZWE4MjU4ZWYyYWY5Li5lMjk3YTk2MGVhN2E2Yjk0OGExOGY2
NDM5YzU1M2JmMDA5ODEyOTU3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9uYXZpZ2F0
aW9uLXByZWxvYWQvcmVzb3VyY2UtdGltaW5nLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9z
ZXJ2aWNlLXdvcmtlci9uYXZpZ2F0aW9uLXByZWxvYWQvcmVzb3VyY2UtdGltaW5nLmh0dHBzLWV4
cGVjdGVkLnR4dApAQCAtMSw0ICsxLDMgQEAKIAotCi1GQUlMIE5hdmlnYXRpb24gUHJlbG9hZCBS
ZXNvdXJjZSBUaW1pbmcuIGFzc2VydF9ncmVhdGVyX3RoYW46IHRyYW5zZmVyU2l6ZSBtdXN0IGdy
ZWF0ZXIgdGhlbiBlbmNvZGVkQm9keVNpemUuIGV4cGVjdGVkIGEgbnVtYmVyIGdyZWF0ZXIgdGhh
biAwIGJ1dCBnb3QgMAorUEFTUyBOYXZpZ2F0aW9uIFByZWxvYWQgUmVzb3VyY2UgVGltaW5nLgog
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>454480</attachid>
            <date>2022-03-11 06:44:02 -0800</date>
            <delta_ts>2022-03-14 06:52:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235710-20220311154400.patch</filename>
            <type>text/plain</type>
            <size>17372</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkxMTUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDBkYTBhMzQyNGY4NWVlMDk0
MDUyMTUxN2ZmOGY5MWFhN2E2YzQ4MDcuLjg2ZjViY2NmMGI2NjYzN2FlZTIxOWM1ZTBlM2Y4OGUy
MDcyNmJkZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMjItMDMtMTEgIFlvdWVubiBG
YWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIHJlZGlyZWN0Q291bnQgcmV0dXJu
cyAwIHdoZW4gdXNpbmcgYSBTZXJ2aWNlIFdvcmtlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM1NzEwCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84
ODQzMjE5MD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBQYXNzIGFuIG9wdGlvbmFsIE5ldHdvcmtMb2FkTWV0cmljcyB3aGVuIHNlbmRpbmcgdGhlIHJl
c3BvbnNlIHRvIHdlYiBwcm9jZXNzLgorICAgICAgICBJbmNsdWRlIHRoZSByZWRpcmVjdENvdW50
IHZhbHVlIGNvbXB1dGVkIGJ5IE5ldHdvcmtSZXNvdXJjZUxvYWRlci4KKyAgICAgICAgTWFrZSBz
ZXJ2aWNlIHdvcmtlciByZWRpcmVjdGlvbnMgZ28gdGhyb3VnaCBOZXR3b3JrUmVzb3VyY2VMb2Fk
ZXIgdG8gc2V0IHRoZSByZWRpcmVjdENvdW50IHZhbHVlIGFuZCBmb3IgY29ycmVjdG5lc3MuCisK
KyAgICAgICAgQ292ZXJlZCBieSB1cGRhdGVkIHRlc3QuCisKKyAgICAgICAgKiBOZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNz
L1NlcnZpY2VXb3JrZXIvU2VydmljZVdvcmtlckZldGNoVGFzay5jcHA6CisgICAgICAgIChXZWJL
aXQ6OlNlcnZpY2VXb3JrZXJGZXRjaFRhc2s6OnByb2Nlc3NSZWRpcmVjdFJlc3BvbnNlKToKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5oOgorICAgICAgICAqIFdl
YlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5tZXNzYWdlcy5pbjoKKwogMjAyMi0w
My0xMSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgRG8gY2Fw
dHVyZSB2aWRlbyBmcmFtZSBkb3duc2FtcGxpbmcgaW4gR1BVUHJvY2VzcwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwIGIv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCmlu
ZGV4IGQ0ODRkY2I2OTRiN2I0YWRjMThjNmExZWQ1YTAwZjg1ZGVkZmNjMjIuLjZiMTNkYTdiZTA4
MGI3Y2QxN2FlOWI1OTExZDNjODlmNzJmYjg0MjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKQEAgLTU1OSw2ICs1
NTksMTkgQEAgdm9pZCBOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OmFib3J0KCkKICAgICBjbGVhbnVw
KExvYWRSZXN1bHQ6OkNhbmNlbCk7CiB9CiAKK3N0ZDo6b3B0aW9uYWw8TmV0d29ya0xvYWRNZXRy
aWNzPiBOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OmNvbXB1dGVSZXNwb25zZU1ldHJpY3MoY29uc3Qg
UmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UpCit7CisgICAgaWYgKHBhcmFtZXRlcnMoKS5vcHRp
b25zLm1vZGUgIT0gRmV0Y2hPcHRpb25zOjpNb2RlOjpOYXZpZ2F0ZSkKKyAgICAgICAgcmV0dXJu
IHsgfTsKKworICAgIE5ldHdvcmtMb2FkTWV0cmljcyBuZXR3b3JrTG9hZE1ldHJpY3M7CisgICAg
aWYgKGF1dG8qIG1ldHJpY3MgPSByZXNwb25zZS5kZXByZWNhdGVkTmV0d29ya0xvYWRNZXRyaWNz
T3JOdWxsKCkpCisgICAgICAgIG5ldHdvcmtMb2FkTWV0cmljcyA9ICptZXRyaWNzOworICAgIG5l
dHdvcmtMb2FkTWV0cmljcy5yZWRpcmVjdENvdW50ID0gbV9yZWRpcmVjdENvdW50OworCisgICAg
cmV0dXJuIG5ldHdvcmtMb2FkTWV0cmljczsKK30KKwogdm9pZCBOZXR3b3JrUmVzb3VyY2VMb2Fk
ZXI6OnRyYW5zZmVyVG9OZXdXZWJQcm9jZXNzKE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNz
JiBuZXdDb25uZWN0aW9uLCBXZWJDb3JlOjpSZXNvdXJjZUxvYWRlcklkZW50aWZpZXIgbmV3Q29y
ZUlkZW50aWZpZXIpCiB7CiAgICAgbV9jb25uZWN0aW9uID0gbmV3Q29ubmVjdGlvbjsKQEAgLTU3
MCw3ICs1ODMsNyBAQCB2b2lkIE5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6dHJhbnNmZXJUb05ld1dl
YlByb2Nlc3MoTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2NlcwogICAgIEFTU0VSVChtX3Jlc3Bv
bnNlQ29tcGxldGlvbkhhbmRsZXIgfHwgbV9jYWNoZUVudHJ5V2FpdGluZ0ZvckNvbnRpbnVlRGlk
UmVjZWl2ZVJlc3BvbnNlKTsKICNlbmRpZgogICAgIGJvb2wgd2lsbFdhaXRGb3JDb250aW51ZURp
ZFJlY2VpdmVSZXNwb25zZSA9IHRydWU7Ci0gICAgc2VuZChNZXNzYWdlczo6V2ViUmVzb3VyY2VM
b2FkZXI6OkRpZFJlY2VpdmVSZXNwb25zZSB7IG1fcmVzcG9uc2UsIG1fcHJpdmF0ZVJlbGF5ZWQs
IHdpbGxXYWl0Rm9yQ29udGludWVEaWRSZWNlaXZlUmVzcG9uc2UgfSk7CisgICAgc2VuZChNZXNz
YWdlczo6V2ViUmVzb3VyY2VMb2FkZXI6OkRpZFJlY2VpdmVSZXNwb25zZSB7IG1fcmVzcG9uc2Us
IG1fcHJpdmF0ZVJlbGF5ZWQsIHdpbGxXYWl0Rm9yQ29udGludWVEaWRSZWNlaXZlUmVzcG9uc2Us
IGNvbXB1dGVSZXNwb25zZU1ldHJpY3MobV9yZXNwb25zZSkgfSk7CiB9CiAKIGJvb2wgTmV0d29y
a1Jlc291cmNlTG9hZGVyOjpzaG91bGRJbnRlcnJ1cHRMb2FkRm9yWEZyYW1lT3B0aW9ucyhjb25z
dCBTdHJpbmcmIHhGcmFtZU9wdGlvbnMsIGNvbnN0IFVSTCYgdXJsKQpAQCAtODU3LDcgKzg3MCw3
IEBAIHZvaWQgTmV0d29ya1Jlc291cmNlTG9hZGVyOjpzZW5kRGlkUmVjZWl2ZVJlc3BvbnNlUG90
ZW50aWFsbHlJbk5ld0Jyb3dzaW5nQ29udGV4CiB7CiAgICAgYXV0byBicm93c2luZ0NvbnRleHRH
cm91cFN3aXRjaERlY2lzaW9uID0gdG9Ccm93c2luZ0NvbnRleHRHcm91cFN3aXRjaERlY2lzaW9u
KG1fY3VycmVudENvb3BFbmZvcmNlbWVudFJlc3VsdCk7CiAgICAgaWYgKGJyb3dzaW5nQ29udGV4
dEdyb3VwU3dpdGNoRGVjaXNpb24gPT0gQnJvd3NpbmdDb250ZXh0R3JvdXBTd2l0Y2hEZWNpc2lv
bjo6U3RheUluR3JvdXApIHsKLSAgICAgICAgc2VuZChNZXNzYWdlczo6V2ViUmVzb3VyY2VMb2Fk
ZXI6OkRpZFJlY2VpdmVSZXNwb25zZSB7IHJlc3BvbnNlLCBwcml2YXRlUmVsYXllZCwgbmVlZHND
b250aW51ZURpZFJlY2VpdmVSZXNwb25zZU1lc3NhZ2UgfSk7CisgICAgICAgIHNlbmQoTWVzc2Fn
ZXM6OldlYlJlc291cmNlTG9hZGVyOjpEaWRSZWNlaXZlUmVzcG9uc2UgeyByZXNwb25zZSwgcHJp
dmF0ZVJlbGF5ZWQsIG5lZWRzQ29udGludWVEaWRSZWNlaXZlUmVzcG9uc2VNZXNzYWdlLCBjb21w
dXRlUmVzcG9uc2VNZXRyaWNzKHJlc3BvbnNlKSB9KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0K
IApAQCAtMTAyMCw2ICsxMDMzLDE2IEBAIHN0ZDo6b3B0aW9uYWw8U2Vjb25kcz4gTmV0d29ya1Jl
c291cmNlTG9hZGVyOjp2YWxpZGF0ZUNhY2hlRW50cnlGb3JNYXhBZ2VDYXBWYWxpCiB9CiAKIHZv
aWQgTmV0d29ya1Jlc291cmNlTG9hZGVyOjp3aWxsU2VuZFJlZGlyZWN0ZWRSZXF1ZXN0KFJlc291
cmNlUmVxdWVzdCYmIHJlcXVlc3QsIFJlc291cmNlUmVxdWVzdCYmIHJlZGlyZWN0UmVxdWVzdCwg
UmVzb3VyY2VSZXNwb25zZSYmIHJlZGlyZWN0UmVzcG9uc2UpCit7CisgICAgd2lsbFNlbmRSZWRp
cmVjdGVkUmVxdWVzdEludGVybmFsKFdURk1vdmUocmVxdWVzdCksIFdURk1vdmUocmVkaXJlY3RS
ZXF1ZXN0KSwgV1RGTW92ZShyZWRpcmVjdFJlc3BvbnNlKSwgSXNGcm9tU2VydmljZVdvcmtlcjo6
Tm8pOworfQorCit2b2lkIE5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6d2lsbFNlbmRTZXJ2aWNlV29y
a2VyUmVkaXJlY3RlZFJlcXVlc3QoUmVzb3VyY2VSZXF1ZXN0JiYgcmVxdWVzdCwgUmVzb3VyY2VS
ZXF1ZXN0JiYgcmVkaXJlY3RSZXF1ZXN0LCBSZXNvdXJjZVJlc3BvbnNlJiYgcmVkaXJlY3RSZXNw
b25zZSkKK3sKKyAgICB3aWxsU2VuZFJlZGlyZWN0ZWRSZXF1ZXN0SW50ZXJuYWwoV1RGTW92ZShy
ZXF1ZXN0KSwgV1RGTW92ZShyZWRpcmVjdFJlcXVlc3QpLCBXVEZNb3ZlKHJlZGlyZWN0UmVzcG9u
c2UpLCBJc0Zyb21TZXJ2aWNlV29ya2VyOjpZZXMpOworfQorCit2b2lkIE5ldHdvcmtSZXNvdXJj
ZUxvYWRlcjo6d2lsbFNlbmRSZWRpcmVjdGVkUmVxdWVzdEludGVybmFsKFJlc291cmNlUmVxdWVz
dCYmIHJlcXVlc3QsIFJlc291cmNlUmVxdWVzdCYmIHJlZGlyZWN0UmVxdWVzdCwgUmVzb3VyY2VS
ZXNwb25zZSYmIHJlZGlyZWN0UmVzcG9uc2UsIElzRnJvbVNlcnZpY2VXb3JrZXIgaXNGcm9tU2Vy
dmljZVdvcmtlcikKIHsKICAgICBMT0FERVJfUkVMRUFTRV9MT0coIndpbGxTZW5kUmVkaXJlY3Rl
ZFJlcXVlc3Q6Iik7CiAgICAgKyttX3JlZGlyZWN0Q291bnQ7CkBAIC0xMDQyLDkgKzEwNjUsMTEg
QEAgdm9pZCBOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OndpbGxTZW5kUmVkaXJlY3RlZFJlcXVlc3Qo
UmVzb3VyY2VSZXF1ZXN0JiYgcmVxdWVzdCwKICAgICAgICAgICAgIGFkZENvbnNvbGVNZXNzYWdl
KE1lc3NhZ2VTb3VyY2U6OlByaXZhdGVDbGlja01lYXN1cmVtZW50LCBNZXNzYWdlTGV2ZWw6OkVy
cm9yLCByZXN1bHQuZXJyb3IoKSk7CiAgICAgfQogCi0gICAgYXV0byBtYXhBZ2VDYXAgPSB2YWxp
ZGF0ZUNhY2hlRW50cnlGb3JNYXhBZ2VDYXBWYWxpZGF0aW9uKHJlcXVlc3QsIHJlZGlyZWN0UmVx
dWVzdCwgcmVkaXJlY3RSZXNwb25zZSk7Ci0gICAgaWYgKHJlZGlyZWN0UmVzcG9uc2Uuc291cmNl
KCkgPT0gUmVzb3VyY2VSZXNwb25zZTo6U291cmNlOjpOZXR3b3JrICYmIGNhblVzZUNhY2hlZFJl
ZGlyZWN0KHJlcXVlc3QpKQotICAgICAgICBtX2NhY2hlLT5zdG9yZVJlZGlyZWN0KHJlcXVlc3Qs
IHJlZGlyZWN0UmVzcG9uc2UsIHJlZGlyZWN0UmVxdWVzdCwgbWF4QWdlQ2FwKTsKKyAgICBpZiAo
aXNGcm9tU2VydmljZVdvcmtlciA9PSBJc0Zyb21TZXJ2aWNlV29ya2VyOjpObykgeworICAgICAg
ICBhdXRvIG1heEFnZUNhcCA9IHZhbGlkYXRlQ2FjaGVFbnRyeUZvck1heEFnZUNhcFZhbGlkYXRp
b24ocmVxdWVzdCwgcmVkaXJlY3RSZXF1ZXN0LCByZWRpcmVjdFJlc3BvbnNlKTsKKyAgICAgICAg
aWYgKHJlZGlyZWN0UmVzcG9uc2Uuc291cmNlKCkgPT0gUmVzb3VyY2VSZXNwb25zZTo6U291cmNl
OjpOZXR3b3JrICYmIGNhblVzZUNhY2hlZFJlZGlyZWN0KHJlcXVlc3QpKQorICAgICAgICAgICAg
bV9jYWNoZS0+c3RvcmVSZWRpcmVjdChyZXF1ZXN0LCByZWRpcmVjdFJlc3BvbnNlLCByZWRpcmVj
dFJlcXVlc3QsIG1heEFnZUNhcCk7CisgICAgfQogCiAgICAgaWYgKGlzTWFpblJlc291cmNlKCkg
JiYgc2hvdWxkSW50ZXJydXB0TmF2aWdhdGlvbkZvckNyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3ko
cmVkaXJlY3RSZXNwb25zZSkpIHsKICAgICAgICAgdGhpcy0+ZGlkRmFpbExvYWRpbmcoUmVzb3Vy
Y2VFcnJvciB7IGVycm9yRG9tYWluV2ViS2l0SW50ZXJuYWwsIDAsIHJlZGlyZWN0UmVxdWVzdC51
cmwoKSwgIlJlZGlyZWN0aW9uIHdhcyBibG9ja2VkIGJ5IENyb3NzLU9yaWdpbi1FbWJlZGRlci1Q
b2xpY3kiX3MsIFJlc291cmNlRXJyb3I6OlR5cGU6OkFjY2Vzc0NvbnRyb2wgfSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5o
IGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuaApp
bmRleCA1Mjg2ZjNjMDk2YzAxNjgxMzc5MzgzZjc3MTUxZDI4NWZlMmQ1ODk3Li4xNTE3YjhlYTkw
MTY2NDUyNmUwMWU5MGZiZGZjMzBmMzZmYTM0YjljIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmgKQEAgLTE2NSw2ICsxNjUs
OCBAQCBwdWJsaWM6CiAgICAgdm9pZCBkZXJlZigpIGNvbnN0IGZpbmFsIHsgUmVmQ291bnRlZDxO
ZXR3b3JrUmVzb3VyY2VMb2FkZXI+OjpkZXJlZigpOyB9CiAjZW5kaWYKIAorICAgIHZvaWQgd2ls
bFNlbmRTZXJ2aWNlV29ya2VyUmVkaXJlY3RlZFJlcXVlc3QoV2ViQ29yZTo6UmVzb3VyY2VSZXF1
ZXN0JiYsIFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYmIHJlZGlyZWN0UmVxdWVzdCwgV2ViQ29y
ZTo6UmVzb3VyY2VSZXNwb25zZSYmKTsKKwogcHJpdmF0ZToKICAgICBOZXR3b3JrUmVzb3VyY2VM
b2FkZXIoTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMmJiwgTmV0d29ya0Nvbm5lY3Rpb25U
b1dlYlByb2Nlc3MmLCBNZXNzYWdlczo6TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OlBl
cmZvcm1TeW5jaHJvbm91c0xvYWREZWxheWVkUmVwbHkmJik7CiAKQEAgLTI0Miw2ICsyNDQsMTAg
QEAgcHJpdmF0ZToKICAgICB2b2lkIHN0YXJ0Q29udGVudEZpbHRlcmluZyhXZWJDb3JlOjpSZXNv
dXJjZVJlcXVlc3QmKTsKICNlbmRpZgogCisgICAgZW51bSBjbGFzcyBJc0Zyb21TZXJ2aWNlV29y
a2VyIHsgTm8sIFllcyB9OworICAgIHZvaWQgd2lsbFNlbmRSZWRpcmVjdGVkUmVxdWVzdEludGVy
bmFsKFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYmLCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3Qm
JiByZWRpcmVjdFJlcXVlc3QsIFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmJiwgSXNGcm9tU2Vy
dmljZVdvcmtlcik7CisgICAgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpOZXR3b3JrTG9hZE1ldHJp
Y3M+IGNvbXB1dGVSZXNwb25zZU1ldHJpY3MoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25z
ZSYpOworCiAgICAgY29uc3QgTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMgbV9wYXJhbWV0
ZXJzOwogCiAgICAgUmVmPE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzPiBtX2Nvbm5lY3Rp
b247CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3Jr
ZXIvU2VydmljZVdvcmtlckZldGNoVGFzay5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL1NlcnZpY2VXb3JrZXIvU2VydmljZVdvcmtlckZldGNoVGFzay5jcHAKaW5kZXggZDM4NmIy
YTUzYTdmNjQxY2QwZGQ0Y2M0ZjhkODIyYjI1YjM2OWZhMC4uYzdhZWFkNjEzYzNiY2JiOTNiNmM2
MDBjNTEyZWI0N2MyZTQ4MzQ5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9TZXJ2aWNlV29ya2VyL1NlcnZpY2VXb3JrZXJGZXRjaFRhc2suY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9TZXJ2aWNlV29ya2VyRmV0Y2hU
YXNrLmNwcApAQCAtMTgzLDcgKzE4Myw3IEBAIHZvaWQgU2VydmljZVdvcmtlckZldGNoVGFzazo6
cHJvY2Vzc1JlZGlyZWN0UmVzcG9uc2UoUmVzb3VyY2VSZXNwb25zZSYmIHJlc3BvbnNlCiAgICAg
ICAgIHJlc3BvbnNlLnNldFNvdXJjZShSZXNvdXJjZVJlc3BvbnNlOjpTb3VyY2U6OlNlcnZpY2VX
b3JrZXIpOwogICAgIGF1dG8gbmV3UmVxdWVzdCA9IG1fY3VycmVudFJlcXVlc3QucmVkaXJlY3Rl
ZFJlcXVlc3QocmVzcG9uc2UsIG1fbG9hZGVyLnBhcmFtZXRlcnMoKS5zaG91bGRDbGVhclJlZmVy
cmVyT25IVFRQU1RvSFRUUFJlZGlyZWN0KTsKIAotICAgIHNlbmRUb0NsaWVudChNZXNzYWdlczo6
V2ViUmVzb3VyY2VMb2FkZXI6OldpbGxTZW5kUmVxdWVzdCB7IG5ld1JlcXVlc3QsIElQQzo6Rm9y
bURhdGFSZWZlcmVuY2UgeyBuZXdSZXF1ZXN0Lmh0dHBCb2R5KCkgfSwgcmVzcG9uc2UgfSk7Cisg
ICAgbV9sb2FkZXIud2lsbFNlbmRTZXJ2aWNlV29ya2VyUmVkaXJlY3RlZFJlcXVlc3QoUmVzb3Vy
Y2VSZXF1ZXN0KG1fY3VycmVudFJlcXVlc3QpLCBXVEZNb3ZlKG5ld1JlcXVlc3QpLCBXVEZNb3Zl
KHJlc3BvbnNlKSk7CiB9CiAKIHZvaWQgU2VydmljZVdvcmtlckZldGNoVGFzazo6ZGlkUmVjZWl2
ZVJlc3BvbnNlKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmJiByZXNwb25zZSwgYm9vbCBuZWVk
c0NvbnRpbnVlRGlkUmVjZWl2ZVJlc3BvbnNlTWVzc2FnZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmNwcAppbmRleCA3MGY4
MTBmZmI3ZjFkNWNkNTY0NzQwMDA4YTgxYjY5Y2MxMTUzZWIwLi45OTA0OWRlMDI0YjEyMGI1N2Ni
ZGFjNTMxNTAyZTE5M2E3MmYyYWM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuY3BwCkBAIC0xNDksMTMgKzE0OSwxNiBA
QCB2b2lkIFdlYlJlc291cmNlTG9hZGVyOjpkaWRTZW5kRGF0YSh1aW50NjRfdCBieXRlc1NlbnQs
IHVpbnQ2NF90IHRvdGFsQnl0ZXNUb0JlUwogICAgIG1fY29yZUxvYWRlci0+ZGlkU2VuZERhdGEo
Ynl0ZXNTZW50LCB0b3RhbEJ5dGVzVG9CZVNlbnQpOwogfQogCi12b2lkIFdlYlJlc291cmNlTG9h
ZGVyOjpkaWRSZWNlaXZlUmVzcG9uc2UoY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2Us
IFByaXZhdGVSZWxheWVkIHByaXZhdGVSZWxheWVkLCBib29sIG5lZWRzQ29udGludWVEaWRSZWNl
aXZlUmVzcG9uc2VNZXNzYWdlKQordm9pZCBXZWJSZXNvdXJjZUxvYWRlcjo6ZGlkUmVjZWl2ZVJl
c3BvbnNlKFJlc291cmNlUmVzcG9uc2UmJiByZXNwb25zZSwgUHJpdmF0ZVJlbGF5ZWQgcHJpdmF0
ZVJlbGF5ZWQsIGJvb2wgbmVlZHNDb250aW51ZURpZFJlY2VpdmVSZXNwb25zZU1lc3NhZ2UsIHN0
ZDo6b3B0aW9uYWw8TmV0d29ya0xvYWRNZXRyaWNzPiYmIG1ldHJpY3MpCiB7CiAgICAgTE9HKE5l
dHdvcmssICIoV2ViUHJvY2VzcykgV2ViUmVzb3VyY2VMb2FkZXI6OmRpZFJlY2VpdmVSZXNwb25z
ZSBmb3IgJyVzJy4gU3RhdHVzICVkLiIsIG1fY29yZUxvYWRlci0+dXJsKCkuc3RyaW5nKCkubGF0
aW4xKCkuZGF0YSgpLCByZXNwb25zZS5odHRwU3RhdHVzQ29kZSgpKTsKICAgICBXRUJSRVNPVVJD
RUxPQURFUl9SRUxFQVNFX0xPRygiZGlkUmVjZWl2ZVJlc3BvbnNlOiAoaHR0cFN0YXR1c0NvZGU9
JWQpIiwgcmVzcG9uc2UuaHR0cFN0YXR1c0NvZGUoKSk7CiAKICAgICBSZWY8V2ViUmVzb3VyY2VM
b2FkZXI+IHByb3RlY3RlZFRoaXMoKnRoaXMpOwogCisgICAgaWYgKG1ldHJpY3MpCisgICAgICAg
IHJlc3BvbnNlLnNldERlcHJlY2F0ZWROZXR3b3JrTG9hZE1ldHJpY3MoQm94PE5ldHdvcmtMb2Fk
TWV0cmljcz46OmNyZWF0ZShXVEZNb3ZlKCptZXRyaWNzKSkpOworCiAgICAgaWYgKHByaXZhdGVS
ZWxheWVkID09IFByaXZhdGVSZWxheWVkOjpZZXMgJiYgbWFpbkZyYW1lTWFpblJlc291cmNlKCkg
PT0gTWFpbkZyYW1lTWFpblJlc291cmNlOjpZZXMpCiAgICAgICAgIFdlYlByb2Nlc3M6OnNpbmds
ZXRvbigpLnNldEhhZE1haW5GcmFtZU1haW5SZXNvdXJjZVByaXZhdGVSZWxheWVkKCk7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9h
ZGVyLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRl
ci5oCmluZGV4IDg4OWQ3ZmY4NDE2YmZhYjE5MWZhODZmM2VlMmU3OGU4OWJkMmFkZDYuLmM2YzE0
MjJlZmZkNjgzNmY1NjJhMGRiMDU4ODdkY2YwMTJmNWRjZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmgKKysrIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuaApAQCAtODUsNyAr
ODUsNyBAQCBwcml2YXRlOgogCiAgICAgdm9pZCB3aWxsU2VuZFJlcXVlc3QoV2ViQ29yZTo6UmVz
b3VyY2VSZXF1ZXN0JiYsIElQQzo6Rm9ybURhdGFSZWZlcmVuY2UmJiByZXF1ZXN0Qm9keSwgV2Vi
Q29yZTo6UmVzb3VyY2VSZXNwb25zZSYmKTsKICAgICB2b2lkIGRpZFNlbmREYXRhKHVpbnQ2NF90
IGJ5dGVzU2VudCwgdWludDY0X3QgdG90YWxCeXRlc1RvQmVTZW50KTsKLSAgICB2b2lkIGRpZFJl
Y2VpdmVSZXNwb25zZShjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJiwgUHJpdmF0ZVJl
bGF5ZWQsIGJvb2wgbmVlZHNDb250aW51ZURpZFJlY2VpdmVSZXNwb25zZU1lc3NhZ2UpOworICAg
IHZvaWQgZGlkUmVjZWl2ZVJlc3BvbnNlKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmJiwgUHJp
dmF0ZVJlbGF5ZWQsIGJvb2wgbmVlZHNDb250aW51ZURpZFJlY2VpdmVSZXNwb25zZU1lc3NhZ2Us
IHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6TmV0d29ya0xvYWRNZXRyaWNzPiYmKTsKICAgICB2b2lk
IGRpZFJlY2VpdmVEYXRhKGNvbnN0IElQQzo6U2hhcmVkQnVmZmVyQ29weSYgZGF0YSwgaW50NjRf
dCBlbmNvZGVkRGF0YUxlbmd0aCk7CiAgICAgdm9pZCBkaWRGaW5pc2hSZXNvdXJjZUxvYWQoY29u
c3QgV2ViQ29yZTo6TmV0d29ya0xvYWRNZXRyaWNzJik7CiAgICAgdm9pZCBkaWRGYWlsUmVzb3Vy
Y2VMb2FkKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlRXJyb3ImKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLm1lc3NhZ2VzLmlu
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIubWVz
c2FnZXMuaW4KaW5kZXggNmMxYmI1YjZmYmNjMmIzMjEzOTBhNmU4Y2RjMjc0MWU2MDZiODk5Yi4u
ZWFlMDU1NDMwMGE3YWQwMDkzOTU0MjE0YjkwNjVmMmIwYjg5MmRjOSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIubWVzc2FnZXMu
aW4KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2Fk
ZXIubWVzc2FnZXMuaW4KQEAgLTIzLDcgKzIzLDcgQEAKIG1lc3NhZ2VzIC0+IFdlYlJlc291cmNl
TG9hZGVyIExlZ2FjeVJlY2VpdmVyIHsKICAgICBXaWxsU2VuZFJlcXVlc3QoV2ViQ29yZTo6UmVz
b3VyY2VSZXF1ZXN0IHJlcXVlc3QsIElQQzo6Rm9ybURhdGFSZWZlcmVuY2UgcmVxdWVzdEJvZHks
IFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UgcmVkaXJlY3RSZXNwb25zZSkKICAgICBEaWRTZW5k
RGF0YSh1aW50NjRfdCBieXRlc1NlbnQsIHVpbnQ2NF90IHRvdGFsQnl0ZXNUb0JlU2VudCkKLSAg
ICBEaWRSZWNlaXZlUmVzcG9uc2UoV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSByZXNwb25zZSwg
ZW51bTpib29sIFdlYktpdDo6UHJpdmF0ZVJlbGF5ZWQgcHJpdmF0ZVJlbGF5ZWQsIGJvb2wgbmVl
ZHNDb250aW51ZURpZFJlY2VpdmVSZXNwb25zZU1lc3NhZ2UpCisgICAgRGlkUmVjZWl2ZVJlc3Bv
bnNlKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UgcmVzcG9uc2UsIGVudW06Ym9vbCBXZWJLaXQ6
OlByaXZhdGVSZWxheWVkIHByaXZhdGVSZWxheWVkLCBib29sIG5lZWRzQ29udGludWVEaWRSZWNl
aXZlUmVzcG9uc2VNZXNzYWdlLCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6Ok5ldHdvcmtMb2FkTWV0
cmljcz4gb3B0aW9uYWxOZXR3b3JrTG9hZE1ldHJpY3MpCiAgICAgRGlkUmVjZWl2ZURhdGEoSVBD
OjpTaGFyZWRCdWZmZXJDb3B5IGRhdGEsIGludDY0X3QgZW5jb2RlZERhdGFMZW5ndGgpCiAgICAg
RGlkRmluaXNoUmVzb3VyY2VMb2FkKFdlYkNvcmU6Ok5ldHdvcmtMb2FkTWV0cmljcyBuZXR3b3Jr
TG9hZE1ldHJpY3MpCiAgICAgRGlkRmFpbFJlc291cmNlTG9hZChXZWJDb3JlOjpSZXNvdXJjZUVy
cm9yIGVycm9yKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCmluZGV4IDk1YmQ1YzFiOWNiMzkwMTBlMTViNWM2NmZmOTk5Mjg5YmNkNDM1
NTUuLjM3NmEwODM0YmE0M2IwODFkMTRiM2QyZjYxZjBiZjVkOGQwMTQ2NDkgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMyBAQAorMjAyMi0wMy0xMSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+
CisKKyAgICAgICAgcmVkaXJlY3RDb3VudCByZXR1cm5zIDAgd2hlbiB1c2luZyBhIFNlcnZpY2Ug
V29ya2VyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MzU3MTAKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzg4NDMyMTkwPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogaHR0cC93cHQvc2VydmljZS13b3Jr
ZXJzL25hdmlnYXRpb24tcmVkaXJlY3QtbWFpbi1mcmFtZS5odHRwcy5odG1sOgorCiAyMDIyLTAz
LTExICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBNYWtlIHN1
cmUgdG8gZW5kIGFueSBwZW5kaW5nIEF1ZGlvU2Vzc2lvbiBpbnRlcnJ1cHRpb24gd2hlbiBhY3Rp
dmF0aW5nIGl0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9n
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCAzOWE5ODRhY2I4ODI3
ZmY0N2RhMjE4OTJiNTYzODYyN2UyNDk5NmU4Li43YTk5M2JmNGExOTBlYjdjN2Q0MGY4MGNiYmU5
ZjVkMGFhYjFlMzY5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdl
TG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
NCBAQAorMjAyMi0wMy0xMSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAg
ICAgICAgcmVkaXJlY3RDb3VudCByZXR1cm5zIDAgd2hlbiB1c2luZyBhIFNlcnZpY2UgV29ya2Vy
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzU3MTAK
KyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzg4NDMyMTkwPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Ut
d29ya2Vycy9zZXJ2aWNlLXdvcmtlci9uYXZpZ2F0aW9uLXByZWxvYWQvcmVzb3VyY2UtdGltaW5n
Lmh0dHBzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2Vydmlj
ZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3JlZGlyZWN0ZWQtcmVzcG9uc2UuaHR0cHMtZXhwZWN0
ZWQudHh0OgorCiAyMDIyLTAzLTEwICBBbnRvaW5lIFF1aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3Jn
PgogCiAgICAgICAgIFt3ZWItYW5pbWF0aW9uc10gbWFzay1vcmlnaW4gc2hvdWxkIHN1cHBvcnQg
ZGlzY3JldGUgYW5pbWF0aW9uCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9zZXJ2
aWNlLXdvcmtlcnMvbmF2aWdhdGlvbi1yZWRpcmVjdC1tYWluLWZyYW1lLmh0dHBzLmh0bWwgYi9M
YXlvdXRUZXN0cy9odHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvbmF2aWdhdGlvbi1yZWRpcmVjdC1t
YWluLWZyYW1lLmh0dHBzLmh0bWwKaW5kZXggMjA5ZjhiZjJkY2I1ZDI2NjUwY2JlNjM3NTY4ODg2
ZWE4N2NiY2Q5NC4uZDk3NDJhZTY4MWM3MTQyMDg1MDZiOWQ3YzBhZTEzOWNiM2E1MGZkMSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvc2VydmljZS13b3JrZXJzL25hdmlnYXRpb24t
cmVkaXJlY3QtbWFpbi1mcmFtZS5odHRwcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0
L3NlcnZpY2Utd29ya2Vycy9uYXZpZ2F0aW9uLXJlZGlyZWN0LW1haW4tZnJhbWUuaHR0cHMuaHRt
bApAQCAtNywxNCArNywxOSBAQAogYXN5bmMgZnVuY3Rpb24gZG9UZXN0KCkKIHsKICAgICBpZiAo
d2luZG93LmxvY2F0aW9uLmhhc2ggPT09ICIjcmVkaXJlY3RlZCIpIHsKLSAgICAgICAgaWYgKHdp
bmRvdy50ZXN0UnVubmVyKQotICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5pbm5lckhUTUwgPSB0
ZXN0UnVubmVyLmRpZFJlY2VpdmVTZXJ2ZXJSZWRpcmVjdEZvclByb3Zpc2lvbmFsTmF2aWdhdGlv
biA/ICJQQVNTIiA6ICJGQUlMIjsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgZG9jdW1lbnQu
Ym9keS5pbm5lckhUTUwgPSAiUEFTUyI7Ci0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikg
eworICAgICAgICBsZXQgc3RhdHVzID0gIlBBU1MiOworICAgICAgICBpZiAod2luZG93LnBlcmZv
cm1hbmNlLm5hdmlnYXRpb24ucmVkaXJlY3RDb3VudCAhPT0gMSkKKyAgICAgICAgICAgICAgICAg
c3RhdHVzID0gIkZBSUw6IHJlZGlyZWN0Q291bnQgaXMgIiArIHdpbmRvdy5wZXJmb3JtYW5jZS5u
YXZpZ2F0aW9uLnJlZGlyZWN0Q291bnQ7CisgICAgICAgIGVsc2UgaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKSB7CisgICAgICAgICAgICAgaWYgKCF0ZXN0UnVubmVyLmRpZFJlY2VpdmVTZXJ2ZXJSZWRp
cmVjdEZvclByb3Zpc2lvbmFsTmF2aWdhdGlvbikKKyAgICAgICAgICAgICAgICAgc3RhdHVzID0g
IkZBSUw6IG5vIHNlcnZlciByZWRpcmVjdCBmb3IgcHJvdmlzaW9uYWwgbmF2aWdhdGlvbiAiOwog
ICAgICAgICAgICAgdGVzdFJ1bm5lci5jbGVhckRpZFJlY2VpdmVTZXJ2ZXJSZWRpcmVjdEZvclBy
b3Zpc2lvbmFsTmF2aWdhdGlvbigpOwotICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25l
KCk7CiAgICAgICAgIH0KKworICAgICAgICBkb2N1bWVudC5ib2R5LmlubmVySFRNTCA9IHN0YXR1
czsKKworICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICB0ZXN0UnVu
bmVyLm5vdGlmeURvbmUoKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICB2YXIgcmVnaXN0
cmF0aW9uID0gYXdhaXQgbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIucmVnaXN0ZXIoIm5hdmlnYXRp
b24tcmVkaXJlY3QtbWFpbi1mcmFtZS13b3JrZXIuanMiLCB7IHNjb3BlIDogInJlc291cmNlcyIg
fSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9uYXZpZ2F0aW9uLXByZWxvYWQvcmVz
b3VyY2UtdGltaW5nLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL25hdmln
YXRpb24tcHJlbG9hZC9yZXNvdXJjZS10aW1pbmcuaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IDgx
MjEyZTAxMDkzZTZkZDg4NjEyNGExMTkxNjFlYTgyNThlZjJhZjkuLmUyOTdhOTYwZWE3YTZiOTQ4
YTE4ZjY0MzljNTUzYmYwMDk4MTI5NTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL25h
dmlnYXRpb24tcHJlbG9hZC9yZXNvdXJjZS10aW1pbmcuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3Jr
ZXJzL3NlcnZpY2Utd29ya2VyL25hdmlnYXRpb24tcHJlbG9hZC9yZXNvdXJjZS10aW1pbmcuaHR0
cHMtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsMyBAQAogCi0KLUZBSUwgTmF2aWdhdGlvbiBQcmVs
b2FkIFJlc291cmNlIFRpbWluZy4gYXNzZXJ0X2dyZWF0ZXJfdGhhbjogdHJhbnNmZXJTaXplIG11
c3QgZ3JlYXRlciB0aGVuIGVuY29kZWRCb2R5U2l6ZS4gZXhwZWN0ZWQgYSBudW1iZXIgZ3JlYXRl
ciB0aGFuIDAgYnV0IGdvdCAwCitQQVNTIE5hdmlnYXRpb24gUHJlbG9hZCBSZXNvdXJjZSBUaW1p
bmcuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3JlZGlyZWN0ZWQtcmVzcG9uc2Uu
aHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVkaXJlY3RlZC1yZXNwb25z
ZS5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggYWYzNTQ0ZWUyMjNjNDA1MzhiYjM0NTM0MzQxZGRm
ZmQ1YThlZDlmNy4uN2RmOTc3YjQ5Y2U1NWQ5ZWFiYThmZjE5NjI5YmM3NWFkYjhkYjY4YSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2
aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVkaXJlY3RlZC1yZXNwb25zZS5odHRwcy1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVkaXJlY3RlZC1yZXNwb25zZS5odHRw
cy1leHBlY3RlZC50eHQKQEAgLTE5LDcgKzE5LDcgQEAgUEFTUyBtb2RlOiAiZXJyb3IiLCBtYW51
YWxseS1nZW5lcmF0ZWQgcmVkaXJlY3QgcmVzcG9uc2UKIFBBU1MgbW9kZTogIm1hbnVhbCIsIG1h
bnVhbGx5LWdlbmVyYXRlZCByZWRpcmVjdCByZXNwb25zZQogUEFTUyBtb2RlOiAiZm9sbG93Iiwg
Z2VuZXJhdGVkIHJlbGF0aXZlIHJlZGlyZWN0IHJlc3BvbnNlCiBQQVNTIG1vZGU6ICJlcnJvciIs
IGdlbmVyYXRlZCByZWxhdGl2ZSByZWRpcmVjdCByZXNwb25zZQotRkFJTCBtb2RlOiAibWFudWFs
IiwgZ2VuZXJhdGVkIHJlbGF0aXZlIHJlZGlyZWN0IHJlc3BvbnNlIHByb21pc2VfdGVzdDogVW5o
YW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogTG9hZCBmYWls
ZWQiCitQQVNTIG1vZGU6ICJtYW51YWwiLCBnZW5lcmF0ZWQgcmVsYXRpdmUgcmVkaXJlY3QgcmVz
cG9uc2UKIFBBU1MgRmV0Y2ggc2hvdWxkIGZvbGxvdyB0aGUgcmVkaXJlY3QgcmVzcG9uc2UgMjAg
dGltZXMKIFBBU1MgRmV0Y2ggc2hvdWxkIG5vdCBmb2xsb3cgdGhlIHJlZGlyZWN0IHJlc3BvbnNl
IDIxIHRpbWVzLgogUEFTUyBUaGUgVVJMIGZvciB0aGUgc2VydmljZSB3b3JrZXIgcmVkaXJlY3Rl
ZCByZXF1ZXN0IHNob3VsZCBiZSBwcm9wYWdhdGVkIHRvIHJlc3BvbnNlLgo=
</data>
<flag name="commit-queue"
          id="482139"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>454586</attachid>
            <date>2022-03-14 06:52:47 -0700</date>
            <delta_ts>2022-03-14 09:43:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>wk2-sw-redirect-count.diff</filename>
            <type>text/plain</type>
            <size>17519</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA0YTM3M2VmNjJkM2UuLjRiMjRiZjFmNWNlZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBA
CisyMDIyLTAzLTE0ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAg
ICByZWRpcmVjdENvdW50IHJldHVybnMgMCB3aGVuIHVzaW5nIGEgU2VydmljZSBXb3JrZXIKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNTcxMAorICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vODg0MzIxOTA+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBodHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvbmF2aWdh
dGlvbi1yZWRpcmVjdC1tYWluLWZyYW1lLmh0dHBzLmh0bWw6CisKIDIwMjItMDMtMTIgIEplYW4t
WXZlcyBBdmVuYXJkICA8anlhQGFwcGxlLmNvbT4KIAogICAgICAgICBTYWZhcmkgcHJvZHVjZXMg
c2NyYW1ibGVkIG91dHB1dCBmb3Igc29tZSB3ZWJtIHZpZGVvcyB3aXRoIHZwOCBjb2RlYy4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9uYXZpZ2F0aW9u
LXJlZGlyZWN0LW1haW4tZnJhbWUuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3Nl
cnZpY2Utd29ya2Vycy9uYXZpZ2F0aW9uLXJlZGlyZWN0LW1haW4tZnJhbWUuaHR0cHMuaHRtbApp
bmRleCAyMDlmOGJmMmRjYjUuLmQ5NzQyYWU2ODFjNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aHR0cC93cHQvc2VydmljZS13b3JrZXJzL25hdmlnYXRpb24tcmVkaXJlY3QtbWFpbi1mcmFtZS5o
dHRwcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9uYXZp
Z2F0aW9uLXJlZGlyZWN0LW1haW4tZnJhbWUuaHR0cHMuaHRtbApAQCAtNywxNCArNywxOSBAQAog
YXN5bmMgZnVuY3Rpb24gZG9UZXN0KCkKIHsKICAgICBpZiAod2luZG93LmxvY2F0aW9uLmhhc2gg
PT09ICIjcmVkaXJlY3RlZCIpIHsKLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAg
ICAgICAgICAgZG9jdW1lbnQuYm9keS5pbm5lckhUTUwgPSB0ZXN0UnVubmVyLmRpZFJlY2VpdmVT
ZXJ2ZXJSZWRpcmVjdEZvclByb3Zpc2lvbmFsTmF2aWdhdGlvbiA/ICJQQVNTIiA6ICJGQUlMIjsK
LSAgICAgICAgZWxzZQotICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5pbm5lckhUTUwgPSAiUEFT
UyI7Ci0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgICAgICBsZXQgc3RhdHVz
ID0gIlBBU1MiOworICAgICAgICBpZiAod2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24ucmVk
aXJlY3RDb3VudCAhPT0gMSkKKyAgICAgICAgICAgICAgICAgc3RhdHVzID0gIkZBSUw6IHJlZGly
ZWN0Q291bnQgaXMgIiArIHdpbmRvdy5wZXJmb3JtYW5jZS5uYXZpZ2F0aW9uLnJlZGlyZWN0Q291
bnQ7CisgICAgICAgIGVsc2UgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgICAgICAgICAg
aWYgKCF0ZXN0UnVubmVyLmRpZFJlY2VpdmVTZXJ2ZXJSZWRpcmVjdEZvclByb3Zpc2lvbmFsTmF2
aWdhdGlvbikKKyAgICAgICAgICAgICAgICAgc3RhdHVzID0gIkZBSUw6IG5vIHNlcnZlciByZWRp
cmVjdCBmb3IgcHJvdmlzaW9uYWwgbmF2aWdhdGlvbiAiOwogICAgICAgICAgICAgdGVzdFJ1bm5l
ci5jbGVhckRpZFJlY2VpdmVTZXJ2ZXJSZWRpcmVjdEZvclByb3Zpc2lvbmFsTmF2aWdhdGlvbigp
OwotICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CiAgICAgICAgIH0KKworICAg
ICAgICBkb2N1bWVudC5ib2R5LmlubmVySFRNTCA9IHN0YXR1czsKKworICAgICAgICBpZiAod2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKICAg
ICAgICAgcmV0dXJuOwogICAgIH0KICAgICB2YXIgcmVnaXN0cmF0aW9uID0gYXdhaXQgbmF2aWdh
dG9yLnNlcnZpY2VXb3JrZXIucmVnaXN0ZXIoIm5hdmlnYXRpb24tcmVkaXJlY3QtbWFpbi1mcmFt
ZS13b3JrZXIuanMiLCB7IHNjb3BlIDogInJlc291cmNlcyIgfSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L0NoYW5nZUxvZwppbmRleCBkOGE5YTU1NTVhMDAuLjYwOTY4MGRkMjJhNCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjItMDMtMTQgIFlvdWVubiBG
YWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIHJlZGlyZWN0Q291bnQgcmV0dXJu
cyAwIHdoZW4gdXNpbmcgYSBTZXJ2aWNlIFdvcmtlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM1NzEwCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84
ODQzMjE5MD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvbmF2
aWdhdGlvbi1wcmVsb2FkL3Jlc291cmNlLXRpbWluZy5odHRwcy1leHBlY3RlZC50eHQ6CisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9y
ZWRpcmVjdGVkLXJlc3BvbnNlLmh0dHBzLWV4cGVjdGVkLnR4dDoKKwogMjAyMi0wMy0xMSAgQW50
b2luZSBRdWludCAgPGdyYW91dHNAd2Via2l0Lm9yZz4KIAogICAgICAgICBbd2ViLWFuaW1hdGlv
bnNdIHNoYXBlLXJlbmRlcmluZyBzaG91bGQgc3VwcG9ydCBkaXNjcmV0ZSBhbmltYXRpb24KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vy
dmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL25hdmlnYXRpb24tcHJlbG9hZC9yZXNvdXJjZS10
aW1pbmcuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvbmF2aWdhdGlvbi1w
cmVsb2FkL3Jlc291cmNlLXRpbWluZy5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggODEyMTJlMDEw
OTNlLi5lMjk3YTk2MGVhN2EgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL25hdmlnYXRp
b24tcHJlbG9hZC9yZXNvdXJjZS10aW1pbmcuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3Nl
cnZpY2Utd29ya2VyL25hdmlnYXRpb24tcHJlbG9hZC9yZXNvdXJjZS10aW1pbmcuaHR0cHMtZXhw
ZWN0ZWQudHh0CkBAIC0xLDQgKzEsMyBAQAogCi0KLUZBSUwgTmF2aWdhdGlvbiBQcmVsb2FkIFJl
c291cmNlIFRpbWluZy4gYXNzZXJ0X2dyZWF0ZXJfdGhhbjogdHJhbnNmZXJTaXplIG11c3QgZ3Jl
YXRlciB0aGVuIGVuY29kZWRCb2R5U2l6ZS4gZXhwZWN0ZWQgYSBudW1iZXIgZ3JlYXRlciB0aGFu
IDAgYnV0IGdvdCAwCitQQVNTIE5hdmlnYXRpb24gUHJlbG9hZCBSZXNvdXJjZSBUaW1pbmcuCiAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3JlZGlyZWN0ZWQtcmVzcG9uc2UuaHR0cHMt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVkaXJlY3RlZC1yZXNwb25zZS5odHRw
cy1leHBlY3RlZC50eHQKaW5kZXggYWYzNTQ0ZWUyMjNjLi43ZGY5NzdiNDljZTUgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL3NlcnZpY2Utd29ya2VyL3JlZGlyZWN0ZWQtcmVzcG9uc2UuaHR0cHMtZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vy
dmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3JlZGlyZWN0ZWQtcmVzcG9uc2UuaHR0cHMtZXhw
ZWN0ZWQudHh0CkBAIC0xOSw3ICsxOSw3IEBAIFBBU1MgbW9kZTogImVycm9yIiwgbWFudWFsbHkt
Z2VuZXJhdGVkIHJlZGlyZWN0IHJlc3BvbnNlCiBQQVNTIG1vZGU6ICJtYW51YWwiLCBtYW51YWxs
eS1nZW5lcmF0ZWQgcmVkaXJlY3QgcmVzcG9uc2UKIFBBU1MgbW9kZTogImZvbGxvdyIsIGdlbmVy
YXRlZCByZWxhdGl2ZSByZWRpcmVjdCByZXNwb25zZQogUEFTUyBtb2RlOiAiZXJyb3IiLCBnZW5l
cmF0ZWQgcmVsYXRpdmUgcmVkaXJlY3QgcmVzcG9uc2UKLUZBSUwgbW9kZTogIm1hbnVhbCIsIGdl
bmVyYXRlZCByZWxhdGl2ZSByZWRpcmVjdCByZXNwb25zZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxl
ZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IExvYWQgZmFpbGVkIgor
UEFTUyBtb2RlOiAibWFudWFsIiwgZ2VuZXJhdGVkIHJlbGF0aXZlIHJlZGlyZWN0IHJlc3BvbnNl
CiBQQVNTIEZldGNoIHNob3VsZCBmb2xsb3cgdGhlIHJlZGlyZWN0IHJlc3BvbnNlIDIwIHRpbWVz
CiBQQVNTIEZldGNoIHNob3VsZCBub3QgZm9sbG93IHRoZSByZWRpcmVjdCByZXNwb25zZSAyMSB0
aW1lcy4KIFBBU1MgVGhlIFVSTCBmb3IgdGhlIHNlcnZpY2Ugd29ya2VyIHJlZGlyZWN0ZWQgcmVx
dWVzdCBzaG91bGQgYmUgcHJvcGFnYXRlZCB0byByZXNwb25zZS4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggZjA0OTRm
NTBhYzhhLi5iYWJlZWRlZGUzOTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMjItMDMt
MTQgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIHJlZGlyZWN0
Q291bnQgcmV0dXJucyAwIHdoZW4gdXNpbmcgYSBTZXJ2aWNlIFdvcmtlcgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM1NzEwCisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS84ODQzMjE5MD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBQYXNzIGFuIG9wdGlvbmFsIE5ldHdvcmtMb2FkTWV0cmljcyB3aGVuIHNl
bmRpbmcgdGhlIHJlc3BvbnNlIHRvIHdlYiBwcm9jZXNzLgorICAgICAgICBJbmNsdWRlIHRoZSBy
ZWRpcmVjdENvdW50IHZhbHVlIGNvbXB1dGVkIGJ5IE5ldHdvcmtSZXNvdXJjZUxvYWRlci4KKyAg
ICAgICAgTWFrZSBzZXJ2aWNlIHdvcmtlciByZWRpcmVjdGlvbnMgZ28gdGhyb3VnaCBOZXR3b3Jr
UmVzb3VyY2VMb2FkZXIgdG8gc2V0IHRoZSByZWRpcmVjdENvdW50IHZhbHVlIGFuZCBmb3IgY29y
cmVjdG5lc3MuCisKKyAgICAgICAgQ292ZXJlZCBieSB1cGRhdGVkIHRlc3QuCisKKyAgICAgICAg
KiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAqIE5l
dHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvU2VydmljZVdvcmtlckZldGNoVGFzay5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OlNlcnZpY2VXb3JrZXJGZXRjaFRhc2s6OnByb2Nlc3NSZWRpcmVjdFJl
c3BvbnNlKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIu
Y3BwOgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5oOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5tZXNzYWdlcy5p
bjoKKwogMjAyMi0wMy0xMiAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4K
IAogICAgICAgICBJbiBSZW1vdGVMYXllckJhY2tpbmdTdG9yZSwgZ3JvdXAgbWFrZUZyb250QnVm
ZmVyTm9uVm9sYXRpbGUoKSBhbmQgc3dhcFRvVmFsaWRGcm9udEJ1ZmZlcigpIGludG8gYSBzaW5n
bGUgZnVuY3Rpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0
d29ya1Jlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0
d29ya1Jlc291cmNlTG9hZGVyLmNwcAppbmRleCBkNDg0ZGNiNjk0YjcuLjZiMTNkYTdiZTA4MCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VM
b2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291
cmNlTG9hZGVyLmNwcApAQCAtNTU5LDYgKzU1OSwxOSBAQCB2b2lkIE5ldHdvcmtSZXNvdXJjZUxv
YWRlcjo6YWJvcnQoKQogICAgIGNsZWFudXAoTG9hZFJlc3VsdDo6Q2FuY2VsKTsKIH0KIAorc3Rk
OjpvcHRpb25hbDxOZXR3b3JrTG9hZE1ldHJpY3M+IE5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6Y29t
cHV0ZVJlc3BvbnNlTWV0cmljcyhjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSkKK3sK
KyAgICBpZiAocGFyYW1ldGVycygpLm9wdGlvbnMubW9kZSAhPSBGZXRjaE9wdGlvbnM6Ok1vZGU6
Ok5hdmlnYXRlKQorICAgICAgICByZXR1cm4geyB9OworCisgICAgTmV0d29ya0xvYWRNZXRyaWNz
IG5ldHdvcmtMb2FkTWV0cmljczsKKyAgICBpZiAoYXV0byogbWV0cmljcyA9IHJlc3BvbnNlLmRl
cHJlY2F0ZWROZXR3b3JrTG9hZE1ldHJpY3NPck51bGwoKSkKKyAgICAgICAgbmV0d29ya0xvYWRN
ZXRyaWNzID0gKm1ldHJpY3M7CisgICAgbmV0d29ya0xvYWRNZXRyaWNzLnJlZGlyZWN0Q291bnQg
PSBtX3JlZGlyZWN0Q291bnQ7CisKKyAgICByZXR1cm4gbmV0d29ya0xvYWRNZXRyaWNzOworfQor
CiB2b2lkIE5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6dHJhbnNmZXJUb05ld1dlYlByb2Nlc3MoTmV0
d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MmIG5ld0Nvbm5lY3Rpb24sIFdlYkNvcmU6OlJlc291
cmNlTG9hZGVySWRlbnRpZmllciBuZXdDb3JlSWRlbnRpZmllcikKIHsKICAgICBtX2Nvbm5lY3Rp
b24gPSBuZXdDb25uZWN0aW9uOwpAQCAtNTcwLDcgKzU4Myw3IEBAIHZvaWQgTmV0d29ya1Jlc291
cmNlTG9hZGVyOjp0cmFuc2ZlclRvTmV3V2ViUHJvY2VzcyhOZXR3b3JrQ29ubmVjdGlvblRvV2Vi
UHJvY2VzCiAgICAgQVNTRVJUKG1fcmVzcG9uc2VDb21wbGV0aW9uSGFuZGxlciB8fCBtX2NhY2hl
RW50cnlXYWl0aW5nRm9yQ29udGludWVEaWRSZWNlaXZlUmVzcG9uc2UpOwogI2VuZGlmCiAgICAg
Ym9vbCB3aWxsV2FpdEZvckNvbnRpbnVlRGlkUmVjZWl2ZVJlc3BvbnNlID0gdHJ1ZTsKLSAgICBz
ZW5kKE1lc3NhZ2VzOjpXZWJSZXNvdXJjZUxvYWRlcjo6RGlkUmVjZWl2ZVJlc3BvbnNlIHsgbV9y
ZXNwb25zZSwgbV9wcml2YXRlUmVsYXllZCwgd2lsbFdhaXRGb3JDb250aW51ZURpZFJlY2VpdmVS
ZXNwb25zZSB9KTsKKyAgICBzZW5kKE1lc3NhZ2VzOjpXZWJSZXNvdXJjZUxvYWRlcjo6RGlkUmVj
ZWl2ZVJlc3BvbnNlIHsgbV9yZXNwb25zZSwgbV9wcml2YXRlUmVsYXllZCwgd2lsbFdhaXRGb3JD
b250aW51ZURpZFJlY2VpdmVSZXNwb25zZSwgY29tcHV0ZVJlc3BvbnNlTWV0cmljcyhtX3Jlc3Bv
bnNlKSB9KTsKIH0KIAogYm9vbCBOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OnNob3VsZEludGVycnVw
dExvYWRGb3JYRnJhbWVPcHRpb25zKGNvbnN0IFN0cmluZyYgeEZyYW1lT3B0aW9ucywgY29uc3Qg
VVJMJiB1cmwpCkBAIC04NTcsNyArODcwLDcgQEAgdm9pZCBOZXR3b3JrUmVzb3VyY2VMb2FkZXI6
OnNlbmREaWRSZWNlaXZlUmVzcG9uc2VQb3RlbnRpYWxseUluTmV3QnJvd3NpbmdDb250ZXgKIHsK
ICAgICBhdXRvIGJyb3dzaW5nQ29udGV4dEdyb3VwU3dpdGNoRGVjaXNpb24gPSB0b0Jyb3dzaW5n
Q29udGV4dEdyb3VwU3dpdGNoRGVjaXNpb24obV9jdXJyZW50Q29vcEVuZm9yY2VtZW50UmVzdWx0
KTsKICAgICBpZiAoYnJvd3NpbmdDb250ZXh0R3JvdXBTd2l0Y2hEZWNpc2lvbiA9PSBCcm93c2lu
Z0NvbnRleHRHcm91cFN3aXRjaERlY2lzaW9uOjpTdGF5SW5Hcm91cCkgewotICAgICAgICBzZW5k
KE1lc3NhZ2VzOjpXZWJSZXNvdXJjZUxvYWRlcjo6RGlkUmVjZWl2ZVJlc3BvbnNlIHsgcmVzcG9u
c2UsIHByaXZhdGVSZWxheWVkLCBuZWVkc0NvbnRpbnVlRGlkUmVjZWl2ZVJlc3BvbnNlTWVzc2Fn
ZSB9KTsKKyAgICAgICAgc2VuZChNZXNzYWdlczo6V2ViUmVzb3VyY2VMb2FkZXI6OkRpZFJlY2Vp
dmVSZXNwb25zZSB7IHJlc3BvbnNlLCBwcml2YXRlUmVsYXllZCwgbmVlZHNDb250aW51ZURpZFJl
Y2VpdmVSZXNwb25zZU1lc3NhZ2UsIGNvbXB1dGVSZXNwb25zZU1ldHJpY3MocmVzcG9uc2UpIH0p
OwogICAgICAgICByZXR1cm47CiAgICAgfQogCkBAIC0xMDIwLDYgKzEwMzMsMTYgQEAgc3RkOjpv
cHRpb25hbDxTZWNvbmRzPiBOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OnZhbGlkYXRlQ2FjaGVFbnRy
eUZvck1heEFnZUNhcFZhbGkKIH0KIAogdm9pZCBOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OndpbGxT
ZW5kUmVkaXJlY3RlZFJlcXVlc3QoUmVzb3VyY2VSZXF1ZXN0JiYgcmVxdWVzdCwgUmVzb3VyY2VS
ZXF1ZXN0JiYgcmVkaXJlY3RSZXF1ZXN0LCBSZXNvdXJjZVJlc3BvbnNlJiYgcmVkaXJlY3RSZXNw
b25zZSkKK3sKKyAgICB3aWxsU2VuZFJlZGlyZWN0ZWRSZXF1ZXN0SW50ZXJuYWwoV1RGTW92ZShy
ZXF1ZXN0KSwgV1RGTW92ZShyZWRpcmVjdFJlcXVlc3QpLCBXVEZNb3ZlKHJlZGlyZWN0UmVzcG9u
c2UpLCBJc0Zyb21TZXJ2aWNlV29ya2VyOjpObyk7Cit9CisKK3ZvaWQgTmV0d29ya1Jlc291cmNl
TG9hZGVyOjp3aWxsU2VuZFNlcnZpY2VXb3JrZXJSZWRpcmVjdGVkUmVxdWVzdChSZXNvdXJjZVJl
cXVlc3QmJiByZXF1ZXN0LCBSZXNvdXJjZVJlcXVlc3QmJiByZWRpcmVjdFJlcXVlc3QsIFJlc291
cmNlUmVzcG9uc2UmJiByZWRpcmVjdFJlc3BvbnNlKQoreworICAgIHdpbGxTZW5kUmVkaXJlY3Rl
ZFJlcXVlc3RJbnRlcm5hbChXVEZNb3ZlKHJlcXVlc3QpLCBXVEZNb3ZlKHJlZGlyZWN0UmVxdWVz
dCksIFdURk1vdmUocmVkaXJlY3RSZXNwb25zZSksIElzRnJvbVNlcnZpY2VXb3JrZXI6Olllcyk7
Cit9CisKK3ZvaWQgTmV0d29ya1Jlc291cmNlTG9hZGVyOjp3aWxsU2VuZFJlZGlyZWN0ZWRSZXF1
ZXN0SW50ZXJuYWwoUmVzb3VyY2VSZXF1ZXN0JiYgcmVxdWVzdCwgUmVzb3VyY2VSZXF1ZXN0JiYg
cmVkaXJlY3RSZXF1ZXN0LCBSZXNvdXJjZVJlc3BvbnNlJiYgcmVkaXJlY3RSZXNwb25zZSwgSXNG
cm9tU2VydmljZVdvcmtlciBpc0Zyb21TZXJ2aWNlV29ya2VyKQogewogICAgIExPQURFUl9SRUxF
QVNFX0xPRygid2lsbFNlbmRSZWRpcmVjdGVkUmVxdWVzdDoiKTsKICAgICArK21fcmVkaXJlY3RD
b3VudDsKQEAgLTEwNDIsOSArMTA2NSwxMSBAQCB2b2lkIE5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6
d2lsbFNlbmRSZWRpcmVjdGVkUmVxdWVzdChSZXNvdXJjZVJlcXVlc3QmJiByZXF1ZXN0LAogICAg
ICAgICAgICAgYWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6UHJpdmF0ZUNsaWNrTWVh
c3VyZW1lbnQsIE1lc3NhZ2VMZXZlbDo6RXJyb3IsIHJlc3VsdC5lcnJvcigpKTsKICAgICB9CiAK
LSAgICBhdXRvIG1heEFnZUNhcCA9IHZhbGlkYXRlQ2FjaGVFbnRyeUZvck1heEFnZUNhcFZhbGlk
YXRpb24ocmVxdWVzdCwgcmVkaXJlY3RSZXF1ZXN0LCByZWRpcmVjdFJlc3BvbnNlKTsKLSAgICBp
ZiAocmVkaXJlY3RSZXNwb25zZS5zb3VyY2UoKSA9PSBSZXNvdXJjZVJlc3BvbnNlOjpTb3VyY2U6
Ok5ldHdvcmsgJiYgY2FuVXNlQ2FjaGVkUmVkaXJlY3QocmVxdWVzdCkpCi0gICAgICAgIG1fY2Fj
aGUtPnN0b3JlUmVkaXJlY3QocmVxdWVzdCwgcmVkaXJlY3RSZXNwb25zZSwgcmVkaXJlY3RSZXF1
ZXN0LCBtYXhBZ2VDYXApOworICAgIGlmIChpc0Zyb21TZXJ2aWNlV29ya2VyID09IElzRnJvbVNl
cnZpY2VXb3JrZXI6Ok5vKSB7CisgICAgICAgIGF1dG8gbWF4QWdlQ2FwID0gdmFsaWRhdGVDYWNo
ZUVudHJ5Rm9yTWF4QWdlQ2FwVmFsaWRhdGlvbihyZXF1ZXN0LCByZWRpcmVjdFJlcXVlc3QsIHJl
ZGlyZWN0UmVzcG9uc2UpOworICAgICAgICBpZiAocmVkaXJlY3RSZXNwb25zZS5zb3VyY2UoKSA9
PSBSZXNvdXJjZVJlc3BvbnNlOjpTb3VyY2U6Ok5ldHdvcmsgJiYgY2FuVXNlQ2FjaGVkUmVkaXJl
Y3QocmVxdWVzdCkpCisgICAgICAgICAgICBtX2NhY2hlLT5zdG9yZVJlZGlyZWN0KHJlcXVlc3Qs
IHJlZGlyZWN0UmVzcG9uc2UsIHJlZGlyZWN0UmVxdWVzdCwgbWF4QWdlQ2FwKTsKKyAgICB9CiAK
ICAgICBpZiAoaXNNYWluUmVzb3VyY2UoKSAmJiBzaG91bGRJbnRlcnJ1cHROYXZpZ2F0aW9uRm9y
Q3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeShyZWRpcmVjdFJlc3BvbnNlKSkgewogICAgICAgICB0
aGlzLT5kaWRGYWlsTG9hZGluZyhSZXNvdXJjZUVycm9yIHsgZXJyb3JEb21haW5XZWJLaXRJbnRl
cm5hbCwgMCwgcmVkaXJlY3RSZXF1ZXN0LnVybCgpLCAiUmVkaXJlY3Rpb24gd2FzIGJsb2NrZWQg
YnkgQ3Jvc3MtT3JpZ2luLUVtYmVkZGVyLVBvbGljeSJfcywgUmVzb3VyY2VFcnJvcjo6VHlwZTo6
QWNjZXNzQ29udHJvbCB9KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L05ldHdvcmtSZXNvdXJjZUxvYWRlci5oCmluZGV4IDUyODZmM2MwOTZjMC4uMTUxN2I4ZWE5MDE2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJj
ZUxvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291
cmNlTG9hZGVyLmgKQEAgLTE2NSw2ICsxNjUsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBkZXJlZigp
IGNvbnN0IGZpbmFsIHsgUmVmQ291bnRlZDxOZXR3b3JrUmVzb3VyY2VMb2FkZXI+OjpkZXJlZigp
OyB9CiAjZW5kaWYKIAorICAgIHZvaWQgd2lsbFNlbmRTZXJ2aWNlV29ya2VyUmVkaXJlY3RlZFJl
cXVlc3QoV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiYsIFdlYkNvcmU6OlJlc291cmNlUmVxdWVz
dCYmIHJlZGlyZWN0UmVxdWVzdCwgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYmKTsKKwogcHJp
dmF0ZToKICAgICBOZXR3b3JrUmVzb3VyY2VMb2FkZXIoTmV0d29ya1Jlc291cmNlTG9hZFBhcmFt
ZXRlcnMmJiwgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MmLCBNZXNzYWdlczo6TmV0d29y
a0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OlBlcmZvcm1TeW5jaHJvbm91c0xvYWREZWxheWVkUmVw
bHkmJik7CiAKQEAgLTI0Miw2ICsyNDQsMTAgQEAgcHJpdmF0ZToKICAgICB2b2lkIHN0YXJ0Q29u
dGVudEZpbHRlcmluZyhXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmKTsKICNlbmRpZgogCisgICAg
ZW51bSBjbGFzcyBJc0Zyb21TZXJ2aWNlV29ya2VyIHsgTm8sIFllcyB9OworICAgIHZvaWQgd2ls
bFNlbmRSZWRpcmVjdGVkUmVxdWVzdEludGVybmFsKFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYm
LCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmJiByZWRpcmVjdFJlcXVlc3QsIFdlYkNvcmU6OlJl
c291cmNlUmVzcG9uc2UmJiwgSXNGcm9tU2VydmljZVdvcmtlcik7CisgICAgc3RkOjpvcHRpb25h
bDxXZWJDb3JlOjpOZXR3b3JrTG9hZE1ldHJpY3M+IGNvbXB1dGVSZXNwb25zZU1ldHJpY3MoY29u
c3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYpOworCiAgICAgY29uc3QgTmV0d29ya1Jlc291
cmNlTG9hZFBhcmFtZXRlcnMgbV9wYXJhbWV0ZXJzOwogCiAgICAgUmVmPE5ldHdvcmtDb25uZWN0
aW9uVG9XZWJQcm9jZXNzPiBtX2Nvbm5lY3Rpb247CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvU2VydmljZVdvcmtlckZldGNoVGFzay5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvU2VydmljZVdvcmtl
ckZldGNoVGFzay5jcHAKaW5kZXggZDM4NmIyYTUzYTdmLi5jN2FlYWQ2MTNjM2IgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9TZXJ2aWNlV29y
a2VyRmV0Y2hUYXNrLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZp
Y2VXb3JrZXIvU2VydmljZVdvcmtlckZldGNoVGFzay5jcHAKQEAgLTE4Myw3ICsxODMsNyBAQCB2
b2lkIFNlcnZpY2VXb3JrZXJGZXRjaFRhc2s6OnByb2Nlc3NSZWRpcmVjdFJlc3BvbnNlKFJlc291
cmNlUmVzcG9uc2UmJiByZXNwb25zZQogICAgICAgICByZXNwb25zZS5zZXRTb3VyY2UoUmVzb3Vy
Y2VSZXNwb25zZTo6U291cmNlOjpTZXJ2aWNlV29ya2VyKTsKICAgICBhdXRvIG5ld1JlcXVlc3Qg
PSBtX2N1cnJlbnRSZXF1ZXN0LnJlZGlyZWN0ZWRSZXF1ZXN0KHJlc3BvbnNlLCBtX2xvYWRlci5w
YXJhbWV0ZXJzKCkuc2hvdWxkQ2xlYXJSZWZlcnJlck9uSFRUUFNUb0hUVFBSZWRpcmVjdCk7CiAK
LSAgICBzZW5kVG9DbGllbnQoTWVzc2FnZXM6OldlYlJlc291cmNlTG9hZGVyOjpXaWxsU2VuZFJl
cXVlc3QgeyBuZXdSZXF1ZXN0LCBJUEM6OkZvcm1EYXRhUmVmZXJlbmNlIHsgbmV3UmVxdWVzdC5o
dHRwQm9keSgpIH0sIHJlc3BvbnNlIH0pOworICAgIG1fbG9hZGVyLndpbGxTZW5kU2VydmljZVdv
cmtlclJlZGlyZWN0ZWRSZXF1ZXN0KFJlc291cmNlUmVxdWVzdChtX2N1cnJlbnRSZXF1ZXN0KSwg
V1RGTW92ZShuZXdSZXF1ZXN0KSwgV1RGTW92ZShyZXNwb25zZSkpOwogfQogCiB2b2lkIFNlcnZp
Y2VXb3JrZXJGZXRjaFRhc2s6OmRpZFJlY2VpdmVSZXNwb25zZShXZWJDb3JlOjpSZXNvdXJjZVJl
c3BvbnNlJiYgcmVzcG9uc2UsIGJvb2wgbmVlZHNDb250aW51ZURpZFJlY2VpdmVSZXNwb25zZU1l
c3NhZ2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VX
b3JrZXIvU2VydmljZVdvcmtlck5hdmlnYXRpb25QcmVsb2FkZXIuY3BwIGIvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1NlcnZpY2VXb3JrZXJOYXZpZ2F0aW9uUHJl
bG9hZGVyLmNwcAppbmRleCBkNmVmNTFhYTkyYzEuLmZlZGFjNzIwOGY1MSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1NlcnZpY2VXb3JrZXJO
YXZpZ2F0aW9uUHJlbG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L1NlcnZpY2VXb3JrZXIvU2VydmljZVdvcmtlck5hdmlnYXRpb25QcmVsb2FkZXIuY3BwCkBAIC0x
NTQsNyArMTU0LDEwIEBAIHZvaWQgU2VydmljZVdvcmtlck5hdmlnYXRpb25QcmVsb2FkZXI6Omxv
YWRGcm9tTmV0d29yaygpCiAKIHZvaWQgU2VydmljZVdvcmtlck5hdmlnYXRpb25QcmVsb2FkZXI6
OndpbGxTZW5kUmVkaXJlY3RlZFJlcXVlc3QoUmVzb3VyY2VSZXF1ZXN0JiYsIFJlc291cmNlUmVx
dWVzdCYmLCBSZXNvdXJjZVJlc3BvbnNlJiYgcmVzcG9uc2UpCiB7CisgICAgV2Vha1B0ciB3ZWFr
VGhpcyB7ICp0aGlzIH07CiAgICAgZGlkUmVjZWl2ZVJlc3BvbnNlKFdURk1vdmUocmVzcG9uc2Up
LCBQcml2YXRlUmVsYXllZDo6Tm8sIFtdKGF1dG8pIHsgfSk7CisgICAgaWYgKCF3ZWFrVGhpcykK
KyAgICAgICAgcmV0dXJuOwogICAgIGRpZENvbXBsZXRlKCk7CiB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmNwcCBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmNwcAppbmRl
eCA3MGY4MTBmZmI3ZjEuLjk5MDQ5ZGUwMjRiMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmNwcApAQCAtMTQ5LDEzICsx
NDksMTYgQEAgdm9pZCBXZWJSZXNvdXJjZUxvYWRlcjo6ZGlkU2VuZERhdGEodWludDY0X3QgYnl0
ZXNTZW50LCB1aW50NjRfdCB0b3RhbEJ5dGVzVG9CZVMKICAgICBtX2NvcmVMb2FkZXItPmRpZFNl
bmREYXRhKGJ5dGVzU2VudCwgdG90YWxCeXRlc1RvQmVTZW50KTsKIH0KIAotdm9pZCBXZWJSZXNv
dXJjZUxvYWRlcjo6ZGlkUmVjZWl2ZVJlc3BvbnNlKGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJl
c3BvbnNlLCBQcml2YXRlUmVsYXllZCBwcml2YXRlUmVsYXllZCwgYm9vbCBuZWVkc0NvbnRpbnVl
RGlkUmVjZWl2ZVJlc3BvbnNlTWVzc2FnZSkKK3ZvaWQgV2ViUmVzb3VyY2VMb2FkZXI6OmRpZFJl
Y2VpdmVSZXNwb25zZShSZXNvdXJjZVJlc3BvbnNlJiYgcmVzcG9uc2UsIFByaXZhdGVSZWxheWVk
IHByaXZhdGVSZWxheWVkLCBib29sIG5lZWRzQ29udGludWVEaWRSZWNlaXZlUmVzcG9uc2VNZXNz
YWdlLCBzdGQ6Om9wdGlvbmFsPE5ldHdvcmtMb2FkTWV0cmljcz4mJiBtZXRyaWNzKQogewogICAg
IExPRyhOZXR3b3JrLCAiKFdlYlByb2Nlc3MpIFdlYlJlc291cmNlTG9hZGVyOjpkaWRSZWNlaXZl
UmVzcG9uc2UgZm9yICclcycuIFN0YXR1cyAlZC4iLCBtX2NvcmVMb2FkZXItPnVybCgpLnN0cmlu
ZygpLmxhdGluMSgpLmRhdGEoKSwgcmVzcG9uc2UuaHR0cFN0YXR1c0NvZGUoKSk7CiAgICAgV0VC
UkVTT1VSQ0VMT0FERVJfUkVMRUFTRV9MT0coImRpZFJlY2VpdmVSZXNwb25zZTogKGh0dHBTdGF0
dXNDb2RlPSVkKSIsIHJlc3BvbnNlLmh0dHBTdGF0dXNDb2RlKCkpOwogCiAgICAgUmVmPFdlYlJl
c291cmNlTG9hZGVyPiBwcm90ZWN0ZWRUaGlzKCp0aGlzKTsKIAorICAgIGlmIChtZXRyaWNzKQor
ICAgICAgICByZXNwb25zZS5zZXREZXByZWNhdGVkTmV0d29ya0xvYWRNZXRyaWNzKEJveDxOZXR3
b3JrTG9hZE1ldHJpY3M+OjpjcmVhdGUoV1RGTW92ZSgqbWV0cmljcykpKTsKKwogICAgIGlmIChw
cml2YXRlUmVsYXllZCA9PSBQcml2YXRlUmVsYXllZDo6WWVzICYmIG1haW5GcmFtZU1haW5SZXNv
dXJjZSgpID09IE1haW5GcmFtZU1haW5SZXNvdXJjZTo6WWVzKQogICAgICAgICBXZWJQcm9jZXNz
OjpzaW5nbGV0b24oKS5zZXRIYWRNYWluRnJhbWVNYWluUmVzb3VyY2VQcml2YXRlUmVsYXllZCgp
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNv
dXJjZUxvYWRlci5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3Vy
Y2VMb2FkZXIuaAppbmRleCA4ODlkN2ZmODQxNmIuLmM2YzE0MjJlZmZkNiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5oCkBA
IC04NSw3ICs4NSw3IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIHdpbGxTZW5kUmVxdWVzdChXZWJD
b3JlOjpSZXNvdXJjZVJlcXVlc3QmJiwgSVBDOjpGb3JtRGF0YVJlZmVyZW5jZSYmIHJlcXVlc3RC
b2R5LCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJiYpOwogICAgIHZvaWQgZGlkU2VuZERhdGEo
dWludDY0X3QgYnl0ZXNTZW50LCB1aW50NjRfdCB0b3RhbEJ5dGVzVG9CZVNlbnQpOwotICAgIHZv
aWQgZGlkUmVjZWl2ZVJlc3BvbnNlKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmLCBQ
cml2YXRlUmVsYXllZCwgYm9vbCBuZWVkc0NvbnRpbnVlRGlkUmVjZWl2ZVJlc3BvbnNlTWVzc2Fn
ZSk7CisgICAgdm9pZCBkaWRSZWNlaXZlUmVzcG9uc2UoV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25z
ZSYmLCBQcml2YXRlUmVsYXllZCwgYm9vbCBuZWVkc0NvbnRpbnVlRGlkUmVjZWl2ZVJlc3BvbnNl
TWVzc2FnZSwgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpOZXR3b3JrTG9hZE1ldHJpY3M+JiYpOwog
ICAgIHZvaWQgZGlkUmVjZWl2ZURhdGEoY29uc3QgSVBDOjpTaGFyZWRCdWZmZXJDb3B5JiBkYXRh
LCBpbnQ2NF90IGVuY29kZWREYXRhTGVuZ3RoKTsKICAgICB2b2lkIGRpZEZpbmlzaFJlc291cmNl
TG9hZChjb25zdCBXZWJDb3JlOjpOZXR3b3JrTG9hZE1ldHJpY3MmKTsKICAgICB2b2lkIGRpZEZh
aWxSZXNvdXJjZUxvYWQoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VFcnJvciYpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIubWVz
c2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxv
YWRlci5tZXNzYWdlcy5pbgppbmRleCA2YzFiYjViNmZiY2MuLmVhZTA1NTQzMDBhNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIu
bWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVz
b3VyY2VMb2FkZXIubWVzc2FnZXMuaW4KQEAgLTIzLDcgKzIzLDcgQEAKIG1lc3NhZ2VzIC0+IFdl
YlJlc291cmNlTG9hZGVyIExlZ2FjeVJlY2VpdmVyIHsKICAgICBXaWxsU2VuZFJlcXVlc3QoV2Vi
Q29yZTo6UmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3QsIElQQzo6Rm9ybURhdGFSZWZlcmVuY2UgcmVx
dWVzdEJvZHksIFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UgcmVkaXJlY3RSZXNwb25zZSkKICAg
ICBEaWRTZW5kRGF0YSh1aW50NjRfdCBieXRlc1NlbnQsIHVpbnQ2NF90IHRvdGFsQnl0ZXNUb0Jl
U2VudCkKLSAgICBEaWRSZWNlaXZlUmVzcG9uc2UoV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSBy
ZXNwb25zZSwgZW51bTpib29sIFdlYktpdDo6UHJpdmF0ZVJlbGF5ZWQgcHJpdmF0ZVJlbGF5ZWQs
IGJvb2wgbmVlZHNDb250aW51ZURpZFJlY2VpdmVSZXNwb25zZU1lc3NhZ2UpCisgICAgRGlkUmVj
ZWl2ZVJlc3BvbnNlKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UgcmVzcG9uc2UsIGVudW06Ym9v
bCBXZWJLaXQ6OlByaXZhdGVSZWxheWVkIHByaXZhdGVSZWxheWVkLCBib29sIG5lZWRzQ29udGlu
dWVEaWRSZWNlaXZlUmVzcG9uc2VNZXNzYWdlLCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6Ok5ldHdv
cmtMb2FkTWV0cmljcz4gb3B0aW9uYWxOZXR3b3JrTG9hZE1ldHJpY3MpCiAgICAgRGlkUmVjZWl2
ZURhdGEoSVBDOjpTaGFyZWRCdWZmZXJDb3B5IGRhdGEsIGludDY0X3QgZW5jb2RlZERhdGFMZW5n
dGgpCiAgICAgRGlkRmluaXNoUmVzb3VyY2VMb2FkKFdlYkNvcmU6Ok5ldHdvcmtMb2FkTWV0cmlj
cyBuZXR3b3JrTG9hZE1ldHJpY3MpCiAgICAgRGlkRmFpbFJlc291cmNlTG9hZChXZWJDb3JlOjpS
ZXNvdXJjZUVycm9yIGVycm9yKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>454599</attachid>
            <date>2022-03-14 09:43:51 -0700</date>
            <delta_ts>2022-03-16 03:22:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235710-20220314174349.patch</filename>
            <type>text/plain</type>
            <size>18487</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkxMjE2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGU5YjgyZjVkNDFkMzVkMmI5
ZmUzODRmMzMzNTE5ZDNkNDllZDJmMDIuLjYzOGVjZjBjMWE5MDFhYTUzMDNlMjg2Njk4NjJmNzNk
ZGY4ZjJlZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMjItMDMtMTQgIFlvdWVubiBG
YWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIHJlZGlyZWN0Q291bnQgcmV0dXJu
cyAwIHdoZW4gdXNpbmcgYSBTZXJ2aWNlIFdvcmtlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM1NzEwCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84
ODQzMjE5MD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBQYXNzIGFuIG9wdGlvbmFsIE5ldHdvcmtMb2FkTWV0cmljcyB3aGVuIHNlbmRpbmcgdGhlIHJl
c3BvbnNlIHRvIHdlYiBwcm9jZXNzLgorICAgICAgICBJbmNsdWRlIHRoZSByZWRpcmVjdENvdW50
IHZhbHVlIGNvbXB1dGVkIGJ5IE5ldHdvcmtSZXNvdXJjZUxvYWRlci4KKyAgICAgICAgTWFrZSBz
ZXJ2aWNlIHdvcmtlciByZWRpcmVjdGlvbnMgZ28gdGhyb3VnaCBOZXR3b3JrUmVzb3VyY2VMb2Fk
ZXIgdG8gc2V0IHRoZSByZWRpcmVjdENvdW50IHZhbHVlIGFuZCBmb3IgY29ycmVjdG5lc3MuCisK
KyAgICAgICAgQ292ZXJlZCBieSB1cGRhdGVkIHRlc3QuCisKKyAgICAgICAgKiBOZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNz
L1NlcnZpY2VXb3JrZXIvU2VydmljZVdvcmtlckZldGNoVGFzay5jcHA6CisgICAgICAgIChXZWJL
aXQ6OlNlcnZpY2VXb3JrZXJGZXRjaFRhc2s6OnByb2Nlc3NSZWRpcmVjdFJlc3BvbnNlKToKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5oOgorICAgICAgICAqIFdl
YlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5tZXNzYWdlcy5pbjoKKwogMjAyMi0w
My0xNCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgTWFyayBw
ZXJtaXNzaW9uIGFzIGRlbmllZCBpZiBzeXN0ZW0gZm9yYmlkcyBhY2Nlc3MgdG8gY2FtZXJhIGFu
ZC9vciBtaWNyb3Bob25lCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggZDQ4NGRjYjY5NGI3YjRhZGMxOGM2YTFl
ZDVhMDBmODVkZWRmY2MyMi4uNmIxM2RhN2JlMDgwYjdjZDE3YWU5YjU5MTFkM2M4OWY3MmZiODQy
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3Vy
Y2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jl
c291cmNlTG9hZGVyLmNwcApAQCAtNTU5LDYgKzU1OSwxOSBAQCB2b2lkIE5ldHdvcmtSZXNvdXJj
ZUxvYWRlcjo6YWJvcnQoKQogICAgIGNsZWFudXAoTG9hZFJlc3VsdDo6Q2FuY2VsKTsKIH0KIAor
c3RkOjpvcHRpb25hbDxOZXR3b3JrTG9hZE1ldHJpY3M+IE5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6
Y29tcHV0ZVJlc3BvbnNlTWV0cmljcyhjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSkK
K3sKKyAgICBpZiAocGFyYW1ldGVycygpLm9wdGlvbnMubW9kZSAhPSBGZXRjaE9wdGlvbnM6Ok1v
ZGU6Ok5hdmlnYXRlKQorICAgICAgICByZXR1cm4geyB9OworCisgICAgTmV0d29ya0xvYWRNZXRy
aWNzIG5ldHdvcmtMb2FkTWV0cmljczsKKyAgICBpZiAoYXV0byogbWV0cmljcyA9IHJlc3BvbnNl
LmRlcHJlY2F0ZWROZXR3b3JrTG9hZE1ldHJpY3NPck51bGwoKSkKKyAgICAgICAgbmV0d29ya0xv
YWRNZXRyaWNzID0gKm1ldHJpY3M7CisgICAgbmV0d29ya0xvYWRNZXRyaWNzLnJlZGlyZWN0Q291
bnQgPSBtX3JlZGlyZWN0Q291bnQ7CisKKyAgICByZXR1cm4gbmV0d29ya0xvYWRNZXRyaWNzOwor
fQorCiB2b2lkIE5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6dHJhbnNmZXJUb05ld1dlYlByb2Nlc3Mo
TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MmIG5ld0Nvbm5lY3Rpb24sIFdlYkNvcmU6OlJl
c291cmNlTG9hZGVySWRlbnRpZmllciBuZXdDb3JlSWRlbnRpZmllcikKIHsKICAgICBtX2Nvbm5l
Y3Rpb24gPSBuZXdDb25uZWN0aW9uOwpAQCAtNTcwLDcgKzU4Myw3IEBAIHZvaWQgTmV0d29ya1Jl
c291cmNlTG9hZGVyOjp0cmFuc2ZlclRvTmV3V2ViUHJvY2VzcyhOZXR3b3JrQ29ubmVjdGlvblRv
V2ViUHJvY2VzCiAgICAgQVNTRVJUKG1fcmVzcG9uc2VDb21wbGV0aW9uSGFuZGxlciB8fCBtX2Nh
Y2hlRW50cnlXYWl0aW5nRm9yQ29udGludWVEaWRSZWNlaXZlUmVzcG9uc2UpOwogI2VuZGlmCiAg
ICAgYm9vbCB3aWxsV2FpdEZvckNvbnRpbnVlRGlkUmVjZWl2ZVJlc3BvbnNlID0gdHJ1ZTsKLSAg
ICBzZW5kKE1lc3NhZ2VzOjpXZWJSZXNvdXJjZUxvYWRlcjo6RGlkUmVjZWl2ZVJlc3BvbnNlIHsg
bV9yZXNwb25zZSwgbV9wcml2YXRlUmVsYXllZCwgd2lsbFdhaXRGb3JDb250aW51ZURpZFJlY2Vp
dmVSZXNwb25zZSB9KTsKKyAgICBzZW5kKE1lc3NhZ2VzOjpXZWJSZXNvdXJjZUxvYWRlcjo6RGlk
UmVjZWl2ZVJlc3BvbnNlIHsgbV9yZXNwb25zZSwgbV9wcml2YXRlUmVsYXllZCwgd2lsbFdhaXRG
b3JDb250aW51ZURpZFJlY2VpdmVSZXNwb25zZSwgY29tcHV0ZVJlc3BvbnNlTWV0cmljcyhtX3Jl
c3BvbnNlKSB9KTsKIH0KIAogYm9vbCBOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OnNob3VsZEludGVy
cnVwdExvYWRGb3JYRnJhbWVPcHRpb25zKGNvbnN0IFN0cmluZyYgeEZyYW1lT3B0aW9ucywgY29u
c3QgVVJMJiB1cmwpCkBAIC04NTcsNyArODcwLDcgQEAgdm9pZCBOZXR3b3JrUmVzb3VyY2VMb2Fk
ZXI6OnNlbmREaWRSZWNlaXZlUmVzcG9uc2VQb3RlbnRpYWxseUluTmV3QnJvd3NpbmdDb250ZXgK
IHsKICAgICBhdXRvIGJyb3dzaW5nQ29udGV4dEdyb3VwU3dpdGNoRGVjaXNpb24gPSB0b0Jyb3dz
aW5nQ29udGV4dEdyb3VwU3dpdGNoRGVjaXNpb24obV9jdXJyZW50Q29vcEVuZm9yY2VtZW50UmVz
dWx0KTsKICAgICBpZiAoYnJvd3NpbmdDb250ZXh0R3JvdXBTd2l0Y2hEZWNpc2lvbiA9PSBCcm93
c2luZ0NvbnRleHRHcm91cFN3aXRjaERlY2lzaW9uOjpTdGF5SW5Hcm91cCkgewotICAgICAgICBz
ZW5kKE1lc3NhZ2VzOjpXZWJSZXNvdXJjZUxvYWRlcjo6RGlkUmVjZWl2ZVJlc3BvbnNlIHsgcmVz
cG9uc2UsIHByaXZhdGVSZWxheWVkLCBuZWVkc0NvbnRpbnVlRGlkUmVjZWl2ZVJlc3BvbnNlTWVz
c2FnZSB9KTsKKyAgICAgICAgc2VuZChNZXNzYWdlczo6V2ViUmVzb3VyY2VMb2FkZXI6OkRpZFJl
Y2VpdmVSZXNwb25zZSB7IHJlc3BvbnNlLCBwcml2YXRlUmVsYXllZCwgbmVlZHNDb250aW51ZURp
ZFJlY2VpdmVSZXNwb25zZU1lc3NhZ2UsIGNvbXB1dGVSZXNwb25zZU1ldHJpY3MocmVzcG9uc2Up
IH0pOwogICAgICAgICByZXR1cm47CiAgICAgfQogCkBAIC0xMDIwLDYgKzEwMzMsMTYgQEAgc3Rk
OjpvcHRpb25hbDxTZWNvbmRzPiBOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OnZhbGlkYXRlQ2FjaGVF
bnRyeUZvck1heEFnZUNhcFZhbGkKIH0KIAogdm9pZCBOZXR3b3JrUmVzb3VyY2VMb2FkZXI6Ondp
bGxTZW5kUmVkaXJlY3RlZFJlcXVlc3QoUmVzb3VyY2VSZXF1ZXN0JiYgcmVxdWVzdCwgUmVzb3Vy
Y2VSZXF1ZXN0JiYgcmVkaXJlY3RSZXF1ZXN0LCBSZXNvdXJjZVJlc3BvbnNlJiYgcmVkaXJlY3RS
ZXNwb25zZSkKK3sKKyAgICB3aWxsU2VuZFJlZGlyZWN0ZWRSZXF1ZXN0SW50ZXJuYWwoV1RGTW92
ZShyZXF1ZXN0KSwgV1RGTW92ZShyZWRpcmVjdFJlcXVlc3QpLCBXVEZNb3ZlKHJlZGlyZWN0UmVz
cG9uc2UpLCBJc0Zyb21TZXJ2aWNlV29ya2VyOjpObyk7Cit9CisKK3ZvaWQgTmV0d29ya1Jlc291
cmNlTG9hZGVyOjp3aWxsU2VuZFNlcnZpY2VXb3JrZXJSZWRpcmVjdGVkUmVxdWVzdChSZXNvdXJj
ZVJlcXVlc3QmJiByZXF1ZXN0LCBSZXNvdXJjZVJlcXVlc3QmJiByZWRpcmVjdFJlcXVlc3QsIFJl
c291cmNlUmVzcG9uc2UmJiByZWRpcmVjdFJlc3BvbnNlKQoreworICAgIHdpbGxTZW5kUmVkaXJl
Y3RlZFJlcXVlc3RJbnRlcm5hbChXVEZNb3ZlKHJlcXVlc3QpLCBXVEZNb3ZlKHJlZGlyZWN0UmVx
dWVzdCksIFdURk1vdmUocmVkaXJlY3RSZXNwb25zZSksIElzRnJvbVNlcnZpY2VXb3JrZXI6Olll
cyk7Cit9CisKK3ZvaWQgTmV0d29ya1Jlc291cmNlTG9hZGVyOjp3aWxsU2VuZFJlZGlyZWN0ZWRS
ZXF1ZXN0SW50ZXJuYWwoUmVzb3VyY2VSZXF1ZXN0JiYgcmVxdWVzdCwgUmVzb3VyY2VSZXF1ZXN0
JiYgcmVkaXJlY3RSZXF1ZXN0LCBSZXNvdXJjZVJlc3BvbnNlJiYgcmVkaXJlY3RSZXNwb25zZSwg
SXNGcm9tU2VydmljZVdvcmtlciBpc0Zyb21TZXJ2aWNlV29ya2VyKQogewogICAgIExPQURFUl9S
RUxFQVNFX0xPRygid2lsbFNlbmRSZWRpcmVjdGVkUmVxdWVzdDoiKTsKICAgICArK21fcmVkaXJl
Y3RDb3VudDsKQEAgLTEwNDIsOSArMTA2NSwxMSBAQCB2b2lkIE5ldHdvcmtSZXNvdXJjZUxvYWRl
cjo6d2lsbFNlbmRSZWRpcmVjdGVkUmVxdWVzdChSZXNvdXJjZVJlcXVlc3QmJiByZXF1ZXN0LAog
ICAgICAgICAgICAgYWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZTo6UHJpdmF0ZUNsaWNr
TWVhc3VyZW1lbnQsIE1lc3NhZ2VMZXZlbDo6RXJyb3IsIHJlc3VsdC5lcnJvcigpKTsKICAgICB9
CiAKLSAgICBhdXRvIG1heEFnZUNhcCA9IHZhbGlkYXRlQ2FjaGVFbnRyeUZvck1heEFnZUNhcFZh
bGlkYXRpb24ocmVxdWVzdCwgcmVkaXJlY3RSZXF1ZXN0LCByZWRpcmVjdFJlc3BvbnNlKTsKLSAg
ICBpZiAocmVkaXJlY3RSZXNwb25zZS5zb3VyY2UoKSA9PSBSZXNvdXJjZVJlc3BvbnNlOjpTb3Vy
Y2U6Ok5ldHdvcmsgJiYgY2FuVXNlQ2FjaGVkUmVkaXJlY3QocmVxdWVzdCkpCi0gICAgICAgIG1f
Y2FjaGUtPnN0b3JlUmVkaXJlY3QocmVxdWVzdCwgcmVkaXJlY3RSZXNwb25zZSwgcmVkaXJlY3RS
ZXF1ZXN0LCBtYXhBZ2VDYXApOworICAgIGlmIChpc0Zyb21TZXJ2aWNlV29ya2VyID09IElzRnJv
bVNlcnZpY2VXb3JrZXI6Ok5vKSB7CisgICAgICAgIGF1dG8gbWF4QWdlQ2FwID0gdmFsaWRhdGVD
YWNoZUVudHJ5Rm9yTWF4QWdlQ2FwVmFsaWRhdGlvbihyZXF1ZXN0LCByZWRpcmVjdFJlcXVlc3Qs
IHJlZGlyZWN0UmVzcG9uc2UpOworICAgICAgICBpZiAocmVkaXJlY3RSZXNwb25zZS5zb3VyY2Uo
KSA9PSBSZXNvdXJjZVJlc3BvbnNlOjpTb3VyY2U6Ok5ldHdvcmsgJiYgY2FuVXNlQ2FjaGVkUmVk
aXJlY3QocmVxdWVzdCkpCisgICAgICAgICAgICBtX2NhY2hlLT5zdG9yZVJlZGlyZWN0KHJlcXVl
c3QsIHJlZGlyZWN0UmVzcG9uc2UsIHJlZGlyZWN0UmVxdWVzdCwgbWF4QWdlQ2FwKTsKKyAgICB9
CiAKICAgICBpZiAoaXNNYWluUmVzb3VyY2UoKSAmJiBzaG91bGRJbnRlcnJ1cHROYXZpZ2F0aW9u
Rm9yQ3Jvc3NPcmlnaW5FbWJlZGRlclBvbGljeShyZWRpcmVjdFJlc3BvbnNlKSkgewogICAgICAg
ICB0aGlzLT5kaWRGYWlsTG9hZGluZyhSZXNvdXJjZUVycm9yIHsgZXJyb3JEb21haW5XZWJLaXRJ
bnRlcm5hbCwgMCwgcmVkaXJlY3RSZXF1ZXN0LnVybCgpLCAiUmVkaXJlY3Rpb24gd2FzIGJsb2Nr
ZWQgYnkgQ3Jvc3MtT3JpZ2luLUVtYmVkZGVyLVBvbGljeSJfcywgUmVzb3VyY2VFcnJvcjo6VHlw
ZTo6QWNjZXNzQ29udHJvbCB9KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5oCmluZGV4IDUyODZmM2MwOTZjMDE2ODEzNzkzODNm
NzcxNTFkMjg1ZmUyZDU4OTcuLjE1MTdiOGVhOTAxNjY0NTI2ZTAxZTkwZmJkZmMzMGYzNmZhMzRi
OWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291
cmNlTG9hZGVyLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVz
b3VyY2VMb2FkZXIuaApAQCAtMTY1LDYgKzE2NSw4IEBAIHB1YmxpYzoKICAgICB2b2lkIGRlcmVm
KCkgY29uc3QgZmluYWwgeyBSZWZDb3VudGVkPE5ldHdvcmtSZXNvdXJjZUxvYWRlcj46OmRlcmVm
KCk7IH0KICNlbmRpZgogCisgICAgdm9pZCB3aWxsU2VuZFNlcnZpY2VXb3JrZXJSZWRpcmVjdGVk
UmVxdWVzdChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmJiwgV2ViQ29yZTo6UmVzb3VyY2VSZXF1
ZXN0JiYgcmVkaXJlY3RSZXF1ZXN0LCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJiYpOworCiBw
cml2YXRlOgogICAgIE5ldHdvcmtSZXNvdXJjZUxvYWRlcihOZXR3b3JrUmVzb3VyY2VMb2FkUGFy
YW1ldGVycyYmLCBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2VzcyYsIE1lc3NhZ2VzOjpOZXR3
b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6UGVyZm9ybVN5bmNocm9ub3VzTG9hZERlbGF5ZWRS
ZXBseSYmKTsKIApAQCAtMjQyLDYgKzI0NCwxMCBAQCBwcml2YXRlOgogICAgIHZvaWQgc3RhcnRD
b250ZW50RmlsdGVyaW5nKFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYpOwogI2VuZGlmCiAKKyAg
ICBlbnVtIGNsYXNzIElzRnJvbVNlcnZpY2VXb3JrZXIgeyBObywgWWVzIH07CisgICAgdm9pZCB3
aWxsU2VuZFJlZGlyZWN0ZWRSZXF1ZXN0SW50ZXJuYWwoV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0
JiYsIFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYmIHJlZGlyZWN0UmVxdWVzdCwgV2ViQ29yZTo6
UmVzb3VyY2VSZXNwb25zZSYmLCBJc0Zyb21TZXJ2aWNlV29ya2VyKTsKKyAgICBzdGQ6Om9wdGlv
bmFsPFdlYkNvcmU6Ok5ldHdvcmtMb2FkTWV0cmljcz4gY29tcHV0ZVJlc3BvbnNlTWV0cmljcyhj
b25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJik7CisKICAgICBjb25zdCBOZXR3b3JrUmVz
b3VyY2VMb2FkUGFyYW1ldGVycyBtX3BhcmFtZXRlcnM7CiAKICAgICBSZWY8TmV0d29ya0Nvbm5l
Y3Rpb25Ub1dlYlByb2Nlc3M+IG1fY29ubmVjdGlvbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9TZXJ2aWNlV29ya2VyRmV0Y2hUYXNrLmNw
cCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9TZXJ2aWNlV29y
a2VyRmV0Y2hUYXNrLmNwcAppbmRleCBkMzg2YjJhNTNhN2Y2NDFjZDBkZDRjYzRmOGQ4MjJiMjVi
MzY5ZmEwLi5jN2FlYWQ2MTNjM2JjYmI5M2I2YzYwMGM1MTJlYjQ3YzJlNDgzNDkzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvU2VydmljZVdv
cmtlckZldGNoVGFzay5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TZXJ2
aWNlV29ya2VyL1NlcnZpY2VXb3JrZXJGZXRjaFRhc2suY3BwCkBAIC0xODMsNyArMTgzLDcgQEAg
dm9pZCBTZXJ2aWNlV29ya2VyRmV0Y2hUYXNrOjpwcm9jZXNzUmVkaXJlY3RSZXNwb25zZShSZXNv
dXJjZVJlc3BvbnNlJiYgcmVzcG9uc2UKICAgICAgICAgcmVzcG9uc2Uuc2V0U291cmNlKFJlc291
cmNlUmVzcG9uc2U6OlNvdXJjZTo6U2VydmljZVdvcmtlcik7CiAgICAgYXV0byBuZXdSZXF1ZXN0
ID0gbV9jdXJyZW50UmVxdWVzdC5yZWRpcmVjdGVkUmVxdWVzdChyZXNwb25zZSwgbV9sb2FkZXIu
cGFyYW1ldGVycygpLnNob3VsZENsZWFyUmVmZXJyZXJPbkhUVFBTVG9IVFRQUmVkaXJlY3QpOwog
Ci0gICAgc2VuZFRvQ2xpZW50KE1lc3NhZ2VzOjpXZWJSZXNvdXJjZUxvYWRlcjo6V2lsbFNlbmRS
ZXF1ZXN0IHsgbmV3UmVxdWVzdCwgSVBDOjpGb3JtRGF0YVJlZmVyZW5jZSB7IG5ld1JlcXVlc3Qu
aHR0cEJvZHkoKSB9LCByZXNwb25zZSB9KTsKKyAgICBtX2xvYWRlci53aWxsU2VuZFNlcnZpY2VX
b3JrZXJSZWRpcmVjdGVkUmVxdWVzdChSZXNvdXJjZVJlcXVlc3QobV9jdXJyZW50UmVxdWVzdCks
IFdURk1vdmUobmV3UmVxdWVzdCksIFdURk1vdmUocmVzcG9uc2UpKTsKIH0KIAogdm9pZCBTZXJ2
aWNlV29ya2VyRmV0Y2hUYXNrOjpkaWRSZWNlaXZlUmVzcG9uc2UoV2ViQ29yZTo6UmVzb3VyY2VS
ZXNwb25zZSYmIHJlc3BvbnNlLCBib29sIG5lZWRzQ29udGludWVEaWRSZWNlaXZlUmVzcG9uc2VN
ZXNzYWdlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TZXJ2aWNl
V29ya2VyL1NlcnZpY2VXb3JrZXJOYXZpZ2F0aW9uUHJlbG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9TZXJ2aWNlV29ya2VyTmF2aWdhdGlvblBy
ZWxvYWRlci5jcHAKaW5kZXggZDZlZjUxYWE5MmMxMDljNjg3ZTA3YzAzNWJmYWIwYWI1YjdlMjYz
Ni4uYzFjMDEzNTBiMDcwYTM4ZWZiNDI5MDM2NzE3MDM0MzE4YjcxNGNlNyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1NlcnZpY2VXb3JrZXJO
YXZpZ2F0aW9uUHJlbG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L1NlcnZpY2VXb3JrZXIvU2VydmljZVdvcmtlck5hdmlnYXRpb25QcmVsb2FkZXIuY3BwCkBAIC0x
NTQsOCArMTU0LDEwIEBAIHZvaWQgU2VydmljZVdvcmtlck5hdmlnYXRpb25QcmVsb2FkZXI6Omxv
YWRGcm9tTmV0d29yaygpCiAKIHZvaWQgU2VydmljZVdvcmtlck5hdmlnYXRpb25QcmVsb2FkZXI6
OndpbGxTZW5kUmVkaXJlY3RlZFJlcXVlc3QoUmVzb3VyY2VSZXF1ZXN0JiYsIFJlc291cmNlUmVx
dWVzdCYmLCBSZXNvdXJjZVJlc3BvbnNlJiYgcmVzcG9uc2UpCiB7Ci0gICAgZGlkUmVjZWl2ZVJl
c3BvbnNlKFdURk1vdmUocmVzcG9uc2UpLCBQcml2YXRlUmVsYXllZDo6Tm8sIFtdKGF1dG8pIHsg
fSk7Ci0gICAgZGlkQ29tcGxldGUoKTsKKyAgICBkaWRSZWNlaXZlUmVzcG9uc2UoV1RGTW92ZShy
ZXNwb25zZSksIFByaXZhdGVSZWxheWVkOjpObywgW3dlYWtUaGlzID0gV2Vha1B0ciB7ICp0aGlz
IH1dKGF1dG8pIHsKKyAgICAgICAgaWYgKHdlYWtUaGlzKQorICAgICAgICAgICAgd2Vha1RoaXMt
PmRpZENvbXBsZXRlKCk7CisgICAgfSk7CiB9CiAKIHZvaWQgU2VydmljZVdvcmtlck5hdmlnYXRp
b25QcmVsb2FkZXI6OmRpZFJlY2VpdmVSZXNwb25zZShSZXNvdXJjZVJlc3BvbnNlJiYgcmVzcG9u
c2UsIFByaXZhdGVSZWxheWVkLCBSZXNwb25zZUNvbXBsZXRpb25IYW5kbGVyJiYgY29tcGxldGlv
bkhhbmRsZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay9X
ZWJSZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay9X
ZWJSZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggNzBmODEwZmZiN2YxZDVjZDU2NDc0MDAwOGE4MWI2
OWNjMTE1M2ViMC4uOTkwNDlkZTAyNGIxMjBiNTdjYmRhYzUzMTUwMmUxOTNhNzJmMmFjNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2Fk
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNl
TG9hZGVyLmNwcApAQCAtMTQ5LDEzICsxNDksMTYgQEAgdm9pZCBXZWJSZXNvdXJjZUxvYWRlcjo6
ZGlkU2VuZERhdGEodWludDY0X3QgYnl0ZXNTZW50LCB1aW50NjRfdCB0b3RhbEJ5dGVzVG9CZVMK
ICAgICBtX2NvcmVMb2FkZXItPmRpZFNlbmREYXRhKGJ5dGVzU2VudCwgdG90YWxCeXRlc1RvQmVT
ZW50KTsKIH0KIAotdm9pZCBXZWJSZXNvdXJjZUxvYWRlcjo6ZGlkUmVjZWl2ZVJlc3BvbnNlKGNv
bnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlLCBQcml2YXRlUmVsYXllZCBwcml2YXRlUmVs
YXllZCwgYm9vbCBuZWVkc0NvbnRpbnVlRGlkUmVjZWl2ZVJlc3BvbnNlTWVzc2FnZSkKK3ZvaWQg
V2ViUmVzb3VyY2VMb2FkZXI6OmRpZFJlY2VpdmVSZXNwb25zZShSZXNvdXJjZVJlc3BvbnNlJiYg
cmVzcG9uc2UsIFByaXZhdGVSZWxheWVkIHByaXZhdGVSZWxheWVkLCBib29sIG5lZWRzQ29udGlu
dWVEaWRSZWNlaXZlUmVzcG9uc2VNZXNzYWdlLCBzdGQ6Om9wdGlvbmFsPE5ldHdvcmtMb2FkTWV0
cmljcz4mJiBtZXRyaWNzKQogewogICAgIExPRyhOZXR3b3JrLCAiKFdlYlByb2Nlc3MpIFdlYlJl
c291cmNlTG9hZGVyOjpkaWRSZWNlaXZlUmVzcG9uc2UgZm9yICclcycuIFN0YXR1cyAlZC4iLCBt
X2NvcmVMb2FkZXItPnVybCgpLnN0cmluZygpLmxhdGluMSgpLmRhdGEoKSwgcmVzcG9uc2UuaHR0
cFN0YXR1c0NvZGUoKSk7CiAgICAgV0VCUkVTT1VSQ0VMT0FERVJfUkVMRUFTRV9MT0coImRpZFJl
Y2VpdmVSZXNwb25zZTogKGh0dHBTdGF0dXNDb2RlPSVkKSIsIHJlc3BvbnNlLmh0dHBTdGF0dXND
b2RlKCkpOwogCiAgICAgUmVmPFdlYlJlc291cmNlTG9hZGVyPiBwcm90ZWN0ZWRUaGlzKCp0aGlz
KTsKIAorICAgIGlmIChtZXRyaWNzKQorICAgICAgICByZXNwb25zZS5zZXREZXByZWNhdGVkTmV0
d29ya0xvYWRNZXRyaWNzKEJveDxOZXR3b3JrTG9hZE1ldHJpY3M+OjpjcmVhdGUoV1RGTW92ZSgq
bWV0cmljcykpKTsKKwogICAgIGlmIChwcml2YXRlUmVsYXllZCA9PSBQcml2YXRlUmVsYXllZDo6
WWVzICYmIG1haW5GcmFtZU1haW5SZXNvdXJjZSgpID09IE1haW5GcmFtZU1haW5SZXNvdXJjZTo6
WWVzKQogICAgICAgICBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5zZXRIYWRNYWluRnJhbWVNYWlu
UmVzb3VyY2VQcml2YXRlUmVsYXllZCgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5oIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuaAppbmRleCA4ODlkN2ZmODQxNmJmYWIx
OTFmYTg2ZjNlZTJlNzhlODliZDJhZGQ2Li5jNmMxNDIyZWZmZDY4MzZmNTYyYTBkYjA1ODg3ZGNm
MDEyZjVkY2U2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay9X
ZWJSZXNvdXJjZUxvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3Jr
L1dlYlJlc291cmNlTG9hZGVyLmgKQEAgLTg1LDcgKzg1LDcgQEAgcHJpdmF0ZToKIAogICAgIHZv
aWQgd2lsbFNlbmRSZXF1ZXN0KFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYmLCBJUEM6OkZvcm1E
YXRhUmVmZXJlbmNlJiYgcmVxdWVzdEJvZHksIFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmJik7
CiAgICAgdm9pZCBkaWRTZW5kRGF0YSh1aW50NjRfdCBieXRlc1NlbnQsIHVpbnQ2NF90IHRvdGFs
Qnl0ZXNUb0JlU2VudCk7Ci0gICAgdm9pZCBkaWRSZWNlaXZlUmVzcG9uc2UoY29uc3QgV2ViQ29y
ZTo6UmVzb3VyY2VSZXNwb25zZSYsIFByaXZhdGVSZWxheWVkLCBib29sIG5lZWRzQ29udGludWVE
aWRSZWNlaXZlUmVzcG9uc2VNZXNzYWdlKTsKKyAgICB2b2lkIGRpZFJlY2VpdmVSZXNwb25zZShX
ZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJiYsIFByaXZhdGVSZWxheWVkLCBib29sIG5lZWRzQ29u
dGludWVEaWRSZWNlaXZlUmVzcG9uc2VNZXNzYWdlLCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6Ok5l
dHdvcmtMb2FkTWV0cmljcz4mJik7CiAgICAgdm9pZCBkaWRSZWNlaXZlRGF0YShjb25zdCBJUEM6
OlNoYXJlZEJ1ZmZlckNvcHkmIGRhdGEsIGludDY0X3QgZW5jb2RlZERhdGFMZW5ndGgpOwogICAg
IHZvaWQgZGlkRmluaXNoUmVzb3VyY2VMb2FkKGNvbnN0IFdlYkNvcmU6Ok5ldHdvcmtMb2FkTWV0
cmljcyYpOwogICAgIHZvaWQgZGlkRmFpbFJlc291cmNlTG9hZChjb25zdCBXZWJDb3JlOjpSZXNv
dXJjZUVycm9yJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29y
ay9XZWJSZXNvdXJjZUxvYWRlci5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLm1lc3NhZ2VzLmluCmluZGV4IDZjMWJiNWI2ZmJj
YzJiMzIxMzkwYTZlOGNkYzI3NDFlNjA2Yjg5OWIuLmVhZTA1NTQzMDBhN2FkMDA5Mzk1NDIxNGI5
MDY1ZjJiMGI4OTJkYzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3
b3JrL1dlYlJlc291cmNlTG9hZGVyLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLm1lc3NhZ2VzLmluCkBAIC0yMyw3ICsy
Myw3IEBACiBtZXNzYWdlcyAtPiBXZWJSZXNvdXJjZUxvYWRlciBMZWdhY3lSZWNlaXZlciB7CiAg
ICAgV2lsbFNlbmRSZXF1ZXN0KFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCByZXF1ZXN0LCBJUEM6
OkZvcm1EYXRhUmVmZXJlbmNlIHJlcXVlc3RCb2R5LCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNl
IHJlZGlyZWN0UmVzcG9uc2UpCiAgICAgRGlkU2VuZERhdGEodWludDY0X3QgYnl0ZXNTZW50LCB1
aW50NjRfdCB0b3RhbEJ5dGVzVG9CZVNlbnQpCi0gICAgRGlkUmVjZWl2ZVJlc3BvbnNlKFdlYkNv
cmU6OlJlc291cmNlUmVzcG9uc2UgcmVzcG9uc2UsIGVudW06Ym9vbCBXZWJLaXQ6OlByaXZhdGVS
ZWxheWVkIHByaXZhdGVSZWxheWVkLCBib29sIG5lZWRzQ29udGludWVEaWRSZWNlaXZlUmVzcG9u
c2VNZXNzYWdlKQorICAgIERpZFJlY2VpdmVSZXNwb25zZShXZWJDb3JlOjpSZXNvdXJjZVJlc3Bv
bnNlIHJlc3BvbnNlLCBlbnVtOmJvb2wgV2ViS2l0OjpQcml2YXRlUmVsYXllZCBwcml2YXRlUmVs
YXllZCwgYm9vbCBuZWVkc0NvbnRpbnVlRGlkUmVjZWl2ZVJlc3BvbnNlTWVzc2FnZSwgc3RkOjpv
cHRpb25hbDxXZWJDb3JlOjpOZXR3b3JrTG9hZE1ldHJpY3M+IG9wdGlvbmFsTmV0d29ya0xvYWRN
ZXRyaWNzKQogICAgIERpZFJlY2VpdmVEYXRhKElQQzo6U2hhcmVkQnVmZmVyQ29weSBkYXRhLCBp
bnQ2NF90IGVuY29kZWREYXRhTGVuZ3RoKQogICAgIERpZEZpbmlzaFJlc291cmNlTG9hZChXZWJD
b3JlOjpOZXR3b3JrTG9hZE1ldHJpY3MgbmV0d29ya0xvYWRNZXRyaWNzKQogICAgIERpZEZhaWxS
ZXNvdXJjZUxvYWQoV2ViQ29yZTo6UmVzb3VyY2VFcnJvciBlcnJvcikKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA0YTM3M2Vm
NjJkM2VkYTZjYTVkYTc3ZDI5YTI1OGViMjMyY2FhZmI5Li40YjI0YmYxZjVjZWViYTc4NDFhOTUw
MzgwMmY1YWYzNWY1ZWZhY2M0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysr
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjItMDMtMTQgIFlv
dWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIHJlZGlyZWN0Q291bnQg
cmV0dXJucyAwIHdoZW4gdXNpbmcgYSBTZXJ2aWNlIFdvcmtlcgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM1NzEwCisgICAgICAgIDxyZGFyOi8vcHJv
YmxlbS84ODQzMjE5MD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIGh0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9uYXZpZ2F0aW9uLXJlZGlyZWN0LW1h
aW4tZnJhbWUuaHR0cHMuaHRtbDoKKwogMjAyMi0wMy0xMiAgSmVhbi1ZdmVzIEF2ZW5hcmQgIDxq
eWFAYXBwbGUuY29tPgogCiAgICAgICAgIFNhZmFyaSBwcm9kdWNlcyBzY3JhbWJsZWQgb3V0cHV0
IGZvciBzb21lIHdlYm0gdmlkZW9zIHdpdGggdnA4IGNvZGVjLgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9D
aGFuZ2VMb2cKaW5kZXggZDhhOWE1NTU1YTAwY2JmNDE2NzJmNGE3YjhlNGMyNGRlZTBiNWViNy4u
NjA5NjgwZGQyMmE0MTk4NGI2NzMxOTVhNjZmMWM4OWM0NjVjOTIyYiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjItMDMtMTQgIFlvdWVubiBGYWJs
ZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIHJlZGlyZWN0Q291bnQgcmV0dXJucyAw
IHdoZW4gdXNpbmcgYSBTZXJ2aWNlIFdvcmtlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM1NzEwCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84ODQz
MjE5MD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvbmF2aWdh
dGlvbi1wcmVsb2FkL3Jlc291cmNlLXRpbWluZy5odHRwcy1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZWRp
cmVjdGVkLXJlc3BvbnNlLmh0dHBzLWV4cGVjdGVkLnR4dDoKKwogMjAyMi0wMy0xMSAgQW50b2lu
ZSBRdWludCAgPGdyYW91dHNAd2Via2l0Lm9yZz4KIAogICAgICAgICBbd2ViLWFuaW1hdGlvbnNd
IHNoYXBlLXJlbmRlcmluZyBzaG91bGQgc3VwcG9ydCBkaXNjcmV0ZSBhbmltYXRpb24KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9uYXZpZ2F0aW9uLXJl
ZGlyZWN0LW1haW4tZnJhbWUuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3NlcnZp
Y2Utd29ya2Vycy9uYXZpZ2F0aW9uLXJlZGlyZWN0LW1haW4tZnJhbWUuaHR0cHMuaHRtbAppbmRl
eCAyMDlmOGJmMmRjYjVkMjY2NTBjYmU2Mzc1Njg4ODZlYTg3Y2JjZDk0Li5kOTc0MmFlNjgxYzcx
NDIwODUwNmI5ZDdjMGFlMTM5Y2IzYTUwZmQxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRw
L3dwdC9zZXJ2aWNlLXdvcmtlcnMvbmF2aWdhdGlvbi1yZWRpcmVjdC1tYWluLWZyYW1lLmh0dHBz
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvc2VydmljZS13b3JrZXJzL25hdmlnYXRp
b24tcmVkaXJlY3QtbWFpbi1mcmFtZS5odHRwcy5odG1sCkBAIC03LDE0ICs3LDE5IEBACiBhc3lu
YyBmdW5jdGlvbiBkb1Rlc3QoKQogewogICAgIGlmICh3aW5kb3cubG9jYXRpb24uaGFzaCA9PT0g
IiNyZWRpcmVjdGVkIikgewotICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAg
ICAgICBkb2N1bWVudC5ib2R5LmlubmVySFRNTCA9IHRlc3RSdW5uZXIuZGlkUmVjZWl2ZVNlcnZl
clJlZGlyZWN0Rm9yUHJvdmlzaW9uYWxOYXZpZ2F0aW9uID8gIlBBU1MiIDogIkZBSUwiOwotICAg
ICAgICBlbHNlCi0gICAgICAgICAgICBkb2N1bWVudC5ib2R5LmlubmVySFRNTCA9ICJQQVNTIjsK
LSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgICAgIGxldCBzdGF0dXMgPSAi
UEFTUyI7CisgICAgICAgIGlmICh3aW5kb3cucGVyZm9ybWFuY2UubmF2aWdhdGlvbi5yZWRpcmVj
dENvdW50ICE9PSAxKQorICAgICAgICAgICAgICAgICBzdGF0dXMgPSAiRkFJTDogcmVkaXJlY3RD
b3VudCBpcyAiICsgd2luZG93LnBlcmZvcm1hbmNlLm5hdmlnYXRpb24ucmVkaXJlY3RDb3VudDsK
KyAgICAgICAgZWxzZSBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICAgICAgICAgICBpZiAo
IXRlc3RSdW5uZXIuZGlkUmVjZWl2ZVNlcnZlclJlZGlyZWN0Rm9yUHJvdmlzaW9uYWxOYXZpZ2F0
aW9uKQorICAgICAgICAgICAgICAgICBzdGF0dXMgPSAiRkFJTDogbm8gc2VydmVyIHJlZGlyZWN0
IGZvciBwcm92aXNpb25hbCBuYXZpZ2F0aW9uICI7CiAgICAgICAgICAgICB0ZXN0UnVubmVyLmNs
ZWFyRGlkUmVjZWl2ZVNlcnZlclJlZGlyZWN0Rm9yUHJvdmlzaW9uYWxOYXZpZ2F0aW9uKCk7Ci0g
ICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKICAgICAgICAgfQorCisgICAgICAg
IGRvY3VtZW50LmJvZHkuaW5uZXJIVE1MID0gc3RhdHVzOworCisgICAgICAgIGlmICh3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwogICAgICAg
ICByZXR1cm47CiAgICAgfQogICAgIHZhciByZWdpc3RyYXRpb24gPSBhd2FpdCBuYXZpZ2F0b3Iu
c2VydmljZVdvcmtlci5yZWdpc3RlcigibmF2aWdhdGlvbi1yZWRpcmVjdC1tYWluLWZyYW1lLXdv
cmtlci5qcyIsIHsgc2NvcGUgOiAicmVzb3VyY2VzIiB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL25hdmlnYXRpb24tcHJlbG9hZC9yZXNvdXJjZS10aW1pbmcuaHR0cHMtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2
aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvbmF2aWdhdGlvbi1wcmVsb2FkL3Jlc291cmNlLXRp
bWluZy5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggODEyMTJlMDEwOTNlNmRkODg2MTI0YTExOTE2
MWVhODI1OGVmMmFmOS4uZTI5N2E5NjBlYTdhNmI5NDhhMThmNjQzOWM1NTNiZjAwOTgxMjk1NyAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
ZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvbmF2aWdhdGlvbi1wcmVsb2FkL3Jlc291cmNl
LXRpbWluZy5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvbmF2aWdh
dGlvbi1wcmVsb2FkL3Jlc291cmNlLXRpbWluZy5odHRwcy1leHBlY3RlZC50eHQKQEAgLTEsNCAr
MSwzIEBACiAKLQotRkFJTCBOYXZpZ2F0aW9uIFByZWxvYWQgUmVzb3VyY2UgVGltaW5nLiBhc3Nl
cnRfZ3JlYXRlcl90aGFuOiB0cmFuc2ZlclNpemUgbXVzdCBncmVhdGVyIHRoZW4gZW5jb2RlZEJv
ZHlTaXplLiBleHBlY3RlZCBhIG51bWJlciBncmVhdGVyIHRoYW4gMCBidXQgZ290IDAKK1BBU1Mg
TmF2aWdhdGlvbiBQcmVsb2FkIFJlc291cmNlIFRpbWluZy4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vy
dmljZS13b3JrZXIvcmVkaXJlY3RlZC1yZXNwb25zZS5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9z
ZXJ2aWNlLXdvcmtlci9yZWRpcmVjdGVkLXJlc3BvbnNlLmh0dHBzLWV4cGVjdGVkLnR4dAppbmRl
eCBhZjM1NDRlZTIyM2M0MDUzOGJiMzQ1MzQzNDFkZGZmZDVhOGVkOWY3Li43ZGY5NzdiNDljZTU1
ZDllYWJhOGZmMTk2MjliYzc1YWRiOGRiNjhhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci9yZWRpcmVjdGVkLXJlc3BvbnNlLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNl
LXdvcmtlci9yZWRpcmVjdGVkLXJlc3BvbnNlLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMTksNyAr
MTksNyBAQCBQQVNTIG1vZGU6ICJlcnJvciIsIG1hbnVhbGx5LWdlbmVyYXRlZCByZWRpcmVjdCBy
ZXNwb25zZQogUEFTUyBtb2RlOiAibWFudWFsIiwgbWFudWFsbHktZ2VuZXJhdGVkIHJlZGlyZWN0
IHJlc3BvbnNlCiBQQVNTIG1vZGU6ICJmb2xsb3ciLCBnZW5lcmF0ZWQgcmVsYXRpdmUgcmVkaXJl
Y3QgcmVzcG9uc2UKIFBBU1MgbW9kZTogImVycm9yIiwgZ2VuZXJhdGVkIHJlbGF0aXZlIHJlZGly
ZWN0IHJlc3BvbnNlCi1GQUlMIG1vZGU6ICJtYW51YWwiLCBnZW5lcmF0ZWQgcmVsYXRpdmUgcmVk
aXJlY3QgcmVzcG9uc2UgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFs
dWU6IG9iamVjdCAiVHlwZUVycm9yOiBMb2FkIGZhaWxlZCIKK1BBU1MgbW9kZTogIm1hbnVhbCIs
IGdlbmVyYXRlZCByZWxhdGl2ZSByZWRpcmVjdCByZXNwb25zZQogUEFTUyBGZXRjaCBzaG91bGQg
Zm9sbG93IHRoZSByZWRpcmVjdCByZXNwb25zZSAyMCB0aW1lcwogUEFTUyBGZXRjaCBzaG91bGQg
bm90IGZvbGxvdyB0aGUgcmVkaXJlY3QgcmVzcG9uc2UgMjEgdGltZXMuCiBQQVNTIFRoZSBVUkwg
Zm9yIHRoZSBzZXJ2aWNlIHdvcmtlciByZWRpcmVjdGVkIHJlcXVlc3Qgc2hvdWxkIGJlIHByb3Bh
Z2F0ZWQgdG8gcmVzcG9uc2UuCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>454815</attachid>
            <date>2022-03-16 03:22:40 -0700</date>
            <delta_ts>2022-03-16 05:53:44 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-235710-20220316112238.patch</filename>
            <type>text/plain</type>
            <size>18451</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkxMjY2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGQ2M2FlY2E2ZThjZjZkNDlh
ZmMwOTNiOTUyYWZmNDRmYmI1MDQ0ZWMuLjVjMWQ3NTdlY2VkNmJlZWJhYjJiYzNmMzAyMTBhZWNh
YWU4YTlhN2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMjItMDMtMTYgIFlvdWVubiBG
YWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIHJlZGlyZWN0Q291bnQgcmV0dXJu
cyAwIHdoZW4gdXNpbmcgYSBTZXJ2aWNlIFdvcmtlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM1NzEwCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84
ODQzMjE5MD4KKworICAgICAgICBSZXZpZXdlZCBieSBDaHJpcyBEdW1lei4KKworICAgICAgICBQ
YXNzIGFuIG9wdGlvbmFsIE5ldHdvcmtMb2FkTWV0cmljcyB3aGVuIHNlbmRpbmcgdGhlIHJlc3Bv
bnNlIHRvIHdlYiBwcm9jZXNzLgorICAgICAgICBJbmNsdWRlIHRoZSByZWRpcmVjdENvdW50IHZh
bHVlIGNvbXB1dGVkIGJ5IE5ldHdvcmtSZXNvdXJjZUxvYWRlci4KKyAgICAgICAgTWFrZSBzZXJ2
aWNlIHdvcmtlciByZWRpcmVjdGlvbnMgZ28gdGhyb3VnaCBOZXR3b3JrUmVzb3VyY2VMb2FkZXIg
dG8gc2V0IHRoZSByZWRpcmVjdENvdW50IHZhbHVlIGFuZCBmb3IgY29ycmVjdG5lc3MuCisKKyAg
ICAgICAgQ292ZXJlZCBieSB1cGRhdGVkIHRlc3QuCisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vz
cy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL1Nl
cnZpY2VXb3JrZXIvU2VydmljZVdvcmtlckZldGNoVGFzay5jcHA6CisgICAgICAgIChXZWJLaXQ6
OlNlcnZpY2VXb3JrZXJGZXRjaFRhc2s6OnByb2Nlc3NSZWRpcmVjdFJlc3BvbnNlKToKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAq
IFdlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5oOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5tZXNzYWdlcy5pbjoKKwogMjAyMi0wMy0x
NiAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgQXVkaW9Db250
ZXh0IGlzIHN1c3BlbmRlZCBvbiBpT1Mgd2hlbiBwYWdlIGlzIGJhY2tncm91bmRlZApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIu
Y3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIu
Y3BwCmluZGV4IGQ0ODRkY2I2OTRiN2I0YWRjMThjNmExZWQ1YTAwZjg1ZGVkZmNjMjIuLjBhNTA1
YmE0YzYyOWYxMTc3MzIyMTcyMmNiODk2N2UwYzYxMGM4YjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKQEAgLTU1
OSw2ICs1NTksMTkgQEAgdm9pZCBOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OmFib3J0KCkKICAgICBj
bGVhbnVwKExvYWRSZXN1bHQ6OkNhbmNlbCk7CiB9CiAKK3N0ZDo6b3B0aW9uYWw8TmV0d29ya0xv
YWRNZXRyaWNzPiBOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OmNvbXB1dGVSZXNwb25zZU1ldHJpY3Mo
Y29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UpIGNvbnN0Cit7CisgICAgaWYgKHBhcmFt
ZXRlcnMoKS5vcHRpb25zLm1vZGUgIT0gRmV0Y2hPcHRpb25zOjpNb2RlOjpOYXZpZ2F0ZSkKKyAg
ICAgICAgcmV0dXJuIHsgfTsKKworICAgIE5ldHdvcmtMb2FkTWV0cmljcyBuZXR3b3JrTG9hZE1l
dHJpY3M7CisgICAgaWYgKGF1dG8qIG1ldHJpY3MgPSByZXNwb25zZS5kZXByZWNhdGVkTmV0d29y
a0xvYWRNZXRyaWNzT3JOdWxsKCkpCisgICAgICAgIG5ldHdvcmtMb2FkTWV0cmljcyA9ICptZXRy
aWNzOworICAgIG5ldHdvcmtMb2FkTWV0cmljcy5yZWRpcmVjdENvdW50ID0gbV9yZWRpcmVjdENv
dW50OworCisgICAgcmV0dXJuIG5ldHdvcmtMb2FkTWV0cmljczsKK30KKwogdm9pZCBOZXR3b3Jr
UmVzb3VyY2VMb2FkZXI6OnRyYW5zZmVyVG9OZXdXZWJQcm9jZXNzKE5ldHdvcmtDb25uZWN0aW9u
VG9XZWJQcm9jZXNzJiBuZXdDb25uZWN0aW9uLCBXZWJDb3JlOjpSZXNvdXJjZUxvYWRlcklkZW50
aWZpZXIgbmV3Q29yZUlkZW50aWZpZXIpCiB7CiAgICAgbV9jb25uZWN0aW9uID0gbmV3Q29ubmVj
dGlvbjsKQEAgLTU3MCw3ICs1ODMsNyBAQCB2b2lkIE5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6dHJh
bnNmZXJUb05ld1dlYlByb2Nlc3MoTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2NlcwogICAgIEFT
U0VSVChtX3Jlc3BvbnNlQ29tcGxldGlvbkhhbmRsZXIgfHwgbV9jYWNoZUVudHJ5V2FpdGluZ0Zv
ckNvbnRpbnVlRGlkUmVjZWl2ZVJlc3BvbnNlKTsKICNlbmRpZgogICAgIGJvb2wgd2lsbFdhaXRG
b3JDb250aW51ZURpZFJlY2VpdmVSZXNwb25zZSA9IHRydWU7Ci0gICAgc2VuZChNZXNzYWdlczo6
V2ViUmVzb3VyY2VMb2FkZXI6OkRpZFJlY2VpdmVSZXNwb25zZSB7IG1fcmVzcG9uc2UsIG1fcHJp
dmF0ZVJlbGF5ZWQsIHdpbGxXYWl0Rm9yQ29udGludWVEaWRSZWNlaXZlUmVzcG9uc2UgfSk7Cisg
ICAgc2VuZChNZXNzYWdlczo6V2ViUmVzb3VyY2VMb2FkZXI6OkRpZFJlY2VpdmVSZXNwb25zZSB7
IG1fcmVzcG9uc2UsIG1fcHJpdmF0ZVJlbGF5ZWQsIHdpbGxXYWl0Rm9yQ29udGludWVEaWRSZWNl
aXZlUmVzcG9uc2UsIGNvbXB1dGVSZXNwb25zZU1ldHJpY3MobV9yZXNwb25zZSkgfSk7CiB9CiAK
IGJvb2wgTmV0d29ya1Jlc291cmNlTG9hZGVyOjpzaG91bGRJbnRlcnJ1cHRMb2FkRm9yWEZyYW1l
T3B0aW9ucyhjb25zdCBTdHJpbmcmIHhGcmFtZU9wdGlvbnMsIGNvbnN0IFVSTCYgdXJsKQpAQCAt
ODU3LDcgKzg3MCw3IEBAIHZvaWQgTmV0d29ya1Jlc291cmNlTG9hZGVyOjpzZW5kRGlkUmVjZWl2
ZVJlc3BvbnNlUG90ZW50aWFsbHlJbk5ld0Jyb3dzaW5nQ29udGV4CiB7CiAgICAgYXV0byBicm93
c2luZ0NvbnRleHRHcm91cFN3aXRjaERlY2lzaW9uID0gdG9Ccm93c2luZ0NvbnRleHRHcm91cFN3
aXRjaERlY2lzaW9uKG1fY3VycmVudENvb3BFbmZvcmNlbWVudFJlc3VsdCk7CiAgICAgaWYgKGJy
b3dzaW5nQ29udGV4dEdyb3VwU3dpdGNoRGVjaXNpb24gPT0gQnJvd3NpbmdDb250ZXh0R3JvdXBT
d2l0Y2hEZWNpc2lvbjo6U3RheUluR3JvdXApIHsKLSAgICAgICAgc2VuZChNZXNzYWdlczo6V2Vi
UmVzb3VyY2VMb2FkZXI6OkRpZFJlY2VpdmVSZXNwb25zZSB7IHJlc3BvbnNlLCBwcml2YXRlUmVs
YXllZCwgbmVlZHNDb250aW51ZURpZFJlY2VpdmVSZXNwb25zZU1lc3NhZ2UgfSk7CisgICAgICAg
IHNlbmQoTWVzc2FnZXM6OldlYlJlc291cmNlTG9hZGVyOjpEaWRSZWNlaXZlUmVzcG9uc2UgeyBy
ZXNwb25zZSwgcHJpdmF0ZVJlbGF5ZWQsIG5lZWRzQ29udGludWVEaWRSZWNlaXZlUmVzcG9uc2VN
ZXNzYWdlLCBjb21wdXRlUmVzcG9uc2VNZXRyaWNzKHJlc3BvbnNlKSB9KTsKICAgICAgICAgcmV0
dXJuOwogICAgIH0KIApAQCAtMTAyMCw2ICsxMDMzLDE2IEBAIHN0ZDo6b3B0aW9uYWw8U2Vjb25k
cz4gTmV0d29ya1Jlc291cmNlTG9hZGVyOjp2YWxpZGF0ZUNhY2hlRW50cnlGb3JNYXhBZ2VDYXBW
YWxpCiB9CiAKIHZvaWQgTmV0d29ya1Jlc291cmNlTG9hZGVyOjp3aWxsU2VuZFJlZGlyZWN0ZWRS
ZXF1ZXN0KFJlc291cmNlUmVxdWVzdCYmIHJlcXVlc3QsIFJlc291cmNlUmVxdWVzdCYmIHJlZGly
ZWN0UmVxdWVzdCwgUmVzb3VyY2VSZXNwb25zZSYmIHJlZGlyZWN0UmVzcG9uc2UpCit7CisgICAg
d2lsbFNlbmRSZWRpcmVjdGVkUmVxdWVzdEludGVybmFsKFdURk1vdmUocmVxdWVzdCksIFdURk1v
dmUocmVkaXJlY3RSZXF1ZXN0KSwgV1RGTW92ZShyZWRpcmVjdFJlc3BvbnNlKSwgSXNGcm9tU2Vy
dmljZVdvcmtlcjo6Tm8pOworfQorCit2b2lkIE5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6d2lsbFNl
bmRTZXJ2aWNlV29ya2VyUmVkaXJlY3RlZFJlcXVlc3QoUmVzb3VyY2VSZXF1ZXN0JiYgcmVxdWVz
dCwgUmVzb3VyY2VSZXF1ZXN0JiYgcmVkaXJlY3RSZXF1ZXN0LCBSZXNvdXJjZVJlc3BvbnNlJiYg
cmVkaXJlY3RSZXNwb25zZSkKK3sKKyAgICB3aWxsU2VuZFJlZGlyZWN0ZWRSZXF1ZXN0SW50ZXJu
YWwoV1RGTW92ZShyZXF1ZXN0KSwgV1RGTW92ZShyZWRpcmVjdFJlcXVlc3QpLCBXVEZNb3ZlKHJl
ZGlyZWN0UmVzcG9uc2UpLCBJc0Zyb21TZXJ2aWNlV29ya2VyOjpZZXMpOworfQorCit2b2lkIE5l
dHdvcmtSZXNvdXJjZUxvYWRlcjo6d2lsbFNlbmRSZWRpcmVjdGVkUmVxdWVzdEludGVybmFsKFJl
c291cmNlUmVxdWVzdCYmIHJlcXVlc3QsIFJlc291cmNlUmVxdWVzdCYmIHJlZGlyZWN0UmVxdWVz
dCwgUmVzb3VyY2VSZXNwb25zZSYmIHJlZGlyZWN0UmVzcG9uc2UsIElzRnJvbVNlcnZpY2VXb3Jr
ZXIgaXNGcm9tU2VydmljZVdvcmtlcikKIHsKICAgICBMT0FERVJfUkVMRUFTRV9MT0coIndpbGxT
ZW5kUmVkaXJlY3RlZFJlcXVlc3Q6Iik7CiAgICAgKyttX3JlZGlyZWN0Q291bnQ7CkBAIC0xMDQy
LDkgKzEwNjUsMTEgQEAgdm9pZCBOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OndpbGxTZW5kUmVkaXJl
Y3RlZFJlcXVlc3QoUmVzb3VyY2VSZXF1ZXN0JiYgcmVxdWVzdCwKICAgICAgICAgICAgIGFkZENv
bnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OlByaXZhdGVDbGlja01lYXN1cmVtZW50LCBNZXNz
YWdlTGV2ZWw6OkVycm9yLCByZXN1bHQuZXJyb3IoKSk7CiAgICAgfQogCi0gICAgYXV0byBtYXhB
Z2VDYXAgPSB2YWxpZGF0ZUNhY2hlRW50cnlGb3JNYXhBZ2VDYXBWYWxpZGF0aW9uKHJlcXVlc3Qs
IHJlZGlyZWN0UmVxdWVzdCwgcmVkaXJlY3RSZXNwb25zZSk7Ci0gICAgaWYgKHJlZGlyZWN0UmVz
cG9uc2Uuc291cmNlKCkgPT0gUmVzb3VyY2VSZXNwb25zZTo6U291cmNlOjpOZXR3b3JrICYmIGNh
blVzZUNhY2hlZFJlZGlyZWN0KHJlcXVlc3QpKQotICAgICAgICBtX2NhY2hlLT5zdG9yZVJlZGly
ZWN0KHJlcXVlc3QsIHJlZGlyZWN0UmVzcG9uc2UsIHJlZGlyZWN0UmVxdWVzdCwgbWF4QWdlQ2Fw
KTsKKyAgICBpZiAoaXNGcm9tU2VydmljZVdvcmtlciA9PSBJc0Zyb21TZXJ2aWNlV29ya2VyOjpO
bykgeworICAgICAgICBhdXRvIG1heEFnZUNhcCA9IHZhbGlkYXRlQ2FjaGVFbnRyeUZvck1heEFn
ZUNhcFZhbGlkYXRpb24ocmVxdWVzdCwgcmVkaXJlY3RSZXF1ZXN0LCByZWRpcmVjdFJlc3BvbnNl
KTsKKyAgICAgICAgaWYgKHJlZGlyZWN0UmVzcG9uc2Uuc291cmNlKCkgPT0gUmVzb3VyY2VSZXNw
b25zZTo6U291cmNlOjpOZXR3b3JrICYmIGNhblVzZUNhY2hlZFJlZGlyZWN0KHJlcXVlc3QpKQor
ICAgICAgICAgICAgbV9jYWNoZS0+c3RvcmVSZWRpcmVjdChyZXF1ZXN0LCByZWRpcmVjdFJlc3Bv
bnNlLCByZWRpcmVjdFJlcXVlc3QsIG1heEFnZUNhcCk7CisgICAgfQogCiAgICAgaWYgKGlzTWFp
blJlc291cmNlKCkgJiYgc2hvdWxkSW50ZXJydXB0TmF2aWdhdGlvbkZvckNyb3NzT3JpZ2luRW1i
ZWRkZXJQb2xpY3kocmVkaXJlY3RSZXNwb25zZSkpIHsKICAgICAgICAgdGhpcy0+ZGlkRmFpbExv
YWRpbmcoUmVzb3VyY2VFcnJvciB7IGVycm9yRG9tYWluV2ViS2l0SW50ZXJuYWwsIDAsIHJlZGly
ZWN0UmVxdWVzdC51cmwoKSwgIlJlZGlyZWN0aW9uIHdhcyBibG9ja2VkIGJ5IENyb3NzLU9yaWdp
bi1FbWJlZGRlci1Qb2xpY3kiX3MsIFJlc291cmNlRXJyb3I6OlR5cGU6OkFjY2Vzc0NvbnRyb2wg
fSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNv
dXJjZUxvYWRlci5oIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3Vy
Y2VMb2FkZXIuaAppbmRleCA1Mjg2ZjNjMDk2YzAxNjgxMzc5MzgzZjc3MTUxZDI4NWZlMmQ1ODk3
Li5jZWM3ZGYyMTA3Zjg4NDJhN2I0ODQ0N2JmYzY2ZDYwMGUwNTdjM2NjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmgKQEAg
LTE2NSw2ICsxNjUsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBkZXJlZigpIGNvbnN0IGZpbmFsIHsg
UmVmQ291bnRlZDxOZXR3b3JrUmVzb3VyY2VMb2FkZXI+OjpkZXJlZigpOyB9CiAjZW5kaWYKIAor
ICAgIHZvaWQgd2lsbFNlbmRTZXJ2aWNlV29ya2VyUmVkaXJlY3RlZFJlcXVlc3QoV2ViQ29yZTo6
UmVzb3VyY2VSZXF1ZXN0JiYsIFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYmIHJlZGlyZWN0UmVx
dWVzdCwgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYmKTsKKwogcHJpdmF0ZToKICAgICBOZXR3
b3JrUmVzb3VyY2VMb2FkZXIoTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMmJiwgTmV0d29y
a0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MmLCBNZXNzYWdlczo6TmV0d29ya0Nvbm5lY3Rpb25Ub1dl
YlByb2Nlc3M6OlBlcmZvcm1TeW5jaHJvbm91c0xvYWREZWxheWVkUmVwbHkmJik7CiAKQEAgLTI0
Miw2ICsyNDQsMTAgQEAgcHJpdmF0ZToKICAgICB2b2lkIHN0YXJ0Q29udGVudEZpbHRlcmluZyhX
ZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmKTsKICNlbmRpZgogCisgICAgZW51bSBjbGFzcyBJc0Zy
b21TZXJ2aWNlV29ya2VyIDogYm9vbCB7IE5vLCBZZXMgfTsKKyAgICB2b2lkIHdpbGxTZW5kUmVk
aXJlY3RlZFJlcXVlc3RJbnRlcm5hbChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmJiwgV2ViQ29y
ZTo6UmVzb3VyY2VSZXF1ZXN0JiYgcmVkaXJlY3RSZXF1ZXN0LCBXZWJDb3JlOjpSZXNvdXJjZVJl
c3BvbnNlJiYsIElzRnJvbVNlcnZpY2VXb3JrZXIpOworICAgIHN0ZDo6b3B0aW9uYWw8V2ViQ29y
ZTo6TmV0d29ya0xvYWRNZXRyaWNzPiBjb21wdXRlUmVzcG9uc2VNZXRyaWNzKGNvbnN0IFdlYkNv
cmU6OlJlc291cmNlUmVzcG9uc2UmKSBjb25zdDsKKwogICAgIGNvbnN0IE5ldHdvcmtSZXNvdXJj
ZUxvYWRQYXJhbWV0ZXJzIG1fcGFyYW1ldGVyczsKIAogICAgIFJlZjxOZXR3b3JrQ29ubmVjdGlv
blRvV2ViUHJvY2Vzcz4gbV9jb25uZWN0aW9uOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1NlcnZpY2VXb3JrZXJGZXRjaFRhc2suY3BwIGIv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1NlcnZpY2VXb3JrZXJG
ZXRjaFRhc2suY3BwCmluZGV4IGQzODZiMmE1M2E3ZjY0MWNkMGRkNGNjNGY4ZDgyMmIyNWIzNjlm
YTAuLmM3YWVhZDYxM2MzYmNiYjkzYjZjNjAwYzUxMmViNDdjMmU0ODM0OTMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9TZXJ2aWNlV29ya2Vy
RmV0Y2hUYXNrLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VX
b3JrZXIvU2VydmljZVdvcmtlckZldGNoVGFzay5jcHAKQEAgLTE4Myw3ICsxODMsNyBAQCB2b2lk
IFNlcnZpY2VXb3JrZXJGZXRjaFRhc2s6OnByb2Nlc3NSZWRpcmVjdFJlc3BvbnNlKFJlc291cmNl
UmVzcG9uc2UmJiByZXNwb25zZQogICAgICAgICByZXNwb25zZS5zZXRTb3VyY2UoUmVzb3VyY2VS
ZXNwb25zZTo6U291cmNlOjpTZXJ2aWNlV29ya2VyKTsKICAgICBhdXRvIG5ld1JlcXVlc3QgPSBt
X2N1cnJlbnRSZXF1ZXN0LnJlZGlyZWN0ZWRSZXF1ZXN0KHJlc3BvbnNlLCBtX2xvYWRlci5wYXJh
bWV0ZXJzKCkuc2hvdWxkQ2xlYXJSZWZlcnJlck9uSFRUUFNUb0hUVFBSZWRpcmVjdCk7CiAKLSAg
ICBzZW5kVG9DbGllbnQoTWVzc2FnZXM6OldlYlJlc291cmNlTG9hZGVyOjpXaWxsU2VuZFJlcXVl
c3QgeyBuZXdSZXF1ZXN0LCBJUEM6OkZvcm1EYXRhUmVmZXJlbmNlIHsgbmV3UmVxdWVzdC5odHRw
Qm9keSgpIH0sIHJlc3BvbnNlIH0pOworICAgIG1fbG9hZGVyLndpbGxTZW5kU2VydmljZVdvcmtl
clJlZGlyZWN0ZWRSZXF1ZXN0KFJlc291cmNlUmVxdWVzdChtX2N1cnJlbnRSZXF1ZXN0KSwgV1RG
TW92ZShuZXdSZXF1ZXN0KSwgV1RGTW92ZShyZXNwb25zZSkpOwogfQogCiB2b2lkIFNlcnZpY2VX
b3JrZXJGZXRjaFRhc2s6OmRpZFJlY2VpdmVSZXNwb25zZShXZWJDb3JlOjpSZXNvdXJjZVJlc3Bv
bnNlJiYgcmVzcG9uc2UsIGJvb2wgbmVlZHNDb250aW51ZURpZFJlY2VpdmVSZXNwb25zZU1lc3Nh
Z2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3Jr
ZXIvU2VydmljZVdvcmtlck5hdmlnYXRpb25QcmVsb2FkZXIuY3BwIGIvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1NlcnZpY2VXb3JrZXJOYXZpZ2F0aW9uUHJlbG9h
ZGVyLmNwcAppbmRleCBkNmVmNTFhYTkyYzEwOWM2ODdlMDdjMDM1YmZhYjBhYjViN2UyNjM2Li5j
MWMwMTM1MGIwNzBhMzhlZmI0MjkwMzY3MTcwMzQzMThiNzE0Y2U3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvU2VydmljZVdvcmtlck5hdmln
YXRpb25QcmVsb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2Vy
dmljZVdvcmtlci9TZXJ2aWNlV29ya2VyTmF2aWdhdGlvblByZWxvYWRlci5jcHAKQEAgLTE1NCw4
ICsxNTQsMTAgQEAgdm9pZCBTZXJ2aWNlV29ya2VyTmF2aWdhdGlvblByZWxvYWRlcjo6bG9hZEZy
b21OZXR3b3JrKCkKIAogdm9pZCBTZXJ2aWNlV29ya2VyTmF2aWdhdGlvblByZWxvYWRlcjo6d2ls
bFNlbmRSZWRpcmVjdGVkUmVxdWVzdChSZXNvdXJjZVJlcXVlc3QmJiwgUmVzb3VyY2VSZXF1ZXN0
JiYsIFJlc291cmNlUmVzcG9uc2UmJiByZXNwb25zZSkKIHsKLSAgICBkaWRSZWNlaXZlUmVzcG9u
c2UoV1RGTW92ZShyZXNwb25zZSksIFByaXZhdGVSZWxheWVkOjpObywgW10oYXV0bykgeyB9KTsK
LSAgICBkaWRDb21wbGV0ZSgpOworICAgIGRpZFJlY2VpdmVSZXNwb25zZShXVEZNb3ZlKHJlc3Bv
bnNlKSwgUHJpdmF0ZVJlbGF5ZWQ6Ok5vLCBbd2Vha1RoaXMgPSBXZWFrUHRyIHsgKnRoaXMgfV0o
YXV0bykgeworICAgICAgICBpZiAod2Vha1RoaXMpCisgICAgICAgICAgICB3ZWFrVGhpcy0+ZGlk
Q29tcGxldGUoKTsKKyAgICB9KTsKIH0KIAogdm9pZCBTZXJ2aWNlV29ya2VyTmF2aWdhdGlvblBy
ZWxvYWRlcjo6ZGlkUmVjZWl2ZVJlc3BvbnNlKFJlc291cmNlUmVzcG9uc2UmJiByZXNwb25zZSwg
UHJpdmF0ZVJlbGF5ZWQsIFJlc3BvbnNlQ29tcGxldGlvbkhhbmRsZXImJiBjb21wbGV0aW9uSGFu
ZGxlcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJl
c291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJl
c291cmNlTG9hZGVyLmNwcAppbmRleCA3MGY4MTBmZmI3ZjFkNWNkNTY0NzQwMDA4YTgxYjY5Y2Mx
MTUzZWIwLi45OTA0OWRlMDI0YjEyMGI1N2NiZGFjNTMxNTAyZTE5M2E3MmYyYWM1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2Fk
ZXIuY3BwCkBAIC0xNDksMTMgKzE0OSwxNiBAQCB2b2lkIFdlYlJlc291cmNlTG9hZGVyOjpkaWRT
ZW5kRGF0YSh1aW50NjRfdCBieXRlc1NlbnQsIHVpbnQ2NF90IHRvdGFsQnl0ZXNUb0JlUwogICAg
IG1fY29yZUxvYWRlci0+ZGlkU2VuZERhdGEoYnl0ZXNTZW50LCB0b3RhbEJ5dGVzVG9CZVNlbnQp
OwogfQogCi12b2lkIFdlYlJlc291cmNlTG9hZGVyOjpkaWRSZWNlaXZlUmVzcG9uc2UoY29uc3Qg
UmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIFByaXZhdGVSZWxheWVkIHByaXZhdGVSZWxheWVk
LCBib29sIG5lZWRzQ29udGludWVEaWRSZWNlaXZlUmVzcG9uc2VNZXNzYWdlKQordm9pZCBXZWJS
ZXNvdXJjZUxvYWRlcjo6ZGlkUmVjZWl2ZVJlc3BvbnNlKFJlc291cmNlUmVzcG9uc2UmJiByZXNw
b25zZSwgUHJpdmF0ZVJlbGF5ZWQgcHJpdmF0ZVJlbGF5ZWQsIGJvb2wgbmVlZHNDb250aW51ZURp
ZFJlY2VpdmVSZXNwb25zZU1lc3NhZ2UsIHN0ZDo6b3B0aW9uYWw8TmV0d29ya0xvYWRNZXRyaWNz
PiYmIG1ldHJpY3MpCiB7CiAgICAgTE9HKE5ldHdvcmssICIoV2ViUHJvY2VzcykgV2ViUmVzb3Vy
Y2VMb2FkZXI6OmRpZFJlY2VpdmVSZXNwb25zZSBmb3IgJyVzJy4gU3RhdHVzICVkLiIsIG1fY29y
ZUxvYWRlci0+dXJsKCkuc3RyaW5nKCkubGF0aW4xKCkuZGF0YSgpLCByZXNwb25zZS5odHRwU3Rh
dHVzQ29kZSgpKTsKICAgICBXRUJSRVNPVVJDRUxPQURFUl9SRUxFQVNFX0xPRygiZGlkUmVjZWl2
ZVJlc3BvbnNlOiAoaHR0cFN0YXR1c0NvZGU9JWQpIiwgcmVzcG9uc2UuaHR0cFN0YXR1c0NvZGUo
KSk7CiAKICAgICBSZWY8V2ViUmVzb3VyY2VMb2FkZXI+IHByb3RlY3RlZFRoaXMoKnRoaXMpOwog
CisgICAgaWYgKG1ldHJpY3MpCisgICAgICAgIHJlc3BvbnNlLnNldERlcHJlY2F0ZWROZXR3b3Jr
TG9hZE1ldHJpY3MoQm94PE5ldHdvcmtMb2FkTWV0cmljcz46OmNyZWF0ZShXVEZNb3ZlKCptZXRy
aWNzKSkpOworCiAgICAgaWYgKHByaXZhdGVSZWxheWVkID09IFByaXZhdGVSZWxheWVkOjpZZXMg
JiYgbWFpbkZyYW1lTWFpblJlc291cmNlKCkgPT0gTWFpbkZyYW1lTWFpblJlc291cmNlOjpZZXMp
CiAgICAgICAgIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLnNldEhhZE1haW5GcmFtZU1haW5SZXNv
dXJjZVByaXZhdGVSZWxheWVkKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5oCmluZGV4IDg4OWQ3ZmY4NDE2YmZhYjE5MWZh
ODZmM2VlMmU3OGU4OWJkMmFkZDYuLmM2YzE0MjJlZmZkNjgzNmY1NjJhMGRiMDU4ODdkY2YwMTJm
NWRjZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJl
c291cmNlTG9hZGVyLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2Vi
UmVzb3VyY2VMb2FkZXIuaApAQCAtODUsNyArODUsNyBAQCBwcml2YXRlOgogCiAgICAgdm9pZCB3
aWxsU2VuZFJlcXVlc3QoV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiYsIElQQzo6Rm9ybURhdGFS
ZWZlcmVuY2UmJiByZXF1ZXN0Qm9keSwgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYmKTsKICAg
ICB2b2lkIGRpZFNlbmREYXRhKHVpbnQ2NF90IGJ5dGVzU2VudCwgdWludDY0X3QgdG90YWxCeXRl
c1RvQmVTZW50KTsKLSAgICB2b2lkIGRpZFJlY2VpdmVSZXNwb25zZShjb25zdCBXZWJDb3JlOjpS
ZXNvdXJjZVJlc3BvbnNlJiwgUHJpdmF0ZVJlbGF5ZWQsIGJvb2wgbmVlZHNDb250aW51ZURpZFJl
Y2VpdmVSZXNwb25zZU1lc3NhZ2UpOworICAgIHZvaWQgZGlkUmVjZWl2ZVJlc3BvbnNlKFdlYkNv
cmU6OlJlc291cmNlUmVzcG9uc2UmJiwgUHJpdmF0ZVJlbGF5ZWQsIGJvb2wgbmVlZHNDb250aW51
ZURpZFJlY2VpdmVSZXNwb25zZU1lc3NhZ2UsIHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6TmV0d29y
a0xvYWRNZXRyaWNzPiYmKTsKICAgICB2b2lkIGRpZFJlY2VpdmVEYXRhKGNvbnN0IElQQzo6U2hh
cmVkQnVmZmVyQ29weSYgZGF0YSwgaW50NjRfdCBlbmNvZGVkRGF0YUxlbmd0aCk7CiAgICAgdm9p
ZCBkaWRGaW5pc2hSZXNvdXJjZUxvYWQoY29uc3QgV2ViQ29yZTo6TmV0d29ya0xvYWRNZXRyaWNz
Jik7CiAgICAgdm9pZCBkaWRGYWlsUmVzb3VyY2VMb2FkKGNvbnN0IFdlYkNvcmU6OlJlc291cmNl
RXJyb3ImKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dl
YlJlc291cmNlTG9hZGVyLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05l
dHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIubWVzc2FnZXMuaW4KaW5kZXggNmMxYmI1YjZmYmNjMmIz
MjEzOTBhNmU4Y2RjMjc0MWU2MDZiODk5Yi4uZWFlMDU1NDMwMGE3YWQwMDkzOTU0MjE0YjkwNjVm
MmIwYjg5MmRjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsv
V2ViUmVzb3VyY2VMb2FkZXIubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIubWVzc2FnZXMuaW4KQEAgLTIzLDcgKzIzLDcg
QEAKIG1lc3NhZ2VzIC0+IFdlYlJlc291cmNlTG9hZGVyIExlZ2FjeVJlY2VpdmVyIHsKICAgICBX
aWxsU2VuZFJlcXVlc3QoV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3QsIElQQzo6Rm9y
bURhdGFSZWZlcmVuY2UgcmVxdWVzdEJvZHksIFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UgcmVk
aXJlY3RSZXNwb25zZSkKICAgICBEaWRTZW5kRGF0YSh1aW50NjRfdCBieXRlc1NlbnQsIHVpbnQ2
NF90IHRvdGFsQnl0ZXNUb0JlU2VudCkKLSAgICBEaWRSZWNlaXZlUmVzcG9uc2UoV2ViQ29yZTo6
UmVzb3VyY2VSZXNwb25zZSByZXNwb25zZSwgZW51bTpib29sIFdlYktpdDo6UHJpdmF0ZVJlbGF5
ZWQgcHJpdmF0ZVJlbGF5ZWQsIGJvb2wgbmVlZHNDb250aW51ZURpZFJlY2VpdmVSZXNwb25zZU1l
c3NhZ2UpCisgICAgRGlkUmVjZWl2ZVJlc3BvbnNlKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2Ug
cmVzcG9uc2UsIGVudW06Ym9vbCBXZWJLaXQ6OlByaXZhdGVSZWxheWVkIHByaXZhdGVSZWxheWVk
LCBib29sIG5lZWRzQ29udGludWVEaWRSZWNlaXZlUmVzcG9uc2VNZXNzYWdlLCBzdGQ6Om9wdGlv
bmFsPFdlYkNvcmU6Ok5ldHdvcmtMb2FkTWV0cmljcz4gb3B0aW9uYWxOZXR3b3JrTG9hZE1ldHJp
Y3MpCiAgICAgRGlkUmVjZWl2ZURhdGEoSVBDOjpTaGFyZWRCdWZmZXJDb3B5IGRhdGEsIGludDY0
X3QgZW5jb2RlZERhdGFMZW5ndGgpCiAgICAgRGlkRmluaXNoUmVzb3VyY2VMb2FkKFdlYkNvcmU6
Ok5ldHdvcmtMb2FkTWV0cmljcyBuZXR3b3JrTG9hZE1ldHJpY3MpCiAgICAgRGlkRmFpbFJlc291
cmNlTG9hZChXZWJDb3JlOjpSZXNvdXJjZUVycm9yIGVycm9yKQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDA0MDIwZjIwNmI2
YWFhZGFlNzYwNWNmYWE5MDQ3ZGJiMTAxNDU1NjcuLmMxMjg2MWEyZGE4OWZmNWRiYTMwZmFmNzMz
ZDkwNWNmZjZmMTFmMzcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAyMi0wMy0xNiAgWW91ZW5u
IEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgcmVkaXJlY3RDb3VudCByZXR1
cm5zIDAgd2hlbiB1c2luZyBhIFNlcnZpY2UgV29ya2VyCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzU3MTAKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
Lzg4NDMyMTkwPgorCisgICAgICAgIFJldmlld2VkIGJ5IENocmlzIER1bWV6LgorCisgICAgICAg
ICogaHR0cC93cHQvc2VydmljZS13b3JrZXJzL25hdmlnYXRpb24tcmVkaXJlY3QtbWFpbi1mcmFt
ZS5odHRwcy5odG1sOgorCiAyMDIyLTAzLTE2ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxl
LmNvbT4KIAogICAgICAgICBBdWRpb0NvbnRleHQgaXMgc3VzcGVuZGVkIG9uIGlPUyB3aGVuIHBh
Z2UgaXMgYmFja2dyb3VuZGVkCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
Q2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCBmOTU4
NTliMTgxMWNmYjdiZmU3NjkxYTMwN2I0NjFjNzRkODRkNWJmLi45MjhmODE0YTFkOTk2MDlkZWIz
NjIyNGU4MjQ5ZjUyYWJjNDFhZGY3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxNCBAQAorMjAyMi0wMy0xNiAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5j
b20+CisKKyAgICAgICAgcmVkaXJlY3RDb3VudCByZXR1cm5zIDAgd2hlbiB1c2luZyBhIFNlcnZp
Y2UgV29ya2VyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMzU3MTAKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzg4NDMyMTkwPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IENocmlzIER1bWV6LgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9uYXZpZ2F0aW9uLXByZWxvYWQvcmVzb3VyY2Ut
dGltaW5nLmh0dHBzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3JlZGlyZWN0ZWQtcmVzcG9uc2UuaHR0cHMt
ZXhwZWN0ZWQudHh0OgorCiAyMDIyLTAzLTE0ICBPcmlvbCBCcnVmYXUgIDxvYnJ1ZmF1QGlnYWxp
YS5jb20+CiAKICAgICAgICAgW2Nzcy1jYXNjYWRlXSBGaXggJ3JldmVydCcgb24gbG93LXByaW9y
aXR5IHByb3BlcnRpZXMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3NlcnZpY2Ut
d29ya2Vycy9uYXZpZ2F0aW9uLXJlZGlyZWN0LW1haW4tZnJhbWUuaHR0cHMuaHRtbCBiL0xheW91
dFRlc3RzL2h0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9uYXZpZ2F0aW9uLXJlZGlyZWN0LW1haW4t
ZnJhbWUuaHR0cHMuaHRtbAppbmRleCAyMDlmOGJmMmRjYjVkMjY2NTBjYmU2Mzc1Njg4ODZlYTg3
Y2JjZDk0Li5kOTc0MmFlNjgxYzcxNDIwODUwNmI5ZDdjMGFlMTM5Y2IzYTUwZmQxIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvbmF2aWdhdGlvbi1yZWRp
cmVjdC1tYWluLWZyYW1lLmh0dHBzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvc2Vy
dmljZS13b3JrZXJzL25hdmlnYXRpb24tcmVkaXJlY3QtbWFpbi1mcmFtZS5odHRwcy5odG1sCkBA
IC03LDE0ICs3LDE5IEBACiBhc3luYyBmdW5jdGlvbiBkb1Rlc3QoKQogewogICAgIGlmICh3aW5k
b3cubG9jYXRpb24uaGFzaCA9PT0gIiNyZWRpcmVjdGVkIikgewotICAgICAgICBpZiAod2luZG93
LnRlc3RSdW5uZXIpCi0gICAgICAgICAgICBkb2N1bWVudC5ib2R5LmlubmVySFRNTCA9IHRlc3RS
dW5uZXIuZGlkUmVjZWl2ZVNlcnZlclJlZGlyZWN0Rm9yUHJvdmlzaW9uYWxOYXZpZ2F0aW9uID8g
IlBBU1MiIDogIkZBSUwiOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICBkb2N1bWVudC5ib2R5
LmlubmVySFRNTCA9ICJQQVNTIjsKLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Cisg
ICAgICAgIGxldCBzdGF0dXMgPSAiUEFTUyI7CisgICAgICAgIGlmICh3aW5kb3cucGVyZm9ybWFu
Y2UubmF2aWdhdGlvbi5yZWRpcmVjdENvdW50ICE9PSAxKQorICAgICAgICAgICAgICAgICBzdGF0
dXMgPSAiRkFJTDogcmVkaXJlY3RDb3VudCBpcyAiICsgd2luZG93LnBlcmZvcm1hbmNlLm5hdmln
YXRpb24ucmVkaXJlY3RDb3VudDsKKyAgICAgICAgZWxzZSBpZiAod2luZG93LnRlc3RSdW5uZXIp
IHsKKyAgICAgICAgICAgICBpZiAoIXRlc3RSdW5uZXIuZGlkUmVjZWl2ZVNlcnZlclJlZGlyZWN0
Rm9yUHJvdmlzaW9uYWxOYXZpZ2F0aW9uKQorICAgICAgICAgICAgICAgICBzdGF0dXMgPSAiRkFJ
TDogbm8gc2VydmVyIHJlZGlyZWN0IGZvciBwcm92aXNpb25hbCBuYXZpZ2F0aW9uICI7CiAgICAg
ICAgICAgICB0ZXN0UnVubmVyLmNsZWFyRGlkUmVjZWl2ZVNlcnZlclJlZGlyZWN0Rm9yUHJvdmlz
aW9uYWxOYXZpZ2F0aW9uKCk7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsK
ICAgICAgICAgfQorCisgICAgICAgIGRvY3VtZW50LmJvZHkuaW5uZXJIVE1MID0gc3RhdHVzOwor
CisgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgICAgIHRlc3RSdW5uZXIu
bm90aWZ5RG9uZSgpOwogICAgICAgICByZXR1cm47CiAgICAgfQogICAgIHZhciByZWdpc3RyYXRp
b24gPSBhd2FpdCBuYXZpZ2F0b3Iuc2VydmljZVdvcmtlci5yZWdpc3RlcigibmF2aWdhdGlvbi1y
ZWRpcmVjdC1tYWluLWZyYW1lLXdvcmtlci5qcyIsIHsgc2NvcGUgOiAicmVzb3VyY2VzIiB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL25hdmlnYXRpb24tcHJlbG9hZC9yZXNvdXJj
ZS10aW1pbmcuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvbmF2aWdhdGlv
bi1wcmVsb2FkL3Jlc291cmNlLXRpbWluZy5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggODEyMTJl
MDEwOTNlNmRkODg2MTI0YTExOTE2MWVhODI1OGVmMmFmOS4uZTI5N2E5NjBlYTdhNmI5NDhhMThm
NjQzOWM1NTNiZjAwOTgxMjk1NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvbmF2aWdh
dGlvbi1wcmVsb2FkL3Jlc291cmNlLXRpbWluZy5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMv
c2VydmljZS13b3JrZXIvbmF2aWdhdGlvbi1wcmVsb2FkL3Jlc291cmNlLXRpbWluZy5odHRwcy1l
eHBlY3RlZC50eHQKQEAgLTEsNCArMSwzIEBACiAKLQotRkFJTCBOYXZpZ2F0aW9uIFByZWxvYWQg
UmVzb3VyY2UgVGltaW5nLiBhc3NlcnRfZ3JlYXRlcl90aGFuOiB0cmFuc2ZlclNpemUgbXVzdCBn
cmVhdGVyIHRoZW4gZW5jb2RlZEJvZHlTaXplLiBleHBlY3RlZCBhIG51bWJlciBncmVhdGVyIHRo
YW4gMCBidXQgZ290IDAKK1BBU1MgTmF2aWdhdGlvbiBQcmVsb2FkIFJlc291cmNlIFRpbWluZy4K
IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVkaXJlY3RlZC1yZXNwb25zZS5odHRw
cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZWRpcmVjdGVkLXJlc3BvbnNlLmh0
dHBzLWV4cGVjdGVkLnR4dAppbmRleCBhZjM1NDRlZTIyM2M0MDUzOGJiMzQ1MzQzNDFkZGZmZDVh
OGVkOWY3Li43ZGY5NzdiNDljZTU1ZDllYWJhOGZmMTk2MjliYzc1YWRiOGRiNjhhIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Ut
d29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZWRpcmVjdGVkLXJlc3BvbnNlLmh0dHBzLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZWRpcmVjdGVkLXJlc3BvbnNlLmh0dHBzLWV4
cGVjdGVkLnR4dApAQCAtMTksNyArMTksNyBAQCBQQVNTIG1vZGU6ICJlcnJvciIsIG1hbnVhbGx5
LWdlbmVyYXRlZCByZWRpcmVjdCByZXNwb25zZQogUEFTUyBtb2RlOiAibWFudWFsIiwgbWFudWFs
bHktZ2VuZXJhdGVkIHJlZGlyZWN0IHJlc3BvbnNlCiBQQVNTIG1vZGU6ICJmb2xsb3ciLCBnZW5l
cmF0ZWQgcmVsYXRpdmUgcmVkaXJlY3QgcmVzcG9uc2UKIFBBU1MgbW9kZTogImVycm9yIiwgZ2Vu
ZXJhdGVkIHJlbGF0aXZlIHJlZGlyZWN0IHJlc3BvbnNlCi1GQUlMIG1vZGU6ICJtYW51YWwiLCBn
ZW5lcmF0ZWQgcmVsYXRpdmUgcmVkaXJlY3QgcmVzcG9uc2UgcHJvbWlzZV90ZXN0OiBVbmhhbmRs
ZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBMb2FkIGZhaWxlZCIK
K1BBU1MgbW9kZTogIm1hbnVhbCIsIGdlbmVyYXRlZCByZWxhdGl2ZSByZWRpcmVjdCByZXNwb25z
ZQogUEFTUyBGZXRjaCBzaG91bGQgZm9sbG93IHRoZSByZWRpcmVjdCByZXNwb25zZSAyMCB0aW1l
cwogUEFTUyBGZXRjaCBzaG91bGQgbm90IGZvbGxvdyB0aGUgcmVkaXJlY3QgcmVzcG9uc2UgMjEg
dGltZXMuCiBQQVNTIFRoZSBVUkwgZm9yIHRoZSBzZXJ2aWNlIHdvcmtlciByZWRpcmVjdGVkIHJl
cXVlc3Qgc2hvdWxkIGJlIHByb3BhZ2F0ZWQgdG8gcmVzcG9uc2UuCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>