<?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>220091</bug_id>
          
          <creation_ts>2020-12-22 10:37:55 -0800</creation_ts>
          <short_desc>[MSE][GStreamer] SIGSEV in webKitMediaSrcFreeStream</short_desc>
          <delta_ts>2021-03-24 14:14:38 -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>Media</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=194592</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=223674</see_also>
          <bug_file_loc>https://praza.gal/politica/a-audiencia-nacional-absolve-as-12-integrantes-de-causa-galiza-e-ceivar-e-di-que-o-independentismo-merece-proteccion-constitucional</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>223674</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Sergio Villar Senin">svillar</reporter>
          <assigned_to name="Philippe Normand">pnormand</assigned_to>
          <cc>aboya</cc>
    
    <cc>calvaris</cc>
    
    <cc>cgarcia</cc>
    
    <cc>eocanha</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gustavo</cc>
    
    <cc>jer.noble</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>menard</cc>
    
    <cc>philipj</cc>
    
    <cc>pnormand</cc>
    
    <cc>sergio</cc>
    
    <cc>vjaquez</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>yalterz</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1716263</commentid>
    <comment_count>0</comment_count>
      <attachid>416673</attachid>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2020-12-22 10:37:55 -0800</bug_when>
    <thetext>Created attachment 416673
Backtrace

Steps to reproduce:

1- Go to https://praza.gal/politica/a-audiencia-nacional-absolve-as-12-integrantes-de-causa-galiza-e-ceivar-e-di-que-o-independentismo-merece-proteccion-constitucional
2- Scroll down

I&apos;m attaching a file with the crash backtrace.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1716600</commentid>
    <comment_count>1</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-12-25 08:14:13 -0800</bug_when>
    <thetext>This page has no videos though?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1716781</commentid>
    <comment_count>2</comment_count>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2020-12-28 11:59:52 -0800</bug_when>
    <thetext>(In reply to Philippe Normand from comment #1)
&gt; This page has no videos though?

Maybe ads?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1717080</commentid>
    <comment_count>3</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2021-01-04 02:14:04 -0800</bug_when>
    <thetext>Still can&apos;t repro after disabling the ad-blocker in Ephy and disabling my PiHole.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1717081</commentid>
    <comment_count>4</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2021-01-04 02:16:17 -0800</bug_when>
    <thetext>Does this repro with Flatpak SDK builds too?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1723775</commentid>
    <comment_count>5</comment_count>
    <who name="Ivan Molodetskikh">yalterz</who>
    <bug_when>2021-01-29 10:15:33 -0800</bug_when>
    <thetext>I got a similar-looking crash when full-screening a YouTube video that has finished playing.

Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x00007f43ec32c012 in webKitMediaSrcFreeStream (source=source@entry=0x556ea7fbe140, stream=0x556ea76d2b40) at ../Source/WebCore/platform/graphics/gstreamer/mse/WebKitMediaSourceGStreamer.cpp:512
512	    if (GST_IS_APP_SRC(stream-&gt;appsrc)) {
&gt; bt full
#0  0x00007f43ec32c012 in webKitMediaSrcFreeStream(_WebKitMediaSrc*, _Stream*) (source=source@entry=0x556ea7fbe140 [WebKitMediaSrc], stream=0x556ea76d2b40) at ../Source/WebCore/platform/graphics/gstreamer/mse/WebKitMediaSourceGStreamer.cpp:512
        __inst = 0x556ea73e5550
        __t = 0x556ea7c67900 [GstAppSrc/GstBaseSrc/GstElement/GstObject/GInitiallyUnowned]
        __r = &lt;optimized out&gt;
        __FUNCTION__ = &quot;webKitMediaSrcFreeStream&quot;
#1  0x00007f43ec32c7c7 in webKitMediaSrcFinalize(_GObject*) (object=0x556ea7fbe140 [WebKitMediaSrc]) at ../Source/WebCore/platform/graphics/gstreamer/mse/WebKitMediaSourceGStreamer.cpp:278
        stream = &lt;optimized out&gt;
        __for_range = &lt;synthetic pointer&gt;: &lt;optimized out&gt;
        __for_begin = 0x7f428851b700
        __for_end = 0x7f428851b710
        source = 0x556ea7fbe140 [WebKitMediaSrc]
        priv = 0x556ea7fbe0b0
#2  0x00007f43eb0f2552 in g_object_unref (_object=&lt;optimized out&gt;) at ../gobject/gobject.c:3524
        weak_locations = &lt;optimized out&gt;
        old_ref = &lt;optimized out&gt;
        __func__ = &quot;g_object_unref&quot;
        object = 0x556ea7fbe140 [WebKitMediaSrc]
        __func__ = &quot;g_object_unref&quot;
#3  g_object_unref (_object=0x556ea7fbe140) at ../gobject/gobject.c:3416
        object = 0x556ea7fbe140 [WebKitMediaSrc]
        __func__ = &quot;g_object_unref&quot;
#4  0x00007f43e84b21a5 in gst_object_unref (object=&lt;optimized out&gt;) at ../gst/gstobject.c:266
        __func__ = &quot;gst_object_unref&quot;
#5  0x00007f43ec32cc3e in WTF::derefGPtr&lt;_WebKitMediaSrc&gt;(_WebKitMediaSrc*) (ptr=&lt;optimized out&gt;) at ../Source/WebCore/platform/graphics/gstreamer/mse/WebKitMediaSourceGStreamer.cpp:799
#6  0x00007f43edc8acae in WTF::GRefPtr&lt;_WebKitMediaSrc&gt;::operator=(_WebKitMediaSrc*) (optr=&lt;optimized out&gt;, this=&lt;optimized out&gt;) at DerivedSources/ForwardingHeaders/wtf/glib/GRefPtr.h:150
        ptr = &lt;optimized out&gt;
        __FUNCTION__ = &quot;setWebKitMediaSrc&quot;
#7  WebCore::PlaybackPipeline::setWebKitMediaSrc(_WebKitMediaSrc*) (this=&lt;optimized out&gt;, webKitMediaSrc=&lt;optimized out&gt;) at ../Source/WebCore/platform/graphics/gstreamer/mse/PlaybackPipeline.cpp:96
        __FUNCTION__ = &quot;setWebKitMediaSrc&quot;
#8  0x00007fff86bd9d10 in  ()
#9  0x00007fff86bd9b50 in  ()
#10 0x0000000000000000 in  ()

F33 Wayland, Web 40.alpha-66-gf266e76f+ from gnome-nightly Flatpak</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1726239</commentid>
    <comment_count>6</comment_count>
    <who name="Alicia Boya García">aboya</who>
    <bug_when>2021-02-05 12:41:31 -0800</bug_when>
    <thetext>Tried on current trunk both with the reported page and with YouTube but after many repeats I still couldn&apos;t reproduce the issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1742023</commentid>
    <comment_count>7</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2021-03-20 10:04:22 -0700</bug_when>
    <thetext>It&apos;s not reproducible, but it&apos;s still happening with 2.31.91. Just hit this after a reddit.com video finished playing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1742026</commentid>
    <comment_count>8</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2021-03-20 10:46:28 -0700</bug_when>
    <thetext>I can reproduce easily here:

1. seek near end of a youtube video
2. let it EOS
3. wait a few seconds
4. try to replay same vide (reload button)

A seek to 0 is triggered which triggers a READY-&gt;PAUSED transition of the pipeline. Because uridecodebin already had a source element, it removes it (remove_source() called from setup_source()). So our MSE src element is being dereferenced by gst_bin_remove() while we still have its pointer stored in the player m_source...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1742061</commentid>
    <comment_count>9</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2021-03-21 07:54:34 -0700</bug_when>
    <thetext>*** Bug 203378 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1742063</commentid>
    <comment_count>10</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2021-03-21 07:55:12 -0700</bug_when>
    <thetext>*** Bug 196902 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1742066</commentid>
    <comment_count>11</comment_count>
      <attachid>423827</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2021-03-21 09:10:25 -0700</bug_when>
    <thetext>Created attachment 423827
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1742085</commentid>
    <comment_count>12</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2021-03-21 10:53:38 -0700</bug_when>
    <thetext>*** Bug 223514 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1742204</commentid>
    <comment_count>13</comment_count>
      <attachid>423827</attachid>
    <who name="Xabier Rodríguez Calvar">calvaris</who>
    <bug_when>2021-03-22 05:49:38 -0700</bug_when>
    <thetext>Comment on attachment 423827
Patch

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

Other than my comments, maybe Alicia has something more to say.

&gt; Source/WebCore/platform/graphics/gstreamer/mse/WebKitMediaSourceGStreamer.cpp:520
&gt; +        gst_object_unref(stream-&gt;appsrc);

Can&apos;t we make this a GRefPtr?

&gt; Source/WebCore/platform/graphics/gstreamer/mse/WebKitMediaSourceGStreamer.cpp:574
&gt;      delete stream;

It might be a a good moment to make Vector&lt;Stream*&gt; streams in the Private.h as a Vector&lt;std::unique_ptr&lt;Stream&gt;&gt;...

&gt; Source/WebCore/platform/graphics/gstreamer/mse/WebKitMediaSourceGStreamer.cpp:709
&gt; +        stream-&gt;appsrc = gst_element_factory_make(&quot;appsrc&quot;, nullptr);

If we are going to keep a reference here, we should ref_sink it, otherwise in line 720 we end up having the appsrc with 2 references but still the floating flag just after evaluating the arguments before calling the function, which is semantically wrong.

Well, after calling gst_bin_add things go to their place because the gst_bin_add is going to perform a ref_sink so it is going to remove the floating ref and the result is the same, but it is semantically wrong. You should ref_sink here, avoid reffing below, and when the gst_bin_add does its ref_sink, it will just increase the reference because the floating ref was already sinked before.

Turning it into a GRefPtr, as I said above would solve this issue.

&gt; Source/WebCore/platform/graphics/gstreamer/mse/WebKitMediaSourceGStreamer.cpp:720
&gt; +        gst_bin_add(GST_BIN_CAST(newSource), GST_ELEMENT_CAST(gst_object_ref(stream-&gt;appsrc)));

Please read above.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1742206</commentid>
    <comment_count>14</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2021-03-22 05:57:31 -0700</bug_when>
    <thetext>I thought about switch the appsrc to a GRefPtr but wasn&apos;t sure because this could not ease further rebases of the new MSE backend on top. Your call though :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1742226</commentid>
    <comment_count>15</comment_count>
    <who name="Xabier Rodríguez Calvar">calvaris</who>
    <bug_when>2021-03-22 07:50:13 -0700</bug_when>
    <thetext>(In reply to Philippe Normand from comment #14)
&gt; I thought about switch the appsrc to a GRefPtr but wasn&apos;t sure because this
&gt; could not ease further rebases of the new MSE backend on top. Your call
&gt; though :)

I think we should change it unless you tell me you&apos;re going to change it next month. Anyway, if you prefer to keep it as raw pointer, please change what I told you regarding the ref/ref_sink.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1742275</commentid>
    <comment_count>16</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2021-03-22 10:10:29 -0700</bug_when>
    <thetext>I&apos;d like to avoid too big changes in this code until the new backend lands.

I worked on this mostly for the 2.32 release because the new backend missed that window.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1742718</commentid>
    <comment_count>17</comment_count>
      <attachid>423827</attachid>
    <who name="Xabier Rodríguez Calvar">calvaris</who>
    <bug_when>2021-03-23 01:51:57 -0700</bug_when>
    <thetext>Comment on attachment 423827
Patch

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

&gt;&gt; Source/WebCore/platform/graphics/gstreamer/mse/WebKitMediaSourceGStreamer.cpp:709
&gt;&gt; +        stream-&gt;appsrc = gst_element_factory_make(&quot;appsrc&quot;, nullptr);
&gt; 
&gt; If we are going to keep a reference here, we should ref_sink it, otherwise in line 720 we end up having the appsrc with 2 references but still the floating flag just after evaluating the arguments before calling the function, which is semantically wrong.
&gt; 
&gt; Well, after calling gst_bin_add things go to their place because the gst_bin_add is going to perform a ref_sink so it is going to remove the floating ref and the result is the same, but it is semantically wrong. You should ref_sink here, avoid reffing below, and when the gst_bin_add does its ref_sink, it will just increase the reference because the floating ref was already sinked before.
&gt; 
&gt; Turning it into a GRefPtr, as I said above would solve this issue.

Ok, please solve this then and land.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1742783</commentid>
    <comment_count>18</comment_count>
      <attachid>424015</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2021-03-23 07:27:45 -0700</bug_when>
    <thetext>Created attachment 424015
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1742803</commentid>
    <comment_count>19</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-03-23 08:32:33 -0700</bug_when>
    <thetext>Committed r274870: &lt;https://commits.webkit.org/r274870&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 424015.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1742804</commentid>
    <comment_count>20</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-03-23 08:33:15 -0700</bug_when>
    <thetext>&lt;rdar://problem/75738646&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>416673</attachid>
            <date>2020-12-22 10:37:55 -0800</date>
            <delta_ts>2020-12-22 10:37:55 -0800</delta_ts>
            <desc>Backtrace</desc>
            <filename>wk-gst-crash.txt</filename>
            <type>text/plain</type>
            <size>8508</size>
            <attacher name="Sergio Villar Senin">svillar</attacher>
            
              <data encoding="base64">VGhyZWFkIDEgIldQRVdlYlByb2Nlc3MiIHJlY2VpdmVkIHNpZ25hbCBTSUdTRUdWLCBTZWdtZW50
YXRpb24gZmF1bHQuCjB4MDAwMDdmNTc4ZGNjMWE4ZSBpbiB3ZWJLaXRNZWRpYVNyY0ZyZWVTdHJl
YW0oX1dlYktpdE1lZGlhU3JjKiwgX1N0cmVhbSopICgpIGZyb20gfi9jaGVja291dC9XZWJLaXQv
V2ViS2l0QnVpbGQvUmVsZWFzZS9saWIvbGliV1BFV2ViS2l0LTEuMC5zby4zCihnZGIpIGJ0CiMw
ICAweDAwMDA3ZjU3OGRjYzFhOGUgaW4gd2ViS2l0TWVkaWFTcmNGcmVlU3RyZWFtKF9XZWJLaXRN
ZWRpYVNyYyosIF9TdHJlYW0qKSAoKSBmcm9tIH4vY2hlY2tvdXQvV2ViS2l0L1dlYktpdEJ1aWxk
L1JlbGVhc2UvbGliL2xpYldQRVdlYktpdC0xLjAuc28uMwojMSAgMHgwMDAwN2Y1NzhkY2MyMjBm
IGluIHdlYktpdE1lZGlhU3JjRmluYWxpemUoX0dPYmplY3QqKSAoKSBmcm9tIH4vY2hlY2tvdXQv
V2ViS2l0L1dlYktpdEJ1aWxkL1JlbGVhc2UvbGliL2xpYldQRVdlYktpdC0xLjAuc28uMwojMiAg
MHgwMDAwN2Y1NzhhMWIyNmQyIGluIGdfb2JqZWN0X3VucmVmIChfb2JqZWN0PTB4NTYzNTY4Yzk2
MDkwKSBhdCAuLi8uLi9Tb3VyY2UvZ2xpYi0yLjU4LjEvZ29iamVjdC9nb2JqZWN0LmM6MzM0Ngoj
MyAgMHgwMDAwN2Y1NzhmODNjMDM4IGluIFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJl
YW1lck1TRTo6c291cmNlU2V0dXAoX0dzdEVsZW1lbnQqKSAoKSBmcm9tIH4vY2hlY2tvdXQvV2Vi
S2l0L1dlYktpdEJ1aWxkL1JlbGVhc2UvbGliL2xpYldQRVdlYktpdC0xLjAuc28uMwojNCAgMHgw
MDAwN2Y1Nzg3NjcxODE0IGluIGZmaV9jYWxsX3VuaXg2NCAoKSBmcm9tIH4vY2hlY2tvdXQvV2Vi
S2l0L1dlYktpdEJ1aWxkL0RlcGVuZGVuY2llc1dQRS9Sb290L2xpYi9saWJmZmkuc28uNQojNSAg
MHgwMDAwN2Y1Nzg3NjcxMDg4IGluIGZmaV9jYWxsIChjaWY9Y2lmQGVudHJ5PTB4N2ZmZjhiYzlj
ZGIwLCBmbj1mbkBlbnRyeT0weDdmNTc4ZjgxZTYxMCA8V2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2
YXRlR1N0cmVhbWVyOjpzb3VyY2VTZXR1cENhbGxiYWNrKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJp
dmF0ZUdTdHJlYW1lciosIF9Hc3RFbGVtZW50Kik+LCBydmFsdWU9PG9wdGltaXplZCBvdXQ+LCBh
dmFsdWU9YXZhbHVlQGVudHJ5PTB4N2ZmZjhiYzljZDAwKSBhdCB+L2NoZWNrb3V0L1dlYktpdC9X
ZWJLaXRCdWlsZC9EZXBlbmRlbmNpZXNXUEUvU291cmNlL2xpYmZmaS0zLjAuMTAvc3JjL3g4Ni9m
Zmk2NC5jOjQ4NgojNiAgMHgwMDAwN2Y1NzhhMWFlMzEzIGluIGdfY2Nsb3N1cmVfbWFyc2hhbF9n
ZW5lcmljIChjbG9zdXJlPWNsb3N1cmVAZW50cnk9MHg1NjM1NjhiOGU0YTAsIHJldHVybl9ndmFs
dWU9cmV0dXJuX2d2YWx1ZUBlbnRyeT0weDAsIG5fcGFyYW1fdmFsdWVzPW5fcGFyYW1fdmFsdWVz
QGVudHJ5PTIsIHBhcmFtX3ZhbHVlcz1wYXJhbV92YWx1ZXNAZW50cnk9MHg3ZmZmOGJjOWNmYTAs
IGludm9jYXRpb25faGludD1pbnZvY2F0aW9uX2hpbnRAZW50cnk9MHg3ZmZmOGJjOWNmNDAsIG1h
cnNoYWxfZGF0YT1tYXJzaGFsX2RhdGFAZW50cnk9MHgwKSBhdCAuLi8uLi9Tb3VyY2UvZ2xpYi0y
LjU4LjEvZ29iamVjdC9nY2xvc3VyZS5jOjE0OTYKIzcgIDB4MDAwMDdmNTc4YTFhZGFlMiBpbiBn
X2Nsb3N1cmVfaW52b2tlIChjbG9zdXJlPTB4NTYzNTY4YjhlNGEwLCByZXR1cm5fdmFsdWU9cmV0
dXJuX3ZhbHVlQGVudHJ5PTB4MCwgbl9wYXJhbV92YWx1ZXM9MiwgcGFyYW1fdmFsdWVzPXBhcmFt
X3ZhbHVlc0BlbnRyeT0weDdmZmY4YmM5Y2ZhMCwgaW52b2NhdGlvbl9oaW50PWludm9jYXRpb25f
aGludEBlbnRyeT0weDdmZmY4YmM5Y2Y0MCkgYXQgLi4vLi4vU291cmNlL2dsaWItMi41OC4xL2dv
YmplY3QvZ2Nsb3N1cmUuYzo4MTAKIzggIDB4MDAwMDdmNTc4YTFiZjQ2MyBpbiBzaWduYWxfZW1p
dF91bmxvY2tlZF9SIChub2RlPW5vZGVAZW50cnk9MHg1NjM1NjhiNGFhZTAsIGRldGFpbD1kZXRh
aWxAZW50cnk9MCwgaW5zdGFuY2U9aW5zdGFuY2VAZW50cnk9MHg1NjM1NjhiNGFlMTAsIGVtaXNz
aW9uX3JldHVybj1lbWlzc2lvbl9yZXR1cm5AZW50cnk9MHgwLCBpbnN0YW5jZV9hbmRfcGFyYW1z
PWluc3RhbmNlX2FuZF9wYXJhbXNAZW50cnk9MHg3ZmZmOGJjOWNmYTApIGF0IC4uLy4uL1NvdXJj
ZS9nbGliLTIuNTguMS9nb2JqZWN0L2dzaWduYWwuYzozNjM1CiM5ICAweDAwMDA3ZjU3OGExYzU5
ODIgaW4gZ19zaWduYWxfZW1pdF92YWxpc3QgKGluc3RhbmNlPTxvcHRpbWl6ZWQgb3V0Piwgc2ln
bmFsX2lkPTxvcHRpbWl6ZWQgb3V0PiwgZGV0YWlsPTxvcHRpbWl6ZWQgb3V0PiwgdmFyX2FyZ3M9
dmFyX2FyZ3NAZW50cnk9MHg3ZmZmOGJjOWQxMjgpIGF0IC4uLy4uL1NvdXJjZS9nbGliLTIuNTgu
MS9nb2JqZWN0L2dzaWduYWwuYzozMzkxCiMxMCAweDAwMDA3ZjU3OGExYzViYjIgaW4gZ19zaWdu
YWxfZW1pdCAoaW5zdGFuY2U9aW5zdGFuY2VAZW50cnk9MHg1NjM1NjhiNGFlMTAsIHNpZ25hbF9p
ZD08b3B0aW1pemVkIG91dD4sIGRldGFpbD1kZXRhaWxAZW50cnk9MCkgYXQgLi4vLi4vU291cmNl
L2dsaWItMi41OC4xL2dvYmplY3QvZ3NpZ25hbC5jOjM0NDcKIzExIDB4MDAwMDdmNTZmNGFhYmY0
ZiBpbiBub3RpZnlfc291cmNlX2NiICh1cmlkZWNvZGViaW49PG9wdGltaXplZCBvdXQ+LCBwc3Bl
Yz08b3B0aW1pemVkIG91dD4sIGdyb3VwPTxvcHRpbWl6ZWQgb3V0PikgYXQgLi4vLi4vU291cmNl
L2dzdC1wbHVnaW5zLWJhc2UtMS4xNi4yL2dzdC9wbGF5YmFjay9nc3RwbGF5YmluMi5jOjUyMjYK
IzEyIDB4MDAwMDdmNTc4YTFhZGFlMiBpbiBnX2Nsb3N1cmVfaW52b2tlIChjbG9zdXJlPTB4NTYz
NTY4YzhkNDQwLCByZXR1cm5fdmFsdWU9cmV0dXJuX3ZhbHVlQGVudHJ5PTB4MCwgbl9wYXJhbV92
YWx1ZXM9MiwgcGFyYW1fdmFsdWVzPXBhcmFtX3ZhbHVlc0BlbnRyeT0weDdmZmY4YmM5ZDNjMCwg
aW52b2NhdGlvbl9oaW50PWludm9jYXRpb25faGludEBlbnRyeT0weDdmZmY4YmM5ZDM2MCkgYXQg
Li4vLi4vU291cmNlL2dsaWItMi41OC4xL2dvYmplY3QvZ2Nsb3N1cmUuYzo4MTAKIzEzIDB4MDAw
MDdmNTc4YTFiZjQ2MyBpbiBzaWduYWxfZW1pdF91bmxvY2tlZF9SIChub2RlPW5vZGVAZW50cnk9
MHg1NjM1NjgyYTUyYTAsIGRldGFpbD1kZXRhaWxAZW50cnk9MjUxOSwgaW5zdGFuY2U9aW5zdGFu
Y2VAZW50cnk9MHg1NjM1NjhiYjZlZTAsIGVtaXNzaW9uX3JldHVybj1lbWlzc2lvbl9yZXR1cm5A
ZW50cnk9MHgwLCBpbnN0YW5jZV9hbmRfcGFyYW1zPWluc3RhbmNlX2FuZF9wYXJhbXNAZW50cnk9
MHg3ZmZmOGJjOWQzYzApIGF0IC4uLy4uL1NvdXJjZS9nbGliLTIuNTguMS9nb2JqZWN0L2dzaWdu
YWwuYzozNjM1CiMxNCAweDAwMDA3ZjU3OGExYzU5ODIgaW4gZ19zaWduYWxfZW1pdF92YWxpc3Qg
KGluc3RhbmNlPTxvcHRpbWl6ZWQgb3V0Piwgc2lnbmFsX2lkPTxvcHRpbWl6ZWQgb3V0PiwgZGV0
YWlsPTxvcHRpbWl6ZWQgb3V0PiwgdmFyX2FyZ3M9dmFyX2FyZ3NAZW50cnk9MHg3ZmZmOGJjOWQ1
NDgpIGF0IC4uLy4uL1NvdXJjZS9nbGliLTIuNTguMS9nb2JqZWN0L2dzaWduYWwuYzozMzkxCiMx
NSAweDAwMDA3ZjU3OGExYzViYjIgaW4gZ19zaWduYWxfZW1pdCAoaW5zdGFuY2U9aW5zdGFuY2VA
ZW50cnk9MHg1NjM1NjhiYjZlZTAsIHNpZ25hbF9pZD08b3B0aW1pemVkIG91dD4sIGRldGFpbD08
b3B0aW1pemVkIG91dD4pIGF0IC4uLy4uL1NvdXJjZS9nbGliLTIuNTguMS9nb2JqZWN0L2dzaWdu
YWwuYzozNDQ3CiMxNiAweDAwMDA3ZjU3OGExYjFmYTQgaW4gZ19vYmplY3RfZGlzcGF0Y2hfcHJv
cGVydGllc19jaGFuZ2VkIChvYmplY3Q9MHg1NjM1NjhiYjZlZTAsIG5fcHNwZWNzPTxvcHRpbWl6
ZWQgb3V0PiwgcHNwZWNzPTxvcHRpbWl6ZWQgb3V0PikgYXQgLi4vLi4vU291cmNlL2dsaWItMi41
OC4xL2dvYmplY3QvZ29iamVjdC5jOjEwODgKIzE3IDB4MDAwMDdmNTc4YjE4NjRhNCBpbiBnc3Rf
b2JqZWN0X2Rpc3BhdGNoX3Byb3BlcnRpZXNfY2hhbmdlZCAob2JqZWN0PTB4NTYzNTY4YmI2ZWUw
LCBuX3BzcGVjcz0xLCBwc3BlY3M9MHg3ZmZmOGJjOWQ2YjgpIGF0IC4uLy4uL1NvdXJjZS9nc3Ry
ZWFtZXItMS4xNi4yL2dzdC9nc3RvYmplY3QuYzo0NTQKIzE4IDB4MDAwMDdmNTc4YTFiM2Q4YyBp
biBnX29iamVjdF9ub3RpZnlfYnlfc3BlY19pbnRlcm5hbCAocHNwZWM9PG9wdGltaXplZCBvdXQ+
LCBvYmplY3Q9MHg1NjM1NjhiYjZlZTApIGF0IC4uLy4uL1NvdXJjZS9nbGliLTIuNTguMS9nb2Jq
ZWN0L2dvYmplY3QuYzoxMTgxCiMxOSBnX29iamVjdF9ub3RpZnkgKG9iamVjdD0weDU2MzU2OGJi
NmVlMCwgcHJvcGVydHlfbmFtZT0weDdmNTZmNGFkZWYwZSAic291cmNlIikgYXQgLi4vLi4vU291
cmNlL2dsaWItMi41OC4xL2dvYmplY3QvZ29iamVjdC5jOjEyMjkKIzIwIDB4MDAwMDdmNTZmNGE5
NjEwZCBpbiBzZXR1cF9zb3VyY2UgKGRlY29kZXI9PG9wdGltaXplZCBvdXQ+KSBhdCAuLi8uLi9T
b3VyY2UvZ3N0LXBsdWdpbnMtYmFzZS0xLjE2LjIvZ3N0L3BsYXliYWNrL2dzdHVyaWRlY29kZWJp
bi5jOjIyMDkKIzIxIGdzdF91cmlfZGVjb2RlX2Jpbl9jaGFuZ2Vfc3RhdGUgKGVsZW1lbnQ9MHg1
NjM1NjhiYjZlZTAsIHRyYW5zaXRpb249PG9wdGltaXplZCBvdXQ+KSBhdCAuLi8uLi9Tb3VyY2Uv
Z3N0LXBsdWdpbnMtYmFzZS0xLjE2LjIvZ3N0L3BsYXliYWNrL2dzdHVyaWRlY29kZWJpbi5jOjI4
MjEKIzIyIDB4MDAwMDdmNTc4YjFiMjMzZSBpbiBnc3RfZWxlbWVudF9jaGFuZ2Vfc3RhdGUgKGVs
ZW1lbnQ9ZWxlbWVudEBlbnRyeT0weDU2MzU2OGJiNmVlMCwgdHJhbnNpdGlvbj10cmFuc2l0aW9u
QGVudHJ5PUdTVF9TVEFURV9DSEFOR0VfUkVBRFlfVE9fUEFVU0VEKSBhdCAuLi8uLi9Tb3VyY2Uv
Z3N0cmVhbWVyLTEuMTYuMi9nc3QvZ3N0ZWxlbWVudC5jOjI5NTIKIzIzIDB4MDAwMDdmNTc4YjFi
MmE3ZCBpbiBnc3RfZWxlbWVudF9zZXRfc3RhdGVfZnVuYyAoZWxlbWVudD0weDU2MzU2OGJiNmVl
MCwgc3RhdGU9R1NUX1NUQVRFX1BBVVNFRCkgYXQgLi4vLi4vU291cmNlL2dzdHJlYW1lci0xLjE2
LjIvZ3N0L2dzdGVsZW1lbnQuYzoyOTA2CiMyNCAweDAwMDA3ZjU2ZjRhYWY4ZmEgaW4gYWN0aXZh
dGVfZ3JvdXAgKHRhcmdldD1HU1RfU1RBVEVfUEFVU0VELCBncm91cD0weDU2MzU2OGI0YjI5OCwg
cGxheWJpbj0weDU2MzU2OGI0YWUxMCkgYXQgLi4vLi4vU291cmNlL2dzdC1wbHVnaW5zLWJhc2Ut
MS4xNi4yL2dzdC9wbGF5YmFjay9nc3RwbGF5YmluMi5jOjU0NjcKIzI1IHNldHVwX25leHRfc291
cmNlIChwbGF5YmluPXBsYXliaW5AZW50cnk9MHg1NjM1NjhiNGFlMTAsIHRhcmdldD1HU1RfU1RB
VEVfUEFVU0VEKSBhdCAuLi8uLi9Tb3VyY2UvZ3N0LXBsdWdpbnMtYmFzZS0xLjE2LjIvZ3N0L3Bs
YXliYWNrL2dzdHBsYXliaW4yLmM6NTY5MQojMjYgMHgwMDAwN2Y1NmY0YWIwNWE1IGluIGdzdF9w
bGF5X2Jpbl9jaGFuZ2Vfc3RhdGUgKGVsZW1lbnQ9MHg1NjM1NjhiNGFlMTAsIHRyYW5zaXRpb249
PG9wdGltaXplZCBvdXQ+KSBhdCAuLi8uLi9Tb3VyY2UvZ3N0LXBsdWdpbnMtYmFzZS0xLjE2LjIv
Z3N0L3BsYXliYWNrL2dzdHBsYXliaW4yLmM6NTgyMAojMjcgMHgwMDAwN2Y1NzhiMWIyMzNlIGlu
IGdzdF9lbGVtZW50X2NoYW5nZV9zdGF0ZSAoZWxlbWVudD1lbGVtZW50QGVudHJ5PTB4NTYzNTY4
YjRhZTEwLCB0cmFuc2l0aW9uPXRyYW5zaXRpb25AZW50cnk9R1NUX1NUQVRFX0NIQU5HRV9SRUFE
WV9UT19QQVVTRUQpIGF0IC4uLy4uL1NvdXJjZS9nc3RyZWFtZXItMS4xNi4yL2dzdC9nc3RlbGVt
ZW50LmM6Mjk1MgojMjggMHgwMDAwN2Y1NzhiMWIyYTdkIGluIGdzdF9lbGVtZW50X3NldF9zdGF0
ZV9mdW5jIChlbGVtZW50PTB4NTYzNTY4YjRhZTEwLCBzdGF0ZT1HU1RfU1RBVEVfUEFVU0VEKSBh
dCAuLi8uLi9Tb3VyY2UvZ3N0cmVhbWVyLTEuMTYuMi9nc3QvZ3N0ZWxlbWVudC5jOjI5MDYKIzI5
IDB4MDAwMDdmNTc4ZjgxZWQxZSBpbiBXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFt
ZXI6OmNoYW5nZVBpcGVsaW5lU3RhdGUoR3N0U3RhdGUpICgpIGZyb20gfi9jaGVja291dC9XZWJL
aXQvV2ViS2l0QnVpbGQvUmVsZWFzZS9saWIvbGliV1BFV2ViS2l0LTEuMC5zby4zCiMzMCAweDAw
MDA3ZjU3OGY4M2Y2YzAgaW4gV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyTVNF
Ojpkb1NlZWsoV1RGOjpNZWRpYVRpbWUgY29uc3QmLCBmbG9hdCwgR3N0U2Vla0ZsYWdzKSAoKSBm
cm9tIH4vY2hlY2tvdXQvV2ViS2l0L1dlYktpdEJ1aWxkL1JlbGVhc2UvbGliL2xpYldQRVdlYktp
dC0xLjAuc28uMwojMzEgMHgwMDAwN2Y1NzhmODNlMTEwIGluIFdlYkNvcmU6Ok1lZGlhUGxheWVy
UHJpdmF0ZUdTdHJlYW1lck1TRTo6c2VlayhXVEY6Ok1lZGlhVGltZSBjb25zdCYpICgpIGZyb20g
fi9jaGVja291dC9XZWJLaXQvV2ViS2l0QnVpbGQvUmVsZWFzZS9saWIvbGliV1BFV2ViS2l0LTEu
MC5zby4zCiMzMiAweDAwMDA3ZjU3OGViYjg0ZTEgaW4gV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVu
dDo6c2Vla1Rhc2soKSAoKSBmcm9tIH4vY2hlY2tvdXQvV2ViS2l0L1dlYktpdEJ1aWxkL1JlbGVh
c2UvbGliL2xpYldQRVdlYktpdC0xLjAuc28uMwojMzMgMHgwMDAwN2Y1NzhmMDVhZWZkIGluIFdl
YkNvcmU6OlRhc2tEaXNwYXRjaGVyPFdlYkNvcmU6OlRpbWVyPjo6ZGlzcGF0Y2hPbmVUYXNrKCkg
KCkgZnJvbSB+L2NoZWNrb3V0L1dlYktpdC9XZWJLaXRCdWlsZC9SZWxlYXNlL2xpYi9saWJXUEVX
ZWJLaXQtMS4wLnNvLjMKIzM0IDB4MDAwMDdmNTc4ZjA1YWZjNiBpbiBXZWJDb3JlOjpUYXNrRGlz
cGF0Y2hlcjxXZWJDb3JlOjpUaW1lcj46OnNoYXJlZFRpbWVyRmlyZWQoKSAoKSBmcm9tIH4vY2hl
Y2tvdXQvV2ViS2l0L1dlYktpdEJ1aWxkL1JlbGVhc2UvbGliL2xpYldQRVdlYktpdC0xLjAuc28u
MwojMzUgMHgwMDAwN2Y1NzhmMDhkOTQ0IGluIFdlYkNvcmU6OlRocmVhZFRpbWVyczo6c2hhcmVk
VGltZXJGaXJlZEludGVybmFsKCkgKCkgZnJvbSB+L2NoZWNrb3V0L1dlYktpdC9XZWJLaXRCdWls
ZC9SZWxlYXNlL2xpYi9saWJXUEVXZWJLaXQtMS4wLnNvLjMKIzM2IDB4MDAwMDdmNTc5MGJmMTlm
NSBpbiBXVEY6OlJ1bkxvb3A6OlRpbWVyQmFzZTo6VGltZXJCYXNlKFdURjo6UnVuTG9vcCYpOjp7
bGFtYmRhKHZvaWQqKSMxfTo6X0ZVTih2b2lkKikgKCkgZnJvbSB+L2NoZWNrb3V0L1dlYktpdC9X
ZWJLaXRCdWlsZC9SZWxlYXNlL2xpYi9saWJXUEVXZWJLaXQtMS4wLnNvLjMKIzM3IDB4MDAwMDdm
NTc5MGJmMWMzZiBpbiBXVEY6OlJ1bkxvb3A6OntsYW1iZGEoX0dTb3VyY2UqLCBpbnQgKCopKHZv
aWQqKSwgdm9pZCopIzF9OjpfRlVOKF9HU291cmNlKiwgaW50ICgqKSh2b2lkKiksIHZvaWQqKSAo
KSBmcm9tIH4vY2hlY2tvdXQvV2ViS2l0L1dlYktpdEJ1aWxkL1JlbGVhc2UvbGliL2xpYldQRVdl
YktpdC0xLjAuc28uMwojMzggMHgwMDAwN2Y1NzhiM2QyMjNmIGluIGdfbWFpbl9kaXNwYXRjaCAo
Y29udGV4dD0weDU2MzU2ODJiMjc3MCkgYXQgLi4vLi4vU291cmNlL2dsaWItMi41OC4xL2dsaWIv
Z21haW4uYzozMTgyCiMzOSBnX21haW5fY29udGV4dF9kaXNwYXRjaCAoY29udGV4dD0weDU2MzU2
ODJiMjc3MCkgYXQgLi4vLi4vU291cmNlL2dsaWItMi41OC4xL2dsaWIvZ21haW4uYzozODQ3CiM0
MCAweDAwMDA3ZjU3OGIzZDI1ZDggaW4gZ19tYWluX2NvbnRleHRfaXRlcmF0ZSAoY29udGV4dD0w
eDU2MzU2ODJiMjc3MCwgYmxvY2s9YmxvY2tAZW50cnk9MSwgZGlzcGF0Y2g9ZGlzcGF0Y2hAZW50
cnk9MSwgc2VsZj08b3B0aW1pemVkIG91dD4pIGF0IC4uLy4uL1NvdXJjZS9nbGliLTIuNTguMS9n
bGliL2dtYWluLmM6MzkyMAojNDEgMHgwMDAwN2Y1NzhiM2QyOTAzIGluIGdfbWFpbl9sb29wX3J1
biAobG9vcD0weDU2MzU2ODI5YzFjMCkgYXQgLi4vLi4vU291cmNlL2dsaWItMi41OC4xL2dsaWIv
Z21haW4uYzo0MTE2CiM0MiAweDAwMDA3ZjU3OTBiZjFkNjAgaW4gV1RGOjpSdW5Mb29wOjpydW4o
KSAoKSBmcm9tIH4vY2hlY2tvdXQvV2ViS2l0L1dlYktpdEJ1aWxkL1JlbGVhc2UvbGliL2xpYldQ
RVdlYktpdC0xLjAuc28uMwojNDMgMHgwMDAwN2Y1NzhkY2FjY2JmIGluIFdlYktpdDo6V2ViUHJv
Y2Vzc01haW4oaW50LCBjaGFyKiopICgpIGZyb20gfi9jaGVja291dC9XZWJLaXQvV2ViS2l0QnVp
bGQvUmVsZWFzZS9saWIvbGliV1BFV2ViS2l0LTEuMC5zby4zCiM0NCAweDAwMDA3ZjU3OGI3YWZk
MGEgaW4gX19saWJjX3N0YXJ0X21haW4gKG1haW49MHg1NjM1Njc0ZjM2MzAgPG1haW4+LCBhcmdj
PTMsIGFyZ3Y9MHg3ZmZmOGJjOWUwOTgsIGluaXQ9PG9wdGltaXplZCBvdXQ+LCBmaW5pPTxvcHRp
bWl6ZWQgb3V0PiwgcnRsZF9maW5pPTxvcHRpbWl6ZWQgb3V0Piwgc3RhY2tfZW5kPTB4N2ZmZjhi
YzllMDg4KSBhdCAuLi9jc3UvbGliYy1zdGFydC5jOjMwOAojNDUgMHgwMDAwNTYzNTY3NGYzNjZh
IGluIF9zdGFydCAoKQoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>423827</attachid>
            <date>2021-03-21 09:10:25 -0700</date>
            <delta_ts>2021-03-23 07:27:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220091-20210321091023.patch</filename>
            <type>text/plain</type>
            <size>18567</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0NzUwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWQ5MjI2OTk4MWQ3OWQy
YjFmZjcwMjhmZGUyOGEwMGU3YzQ0MzdmMi4uOWMxYzI1MzRlMWY4MDNlMWFmMjZiZjYxNTY2N2Yz
OWMyZGM1YTNlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDIxLTAzLTIxICBQaGls
aXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KKworICAgICAgICBbTVNFXVtHU3Ry
ZWFtZXJdIFNJR1NFViBpbiB3ZWJLaXRNZWRpYVNyY0ZyZWVTdHJlYW0KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMDA5MQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBwaXBlbGluZSB1c2VkIGJ5IHRo
ZSBNU0UgcGxheWVyIGlzIG5vdyBhYmxlIHJlbG9hZCB0aGUgTWVkaWFTb3VyY2UgZnJvbSB0aGUg
YmVnaW5uaW5nIGlmCisgICAgICAgIGEgc2VlayB0byAwIHdhcyByZXF1ZXN0ZWQuIFRoZSBwcm9i
bGVtIHdhcyB0aGF0IHVyaWRlY29kZWJpbiB3YXMgY3JlYXRpbmcgYSBuZXcgc291cmNlCisgICAg
ICAgIGVsZW1lbnQgYW5kIG5vdGlmeWluZyB0aGUgcGxheWVyIHdoaWNoIHdhcyB0aGVuIHRyeWlu
ZyB0byBkaXNwb3NlIHVuZGVybHlpbmcgcGxhdGZvcm0gdHJhY2sKKyAgICAgICAgaW5mb3JtYXRp
b25zLCBhbmQgYWxzbyByZWxhdGVkIGFwcHNyYyBlbGVtZW50cy4gVGhlIGxhdHRlciB3YXMgc3Bl
Y2lhbGx5IHByb2JsZW1hdGljIGJlY2F1c2UKKyAgICAgICAgdGhlIGFwcHNyYyBlbGVtZW50cyBv
d25lcnNoaXAgd2FzIGJhZGx5IGhhbmRsZWQgKGVsZW1lbnRzIGFkZGVkIHRvIGEgYmluIHNob3Vs
ZCBub3QgYmUKKyAgICAgICAgcmV1c2VkLCB1bmxlc3MgYW4gZXh0cmEgcmVmIGlzIGFkZGVkKSwg
bGVhZGluZyB0byByYWN5IGNyYXNoZXMuCisKKyAgICAgICAgU28gbm93IHdoZW4gdXJpZGVjb2Rl
YmluIGNyZWF0ZXMgYSBuZXcgc291cmNlIGVsZW1lbnQsIHRoZSBwbGF5ZXIgZGV0ZWN0cyB0aGlz
IGlzIGEgbmV3CisgICAgICAgIHNvdXJjZSBhbmQgdHJhbnNmZXJzIHRyYWNrLXJlbGF0ZWQgaW5m
b3JtYXRpb25zIHRvIHRoZSBuZXcgZWxlbWVudC4gQWRkaXRpb25hbGx5LCBuZXcgYXBwc3JjCisg
ICAgICAgIGVsZW1lbnRzIGFyZSBjcmVhdGVkIGZvciB0aGUgbmV3IGVsZW1lbnQgYW5kIHRyYWNr
IHNpZ25hbHMgZW1pdHRlZCBzbyB0aGF0IHRoZSBwbGF5ZXIgaXMKKyAgICAgICAgc3RpbGwgZnVs
bHkgYXdhcmUgb2YgdGhlIE1TRSB0cmFja3MgdG9wb2xvZ3kuCisKKyAgICAgICAgTm8gbmV3IHRl
c3RzIGJ1dCB0d28gZXhpc3RpbmcgdGVzdHMgYXJlIG5vdyBwYXNzaW5nLgorCisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFt
ZXJNU0UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVy
TVNFOjpsb2FkKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1l
ck1TRTo6c291cmNlU2V0dXApOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1l
ci9tc2UvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyTVNFLmg6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9NZWRpYVNvdXJjZVByaXZhdGVHU3RyZWFtZXIuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTb3VyY2VQcml2YXRlR1N0cmVhbWVyOjpvcGVuKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL01lZGlhU291cmNlUHJp
dmF0ZUdTdHJlYW1lci5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9t
c2UvUGxheWJhY2tQaXBlbGluZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQbGF5YmFja1BpcGVs
aW5lOjphZGRTb3VyY2VCdWZmZXIpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJl
YW1lci9tc2UvV2ViS2l0TWVkaWFTb3VyY2VHU3RyZWFtZXIuY3BwOgorICAgICAgICAod2ViS2l0
TWVkaWFTcmNGaW5hbGl6ZSk6CisgICAgICAgICh3ZWJLaXRNZWRpYVNyY0NoYW5nZVN0YXRlKToK
KyAgICAgICAgKHdlYktpdE1lZGlhU3JjRnJlZVN0cmVhbSk6CisgICAgICAgICh3ZWJLaXRNZWRp
YVNyY1Jlc3RvcmVUcmFja3MpOgorICAgICAgICAod2ViS2l0TWVkaWFTcmNTaWduYWxUcmFja3Mp
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvV2ViS2l0TWVkaWFT
b3VyY2VHU3RyZWFtZXIuaDoKKwogMjAyMS0wMy0xOSAgRGVhbiBKYWNrc29uICA8ZGlub0BhcHBs
ZS5jb20+CiAKICAgICAgICAgTGluayBhZ2FpbnN0IHRoZSBBTkdMRSBTaGFyZWQgTGlicmFyeQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21z
ZS9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJNU0UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJN
U0UuY3BwCmluZGV4IDdmOWE0ZWYwMDIxN2M4ZTY2MjUxYTIwOTJiYzZkMDQ3ODBmNzdjNTkuLjJm
ZDczOTQzYjRmMzI0Y2ExY2RkMDljMGJlYTU4NjQ0NDZiYzJhYjIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvTWVkaWFQbGF5ZXJQcml2
YXRlR1N0cmVhbWVyTVNFLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9nc3RyZWFtZXIvbXNlL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lck1TRS5jcHAKQEAgLTEy
MSwyNSArMTIxLDI0IEBAIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lck1TRTo6fk1lZGlhUGxh
eWVyUHJpdmF0ZUdTdHJlYW1lck1TRSgpCiAgICAgICAgIG1fcGxheWJhY2tQaXBlbGluZS0+c2V0
V2ViS2l0TWVkaWFTcmMobnVsbHB0cik7CiB9CiAKLXZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0
cmVhbWVyTVNFOjpsb2FkKGNvbnN0IFN0cmluZyYgdXJsU3RyaW5nKQordm9pZCBNZWRpYVBsYXll
clByaXZhdGVHU3RyZWFtZXJNU0U6OmxvYWQoY29uc3QgU3RyaW5nJikKIHsKLSAgICBpZiAoIXVy
bFN0cmluZy5zdGFydHNXaXRoKCJtZWRpYXNvdXJjZSIpKSB7Ci0gICAgICAgIC8vIFByb3Blcmx5
IGZhaWwgc28gdGhlIGdsb2JhbCBNZWRpYVBsYXllciB0cmllcyB0byBmYWxsYmFjayB0byB0aGUg
bmV4dCBNZWRpYVBsYXllclByaXZhdGUuCi0gICAgICAgIG1fbmV0d29ya1N0YXRlID0gTWVkaWFQ
bGF5ZXI6Ok5ldHdvcmtTdGF0ZTo6Rm9ybWF0RXJyb3I7Ci0gICAgICAgIG1fcGxheWVyLT5uZXR3
b3JrU3RhdGVDaGFuZ2VkKCk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBpZiAoIW1f
cGxheWJhY2tQaXBlbGluZSkKLSAgICAgICAgbV9wbGF5YmFja1BpcGVsaW5lID0gUGxheWJhY2tQ
aXBlbGluZTo6Y3JlYXRlKCk7Ci0KLSAgICBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6Omxv
YWQodXJsU3RyaW5nKTsKKyAgICAvLyBUaGlzIG1lZGlhIGVuZ2luZSBvbmx5IHN1cHBvcnRzIE1l
ZGlhU291cmNlIFVSTHMuCisgICAgbV9uZXR3b3JrU3RhdGUgPSBNZWRpYVBsYXllcjo6TmV0d29y
a1N0YXRlOjpGb3JtYXRFcnJvcjsKKyAgICBtX3BsYXllci0+bmV0d29ya1N0YXRlQ2hhbmdlZCgp
OwogfQogCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lck1TRTo6bG9hZChjb25zdCBV
UkwmIHVybCwgY29uc3QgQ29udGVudFR5cGUmLCBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqIG1l
ZGlhU291cmNlKQogeworICAgIEdTVF9ERUJVRygiTG9hZGluZyAlcyIsIHVybC5zdHJpbmcoKS5h
c2NpaSgpLmRhdGEoKSk7CiAgICAgbV9tZWRpYVNvdXJjZSA9IG1lZGlhU291cmNlOwotICAgIGxv
YWQobWFrZVN0cmluZygibWVkaWFzb3VyY2UiLCB1cmwuc3RyaW5nKCkpKTsKKworICAgIGlmICgh
bV9wbGF5YmFja1BpcGVsaW5lKQorICAgICAgICBtX3BsYXliYWNrUGlwZWxpbmUgPSBQbGF5YmFj
a1BpcGVsaW5lOjpjcmVhdGUoKTsKKworICAgIG1fbWVkaWFTb3VyY2VQcml2YXRlID0gTWVkaWFT
b3VyY2VQcml2YXRlR1N0cmVhbWVyOjpvcGVuKCptX21lZGlhU291cmNlLmdldCgpLCAqdGhpcyk7
CisKKyAgICBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OmxvYWQobWFrZVN0cmluZygibWVk
aWFzb3VyY2UiLCB1cmwuc3RyaW5nKCkpKTsKIH0KIAogdm9pZCBNZWRpYVBsYXllclByaXZhdGVH
U3RyZWFtZXJNU0U6OnBhdXNlKCkKQEAgLTQ3NSwxNyArNDc0LDMzIEBAIHN0ZDo6dW5pcXVlX3B0
cjxQbGF0Zm9ybVRpbWVSYW5nZXM+IE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lck1TRTo6YnVm
ZmVyZWQoKSBjCiAKIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyTVNFOjpzb3VyY2VT
ZXR1cChHc3RFbGVtZW50KiBzb3VyY2VFbGVtZW50KQogewotICAgIG1fc291cmNlID0gc291cmNl
RWxlbWVudDsKKyAgICBBU1NFUlQoV0VCS0lUX0lTX01FRElBX1NSQyhzb3VyY2VFbGVtZW50KSk7
CisgICAgR1NUX0RFQlVHX09CSkVDVChwaXBlbGluZSgpLCAiU291cmNlICVwIHNldHVwIChvbGQg
d2FzOiAlcCkiLCBzb3VyY2VFbGVtZW50LCBtX3NvdXJjZS5nZXQoKSk7CiAKLSAgICBBU1NFUlQo
V0VCS0lUX0lTX01FRElBX1NSQyhtX3NvdXJjZS5nZXQoKSkpOworICAgIGJvb2wgc2hvdWxkUmVz
dG9yZVRyYWNrcyA9IG1fc291cmNlOworICAgIGlmIChzaG91bGRSZXN0b3JlVHJhY2tzKQorICAg
ICAgICB3ZWJLaXRNZWRpYVNyY1Jlc3RvcmVUcmFja3MoV0VCS0lUX01FRElBX1NSQyhtX3NvdXJj
ZS5nZXQoKSksIFdFQktJVF9NRURJQV9TUkMoc291cmNlRWxlbWVudCkpOworICAgIG1fc291cmNl
ID0gc291cmNlRWxlbWVudDsKKyAgICBtX2Vvc01hcmtlZCA9IGZhbHNlOwogCiAgICAgbV9wbGF5
YmFja1BpcGVsaW5lLT5zZXRXZWJLaXRNZWRpYVNyYyhXRUJLSVRfTUVESUFfU1JDKG1fc291cmNl
LmdldCgpKSk7Ci0KLSAgICBNZWRpYVNvdXJjZVByaXZhdGVHU3RyZWFtZXI6Om9wZW4oKm1fbWVk
aWFTb3VyY2UuZ2V0KCksICp0aGlzKTsKICAgICBnX3NpZ25hbF9jb25uZWN0X3N3YXBwZWQobV9z
b3VyY2UuZ2V0KCksICJ2aWRlby1jaGFuZ2VkIiwgR19DQUxMQkFDSyh2aWRlb0NoYW5nZWRDYWxs
YmFjayksIHRoaXMpOwogICAgIGdfc2lnbmFsX2Nvbm5lY3Rfc3dhcHBlZChtX3NvdXJjZS5nZXQo
KSwgImF1ZGlvLWNoYW5nZWQiLCBHX0NBTExCQUNLKGF1ZGlvQ2hhbmdlZENhbGxiYWNrKSwgdGhp
cyk7CiAgICAgZ19zaWduYWxfY29ubmVjdF9zd2FwcGVkKG1fc291cmNlLmdldCgpLCAidGV4dC1j
aGFuZ2VkIiwgR19DQUxMQkFDSyh0ZXh0Q2hhbmdlZENhbGxiYWNrKSwgdGhpcyk7CiAgICAgd2Vi
S2l0TWVkaWFTcmNTZXRNZWRpYVBsYXllclByaXZhdGUoV0VCS0lUX01FRElBX1NSQyhtX3NvdXJj
ZS5nZXQoKSksIHRoaXMpOworCisgICAgaWYgKHNob3VsZFJlc3RvcmVUcmFja3MpIHsKKyAgICAg
ICAgY2FsbE9uTWFpblRocmVhZChbcGxheWVyID0gbWFrZVdlYWtQdHIoKnRoaXMpXSB7CisgICAg
ICAgICAgICBpZiAoIXBsYXllcikKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAg
ICB3ZWJLaXRNZWRpYVNyY1NpZ25hbFRyYWNrcyhXRUJLSVRfTUVESUFfU1JDKHBsYXllci0+bV9z
b3VyY2UuZ2V0KCkpKTsKKyAgICAgICAgICAgIHBsYXllci0+bV9tZWRpYVNvdXJjZS0+bW9uaXRv
clNvdXJjZUJ1ZmZlcnMoKTsKKworICAgICAgICAgICAgYXV0byBzZWVrVGltZSA9IE1lZGlhVGlt
ZTo6emVyb1RpbWUoKTsKKyAgICAgICAgICAgIHdlYktpdE1lZGlhU3JjUHJlcGFyZUluaXRpYWxT
ZWVrKFdFQktJVF9NRURJQV9TUkMocGxheWVyLT5tX3NvdXJjZS5nZXQoKSksIHBsYXllci0+bV9w
bGF5YmFja1JhdGUsIHNlZWtUaW1lLCBNZWRpYVRpbWU6OmludmFsaWRUaW1lKCkpOworICAgICAg
ICAgICAgcGxheWVyLT5ub3RpZnlTZWVrTmVlZHNEYXRhRm9yVGltZShzZWVrVGltZSk7CisgICAg
ICAgIH0pOworICAgIH0KIH0KIAogdm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJNU0U6
OnVwZGF0ZVN0YXRlcygpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9nc3RyZWFtZXIvbXNlL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lck1TRS5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9NZWRpYVBsYXllclBy
aXZhdGVHU3RyZWFtZXJNU0UuaAppbmRleCBiMDFmOWViMGU2OWQxMjNkMDM5Yjg2ZDExOGM5NWZi
MzEwOTdiMDM3Li5jNDRhYzZlNDA2YzIzMTllNmQ1ZWJjNmFmZjUyOTViNzYzYWQ5YTFmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL01l
ZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lck1TRS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyTVNF
LmgKQEAgLTEwOCw2ICsxMDgsNyBAQCBwcml2YXRlOgogICAgIG11dGFibGUgYm9vbCBtX2Vvc1Bl
bmRpbmcgPSBmYWxzZTsKICAgICBib29sIG1fZ3N0U2Vla0NvbXBsZXRlZCA9IHRydWU7CiAgICAg
UmVmUHRyPE1lZGlhU291cmNlUHJpdmF0ZUNsaWVudD4gbV9tZWRpYVNvdXJjZTsKKyAgICBSZWZQ
dHI8TWVkaWFTb3VyY2VQcml2YXRlR1N0cmVhbWVyPiBtX21lZGlhU291cmNlUHJpdmF0ZTsKICAg
ICBNZWRpYVRpbWUgbV9tZWRpYVRpbWVEdXJhdGlvbjsKICAgICBib29sIG1fbXNlU2Vla0NvbXBs
ZXRlZCA9IHRydWU7CiAgICAgYm9vbCBtX2FyZUR1cmF0aW9uQ2hhbmdlc0Jsb2NrZWQgPSBmYWxz
ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1l
ci9tc2UvTWVkaWFTb3VyY2VQcml2YXRlR1N0cmVhbWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvTWVkaWFTb3VyY2VQcml2YXRlR1N0cmVhbWVy
LmNwcAppbmRleCAzNDBkODQzYTg2YTZlMjRlYjE2MWNiYTBiODA4ZTI3Y2MxNjFjN2M2Li5mODkw
YjcxM2EzMGFhODgxYzZhZmQwZWU1M2UwMzFlNjRmMzQ4YmMxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL01lZGlhU291cmNlUHJpdmF0
ZUdTdHJlYW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0
cmVhbWVyL21zZS9NZWRpYVNvdXJjZVByaXZhdGVHU3RyZWFtZXIuY3BwCkBAIC01MSw5ICs1MSwx
MSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXZvaWQgTWVkaWFTb3VyY2VQcml2YXRlR1N0
cmVhbWVyOjpvcGVuKE1lZGlhU291cmNlUHJpdmF0ZUNsaWVudCYgbWVkaWFTb3VyY2UsIE1lZGlh
UGxheWVyUHJpdmF0ZUdTdHJlYW1lck1TRSYgcGxheWVyUHJpdmF0ZSkKK1JlZjxNZWRpYVNvdXJj
ZVByaXZhdGVHU3RyZWFtZXI+IE1lZGlhU291cmNlUHJpdmF0ZUdTdHJlYW1lcjo6b3BlbihNZWRp
YVNvdXJjZVByaXZhdGVDbGllbnQmIG1lZGlhU291cmNlLCBNZWRpYVBsYXllclByaXZhdGVHU3Ry
ZWFtZXJNU0UmIHBsYXllclByaXZhdGUpCiB7Ci0gICAgbWVkaWFTb3VyY2Uuc2V0UHJpdmF0ZUFu
ZE9wZW4oYWRvcHRSZWYoKm5ldyBNZWRpYVNvdXJjZVByaXZhdGVHU3RyZWFtZXIobWVkaWFTb3Vy
Y2UsIHBsYXllclByaXZhdGUpKSk7CisgICAgYXV0byBtZWRpYVNvdXJjZVByaXZhdGUgPSBhZG9w
dFJlZigqbmV3IE1lZGlhU291cmNlUHJpdmF0ZUdTdHJlYW1lcihtZWRpYVNvdXJjZSwgcGxheWVy
UHJpdmF0ZSkpOworICAgIG1lZGlhU291cmNlLnNldFByaXZhdGVBbmRPcGVuKG1lZGlhU291cmNl
UHJpdmF0ZS5jb3B5UmVmKCkpOworICAgIHJldHVybiBtZWRpYVNvdXJjZVByaXZhdGU7CiB9CiAK
IE1lZGlhU291cmNlUHJpdmF0ZUdTdHJlYW1lcjo6TWVkaWFTb3VyY2VQcml2YXRlR1N0cmVhbWVy
KE1lZGlhU291cmNlUHJpdmF0ZUNsaWVudCYgbWVkaWFTb3VyY2UsIE1lZGlhUGxheWVyUHJpdmF0
ZUdTdHJlYW1lck1TRSYgcGxheWVyUHJpdmF0ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvTWVkaWFTb3VyY2VQcml2YXRlR1N0cmVh
bWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL01l
ZGlhU291cmNlUHJpdmF0ZUdTdHJlYW1lci5oCmluZGV4IDU3YWE5YzhlNGZmOGJlMDRmZmQ2NzZm
OWU3ZmMxN2MwMWMzYjNjMGQuLjZlY2IxZDk4MDExMjYxYjBiZjViMzVjMzYzMTMyMzhjZTFhZjZi
NTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1l
ci9tc2UvTWVkaWFTb3VyY2VQcml2YXRlR1N0cmVhbWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9NZWRpYVNvdXJjZVByaXZhdGVHU3RyZWFt
ZXIuaApAQCAtNTUsNyArNTUsNyBAQCBjbGFzcyBNZWRpYVNvdXJjZVByaXZhdGVHU3RyZWFtZXIg
ZmluYWwgOiBwdWJsaWMgTWVkaWFTb3VyY2VQcml2YXRlCiAjZW5kaWYKIHsKIHB1YmxpYzoKLSAg
ICBzdGF0aWMgdm9pZCBvcGVuKE1lZGlhU291cmNlUHJpdmF0ZUNsaWVudCYsIE1lZGlhUGxheWVy
UHJpdmF0ZUdTdHJlYW1lck1TRSYpOworICAgIHN0YXRpYyBSZWY8TWVkaWFTb3VyY2VQcml2YXRl
R1N0cmVhbWVyPiBvcGVuKE1lZGlhU291cmNlUHJpdmF0ZUNsaWVudCYsIE1lZGlhUGxheWVyUHJp
dmF0ZUdTdHJlYW1lck1TRSYpOwogICAgIHZpcnR1YWwgfk1lZGlhU291cmNlUHJpdmF0ZUdTdHJl
YW1lcigpOwogCiAgICAgQWRkU3RhdHVzIGFkZFNvdXJjZUJ1ZmZlcihjb25zdCBDb250ZW50VHlw
ZSYsIGJvb2wsIFJlZlB0cjxTb3VyY2VCdWZmZXJQcml2YXRlPiYpIG92ZXJyaWRlOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9QbGF5
YmFja1BpcGVsaW5lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJl
YW1lci9tc2UvUGxheWJhY2tQaXBlbGluZS5jcHAKaW5kZXggMWU4OGFkMTYxMWJlZDU0NTgyYjkx
MDMwOTI2MmZjNzI3MjMyNjUzNy4uYjM3ZDkwODJkY2E3NzU0YmM5MDUxNmY1YzljOTc3YzM2ZDY0
M2U2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVh
bWVyL21zZS9QbGF5YmFja1BpcGVsaW5lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL1BsYXliYWNrUGlwZWxpbmUuY3BwCkBAIC0xMzcsNyAr
MTM3LDggQEAgTWVkaWFTb3VyY2VQcml2YXRlOjpBZGRTdGF0dXMgUGxheWJhY2tQaXBlbGluZTo6
YWRkU291cmNlQnVmZmVyKFJlZlB0cjxTb3VyY2VCdWYKICAgICBwcml2LT5zdHJlYW1zLmFwcGVu
ZChzdHJlYW0pOwogICAgIEdTVF9PQkpFQ1RfVU5MT0NLKG1fd2ViS2l0TWVkaWFTcmMuZ2V0KCkp
OwogCi0gICAgZ3N0X2Jpbl9hZGQoR1NUX0JJTihtX3dlYktpdE1lZGlhU3JjLmdldCgpKSwgc3Ry
ZWFtLT5hcHBzcmMpOworICAgIC8vIERvIG5vdCBwYXNzIG93bmVyc2hpcCB0byB0aGUgYmluLiBU
aGUgYXBwc3JjIGVsZW1lbnQgaXMgbWFuYWdlZCBieSBpdHMgcGFyZW50IHN0cmVhbS4KKyAgICBn
c3RfYmluX2FkZChHU1RfQklOX0NBU1QobV93ZWJLaXRNZWRpYVNyYy5nZXQoKSksIEdTVF9FTEVN
RU5UX0NBU1QoZ3N0X29iamVjdF9yZWYoc3RyZWFtLT5hcHBzcmMpKSk7CiAgICAgZ3N0X2VsZW1l
bnRfc3luY19zdGF0ZV93aXRoX3BhcmVudChzdHJlYW0tPmFwcHNyYyk7CiAKICAgICByZXR1cm4g
TWVkaWFTb3VyY2VQcml2YXRlOjpBZGRTdGF0dXM6Ok9rOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9XZWJLaXRNZWRpYVNvdXJjZUdT
dHJlYW1lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIv
bXNlL1dlYktpdE1lZGlhU291cmNlR1N0cmVhbWVyLmNwcAppbmRleCA0YWZjODZkYTc0MjA1YzMz
ZmFlOGQ1ODI0N2MyMDI4NTNmODk4YmYyLi42NTMwZDE0OTlhNDBjZWU4MGY0YjgxMzRjMzQ3OWRl
YmUwZDZjZmYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9n
c3RyZWFtZXIvbXNlL1dlYktpdE1lZGlhU291cmNlR1N0cmVhbWVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL1dlYktpdE1lZGlhU291cmNl
R1N0cmVhbWVyLmNwcApAQCAtMjcxLDYgKzI3MSw3IEBAIHZvaWQgd2ViS2l0TWVkaWFTcmNGaW5h
bGl6ZShHT2JqZWN0KiBvYmplY3QpCiAgICAgV2ViS2l0TWVkaWFTcmMqIHNvdXJjZSA9IFdFQktJ
VF9NRURJQV9TUkMob2JqZWN0KTsKICAgICBXZWJLaXRNZWRpYVNyY1ByaXZhdGUqIHByaXYgPSBz
b3VyY2UtPnByaXY7CiAKKyAgICBHU1RfREVCVUdfT0JKRUNUKHNvdXJjZSwgIkZpbmFsaXppbmcg
JXAiLCBzb3VyY2UpOwogICAgIFZlY3RvcjxTdHJlYW0qPiBvbGRTdHJlYW1zOwogICAgIHNvdXJj
ZS0+cHJpdi0+c3RyZWFtcy5zd2FwKG9sZFN0cmVhbXMpOwogCkBAIC0zNTIsNiArMzUzLDcgQEAg
R3N0U3RhdGVDaGFuZ2VSZXR1cm4gd2ViS2l0TWVkaWFTcmNDaGFuZ2VTdGF0ZShHc3RFbGVtZW50
KiBlbGVtZW50LCBHc3RTdGF0ZUNoYW4KICAgICBXZWJLaXRNZWRpYVNyYyogc291cmNlID0gV0VC
S0lUX01FRElBX1NSQyhlbGVtZW50KTsKICAgICBXZWJLaXRNZWRpYVNyY1ByaXZhdGUqIHByaXYg
PSBzb3VyY2UtPnByaXY7CiAKKyAgICBHU1RfREVCVUdfT0JKRUNUKGVsZW1lbnQsICIlcyIsIGdz
dF9zdGF0ZV9jaGFuZ2VfZ2V0X25hbWUodHJhbnNpdGlvbikpOwogICAgIHN3aXRjaCAodHJhbnNp
dGlvbikgewogICAgIGNhc2UgR1NUX1NUQVRFX0NIQU5HRV9SRUFEWV9UT19QQVVTRUQ6CiAgICAg
ICAgIHByaXYtPmFsbFRyYWNrc0NvbmZpZ3VyZWQgPSBmYWxzZTsKQEAgLTUwOSwxMCArNTExLDEz
IEBAIHZvaWQgd2ViS2l0TWVkaWFTcmNMaW5rU291cmNlUGFkKEdzdFBhZCogc291cmNlUGFkLCBH
c3RDYXBzKiBjYXBzLCBTdHJlYW0qIHN0cmVhCiAKIHZvaWQgd2ViS2l0TWVkaWFTcmNGcmVlU3Ry
ZWFtKFdlYktpdE1lZGlhU3JjKiBzb3VyY2UsIFN0cmVhbSogc3RyZWFtKQogeworICAgIEdTVF9E
RUJVR19PQkpFQ1Qoc291cmNlLCAiUmVsZWFzaW5nIHN0cmVhbTogJXAiLCBzdHJlYW0pOworCiAg
ICAgaWYgKEdTVF9JU19BUFBfU1JDKHN0cmVhbS0+YXBwc3JjKSkgewogICAgICAgICAvLyBEb24n
dCB0cmlnZ2VyIGNhbGxiYWNrcyBmcm9tIHRoaXMgYXBwc3JjIHRvIGF2b2lkIHVzaW5nIHRoZSBz
dHJlYW0gYW55bW9yZS4KICAgICAgICAgZ3N0X2FwcF9zcmNfc2V0X2NhbGxiYWNrcyhHU1RfQVBQ
X1NSQyhzdHJlYW0tPmFwcHNyYyksICZkaXNhYmxlZEFwcHNyY0NhbGxiYWNrcywgbnVsbHB0ciwg
bnVsbHB0cik7CiAgICAgICAgIGdzdF9hcHBfc3JjX2VuZF9vZl9zdHJlYW0oR1NUX0FQUF9TUkMo
c3RyZWFtLT5hcHBzcmMpKTsKKyAgICAgICAgZ3N0X29iamVjdF91bnJlZihzdHJlYW0tPmFwcHNy
Yyk7CiAgICAgfQogCiAgICAgR1NUX09CSkVDVF9MT0NLKHNvdXJjZSk7CkBAIC01NjYsNyArNTcx
LDYgQEAgdm9pZCB3ZWJLaXRNZWRpYVNyY0ZyZWVTdHJlYW0oV2ViS2l0TWVkaWFTcmMqIHNvdXJj
ZSwgU3RyZWFtKiBzdHJlYW0pCiAgICAgICAgIHNvdXJjZS0+cHJpdi0+c3RyZWFtQ29uZGl0aW9u
Lm5vdGlmeU9uZSgpOwogICAgIH0KIAotICAgIEdTVF9ERUJVRygiUmVsZWFzaW5nIHN0cmVhbTog
JXAiLCBzdHJlYW0pOwogICAgIGRlbGV0ZSBzdHJlYW07CiB9CiAKQEAgLTY5Miw2ICs2OTYsNzIg
QEAgc3RhdGljIHZvaWQgbm90aWZ5UmVhZHlGb3JNb3JlU2FtcGxlc01haW5UaHJlYWQoV2ViS2l0
TWVkaWFTcmMqIHNvdXJjZSwgU3RyZWFtKgogICAgIEdTVF9PQkpFQ1RfVU5MT0NLKHNvdXJjZSk7
CiB9CiAKK3ZvaWQgd2ViS2l0TWVkaWFTcmNSZXN0b3JlVHJhY2tzKFdlYktpdE1lZGlhU3JjKiBv
bGRTb3VyY2UsIFdlYktpdE1lZGlhU3JjKiBuZXdTb3VyY2UpCit7CisgICAgbmV3U291cmNlLT5w
cml2LT5zdHJlYW1zID0gV1RGTW92ZShvbGRTb3VyY2UtPnByaXYtPnN0cmVhbXMpOworICAgIGZv
ciAoYXV0byogc3RyZWFtIDogbmV3U291cmNlLT5wcml2LT5zdHJlYW1zKSB7CisgICAgICAgIHN0
cmVhbS0+cGFyZW50ID0gbmV3U291cmNlOworCisgICAgICAgIGF1dG8gb2xkU291cmNlUGFkID0g
YWRvcHRHUmVmKGdzdF9lbGVtZW50X2dldF9zdGF0aWNfcGFkKHN0cmVhbS0+YXBwc3JjLCAic3Jj
IikpOworICAgICAgICB1bnNpZ25lZCBwYWRJZCA9IHN0YXRpY19jYXN0PHVuc2lnbmVkPihHUE9J
TlRFUl9UT19JTlQoZ19vYmplY3RfZ2V0X2RhdGEoR19PQkpFQ1Qob2xkU291cmNlUGFkLmdldCgp
KSwgInBhZElkIikpKTsKKworICAgICAgICBnc3Rfb2JqZWN0X3VucmVmKHN0cmVhbS0+YXBwc3Jj
KTsKKyAgICAgICAgc3RyZWFtLT5hcHBzcmMgPSBnc3RfZWxlbWVudF9mYWN0b3J5X21ha2UoImFw
cHNyYyIsIG51bGxwdHIpOworICAgICAgICBzdHJlYW0tPmFwcHNyY05lZWREYXRhRmxhZyA9IHRy
dWU7CisKKyAgICAgICAgZ3N0X2FwcF9zcmNfc2V0X2NhbGxiYWNrcyhHU1RfQVBQX1NSQyhzdHJl
YW0tPmFwcHNyYyksICZlbmFibGVkQXBwc3JjQ2FsbGJhY2tzLCBzdHJlYW0tPnBhcmVudCwgbnVs
bHB0cik7CisgICAgICAgIGdzdF9hcHBfc3JjX3NldF9lbWl0X3NpZ25hbHMoR1NUX0FQUF9TUkMo
c3RyZWFtLT5hcHBzcmMpLCBGQUxTRSk7CisgICAgICAgIGdzdF9hcHBfc3JjX3NldF9zdHJlYW1f
dHlwZShHU1RfQVBQX1NSQyhzdHJlYW0tPmFwcHNyYyksIEdTVF9BUFBfU1RSRUFNX1RZUEVfU0VF
S0FCTEUpOworCisgICAgICAgIGdzdF9hcHBfc3JjX3NldF9tYXhfYnl0ZXMoR1NUX0FQUF9TUkMo
c3RyZWFtLT5hcHBzcmMpLCAyICogV1RGOjpNQik7CisgICAgICAgIGdfb2JqZWN0X3NldChHX09C
SkVDVChzdHJlYW0tPmFwcHNyYyksICJibG9jayIsIEZBTFNFLCAibWluLXBlcmNlbnQiLCAyMCwg
ImZvcm1hdCIsIEdTVF9GT1JNQVRfVElNRSwgbnVsbHB0cik7CisKKyAgICAgICAgLy8gRG8gbm90
IHBhc3Mgb3duZXJzaGlwIHRvIHRoZSBiaW4uIFRoZSBhcHBzcmMgZWxlbWVudCBpcyBtYW5hZ2Vk
IGJ5IGl0cyBwYXJlbnQgc3RyZWFtLgorICAgICAgICBnc3RfYmluX2FkZChHU1RfQklOX0NBU1Qo
bmV3U291cmNlKSwgR1NUX0VMRU1FTlRfQ0FTVChnc3Rfb2JqZWN0X3JlZihzdHJlYW0tPmFwcHNy
YykpKTsKKworICAgICAgICBhdXRvIHNvdXJjZVBhZCA9IGFkb3B0R1JlZihnc3RfZWxlbWVudF9n
ZXRfc3RhdGljX3BhZChzdHJlYW0tPmFwcHNyYywgInNyYyIpKTsKKyAgICAgICAgZ19vYmplY3Rf
c2V0X2RhdGEoR19PQkpFQ1Qoc291cmNlUGFkLmdldCgpKSwgInBhZElkIiwgR0lOVF9UT19QT0lO
VEVSKHBhZElkKSk7CisgICAgfQorCisgICAgbmV3U291cmNlLT5wcml2LT5udW1iZXJPZkF1ZGlv
U3RyZWFtcyA9IG9sZFNvdXJjZS0+cHJpdi0+bnVtYmVyT2ZBdWRpb1N0cmVhbXM7CisgICAgbmV3
U291cmNlLT5wcml2LT5udW1iZXJPZlRleHRTdHJlYW1zID0gb2xkU291cmNlLT5wcml2LT5udW1i
ZXJPZlRleHRTdHJlYW1zOworICAgIG5ld1NvdXJjZS0+cHJpdi0+bnVtYmVyT2ZWaWRlb1N0cmVh
bXMgPSBvbGRTb3VyY2UtPnByaXYtPm51bWJlck9mVmlkZW9TdHJlYW1zOworICAgIG5ld1NvdXJj
ZS0+cHJpdi0+bnVtYmVyT2ZQYWRzID0gb2xkU291cmNlLT5wcml2LT5udW1iZXJPZlBhZHM7Cisg
ICAgbmV3U291cmNlLT5wcml2LT5hbGxUcmFja3NDb25maWd1cmVkID0gb2xkU291cmNlLT5wcml2
LT5hbGxUcmFja3NDb25maWd1cmVkOworfQorCit2b2lkIHdlYktpdE1lZGlhU3JjU2lnbmFsVHJh
Y2tzKFdlYktpdE1lZGlhU3JjKiBzb3VyY2UpCit7CisgICAgZm9yIChhdXRvKiBzdHJlYW0gOiBz
b3VyY2UtPnByaXYtPnN0cmVhbXMpIHsKKyAgICAgICAgYXV0byBzb3VyY2VQYWQgPSBhZG9wdEdS
ZWYoZ3N0X2VsZW1lbnRfZ2V0X3N0YXRpY19wYWQoc3RyZWFtLT5hcHBzcmMsICJzcmMiKSk7Cisg
ICAgICAgIHdlYktpdE1lZGlhU3JjTGlua1N0cmVhbVRvU3JjUGFkKHNvdXJjZVBhZC5nZXQoKSwg
c3RyZWFtKTsKKworICAgICAgICBnc3RfZWxlbWVudF9zeW5jX3N0YXRlX3dpdGhfcGFyZW50KHN0
cmVhbS0+YXBwc3JjKTsKKworICAgICAgICBpbnQgc2lnbmFsID0gLTE7CisgICAgICAgIHN3aXRj
aCAoc3RyZWFtLT50eXBlKSB7CisgICAgICAgIGNhc2UgV2ViQ29yZTo6TWVkaWFTb3VyY2VTdHJl
YW1UeXBlR1N0cmVhbWVyOjpWaWRlbzoKKyAgICAgICAgICAgIHNpZ25hbCA9IFNJR05BTF9WSURF
T19DSEFOR0VEOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgV2ViQ29yZTo6TWVk
aWFTb3VyY2VTdHJlYW1UeXBlR1N0cmVhbWVyOjpBdWRpbzoKKyAgICAgICAgICAgIHNpZ25hbCA9
IFNJR05BTF9BVURJT19DSEFOR0VEOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2Ug
V2ViQ29yZTo6TWVkaWFTb3VyY2VTdHJlYW1UeXBlR1N0cmVhbWVyOjpUZXh0OgorICAgICAgICAg
ICAgc2lnbmFsID0gU0lHTkFMX1RFWFRfQ0hBTkdFRDsKKyAgICAgICAgICAgIGJyZWFrOworICAg
ICAgICBkZWZhdWx0OgorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAgICAgaWYg
KHNpZ25hbCAhPSAtMSkKKyAgICAgICAgICAgIGdfc2lnbmFsX2VtaXQoR19PQkpFQ1Qoc3RyZWFt
LT5wYXJlbnQpLCB3ZWJLaXRNZWRpYVNyY1NpZ25hbHNbc2lnbmFsXSwgMCwgbnVsbHB0cik7Cisg
ICAgfQorCisgICAgaWYgKHNvdXJjZS0+cHJpdi0+c3RyZWFtcy5zaXplKCkpIHsKKyAgICAgICAg
Z3N0X2VsZW1lbnRfbm9fbW9yZV9wYWRzKEdTVF9FTEVNRU5UX0NBU1Qoc291cmNlKSk7CisgICAg
ICAgIHdlYktpdE1lZGlhU3JjRG9Bc3luY0RvbmUoc291cmNlKTsKKyAgICB9Cit9CisKIHZvaWQg
d2ViS2l0TWVkaWFTcmNTZXRNZWRpYVBsYXllclByaXZhdGUoV2ViS2l0TWVkaWFTcmMqIHNvdXJj
ZSwgV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyTVNFKiBtZWRpYVBsYXllclBy
aXZhdGUpCiB7CiAgICAgR1NUX09CSkVDVF9MT0NLKHNvdXJjZSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL1dlYktpdE1lZGlhU291
cmNlR1N0cmVhbWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFt
ZXIvbXNlL1dlYktpdE1lZGlhU291cmNlR1N0cmVhbWVyLmgKaW5kZXggOWE3NzQ2OWFiOWM2Mzll
NGU1YjNkNzU3ZjFlYTkyODVkNjhhODkzMC4uOTk0ZmE5MjdmYjU5OTIyZWQ3YWNiYjg4MzdlMzU1
YWNlN2EzMDdjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3N0cmVhbWVyL21zZS9XZWJLaXRNZWRpYVNvdXJjZUdTdHJlYW1lci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvV2ViS2l0TWVkaWFTb3VyY2VH
U3RyZWFtZXIuaApAQCAtNzAsNiArNzAsOCBAQCBzdHJ1Y3QgX1dlYktpdE1lZGlhU3JjQ2xhc3Mg
ewogCiBHVHlwZSB3ZWJraXRfbWVkaWFfc3JjX2dldF90eXBlKHZvaWQpOwogCit2b2lkIHdlYktp
dE1lZGlhU3JjUmVzdG9yZVRyYWNrcyhXZWJLaXRNZWRpYVNyYyosIFdlYktpdE1lZGlhU3JjKik7
Cit2b2lkIHdlYktpdE1lZGlhU3JjU2lnbmFsVHJhY2tzKFdlYktpdE1lZGlhU3JjKik7CiB2b2lk
IHdlYktpdE1lZGlhU3JjU2V0TWVkaWFQbGF5ZXJQcml2YXRlKFdlYktpdE1lZGlhU3JjKiwgV2Vi
Q29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyTVNFKik7CiAKIHZvaWQgd2ViS2l0TWVk
aWFTcmNQcmVwYXJlU2VlayhXZWJLaXRNZWRpYVNyYyosIGNvbnN0IE1lZGlhVGltZSYpOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmlu
ZGV4IDU2N2JhNDgzNjBhZDcxMjJiZGQ0ZDg1MmRhMjJhZDVhZTAyYjRlMGUuLjA4MTk0MGU3YmVi
YTc2YmI5Y2VhNzk2OTc0OTY4ZmEyYWU5MjJmN2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0No
YW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAy
MS0wMy0yMSAgUGhpbGlwcGUgTm9ybWFuZCAgPHBub3JtYW5kQGlnYWxpYS5jb20+CisKKyAgICAg
ICAgW01TRV1bR1N0cmVhbWVyXSBTSUdTRVYgaW4gd2ViS2l0TWVkaWFTcmNGcmVlU3RyZWFtCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjAwOTEKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRmb3Jt
L2d0ay9UZXN0RXhwZWN0YXRpb25zOiBVbmZsYWcgbm93LXBhc3NpbmcgdGVzdHMuCisKIDIwMjEt
MDMtMTkgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBSZXN5bmMg
d2ViYXVkaW8gd2ViLXBsYXRmb3JtLXRlc3RzIGZyb20gdXBzdHJlYW0KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggNWYzMzI4YmQzZTYyNTEwM2ZjMDY2NTU3
ODQ1ZThmOGJlOGU2NTk2MS4uODQzZDQ1Nzc0NTI3MThlZGE1MjVkZjA5MjVhNzFkODhkMGQxYmRj
MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMK
KysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTQxMiwx
NSArNDEyLDExIEBAIHdlYmtpdC5vcmcvYi8xNjcxMDggaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9tZWRpYS1zb3VyY2UvbWVkaWFzb3VyY2UtZW5kCiB3ZWJraXQub3JnL2IvMTY3MTA4
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtc291cmNlL21lZGlhc291cmNl
LWVycm9ycy5odG1sIFsgRmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMjEwNDg2IGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtc291cmNlL21lZGlhc291cmNlLWNvcnJlY3QtZnJh
bWVzLWFmdGVyLXJlYXBwZW5kLmh0bWwgWyBGYWlsdXJlIENyYXNoIFBhc3MgXQogCi0jIEtub3du
IGlzc3VlcyB0aGF0IHdlcmUgZml4ZWQgYnkgdGhlIFdlYktpdE1lZGlhU3JjIHJld29yayB0aGF0
IGlzIG5vdyByZXZlcnRlZC4KLXdlYmtpdC5vcmcvYi8yMDMwNzggaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9tZWRpYS1zb3VyY2UvbWVkaWFzb3VyY2UtcmVwbGF5Lmh0bWwgWyBGYWls
dXJlIENyYXNoIF0KLQogd2Via2l0Lm9yZy9iLzE3NjAyMCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL21lZGlhLXNvdXJjZS9tZWRpYXNvdXJjZS1yZW1vdmVzb3VyY2VidWZmZXIuaHRt
bCBbIENyYXNoIFBhc3MgXQogd2Via2l0Lm9yZy9iLzE4MDgwMyBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL21lZGlhLXNvdXJjZS9tZWRpYXNvdXJjZS1kdXJhdGlvbi1ib3VuZGFyeWNv
bmRpdGlvbnMuaHRtbCBbIEZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzE5NzcxMSBpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLXNvdXJjZS9tZWRpYXNvdXJjZS1jb3JyZWN0LWZy
YW1lcy5odG1sIFsgUGFzcyBGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8yMDUxMTAgaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1zb3VyY2UvbWVkaWFzb3VyY2UtY2hhbmdldHlw
ZS1wbGF5Lmh0bWwgWyBGYWlsdXJlIENyYXNoIFBhc3MgXQogCi13ZWJraXQub3JnL2IvMTY3MTA4
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtc291cmNlL21lZGlhc291cmNl
LXByZWxvYWQuaHRtbCBbIEZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzE2NzEwOCBpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLXNvdXJjZS9tZWRpYXNvdXJjZS10cmFja2RlZmF1
bHRsaXN0Lmh0bWwgWyBGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8yMTAzNDEgaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1zb3VyY2UvbWVkaWFzb3VyY2Utc291cmNlYnVmZmVy
LW1vZGUtdGltZXN0YW1wcy5odG1sIFsgRmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMjEwMzQyIGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWEtc291cmNlL21lZGlhc291cmNlLXNv
dXJjZWJ1ZmZlci10cmFja2RlZmF1bHRzLmh0bWwgWyBGYWlsdXJlIF0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>424015</attachid>
            <date>2021-03-23 07:27:45 -0700</date>
            <delta_ts>2021-03-23 08:32:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220091-20210323072740.patch</filename>
            <type>text/plain</type>
            <size>19116</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0ODY1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGZmMzM2MjJhN2RmMDMw
YWRlNGU4OTM2NTRjOWE5NGZlNDUwMmU0OS4uOTk0YTEyNjI5MTcyNjkxYmQwNWQ4M2Y2YTNhNjA4
MGVmNDE5YzNiZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDIxLTAzLTIzICBQaGls
aXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KKworICAgICAgICBbTVNFXVtHU3Ry
ZWFtZXJdIFNJR1NFViBpbiB3ZWJLaXRNZWRpYVNyY0ZyZWVTdHJlYW0KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMDA5MQorCisgICAgICAgIFJldmll
d2VkIGJ5IFhhYmllciBSb2RyaWd1ZXotQ2FsdmFyLgorCisgICAgICAgIFRoZSBwaXBlbGluZSB1
c2VkIGJ5IHRoZSBNU0UgcGxheWVyIGlzIG5vdyBhYmxlIHJlbG9hZCB0aGUgTWVkaWFTb3VyY2Ug
ZnJvbSB0aGUgYmVnaW5uaW5nIGlmCisgICAgICAgIGEgc2VlayB0byAwIHdhcyByZXF1ZXN0ZWQu
IFRoZSBwcm9ibGVtIHdhcyB0aGF0IHVyaWRlY29kZWJpbiB3YXMgY3JlYXRpbmcgYSBuZXcgc291
cmNlCisgICAgICAgIGVsZW1lbnQgYW5kIG5vdGlmeWluZyB0aGUgcGxheWVyIHdoaWNoIHdhcyB0
aGVuIHRyeWluZyB0byBkaXNwb3NlIHVuZGVybHlpbmcgcGxhdGZvcm0gdHJhY2sKKyAgICAgICAg
aW5mb3JtYXRpb25zLCBhbmQgYWxzbyByZWxhdGVkIGFwcHNyYyBlbGVtZW50cy4gVGhlIGxhdHRl
ciB3YXMgc3BlY2lhbGx5IHByb2JsZW1hdGljIGJlY2F1c2UKKyAgICAgICAgdGhlIGFwcHNyYyBl
bGVtZW50cyBvd25lcnNoaXAgd2FzIGJhZGx5IGhhbmRsZWQgKGVsZW1lbnRzIGFkZGVkIHRvIGEg
YmluIHNob3VsZCBub3QgYmUKKyAgICAgICAgcmV1c2VkLCB1bmxlc3MgYW4gZXh0cmEgcmVmIGlz
IGFkZGVkKSwgbGVhZGluZyB0byByYWN5IGNyYXNoZXMuCisKKyAgICAgICAgU28gbm93IHdoZW4g
dXJpZGVjb2RlYmluIGNyZWF0ZXMgYSBuZXcgc291cmNlIGVsZW1lbnQsIHRoZSBwbGF5ZXIgZGV0
ZWN0cyB0aGlzIGlzIGEgbmV3CisgICAgICAgIHNvdXJjZSBhbmQgdHJhbnNmZXJzIHRyYWNrLXJl
bGF0ZWQgaW5mb3JtYXRpb25zIHRvIHRoZSBuZXcgZWxlbWVudC4gQWRkaXRpb25hbGx5LCBuZXcg
YXBwc3JjCisgICAgICAgIGVsZW1lbnRzIGFyZSBjcmVhdGVkIGZvciB0aGUgbmV3IGVsZW1lbnQg
YW5kIHRyYWNrIHNpZ25hbHMgZW1pdHRlZCBzbyB0aGF0IHRoZSBwbGF5ZXIgaXMKKyAgICAgICAg
c3RpbGwgZnVsbHkgYXdhcmUgb2YgdGhlIE1TRSB0cmFja3MgdG9wb2xvZ3kuCisKKyAgICAgICAg
Tm8gbmV3IHRlc3RzIGJ1dCB0d28gZXhpc3RpbmcgdGVzdHMgYXJlIG5vdyBwYXNzaW5nLgorCisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9NZWRpYVBsYXllclByaXZh
dGVHU3RyZWFtZXJNU0UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRl
R1N0cmVhbWVyTVNFOjpsb2FkKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0
ZUdTdHJlYW1lck1TRTo6c291cmNlU2V0dXApOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L2dzdHJlYW1lci9tc2UvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyTVNFLmg6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9NZWRpYVNvdXJjZVByaXZhdGVHU3Ry
ZWFtZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTb3VyY2VQcml2YXRlR1N0cmVhbWVy
OjpvcGVuKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL01lZGlh
U291cmNlUHJpdmF0ZUdTdHJlYW1lci5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dz
dHJlYW1lci9tc2UvUGxheWJhY2tQaXBlbGluZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQbGF5
YmFja1BpcGVsaW5lOjphZGRTb3VyY2VCdWZmZXIpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL2dzdHJlYW1lci9tc2UvV2ViS2l0TWVkaWFTb3VyY2VHU3RyZWFtZXIuY3BwOgorICAgICAg
ICAod2ViS2l0TWVkaWFTcmNGaW5hbGl6ZSk6CisgICAgICAgICh3ZWJLaXRNZWRpYVNyY0NoYW5n
ZVN0YXRlKToKKyAgICAgICAgKHdlYktpdE1lZGlhU3JjRnJlZVN0cmVhbSk6CisgICAgICAgICh3
ZWJLaXRNZWRpYVNyY1Jlc3RvcmVUcmFja3MpOgorICAgICAgICAod2ViS2l0TWVkaWFTcmNTaWdu
YWxUcmFja3MpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvV2Vi
S2l0TWVkaWFTb3VyY2VHU3RyZWFtZXIuaDoKKwogMjAyMS0wMy0yMyAgRnLDqWTDqXJpYyBXYW5n
ICA8ZndhbmdAaWdhbGlhLmNvbT4KIAogICAgICAgICBOdWxscHRyIGRlcmVmIGluIFdlYkNvcmU6
OkFwcGx5U3R5bGVDb21tYW5kOjphcHBseVJlbGF0aXZlRm9udFN0eWxlQ2hhbmdlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL01lZGlh
UGxheWVyUHJpdmF0ZUdTdHJlYW1lck1TRS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9nc3RyZWFtZXIvbXNlL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lck1TRS5jcHAK
aW5kZXggN2Y5YTRlZjAwMjE3YzhlNjYyNTFhMjA5MmJjNmQwNDc4MGY3N2M1OS4uMmZkNzM5NDNi
NGYzMjRjYTFjZGQwOWMwYmVhNTg2NDQ0NmJjMmFiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9NZWRpYVBsYXllclByaXZhdGVHU3Ry
ZWFtZXJNU0UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJl
YW1lci9tc2UvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyTVNFLmNwcApAQCAtMTIxLDI1ICsx
MjEsMjQgQEAgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyTVNFOjp+TWVkaWFQbGF5ZXJQcml2
YXRlR1N0cmVhbWVyTVNFKCkKICAgICAgICAgbV9wbGF5YmFja1BpcGVsaW5lLT5zZXRXZWJLaXRN
ZWRpYVNyYyhudWxscHRyKTsKIH0KIAotdm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJN
U0U6OmxvYWQoY29uc3QgU3RyaW5nJiB1cmxTdHJpbmcpCit2b2lkIE1lZGlhUGxheWVyUHJpdmF0
ZUdTdHJlYW1lck1TRTo6bG9hZChjb25zdCBTdHJpbmcmKQogewotICAgIGlmICghdXJsU3RyaW5n
LnN0YXJ0c1dpdGgoIm1lZGlhc291cmNlIikpIHsKLSAgICAgICAgLy8gUHJvcGVybHkgZmFpbCBz
byB0aGUgZ2xvYmFsIE1lZGlhUGxheWVyIHRyaWVzIHRvIGZhbGxiYWNrIHRvIHRoZSBuZXh0IE1l
ZGlhUGxheWVyUHJpdmF0ZS4KLSAgICAgICAgbV9uZXR3b3JrU3RhdGUgPSBNZWRpYVBsYXllcjo6
TmV0d29ya1N0YXRlOjpGb3JtYXRFcnJvcjsKLSAgICAgICAgbV9wbGF5ZXItPm5ldHdvcmtTdGF0
ZUNoYW5nZWQoKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIGlmICghbV9wbGF5YmFj
a1BpcGVsaW5lKQotICAgICAgICBtX3BsYXliYWNrUGlwZWxpbmUgPSBQbGF5YmFja1BpcGVsaW5l
OjpjcmVhdGUoKTsKLQotICAgIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6bG9hZCh1cmxT
dHJpbmcpOworICAgIC8vIFRoaXMgbWVkaWEgZW5naW5lIG9ubHkgc3VwcG9ydHMgTWVkaWFTb3Vy
Y2UgVVJMcy4KKyAgICBtX25ldHdvcmtTdGF0ZSA9IE1lZGlhUGxheWVyOjpOZXR3b3JrU3RhdGU6
OkZvcm1hdEVycm9yOworICAgIG1fcGxheWVyLT5uZXR3b3JrU3RhdGVDaGFuZ2VkKCk7CiB9CiAK
IHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyTVNFOjpsb2FkKGNvbnN0IFVSTCYgdXJs
LCBjb25zdCBDb250ZW50VHlwZSYsIE1lZGlhU291cmNlUHJpdmF0ZUNsaWVudCogbWVkaWFTb3Vy
Y2UpCiB7CisgICAgR1NUX0RFQlVHKCJMb2FkaW5nICVzIiwgdXJsLnN0cmluZygpLmFzY2lpKCku
ZGF0YSgpKTsKICAgICBtX21lZGlhU291cmNlID0gbWVkaWFTb3VyY2U7Ci0gICAgbG9hZChtYWtl
U3RyaW5nKCJtZWRpYXNvdXJjZSIsIHVybC5zdHJpbmcoKSkpOworCisgICAgaWYgKCFtX3BsYXli
YWNrUGlwZWxpbmUpCisgICAgICAgIG1fcGxheWJhY2tQaXBlbGluZSA9IFBsYXliYWNrUGlwZWxp
bmU6OmNyZWF0ZSgpOworCisgICAgbV9tZWRpYVNvdXJjZVByaXZhdGUgPSBNZWRpYVNvdXJjZVBy
aXZhdGVHU3RyZWFtZXI6Om9wZW4oKm1fbWVkaWFTb3VyY2UuZ2V0KCksICp0aGlzKTsKKworICAg
IE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6bG9hZChtYWtlU3RyaW5nKCJtZWRpYXNvdXJj
ZSIsIHVybC5zdHJpbmcoKSkpOwogfQogCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1l
ck1TRTo6cGF1c2UoKQpAQCAtNDc1LDE3ICs0NzQsMzMgQEAgc3RkOjp1bmlxdWVfcHRyPFBsYXRm
b3JtVGltZVJhbmdlcz4gTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyTVNFOjpidWZmZXJlZCgp
IGMKIAogdm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJNU0U6OnNvdXJjZVNldHVwKEdz
dEVsZW1lbnQqIHNvdXJjZUVsZW1lbnQpCiB7Ci0gICAgbV9zb3VyY2UgPSBzb3VyY2VFbGVtZW50
OworICAgIEFTU0VSVChXRUJLSVRfSVNfTUVESUFfU1JDKHNvdXJjZUVsZW1lbnQpKTsKKyAgICBH
U1RfREVCVUdfT0JKRUNUKHBpcGVsaW5lKCksICJTb3VyY2UgJXAgc2V0dXAgKG9sZCB3YXM6ICVw
KSIsIHNvdXJjZUVsZW1lbnQsIG1fc291cmNlLmdldCgpKTsKIAotICAgIEFTU0VSVChXRUJLSVRf
SVNfTUVESUFfU1JDKG1fc291cmNlLmdldCgpKSk7CisgICAgYm9vbCBzaG91bGRSZXN0b3JlVHJh
Y2tzID0gbV9zb3VyY2U7CisgICAgaWYgKHNob3VsZFJlc3RvcmVUcmFja3MpCisgICAgICAgIHdl
YktpdE1lZGlhU3JjUmVzdG9yZVRyYWNrcyhXRUJLSVRfTUVESUFfU1JDKG1fc291cmNlLmdldCgp
KSwgV0VCS0lUX01FRElBX1NSQyhzb3VyY2VFbGVtZW50KSk7CisgICAgbV9zb3VyY2UgPSBzb3Vy
Y2VFbGVtZW50OworICAgIG1fZW9zTWFya2VkID0gZmFsc2U7CiAKICAgICBtX3BsYXliYWNrUGlw
ZWxpbmUtPnNldFdlYktpdE1lZGlhU3JjKFdFQktJVF9NRURJQV9TUkMobV9zb3VyY2UuZ2V0KCkp
KTsKLQotICAgIE1lZGlhU291cmNlUHJpdmF0ZUdTdHJlYW1lcjo6b3BlbigqbV9tZWRpYVNvdXJj
ZS5nZXQoKSwgKnRoaXMpOwogICAgIGdfc2lnbmFsX2Nvbm5lY3Rfc3dhcHBlZChtX3NvdXJjZS5n
ZXQoKSwgInZpZGVvLWNoYW5nZWQiLCBHX0NBTExCQUNLKHZpZGVvQ2hhbmdlZENhbGxiYWNrKSwg
dGhpcyk7CiAgICAgZ19zaWduYWxfY29ubmVjdF9zd2FwcGVkKG1fc291cmNlLmdldCgpLCAiYXVk
aW8tY2hhbmdlZCIsIEdfQ0FMTEJBQ0soYXVkaW9DaGFuZ2VkQ2FsbGJhY2spLCB0aGlzKTsKICAg
ICBnX3NpZ25hbF9jb25uZWN0X3N3YXBwZWQobV9zb3VyY2UuZ2V0KCksICJ0ZXh0LWNoYW5nZWQi
LCBHX0NBTExCQUNLKHRleHRDaGFuZ2VkQ2FsbGJhY2spLCB0aGlzKTsKICAgICB3ZWJLaXRNZWRp
YVNyY1NldE1lZGlhUGxheWVyUHJpdmF0ZShXRUJLSVRfTUVESUFfU1JDKG1fc291cmNlLmdldCgp
KSwgdGhpcyk7CisKKyAgICBpZiAoc2hvdWxkUmVzdG9yZVRyYWNrcykgeworICAgICAgICBjYWxs
T25NYWluVGhyZWFkKFtwbGF5ZXIgPSBtYWtlV2Vha1B0cigqdGhpcyldIHsKKyAgICAgICAgICAg
IGlmICghcGxheWVyKQorICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIHdlYktp
dE1lZGlhU3JjU2lnbmFsVHJhY2tzKFdFQktJVF9NRURJQV9TUkMocGxheWVyLT5tX3NvdXJjZS5n
ZXQoKSkpOworICAgICAgICAgICAgcGxheWVyLT5tX21lZGlhU291cmNlLT5tb25pdG9yU291cmNl
QnVmZmVycygpOworCisgICAgICAgICAgICBhdXRvIHNlZWtUaW1lID0gTWVkaWFUaW1lOjp6ZXJv
VGltZSgpOworICAgICAgICAgICAgd2ViS2l0TWVkaWFTcmNQcmVwYXJlSW5pdGlhbFNlZWsoV0VC
S0lUX01FRElBX1NSQyhwbGF5ZXItPm1fc291cmNlLmdldCgpKSwgcGxheWVyLT5tX3BsYXliYWNr
UmF0ZSwgc2Vla1RpbWUsIE1lZGlhVGltZTo6aW52YWxpZFRpbWUoKSk7CisgICAgICAgICAgICBw
bGF5ZXItPm5vdGlmeVNlZWtOZWVkc0RhdGFGb3JUaW1lKHNlZWtUaW1lKTsKKyAgICAgICAgfSk7
CisgICAgfQogfQogCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lck1TRTo6dXBkYXRl
U3RhdGVzKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dz
dHJlYW1lci9tc2UvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyTVNFLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL01lZGlhUGxheWVyUHJpdmF0ZUdT
dHJlYW1lck1TRS5oCmluZGV4IGIwMWY5ZWIwZTY5ZDEyM2QwMzliODZkMTE4Yzk1ZmIzMTA5N2Iw
MzcuLmM0NGFjNmU0MDZjMjMxOWU2ZDVlYmM2YWZmNTI5NWI3NjNhZDlhMWYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvTWVkaWFQbGF5
ZXJQcml2YXRlR1N0cmVhbWVyTVNFLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3N0cmVhbWVyL21zZS9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJNU0UuaApAQCAt
MTA4LDYgKzEwOCw3IEBAIHByaXZhdGU6CiAgICAgbXV0YWJsZSBib29sIG1fZW9zUGVuZGluZyA9
IGZhbHNlOwogICAgIGJvb2wgbV9nc3RTZWVrQ29tcGxldGVkID0gdHJ1ZTsKICAgICBSZWZQdHI8
TWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50PiBtX21lZGlhU291cmNlOworICAgIFJlZlB0cjxNZWRp
YVNvdXJjZVByaXZhdGVHU3RyZWFtZXI+IG1fbWVkaWFTb3VyY2VQcml2YXRlOwogICAgIE1lZGlh
VGltZSBtX21lZGlhVGltZUR1cmF0aW9uOwogICAgIGJvb2wgbV9tc2VTZWVrQ29tcGxldGVkID0g
dHJ1ZTsKICAgICBib29sIG1fYXJlRHVyYXRpb25DaGFuZ2VzQmxvY2tlZCA9IGZhbHNlOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9N
ZWRpYVNvdXJjZVByaXZhdGVHU3RyZWFtZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9NZWRpYVNvdXJjZVByaXZhdGVHU3RyZWFtZXIuY3BwCmlu
ZGV4IDM0MGQ4NDNhODZhNmUyNGViMTYxY2JhMGI4MDhlMjdjYzE2MWM3YzYuLmY4OTBiNzEzYTMw
YWE4ODFjNmFmZDBlZTUzZTAzMWU2NGYzNDhiYzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvTWVkaWFTb3VyY2VQcml2YXRlR1N0cmVh
bWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIv
bXNlL01lZGlhU291cmNlUHJpdmF0ZUdTdHJlYW1lci5jcHAKQEAgLTUxLDkgKzUxLDExIEBACiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotdm9pZCBNZWRpYVNvdXJjZVByaXZhdGVHU3RyZWFtZXI6
Om9wZW4oTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50JiBtZWRpYVNvdXJjZSwgTWVkaWFQbGF5ZXJQ
cml2YXRlR1N0cmVhbWVyTVNFJiBwbGF5ZXJQcml2YXRlKQorUmVmPE1lZGlhU291cmNlUHJpdmF0
ZUdTdHJlYW1lcj4gTWVkaWFTb3VyY2VQcml2YXRlR1N0cmVhbWVyOjpvcGVuKE1lZGlhU291cmNl
UHJpdmF0ZUNsaWVudCYgbWVkaWFTb3VyY2UsIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lck1T
RSYgcGxheWVyUHJpdmF0ZSkKIHsKLSAgICBtZWRpYVNvdXJjZS5zZXRQcml2YXRlQW5kT3Blbihh
ZG9wdFJlZigqbmV3IE1lZGlhU291cmNlUHJpdmF0ZUdTdHJlYW1lcihtZWRpYVNvdXJjZSwgcGxh
eWVyUHJpdmF0ZSkpKTsKKyAgICBhdXRvIG1lZGlhU291cmNlUHJpdmF0ZSA9IGFkb3B0UmVmKCpu
ZXcgTWVkaWFTb3VyY2VQcml2YXRlR1N0cmVhbWVyKG1lZGlhU291cmNlLCBwbGF5ZXJQcml2YXRl
KSk7CisgICAgbWVkaWFTb3VyY2Uuc2V0UHJpdmF0ZUFuZE9wZW4obWVkaWFTb3VyY2VQcml2YXRl
LmNvcHlSZWYoKSk7CisgICAgcmV0dXJuIG1lZGlhU291cmNlUHJpdmF0ZTsKIH0KIAogTWVkaWFT
b3VyY2VQcml2YXRlR1N0cmVhbWVyOjpNZWRpYVNvdXJjZVByaXZhdGVHU3RyZWFtZXIoTWVkaWFT
b3VyY2VQcml2YXRlQ2xpZW50JiBtZWRpYVNvdXJjZSwgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVh
bWVyTVNFJiBwbGF5ZXJQcml2YXRlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9NZWRpYVNvdXJjZVByaXZhdGVHU3RyZWFtZXIuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvTWVkaWFTb3Vy
Y2VQcml2YXRlR1N0cmVhbWVyLmgKaW5kZXggNTdhYTljOGU0ZmY4YmUwNGZmZDY3NmY5ZTdmYzE3
YzAxYzNiM2MwZC4uNmVjYjFkOTgwMTEyNjFiMGJmNWIzNWMzNjMxMzIzOGNlMWFmNmI1NiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9N
ZWRpYVNvdXJjZVByaXZhdGVHU3RyZWFtZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL01lZGlhU291cmNlUHJpdmF0ZUdTdHJlYW1lci5oCkBA
IC01NSw3ICs1NSw3IEBAIGNsYXNzIE1lZGlhU291cmNlUHJpdmF0ZUdTdHJlYW1lciBmaW5hbCA6
IHB1YmxpYyBNZWRpYVNvdXJjZVByaXZhdGUKICNlbmRpZgogewogcHVibGljOgotICAgIHN0YXRp
YyB2b2lkIG9wZW4oTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50JiwgTWVkaWFQbGF5ZXJQcml2YXRl
R1N0cmVhbWVyTVNFJik7CisgICAgc3RhdGljIFJlZjxNZWRpYVNvdXJjZVByaXZhdGVHU3RyZWFt
ZXI+IG9wZW4oTWVkaWFTb3VyY2VQcml2YXRlQ2xpZW50JiwgTWVkaWFQbGF5ZXJQcml2YXRlR1N0
cmVhbWVyTVNFJik7CiAgICAgdmlydHVhbCB+TWVkaWFTb3VyY2VQcml2YXRlR1N0cmVhbWVyKCk7
CiAKICAgICBBZGRTdGF0dXMgYWRkU291cmNlQnVmZmVyKGNvbnN0IENvbnRlbnRUeXBlJiwgYm9v
bCwgUmVmUHRyPFNvdXJjZUJ1ZmZlclByaXZhdGU+Jikgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL1BsYXliYWNrUGlw
ZWxpbmUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21z
ZS9QbGF5YmFja1BpcGVsaW5lLmNwcAppbmRleCAxZTg4YWQxNjExYmVkNTQ1ODJiOTEwMzA5MjYy
ZmM3MjcyMzI2NTM3Li4xYzlkZTM2YWQ4M2E3MWYzYWMyMDg3MjJkNThhNDc4ZDUwZTBiNGZkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNl
L1BsYXliYWNrUGlwZWxpbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2dzdHJlYW1lci9tc2UvUGxheWJhY2tQaXBlbGluZS5jcHAKQEAgLTExNCw3ICsxMTQsMTAg
QEAgTWVkaWFTb3VyY2VQcml2YXRlOjpBZGRTdGF0dXMgUGxheWJhY2tQaXBlbGluZTo6YWRkU291
cmNlQnVmZmVyKFJlZlB0cjxTb3VyY2VCdWYKIAogICAgIFN0cmVhbSogc3RyZWFtID0gbmV3IFN0
cmVhbXsgfTsKICAgICBzdHJlYW0tPnBhcmVudCA9IG1fd2ViS2l0TWVkaWFTcmMuZ2V0KCk7Ci0g
ICAgc3RyZWFtLT5hcHBzcmMgPSBnc3RfZWxlbWVudF9mYWN0b3J5X21ha2UoImFwcHNyYyIsIG51
bGxwdHIpOworCisgICAgLy8gRW5zdXJlIG93bmVyc2hpcCBpcyBub3QgdHJhbnNmZXJlZCB0byB0
aGUgYmluLiBUaGUgYXBwc3JjIGVsZW1lbnQgaXMgbWFuYWdlZCBieSBpdHMgcGFyZW50IFN0cmVh
bS4KKyAgICBzdHJlYW0tPmFwcHNyYyA9IEdTVF9FTEVNRU5UX0NBU1QoZ3N0X29iamVjdF9yZWZf
c2luayhnc3RfZWxlbWVudF9mYWN0b3J5X21ha2UoImFwcHNyYyIsIG51bGxwdHIpKSk7CisKICAg
ICBzdHJlYW0tPmFwcHNyY05lZWREYXRhRmxhZyA9IGZhbHNlOwogICAgIHN0cmVhbS0+c291cmNl
QnVmZmVyID0gc291cmNlQnVmZmVyUHJpdmF0ZS5nZXQoKTsKIApAQCAtMTM3LDcgKzE0MCw3IEBA
IE1lZGlhU291cmNlUHJpdmF0ZTo6QWRkU3RhdHVzIFBsYXliYWNrUGlwZWxpbmU6OmFkZFNvdXJj
ZUJ1ZmZlcihSZWZQdHI8U291cmNlQnVmCiAgICAgcHJpdi0+c3RyZWFtcy5hcHBlbmQoc3RyZWFt
KTsKICAgICBHU1RfT0JKRUNUX1VOTE9DSyhtX3dlYktpdE1lZGlhU3JjLmdldCgpKTsKIAotICAg
IGdzdF9iaW5fYWRkKEdTVF9CSU4obV93ZWJLaXRNZWRpYVNyYy5nZXQoKSksIHN0cmVhbS0+YXBw
c3JjKTsKKyAgICBnc3RfYmluX2FkZChHU1RfQklOX0NBU1QobV93ZWJLaXRNZWRpYVNyYy5nZXQo
KSksIHN0cmVhbS0+YXBwc3JjKTsKICAgICBnc3RfZWxlbWVudF9zeW5jX3N0YXRlX3dpdGhfcGFy
ZW50KHN0cmVhbS0+YXBwc3JjKTsKIAogICAgIHJldHVybiBNZWRpYVNvdXJjZVByaXZhdGU6OkFk
ZFN0YXR1czo6T2s7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9nc3RyZWFtZXIvbXNlL1dlYktpdE1lZGlhU291cmNlR1N0cmVhbWVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvV2ViS2l0TWVkaWFTb3VyY2VH
U3RyZWFtZXIuY3BwCmluZGV4IDRhZmM4NmRhNzQyMDVjMzNmYWU4ZDU4MjQ3YzIwMjg1M2Y4OThi
ZjIuLmRiODMxMjQ0MmRmNWIwNTc1ZWMxY2MwZDk3NmNlZDNjMDNlNmRmNTkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvV2ViS2l0TWVk
aWFTb3VyY2VHU3RyZWFtZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2dzdHJlYW1lci9tc2UvV2ViS2l0TWVkaWFTb3VyY2VHU3RyZWFtZXIuY3BwCkBAIC0yNzEs
NiArMjcxLDcgQEAgdm9pZCB3ZWJLaXRNZWRpYVNyY0ZpbmFsaXplKEdPYmplY3QqIG9iamVjdCkK
ICAgICBXZWJLaXRNZWRpYVNyYyogc291cmNlID0gV0VCS0lUX01FRElBX1NSQyhvYmplY3QpOwog
ICAgIFdlYktpdE1lZGlhU3JjUHJpdmF0ZSogcHJpdiA9IHNvdXJjZS0+cHJpdjsKIAorICAgIEdT
VF9ERUJVR19PQkpFQ1Qoc291cmNlLCAiRmluYWxpemluZyAlcCIsIHNvdXJjZSk7CiAgICAgVmVj
dG9yPFN0cmVhbSo+IG9sZFN0cmVhbXM7CiAgICAgc291cmNlLT5wcml2LT5zdHJlYW1zLnN3YXAo
b2xkU3RyZWFtcyk7CiAKQEAgLTM1Miw2ICszNTMsNyBAQCBHc3RTdGF0ZUNoYW5nZVJldHVybiB3
ZWJLaXRNZWRpYVNyY0NoYW5nZVN0YXRlKEdzdEVsZW1lbnQqIGVsZW1lbnQsIEdzdFN0YXRlQ2hh
bgogICAgIFdlYktpdE1lZGlhU3JjKiBzb3VyY2UgPSBXRUJLSVRfTUVESUFfU1JDKGVsZW1lbnQp
OwogICAgIFdlYktpdE1lZGlhU3JjUHJpdmF0ZSogcHJpdiA9IHNvdXJjZS0+cHJpdjsKIAorICAg
IEdTVF9ERUJVR19PQkpFQ1QoZWxlbWVudCwgIiVzIiwgZ3N0X3N0YXRlX2NoYW5nZV9nZXRfbmFt
ZSh0cmFuc2l0aW9uKSk7CiAgICAgc3dpdGNoICh0cmFuc2l0aW9uKSB7CiAgICAgY2FzZSBHU1Rf
U1RBVEVfQ0hBTkdFX1JFQURZX1RPX1BBVVNFRDoKICAgICAgICAgcHJpdi0+YWxsVHJhY2tzQ29u
ZmlndXJlZCA9IGZhbHNlOwpAQCAtNTA5LDEwICs1MTEsMTMgQEAgdm9pZCB3ZWJLaXRNZWRpYVNy
Y0xpbmtTb3VyY2VQYWQoR3N0UGFkKiBzb3VyY2VQYWQsIEdzdENhcHMqIGNhcHMsIFN0cmVhbSog
c3RyZWEKIAogdm9pZCB3ZWJLaXRNZWRpYVNyY0ZyZWVTdHJlYW0oV2ViS2l0TWVkaWFTcmMqIHNv
dXJjZSwgU3RyZWFtKiBzdHJlYW0pCiB7CisgICAgR1NUX0RFQlVHX09CSkVDVChzb3VyY2UsICJS
ZWxlYXNpbmcgc3RyZWFtOiAlcCIsIHN0cmVhbSk7CisKICAgICBpZiAoR1NUX0lTX0FQUF9TUkMo
c3RyZWFtLT5hcHBzcmMpKSB7CiAgICAgICAgIC8vIERvbid0IHRyaWdnZXIgY2FsbGJhY2tzIGZy
b20gdGhpcyBhcHBzcmMgdG8gYXZvaWQgdXNpbmcgdGhlIHN0cmVhbSBhbnltb3JlLgogICAgICAg
ICBnc3RfYXBwX3NyY19zZXRfY2FsbGJhY2tzKEdTVF9BUFBfU1JDKHN0cmVhbS0+YXBwc3JjKSwg
JmRpc2FibGVkQXBwc3JjQ2FsbGJhY2tzLCBudWxscHRyLCBudWxscHRyKTsKICAgICAgICAgZ3N0
X2FwcF9zcmNfZW5kX29mX3N0cmVhbShHU1RfQVBQX1NSQyhzdHJlYW0tPmFwcHNyYykpOworICAg
ICAgICBnc3Rfb2JqZWN0X3VucmVmKHN0cmVhbS0+YXBwc3JjKTsKICAgICB9CiAKICAgICBHU1Rf
T0JKRUNUX0xPQ0soc291cmNlKTsKQEAgLTU2Niw3ICs1NzEsNiBAQCB2b2lkIHdlYktpdE1lZGlh
U3JjRnJlZVN0cmVhbShXZWJLaXRNZWRpYVNyYyogc291cmNlLCBTdHJlYW0qIHN0cmVhbSkKICAg
ICAgICAgc291cmNlLT5wcml2LT5zdHJlYW1Db25kaXRpb24ubm90aWZ5T25lKCk7CiAgICAgfQog
Ci0gICAgR1NUX0RFQlVHKCJSZWxlYXNpbmcgc3RyZWFtOiAlcCIsIHN0cmVhbSk7CiAgICAgZGVs
ZXRlIHN0cmVhbTsKIH0KIApAQCAtNjkyLDYgKzY5Niw3MyBAQCBzdGF0aWMgdm9pZCBub3RpZnlS
ZWFkeUZvck1vcmVTYW1wbGVzTWFpblRocmVhZChXZWJLaXRNZWRpYVNyYyogc291cmNlLCBTdHJl
YW0qCiAgICAgR1NUX09CSkVDVF9VTkxPQ0soc291cmNlKTsKIH0KIAordm9pZCB3ZWJLaXRNZWRp
YVNyY1Jlc3RvcmVUcmFja3MoV2ViS2l0TWVkaWFTcmMqIG9sZFNvdXJjZSwgV2ViS2l0TWVkaWFT
cmMqIG5ld1NvdXJjZSkKK3sKKyAgICBuZXdTb3VyY2UtPnByaXYtPnN0cmVhbXMgPSBXVEZNb3Zl
KG9sZFNvdXJjZS0+cHJpdi0+c3RyZWFtcyk7CisgICAgZm9yIChhdXRvKiBzdHJlYW0gOiBuZXdT
b3VyY2UtPnByaXYtPnN0cmVhbXMpIHsKKyAgICAgICAgc3RyZWFtLT5wYXJlbnQgPSBuZXdTb3Vy
Y2U7CisKKyAgICAgICAgYXV0byBvbGRTb3VyY2VQYWQgPSBhZG9wdEdSZWYoZ3N0X2VsZW1lbnRf
Z2V0X3N0YXRpY19wYWQoc3RyZWFtLT5hcHBzcmMsICJzcmMiKSk7CisgICAgICAgIHVuc2lnbmVk
IHBhZElkID0gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEdQT0lOVEVSX1RPX0lOVChnX29iamVjdF9n
ZXRfZGF0YShHX09CSkVDVChvbGRTb3VyY2VQYWQuZ2V0KCkpLCAicGFkSWQiKSkpOworCisgICAg
ICAgIGdzdF9vYmplY3RfdW5yZWYoc3RyZWFtLT5hcHBzcmMpOworCisgICAgICAgIC8vIEVuc3Vy
ZSBvd25lcnNoaXAgaXMgbm90IHRyYW5zZmVyZWQgdG8gdGhlIGJpbi4gVGhlIGFwcHNyYyBlbGVt
ZW50IGlzIG1hbmFnZWQgYnkgaXRzIHBhcmVudCBTdHJlYW0uCisgICAgICAgIHN0cmVhbS0+YXBw
c3JjID0gR1NUX0VMRU1FTlRfQ0FTVChnc3Rfb2JqZWN0X3JlZl9zaW5rKGdzdF9lbGVtZW50X2Zh
Y3RvcnlfbWFrZSgiYXBwc3JjIiwgbnVsbHB0cikpKTsKKyAgICAgICAgc3RyZWFtLT5hcHBzcmNO
ZWVkRGF0YUZsYWcgPSB0cnVlOworCisgICAgICAgIGdzdF9hcHBfc3JjX3NldF9jYWxsYmFja3Mo
R1NUX0FQUF9TUkMoc3RyZWFtLT5hcHBzcmMpLCAmZW5hYmxlZEFwcHNyY0NhbGxiYWNrcywgc3Ry
ZWFtLT5wYXJlbnQsIG51bGxwdHIpOworICAgICAgICBnc3RfYXBwX3NyY19zZXRfZW1pdF9zaWdu
YWxzKEdTVF9BUFBfU1JDKHN0cmVhbS0+YXBwc3JjKSwgRkFMU0UpOworICAgICAgICBnc3RfYXBw
X3NyY19zZXRfc3RyZWFtX3R5cGUoR1NUX0FQUF9TUkMoc3RyZWFtLT5hcHBzcmMpLCBHU1RfQVBQ
X1NUUkVBTV9UWVBFX1NFRUtBQkxFKTsKKworICAgICAgICBnc3RfYXBwX3NyY19zZXRfbWF4X2J5
dGVzKEdTVF9BUFBfU1JDKHN0cmVhbS0+YXBwc3JjKSwgMiAqIFdURjo6TUIpOworICAgICAgICBn
X29iamVjdF9zZXQoR19PQkpFQ1Qoc3RyZWFtLT5hcHBzcmMpLCAiYmxvY2siLCBGQUxTRSwgIm1p
bi1wZXJjZW50IiwgMjAsICJmb3JtYXQiLCBHU1RfRk9STUFUX1RJTUUsIG51bGxwdHIpOworCisg
ICAgICAgIGdzdF9iaW5fYWRkKEdTVF9CSU5fQ0FTVChuZXdTb3VyY2UpLCBzdHJlYW0tPmFwcHNy
Yyk7CisKKyAgICAgICAgYXV0byBzb3VyY2VQYWQgPSBhZG9wdEdSZWYoZ3N0X2VsZW1lbnRfZ2V0
X3N0YXRpY19wYWQoc3RyZWFtLT5hcHBzcmMsICJzcmMiKSk7CisgICAgICAgIGdfb2JqZWN0X3Nl
dF9kYXRhKEdfT0JKRUNUKHNvdXJjZVBhZC5nZXQoKSksICJwYWRJZCIsIEdJTlRfVE9fUE9JTlRF
UihwYWRJZCkpOworICAgIH0KKworICAgIG5ld1NvdXJjZS0+cHJpdi0+bnVtYmVyT2ZBdWRpb1N0
cmVhbXMgPSBvbGRTb3VyY2UtPnByaXYtPm51bWJlck9mQXVkaW9TdHJlYW1zOworICAgIG5ld1Nv
dXJjZS0+cHJpdi0+bnVtYmVyT2ZUZXh0U3RyZWFtcyA9IG9sZFNvdXJjZS0+cHJpdi0+bnVtYmVy
T2ZUZXh0U3RyZWFtczsKKyAgICBuZXdTb3VyY2UtPnByaXYtPm51bWJlck9mVmlkZW9TdHJlYW1z
ID0gb2xkU291cmNlLT5wcml2LT5udW1iZXJPZlZpZGVvU3RyZWFtczsKKyAgICBuZXdTb3VyY2Ut
PnByaXYtPm51bWJlck9mUGFkcyA9IG9sZFNvdXJjZS0+cHJpdi0+bnVtYmVyT2ZQYWRzOworICAg
IG5ld1NvdXJjZS0+cHJpdi0+YWxsVHJhY2tzQ29uZmlndXJlZCA9IG9sZFNvdXJjZS0+cHJpdi0+
YWxsVHJhY2tzQ29uZmlndXJlZDsKK30KKwordm9pZCB3ZWJLaXRNZWRpYVNyY1NpZ25hbFRyYWNr
cyhXZWJLaXRNZWRpYVNyYyogc291cmNlKQoreworICAgIGZvciAoYXV0byogc3RyZWFtIDogc291
cmNlLT5wcml2LT5zdHJlYW1zKSB7CisgICAgICAgIGF1dG8gc291cmNlUGFkID0gYWRvcHRHUmVm
KGdzdF9lbGVtZW50X2dldF9zdGF0aWNfcGFkKHN0cmVhbS0+YXBwc3JjLCAic3JjIikpOworICAg
ICAgICB3ZWJLaXRNZWRpYVNyY0xpbmtTdHJlYW1Ub1NyY1BhZChzb3VyY2VQYWQuZ2V0KCksIHN0
cmVhbSk7CisKKyAgICAgICAgZ3N0X2VsZW1lbnRfc3luY19zdGF0ZV93aXRoX3BhcmVudChzdHJl
YW0tPmFwcHNyYyk7CisKKyAgICAgICAgaW50IHNpZ25hbCA9IC0xOworICAgICAgICBzd2l0Y2gg
KHN0cmVhbS0+dHlwZSkgeworICAgICAgICBjYXNlIFdlYkNvcmU6Ok1lZGlhU291cmNlU3RyZWFt
VHlwZUdTdHJlYW1lcjo6VmlkZW86CisgICAgICAgICAgICBzaWduYWwgPSBTSUdOQUxfVklERU9f
Q0hBTkdFRDsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFdlYkNvcmU6Ok1lZGlh
U291cmNlU3RyZWFtVHlwZUdTdHJlYW1lcjo6QXVkaW86CisgICAgICAgICAgICBzaWduYWwgPSBT
SUdOQUxfQVVESU9fQ0hBTkdFRDsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFdl
YkNvcmU6Ok1lZGlhU291cmNlU3RyZWFtVHlwZUdTdHJlYW1lcjo6VGV4dDoKKyAgICAgICAgICAg
IHNpZ25hbCA9IFNJR05BTF9URVhUX0NIQU5HRUQ7CisgICAgICAgICAgICBicmVhazsKKyAgICAg
ICAgZGVmYXVsdDoKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgICAgIGlmIChz
aWduYWwgIT0gLTEpCisgICAgICAgICAgICBnX3NpZ25hbF9lbWl0KEdfT0JKRUNUKHN0cmVhbS0+
cGFyZW50KSwgd2ViS2l0TWVkaWFTcmNTaWduYWxzW3NpZ25hbF0sIDAsIG51bGxwdHIpOworICAg
IH0KKworICAgIGlmIChzb3VyY2UtPnByaXYtPnN0cmVhbXMuc2l6ZSgpKSB7CisgICAgICAgIGdz
dF9lbGVtZW50X25vX21vcmVfcGFkcyhHU1RfRUxFTUVOVF9DQVNUKHNvdXJjZSkpOworICAgICAg
ICB3ZWJLaXRNZWRpYVNyY0RvQXN5bmNEb25lKHNvdXJjZSk7CisgICAgfQorfQorCiB2b2lkIHdl
YktpdE1lZGlhU3JjU2V0TWVkaWFQbGF5ZXJQcml2YXRlKFdlYktpdE1lZGlhU3JjKiBzb3VyY2Us
IFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lck1TRSogbWVkaWFQbGF5ZXJQcml2
YXRlKQogewogICAgIEdTVF9PQkpFQ1RfTE9DSyhzb3VyY2UpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9XZWJLaXRNZWRpYVNvdXJj
ZUdTdHJlYW1lci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVy
L21zZS9XZWJLaXRNZWRpYVNvdXJjZUdTdHJlYW1lci5oCmluZGV4IDlhNzc0NjlhYjljNjM5ZTRl
NWIzZDc1N2YxZWE5Mjg1ZDY4YTg5MzAuLjk5NGZhOTI3ZmI1OTkyMmVkN2FjYmI4ODM3ZTM1NWFj
ZTdhMzA3YzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dz
dHJlYW1lci9tc2UvV2ViS2l0TWVkaWFTb3VyY2VHU3RyZWFtZXIuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL1dlYktpdE1lZGlhU291cmNlR1N0
cmVhbWVyLmgKQEAgLTcwLDYgKzcwLDggQEAgc3RydWN0IF9XZWJLaXRNZWRpYVNyY0NsYXNzIHsK
IAogR1R5cGUgd2Via2l0X21lZGlhX3NyY19nZXRfdHlwZSh2b2lkKTsKIAordm9pZCB3ZWJLaXRN
ZWRpYVNyY1Jlc3RvcmVUcmFja3MoV2ViS2l0TWVkaWFTcmMqLCBXZWJLaXRNZWRpYVNyYyopOwor
dm9pZCB3ZWJLaXRNZWRpYVNyY1NpZ25hbFRyYWNrcyhXZWJLaXRNZWRpYVNyYyopOwogdm9pZCB3
ZWJLaXRNZWRpYVNyY1NldE1lZGlhUGxheWVyUHJpdmF0ZShXZWJLaXRNZWRpYVNyYyosIFdlYkNv
cmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lck1TRSopOwogCiB2b2lkIHdlYktpdE1lZGlh
U3JjUHJlcGFyZVNlZWsoV2ViS2l0TWVkaWFTcmMqLCBjb25zdCBNZWRpYVRpbWUmKTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRl
eCBiZDdmMjQ4MTYxOTM4NjZjN2RjOWRjOWNiOTNjYTVhZjc2NThhMmYzLi43Nzk3MjFmYmZjNGY0
ODE2NTA0YjI2OTE3YjdlODYzZDRhYmEyNDRhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjEt
MDMtMjMgIFBoaWxpcHBlIE5vcm1hbmQgIDxwbm9ybWFuZEBpZ2FsaWEuY29tPgorCisgICAgICAg
IFtNU0VdW0dTdHJlYW1lcl0gU0lHU0VWIGluIHdlYktpdE1lZGlhU3JjRnJlZVN0cmVhbQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIwMDkxCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgWGFiaWVyIFJvZHJpZ3Vlei1DYWx2YXIuCisKKyAgICAgICAgKiBw
bGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9uczogVW5mbGFnIG5vdy1wYXNzaW5nIHRlc3RzLgor
CiAyMDIxLTAzLTIzICBGcsOpZMOpcmljIFdhbmcgIDxmd2FuZ0BpZ2FsaWEuY29tPgogCiAgICAg
ICAgIE51bGxwdHIgZGVyZWYgaW4gV2ViQ29yZTo6QXBwbHlTdHlsZUNvbW1hbmQ6OmFwcGx5UmVs
YXRpdmVGb250U3R5bGVDaGFuZ2UKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0
ay9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3Rh
dGlvbnMKaW5kZXggNmVhN2M1YjQ1Y2QxMjdmZTc1NWJiZDExN2QwYWFiYjJlYmYzMjM3MC4uYjdh
OGQxMzgzZTA2N2U0NWM1MTQzMDE5YzI3MDYzMmI4N2EyMTJjMCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTQxMSwxNSArNDExLDExIEBAIHdlYmtpdC5v
cmcvYi8xNjcxMDggaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1zb3VyY2Uv
bWVkaWFzb3VyY2UtZW5kCiB3ZWJraXQub3JnL2IvMTY3MTA4IGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvbWVkaWEtc291cmNlL21lZGlhc291cmNlLWVycm9ycy5odG1sIFsgRmFpbHVy
ZSBdCiB3ZWJraXQub3JnL2IvMjEwNDg2IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
bWVkaWEtc291cmNlL21lZGlhc291cmNlLWNvcnJlY3QtZnJhbWVzLWFmdGVyLXJlYXBwZW5kLmh0
bWwgWyBGYWlsdXJlIENyYXNoIFBhc3MgXQogCi0jIEtub3duIGlzc3VlcyB0aGF0IHdlcmUgZml4
ZWQgYnkgdGhlIFdlYktpdE1lZGlhU3JjIHJld29yayB0aGF0IGlzIG5vdyByZXZlcnRlZC4KLXdl
YmtpdC5vcmcvYi8yMDMwNzggaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYS1z
b3VyY2UvbWVkaWFzb3VyY2UtcmVwbGF5Lmh0bWwgWyBGYWlsdXJlIENyYXNoIF0KLQogd2Via2l0
Lm9yZy9iLzE3NjAyMCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLXNvdXJj
ZS9tZWRpYXNvdXJjZS1yZW1vdmVzb3VyY2VidWZmZXIuaHRtbCBbIENyYXNoIFBhc3MgXQogd2Vi
a2l0Lm9yZy9iLzE4MDgwMyBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhLXNv
dXJjZS9tZWRpYXNvdXJjZS1kdXJhdGlvbi1ib3VuZGFyeWNvbmRpdGlvbnMuaHRtbCBbIEZhaWx1
cmUgXQogd2Via2l0Lm9yZy9iLzE5NzcxMSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L21lZGlhLXNvdXJjZS9tZWRpYXNvdXJjZS1jb3JyZWN0LWZyYW1lcy5odG1sIFsgUGFzcyBGYWls
dXJlIF0KIHdlYmtpdC5vcmcvYi8yMDUxMTAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9tZWRpYS1zb3VyY2UvbWVkaWFzb3VyY2UtY2hhbmdldHlwZS1wbGF5Lmh0bWwgWyBGYWlsdXJl
IENyYXNoIFBhc3MgXQogCi13ZWJraXQub3JnL2IvMTY3MTA4IGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvbWVkaWEtc291cmNlL21lZGlhc291cmNlLXByZWxvYWQuaHRtbCBbIEZhaWx1
cmUgXQogd2Via2l0Lm9yZy9iLzE2NzEwOCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L21lZGlhLXNvdXJjZS9tZWRpYXNvdXJjZS10cmFja2RlZmF1bHRsaXN0Lmh0bWwgWyBGYWlsdXJl
IF0KIHdlYmtpdC5vcmcvYi8yMTAzNDEgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9t
ZWRpYS1zb3VyY2UvbWVkaWFzb3VyY2Utc291cmNlYnVmZmVyLW1vZGUtdGltZXN0YW1wcy5odG1s
IFsgRmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMjEwMzQyIGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvbWVkaWEtc291cmNlL21lZGlhc291cmNlLXNvdXJjZWJ1ZmZlci10cmFja2RlZmF1
bHRzLmh0bWwgWyBGYWlsdXJlIF0K
</data>

          </attachment>
      

    </bug>

</bugzilla>