<?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>233517</bug_id>
          
          <creation_ts>2021-11-26 03:35:05 -0800</creation_ts>
          <short_desc>GPUP GraphicsContextGL creation failure cannot be detected</short_desc>
          <delta_ts>2021-12-01 18:58:42 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebGL</component>
          <version>WebKit Local 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=233712</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>221664</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kimmo Kinnunen">kkinnunen</reporter>
          <assigned_to name="Kimmo Kinnunen">kkinnunen</assigned_to>
          <cc>annulen</cc>
    
    <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>crzwdjk</cc>
    
    <cc>dino</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kbr</cc>
    
    <cc>kkinnunen</cc>
    
    <cc>koivisto</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>lmoura</cc>
    
    <cc>luiz</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1817938</commentid>
    <comment_count>0</comment_count>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2021-11-26 03:35:05 -0800</bug_when>
    <thetext>GPUP GraphicsContextGL creation failure cannot be detected

The WebGLRenderingContextBase first tries to create GPUP GraphicsContextGL. If this fails, it tries to create WP GraphicsContextGL. This is not consistent.
ChromeClient should decide what type to instantiate.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1817955</commentid>
    <comment_count>1</comment_count>
      <attachid>445194</attachid>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2021-11-26 05:44:38 -0800</bug_when>
    <thetext>Created attachment 445194
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1817958</commentid>
    <comment_count>2</comment_count>
      <attachid>445197</attachid>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2021-11-26 06:02:14 -0800</bug_when>
    <thetext>Created attachment 445197
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1817962</commentid>
    <comment_count>3</comment_count>
      <attachid>445199</attachid>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2021-11-26 06:33:17 -0800</bug_when>
    <thetext>Created attachment 445199
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1818147</commentid>
    <comment_count>4</comment_count>
      <attachid>445199</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2021-11-29 01:16:56 -0800</bug_when>
    <thetext>Comment on attachment 445199
Patch

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

&gt; Source/WebCore/ChangeLog:22
&gt; +        Fix a bug where GPUP WebGL would use in-process context if the lost context would be recreated.
&gt; +
&gt; +        No new tests, a refactor.

Not quite a pure refactoring if it fixes a bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1818148</commentid>
    <comment_count>5</comment_count>
      <attachid>445199</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2021-11-29 01:19:15 -0800</bug_when>
    <thetext>Comment on attachment 445199
Patch

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

&gt; Source/WebCore/platform/graphics/WebProcessGraphicsContextGL.h:37
&gt; +#include &quot;GraphicsContextGL.h&quot;
&gt; +
&gt; +#include &lt;wtf/RefCounted.h&gt;
&gt; +
&gt; +namespace WebCore {
&gt; +
&gt; +WEBCORE_EXPORT RefPtr&lt;GraphicsContextGL&gt; createWebProcessGraphicsContextGL(const GraphicsContextGLAttributes&amp;);

I guess this function could also just go to GraphicsContextGL.h?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1818157</commentid>
    <comment_count>6</comment_count>
      <attachid>445258</attachid>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2021-11-29 01:57:50 -0800</bug_when>
    <thetext>Created attachment 445258
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1818167</commentid>
    <comment_count>7</comment_count>
      <attachid>445262</attachid>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2021-11-29 02:43:14 -0800</bug_when>
    <thetext>Created attachment 445262
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1818175</commentid>
    <comment_count>8</comment_count>
      <attachid>445265</attachid>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2021-11-29 04:06:27 -0800</bug_when>
    <thetext>Created attachment 445265
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1818181</commentid>
    <comment_count>9</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-11-29 05:05:37 -0800</bug_when>
    <thetext>Committed r286209 (244591@main): &lt;https://commits.webkit.org/244591@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 445265.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1818182</commentid>
    <comment_count>10</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-11-29 05:06:26 -0800</bug_when>
    <thetext>&lt;rdar://problem/85811767&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1819276</commentid>
    <comment_count>11</comment_count>
    <who name="Arcady Goldmints-Orlov">crzwdjk</who>
    <bug_when>2021-12-01 09:23:46 -0800</bug_when>
    <thetext>This change has caused a number of crashes in offscreen canvas tests on GTK and WPE (which only run on GTK and WPE):
  http/wpt/offscreen-canvas/getContext-webgl.html [ Crash ]
  http/wpt/offscreen-canvas/transferToImageBitmap-webgl.html [ Crash ]
  imported/w3c/web-platform-tests/html/canvas/offscreen/manual/the-offscreen-canvas/offscreencanvas.getcontext.html [ Crash ]
  imported/w3c/web-platform-tests/html/canvas/offscreen/manual/the-offscreen-canvas/offscreencanvas.getcontext.worker.html [ Crash ]
  imported/w3c/web-platform-tests/html/canvas/offscreen/manual/the-offscreen-canvas/offscreencanvas.resize.html [ Crash ]
  imported/w3c/web-platform-tests/html/canvas/offscreen/manual/the-offscreen-canvas/offscreencanvas.transfer.to.imagebitmap.html [ Crash ]
  imported/w3c/web-platform-tests/html/canvas/offscreen/manual/the-offscreen-canvas/offscreencanvas.transfer.to.imagebitmap.w.html [ Crash ]
  imported/w3c/web-platform-tests/html/canvas/offscreen/manual/the-offscreen-canvas/offscreencanvas.transferrable.html [ Crash ]
  imported/w3c/web-platform-tests/html/canvas/offscreen/manual/the-offscreen-canvas/offscreencanvas.transferrable.w.html [ Crash ]

With a backtrace like the following:
#0  0x00007f806d263347 in WebCore::WebGLRenderingContextBase::create(WebCore::CanvasBase&amp;, WebCore::GraphicsContextGLAttributes&amp;, WebCore::GraphicsContextGLWebGLVersion) () at /app/webkit/WebKitBuild/Release/lib/libwebkit2gtk-4.1.so.0
#1  0x00007f806d1e9ccc in WebCore::OffscreenCanvas::createContextWebGL(WebCore::OffscreenCanvas::RenderingContextType, WebCore::GraphicsContextGLAttributes&amp;&amp;) () at /app/webkit/WebKitBuild/Release/lib/libwebkit2gtk-4.1.so.0
#2  0x00007f806d1ea02e in WebCore::OffscreenCanvas::getContext(JSC::JSGlobalObject&amp;, WebCore::OffscreenCanvas::RenderingContextType, WTF::Vector&lt;JSC::Strong&lt;JSC::Unknown, (JSC::ShouldStrongDestructorGrabLock)0&gt;, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc&gt;&amp;&amp;) () at /app/webkit/WebKitBuild/Release/lib/libwebkit2gtk-4.1.so.0
#3  0x00007f806c2e0447 in WebCore::jsOffscreenCanvasPrototypeFunction_getContext(JSC::JSGlobalObject*, JSC::CallFrame*) () at /app/webkit/WebKitBuild/Release/lib/libwebkit2gtk-4.1.so.0
#4  0x00007f8021cff1d8 in  ()
#5  0x00007fff5faf3cb0 in  ()
#6  0x00007f80682dc20d in op_call_slow_return_location () at /app/webkit/WebKitBuild/Release/lib/libjavascriptcoregtk-4.1.so.0
#7  0x0000000000000000 in  ()

Not having debugged this in depth, my suspicion is that this change is not taking into account the offscreen case where hostWindow is null.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>445194</attachid>
            <date>2021-11-26 05:44:38 -0800</date>
            <delta_ts>2021-11-26 06:18:39 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233517-20211126154436.patch</filename>
            <type>text/plain</type>
            <size>22552</size>
            <attacher name="Kimmo Kinnunen">kkinnunen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2MTY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTlmNGE2MzNjY2JjYjM2
NjBjYWRkOWE5YTVmYTQ4OTY4MDdmNzQzMS4uMjUzNmExMDNmNmZiYjBmN2JmNWE1OGE1YzEzMjQ4
Mzc2N2ViNTA4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDIxLTExLTI2ICBLaW1t
byBLaW5udW5lbiAgPGtraW5udW5lbkBhcHBsZS5jb20+CisKKyAgICAgICAgR1BVUCBHcmFwaGlj
c0NvbnRleHRHTCBjcmVhdGlvbiBmYWlsdXJlIGNhbm5vdCBiZSBkZXRlY3RlZAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMzNTE3CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQmVmb3JlLCBjb25jcmV0ZSBg
R3JhcGhpY3NDb250ZXh0R0xgIGluc3RhbmNlIHdhcyBjcmVhdGVkIHdpdGggYEdyYXBoaWNzQ29u
dGV4dEdMOjpjcmVhdGUoKWAKKyAgICAgICAgd2hpY2ggd291bGQgaW50ZXJuYWxseSB1c2UgaG9z
dCB3aW5kb3cgYXMgYSBmYWN0b3J5IGlmIHBvc3NpYmxlLiBJZiB0aGlzIHByb2R1Y2VkIG51bGws
IGl0IHdvdWxkCisgICAgICAgIGNyZWF0ZSB0aGUgImRlZmF1bHQiIEdyYXBoaWNzQ29udGV4dEdM
IHN1YmNsYXNzIGluc3RhbmNlLgorICAgICAgICBXaXRoIEdQVVAsIGl0IGRvZXMgbm90IG1ha2Ug
c2Vuc2UgdG8gY3JlYXRlICJkZWZhdWx0IiB0eXBlLCBhcyB0aGF0IGluLXByb2Nlc3MgY29udGV4
dHMgc2hvdWxkIG5ldmVyCisgICAgICAgIGJlIHVzZWQuCisgICAgICAgIEl0IGFsc28gZG9lcyBu
b3QgbWFrZSBzZW5zZSB0byBjcmVhdGUgImRlZmF1bHQiLCBhcyBpdCdzIHVuY2xlYXIgd2hhdCB0
aGUgImRlZmF1bHQiIHR5cGUgaXMuCisgICAgICAgIEluc3RlYWQsIHVzZSB0aGUgaG9zdCB3aW5k
b3csIGkuZS4gdGhlIGNocm9tZSBjbGllbnQsIHRvIGFsd2F5cyBjcmVhdGUgdGhlIEdyYXBoaWNz
Q29udGV4dEdMIGluc3RhbmNlCisgICAgICAgIHRvIFdlYkdMLiBJZiB0aGlzIGZhaWxzLCB0aGUg
V2ViR0wgc2hvdWxkIGJlIHVuYXZhaWxhYmxlLgorICAgICAgICBSZW1vdmUgR3JhcGhpY3NDb250
ZXh0R0w6OmNyZWF0ZSgpIGFzIHRoYXQgaXMgbm90IHVzZWZ1bC4gVGhlIGNhbGxlcnMgc2hvdWxk
IGVpdGhlcgorICAgICAgICBleHBsaWNpdGx5IHNwZWNpZnkgd2hhdCBzdWJjbGFzcyB0byB1c2Us
IGZvciBleGFtcGxlIGluIHRlc3RpbmcsIG9yIHVzZSB0aGUgcG9seW1vcmhwaWMgZmFjdG9yeQor
ICAgICAgICAoQ2hyb21lQ2xpZW50KSB3aGljaCBrbm93cyB0aGUgcG9saWN5LgorCisgICAgICAg
IEZpeCBhIGJ1ZyB3aGVyZSBHUFVQIFdlYkdMIHdvdWxkIHVzZSBpbi1wcm9jZXNzIGNvbnRleHQg
aWYgdGhlIGxvc3QgY29udGV4dCB3b3VsZCBiZSByZWNyZWF0ZWQuCisKKyAgICAgICAgTm8gbmV3
IHRlc3RzLCBhIHJlZmFjdG9yLgorCisgICAgICAgICogUGxhdGZvcm1NYWMuY21ha2U6CisgICAg
ICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGh0bWwv
Y2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
V2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6Oldl
YkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6Om1heWJlUmVzdG9yZUNvbnRleHQpOgorICAgICAgICAq
IHBhZ2UvQ2hyb21lQ2xpZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWVDbGllbnQ6OmNy
ZWF0ZUdyYXBoaWNzQ29udGV4dEdMIGNvbnN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9XZWJQcm9jZXNzR3JhcGhpY3NDb250ZXh0R0wuaDogQWRkZWQuCisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvY29jb2EvV2ViUHJvY2Vzc0dyYXBoaWNzQ29udGV4dEdMQ29jb2EubW06Cisg
ICAgICAgIChXZWJDb3JlOjpjcmVhdGVXZWJQcm9jZXNzR3JhcGhpY3NDb250ZXh0R0wpOgorICAg
ICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6OmNyZWF0ZSk6IERlbGV0ZWQu
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dEdMT3Bl
bkdMLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0dyYXBoaWNzQ29udGV4
dEdMVGV4dHVyZU1hcHBlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjcmVhdGVXZWJQcm9jZXNz
R3JhcGhpY3NDb250ZXh0R0wpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0R0xP
cGVuR0w6OmNyZWF0ZSk6IERlbGV0ZWQuCisgICAgICAgICogcGxhdGZvcm0veHIvb3BlbnhyL1Bs
YXRmb3JtWFJPcGVuWFIuY3BwOgorICAgICAgICAoUGxhdGZvcm1YUjo6T3BlblhSRGV2aWNlOjpp
bml0aWFsaXplVHJhY2tpbmdBbmRSZW5kZXJpbmcpOgorICAgICAgICAqIHRlc3RpbmcvV2ViRmFr
ZVhSRGV2aWNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNpbXVsYXRlZFhSRGV2aWNlOjppbml0
aWFsaXplVHJhY2tpbmdBbmRSZW5kZXJpbmcpOgorCiAyMDIxLTExLTI2ICBLaW1tbyBLaW5udW5l
biAgPGtraW5udW5lbkBhcHBsZS5jb20+CiAKICAgICAgICAgR3JhcGhpY3NDb250ZXh0R0xBTkdM
RS5jcHAgaGFzIHBsYXRmb3JtIHNwZWNpZmljIGNvZGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggNTc0OGRiZTI5ZWFi
Y2JlYzQyYjI0OWY4YzY1Y2UyNjQ4NzNiNjc1MS4uNDgxNGJmM2Y0Y2UwMzBjZDA1MTUzMzUyMDcz
MDNlNDMyZjQyZDhlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAyMS0xMS0yNiAgS2lt
bW8gS2lubnVuZW4gIDxra2lubnVuZW5AYXBwbGUuY29tPgorCisgICAgICAgIEdQVVAgR3JhcGhp
Y3NDb250ZXh0R0wgY3JlYXRpb24gZmFpbHVyZSBjYW5ub3QgYmUgZGV0ZWN0ZWQKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMzUxNworCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIElmIEdQVVAgYEdyYXBoaWNz
Q29udGV4dEdMYCBjcmVhdGlvbiBmYWlscywgcmV0dXJuIG51bGxwdHIgaW5zdGVhZCBvZgorICAg
ICAgICB0cnlpbmcgdG8gY3JlYXRlIGEgaW4tcHJvY2VzcyBjb250ZXh0LgorCisgICAgICAgIEVu
YWJsZSBgV2ViQ2hyb21lQ2xpZW50OjpjcmVhdGVHcmFwaGljc0NvbnRleHRHTCgpYCBjYWxsIGZv
ciBub24tR1BVIHByb2Nlc3MKKyAgICAgICAgY29tcGlsYXRpb24sIGFzIHRoZSBmdW5jdGlvbiBp
cyBub3cgYWx3YXlzIGNhbGxlZC4gUmV0dXJuaW5nIG51bGxwdHIgc2lnbmlmaWVzIGZhaWx1cmUK
KyAgICAgICAgdG8gY3JlYXRlIHRoZSBjb250ZXh0LCBub3QgYSBzaWduYWwgdG8gcmV0cnkgc29t
ZSBvdGhlciB0eXBlLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJD
aHJvbWVDbGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJDaHJvbWVDbGllbnQ6OmNyZWF0
ZUdyYXBoaWNzQ29udGV4dEdMIGNvbnN0KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVT
dXBwb3J0L1dlYkNocm9tZUNsaWVudC5oOgorCiAyMDIxLTExLTI1ICBLaW1tbyBLaW5udW5lbiAg
PGtraW5udW5lbkBhcHBsZS5jb20+CiAKICAgICAgICAgR3JhcGhpY3NDb250ZXh0R0wgaW1wbGVt
ZW50YXRpb25zIHNob3VsZCBoYXZlIHNlcGFyYXRlIGNsYXNzIGRlZmluaXRpb25zCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybU1hYy5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL1Bs
YXRmb3JtTWFjLmNtYWtlCmluZGV4IDFhZjA5NWY5ZDljYmYwOTRjNTlhYjBhNzRhNGM1NTliMDU4
MDExODYuLmJhODIxOWJmYjZmNzQzOWY3MDhjZjBjNmQ5MjIwOTI0YzE3MWNmODYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtTWFjLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L1BsYXRmb3JtTWFjLmNtYWtlCkBAIC02MTMsNiArNjEzLDcgQEAgbGlzdChBUFBFTkQgV2ViQ29y
ZV9QUklWQVRFX0ZSQU1FV09SS19IRUFERVJTCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VV
dGlsaXRpZXMuaAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL01JTUVUeXBlQ2FjaGUuaAogICAgIHBs
YXRmb3JtL2dyYXBoaWNzL01vZGVsLmgKKyAgICBwbGF0Zm9ybS9ncmFwaGljcy9XZWJQcm9jZXNz
R3JhcGhpY3NHcmFwaGljc0NvbnRleHRHTC5oCiAKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9hbmds
ZS9BTkdMRVV0aWxpdGllcy5oCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBhMzg4ZTE5YTJjMTc3M2NhN2UzYTg5YmRkZjUzNjZi
MTkyMjA2NThkLi42NzE2YTkzYTI1OTJjYTZhM2Q3MGM5YzcyN2QyNDk0YzBhNGEzNWUyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
KysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBA
IC0yMzY5LDYgKzIzNjksNyBAQAogCQk3QkIzNEE0ODI1Mzc3NkNBMDAwMjlEMDggLyogR3JhcGhp
Y3NDb250ZXh0R0xJbWFnZUV4dHJhY3Rvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gN0JCMzRBNDUyNTM3NzZDNjAwMDI5RDA4IC8qIEdyYXBoaWNzQ29u
dGV4dEdMSW1hZ2VFeHRyYWN0b3IuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQk3QkI2ODBCQTI1QkExQkU0MDAyQjg3MzggLyogR3JhcGhpY3NDaGVj
a3NNYWMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdC
QjY4MEI4MjVCQTFCRTQwMDJCODczOCAvKiBHcmFwaGljc0NoZWNrc01hYy5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTdCRERBMzFGMjc0RkEwMjEw
MDM4NjU5RSAvKiBHcmFwaGljc0NvbnRleHRHTENvY29hLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QkREQTMxRDI3NEY5REE1MDAzODY1OUUgLyogR3Jh
cGhpY3NDb250ZXh0R0xDb2NvYS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CisJCTdCRERBMzMyMjc1MEZDQ0QwMDM4NjU5RSAvKiBXZWJQcm9jZXNzR3Jh
cGhpY3NDb250ZXh0R0wuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDdCRERBMzMwMjc1MEZDQ0MwMDM4NjU5RSAvKiBXZWJQcm9jZXNzR3JhcGhpY3NDb250
ZXh0R0wuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQk3QkU3NDI3MzgxRkE5MDZGQkI0RjBGMkMgLyogSlNTVkdHcmFwaGljc0VsZW1lbnQuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk1MEM0QzAyQkVEODkz
NkY4MThFMkY5OSAvKiBKU1NWR0dyYXBoaWNzRWxlbWVudC5oICovOyB9OwogCQk3QzAyOUM2RTI0
OTNDOEY4MDAyNjgyMDQgLyogQ29sb3JUeXBlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gN0MwMjlDNkQyNDkzQzhGODAwMjY4MjA0IC8qIENvbG9yVHlw
ZXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3
QzE4NDNGRTFDOEI3MjgzMDAyRUI5NzMgLyogQXV0b2ZpbGwuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDMTg0M0ZDMUM4QjcyODMwMDJFQjk3MyAvKiBB
dXRvZmlsbC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CkBAIC0xMTA5MCw2ICsxMTA5MSw3IEBACiAJCTdCQ0Q0MkRDMjcwNUM5NDkwMEVCMjEyNyAvKiBB
TkdMRVV0aWxpdGllc0NvY29hLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFOR0xFVXRpbGl0aWVzQ29jb2Eu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0JEREEzMUMyNzRGOURBNDAwMzg2NTlF
IC8qIEdyYXBoaWNzQ29udGV4dEdMQ29jb2EubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5v
YmpjcHA7IHBhdGggPSBHcmFwaGljc0NvbnRleHRHTENvY29hLm1tOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk3QkREQTMxRDI3NEY5REE1MDAzODY1OUUgLyogR3JhcGhpY3NDb250ZXh0
R0xDb2NvYS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBHcmFwaGljc0NvbnRl
eHRHTENvY29hLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTdCRERBMzMwMjc1MEZD
Q0MwMDM4NjU5RSAvKiBXZWJQcm9jZXNzR3JhcGhpY3NDb250ZXh0R0wuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBuYW1lID0gV2ViUHJvY2Vzc0dyYXBoaWNzQ29udGV4dEdMLmg7IHBhdGgg
PSBwbGF0Zm9ybS9ncmFwaGljcy9XZWJQcm9jZXNzR3JhcGhpY3NDb250ZXh0R0wuaDsgc291cmNl
VHJlZSA9IFNPVVJDRV9ST09UOyB9OwogCQk3QkU3MjY1QjI1NzYzQjhEMDBFODVEOTggLyogUmVt
b3RlR3JhcGhpY3NDb250ZXh0R0xQcm94eUJhc2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVt
b3RlR3JhcGhpY3NDb250ZXh0R0xQcm94eUJhc2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk3QzAxMUYzRDI0RkFEMzYwMDA1QkVGMTAgLyogU2V0dGluZ3MuY3BwLmVyYiAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGgg
PSBTZXR0aW5ncy5jcHAuZXJiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3QzAxMUYz
RTI0RkFEMzYwMDA1QkVGMTAgLyogSW50ZXJuYWxTZXR0aW5nc0dlbmVyYXRlZC5jcHAuZXJiICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0
aCA9IEludGVybmFsU2V0dGluZ3NHZW5lcmF0ZWQuY3BwLmVyYjsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKQEAgLTIzNTA4LDYgKzIzNTEwLDcgQEAKIAkJCWNoaWxkcmVuID0gKAogCQkJCTI3
RTNDODA2MjU3RjVFNkUwMEM5ODZBQiAvKiBBTkdMRUhlYWRlcnMuaCAqLywKIAkJCQk3QkNENDJE
ODI3MDU5OUVGMDBFQjIxMjcgLyogQU5HTEVVdGlsaXRpZXMuY3BwICovLAorCQkJCTdCRERBMzMw
Mjc1MEZDQ0MwMDM4NjU5RSAvKiBXZWJQcm9jZXNzR3JhcGhpY3NDb250ZXh0R0wuaCAqLywKIAkJ
CQk3QkIzNEExNjI1MzQ1Q0IyMDAwMjlEMDggLyogQU5HTEVVdGlsaXRpZXMuaCAqLywKIAkJCQk2
RTI3RjI0MzIyOUM5Rjg0MDBGMUY2MzIgLyogRXh0ZW5zaW9uc0dMQU5HTEUuY3BwICovLAogCQkJ
CTZFMjdGMjQ0MjI5QzlGOEQwMEYxRjYzMiAvKiBFeHRlbnNpb25zR0xBTkdMRS5oICovLApAQCAt
MzQ4NTUsNiArMzQ4NTgsNyBAQAogCQkJCUIyRkEzREM3MEFCNzVBNkYwMDBFNUFDNCAvKiBKU1NW
R1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljQWJzLmggaW4gSGVhZGVycyAqLywKIAkJCQlCMkZBM0RD
OTBBQjc1QTZGMDAwRTVBQzQgLyogSlNTVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpY1JlbC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQjJGQTNEQ0IwQUI3NUE2RjAwMEU1QUM0IC8qIEpTU1ZHUGF0aFNl
Z0N1cnZldG9RdWFkcmF0aWNTbW9vdGhBYnMuaCBpbiBIZWFkZXJzICovLAorCQkJCTdCRERBMzMy
Mjc1MEZDQ0QwMDM4NjU5RSAvKiBXZWJQcm9jZXNzR3JhcGhpY3NDb250ZXh0R0wuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUIyRkEzRENEMEFCNzVBNkYwMDBFNUFDNCAvKiBKU1NWR1BhdGhTZWdDdXJ2
ZXRvUXVhZHJhdGljU21vb3RoUmVsLmggaW4gSGVhZGVycyAqLywKIAkJCQlCMkZBM0RDRjBBQjc1
QTZGMDAwRTVBQzQgLyogSlNTVkdQYXRoU2VnTGluZXRvQWJzLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlCMkZBM0REMTBBQjc1QTZGMDAwRTVBQzQgLyogSlNTVkdQYXRoU2VnTGluZXRvSG9yaXpvbnRh
bEFicy5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
Y2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuY3BwCmluZGV4IDMzOTI1YmM2YWM4ZDg3
YjQxMDZiMDYzMWVkMzQyOTAzOWE3OGFmZTQuLmZlZDFmMjI4N2E3MzM2MjBlODZkYTRmOTExZmZh
YWVhNmIyM2E5MmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdM
UmVuZGVyaW5nQ29udGV4dEJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFz
L1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuY3BwCkBAIC01NSw2ICs1NSw3IEBACiAjaW5jbHVk
ZSAiSFRNTENhbnZhc0VsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MSW1hZ2VFbGVtZW50LmgiCiAj
aW5jbHVkZSAiSFRNTFZpZGVvRWxlbWVudC5oIgorI2luY2x1ZGUgIkhvc3RXaW5kb3cuaCIKICNp
bmNsdWRlICJJbWFnZUJpdG1hcC5oIgogI2luY2x1ZGUgIkltYWdlQnVmZmVyLmgiCiAjaW5jbHVk
ZSAiSW1hZ2VEYXRhLmgiCkBAIC04NTksNyArODYwLDcgQEAgc3RkOjp1bmlxdWVfcHRyPFdlYkdM
UmVuZGVyaW5nQ29udGV4dEJhc2U+IFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmNyZWF0ZShD
YW4KICAgICAgICAgcmVuZGVyaW5nQ29udGV4dC0+c3VzcGVuZElmTmVlZGVkKCk7CiAgICAgICAg
IHJldHVybiByZW5kZXJpbmdDb250ZXh0OwogICAgIH0KLSAgICBhdXRvIGNvbnRleHQgPSBHcmFw
aGljc0NvbnRleHRHTDo6Y3JlYXRlKGF0dHJpYnV0ZXMsIGhvc3RXaW5kb3cpOworICAgIGF1dG8g
Y29udGV4dCA9IGhvc3RXaW5kb3ctPmNyZWF0ZUdyYXBoaWNzQ29udGV4dEdMKGF0dHJpYnV0ZXMp
OwogICAgIGlmICghY29udGV4dCkgewogICAgICAgICBpZiAoY2FudmFzRWxlbWVudCkgewogICAg
ICAgICAgICAgY2FudmFzRWxlbWVudC0+ZGlzcGF0Y2hFdmVudChXZWJHTENvbnRleHRFdmVudDo6
Y3JlYXRlKGV2ZW50TmFtZXMoKS53ZWJnbGNvbnRleHRjcmVhdGlvbmVycm9yRXZlbnQsCkBAIC03
NzU1LDcgKzc3NTYsNyBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6Om1heWJlUmVz
dG9yZUNvbnRleHQoKQogICAgIGlmICghaG9zdFdpbmRvdykKICAgICAgICAgcmV0dXJuOwogCi0g
ICAgUmVmUHRyPEdyYXBoaWNzQ29udGV4dEdMPiBjb250ZXh0KEdyYXBoaWNzQ29udGV4dEdMT3Bl
bkdMOjpjcmVhdGUobV9hdHRyaWJ1dGVzLCBob3N0V2luZG93KSk7CisgICAgUmVmUHRyPEdyYXBo
aWNzQ29udGV4dEdMPiBjb250ZXh0ID0gaG9zdFdpbmRvdy0+Y3JlYXRlR3JhcGhpY3NDb250ZXh0
R0wobV9hdHRyaWJ1dGVzKTsKICAgICBpZiAoIWNvbnRleHQpIHsKICAgICAgICAgaWYgKG1fY29u
dGV4dExvc3RNb2RlID09IFJlYWxMb3N0Q29udGV4dCkKICAgICAgICAgICAgIG1fcmVzdG9yZVRp
bWVyLnN0YXJ0T25lU2hvdChzZWNvbmRzQmV0d2VlblJlc3RvcmVBdHRlbXB0cyk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9DaHJvbWVDbGllbnQuaAppbmRleCBmMjM5MTQ1NzA2ZDBiMTkwNTQxMGFkOGU2NmNmZTk5
MDBjZGM3NmVlLi5jNGI0NjcyODk2NWVjNzdkY2ZkNGJmMTVjZWVmNDllZGZjYTFhNDQyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKQEAgLTg2LDYgKzg2LDEwIEBAIGNsYXNzIEhUTUxN
b2RlbEVsZW1lbnQ7CiAjaW5jbHVkZSAiUGxhdGZvcm1YUi5oIgogI2VuZGlmCiAKKyNpZiBFTkFC
TEUoV0VCR0wpCisjaW5jbHVkZSAiV2ViUHJvY2Vzc0dyYXBoaWNzQ29udGV4dEdMLmgiCisjZW5k
aWYKKwogT0JKQ19DTEFTUyBOU1Jlc3BvbmRlcjsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAt
MzUzLDcgKzM1Nyw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIFJlZlB0cjxJbWFnZUJ1ZmZlcj4g
Y3JlYXRlSW1hZ2VCdWZmZXIoY29uc3QgRmxvYXRTaXplJiwgUmVuZGVyaW5nTW9kZSwgUmVuZGVy
aW5nUHVycG9zZSwgZmxvYXQsIGNvbnN0IERlc3RpbmF0aW9uQ29sb3JTcGFjZSYsIFBpeGVsRm9y
bWF0KSBjb25zdCB7IHJldHVybiBudWxscHRyOyB9CiAKICNpZiBFTkFCTEUoV0VCR0wpCi0gICAg
dmlydHVhbCBSZWZQdHI8R3JhcGhpY3NDb250ZXh0R0w+IGNyZWF0ZUdyYXBoaWNzQ29udGV4dEdM
KGNvbnN0IEdyYXBoaWNzQ29udGV4dEdMQXR0cmlidXRlcyYsIFdlYkNvcmU6OlBsYXRmb3JtRGlz
cGxheUlEKSBjb25zdCB7IHJldHVybiBudWxscHRyOyB9CisgICAgdmlydHVhbCBSZWZQdHI8R3Jh
cGhpY3NDb250ZXh0R0w+IGNyZWF0ZUdyYXBoaWNzQ29udGV4dEdMKGNvbnN0IEdyYXBoaWNzQ29u
dGV4dEdMQXR0cmlidXRlcyYgYXR0cmlidXRlcywgV2ViQ29yZTo6UGxhdGZvcm1EaXNwbGF5SUQp
IGNvbnN0IHsgcmV0dXJuIGNyZWF0ZVdlYlByb2Nlc3NHcmFwaGljc0NvbnRleHRHTChhdHRyaWJ1
dGVzKTsgfQogI2VuZGlmCiAKICAgICAvLyBQYXNzIG51bGxwdHIgYXMgdGhlIEdyYXBoaWNzTGF5
ZXIgdG8gZGV0YXRjaCB0aGUgcm9vdCBsYXllci4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL1dlYlByb2Nlc3NHcmFwaGljc0NvbnRleHRHTC5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvV2ViUHJvY2Vzc0dyYXBoaWNzQ29udGV4dEdMLmgK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uOWYxMzkzOWJlNjA5YjcyYzNkZTU5ZDMyZDliZmU0OWRmNjBiNjM4MQotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1dlYlByb2Nl
c3NHcmFwaGljc0NvbnRleHRHTC5oCkBAIC0wLDAgKzEsNDEgQEAKKworLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQg
QU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxF
KFdFQkdMKQorCisjaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0R0wuaCIKKworI2luY2x1ZGUgPHd0
Zi9SZWZDb3VudGVkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworV0VCQ09SRV9FWFBPUlQg
UmVmUHRyPEdyYXBoaWNzQ29udGV4dEdMPiBjcmVhdGVXZWJQcm9jZXNzR3JhcGhpY3NDb250ZXh0
R0woY29uc3QgR3JhcGhpY3NDb250ZXh0R0xBdHRyaWJ1dGVzJik7CisKK30KKworI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJQcm9j
ZXNzR3JhcGhpY3NDb250ZXh0R0xDb2NvYS5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2NvY29hL1dlYlByb2Nlc3NHcmFwaGljc0NvbnRleHRHTENvY29hLm1tCmluZGV4IDg1
ZjQ5N2EzNzQ2NjYwMDNmNzlkMDAyZDZkOWQ1ZDEzMjMyZGI2MmIuLmMzMTJjNmZmODdjOGEzNTM4
NzAwYjIzYjlhZGQwMmVlZmQwOTUzZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NvY29hL1dlYlByb2Nlc3NHcmFwaGljc0NvbnRleHRHTENvY29hLm1tCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYlByb2Nlc3NHcmFw
aGljc0NvbnRleHRHTENvY29hLm1tCkBAIC0yNSw2ICsyNSw3IEBACiAgKi8KIAogI2ltcG9ydCAi
Y29uZmlnLmgiCisjaW1wb3J0ICJXZWJQcm9jZXNzR3JhcGhpY3NDb250ZXh0R0wuaCIKIAogI2lm
IEVOQUJMRShXRUJHTCkKICNpbXBvcnQgIkdyYXBoaWNzQ29udGV4dEdMQ29jb2EuaCIgLy8gTk9M
SU5UCkBAIC02Myw3ICs2NCw3IEBAIHByaXZhdGU6CiAgICAgfQogICAgIFJldGFpblB0cjxXZWJH
TExheWVyPiBtX3dlYkdMTGF5ZXI7CiAKLSAgICBmcmllbmQgY2xhc3MgR3JhcGhpY3NDb250ZXh0
R0xPcGVuR0w7CisgICAgZnJpZW5kIFJlZlB0cjxHcmFwaGljc0NvbnRleHRHTD4gV2ViQ29yZTo6
Y3JlYXRlV2ViUHJvY2Vzc0dyYXBoaWNzQ29udGV4dEdMKGNvbnN0IEdyYXBoaWNzQ29udGV4dEdM
QXR0cmlidXRlcyYpOwogfTsKIAogdm9pZCBXZWJQcm9jZXNzR3JhcGhpY3NDb250ZXh0R0xDb2Nv
YTo6cHJlcGFyZUZvckRpc3BsYXkoKQpAQCAtODAsMTkgKzgxLDE5IEBAIHZvaWQgV2ViUHJvY2Vz
c0dyYXBoaWNzQ29udGV4dEdMQ29jb2E6OnByZXBhcmVGb3JEaXNwbGF5KCkKIAogfQogCi1SZWZQ
dHI8R3JhcGhpY3NDb250ZXh0R0xPcGVuR0w+IEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjpjcmVh
dGUoR3JhcGhpY3NDb250ZXh0R0xBdHRyaWJ1dGVzIGF0dHJpYnV0ZXMsIEhvc3RXaW5kb3cqKQor
UmVmUHRyPEdyYXBoaWNzQ29udGV4dEdMPiBjcmVhdGVXZWJQcm9jZXNzR3JhcGhpY3NDb250ZXh0
R0woY29uc3QgR3JhcGhpY3NDb250ZXh0R0xBdHRyaWJ1dGVzJiBhdHRyaWJ1dGVzKQogewogICAg
IC8vIE1ha2Ugc3BhY2UgZm9yIHRoZSBpbmNvbWluZyBjb250ZXh0IGlmIHdlJ3JlIGZ1bGwuCiAg
ICAgR3JhcGhpY3NDb250ZXh0R0xPcGVuR0xNYW5hZ2VyOjpzaGFyZWRNYW5hZ2VyKCkucmVjeWNs
ZUNvbnRleHRJZk5lY2Vzc2FyeSgpOwogICAgIGlmIChHcmFwaGljc0NvbnRleHRHTE9wZW5HTE1h
bmFnZXI6OnNoYXJlZE1hbmFnZXIoKS5oYXNUb29NYW55Q29udGV4dHMoKSkKICAgICAgICAgcmV0
dXJuIG51bGxwdHI7Ci0gICAgYXV0byBjb250ZXh0ID0gYWRvcHRSZWYobmV3IFdlYlByb2Nlc3NH
cmFwaGljc0NvbnRleHRHTENvY29hKFdURk1vdmUoYXR0cmlidXRlcykpKTsKKyAgICBhdXRvIGNv
bnRleHQgPSBhZG9wdFJlZihuZXcgV2ViUHJvY2Vzc0dyYXBoaWNzQ29udGV4dEdMQ29jb2EoR3Jh
cGhpY3NDb250ZXh0R0xBdHRyaWJ1dGVzIHsgYXR0cmlidXRlcyB9KSk7CiAgICAgaWYgKCFjb250
ZXh0LT5pc1ZhbGlkKCkpCiAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIEdyYXBoaWNzQ29u
dGV4dEdMT3BlbkdMTWFuYWdlcjo6c2hhcmVkTWFuYWdlcigpLmFkZENvbnRleHQoY29udGV4dC5n
ZXQoKSk7Ci0KICAgICByZXR1cm4gY29udGV4dDsKIH0KKwogfQogCiAjZW5kaWYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0NvbnRl
eHRHTE9wZW5HTC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dy
YXBoaWNzQ29udGV4dEdMT3BlbkdMLmgKaW5kZXggMjk0YzBjNmFlYTQ2MzE2MjJlMDU3YjAzZTlm
OWNmOGY1Y2MwZmYzNy4uNmM4MWVhN2E4ODk1NDBkNTNlMDY1ZDQ1MzRiNDY5NTZmMjBjZmExZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBo
aWNzQ29udGV4dEdMT3BlbkdMLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dEdMT3BlbkdMLmgKQEAgLTEwMCw3ICsxMDAsNiBAQCB0
eXBlZGVmIEhhc2hNYXA8Q1N0cmluZywgdWludDY0X3Q+IFNoYWRlck5hbWVIYXNoOwogY2xhc3Mg
V0VCQ09SRV9FWFBPUlQgR3JhcGhpY3NDb250ZXh0R0xPcGVuR0wgOiBwdWJsaWMgR3JhcGhpY3ND
b250ZXh0R0wKIHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUmVmUHRyPEdyYXBoaWNzQ29udGV4dEdM
T3BlbkdMPiBjcmVhdGUoR3JhcGhpY3NDb250ZXh0R0xBdHRyaWJ1dGVzLCBIb3N0V2luZG93Kik7
CiAgICAgdmlydHVhbCB+R3JhcGhpY3NDb250ZXh0R0xPcGVuR0woKTsKICAgICBQbGF0Zm9ybUxh
eWVyKiBwbGF0Zm9ybUxheWVyKCkgY29uc3Qgb3ZlcnJpZGU7CiAjaWYgVVNFKEFOR0xFKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0dyYXBoaWNz
Q29udGV4dEdMVGV4dHVyZU1hcHBlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy90ZXhtYXAvR3JhcGhpY3NDb250ZXh0R0xUZXh0dXJlTWFwcGVyLmNwcAppbmRleCBhNzcx
ZjA3YTAyZWQ0NGE2N2UwODJkNDgxMTY4YmY1ODhkZmRjYTEwLi41ZDU1OTZmMDljZDIyYmUwMWE3
YTVmNmRjOTU4ODBlMTQyMmJiZjE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy90ZXhtYXAvR3JhcGhpY3NDb250ZXh0R0xUZXh0dXJlTWFwcGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvR3JhcGhpY3NDb250ZXh0
R0xUZXh0dXJlTWFwcGVyLmNwcApAQCAtMzUsNiArMzUsNyBAQAogI2luY2x1ZGUgIkdyYXBoaWNz
Q29udGV4dEdMT3BlbkdMTWFuYWdlci5oIgogI2luY2x1ZGUgIlBpeGVsQnVmZmVyLmgiCiAjaW5j
bHVkZSAiVGV4dHVyZU1hcHBlckdDR0xQbGF0Zm9ybUxheWVyLmgiCisjaW5jbHVkZSAiV2ViUHJv
Y2Vzc0dyYXBoaWNzQ29udGV4dEdMLmgiCiAjaW5jbHVkZSA8d3RmL0RlcXVlLmg+CiAjaW5jbHVk
ZSA8d3RmL05ldmVyRGVzdHJveWVkLmg+CiAKQEAgLTkzLDcgKzk0LDcgQEAgR3JhcGhpY3NDb250
ZXh0R0xUZXh0dXJlTWFwcGVyOjpHcmFwaGljc0NvbnRleHRHTFRleHR1cmVNYXBwZXIoR3JhcGhp
Y3NDb250ZXh0R0wKIAogLy8gRklYTUU6IEJlbG93IGZ1bmN0aW9uYWxpdHkgc2hvdWxkIGJlIG1v
dmVkIHRvIEdyYXBoaWNzQ29udGV4dEdMVGV4dHVyZU1hcHBlciB0byBzaW1wbGlmeSB0aGUgYmFz
ZSBjbGFzcy4KIAotUmVmUHRyPEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMPiBHcmFwaGljc0NvbnRl
eHRHTE9wZW5HTDo6Y3JlYXRlKEdyYXBoaWNzQ29udGV4dEdMQXR0cmlidXRlcyBhdHRyaWJ1dGVz
LCBIb3N0V2luZG93KikKK1JlZlB0cjxHcmFwaGljc0NvbnRleHRHTD4gY3JlYXRlV2ViUHJvY2Vz
c0dyYXBoaWNzQ29udGV4dEdMKGNvbnN0IEdyYXBoaWNzQ29udGV4dEdMQXR0cmlidXRlcyYgYXR0
cmlidXRlcykKIHsKICAgICBzdGF0aWMgYm9vbCBpbml0aWFsaXplZCA9IGZhbHNlOwogICAgIHN0
YXRpYyBib29sIHN1Y2Nlc3MgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0veHIvb3BlbnhyL1BsYXRmb3JtWFJPcGVuWFIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0veHIvb3BlbnhyL1BsYXRmb3JtWFJPcGVuWFIuY3BwCmluZGV4IDJkOTVlYTMzZWI2MjU3
ZDVlYTIyNGQ1MGFiMTYwNjI0ZjNjMDVhODUuLmM1MmQyNmFjOTRhZGVkYTA0OTI5NTU3ZjlmMDgy
ZDA3NTNiYjdjMGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3hyL29wZW54
ci9QbGF0Zm9ybVhST3BlblhSLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS94ci9v
cGVueHIvUGxhdGZvcm1YUk9wZW5YUi5jcHAKQEAgLTI1LDcgKzI1LDcgQEAKICNpbmNsdWRlICJP
cGVuWFJFeHRlbnNpb25zLmgiCiAjaW5jbHVkZSAiT3BlblhSSW5wdXQuaCIKICNpbmNsdWRlICJP
cGVuWFJJbnB1dFNvdXJjZS5oIgotCisjaW5jbHVkZSAiV2ViUHJvY2Vzc0dyYXBoaWNzQ29udGV4
dEdMLmgiCiAjaW5jbHVkZSA8d3RmL05ldmVyRGVzdHJveWVkLmg+CiAjaW5jbHVkZSA8d3RmL3Ro
cmVhZHMvQmluYXJ5U2VtYXBob3JlLmg+CiAKQEAgLTExNCw3ICsxMTQsNyBAQCB2b2lkIE9wZW5Y
UkRldmljZTo6aW5pdGlhbGl6ZVRyYWNraW5nQW5kUmVuZGVyaW5nKFNlc3Npb25Nb2RlIG1vZGUp
CiAgICAgICAgIGF0dHJpYnV0ZXMuc3RlbmNpbCA9IGZhbHNlOwogICAgICAgICBhdHRyaWJ1dGVz
LmFudGlhbGlhcyA9IGZhbHNlOwogCi0gICAgICAgIG1fZ2wgPSBHcmFwaGljc0NvbnRleHRHTDo6
Y3JlYXRlKGF0dHJpYnV0ZXMsIG51bGxwdHIpOworICAgICAgICBtX2dsID0gY3JlYXRlV2ViUHJv
Y2Vzc0dyYXBoaWNzQ29udGV4dEdMKGF0dHJpYnV0ZXMpOwogICAgICAgICBpZiAoIW1fZ2wpIHsK
ICAgICAgICAgICAgIExPRyhYUiwgIkZhaWxlZCB0byBjcmVhdGUgYSB2YWxpZCBHcmFwaGljc0Nv
bnRleHRHTCIpOwogICAgICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9XZWJGYWtlWFJEZXZpY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9X
ZWJGYWtlWFJEZXZpY2UuY3BwCmluZGV4IDYyMWRlNmI3ZWRhN2NmNzc4NDg3ODMzYzFkMmI0Yzc0
YTNjMzIzNmEuLjg1ZGVhM2U3NDBmNmYwMDg0ZDM5NGUzYzNiM2JmOWUxZGI2ODdiOTcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvV2ViRmFrZVhSRGV2aWNlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL1dlYkZha2VYUkRldmljZS5jcHAKQEAgLTMyLDYgKzMyLDcg
QEAKICNpbmNsdWRlICJHcmFwaGljc0NvbnRleHRHTC5oIgogI2luY2x1ZGUgIkpTRE9NUHJvbWlz
ZURlZmVycmVkLmgiCiAjaW5jbHVkZSAiV2ViRmFrZVhSSW5wdXRDb250cm9sbGVyLmgiCisjaW5j
bHVkZSAiV2ViUHJvY2Vzc0dyYXBoaWNzQ29udGV4dEdMLmgiCiAjaW5jbHVkZSA8d3RmL0NvbXBs
ZXRpb25IYW5kbGVyLmg+CiAjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KIApAQCAtMTA5LDcg
KzExMCw3IEBAIHZvaWQgU2ltdWxhdGVkWFJEZXZpY2U6OmluaXRpYWxpemVUcmFja2luZ0FuZFJl
bmRlcmluZyhQbGF0Zm9ybVhSOjpTZXNzaW9uTW9kZSkKICAgICBhdHRyaWJ1dGVzLmRlcHRoID0g
ZmFsc2U7CiAgICAgYXR0cmlidXRlcy5zdGVuY2lsID0gZmFsc2U7CiAgICAgYXR0cmlidXRlcy5h
bnRpYWxpYXMgPSBmYWxzZTsKLSAgICBtX2dsID0gR3JhcGhpY3NDb250ZXh0R0w6OmNyZWF0ZShh
dHRyaWJ1dGVzLCBudWxscHRyKTsKKyAgICBtX2dsID0gY3JlYXRlV2ViUHJvY2Vzc0dyYXBoaWNz
Q29udGV4dEdMKGF0dHJpYnV0ZXMpOwogCiAgICAgaWYgKG1fdHJhY2tpbmdBbmRSZW5kZXJpbmdD
bGllbnQpIHsKICAgICAgICAgLy8gV2ViWFIgRmFrZURldmljZSB3YWl0cyBmb3Igc2ltdWxhdGVJ
bnB1dENvbm5lY3Rpb24gY2FsbHMgdG8gYWRkIGlucHV0IHNvdXJjZXMtCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNw
cCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGll
bnQuY3BwCmluZGV4IDQzNmE1YTUyMDM1YTA2NTc1ODljMGU5MGIwODQyYzQzMzY1ODFlM2QuLjBh
M2E2MjZiODdiNDk3OWEwYWQzNzBmOWI5ODE4NzZkMDJkODA2NDkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGll
bnQuY3BwCkBAIC0xMTcsMTAgKzExNywxNCBAQAogI2luY2x1ZGUgPFdlYkNvcmUvTW9ja1dlYkF1
dGhlbnRpY2F0aW9uQ29uZmlndXJhdGlvbi5oPgogI2VuZGlmCiAKLSNpZiBQTEFURk9STShDT0NP
QSkgfHwgUExBVEZPUk0oV0lOKQorI2lmIEVOQUJMRShXRUJHTCkgJiYgRU5BQkxFKEdQVV9QUk9D
RVNTKSAmJiAoUExBVEZPUk0oQ09DT0EpIHx8IFBMQVRGT1JNKFdJTikpCiAjaW5jbHVkZSAiUmVt
b3RlR3JhcGhpY3NDb250ZXh0R0xQcm94eS5oIgogI2VuZGlmCiAKKyNpZiBFTkFCTEUoV0VCR0wp
CisjaW5jbHVkZSA8V2ViQ29yZS9XZWJQcm9jZXNzR3JhcGhpY3NDb250ZXh0R0wuaD4KKyNlbmRp
ZgorCiAjaWYgUExBVEZPUk0oTUFDKQogI2luY2x1ZGUgIlRpbGVkQ29yZUFuaW1hdGlvblNjcm9s
bGluZ0Nvb3JkaW5hdG9yLmgiCiAjZW5kaWYKQEAgLTkyMSw3ICs5MjUsNiBAQCBXZWJDb3JlOjpE
aXNwbGF5UmVmcmVzaE1vbml0b3JGYWN0b3J5KiBXZWJDaHJvbWVDbGllbnQ6OmRpc3BsYXlSZWZy
ZXNoTW9uaXRvckZhYwogfQogCiAjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKQotCiBSZWZQdHI8SW1h
Z2VCdWZmZXI+IFdlYkNocm9tZUNsaWVudDo6Y3JlYXRlSW1hZ2VCdWZmZXIoY29uc3QgRmxvYXRT
aXplJiBzaXplLCBSZW5kZXJpbmdNb2RlIHJlbmRlcmluZ01vZGUsIFJlbmRlcmluZ1B1cnBvc2Ug
cHVycG9zZSwgZmxvYXQgcmVzb2x1dGlvblNjYWxlLCBjb25zdCBEZXN0aW5hdGlvbkNvbG9yU3Bh
Y2UmIGNvbG9yU3BhY2UsIFBpeGVsRm9ybWF0IHBpeGVsRm9ybWF0KSBjb25zdAogewogICAgIGlm
ICghV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkuc2hvdWxkVXNlUmVtb3RlUmVuZGVyaW5nRm9yKHB1
cnBvc2UpKQpAQCAtOTI5LDI1ICs5MzIsMTkgQEAgUmVmUHRyPEltYWdlQnVmZmVyPiBXZWJDaHJv
bWVDbGllbnQ6OmNyZWF0ZUltYWdlQnVmZmVyKGNvbnN0IEZsb2F0U2l6ZSYgc2l6ZSwgUmUKIAog
ICAgIHJldHVybiBtX3BhZ2UuZW5zdXJlUmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5KCkuY3Jl
YXRlSW1hZ2VCdWZmZXIoc2l6ZSwgcmVuZGVyaW5nTW9kZSwgcmVzb2x1dGlvblNjYWxlLCBjb2xv
clNwYWNlLCBwaXhlbEZvcm1hdCk7CiB9CisjZW5kaWYKIAogI2lmIEVOQUJMRShXRUJHTCkKLQot
UmVmUHRyPEdyYXBoaWNzQ29udGV4dEdMPiBXZWJDaHJvbWVDbGllbnQ6OmNyZWF0ZUdyYXBoaWNz
Q29udGV4dEdMKGNvbnN0IEdyYXBoaWNzQ29udGV4dEdMQXR0cmlidXRlcyYgYXR0cmlidXRlcywg
UGxhdGZvcm1EaXNwbGF5SUQgaG9zdFdpbmRvd0Rpc3BsYXlJRCkgY29uc3QKK1JlZlB0cjxHcmFw
aGljc0NvbnRleHRHTD4gV2ViQ2hyb21lQ2xpZW50OjpjcmVhdGVHcmFwaGljc0NvbnRleHRHTChj
b25zdCBHcmFwaGljc0NvbnRleHRHTEF0dHJpYnV0ZXMmIGF0dHJpYnV0ZXMsIFBsYXRmb3JtRGlz
cGxheUlEKSBjb25zdAogewotICAgIGlmICghV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkuc2hvdWxk
VXNlUmVtb3RlUmVuZGVyaW5nRm9yV2ViR0woKSkKLSAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0g
ICAgVU5VU0VEX1ZBUklBQkxFKGhvc3RXaW5kb3dEaXNwbGF5SUQpOwotI2lmIFBMQVRGT1JNKENP
Q09BKSB8fCBQTEFURk9STShXSU4pCi0gICAgcmV0dXJuIFJlbW90ZUdyYXBoaWNzQ29udGV4dEdM
UHJveHk6OmNyZWF0ZShhdHRyaWJ1dGVzLCBtX3BhZ2UuZW5zdXJlUmVtb3RlUmVuZGVyaW5nQmFj
a2VuZFByb3h5KCkuZW5zdXJlQmFja2VuZENyZWF0ZWQoKSk7Ci0jZWxzZQotICAgIHJldHVybiBu
dWxscHRyOworI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgKFBMQVRGT1JNKENPQ09BKSB8fCBQ
TEFURk9STShXSU4pKQorICAgIGlmIChXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5zaG91bGRVc2VS
ZW1vdGVSZW5kZXJpbmdGb3JXZWJHTCgpKQorICAgICAgICByZXR1cm4gUmVtb3RlR3JhcGhpY3ND
b250ZXh0R0xQcm94eTo6Y3JlYXRlKGF0dHJpYnV0ZXMsIG1fcGFnZS5lbnN1cmVSZW1vdGVSZW5k
ZXJpbmdCYWNrZW5kUHJveHkoKS5lbnN1cmVCYWNrZW5kQ3JlYXRlZCgpKTsKICNlbmRpZgorICAg
IHJldHVybiBXZWJDb3JlOjpjcmVhdGVXZWJQcm9jZXNzR3JhcGhpY3NDb250ZXh0R0woYXR0cmli
dXRlcyk7CiB9Ci0KICNlbmRpZgogCi0jZW5kaWYgLy8gRU5BQkxFKEdQVV9QUk9DRVNTKQotCiB2
b2lkIFdlYkNocm9tZUNsaWVudDo6YXR0YWNoUm9vdEdyYXBoaWNzTGF5ZXIoRnJhbWUmLCBHcmFw
aGljc0xheWVyKiBsYXllcikKIHsKICAgICBpZiAobGF5ZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmggYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKaW5k
ZXggMmZlMzI5MDM0MzQ3Y2VkMjhmODEwNTdkYTNmZWMyMzMwN2FlNzA4NC4uODgyMDgzNTJjNjFh
OTMwOTNiNjkyZDhiNDkwN2VkYzhkMWQzMTgwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaApAQCAtMSw0
ICsxLDUgQEAKIC8qCisKICAqIENvcHlyaWdodCAoQykgMjAxMC0yMDIwIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAoQykgMjAxMCBOb2tpYSBDb3Jwb3JhdGlv
biBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykuCiAgKgpAQCAtMjQ3LDEwICsyNDgsMTAgQEAg
cHJpdmF0ZToKIAogI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykKICAgICBSZWZQdHI8V2ViQ29yZTo6
SW1hZ2VCdWZmZXI+IGNyZWF0ZUltYWdlQnVmZmVyKGNvbnN0IFdlYkNvcmU6OkZsb2F0U2l6ZSYs
IFdlYkNvcmU6OlJlbmRlcmluZ01vZGUsIFdlYkNvcmU6OlJlbmRlcmluZ1B1cnBvc2UsIGZsb2F0
IHJlc29sdXRpb25TY2FsZSwgY29uc3QgV2ViQ29yZTo6RGVzdGluYXRpb25Db2xvclNwYWNlJiwg
V2ViQ29yZTo6UGl4ZWxGb3JtYXQpIGNvbnN0IGZpbmFsOworI2VuZGlmCiAjaWYgRU5BQkxFKFdF
QkdMKQogICAgIFJlZlB0cjxXZWJDb3JlOjpHcmFwaGljc0NvbnRleHRHTD4gY3JlYXRlR3JhcGhp
Y3NDb250ZXh0R0woY29uc3QgV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0R0xBdHRyaWJ1dGVzJiwg
V2ViQ29yZTo6UGxhdGZvcm1EaXNwbGF5SUQgaG9zdFdpbmRvd0Rpc3BsYXlJRCkgY29uc3QgZmlu
YWw7CiAjZW5kaWYKLSNlbmRpZgogCiAKICAgICBDb21wb3NpdGluZ1RyaWdnZXJGbGFncyBhbGxv
d2VkQ29tcG9zaXRpbmdUcmlnZ2VycygpIGNvbnN0IGZpbmFsCg==
</data>
<flag name="commit-queue"
          id="470335"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>445197</attachid>
            <date>2021-11-26 06:02:14 -0800</date>
            <delta_ts>2021-11-26 06:33:11 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233517-20211126160212.patch</filename>
            <type>text/plain</type>
            <size>23009</size>
            <attacher name="Kimmo Kinnunen">kkinnunen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2MTY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTlmNGE2MzNjY2JjYjM2
NjBjYWRkOWE5YTVmYTQ4OTY4MDdmNzQzMS4uMjUzNmExMDNmNmZiYjBmN2JmNWE1OGE1YzEzMjQ4
Mzc2N2ViNTA4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDIxLTExLTI2ICBLaW1t
byBLaW5udW5lbiAgPGtraW5udW5lbkBhcHBsZS5jb20+CisKKyAgICAgICAgR1BVUCBHcmFwaGlj
c0NvbnRleHRHTCBjcmVhdGlvbiBmYWlsdXJlIGNhbm5vdCBiZSBkZXRlY3RlZAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMzNTE3CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQmVmb3JlLCBjb25jcmV0ZSBg
R3JhcGhpY3NDb250ZXh0R0xgIGluc3RhbmNlIHdhcyBjcmVhdGVkIHdpdGggYEdyYXBoaWNzQ29u
dGV4dEdMOjpjcmVhdGUoKWAKKyAgICAgICAgd2hpY2ggd291bGQgaW50ZXJuYWxseSB1c2UgaG9z
dCB3aW5kb3cgYXMgYSBmYWN0b3J5IGlmIHBvc3NpYmxlLiBJZiB0aGlzIHByb2R1Y2VkIG51bGws
IGl0IHdvdWxkCisgICAgICAgIGNyZWF0ZSB0aGUgImRlZmF1bHQiIEdyYXBoaWNzQ29udGV4dEdM
IHN1YmNsYXNzIGluc3RhbmNlLgorICAgICAgICBXaXRoIEdQVVAsIGl0IGRvZXMgbm90IG1ha2Ug
c2Vuc2UgdG8gY3JlYXRlICJkZWZhdWx0IiB0eXBlLCBhcyB0aGF0IGluLXByb2Nlc3MgY29udGV4
dHMgc2hvdWxkIG5ldmVyCisgICAgICAgIGJlIHVzZWQuCisgICAgICAgIEl0IGFsc28gZG9lcyBu
b3QgbWFrZSBzZW5zZSB0byBjcmVhdGUgImRlZmF1bHQiLCBhcyBpdCdzIHVuY2xlYXIgd2hhdCB0
aGUgImRlZmF1bHQiIHR5cGUgaXMuCisgICAgICAgIEluc3RlYWQsIHVzZSB0aGUgaG9zdCB3aW5k
b3csIGkuZS4gdGhlIGNocm9tZSBjbGllbnQsIHRvIGFsd2F5cyBjcmVhdGUgdGhlIEdyYXBoaWNz
Q29udGV4dEdMIGluc3RhbmNlCisgICAgICAgIHRvIFdlYkdMLiBJZiB0aGlzIGZhaWxzLCB0aGUg
V2ViR0wgc2hvdWxkIGJlIHVuYXZhaWxhYmxlLgorICAgICAgICBSZW1vdmUgR3JhcGhpY3NDb250
ZXh0R0w6OmNyZWF0ZSgpIGFzIHRoYXQgaXMgbm90IHVzZWZ1bC4gVGhlIGNhbGxlcnMgc2hvdWxk
IGVpdGhlcgorICAgICAgICBleHBsaWNpdGx5IHNwZWNpZnkgd2hhdCBzdWJjbGFzcyB0byB1c2Us
IGZvciBleGFtcGxlIGluIHRlc3RpbmcsIG9yIHVzZSB0aGUgcG9seW1vcmhwaWMgZmFjdG9yeQor
ICAgICAgICAoQ2hyb21lQ2xpZW50KSB3aGljaCBrbm93cyB0aGUgcG9saWN5LgorCisgICAgICAg
IEZpeCBhIGJ1ZyB3aGVyZSBHUFVQIFdlYkdMIHdvdWxkIHVzZSBpbi1wcm9jZXNzIGNvbnRleHQg
aWYgdGhlIGxvc3QgY29udGV4dCB3b3VsZCBiZSByZWNyZWF0ZWQuCisKKyAgICAgICAgTm8gbmV3
IHRlc3RzLCBhIHJlZmFjdG9yLgorCisgICAgICAgICogUGxhdGZvcm1NYWMuY21ha2U6CisgICAg
ICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGh0bWwv
Y2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
V2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6Oldl
YkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6Om1heWJlUmVzdG9yZUNvbnRleHQpOgorICAgICAgICAq
IHBhZ2UvQ2hyb21lQ2xpZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWVDbGllbnQ6OmNy
ZWF0ZUdyYXBoaWNzQ29udGV4dEdMIGNvbnN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9XZWJQcm9jZXNzR3JhcGhpY3NDb250ZXh0R0wuaDogQWRkZWQuCisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvY29jb2EvV2ViUHJvY2Vzc0dyYXBoaWNzQ29udGV4dEdMQ29jb2EubW06Cisg
ICAgICAgIChXZWJDb3JlOjpjcmVhdGVXZWJQcm9jZXNzR3JhcGhpY3NDb250ZXh0R0wpOgorICAg
ICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6OmNyZWF0ZSk6IERlbGV0ZWQu
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dEdMT3Bl
bkdMLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0dyYXBoaWNzQ29udGV4
dEdMVGV4dHVyZU1hcHBlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjcmVhdGVXZWJQcm9jZXNz
R3JhcGhpY3NDb250ZXh0R0wpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0R0xP
cGVuR0w6OmNyZWF0ZSk6IERlbGV0ZWQuCisgICAgICAgICogcGxhdGZvcm0veHIvb3BlbnhyL1Bs
YXRmb3JtWFJPcGVuWFIuY3BwOgorICAgICAgICAoUGxhdGZvcm1YUjo6T3BlblhSRGV2aWNlOjpp
bml0aWFsaXplVHJhY2tpbmdBbmRSZW5kZXJpbmcpOgorICAgICAgICAqIHRlc3RpbmcvV2ViRmFr
ZVhSRGV2aWNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNpbXVsYXRlZFhSRGV2aWNlOjppbml0
aWFsaXplVHJhY2tpbmdBbmRSZW5kZXJpbmcpOgorCiAyMDIxLTExLTI2ICBLaW1tbyBLaW5udW5l
biAgPGtraW5udW5lbkBhcHBsZS5jb20+CiAKICAgICAgICAgR3JhcGhpY3NDb250ZXh0R0xBTkdM
RS5jcHAgaGFzIHBsYXRmb3JtIHNwZWNpZmljIGNvZGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggNTc0OGRiZTI5ZWFi
Y2JlYzQyYjI0OWY4YzY1Y2UyNjQ4NzNiNjc1MS4uNDgxNGJmM2Y0Y2UwMzBjZDA1MTUzMzUyMDcz
MDNlNDMyZjQyZDhlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAyMS0xMS0yNiAgS2lt
bW8gS2lubnVuZW4gIDxra2lubnVuZW5AYXBwbGUuY29tPgorCisgICAgICAgIEdQVVAgR3JhcGhp
Y3NDb250ZXh0R0wgY3JlYXRpb24gZmFpbHVyZSBjYW5ub3QgYmUgZGV0ZWN0ZWQKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMzUxNworCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIElmIEdQVVAgYEdyYXBoaWNz
Q29udGV4dEdMYCBjcmVhdGlvbiBmYWlscywgcmV0dXJuIG51bGxwdHIgaW5zdGVhZCBvZgorICAg
ICAgICB0cnlpbmcgdG8gY3JlYXRlIGEgaW4tcHJvY2VzcyBjb250ZXh0LgorCisgICAgICAgIEVu
YWJsZSBgV2ViQ2hyb21lQ2xpZW50OjpjcmVhdGVHcmFwaGljc0NvbnRleHRHTCgpYCBjYWxsIGZv
ciBub24tR1BVIHByb2Nlc3MKKyAgICAgICAgY29tcGlsYXRpb24sIGFzIHRoZSBmdW5jdGlvbiBp
cyBub3cgYWx3YXlzIGNhbGxlZC4gUmV0dXJuaW5nIG51bGxwdHIgc2lnbmlmaWVzIGZhaWx1cmUK
KyAgICAgICAgdG8gY3JlYXRlIHRoZSBjb250ZXh0LCBub3QgYSBzaWduYWwgdG8gcmV0cnkgc29t
ZSBvdGhlciB0eXBlLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJD
aHJvbWVDbGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJDaHJvbWVDbGllbnQ6OmNyZWF0
ZUdyYXBoaWNzQ29udGV4dEdMIGNvbnN0KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVT
dXBwb3J0L1dlYkNocm9tZUNsaWVudC5oOgorCiAyMDIxLTExLTI1ICBLaW1tbyBLaW5udW5lbiAg
PGtraW5udW5lbkBhcHBsZS5jb20+CiAKICAgICAgICAgR3JhcGhpY3NDb250ZXh0R0wgaW1wbGVt
ZW50YXRpb25zIHNob3VsZCBoYXZlIHNlcGFyYXRlIGNsYXNzIGRlZmluaXRpb25zCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlIGIvU291cmNlL1dlYkNvcmUvSGVhZGVy
cy5jbWFrZQppbmRleCA5YjU3ODY5ZTY5MmNlYmRmNTUxMmQ1Yzk2ZjhjMTdhZjU2MWZmNzVmLi43
NzVjNzZmMTI1NzE4Mjc2OTg1NzNiOGZmYTQxZDdkOGMzZGUwODM1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21h
a2UKQEAgLTEzOTksNiArMTM5OSw3IEBAIHNldChXZWJDb3JlX1BSSVZBVEVfRlJBTUVXT1JLX0hF
QURFUlMKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9WaWRlb1BsYXliYWNrUXVhbGl0eU1ldHJpY3Mu
aAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL1ZpZGVvVHJhY2tQcml2YXRlLmgKICAgICBwbGF0Zm9y
bS9ncmFwaGljcy9WaWRlb1RyYWNrUHJpdmF0ZUNsaWVudC5oCisgICAgcGxhdGZvcm0vZ3JhcGhp
Y3MvV2ViUHJvY2Vzc0dyYXBoaWNzQ29udGV4dEdMLmgKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9X
aWR0aENhY2hlLmgKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9XaW5kUnVsZS5oCiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtTWFjLmNtYWtlIGIvU291cmNlL1dlYkNvcmUvUGxh
dGZvcm1NYWMuY21ha2UKaW5kZXggMWFmMDk1ZjlkOWNiZjA5NGM1OWFiMGE3NGE0YzU1OWIwNTgw
MTE4Ni4uNmZkYjAzMzMyMDg4MTcwMjg4N2U3YTFhYTNlOWU0YmQzNDZiODg0MCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1NYWMuY21ha2UKKysrIGIvU291cmNlL1dlYkNvcmUv
UGxhdGZvcm1NYWMuY21ha2UKQEAgLTYxMyw2ICs2MTMsNyBAQCBsaXN0KEFQUEVORCBXZWJDb3Jl
X1BSSVZBVEVfRlJBTUVXT1JLX0hFQURFUlMKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9JbWFnZVV0
aWxpdGllcy5oCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvTUlNRVR5cGVDYWNoZS5oCiAgICAgcGxh
dGZvcm0vZ3JhcGhpY3MvTW9kZWwuaAorICAgIHBsYXRmb3JtL2dyYXBoaWNzL1dlYlByb2Nlc3NH
cmFwaGljc0NvbnRleHRHTC5oCiAKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9hbmdsZS9BTkdMRVV0
aWxpdGllcy5oCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagppbmRleCBhMzg4ZTE5YTJjMTc3M2NhN2UzYTg5YmRkZjUzNjZiMTkyMjA2NThk
Li44NzU5MDhmZTA1ZmIyZjIxOGVmNWUzNDAxMDljZDU1ZmU5MDYwNGRjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0yMzY5LDYg
KzIzNjksNyBAQAogCQk3QkIzNEE0ODI1Mzc3NkNBMDAwMjlEMDggLyogR3JhcGhpY3NDb250ZXh0
R0xJbWFnZUV4dHJhY3Rvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gN0JCMzRBNDUyNTM3NzZDNjAwMDI5RDA4IC8qIEdyYXBoaWNzQ29udGV4dEdMSW1h
Z2VFeHRyYWN0b3IuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwogCQk3QkI2ODBCQTI1QkExQkU0MDAyQjg3MzggLyogR3JhcGhpY3NDaGVja3NNYWMuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdCQjY4MEI4MjVC
QTFCRTQwMDJCODczOCAvKiBHcmFwaGljc0NoZWNrc01hYy5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTdCRERBMzFGMjc0RkEwMjEwMDM4NjU5RSAv
KiBHcmFwaGljc0NvbnRleHRHTENvY29hLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA3QkREQTMxRDI3NEY5REE1MDAzODY1OUUgLyogR3JhcGhpY3NDb250
ZXh0R0xDb2NvYS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CisJCTdCRERBMzMyMjc1MEZDQ0QwMDM4NjU5RSAvKiBXZWJQcm9jZXNzR3JhcGhpY3NDb250
ZXh0R0wuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdC
RERBMzMwMjc1MEZDQ0MwMDM4NjU5RSAvKiBXZWJQcm9jZXNzR3JhcGhpY3NDb250ZXh0R0wuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3QkU3NDI3
MzgxRkE5MDZGQkI0RjBGMkMgLyogSlNTVkdHcmFwaGljc0VsZW1lbnQuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk1MEM0QzAyQkVEODkzNkY4MThFMkY5
OSAvKiBKU1NWR0dyYXBoaWNzRWxlbWVudC5oICovOyB9OwogCQk3QzAyOUM2RTI0OTNDOEY4MDAy
NjgyMDQgLyogQ29sb3JUeXBlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gN0MwMjlDNkQyNDkzQzhGODAwMjY4MjA0IC8qIENvbG9yVHlwZXMuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3QzE4NDNGRTFD
OEI3MjgzMDAyRUI5NzMgLyogQXV0b2ZpbGwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDdDMTg0M0ZDMUM4QjcyODMwMDJFQjk3MyAvKiBBdXRvZmlsbC5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0xMTA5
MCw2ICsxMTA5MSw3IEBACiAJCTdCQ0Q0MkRDMjcwNUM5NDkwMEVCMjEyNyAvKiBBTkdMRVV0aWxp
dGllc0NvY29hLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFOR0xFVXRpbGl0aWVzQ29jb2EuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0JEREEzMUMyNzRGOURBNDAwMzg2NTlFIC8qIEdyYXBo
aWNzQ29udGV4dEdMQ29jb2EubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBh
dGggPSBHcmFwaGljc0NvbnRleHRHTENvY29hLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk3QkREQTMxRDI3NEY5REE1MDAzODY1OUUgLyogR3JhcGhpY3NDb250ZXh0R0xDb2NvYS5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBHcmFwaGljc0NvbnRleHRHTENvY29h
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTdCRERBMzMwMjc1MEZDQ0MwMDM4NjU5
RSAvKiBXZWJQcm9jZXNzR3JhcGhpY3NDb250ZXh0R0wuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBuYW1lID0gV2ViUHJvY2Vzc0dyYXBoaWNzQ29udGV4dEdMLmg7IHBhdGggPSBwbGF0Zm9y
bS9ncmFwaGljcy9XZWJQcm9jZXNzR3JhcGhpY3NDb250ZXh0R0wuaDsgc291cmNlVHJlZSA9IFNP
VVJDRV9ST09UOyB9OwogCQk3QkU3MjY1QjI1NzYzQjhEMDBFODVEOTggLyogUmVtb3RlR3JhcGhp
Y3NDb250ZXh0R0xQcm94eUJhc2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVtb3RlR3JhcGhp
Y3NDb250ZXh0R0xQcm94eUJhc2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3
QzAxMUYzRDI0RkFEMzYwMDA1QkVGMTAgLyogU2V0dGluZ3MuY3BwLmVyYiAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBTZXR0aW5n
cy5jcHAuZXJiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3QzAxMUYzRTI0RkFEMzYw
MDA1QkVGMTAgLyogSW50ZXJuYWxTZXR0aW5nc0dlbmVyYXRlZC5jcHAuZXJiICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEludGVy
bmFsU2V0dGluZ3NHZW5lcmF0ZWQuY3BwLmVyYjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
QEAgLTIzNTE0LDYgKzIzNTE2LDcgQEAKIAkJCQk2RTI3RjI0MjIyOThDRTRCMDBGMUY2MzIgLyog
R3JhcGhpY3NDb250ZXh0R0xBTkdMRS5jcHAgKi8sCiAJCQkJNkUyOTA4NjEyMjlEQjk1MDAwMDk4
NkUyIC8qIFRlbXBvcmFyeUFOR0xFU2V0dGluZy5jcHAgKi8sCiAJCQkJNkUyOTA4NjMyMjlEQjk3
MDAwMDk4NkUyIC8qIFRlbXBvcmFyeUFOR0xFU2V0dGluZy5oICovLAorCQkJCTdCRERBMzMwMjc1
MEZDQ0MwMDM4NjU5RSAvKiBXZWJQcm9jZXNzR3JhcGhpY3NDb250ZXh0R0wuaCAqLywKIAkJCSk7
CiAJCQlwYXRoID0gYW5nbGU7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwpAQCAtMzY5ODks
NiArMzY5OTIsNyBAQAogCQkJCTA3MDlENzkzMUFFNTU1N0UwMDRFNDJGOCAvKiBXZWJNZWRpYVNl
c3Npb25NYW5hZ2VyTWFjLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMUEzMTYyRDEzNEJDMzJEMDA3
QzlBNEYgLyogV2ViTlNBdHRyaWJ1dGVkU3RyaW5nRXh0cmFzLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlDRDU4OTZFMjFDRDJCMTUxMDBCM0JDQzggLyogV2ViUGxheWJhY2tDb250cm9sc01hbmFnZXIu
aCBpbiBIZWFkZXJzICovLAorCQkJCTdCRERBMzMyMjc1MEZDQ0QwMDM4NjU5RSAvKiBXZWJQcm9j
ZXNzR3JhcGhpY3NDb250ZXh0R0wuaCBpbiBIZWFkZXJzICovLAogCQkJCTFDQUYzNDgxMEE2QzQw
NTIwMEFCRTA2RSAvKiBXZWJTY3JpcHRPYmplY3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTFDQUYz
NDgzMEE2QzQwNTIwMEFCRTA2RSAvKiBXZWJTY3JpcHRPYmplY3RQcml2YXRlLmggaW4gSGVhZGVy
cyAqLywKIAkJCQkxQTU2OUQxQjBEN0UyQjgyMDA3QzM5ODMgLyogV2ViU2NyaXB0T2JqZWN0UHJv
dG9jb2wuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmNwcAppbmRleCAzMzkyNWJjNmFjOGQ4
N2I0MTA2YjA2MzFlZDM0MjkwMzlhNzhhZmU0Li5mZWQxZjIyODdhNzMzNjIwZTg2ZGE0ZjkxMWZm
YWFlYTZiMjNhOTJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJH
TFJlbmRlcmluZ0NvbnRleHRCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZh
cy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmNwcApAQCAtNTUsNiArNTUsNyBAQAogI2luY2x1
ZGUgIkhUTUxDYW52YXNFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTEltYWdlRWxlbWVudC5oIgog
I2luY2x1ZGUgIkhUTUxWaWRlb0VsZW1lbnQuaCIKKyNpbmNsdWRlICJIb3N0V2luZG93LmgiCiAj
aW5jbHVkZSAiSW1hZ2VCaXRtYXAuaCIKICNpbmNsdWRlICJJbWFnZUJ1ZmZlci5oIgogI2luY2x1
ZGUgIkltYWdlRGF0YS5oIgpAQCAtODU5LDcgKzg2MCw3IEBAIHN0ZDo6dW5pcXVlX3B0cjxXZWJH
TFJlbmRlcmluZ0NvbnRleHRCYXNlPiBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpjcmVhdGUo
Q2FuCiAgICAgICAgIHJlbmRlcmluZ0NvbnRleHQtPnN1c3BlbmRJZk5lZWRlZCgpOwogICAgICAg
ICByZXR1cm4gcmVuZGVyaW5nQ29udGV4dDsKICAgICB9Ci0gICAgYXV0byBjb250ZXh0ID0gR3Jh
cGhpY3NDb250ZXh0R0w6OmNyZWF0ZShhdHRyaWJ1dGVzLCBob3N0V2luZG93KTsKKyAgICBhdXRv
IGNvbnRleHQgPSBob3N0V2luZG93LT5jcmVhdGVHcmFwaGljc0NvbnRleHRHTChhdHRyaWJ1dGVz
KTsKICAgICBpZiAoIWNvbnRleHQpIHsKICAgICAgICAgaWYgKGNhbnZhc0VsZW1lbnQpIHsKICAg
ICAgICAgICAgIGNhbnZhc0VsZW1lbnQtPmRpc3BhdGNoRXZlbnQoV2ViR0xDb250ZXh0RXZlbnQ6
OmNyZWF0ZShldmVudE5hbWVzKCkud2ViZ2xjb250ZXh0Y3JlYXRpb25lcnJvckV2ZW50LApAQCAt
Nzc1NSw3ICs3NzU2LDcgQEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjptYXliZVJl
c3RvcmVDb250ZXh0KCkKICAgICBpZiAoIWhvc3RXaW5kb3cpCiAgICAgICAgIHJldHVybjsKIAot
ICAgIFJlZlB0cjxHcmFwaGljc0NvbnRleHRHTD4gY29udGV4dChHcmFwaGljc0NvbnRleHRHTE9w
ZW5HTDo6Y3JlYXRlKG1fYXR0cmlidXRlcywgaG9zdFdpbmRvdykpOworICAgIFJlZlB0cjxHcmFw
aGljc0NvbnRleHRHTD4gY29udGV4dCA9IGhvc3RXaW5kb3ctPmNyZWF0ZUdyYXBoaWNzQ29udGV4
dEdMKG1fYXR0cmlidXRlcyk7CiAgICAgaWYgKCFjb250ZXh0KSB7CiAgICAgICAgIGlmIChtX2Nv
bnRleHRMb3N0TW9kZSA9PSBSZWFsTG9zdENvbnRleHQpCiAgICAgICAgICAgICBtX3Jlc3RvcmVU
aW1lci5zdGFydE9uZVNob3Qoc2Vjb25kc0JldHdlZW5SZXN0b3JlQXR0ZW1wdHMpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvQ2hyb21lQ2xpZW50LmgKaW5kZXggZjIzOTE0NTcwNmQwYjE5MDU0MTBhZDhlNjZjZmU5
OTAwY2RjNzZlZS4uYzRiNDY3Mjg5NjVlYzc3ZGNmZDRiZjE1Y2VlZjQ5ZWRmY2ExYTQ0MiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCkBAIC04Niw2ICs4NiwxMCBAQCBjbGFzcyBIVE1M
TW9kZWxFbGVtZW50OwogI2luY2x1ZGUgIlBsYXRmb3JtWFIuaCIKICNlbmRpZgogCisjaWYgRU5B
QkxFKFdFQkdMKQorI2luY2x1ZGUgIldlYlByb2Nlc3NHcmFwaGljc0NvbnRleHRHTC5oIgorI2Vu
ZGlmCisKIE9CSkNfQ0xBU1MgTlNSZXNwb25kZXI7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAg
LTM1Myw3ICszNTcsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBSZWZQdHI8SW1hZ2VCdWZmZXI+
IGNyZWF0ZUltYWdlQnVmZmVyKGNvbnN0IEZsb2F0U2l6ZSYsIFJlbmRlcmluZ01vZGUsIFJlbmRl
cmluZ1B1cnBvc2UsIGZsb2F0LCBjb25zdCBEZXN0aW5hdGlvbkNvbG9yU3BhY2UmLCBQaXhlbEZv
cm1hdCkgY29uc3QgeyByZXR1cm4gbnVsbHB0cjsgfQogCiAjaWYgRU5BQkxFKFdFQkdMKQotICAg
IHZpcnR1YWwgUmVmUHRyPEdyYXBoaWNzQ29udGV4dEdMPiBjcmVhdGVHcmFwaGljc0NvbnRleHRH
TChjb25zdCBHcmFwaGljc0NvbnRleHRHTEF0dHJpYnV0ZXMmLCBXZWJDb3JlOjpQbGF0Zm9ybURp
c3BsYXlJRCkgY29uc3QgeyByZXR1cm4gbnVsbHB0cjsgfQorICAgIHZpcnR1YWwgUmVmUHRyPEdy
YXBoaWNzQ29udGV4dEdMPiBjcmVhdGVHcmFwaGljc0NvbnRleHRHTChjb25zdCBHcmFwaGljc0Nv
bnRleHRHTEF0dHJpYnV0ZXMmIGF0dHJpYnV0ZXMsIFdlYkNvcmU6OlBsYXRmb3JtRGlzcGxheUlE
KSBjb25zdCB7IHJldHVybiBjcmVhdGVXZWJQcm9jZXNzR3JhcGhpY3NDb250ZXh0R0woYXR0cmli
dXRlcyk7IH0KICNlbmRpZgogCiAgICAgLy8gUGFzcyBudWxscHRyIGFzIHRoZSBHcmFwaGljc0xh
eWVyIHRvIGRldGF0Y2ggdGhlIHJvb3QgbGF5ZXIuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9XZWJQcm9jZXNzR3JhcGhpY3NDb250ZXh0R0wuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1dlYlByb2Nlc3NHcmFwaGljc0NvbnRleHRHTC5o
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjlmMTM5MzliZTYwOWI3MmMzZGU1OWQzMmQ5YmZlNDlkZjYwYjYzODEKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9XZWJQcm9j
ZXNzR3JhcGhpY3NDb250ZXh0R0wuaApAQCAtMCwwICsxLDQxIEBACisKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5E
IEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICog
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJM
RShXRUJHTCkKKworI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dEdMLmgiCisKKyNpbmNsdWRlIDx3
dGYvUmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1dFQkNPUkVfRVhQT1JU
IFJlZlB0cjxHcmFwaGljc0NvbnRleHRHTD4gY3JlYXRlV2ViUHJvY2Vzc0dyYXBoaWNzQ29udGV4
dEdMKGNvbnN0IEdyYXBoaWNzQ29udGV4dEdMQXR0cmlidXRlcyYpOworCit9CisKKyNlbmRpZgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViUHJv
Y2Vzc0dyYXBoaWNzQ29udGV4dEdMQ29jb2EubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jb2NvYS9XZWJQcm9jZXNzR3JhcGhpY3NDb250ZXh0R0xDb2NvYS5tbQppbmRleCA4
NWY0OTdhMzc0NjY2MDAzZjc5ZDAwMmQ2ZDlkNWQxMzIzMmRiNjJiLi5jMzEyYzZmZjg3YzhhMzUz
ODcwMGIyM2I5YWRkMDJlZWZkMDk1M2UwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJQcm9jZXNzR3JhcGhpY3NDb250ZXh0R0xDb2NvYS5tbQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJQcm9jZXNzR3Jh
cGhpY3NDb250ZXh0R0xDb2NvYS5tbQpAQCAtMjUsNiArMjUsNyBAQAogICovCiAKICNpbXBvcnQg
ImNvbmZpZy5oIgorI2ltcG9ydCAiV2ViUHJvY2Vzc0dyYXBoaWNzQ29udGV4dEdMLmgiCiAKICNp
ZiBFTkFCTEUoV0VCR0wpCiAjaW1wb3J0ICJHcmFwaGljc0NvbnRleHRHTENvY29hLmgiIC8vIE5P
TElOVApAQCAtNjMsNyArNjQsNyBAQCBwcml2YXRlOgogICAgIH0KICAgICBSZXRhaW5QdHI8V2Vi
R0xMYXllcj4gbV93ZWJHTExheWVyOwogCi0gICAgZnJpZW5kIGNsYXNzIEdyYXBoaWNzQ29udGV4
dEdMT3BlbkdMOworICAgIGZyaWVuZCBSZWZQdHI8R3JhcGhpY3NDb250ZXh0R0w+IFdlYkNvcmU6
OmNyZWF0ZVdlYlByb2Nlc3NHcmFwaGljc0NvbnRleHRHTChjb25zdCBHcmFwaGljc0NvbnRleHRH
TEF0dHJpYnV0ZXMmKTsKIH07CiAKIHZvaWQgV2ViUHJvY2Vzc0dyYXBoaWNzQ29udGV4dEdMQ29j
b2E6OnByZXBhcmVGb3JEaXNwbGF5KCkKQEAgLTgwLDE5ICs4MSwxOSBAQCB2b2lkIFdlYlByb2Nl
c3NHcmFwaGljc0NvbnRleHRHTENvY29hOjpwcmVwYXJlRm9yRGlzcGxheSgpCiAKIH0KIAotUmVm
UHRyPEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMPiBHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6Y3Jl
YXRlKEdyYXBoaWNzQ29udGV4dEdMQXR0cmlidXRlcyBhdHRyaWJ1dGVzLCBIb3N0V2luZG93KikK
K1JlZlB0cjxHcmFwaGljc0NvbnRleHRHTD4gY3JlYXRlV2ViUHJvY2Vzc0dyYXBoaWNzQ29udGV4
dEdMKGNvbnN0IEdyYXBoaWNzQ29udGV4dEdMQXR0cmlidXRlcyYgYXR0cmlidXRlcykKIHsKICAg
ICAvLyBNYWtlIHNwYWNlIGZvciB0aGUgaW5jb21pbmcgY29udGV4dCBpZiB3ZSdyZSBmdWxsLgog
ICAgIEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMTWFuYWdlcjo6c2hhcmVkTWFuYWdlcigpLnJlY3lj
bGVDb250ZXh0SWZOZWNlc3NhcnkoKTsKICAgICBpZiAoR3JhcGhpY3NDb250ZXh0R0xPcGVuR0xN
YW5hZ2VyOjpzaGFyZWRNYW5hZ2VyKCkuaGFzVG9vTWFueUNvbnRleHRzKCkpCiAgICAgICAgIHJl
dHVybiBudWxscHRyOwotICAgIGF1dG8gY29udGV4dCA9IGFkb3B0UmVmKG5ldyBXZWJQcm9jZXNz
R3JhcGhpY3NDb250ZXh0R0xDb2NvYShXVEZNb3ZlKGF0dHJpYnV0ZXMpKSk7CisgICAgYXV0byBj
b250ZXh0ID0gYWRvcHRSZWYobmV3IFdlYlByb2Nlc3NHcmFwaGljc0NvbnRleHRHTENvY29hKEdy
YXBoaWNzQ29udGV4dEdMQXR0cmlidXRlcyB7IGF0dHJpYnV0ZXMgfSkpOwogICAgIGlmICghY29u
dGV4dC0+aXNWYWxpZCgpKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICBHcmFwaGljc0Nv
bnRleHRHTE9wZW5HTE1hbmFnZXI6OnNoYXJlZE1hbmFnZXIoKS5hZGRDb250ZXh0KGNvbnRleHQu
Z2V0KCkpOwotCiAgICAgcmV0dXJuIGNvbnRleHQ7CiB9CisKIH0KIAogI2VuZGlmCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvR3JhcGhpY3NDb250
ZXh0R0xPcGVuR0wuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9H
cmFwaGljc0NvbnRleHRHTE9wZW5HTC5oCmluZGV4IDI5NGMwYzZhZWE0NjMxNjIyZTA1N2IwM2U5
ZjljZjhmNWNjMGZmMzcuLjZjODFlYTdhODg5NTQwZDUzZTA2NWQ0NTM0YjQ2OTU2ZjIwY2ZhMWYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFw
aGljc0NvbnRleHRHTE9wZW5HTC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL29wZW5nbC9HcmFwaGljc0NvbnRleHRHTE9wZW5HTC5oCkBAIC0xMDAsNyArMTAwLDYgQEAg
dHlwZWRlZiBIYXNoTWFwPENTdHJpbmcsIHVpbnQ2NF90PiBTaGFkZXJOYW1lSGFzaDsKIGNsYXNz
IFdFQkNPUkVfRVhQT1JUIEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMIDogcHVibGljIEdyYXBoaWNz
Q29udGV4dEdMCiB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFJlZlB0cjxHcmFwaGljc0NvbnRleHRH
TE9wZW5HTD4gY3JlYXRlKEdyYXBoaWNzQ29udGV4dEdMQXR0cmlidXRlcywgSG9zdFdpbmRvdyop
OwogICAgIHZpcnR1YWwgfkdyYXBoaWNzQ29udGV4dEdMT3BlbkdMKCk7CiAgICAgUGxhdGZvcm1M
YXllciogcGxhdGZvcm1MYXllcigpIGNvbnN0IG92ZXJyaWRlOwogI2lmIFVTRShBTkdMRSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9HcmFwaGlj
c0NvbnRleHRHTFRleHR1cmVNYXBwZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvdGV4bWFwL0dyYXBoaWNzQ29udGV4dEdMVGV4dHVyZU1hcHBlci5jcHAKaW5kZXggYTc3
MWYwN2EwMmVkNDRhNjdlMDgyZDQ4MTE2OGJmNTg4ZGZkY2ExMC4uNWQ1NTk2ZjA5Y2QyMmJlMDFh
N2E1ZjZkYzk1ODgwZTE0MjJiYmYxOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvdGV4bWFwL0dyYXBoaWNzQ29udGV4dEdMVGV4dHVyZU1hcHBlci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0dyYXBoaWNzQ29udGV4
dEdMVGV4dHVyZU1hcHBlci5jcHAKQEAgLTM1LDYgKzM1LDcgQEAKICNpbmNsdWRlICJHcmFwaGlj
c0NvbnRleHRHTE9wZW5HTE1hbmFnZXIuaCIKICNpbmNsdWRlICJQaXhlbEJ1ZmZlci5oIgogI2lu
Y2x1ZGUgIlRleHR1cmVNYXBwZXJHQ0dMUGxhdGZvcm1MYXllci5oIgorI2luY2x1ZGUgIldlYlBy
b2Nlc3NHcmFwaGljc0NvbnRleHRHTC5oIgogI2luY2x1ZGUgPHd0Zi9EZXF1ZS5oPgogI2luY2x1
ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgogCkBAIC05Myw3ICs5NCw3IEBAIEdyYXBoaWNzQ29u
dGV4dEdMVGV4dHVyZU1hcHBlcjo6R3JhcGhpY3NDb250ZXh0R0xUZXh0dXJlTWFwcGVyKEdyYXBo
aWNzQ29udGV4dEdMCiAKIC8vIEZJWE1FOiBCZWxvdyBmdW5jdGlvbmFsaXR5IHNob3VsZCBiZSBt
b3ZlZCB0byBHcmFwaGljc0NvbnRleHRHTFRleHR1cmVNYXBwZXIgdG8gc2ltcGxpZnkgdGhlIGJh
c2UgY2xhc3MuCiAKLVJlZlB0cjxHcmFwaGljc0NvbnRleHRHTE9wZW5HTD4gR3JhcGhpY3NDb250
ZXh0R0xPcGVuR0w6OmNyZWF0ZShHcmFwaGljc0NvbnRleHRHTEF0dHJpYnV0ZXMgYXR0cmlidXRl
cywgSG9zdFdpbmRvdyopCitSZWZQdHI8R3JhcGhpY3NDb250ZXh0R0w+IGNyZWF0ZVdlYlByb2Nl
c3NHcmFwaGljc0NvbnRleHRHTChjb25zdCBHcmFwaGljc0NvbnRleHRHTEF0dHJpYnV0ZXMmIGF0
dHJpYnV0ZXMpCiB7CiAgICAgc3RhdGljIGJvb2wgaW5pdGlhbGl6ZWQgPSBmYWxzZTsKICAgICBz
dGF0aWMgYm9vbCBzdWNjZXNzID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL3hyL29wZW54ci9QbGF0Zm9ybVhST3BlblhSLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL3hyL29wZW54ci9QbGF0Zm9ybVhST3BlblhSLmNwcAppbmRleCAyZDk1ZWEzM2ViNjI1
N2Q1ZWEyMjRkNTBhYjE2MDYyNGYzYzA1YTg1Li5jNTJkMjZhYzk0YWRlZGEwNDkyOTU1N2Y5ZjA4
MmQwNzUzYmI3YzBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS94ci9vcGVu
eHIvUGxhdGZvcm1YUk9wZW5YUi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0veHIv
b3BlbnhyL1BsYXRmb3JtWFJPcGVuWFIuY3BwCkBAIC0yNSw3ICsyNSw3IEBACiAjaW5jbHVkZSAi
T3BlblhSRXh0ZW5zaW9ucy5oIgogI2luY2x1ZGUgIk9wZW5YUklucHV0LmgiCiAjaW5jbHVkZSAi
T3BlblhSSW5wdXRTb3VyY2UuaCIKLQorI2luY2x1ZGUgIldlYlByb2Nlc3NHcmFwaGljc0NvbnRl
eHRHTC5oIgogI2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgogI2luY2x1ZGUgPHd0Zi90
aHJlYWRzL0JpbmFyeVNlbWFwaG9yZS5oPgogCkBAIC0xMTQsNyArMTE0LDcgQEAgdm9pZCBPcGVu
WFJEZXZpY2U6OmluaXRpYWxpemVUcmFja2luZ0FuZFJlbmRlcmluZyhTZXNzaW9uTW9kZSBtb2Rl
KQogICAgICAgICBhdHRyaWJ1dGVzLnN0ZW5jaWwgPSBmYWxzZTsKICAgICAgICAgYXR0cmlidXRl
cy5hbnRpYWxpYXMgPSBmYWxzZTsKIAotICAgICAgICBtX2dsID0gR3JhcGhpY3NDb250ZXh0R0w6
OmNyZWF0ZShhdHRyaWJ1dGVzLCBudWxscHRyKTsKKyAgICAgICAgbV9nbCA9IGNyZWF0ZVdlYlBy
b2Nlc3NHcmFwaGljc0NvbnRleHRHTChhdHRyaWJ1dGVzKTsKICAgICAgICAgaWYgKCFtX2dsKSB7
CiAgICAgICAgICAgICBMT0coWFIsICJGYWlsZWQgdG8gY3JlYXRlIGEgdmFsaWQgR3JhcGhpY3ND
b250ZXh0R0wiKTsKICAgICAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvV2ViRmFrZVhSRGV2aWNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
V2ViRmFrZVhSRGV2aWNlLmNwcAppbmRleCA2MjFkZTZiN2VkYTdjZjc3ODQ4NzgzM2MxZDJiNGM3
NGEzYzMyMzZhLi44NWRlYTNlNzQwZjZmMDA4NGQzOTRlM2MzYjNiZjllMWRiNjg3Yjk3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL1dlYkZha2VYUkRldmljZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9XZWJGYWtlWFJEZXZpY2UuY3BwCkBAIC0zMiw2ICszMiw3
IEBACiAjaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0R0wuaCIKICNpbmNsdWRlICJKU0RPTVByb21p
c2VEZWZlcnJlZC5oIgogI2luY2x1ZGUgIldlYkZha2VYUklucHV0Q29udHJvbGxlci5oIgorI2lu
Y2x1ZGUgIldlYlByb2Nlc3NHcmFwaGljc0NvbnRleHRHTC5oIgogI2luY2x1ZGUgPHd0Zi9Db21w
bGV0aW9uSGFuZGxlci5oPgogI2luY2x1ZGUgPHd0Zi9NYXRoRXh0cmFzLmg+CiAKQEAgLTEwOSw3
ICsxMTAsNyBAQCB2b2lkIFNpbXVsYXRlZFhSRGV2aWNlOjppbml0aWFsaXplVHJhY2tpbmdBbmRS
ZW5kZXJpbmcoUGxhdGZvcm1YUjo6U2Vzc2lvbk1vZGUpCiAgICAgYXR0cmlidXRlcy5kZXB0aCA9
IGZhbHNlOwogICAgIGF0dHJpYnV0ZXMuc3RlbmNpbCA9IGZhbHNlOwogICAgIGF0dHJpYnV0ZXMu
YW50aWFsaWFzID0gZmFsc2U7Ci0gICAgbV9nbCA9IEdyYXBoaWNzQ29udGV4dEdMOjpjcmVhdGUo
YXR0cmlidXRlcywgbnVsbHB0cik7CisgICAgbV9nbCA9IGNyZWF0ZVdlYlByb2Nlc3NHcmFwaGlj
c0NvbnRleHRHTChhdHRyaWJ1dGVzKTsKIAogICAgIGlmIChtX3RyYWNraW5nQW5kUmVuZGVyaW5n
Q2xpZW50KSB7CiAgICAgICAgIC8vIFdlYlhSIEZha2VEZXZpY2Ugd2FpdHMgZm9yIHNpbXVsYXRl
SW5wdXRDb25uZWN0aW9uIGNhbGxzIHRvIGFkZCBpbnB1dCBzb3VyY2VzLQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5j
cHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xp
ZW50LmNwcAppbmRleCA0MzZhNWE1MjAzNWEwNjU3NTg5YzBlOTBiMDg0MmM0MzM2NTgxZTNkLi4w
YTNhNjI2Yjg3YjQ5NzlhMGFkMzcwZjliOTgxODc2ZDAyZDgwNjQ5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xp
ZW50LmNwcApAQCAtMTE3LDEwICsxMTcsMTQgQEAKICNpbmNsdWRlIDxXZWJDb3JlL01vY2tXZWJB
dXRoZW50aWNhdGlvbkNvbmZpZ3VyYXRpb24uaD4KICNlbmRpZgogCi0jaWYgUExBVEZPUk0oQ09D
T0EpIHx8IFBMQVRGT1JNKFdJTikKKyNpZiBFTkFCTEUoV0VCR0wpICYmIEVOQUJMRShHUFVfUFJP
Q0VTUykgJiYgKFBMQVRGT1JNKENPQ09BKSB8fCBQTEFURk9STShXSU4pKQogI2luY2x1ZGUgIlJl
bW90ZUdyYXBoaWNzQ29udGV4dEdMUHJveHkuaCIKICNlbmRpZgogCisjaWYgRU5BQkxFKFdFQkdM
KQorI2luY2x1ZGUgPFdlYkNvcmUvV2ViUHJvY2Vzc0dyYXBoaWNzQ29udGV4dEdMLmg+CisjZW5k
aWYKKwogI2lmIFBMQVRGT1JNKE1BQykKICNpbmNsdWRlICJUaWxlZENvcmVBbmltYXRpb25TY3Jv
bGxpbmdDb29yZGluYXRvci5oIgogI2VuZGlmCkBAIC05MjEsNyArOTI1LDYgQEAgV2ViQ29yZTo6
RGlzcGxheVJlZnJlc2hNb25pdG9yRmFjdG9yeSogV2ViQ2hyb21lQ2xpZW50OjpkaXNwbGF5UmVm
cmVzaE1vbml0b3JGYWMKIH0KIAogI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykKLQogUmVmUHRyPElt
YWdlQnVmZmVyPiBXZWJDaHJvbWVDbGllbnQ6OmNyZWF0ZUltYWdlQnVmZmVyKGNvbnN0IEZsb2F0
U2l6ZSYgc2l6ZSwgUmVuZGVyaW5nTW9kZSByZW5kZXJpbmdNb2RlLCBSZW5kZXJpbmdQdXJwb3Nl
IHB1cnBvc2UsIGZsb2F0IHJlc29sdXRpb25TY2FsZSwgY29uc3QgRGVzdGluYXRpb25Db2xvclNw
YWNlJiBjb2xvclNwYWNlLCBQaXhlbEZvcm1hdCBwaXhlbEZvcm1hdCkgY29uc3QKIHsKICAgICBp
ZiAoIVdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLnNob3VsZFVzZVJlbW90ZVJlbmRlcmluZ0Zvcihw
dXJwb3NlKSkKQEAgLTkyOSwyNSArOTMyLDE5IEBAIFJlZlB0cjxJbWFnZUJ1ZmZlcj4gV2ViQ2hy
b21lQ2xpZW50OjpjcmVhdGVJbWFnZUJ1ZmZlcihjb25zdCBGbG9hdFNpemUmIHNpemUsIFJlCiAK
ICAgICByZXR1cm4gbV9wYWdlLmVuc3VyZVJlbW90ZVJlbmRlcmluZ0JhY2tlbmRQcm94eSgpLmNy
ZWF0ZUltYWdlQnVmZmVyKHNpemUsIHJlbmRlcmluZ01vZGUsIHJlc29sdXRpb25TY2FsZSwgY29s
b3JTcGFjZSwgcGl4ZWxGb3JtYXQpOwogfQorI2VuZGlmCiAKICNpZiBFTkFCTEUoV0VCR0wpCi0K
LVJlZlB0cjxHcmFwaGljc0NvbnRleHRHTD4gV2ViQ2hyb21lQ2xpZW50OjpjcmVhdGVHcmFwaGlj
c0NvbnRleHRHTChjb25zdCBHcmFwaGljc0NvbnRleHRHTEF0dHJpYnV0ZXMmIGF0dHJpYnV0ZXMs
IFBsYXRmb3JtRGlzcGxheUlEIGhvc3RXaW5kb3dEaXNwbGF5SUQpIGNvbnN0CitSZWZQdHI8R3Jh
cGhpY3NDb250ZXh0R0w+IFdlYkNocm9tZUNsaWVudDo6Y3JlYXRlR3JhcGhpY3NDb250ZXh0R0wo
Y29uc3QgR3JhcGhpY3NDb250ZXh0R0xBdHRyaWJ1dGVzJiBhdHRyaWJ1dGVzLCBQbGF0Zm9ybURp
c3BsYXlJRCkgY29uc3QKIHsKLSAgICBpZiAoIVdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLnNob3Vs
ZFVzZVJlbW90ZVJlbmRlcmluZ0ZvcldlYkdMKCkpCi0gICAgICAgIHJldHVybiBudWxscHRyOwot
ICAgIFVOVVNFRF9WQVJJQUJMRShob3N0V2luZG93RGlzcGxheUlEKTsKLSNpZiBQTEFURk9STShD
T0NPQSkgfHwgUExBVEZPUk0oV0lOKQotICAgIHJldHVybiBSZW1vdGVHcmFwaGljc0NvbnRleHRH
TFByb3h5OjpjcmVhdGUoYXR0cmlidXRlcywgbV9wYWdlLmVuc3VyZVJlbW90ZVJlbmRlcmluZ0Jh
Y2tlbmRQcm94eSgpLmVuc3VyZUJhY2tlbmRDcmVhdGVkKCkpOwotI2Vsc2UKLSAgICByZXR1cm4g
bnVsbHB0cjsKKyNpZiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIChQTEFURk9STShDT0NPQSkgfHwg
UExBVEZPUk0oV0lOKSkKKyAgICBpZiAoV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkuc2hvdWxkVXNl
UmVtb3RlUmVuZGVyaW5nRm9yV2ViR0woKSkKKyAgICAgICAgcmV0dXJuIFJlbW90ZUdyYXBoaWNz
Q29udGV4dEdMUHJveHk6OmNyZWF0ZShhdHRyaWJ1dGVzLCBtX3BhZ2UuZW5zdXJlUmVtb3RlUmVu
ZGVyaW5nQmFja2VuZFByb3h5KCkuZW5zdXJlQmFja2VuZENyZWF0ZWQoKSk7CiAjZW5kaWYKKyAg
ICByZXR1cm4gV2ViQ29yZTo6Y3JlYXRlV2ViUHJvY2Vzc0dyYXBoaWNzQ29udGV4dEdMKGF0dHJp
YnV0ZXMpOwogfQotCiAjZW5kaWYKIAotI2VuZGlmIC8vIEVOQUJMRShHUFVfUFJPQ0VTUykKLQog
dm9pZCBXZWJDaHJvbWVDbGllbnQ6OmF0dGFjaFJvb3RHcmFwaGljc0xheWVyKEZyYW1lJiwgR3Jh
cGhpY3NMYXllciogbGF5ZXIpCiB7CiAgICAgaWYgKGxheWVyKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCmlu
ZGV4IDJmZTMyOTAzNDM0N2NlZDI4ZjgxMDU3ZGEzZmVjMjMzMDdhZTcwODQuLjg4MjA4MzUyYzYx
YTkzMDkzYjY5MmQ4YjQ5MDdlZGM4ZDFkMzE4MGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKQEAgLTEs
NCArMSw1IEBACiAvKgorCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTAtMjAyMCBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTAgTm9raWEgQ29ycG9yYXRp
b24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpLgogICoKQEAgLTI0NywxMCArMjQ4LDEwIEBA
IHByaXZhdGU6CiAKICNpZiBFTkFCTEUoR1BVX1BST0NFU1MpCiAgICAgUmVmUHRyPFdlYkNvcmU6
OkltYWdlQnVmZmVyPiBjcmVhdGVJbWFnZUJ1ZmZlcihjb25zdCBXZWJDb3JlOjpGbG9hdFNpemUm
LCBXZWJDb3JlOjpSZW5kZXJpbmdNb2RlLCBXZWJDb3JlOjpSZW5kZXJpbmdQdXJwb3NlLCBmbG9h
dCByZXNvbHV0aW9uU2NhbGUsIGNvbnN0IFdlYkNvcmU6OkRlc3RpbmF0aW9uQ29sb3JTcGFjZSYs
IFdlYkNvcmU6OlBpeGVsRm9ybWF0KSBjb25zdCBmaW5hbDsKKyNlbmRpZgogI2lmIEVOQUJMRShX
RUJHTCkKICAgICBSZWZQdHI8V2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0R0w+IGNyZWF0ZUdyYXBo
aWNzQ29udGV4dEdMKGNvbnN0IFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dEdMQXR0cmlidXRlcyYs
IFdlYkNvcmU6OlBsYXRmb3JtRGlzcGxheUlEIGhvc3RXaW5kb3dEaXNwbGF5SUQpIGNvbnN0IGZp
bmFsOwogI2VuZGlmCi0jZW5kaWYKIAogCiAgICAgQ29tcG9zaXRpbmdUcmlnZ2VyRmxhZ3MgYWxs
b3dlZENvbXBvc2l0aW5nVHJpZ2dlcnMoKSBjb25zdCBmaW5hbAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>445199</attachid>
            <date>2021-11-26 06:33:17 -0800</date>
            <delta_ts>2021-11-29 01:57:43 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233517-20211126163315.patch</filename>
            <type>text/plain</type>
            <size>24754</size>
            <attacher name="Kimmo Kinnunen">kkinnunen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2MTY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTlmNGE2MzNjY2JjYjM2
NjBjYWRkOWE5YTVmYTQ4OTY4MDdmNzQzMS4uMjUzNmExMDNmNmZiYjBmN2JmNWE1OGE1YzEzMjQ4
Mzc2N2ViNTA4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDIxLTExLTI2ICBLaW1t
byBLaW5udW5lbiAgPGtraW5udW5lbkBhcHBsZS5jb20+CisKKyAgICAgICAgR1BVUCBHcmFwaGlj
c0NvbnRleHRHTCBjcmVhdGlvbiBmYWlsdXJlIGNhbm5vdCBiZSBkZXRlY3RlZAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMzNTE3CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQmVmb3JlLCBjb25jcmV0ZSBg
R3JhcGhpY3NDb250ZXh0R0xgIGluc3RhbmNlIHdhcyBjcmVhdGVkIHdpdGggYEdyYXBoaWNzQ29u
dGV4dEdMOjpjcmVhdGUoKWAKKyAgICAgICAgd2hpY2ggd291bGQgaW50ZXJuYWxseSB1c2UgaG9z
dCB3aW5kb3cgYXMgYSBmYWN0b3J5IGlmIHBvc3NpYmxlLiBJZiB0aGlzIHByb2R1Y2VkIG51bGws
IGl0IHdvdWxkCisgICAgICAgIGNyZWF0ZSB0aGUgImRlZmF1bHQiIEdyYXBoaWNzQ29udGV4dEdM
IHN1YmNsYXNzIGluc3RhbmNlLgorICAgICAgICBXaXRoIEdQVVAsIGl0IGRvZXMgbm90IG1ha2Ug
c2Vuc2UgdG8gY3JlYXRlICJkZWZhdWx0IiB0eXBlLCBhcyB0aGF0IGluLXByb2Nlc3MgY29udGV4
dHMgc2hvdWxkIG5ldmVyCisgICAgICAgIGJlIHVzZWQuCisgICAgICAgIEl0IGFsc28gZG9lcyBu
b3QgbWFrZSBzZW5zZSB0byBjcmVhdGUgImRlZmF1bHQiLCBhcyBpdCdzIHVuY2xlYXIgd2hhdCB0
aGUgImRlZmF1bHQiIHR5cGUgaXMuCisgICAgICAgIEluc3RlYWQsIHVzZSB0aGUgaG9zdCB3aW5k
b3csIGkuZS4gdGhlIGNocm9tZSBjbGllbnQsIHRvIGFsd2F5cyBjcmVhdGUgdGhlIEdyYXBoaWNz
Q29udGV4dEdMIGluc3RhbmNlCisgICAgICAgIHRvIFdlYkdMLiBJZiB0aGlzIGZhaWxzLCB0aGUg
V2ViR0wgc2hvdWxkIGJlIHVuYXZhaWxhYmxlLgorICAgICAgICBSZW1vdmUgR3JhcGhpY3NDb250
ZXh0R0w6OmNyZWF0ZSgpIGFzIHRoYXQgaXMgbm90IHVzZWZ1bC4gVGhlIGNhbGxlcnMgc2hvdWxk
IGVpdGhlcgorICAgICAgICBleHBsaWNpdGx5IHNwZWNpZnkgd2hhdCBzdWJjbGFzcyB0byB1c2Us
IGZvciBleGFtcGxlIGluIHRlc3RpbmcsIG9yIHVzZSB0aGUgcG9seW1vcmhwaWMgZmFjdG9yeQor
ICAgICAgICAoQ2hyb21lQ2xpZW50KSB3aGljaCBrbm93cyB0aGUgcG9saWN5LgorCisgICAgICAg
IEZpeCBhIGJ1ZyB3aGVyZSBHUFVQIFdlYkdMIHdvdWxkIHVzZSBpbi1wcm9jZXNzIGNvbnRleHQg
aWYgdGhlIGxvc3QgY29udGV4dCB3b3VsZCBiZSByZWNyZWF0ZWQuCisKKyAgICAgICAgTm8gbmV3
IHRlc3RzLCBhIHJlZmFjdG9yLgorCisgICAgICAgICogUGxhdGZvcm1NYWMuY21ha2U6CisgICAg
ICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGh0bWwv
Y2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
V2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6Oldl
YkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6Om1heWJlUmVzdG9yZUNvbnRleHQpOgorICAgICAgICAq
IHBhZ2UvQ2hyb21lQ2xpZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWVDbGllbnQ6OmNy
ZWF0ZUdyYXBoaWNzQ29udGV4dEdMIGNvbnN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9XZWJQcm9jZXNzR3JhcGhpY3NDb250ZXh0R0wuaDogQWRkZWQuCisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvY29jb2EvV2ViUHJvY2Vzc0dyYXBoaWNzQ29udGV4dEdMQ29jb2EubW06Cisg
ICAgICAgIChXZWJDb3JlOjpjcmVhdGVXZWJQcm9jZXNzR3JhcGhpY3NDb250ZXh0R0wpOgorICAg
ICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6OmNyZWF0ZSk6IERlbGV0ZWQu
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dEdMT3Bl
bkdMLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0dyYXBoaWNzQ29udGV4
dEdMVGV4dHVyZU1hcHBlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjcmVhdGVXZWJQcm9jZXNz
R3JhcGhpY3NDb250ZXh0R0wpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0R0xP
cGVuR0w6OmNyZWF0ZSk6IERlbGV0ZWQuCisgICAgICAgICogcGxhdGZvcm0veHIvb3BlbnhyL1Bs
YXRmb3JtWFJPcGVuWFIuY3BwOgorICAgICAgICAoUGxhdGZvcm1YUjo6T3BlblhSRGV2aWNlOjpp
bml0aWFsaXplVHJhY2tpbmdBbmRSZW5kZXJpbmcpOgorICAgICAgICAqIHRlc3RpbmcvV2ViRmFr
ZVhSRGV2aWNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNpbXVsYXRlZFhSRGV2aWNlOjppbml0
aWFsaXplVHJhY2tpbmdBbmRSZW5kZXJpbmcpOgorCiAyMDIxLTExLTI2ICBLaW1tbyBLaW5udW5l
biAgPGtraW5udW5lbkBhcHBsZS5jb20+CiAKICAgICAgICAgR3JhcGhpY3NDb250ZXh0R0xBTkdM
RS5jcHAgaGFzIHBsYXRmb3JtIHNwZWNpZmljIGNvZGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggNTc0OGRiZTI5ZWFi
Y2JlYzQyYjI0OWY4YzY1Y2UyNjQ4NzNiNjc1MS4uNDgxNGJmM2Y0Y2UwMzBjZDA1MTUzMzUyMDcz
MDNlNDMyZjQyZDhlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAyMS0xMS0yNiAgS2lt
bW8gS2lubnVuZW4gIDxra2lubnVuZW5AYXBwbGUuY29tPgorCisgICAgICAgIEdQVVAgR3JhcGhp
Y3NDb250ZXh0R0wgY3JlYXRpb24gZmFpbHVyZSBjYW5ub3QgYmUgZGV0ZWN0ZWQKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMzUxNworCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIElmIEdQVVAgYEdyYXBoaWNz
Q29udGV4dEdMYCBjcmVhdGlvbiBmYWlscywgcmV0dXJuIG51bGxwdHIgaW5zdGVhZCBvZgorICAg
ICAgICB0cnlpbmcgdG8gY3JlYXRlIGEgaW4tcHJvY2VzcyBjb250ZXh0LgorCisgICAgICAgIEVu
YWJsZSBgV2ViQ2hyb21lQ2xpZW50OjpjcmVhdGVHcmFwaGljc0NvbnRleHRHTCgpYCBjYWxsIGZv
ciBub24tR1BVIHByb2Nlc3MKKyAgICAgICAgY29tcGlsYXRpb24sIGFzIHRoZSBmdW5jdGlvbiBp
cyBub3cgYWx3YXlzIGNhbGxlZC4gUmV0dXJuaW5nIG51bGxwdHIgc2lnbmlmaWVzIGZhaWx1cmUK
KyAgICAgICAgdG8gY3JlYXRlIHRoZSBjb250ZXh0LCBub3QgYSBzaWduYWwgdG8gcmV0cnkgc29t
ZSBvdGhlciB0eXBlLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJD
aHJvbWVDbGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJDaHJvbWVDbGllbnQ6OmNyZWF0
ZUdyYXBoaWNzQ29udGV4dEdMIGNvbnN0KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVT
dXBwb3J0L1dlYkNocm9tZUNsaWVudC5oOgorCiAyMDIxLTExLTI1ICBLaW1tbyBLaW5udW5lbiAg
PGtraW5udW5lbkBhcHBsZS5jb20+CiAKICAgICAgICAgR3JhcGhpY3NDb250ZXh0R0wgaW1wbGVt
ZW50YXRpb25zIHNob3VsZCBoYXZlIHNlcGFyYXRlIGNsYXNzIGRlZmluaXRpb25zCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlIGIvU291cmNlL1dlYkNvcmUvSGVhZGVy
cy5jbWFrZQppbmRleCA5YjU3ODY5ZTY5MmNlYmRmNTUxMmQ1Yzk2ZjhjMTdhZjU2MWZmNzVmLi43
NzVjNzZmMTI1NzE4Mjc2OTg1NzNiOGZmYTQxZDdkOGMzZGUwODM1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21h
a2UKQEAgLTEzOTksNiArMTM5OSw3IEBAIHNldChXZWJDb3JlX1BSSVZBVEVfRlJBTUVXT1JLX0hF
QURFUlMKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9WaWRlb1BsYXliYWNrUXVhbGl0eU1ldHJpY3Mu
aAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL1ZpZGVvVHJhY2tQcml2YXRlLmgKICAgICBwbGF0Zm9y
bS9ncmFwaGljcy9WaWRlb1RyYWNrUHJpdmF0ZUNsaWVudC5oCisgICAgcGxhdGZvcm0vZ3JhcGhp
Y3MvV2ViUHJvY2Vzc0dyYXBoaWNzQ29udGV4dEdMLmgKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9X
aWR0aENhY2hlLmgKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9XaW5kUnVsZS5oCiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtTWFjLmNtYWtlIGIvU291cmNlL1dlYkNvcmUvUGxh
dGZvcm1NYWMuY21ha2UKaW5kZXggMWFmMDk1ZjlkOWNiZjA5NGM1OWFiMGE3NGE0YzU1OWIwNTgw
MTE4Ni4uNmZkYjAzMzMyMDg4MTcwMjg4N2U3YTFhYTNlOWU0YmQzNDZiODg0MCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1NYWMuY21ha2UKKysrIGIvU291cmNlL1dlYkNvcmUv
UGxhdGZvcm1NYWMuY21ha2UKQEAgLTYxMyw2ICs2MTMsNyBAQCBsaXN0KEFQUEVORCBXZWJDb3Jl
X1BSSVZBVEVfRlJBTUVXT1JLX0hFQURFUlMKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9JbWFnZVV0
aWxpdGllcy5oCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvTUlNRVR5cGVDYWNoZS5oCiAgICAgcGxh
dGZvcm0vZ3JhcGhpY3MvTW9kZWwuaAorICAgIHBsYXRmb3JtL2dyYXBoaWNzL1dlYlByb2Nlc3NH
cmFwaGljc0NvbnRleHRHTC5oCiAKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9hbmdsZS9BTkdMRVV0
aWxpdGllcy5oCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagppbmRleCBhMzg4ZTE5YTJjMTc3M2NhN2UzYTg5YmRkZjUzNjZiMTkyMjA2NThk
Li44NzU5MDhmZTA1ZmIyZjIxOGVmNWUzNDAxMDljZDU1ZmU5MDYwNGRjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0yMzY5LDYg
KzIzNjksNyBAQAogCQk3QkIzNEE0ODI1Mzc3NkNBMDAwMjlEMDggLyogR3JhcGhpY3NDb250ZXh0
R0xJbWFnZUV4dHJhY3Rvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gN0JCMzRBNDUyNTM3NzZDNjAwMDI5RDA4IC8qIEdyYXBoaWNzQ29udGV4dEdMSW1h
Z2VFeHRyYWN0b3IuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwogCQk3QkI2ODBCQTI1QkExQkU0MDAyQjg3MzggLyogR3JhcGhpY3NDaGVja3NNYWMuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdCQjY4MEI4MjVC
QTFCRTQwMDJCODczOCAvKiBHcmFwaGljc0NoZWNrc01hYy5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTdCRERBMzFGMjc0RkEwMjEwMDM4NjU5RSAv
KiBHcmFwaGljc0NvbnRleHRHTENvY29hLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA3QkREQTMxRDI3NEY5REE1MDAzODY1OUUgLyogR3JhcGhpY3NDb250
ZXh0R0xDb2NvYS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CisJCTdCRERBMzMyMjc1MEZDQ0QwMDM4NjU5RSAvKiBXZWJQcm9jZXNzR3JhcGhpY3NDb250
ZXh0R0wuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdC
RERBMzMwMjc1MEZDQ0MwMDM4NjU5RSAvKiBXZWJQcm9jZXNzR3JhcGhpY3NDb250ZXh0R0wuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3QkU3NDI3
MzgxRkE5MDZGQkI0RjBGMkMgLyogSlNTVkdHcmFwaGljc0VsZW1lbnQuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk1MEM0QzAyQkVEODkzNkY4MThFMkY5
OSAvKiBKU1NWR0dyYXBoaWNzRWxlbWVudC5oICovOyB9OwogCQk3QzAyOUM2RTI0OTNDOEY4MDAy
NjgyMDQgLyogQ29sb3JUeXBlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gN0MwMjlDNkQyNDkzQzhGODAwMjY4MjA0IC8qIENvbG9yVHlwZXMuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3QzE4NDNGRTFD
OEI3MjgzMDAyRUI5NzMgLyogQXV0b2ZpbGwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDdDMTg0M0ZDMUM4QjcyODMwMDJFQjk3MyAvKiBBdXRvZmlsbC5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0xMTA5
MCw2ICsxMTA5MSw3IEBACiAJCTdCQ0Q0MkRDMjcwNUM5NDkwMEVCMjEyNyAvKiBBTkdMRVV0aWxp
dGllc0NvY29hLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFOR0xFVXRpbGl0aWVzQ29jb2EuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0JEREEzMUMyNzRGOURBNDAwMzg2NTlFIC8qIEdyYXBo
aWNzQ29udGV4dEdMQ29jb2EubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBh
dGggPSBHcmFwaGljc0NvbnRleHRHTENvY29hLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk3QkREQTMxRDI3NEY5REE1MDAzODY1OUUgLyogR3JhcGhpY3NDb250ZXh0R0xDb2NvYS5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBHcmFwaGljc0NvbnRleHRHTENvY29h
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTdCRERBMzMwMjc1MEZDQ0MwMDM4NjU5
RSAvKiBXZWJQcm9jZXNzR3JhcGhpY3NDb250ZXh0R0wuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBuYW1lID0gV2ViUHJvY2Vzc0dyYXBoaWNzQ29udGV4dEdMLmg7IHBhdGggPSBwbGF0Zm9y
bS9ncmFwaGljcy9XZWJQcm9jZXNzR3JhcGhpY3NDb250ZXh0R0wuaDsgc291cmNlVHJlZSA9IFNP
VVJDRV9ST09UOyB9OwogCQk3QkU3MjY1QjI1NzYzQjhEMDBFODVEOTggLyogUmVtb3RlR3JhcGhp
Y3NDb250ZXh0R0xQcm94eUJhc2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVtb3RlR3JhcGhp
Y3NDb250ZXh0R0xQcm94eUJhc2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3
QzAxMUYzRDI0RkFEMzYwMDA1QkVGMTAgLyogU2V0dGluZ3MuY3BwLmVyYiAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBTZXR0aW5n
cy5jcHAuZXJiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3QzAxMUYzRTI0RkFEMzYw
MDA1QkVGMTAgLyogSW50ZXJuYWxTZXR0aW5nc0dlbmVyYXRlZC5jcHAuZXJiICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEludGVy
bmFsU2V0dGluZ3NHZW5lcmF0ZWQuY3BwLmVyYjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
QEAgLTIzNTE0LDYgKzIzNTE2LDcgQEAKIAkJCQk2RTI3RjI0MjIyOThDRTRCMDBGMUY2MzIgLyog
R3JhcGhpY3NDb250ZXh0R0xBTkdMRS5jcHAgKi8sCiAJCQkJNkUyOTA4NjEyMjlEQjk1MDAwMDk4
NkUyIC8qIFRlbXBvcmFyeUFOR0xFU2V0dGluZy5jcHAgKi8sCiAJCQkJNkUyOTA4NjMyMjlEQjk3
MDAwMDk4NkUyIC8qIFRlbXBvcmFyeUFOR0xFU2V0dGluZy5oICovLAorCQkJCTdCRERBMzMwMjc1
MEZDQ0MwMDM4NjU5RSAvKiBXZWJQcm9jZXNzR3JhcGhpY3NDb250ZXh0R0wuaCAqLywKIAkJCSk7
CiAJCQlwYXRoID0gYW5nbGU7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwpAQCAtMzY5ODks
NiArMzY5OTIsNyBAQAogCQkJCTA3MDlENzkzMUFFNTU1N0UwMDRFNDJGOCAvKiBXZWJNZWRpYVNl
c3Npb25NYW5hZ2VyTWFjLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMUEzMTYyRDEzNEJDMzJEMDA3
QzlBNEYgLyogV2ViTlNBdHRyaWJ1dGVkU3RyaW5nRXh0cmFzLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlDRDU4OTZFMjFDRDJCMTUxMDBCM0JDQzggLyogV2ViUGxheWJhY2tDb250cm9sc01hbmFnZXIu
aCBpbiBIZWFkZXJzICovLAorCQkJCTdCRERBMzMyMjc1MEZDQ0QwMDM4NjU5RSAvKiBXZWJQcm9j
ZXNzR3JhcGhpY3NDb250ZXh0R0wuaCBpbiBIZWFkZXJzICovLAogCQkJCTFDQUYzNDgxMEE2QzQw
NTIwMEFCRTA2RSAvKiBXZWJTY3JpcHRPYmplY3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTFDQUYz
NDgzMEE2QzQwNTIwMEFCRTA2RSAvKiBXZWJTY3JpcHRPYmplY3RQcml2YXRlLmggaW4gSGVhZGVy
cyAqLywKIAkJCQkxQTU2OUQxQjBEN0UyQjgyMDA3QzM5ODMgLyogV2ViU2NyaXB0T2JqZWN0UHJv
dG9jb2wuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmNwcAppbmRleCAzMzkyNWJjNmFjOGQ4
N2I0MTA2YjA2MzFlZDM0MjkwMzlhNzhhZmU0Li5mZWQxZjIyODdhNzMzNjIwZTg2ZGE0ZjkxMWZm
YWFlYTZiMjNhOTJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJH
TFJlbmRlcmluZ0NvbnRleHRCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZh
cy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmNwcApAQCAtNTUsNiArNTUsNyBAQAogI2luY2x1
ZGUgIkhUTUxDYW52YXNFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTEltYWdlRWxlbWVudC5oIgog
I2luY2x1ZGUgIkhUTUxWaWRlb0VsZW1lbnQuaCIKKyNpbmNsdWRlICJIb3N0V2luZG93LmgiCiAj
aW5jbHVkZSAiSW1hZ2VCaXRtYXAuaCIKICNpbmNsdWRlICJJbWFnZUJ1ZmZlci5oIgogI2luY2x1
ZGUgIkltYWdlRGF0YS5oIgpAQCAtODU5LDcgKzg2MCw3IEBAIHN0ZDo6dW5pcXVlX3B0cjxXZWJH
TFJlbmRlcmluZ0NvbnRleHRCYXNlPiBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpjcmVhdGUo
Q2FuCiAgICAgICAgIHJlbmRlcmluZ0NvbnRleHQtPnN1c3BlbmRJZk5lZWRlZCgpOwogICAgICAg
ICByZXR1cm4gcmVuZGVyaW5nQ29udGV4dDsKICAgICB9Ci0gICAgYXV0byBjb250ZXh0ID0gR3Jh
cGhpY3NDb250ZXh0R0w6OmNyZWF0ZShhdHRyaWJ1dGVzLCBob3N0V2luZG93KTsKKyAgICBhdXRv
IGNvbnRleHQgPSBob3N0V2luZG93LT5jcmVhdGVHcmFwaGljc0NvbnRleHRHTChhdHRyaWJ1dGVz
KTsKICAgICBpZiAoIWNvbnRleHQpIHsKICAgICAgICAgaWYgKGNhbnZhc0VsZW1lbnQpIHsKICAg
ICAgICAgICAgIGNhbnZhc0VsZW1lbnQtPmRpc3BhdGNoRXZlbnQoV2ViR0xDb250ZXh0RXZlbnQ6
OmNyZWF0ZShldmVudE5hbWVzKCkud2ViZ2xjb250ZXh0Y3JlYXRpb25lcnJvckV2ZW50LApAQCAt
Nzc1NSw3ICs3NzU2LDcgQEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjptYXliZVJl
c3RvcmVDb250ZXh0KCkKICAgICBpZiAoIWhvc3RXaW5kb3cpCiAgICAgICAgIHJldHVybjsKIAot
ICAgIFJlZlB0cjxHcmFwaGljc0NvbnRleHRHTD4gY29udGV4dChHcmFwaGljc0NvbnRleHRHTE9w
ZW5HTDo6Y3JlYXRlKG1fYXR0cmlidXRlcywgaG9zdFdpbmRvdykpOworICAgIFJlZlB0cjxHcmFw
aGljc0NvbnRleHRHTD4gY29udGV4dCA9IGhvc3RXaW5kb3ctPmNyZWF0ZUdyYXBoaWNzQ29udGV4
dEdMKG1fYXR0cmlidXRlcyk7CiAgICAgaWYgKCFjb250ZXh0KSB7CiAgICAgICAgIGlmIChtX2Nv
bnRleHRMb3N0TW9kZSA9PSBSZWFsTG9zdENvbnRleHQpCiAgICAgICAgICAgICBtX3Jlc3RvcmVU
aW1lci5zdGFydE9uZVNob3Qoc2Vjb25kc0JldHdlZW5SZXN0b3JlQXR0ZW1wdHMpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvQ2hyb21lQ2xpZW50LmgKaW5kZXggZjIzOTE0NTcwNmQwYjE5MDU0MTBhZDhlNjZjZmU5
OTAwY2RjNzZlZS4uYzRiNDY3Mjg5NjVlYzc3ZGNmZDRiZjE1Y2VlZjQ5ZWRmY2ExYTQ0MiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCkBAIC04Niw2ICs4NiwxMCBAQCBjbGFzcyBIVE1M
TW9kZWxFbGVtZW50OwogI2luY2x1ZGUgIlBsYXRmb3JtWFIuaCIKICNlbmRpZgogCisjaWYgRU5B
QkxFKFdFQkdMKQorI2luY2x1ZGUgIldlYlByb2Nlc3NHcmFwaGljc0NvbnRleHRHTC5oIgorI2Vu
ZGlmCisKIE9CSkNfQ0xBU1MgTlNSZXNwb25kZXI7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAg
LTM1Myw3ICszNTcsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBSZWZQdHI8SW1hZ2VCdWZmZXI+
IGNyZWF0ZUltYWdlQnVmZmVyKGNvbnN0IEZsb2F0U2l6ZSYsIFJlbmRlcmluZ01vZGUsIFJlbmRl
cmluZ1B1cnBvc2UsIGZsb2F0LCBjb25zdCBEZXN0aW5hdGlvbkNvbG9yU3BhY2UmLCBQaXhlbEZv
cm1hdCkgY29uc3QgeyByZXR1cm4gbnVsbHB0cjsgfQogCiAjaWYgRU5BQkxFKFdFQkdMKQotICAg
IHZpcnR1YWwgUmVmUHRyPEdyYXBoaWNzQ29udGV4dEdMPiBjcmVhdGVHcmFwaGljc0NvbnRleHRH
TChjb25zdCBHcmFwaGljc0NvbnRleHRHTEF0dHJpYnV0ZXMmLCBXZWJDb3JlOjpQbGF0Zm9ybURp
c3BsYXlJRCkgY29uc3QgeyByZXR1cm4gbnVsbHB0cjsgfQorICAgIHZpcnR1YWwgUmVmUHRyPEdy
YXBoaWNzQ29udGV4dEdMPiBjcmVhdGVHcmFwaGljc0NvbnRleHRHTChjb25zdCBHcmFwaGljc0Nv
bnRleHRHTEF0dHJpYnV0ZXMmIGF0dHJpYnV0ZXMsIFdlYkNvcmU6OlBsYXRmb3JtRGlzcGxheUlE
KSBjb25zdCB7IHJldHVybiBjcmVhdGVXZWJQcm9jZXNzR3JhcGhpY3NDb250ZXh0R0woYXR0cmli
dXRlcyk7IH0KICNlbmRpZgogCiAgICAgLy8gUGFzcyBudWxscHRyIGFzIHRoZSBHcmFwaGljc0xh
eWVyIHRvIGRldGF0Y2ggdGhlIHJvb3QgbGF5ZXIuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHRHTC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHRHTC5jcHAKaW5kZXggN2YyYTFmZDI4
YjMxMjhmMGRlN2E3MTI1ZTNkY2M2YzljYmM4ZGNhNC4uZDYwYzM3YTlmZmU1YzJjYmUwMzY2ZTI3
NmQ4NDg4NjY1YmQ2ZTIwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvR3JhcGhpY3NDb250ZXh0R0wuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dEdMLmNwcApAQCAtMzUxLDE2ICszNTEsNiBAQCBHcmFw
aGljc0NvbnRleHRHTDo6Q2xpZW50OjpDbGllbnQoKSA9IGRlZmF1bHQ7CiAKIEdyYXBoaWNzQ29u
dGV4dEdMOjpDbGllbnQ6On5DbGllbnQoKSA9IGRlZmF1bHQ7CiAKLVJlZlB0cjxHcmFwaGljc0Nv
bnRleHRHTD4gR3JhcGhpY3NDb250ZXh0R0w6OmNyZWF0ZShjb25zdCBHcmFwaGljc0NvbnRleHRH
TEF0dHJpYnV0ZXMmIGF0dHJpYnV0ZXMsIEhvc3RXaW5kb3cqIGhvc3RXaW5kb3cpCi17Ci0gICAg
UmVmUHRyPEdyYXBoaWNzQ29udGV4dEdMPiByZXN1bHQ7Ci0gICAgaWYgKGhvc3RXaW5kb3cpCi0g
ICAgICAgIHJlc3VsdCA9IGhvc3RXaW5kb3ctPmNyZWF0ZUdyYXBoaWNzQ29udGV4dEdMKGF0dHJp
YnV0ZXMpOwotICAgIGlmICghcmVzdWx0KQotICAgICAgICByZXN1bHQgPSBHcmFwaGljc0NvbnRl
eHRHTE9wZW5HTDo6Y3JlYXRlKGF0dHJpYnV0ZXMsIGhvc3RXaW5kb3cpOwotICAgIHJldHVybiBy
ZXN1bHQ7Ci19Ci0KIEdyYXBoaWNzQ29udGV4dEdMOjpHcmFwaGljc0NvbnRleHRHTChHcmFwaGlj
c0NvbnRleHRHTEF0dHJpYnV0ZXMgYXR0cnMpCiAgICAgOiBtX2F0dHJzKGF0dHJzKQogewpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0
R0wuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dEdM
LmgKaW5kZXggNjQxYjdiNmFjM2ViMDU1NDc5MTdkNmEzZmJlYTA5MmFiN2NkYzdjMC4uNWZmOTNj
MzQ3MzI1YzY1YmMyZDllY2Q5YTcxYzk1MjUzY2EzNTA1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0R0wuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHRHTC5oCkBAIC05MTEsMTAg
KzkxMSw2IEBAIHB1YmxpYzoKICAgICAgICAgR0NHTGludCBzaXplOwogICAgIH07CiAKLSAgICAv
LyBDcmVhdGVzIGEgR3JhcGhpY3NDb250ZXh0R0wgaW5zdGFuY2UgdG8gcmVuZGVyIGludG8gb2Zm
c2NyZWVuIGRlc3RpbmF0aW9uIGluIGNvbnRleHQgb2YgSG9zdFdpbmRvdy4KLSAgICAvLyBIb3N0
V2luZG93IG1pZ2h0IGFmZmVjdCB0aGUgZGVjaXNpb24gd2hpY2ggYmFja2VuZCBpcyB0byBiZSB1
c2VkLgotICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBSZWZQdHI8R3JhcGhpY3NDb250ZXh0R0w+
IGNyZWF0ZShjb25zdCBHcmFwaGljc0NvbnRleHRHTEF0dHJpYnV0ZXMmLCBIb3N0V2luZG93Kik7
Ci0KICAgICBXRUJDT1JFX0VYUE9SVCBHcmFwaGljc0NvbnRleHRHTChHcmFwaGljc0NvbnRleHRH
TEF0dHJpYnV0ZXMpOwogICAgIFdFQkNPUkVfRVhQT1JUIHZpcnR1YWwgfkdyYXBoaWNzQ29udGV4
dEdMKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1dl
YlByb2Nlc3NHcmFwaGljc0NvbnRleHRHTC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvV2ViUHJvY2Vzc0dyYXBoaWNzQ29udGV4dEdMLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWYxMzkzOWJl
NjA5YjcyYzNkZTU5ZDMyZDliZmU0OWRmNjBiNjM4MQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1dlYlByb2Nlc3NHcmFwaGljc0NvbnRleHRHTC5o
CkBAIC0wLDAgKzEsNDEgQEAKKworLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICog
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKFdFQkdMKQorCisjaW5jbHVkZSAi
R3JhcGhpY3NDb250ZXh0R0wuaCIKKworI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKKworV0VCQ09SRV9FWFBPUlQgUmVmUHRyPEdyYXBoaWNzQ29udGV4
dEdMPiBjcmVhdGVXZWJQcm9jZXNzR3JhcGhpY3NDb250ZXh0R0woY29uc3QgR3JhcGhpY3NDb250
ZXh0R0xBdHRyaWJ1dGVzJik7CisKK30KKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJQcm9jZXNzR3JhcGhpY3NDb250ZXh0R0xD
b2NvYS5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYlByb2Nl
c3NHcmFwaGljc0NvbnRleHRHTENvY29hLm1tCmluZGV4IDg1ZjQ5N2EzNzQ2NjYwMDNmNzlkMDAy
ZDZkOWQ1ZDEzMjMyZGI2MmIuLmMzMTJjNmZmODdjOGEzNTM4NzAwYjIzYjlhZGQwMmVlZmQwOTUz
ZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dl
YlByb2Nlc3NHcmFwaGljc0NvbnRleHRHTENvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYlByb2Nlc3NHcmFwaGljc0NvbnRleHRHTENvY29hLm1t
CkBAIC0yNSw2ICsyNSw3IEBACiAgKi8KIAogI2ltcG9ydCAiY29uZmlnLmgiCisjaW1wb3J0ICJX
ZWJQcm9jZXNzR3JhcGhpY3NDb250ZXh0R0wuaCIKIAogI2lmIEVOQUJMRShXRUJHTCkKICNpbXBv
cnQgIkdyYXBoaWNzQ29udGV4dEdMQ29jb2EuaCIgLy8gTk9MSU5UCkBAIC02Myw3ICs2NCw3IEBA
IHByaXZhdGU6CiAgICAgfQogICAgIFJldGFpblB0cjxXZWJHTExheWVyPiBtX3dlYkdMTGF5ZXI7
CiAKLSAgICBmcmllbmQgY2xhc3MgR3JhcGhpY3NDb250ZXh0R0xPcGVuR0w7CisgICAgZnJpZW5k
IFJlZlB0cjxHcmFwaGljc0NvbnRleHRHTD4gV2ViQ29yZTo6Y3JlYXRlV2ViUHJvY2Vzc0dyYXBo
aWNzQ29udGV4dEdMKGNvbnN0IEdyYXBoaWNzQ29udGV4dEdMQXR0cmlidXRlcyYpOwogfTsKIAog
dm9pZCBXZWJQcm9jZXNzR3JhcGhpY3NDb250ZXh0R0xDb2NvYTo6cHJlcGFyZUZvckRpc3BsYXko
KQpAQCAtODAsMTkgKzgxLDE5IEBAIHZvaWQgV2ViUHJvY2Vzc0dyYXBoaWNzQ29udGV4dEdMQ29j
b2E6OnByZXBhcmVGb3JEaXNwbGF5KCkKIAogfQogCi1SZWZQdHI8R3JhcGhpY3NDb250ZXh0R0xP
cGVuR0w+IEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjpjcmVhdGUoR3JhcGhpY3NDb250ZXh0R0xB
dHRyaWJ1dGVzIGF0dHJpYnV0ZXMsIEhvc3RXaW5kb3cqKQorUmVmUHRyPEdyYXBoaWNzQ29udGV4
dEdMPiBjcmVhdGVXZWJQcm9jZXNzR3JhcGhpY3NDb250ZXh0R0woY29uc3QgR3JhcGhpY3NDb250
ZXh0R0xBdHRyaWJ1dGVzJiBhdHRyaWJ1dGVzKQogewogICAgIC8vIE1ha2Ugc3BhY2UgZm9yIHRo
ZSBpbmNvbWluZyBjb250ZXh0IGlmIHdlJ3JlIGZ1bGwuCiAgICAgR3JhcGhpY3NDb250ZXh0R0xP
cGVuR0xNYW5hZ2VyOjpzaGFyZWRNYW5hZ2VyKCkucmVjeWNsZUNvbnRleHRJZk5lY2Vzc2FyeSgp
OwogICAgIGlmIChHcmFwaGljc0NvbnRleHRHTE9wZW5HTE1hbmFnZXI6OnNoYXJlZE1hbmFnZXIo
KS5oYXNUb29NYW55Q29udGV4dHMoKSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0gICAgYXV0
byBjb250ZXh0ID0gYWRvcHRSZWYobmV3IFdlYlByb2Nlc3NHcmFwaGljc0NvbnRleHRHTENvY29h
KFdURk1vdmUoYXR0cmlidXRlcykpKTsKKyAgICBhdXRvIGNvbnRleHQgPSBhZG9wdFJlZihuZXcg
V2ViUHJvY2Vzc0dyYXBoaWNzQ29udGV4dEdMQ29jb2EoR3JhcGhpY3NDb250ZXh0R0xBdHRyaWJ1
dGVzIHsgYXR0cmlidXRlcyB9KSk7CiAgICAgaWYgKCFjb250ZXh0LT5pc1ZhbGlkKCkpCiAgICAg
ICAgIHJldHVybiBudWxscHRyOwogICAgIEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMTWFuYWdlcjo6
c2hhcmVkTWFuYWdlcigpLmFkZENvbnRleHQoY29udGV4dC5nZXQoKSk7Ci0KICAgICByZXR1cm4g
Y29udGV4dDsKIH0KKwogfQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0NvbnRleHRHTE9wZW5HTC5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dEdMT3BlbkdM
LmgKaW5kZXggMjk0YzBjNmFlYTQ2MzE2MjJlMDU3YjAzZTlmOWNmOGY1Y2MwZmYzNy4uNmM4MWVh
N2E4ODk1NDBkNTNlMDY1ZDQ1MzRiNDY5NTZmMjBjZmExZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dEdMT3BlbkdMLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29u
dGV4dEdMT3BlbkdMLmgKQEAgLTEwMCw3ICsxMDAsNiBAQCB0eXBlZGVmIEhhc2hNYXA8Q1N0cmlu
ZywgdWludDY0X3Q+IFNoYWRlck5hbWVIYXNoOwogY2xhc3MgV0VCQ09SRV9FWFBPUlQgR3JhcGhp
Y3NDb250ZXh0R0xPcGVuR0wgOiBwdWJsaWMgR3JhcGhpY3NDb250ZXh0R0wKIHsKIHB1YmxpYzoK
LSAgICBzdGF0aWMgUmVmUHRyPEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMPiBjcmVhdGUoR3JhcGhp
Y3NDb250ZXh0R0xBdHRyaWJ1dGVzLCBIb3N0V2luZG93Kik7CiAgICAgdmlydHVhbCB+R3JhcGhp
Y3NDb250ZXh0R0xPcGVuR0woKTsKICAgICBQbGF0Zm9ybUxheWVyKiBwbGF0Zm9ybUxheWVyKCkg
Y29uc3Qgb3ZlcnJpZGU7CiAjaWYgVVNFKEFOR0xFKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0dyYXBoaWNzQ29udGV4dEdMVGV4dHVyZU1hcHBl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvR3JhcGhpY3ND
b250ZXh0R0xUZXh0dXJlTWFwcGVyLmNwcAppbmRleCBhNzcxZjA3YTAyZWQ0NGE2N2UwODJkNDgx
MTY4YmY1ODhkZmRjYTEwLi41ZDU1OTZmMDljZDIyYmUwMWE3YTVmNmRjOTU4ODBlMTQyMmJiZjE4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvR3Jh
cGhpY3NDb250ZXh0R0xUZXh0dXJlTWFwcGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy90ZXhtYXAvR3JhcGhpY3NDb250ZXh0R0xUZXh0dXJlTWFwcGVyLmNwcApA
QCAtMzUsNiArMzUsNyBAQAogI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dEdMT3BlbkdMTWFuYWdl
ci5oIgogI2luY2x1ZGUgIlBpeGVsQnVmZmVyLmgiCiAjaW5jbHVkZSAiVGV4dHVyZU1hcHBlckdD
R0xQbGF0Zm9ybUxheWVyLmgiCisjaW5jbHVkZSAiV2ViUHJvY2Vzc0dyYXBoaWNzQ29udGV4dEdM
LmgiCiAjaW5jbHVkZSA8d3RmL0RlcXVlLmg+CiAjaW5jbHVkZSA8d3RmL05ldmVyRGVzdHJveWVk
Lmg+CiAKQEAgLTkzLDcgKzk0LDcgQEAgR3JhcGhpY3NDb250ZXh0R0xUZXh0dXJlTWFwcGVyOjpH
cmFwaGljc0NvbnRleHRHTFRleHR1cmVNYXBwZXIoR3JhcGhpY3NDb250ZXh0R0wKIAogLy8gRklY
TUU6IEJlbG93IGZ1bmN0aW9uYWxpdHkgc2hvdWxkIGJlIG1vdmVkIHRvIEdyYXBoaWNzQ29udGV4
dEdMVGV4dHVyZU1hcHBlciB0byBzaW1wbGlmeSB0aGUgYmFzZSBjbGFzcy4KIAotUmVmUHRyPEdy
YXBoaWNzQ29udGV4dEdMT3BlbkdMPiBHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6Y3JlYXRlKEdy
YXBoaWNzQ29udGV4dEdMQXR0cmlidXRlcyBhdHRyaWJ1dGVzLCBIb3N0V2luZG93KikKK1JlZlB0
cjxHcmFwaGljc0NvbnRleHRHTD4gY3JlYXRlV2ViUHJvY2Vzc0dyYXBoaWNzQ29udGV4dEdMKGNv
bnN0IEdyYXBoaWNzQ29udGV4dEdMQXR0cmlidXRlcyYgYXR0cmlidXRlcykKIHsKICAgICBzdGF0
aWMgYm9vbCBpbml0aWFsaXplZCA9IGZhbHNlOwogICAgIHN0YXRpYyBib29sIHN1Y2Nlc3MgPSB0
cnVlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0veHIvb3BlbnhyL1BsYXRm
b3JtWFJPcGVuWFIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0veHIvb3BlbnhyL1BsYXRm
b3JtWFJPcGVuWFIuY3BwCmluZGV4IDJkOTVlYTMzZWI2MjU3ZDVlYTIyNGQ1MGFiMTYwNjI0ZjNj
MDVhODUuLmM1MmQyNmFjOTRhZGVkYTA0OTI5NTU3ZjlmMDgyZDA3NTNiYjdjMGUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3hyL29wZW54ci9QbGF0Zm9ybVhST3BlblhSLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS94ci9vcGVueHIvUGxhdGZvcm1YUk9wZW5Y
Ui5jcHAKQEAgLTI1LDcgKzI1LDcgQEAKICNpbmNsdWRlICJPcGVuWFJFeHRlbnNpb25zLmgiCiAj
aW5jbHVkZSAiT3BlblhSSW5wdXQuaCIKICNpbmNsdWRlICJPcGVuWFJJbnB1dFNvdXJjZS5oIgot
CisjaW5jbHVkZSAiV2ViUHJvY2Vzc0dyYXBoaWNzQ29udGV4dEdMLmgiCiAjaW5jbHVkZSA8d3Rm
L05ldmVyRGVzdHJveWVkLmg+CiAjaW5jbHVkZSA8d3RmL3RocmVhZHMvQmluYXJ5U2VtYXBob3Jl
Lmg+CiAKQEAgLTExNCw3ICsxMTQsNyBAQCB2b2lkIE9wZW5YUkRldmljZTo6aW5pdGlhbGl6ZVRy
YWNraW5nQW5kUmVuZGVyaW5nKFNlc3Npb25Nb2RlIG1vZGUpCiAgICAgICAgIGF0dHJpYnV0ZXMu
c3RlbmNpbCA9IGZhbHNlOwogICAgICAgICBhdHRyaWJ1dGVzLmFudGlhbGlhcyA9IGZhbHNlOwog
Ci0gICAgICAgIG1fZ2wgPSBHcmFwaGljc0NvbnRleHRHTDo6Y3JlYXRlKGF0dHJpYnV0ZXMsIG51
bGxwdHIpOworICAgICAgICBtX2dsID0gY3JlYXRlV2ViUHJvY2Vzc0dyYXBoaWNzQ29udGV4dEdM
KGF0dHJpYnV0ZXMpOwogICAgICAgICBpZiAoIW1fZ2wpIHsKICAgICAgICAgICAgIExPRyhYUiwg
IkZhaWxlZCB0byBjcmVhdGUgYSB2YWxpZCBHcmFwaGljc0NvbnRleHRHTCIpOwogICAgICAgICAg
ICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9XZWJGYWtlWFJE
ZXZpY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9XZWJGYWtlWFJEZXZpY2UuY3BwCmlu
ZGV4IDYyMWRlNmI3ZWRhN2NmNzc4NDg3ODMzYzFkMmI0Yzc0YTNjMzIzNmEuLjg1ZGVhM2U3NDBm
NmYwMDg0ZDM5NGUzYzNiM2JmOWUxZGI2ODdiOTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvV2ViRmFrZVhSRGV2aWNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L1dlYkZha2VYUkRldmljZS5jcHAKQEAgLTMyLDYgKzMyLDcgQEAKICNpbmNsdWRlICJHcmFwaGlj
c0NvbnRleHRHTC5oIgogI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAjaW5jbHVk
ZSAiV2ViRmFrZVhSSW5wdXRDb250cm9sbGVyLmgiCisjaW5jbHVkZSAiV2ViUHJvY2Vzc0dyYXBo
aWNzQ29udGV4dEdMLmgiCiAjaW5jbHVkZSA8d3RmL0NvbXBsZXRpb25IYW5kbGVyLmg+CiAjaW5j
bHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KIApAQCAtMTA5LDcgKzExMCw3IEBAIHZvaWQgU2ltdWxh
dGVkWFJEZXZpY2U6OmluaXRpYWxpemVUcmFja2luZ0FuZFJlbmRlcmluZyhQbGF0Zm9ybVhSOjpT
ZXNzaW9uTW9kZSkKICAgICBhdHRyaWJ1dGVzLmRlcHRoID0gZmFsc2U7CiAgICAgYXR0cmlidXRl
cy5zdGVuY2lsID0gZmFsc2U7CiAgICAgYXR0cmlidXRlcy5hbnRpYWxpYXMgPSBmYWxzZTsKLSAg
ICBtX2dsID0gR3JhcGhpY3NDb250ZXh0R0w6OmNyZWF0ZShhdHRyaWJ1dGVzLCBudWxscHRyKTsK
KyAgICBtX2dsID0gY3JlYXRlV2ViUHJvY2Vzc0dyYXBoaWNzQ29udGV4dEdMKGF0dHJpYnV0ZXMp
OwogCiAgICAgaWYgKG1fdHJhY2tpbmdBbmRSZW5kZXJpbmdDbGllbnQpIHsKICAgICAgICAgLy8g
V2ViWFIgRmFrZURldmljZSB3YWl0cyBmb3Igc2ltdWxhdGVJbnB1dENvbm5lY3Rpb24gY2FsbHMg
dG8gYWRkIGlucHV0IHNvdXJjZXMtCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCmluZGV4IDQzNmE1YTUy
MDM1YTA2NTc1ODljMGU5MGIwODQyYzQzMzY1ODFlM2QuLjBhM2E2MjZiODdiNDk3OWEwYWQzNzBm
OWI5ODE4NzZkMDJkODA2NDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCkBAIC0xMTcsMTAgKzEx
NywxNCBAQAogI2luY2x1ZGUgPFdlYkNvcmUvTW9ja1dlYkF1dGhlbnRpY2F0aW9uQ29uZmlndXJh
dGlvbi5oPgogI2VuZGlmCiAKLSNpZiBQTEFURk9STShDT0NPQSkgfHwgUExBVEZPUk0oV0lOKQor
I2lmIEVOQUJMRShXRUJHTCkgJiYgRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiAoUExBVEZPUk0oQ09D
T0EpIHx8IFBMQVRGT1JNKFdJTikpCiAjaW5jbHVkZSAiUmVtb3RlR3JhcGhpY3NDb250ZXh0R0xQ
cm94eS5oIgogI2VuZGlmCiAKKyNpZiBFTkFCTEUoV0VCR0wpCisjaW5jbHVkZSA8V2ViQ29yZS9X
ZWJQcm9jZXNzR3JhcGhpY3NDb250ZXh0R0wuaD4KKyNlbmRpZgorCiAjaWYgUExBVEZPUk0oTUFD
KQogI2luY2x1ZGUgIlRpbGVkQ29yZUFuaW1hdGlvblNjcm9sbGluZ0Nvb3JkaW5hdG9yLmgiCiAj
ZW5kaWYKQEAgLTkyMSw3ICs5MjUsNiBAQCBXZWJDb3JlOjpEaXNwbGF5UmVmcmVzaE1vbml0b3JG
YWN0b3J5KiBXZWJDaHJvbWVDbGllbnQ6OmRpc3BsYXlSZWZyZXNoTW9uaXRvckZhYwogfQogCiAj
aWYgRU5BQkxFKEdQVV9QUk9DRVNTKQotCiBSZWZQdHI8SW1hZ2VCdWZmZXI+IFdlYkNocm9tZUNs
aWVudDo6Y3JlYXRlSW1hZ2VCdWZmZXIoY29uc3QgRmxvYXRTaXplJiBzaXplLCBSZW5kZXJpbmdN
b2RlIHJlbmRlcmluZ01vZGUsIFJlbmRlcmluZ1B1cnBvc2UgcHVycG9zZSwgZmxvYXQgcmVzb2x1
dGlvblNjYWxlLCBjb25zdCBEZXN0aW5hdGlvbkNvbG9yU3BhY2UmIGNvbG9yU3BhY2UsIFBpeGVs
Rm9ybWF0IHBpeGVsRm9ybWF0KSBjb25zdAogewogICAgIGlmICghV2ViUHJvY2Vzczo6c2luZ2xl
dG9uKCkuc2hvdWxkVXNlUmVtb3RlUmVuZGVyaW5nRm9yKHB1cnBvc2UpKQpAQCAtOTI5LDI1ICs5
MzIsMTkgQEAgUmVmUHRyPEltYWdlQnVmZmVyPiBXZWJDaHJvbWVDbGllbnQ6OmNyZWF0ZUltYWdl
QnVmZmVyKGNvbnN0IEZsb2F0U2l6ZSYgc2l6ZSwgUmUKIAogICAgIHJldHVybiBtX3BhZ2UuZW5z
dXJlUmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5KCkuY3JlYXRlSW1hZ2VCdWZmZXIoc2l6ZSwg
cmVuZGVyaW5nTW9kZSwgcmVzb2x1dGlvblNjYWxlLCBjb2xvclNwYWNlLCBwaXhlbEZvcm1hdCk7
CiB9CisjZW5kaWYKIAogI2lmIEVOQUJMRShXRUJHTCkKLQotUmVmUHRyPEdyYXBoaWNzQ29udGV4
dEdMPiBXZWJDaHJvbWVDbGllbnQ6OmNyZWF0ZUdyYXBoaWNzQ29udGV4dEdMKGNvbnN0IEdyYXBo
aWNzQ29udGV4dEdMQXR0cmlidXRlcyYgYXR0cmlidXRlcywgUGxhdGZvcm1EaXNwbGF5SUQgaG9z
dFdpbmRvd0Rpc3BsYXlJRCkgY29uc3QKK1JlZlB0cjxHcmFwaGljc0NvbnRleHRHTD4gV2ViQ2hy
b21lQ2xpZW50OjpjcmVhdGVHcmFwaGljc0NvbnRleHRHTChjb25zdCBHcmFwaGljc0NvbnRleHRH
TEF0dHJpYnV0ZXMmIGF0dHJpYnV0ZXMsIFBsYXRmb3JtRGlzcGxheUlEKSBjb25zdAogewotICAg
IGlmICghV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkuc2hvdWxkVXNlUmVtb3RlUmVuZGVyaW5nRm9y
V2ViR0woKSkKLSAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0gICAgVU5VU0VEX1ZBUklBQkxFKGhv
c3RXaW5kb3dEaXNwbGF5SUQpOwotI2lmIFBMQVRGT1JNKENPQ09BKSB8fCBQTEFURk9STShXSU4p
Ci0gICAgcmV0dXJuIFJlbW90ZUdyYXBoaWNzQ29udGV4dEdMUHJveHk6OmNyZWF0ZShhdHRyaWJ1
dGVzLCBtX3BhZ2UuZW5zdXJlUmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5KCkuZW5zdXJlQmFj
a2VuZENyZWF0ZWQoKSk7Ci0jZWxzZQotICAgIHJldHVybiBudWxscHRyOworI2lmIEVOQUJMRShH
UFVfUFJPQ0VTUykgJiYgKFBMQVRGT1JNKENPQ09BKSB8fCBQTEFURk9STShXSU4pKQorICAgIGlm
IChXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5zaG91bGRVc2VSZW1vdGVSZW5kZXJpbmdGb3JXZWJH
TCgpKQorICAgICAgICByZXR1cm4gUmVtb3RlR3JhcGhpY3NDb250ZXh0R0xQcm94eTo6Y3JlYXRl
KGF0dHJpYnV0ZXMsIG1fcGFnZS5lbnN1cmVSZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJveHkoKS5l
bnN1cmVCYWNrZW5kQ3JlYXRlZCgpKTsKICNlbmRpZgorICAgIHJldHVybiBXZWJDb3JlOjpjcmVh
dGVXZWJQcm9jZXNzR3JhcGhpY3NDb250ZXh0R0woYXR0cmlidXRlcyk7CiB9Ci0KICNlbmRpZgog
Ci0jZW5kaWYgLy8gRU5BQkxFKEdQVV9QUk9DRVNTKQotCiB2b2lkIFdlYkNocm9tZUNsaWVudDo6
YXR0YWNoUm9vdEdyYXBoaWNzTGF5ZXIoRnJhbWUmLCBHcmFwaGljc0xheWVyKiBsYXllcikKIHsK
ICAgICBpZiAobGF5ZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
Q29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKaW5kZXggMmZlMzI5MDM0MzQ3Y2VkMjhm
ODEwNTdkYTNmZWMyMzMwN2FlNzA4NC4uODgyMDgzNTJjNjFhOTMwOTNiNjkyZDhiNDkwN2VkYzhk
MWQzMTgwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBw
b3J0L1dlYkNocm9tZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJD
b3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaApAQCAtMSw0ICsxLDUgQEAKIC8qCisKICAqIENv
cHlyaWdodCAoQykgMjAxMC0yMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAq
IENvcHlyaWdodCAoQykgMjAxMCBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlh
cnkoLWllcykuCiAgKgpAQCAtMjQ3LDEwICsyNDgsMTAgQEAgcHJpdmF0ZToKIAogI2lmIEVOQUJM
RShHUFVfUFJPQ0VTUykKICAgICBSZWZQdHI8V2ViQ29yZTo6SW1hZ2VCdWZmZXI+IGNyZWF0ZUlt
YWdlQnVmZmVyKGNvbnN0IFdlYkNvcmU6OkZsb2F0U2l6ZSYsIFdlYkNvcmU6OlJlbmRlcmluZ01v
ZGUsIFdlYkNvcmU6OlJlbmRlcmluZ1B1cnBvc2UsIGZsb2F0IHJlc29sdXRpb25TY2FsZSwgY29u
c3QgV2ViQ29yZTo6RGVzdGluYXRpb25Db2xvclNwYWNlJiwgV2ViQ29yZTo6UGl4ZWxGb3JtYXQp
IGNvbnN0IGZpbmFsOworI2VuZGlmCiAjaWYgRU5BQkxFKFdFQkdMKQogICAgIFJlZlB0cjxXZWJD
b3JlOjpHcmFwaGljc0NvbnRleHRHTD4gY3JlYXRlR3JhcGhpY3NDb250ZXh0R0woY29uc3QgV2Vi
Q29yZTo6R3JhcGhpY3NDb250ZXh0R0xBdHRyaWJ1dGVzJiwgV2ViQ29yZTo6UGxhdGZvcm1EaXNw
bGF5SUQgaG9zdFdpbmRvd0Rpc3BsYXlJRCkgY29uc3QgZmluYWw7CiAjZW5kaWYKLSNlbmRpZgog
CiAKICAgICBDb21wb3NpdGluZ1RyaWdnZXJGbGFncyBhbGxvd2VkQ29tcG9zaXRpbmdUcmlnZ2Vy
cygpIGNvbnN0IGZpbmFsCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>445258</attachid>
            <date>2021-11-29 01:57:50 -0800</date>
            <delta_ts>2021-11-29 02:49:51 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-233517-20211129115748.patch</filename>
            <type>text/plain</type>
            <size>19427</size>
            <attacher name="Kimmo Kinnunen">kkinnunen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2MjA1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2QwMWUxZDNhZmU2YTIw
MGQxOGNjMjc4YjEyYjA2ZGM1MTE4Y2JkMy4uZDZmMzgzOTRiNzBiM2IxMjFhYTFhNmM2YmJiN2Fk
MDhhNTUyZTZjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDIxLTExLTI5ICBLaW1t
byBLaW5udW5lbiAgPGtraW5udW5lbkBhcHBsZS5jb20+CisKKyAgICAgICAgR1BVUCBHcmFwaGlj
c0NvbnRleHRHTCBjcmVhdGlvbiBmYWlsdXJlIGNhbm5vdCBiZSBkZXRlY3RlZAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMzNTE3CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgQW50dGkgS29pdmlzdG8uCisKKyAgICAgICAgQmVmb3JlLCBjb25jcmV0ZSBg
R3JhcGhpY3NDb250ZXh0R0xgIGluc3RhbmNlIHdhcyBjcmVhdGVkIHdpdGggYEdyYXBoaWNzQ29u
dGV4dEdMOjpjcmVhdGUoKWAKKyAgICAgICAgd2hpY2ggd291bGQgaW50ZXJuYWxseSB1c2UgaG9z
dCB3aW5kb3cgYXMgYSBmYWN0b3J5IGlmIHBvc3NpYmxlLiBJZiB0aGlzIHByb2R1Y2VkIG51bGws
IGl0IHdvdWxkCisgICAgICAgIGNyZWF0ZSB0aGUgImRlZmF1bHQiIEdyYXBoaWNzQ29udGV4dEdM
IHN1YmNsYXNzIGluc3RhbmNlLgorICAgICAgICBXaXRoIEdQVVAsIGl0IGRvZXMgbm90IG1ha2Ug
c2Vuc2UgdG8gY3JlYXRlICJkZWZhdWx0IiB0eXBlLCBhcyB0aGF0IGluLXByb2Nlc3MgY29udGV4
dHMgc2hvdWxkIG5ldmVyCisgICAgICAgIGJlIHVzZWQuCisgICAgICAgIEl0IGFsc28gZG9lcyBu
b3QgbWFrZSBzZW5zZSB0byBjcmVhdGUgImRlZmF1bHQiLCBhcyBpdCdzIHVuY2xlYXIgd2hhdCB0
aGUgImRlZmF1bHQiIHR5cGUgaXMuCisgICAgICAgIEluc3RlYWQsIHVzZSB0aGUgaG9zdCB3aW5k
b3csIGkuZS4gdGhlIGNocm9tZSBjbGllbnQsIHRvIGFsd2F5cyBjcmVhdGUgdGhlIEdyYXBoaWNz
Q29udGV4dEdMIGluc3RhbmNlCisgICAgICAgIHRvIFdlYkdMLiBJZiB0aGlzIGZhaWxzLCB0aGUg
V2ViR0wgc2hvdWxkIGJlIHVuYXZhaWxhYmxlLgorICAgICAgICBSZW1vdmUgR3JhcGhpY3NDb250
ZXh0R0w6OmNyZWF0ZSgpIGFzIHRoYXQgaXMgbm90IHVzZWZ1bC4gVGhlIGNhbGxlcnMgc2hvdWxk
IGVpdGhlcgorICAgICAgICBleHBsaWNpdGx5IHNwZWNpZnkgd2hhdCBzdWJjbGFzcyB0byB1c2Us
IGZvciBleGFtcGxlIGluIHRlc3RpbmcsIG9yIHVzZSB0aGUgcG9seW1vcmhwaWMgZmFjdG9yeQor
ICAgICAgICAoQ2hyb21lQ2xpZW50KSB3aGljaCBrbm93cyB0aGUgcG9saWN5LgorCisgICAgICAg
IEZpeCBhIGJ1ZyB3aGVyZSBHUFVQIFdlYkdMIHdvdWxkIHVzZSBpbi1wcm9jZXNzIGNvbnRleHQg
aWYgdGhlIGxvc3QgY29udGV4dCB3b3VsZCBiZSByZWNyZWF0ZWQuCisKKyAgICAgICAgTm8gbmV3
IHRlc3RzLCBhIHJlZmFjdG9yLgorCisgICAgICAgICogUGxhdGZvcm1NYWMuY21ha2U6CisgICAg
ICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGh0bWwv
Y2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
V2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6Oldl
YkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6Om1heWJlUmVzdG9yZUNvbnRleHQpOgorICAgICAgICAq
IHBhZ2UvQ2hyb21lQ2xpZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWVDbGllbnQ6OmNy
ZWF0ZUdyYXBoaWNzQ29udGV4dEdMIGNvbnN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9XZWJQcm9jZXNzR3JhcGhpY3NDb250ZXh0R0wuaDogQWRkZWQuCisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvY29jb2EvV2ViUHJvY2Vzc0dyYXBoaWNzQ29udGV4dEdMQ29jb2EubW06Cisg
ICAgICAgIChXZWJDb3JlOjpjcmVhdGVXZWJQcm9jZXNzR3JhcGhpY3NDb250ZXh0R0wpOgorICAg
ICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6OmNyZWF0ZSk6IERlbGV0ZWQu
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dEdMT3Bl
bkdMLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0dyYXBoaWNzQ29udGV4
dEdMVGV4dHVyZU1hcHBlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjcmVhdGVXZWJQcm9jZXNz
R3JhcGhpY3NDb250ZXh0R0wpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0R0xP
cGVuR0w6OmNyZWF0ZSk6IERlbGV0ZWQuCisgICAgICAgICogcGxhdGZvcm0veHIvb3BlbnhyL1Bs
YXRmb3JtWFJPcGVuWFIuY3BwOgorICAgICAgICAoUGxhdGZvcm1YUjo6T3BlblhSRGV2aWNlOjpp
bml0aWFsaXplVHJhY2tpbmdBbmRSZW5kZXJpbmcpOgorICAgICAgICAqIHRlc3RpbmcvV2ViRmFr
ZVhSRGV2aWNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNpbXVsYXRlZFhSRGV2aWNlOjppbml0
aWFsaXplVHJhY2tpbmdBbmRSZW5kZXJpbmcpOgorCiAyMDIxLTExLTI5ICBLaW1tbyBLaW5udW5l
biAgPGtraW5udW5lbkBhcHBsZS5jb20+CiAKICAgICAgICAgR3JhcGhpY3NDb250ZXh0R0xBTkdM
RS5jcHAgaGFzIHBsYXRmb3JtIHNwZWNpZmljIGNvZGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggNDIwNmFjMDIwZGUz
MDc1MGIwY2FmNGE0NWFlNTI4NWM2Yzg0Mzk4Ni4uNGFkOTI5ODVjOTBkNDgxYmQzZjc2MzRmODEz
OWRmZjYyN2ZjYzA3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAyMS0xMS0yOSAgS2lt
bW8gS2lubnVuZW4gIDxra2lubnVuZW5AYXBwbGUuY29tPgorCisgICAgICAgIEdQVVAgR3JhcGhp
Y3NDb250ZXh0R0wgY3JlYXRpb24gZmFpbHVyZSBjYW5ub3QgYmUgZGV0ZWN0ZWQKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMzUxNworCisgICAgICAg
IFJldmlld2VkIGJ5IEFudHRpIEtvaXZpc3RvLgorCisgICAgICAgIElmIEdQVVAgYEdyYXBoaWNz
Q29udGV4dEdMYCBjcmVhdGlvbiBmYWlscywgcmV0dXJuIG51bGxwdHIgaW5zdGVhZCBvZgorICAg
ICAgICB0cnlpbmcgdG8gY3JlYXRlIGEgaW4tcHJvY2VzcyBjb250ZXh0LgorCisgICAgICAgIEVu
YWJsZSBgV2ViQ2hyb21lQ2xpZW50OjpjcmVhdGVHcmFwaGljc0NvbnRleHRHTCgpYCBjYWxsIGZv
ciBub24tR1BVIHByb2Nlc3MKKyAgICAgICAgY29tcGlsYXRpb24sIGFzIHRoZSBmdW5jdGlvbiBp
cyBub3cgYWx3YXlzIGNhbGxlZC4gUmV0dXJuaW5nIG51bGxwdHIgc2lnbmlmaWVzIGZhaWx1cmUK
KyAgICAgICAgdG8gY3JlYXRlIHRoZSBjb250ZXh0LCBub3QgYSBzaWduYWwgdG8gcmV0cnkgc29t
ZSBvdGhlciB0eXBlLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJD
aHJvbWVDbGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJDaHJvbWVDbGllbnQ6OmNyZWF0
ZUdyYXBoaWNzQ29udGV4dEdMIGNvbnN0KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVT
dXBwb3J0L1dlYkNocm9tZUNsaWVudC5oOgorCiAyMDIxLTExLTI4ICBNeWxlcyBDLiBNYXhmaWVs
ZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CiAKICAgICAgICAgW1dlYkdQVV0gQWRkIFdlYktpdCBE
ZXJpdmVkU291cmNlcyB0byBYY29kZSBwcm9qZWN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggN2Q1ZmRkMGE3NDM4NDI2NzllYzE3
YzIxMWUyNmI1N2RhN2JkMmJlYy4uZTRkOWZmMDI3NGE3YjM3NWI5Y2I0N2QzYTY4M2Q1MDNkODA1
MDVkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagpAQCAtNzQzMSw3ICs3NDMxLDcgQEAKIAkJMUM5MDc4RTMyNzUxRkRBOTAwNEVGMTY1
IC8qIEpTR1BVUmVuZGVyRW5jb2RlckJhc2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNHUFVSZW5kZXJF
bmNvZGVyQmFzZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQzkwNzhFNDI3NTFG
REE5MDA0RUYxNjUgLyogSlNHUFVJbWFnZUNvcHlUZXh0dXJlLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpT
R1BVSW1hZ2VDb3B5VGV4dHVyZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQzkw
NzhFNTI3NTFGREFBMDA0RUYxNjUgLyogSlNHUFVDb21wdXRlUGFzc1RpbWVzdGFtcFdyaXRlLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTR1BVQ29tcHV0ZVBhc3NUaW1lc3RhbXBXcml0ZS5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTFDOTA3OEU3Mjc1MUZGMTIwMDRFRjE2NSAv
KiBKU0dQVVZlcnRleFN0ZXBNb2RlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEpTR1BVVmVydGV4U3RlcE1v
ZGUuaDsgcGF0aCA9IEpTR1BVVmVydGV4U3RlcE1vZGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJMUM5MDc4RTcyNzUxRkYxMjAwNEVGMTY1IC8qIEpTR1BVVmVydGV4U3RlcE1vZGUu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gSlNHUFVWZXJ0ZXhTdGVwTW9kZS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQkxQ0E0RkM0QzI3MzRERUMyMDAyN0ZENUEgLyogR1BVVGV4dHVyZVZpZXcu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gR1BVVGV4dHVyZVZpZXcuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQkxQ0E0RkM1MTI3MzRFQkNBMDAyN0ZENUEgLyogR1BVQWRkcmVzc01v
ZGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gR1BVQWRkcmVzc01vZGUuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJMUNBNEZDNTMyNzM0RUJDQjAwMjdGRDVBIC8qIEdQVVNhbXBsZXIuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gR1BVU2FtcGxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0
QmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRl
eHRCYXNlLmNwcAppbmRleCAzMzkyNWJjNmFjOGQ4N2I0MTA2YjA2MzFlZDM0MjkwMzlhNzhhZmU0
Li5mZWQxZjIyODdhNzMzNjIwZTg2ZGE0ZjkxMWZmYWFlYTZiMjNhOTJlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNl
LmNwcApAQCAtNTUsNiArNTUsNyBAQAogI2luY2x1ZGUgIkhUTUxDYW52YXNFbGVtZW50LmgiCiAj
aW5jbHVkZSAiSFRNTEltYWdlRWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxWaWRlb0VsZW1lbnQu
aCIKKyNpbmNsdWRlICJIb3N0V2luZG93LmgiCiAjaW5jbHVkZSAiSW1hZ2VCaXRtYXAuaCIKICNp
bmNsdWRlICJJbWFnZUJ1ZmZlci5oIgogI2luY2x1ZGUgIkltYWdlRGF0YS5oIgpAQCAtODU5LDcg
Kzg2MCw3IEBAIHN0ZDo6dW5pcXVlX3B0cjxXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlPiBXZWJH
TFJlbmRlcmluZ0NvbnRleHRCYXNlOjpjcmVhdGUoQ2FuCiAgICAgICAgIHJlbmRlcmluZ0NvbnRl
eHQtPnN1c3BlbmRJZk5lZWRlZCgpOwogICAgICAgICByZXR1cm4gcmVuZGVyaW5nQ29udGV4dDsK
ICAgICB9Ci0gICAgYXV0byBjb250ZXh0ID0gR3JhcGhpY3NDb250ZXh0R0w6OmNyZWF0ZShhdHRy
aWJ1dGVzLCBob3N0V2luZG93KTsKKyAgICBhdXRvIGNvbnRleHQgPSBob3N0V2luZG93LT5jcmVh
dGVHcmFwaGljc0NvbnRleHRHTChhdHRyaWJ1dGVzKTsKICAgICBpZiAoIWNvbnRleHQpIHsKICAg
ICAgICAgaWYgKGNhbnZhc0VsZW1lbnQpIHsKICAgICAgICAgICAgIGNhbnZhc0VsZW1lbnQtPmRp
c3BhdGNoRXZlbnQoV2ViR0xDb250ZXh0RXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkud2ViZ2xj
b250ZXh0Y3JlYXRpb25lcnJvckV2ZW50LApAQCAtNzc1NSw3ICs3NzU2LDcgQEAgdm9pZCBXZWJH
TFJlbmRlcmluZ0NvbnRleHRCYXNlOjptYXliZVJlc3RvcmVDb250ZXh0KCkKICAgICBpZiAoIWhv
c3RXaW5kb3cpCiAgICAgICAgIHJldHVybjsKIAotICAgIFJlZlB0cjxHcmFwaGljc0NvbnRleHRH
TD4gY29udGV4dChHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6Y3JlYXRlKG1fYXR0cmlidXRlcywg
aG9zdFdpbmRvdykpOworICAgIFJlZlB0cjxHcmFwaGljc0NvbnRleHRHTD4gY29udGV4dCA9IGhv
c3RXaW5kb3ctPmNyZWF0ZUdyYXBoaWNzQ29udGV4dEdMKG1fYXR0cmlidXRlcyk7CiAgICAgaWYg
KCFjb250ZXh0KSB7CiAgICAgICAgIGlmIChtX2NvbnRleHRMb3N0TW9kZSA9PSBSZWFsTG9zdENv
bnRleHQpCiAgICAgICAgICAgICBtX3Jlc3RvcmVUaW1lci5zdGFydE9uZVNob3Qoc2Vjb25kc0Jl
dHdlZW5SZXN0b3JlQXR0ZW1wdHMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9D
aHJvbWVDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKaW5kZXgg
ZjIzOTE0NTcwNmQwYjE5MDU0MTBhZDhlNjZjZmU5OTAwY2RjNzZlZS4uMTM1OWU5OWZmMTUxMDk1
NWM5NjQ2NTIyMjc4ZWY3MTRjMjRhY2FhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9DaHJvbWVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5o
CkBAIC04Niw2ICs4NiwxMCBAQCBjbGFzcyBIVE1MTW9kZWxFbGVtZW50OwogI2luY2x1ZGUgIlBs
YXRmb3JtWFIuaCIKICNlbmRpZgogCisjaWYgRU5BQkxFKFdFQkdMKQorI2luY2x1ZGUgIkdyYXBo
aWNzQ29udGV4dEdMLmgiCisjZW5kaWYKKwogT0JKQ19DTEFTUyBOU1Jlc3BvbmRlcjsKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewpAQCAtMzUzLDcgKzM1Nyw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFs
IFJlZlB0cjxJbWFnZUJ1ZmZlcj4gY3JlYXRlSW1hZ2VCdWZmZXIoY29uc3QgRmxvYXRTaXplJiwg
UmVuZGVyaW5nTW9kZSwgUmVuZGVyaW5nUHVycG9zZSwgZmxvYXQsIGNvbnN0IERlc3RpbmF0aW9u
Q29sb3JTcGFjZSYsIFBpeGVsRm9ybWF0KSBjb25zdCB7IHJldHVybiBudWxscHRyOyB9CiAKICNp
ZiBFTkFCTEUoV0VCR0wpCi0gICAgdmlydHVhbCBSZWZQdHI8R3JhcGhpY3NDb250ZXh0R0w+IGNy
ZWF0ZUdyYXBoaWNzQ29udGV4dEdMKGNvbnN0IEdyYXBoaWNzQ29udGV4dEdMQXR0cmlidXRlcyYs
IFdlYkNvcmU6OlBsYXRmb3JtRGlzcGxheUlEKSBjb25zdCB7IHJldHVybiBudWxscHRyOyB9Cisg
ICAgdmlydHVhbCBSZWZQdHI8R3JhcGhpY3NDb250ZXh0R0w+IGNyZWF0ZUdyYXBoaWNzQ29udGV4
dEdMKGNvbnN0IEdyYXBoaWNzQ29udGV4dEdMQXR0cmlidXRlcyYgYXR0cmlidXRlcywgV2ViQ29y
ZTo6UGxhdGZvcm1EaXNwbGF5SUQpIGNvbnN0IHsgcmV0dXJuIGNyZWF0ZVdlYlByb2Nlc3NHcmFw
aGljc0NvbnRleHRHTChhdHRyaWJ1dGVzKTsgfQogI2VuZGlmCiAKICAgICAvLyBQYXNzIG51bGxw
dHIgYXMgdGhlIEdyYXBoaWNzTGF5ZXIgdG8gZGV0YXRjaCB0aGUgcm9vdCBsYXllci4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dEdM
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dEdM
LmNwcAppbmRleCA3ZjJhMWZkMjhiMzEyOGYwZGU3YTcxMjVlM2RjYzZjOWNiYzhkY2E0Li5kNjBj
MzdhOWZmZTVjMmNiZTAzNjZlMjc2ZDg0ODg2NjViZDZlMjBiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHRHTC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0R0wuY3BwCkBAIC0z
NTEsMTYgKzM1MSw2IEBAIEdyYXBoaWNzQ29udGV4dEdMOjpDbGllbnQ6OkNsaWVudCgpID0gZGVm
YXVsdDsKIAogR3JhcGhpY3NDb250ZXh0R0w6OkNsaWVudDo6fkNsaWVudCgpID0gZGVmYXVsdDsK
IAotUmVmUHRyPEdyYXBoaWNzQ29udGV4dEdMPiBHcmFwaGljc0NvbnRleHRHTDo6Y3JlYXRlKGNv
bnN0IEdyYXBoaWNzQ29udGV4dEdMQXR0cmlidXRlcyYgYXR0cmlidXRlcywgSG9zdFdpbmRvdyog
aG9zdFdpbmRvdykKLXsKLSAgICBSZWZQdHI8R3JhcGhpY3NDb250ZXh0R0w+IHJlc3VsdDsKLSAg
ICBpZiAoaG9zdFdpbmRvdykKLSAgICAgICAgcmVzdWx0ID0gaG9zdFdpbmRvdy0+Y3JlYXRlR3Jh
cGhpY3NDb250ZXh0R0woYXR0cmlidXRlcyk7Ci0gICAgaWYgKCFyZXN1bHQpCi0gICAgICAgIHJl
c3VsdCA9IEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjpjcmVhdGUoYXR0cmlidXRlcywgaG9zdFdp
bmRvdyk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQogR3JhcGhpY3NDb250ZXh0R0w6OkdyYXBo
aWNzQ29udGV4dEdMKEdyYXBoaWNzQ29udGV4dEdMQXR0cmlidXRlcyBhdHRycykKICAgICA6IG1f
YXR0cnMoYXR0cnMpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9HcmFwaGljc0NvbnRleHRHTC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvR3JhcGhpY3NDb250ZXh0R0wuaAppbmRleCA2NDFiN2I2YWMzZWIwNTU0NzkxN2Q2YTNmYmVh
MDkyYWI3Y2RjN2MwLi5jMjA0NWM5ZDRlYzUzYjNiNTkxNWZhNWY3NGRjNjVkNTNjM2ZmYTJmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRl
eHRHTC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29u
dGV4dEdMLmgKQEAgLTkxMSwxMCArOTExLDYgQEAgcHVibGljOgogICAgICAgICBHQ0dMaW50IHNp
emU7CiAgICAgfTsKIAotICAgIC8vIENyZWF0ZXMgYSBHcmFwaGljc0NvbnRleHRHTCBpbnN0YW5j
ZSB0byByZW5kZXIgaW50byBvZmZzY3JlZW4gZGVzdGluYXRpb24gaW4gY29udGV4dCBvZiBIb3N0
V2luZG93LgotICAgIC8vIEhvc3RXaW5kb3cgbWlnaHQgYWZmZWN0IHRoZSBkZWNpc2lvbiB3aGlj
aCBiYWNrZW5kIGlzIHRvIGJlIHVzZWQuCi0gICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIFJlZlB0
cjxHcmFwaGljc0NvbnRleHRHTD4gY3JlYXRlKGNvbnN0IEdyYXBoaWNzQ29udGV4dEdMQXR0cmli
dXRlcyYsIEhvc3RXaW5kb3cqKTsKLQogICAgIFdFQkNPUkVfRVhQT1JUIEdyYXBoaWNzQ29udGV4
dEdMKEdyYXBoaWNzQ29udGV4dEdMQXR0cmlidXRlcyk7CiAgICAgV0VCQ09SRV9FWFBPUlQgdmly
dHVhbCB+R3JhcGhpY3NDb250ZXh0R0woKTsKIApAQCAtMTM2OSw2ICsxMzY1LDggQEAgcHJpdmF0
ZToKICAgICBHcmFwaGljc0NvbnRleHRHTEF0dHJpYnV0ZXMgbV9hdHRyczsKIH07CiAKK1dFQkNP
UkVfRVhQT1JUIFJlZlB0cjxHcmFwaGljc0NvbnRleHRHTD4gY3JlYXRlV2ViUHJvY2Vzc0dyYXBo
aWNzQ29udGV4dEdMKGNvbnN0IEdyYXBoaWNzQ29udGV4dEdMQXR0cmlidXRlcyYpOworCiBpbmxp
bmUgR0NHTGZsb2F0IEdyYXBoaWNzQ29udGV4dEdMOjpnZXRGbG9hdChHQ0dMZW51bSBwbmFtZSkK
IHsKICAgICBHQ0dMZmxvYXQgdmFsdWVbMV0geyB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViUHJvY2Vzc0dyYXBoaWNzQ29udGV4dEdMQ29j
b2EubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJQcm9jZXNz
R3JhcGhpY3NDb250ZXh0R0xDb2NvYS5tbQppbmRleCA4NWY0OTdhMzc0NjY2MDAzZjc5ZDAwMmQ2
ZDlkNWQxMzIzMmRiNjJiLi4zZWZiMjM4YTk5YjllOWU1MTdjZDI2YmU3YjUzNTc5OGM4OWY0NzI1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJQ
cm9jZXNzR3JhcGhpY3NDb250ZXh0R0xDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJQcm9jZXNzR3JhcGhpY3NDb250ZXh0R0xDb2NvYS5tbQpA
QCAtNjMsNyArNjMsNyBAQCBwcml2YXRlOgogICAgIH0KICAgICBSZXRhaW5QdHI8V2ViR0xMYXll
cj4gbV93ZWJHTExheWVyOwogCi0gICAgZnJpZW5kIGNsYXNzIEdyYXBoaWNzQ29udGV4dEdMT3Bl
bkdMOworICAgIGZyaWVuZCBSZWZQdHI8R3JhcGhpY3NDb250ZXh0R0w+IFdlYkNvcmU6OmNyZWF0
ZVdlYlByb2Nlc3NHcmFwaGljc0NvbnRleHRHTChjb25zdCBHcmFwaGljc0NvbnRleHRHTEF0dHJp
YnV0ZXMmKTsKIH07CiAKIHZvaWQgV2ViUHJvY2Vzc0dyYXBoaWNzQ29udGV4dEdMQ29jb2E6OnBy
ZXBhcmVGb3JEaXNwbGF5KCkKQEAgLTgwLDE5ICs4MCwxOSBAQCB2b2lkIFdlYlByb2Nlc3NHcmFw
aGljc0NvbnRleHRHTENvY29hOjpwcmVwYXJlRm9yRGlzcGxheSgpCiAKIH0KIAotUmVmUHRyPEdy
YXBoaWNzQ29udGV4dEdMT3BlbkdMPiBHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6Y3JlYXRlKEdy
YXBoaWNzQ29udGV4dEdMQXR0cmlidXRlcyBhdHRyaWJ1dGVzLCBIb3N0V2luZG93KikKK1JlZlB0
cjxHcmFwaGljc0NvbnRleHRHTD4gY3JlYXRlV2ViUHJvY2Vzc0dyYXBoaWNzQ29udGV4dEdMKGNv
bnN0IEdyYXBoaWNzQ29udGV4dEdMQXR0cmlidXRlcyYgYXR0cmlidXRlcykKIHsKICAgICAvLyBN
YWtlIHNwYWNlIGZvciB0aGUgaW5jb21pbmcgY29udGV4dCBpZiB3ZSdyZSBmdWxsLgogICAgIEdy
YXBoaWNzQ29udGV4dEdMT3BlbkdMTWFuYWdlcjo6c2hhcmVkTWFuYWdlcigpLnJlY3ljbGVDb250
ZXh0SWZOZWNlc3NhcnkoKTsKICAgICBpZiAoR3JhcGhpY3NDb250ZXh0R0xPcGVuR0xNYW5hZ2Vy
OjpzaGFyZWRNYW5hZ2VyKCkuaGFzVG9vTWFueUNvbnRleHRzKCkpCiAgICAgICAgIHJldHVybiBu
dWxscHRyOwotICAgIGF1dG8gY29udGV4dCA9IGFkb3B0UmVmKG5ldyBXZWJQcm9jZXNzR3JhcGhp
Y3NDb250ZXh0R0xDb2NvYShXVEZNb3ZlKGF0dHJpYnV0ZXMpKSk7CisgICAgYXV0byBjb250ZXh0
ID0gYWRvcHRSZWYobmV3IFdlYlByb2Nlc3NHcmFwaGljc0NvbnRleHRHTENvY29hKEdyYXBoaWNz
Q29udGV4dEdMQXR0cmlidXRlcyB7IGF0dHJpYnV0ZXMgfSkpOwogICAgIGlmICghY29udGV4dC0+
aXNWYWxpZCgpKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICBHcmFwaGljc0NvbnRleHRH
TE9wZW5HTE1hbmFnZXI6OnNoYXJlZE1hbmFnZXIoKS5hZGRDb250ZXh0KGNvbnRleHQuZ2V0KCkp
OwotCiAgICAgcmV0dXJuIGNvbnRleHQ7CiB9CisKIH0KIAogI2VuZGlmCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvR3JhcGhpY3NDb250ZXh0R0xP
cGVuR0wuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGlj
c0NvbnRleHRHTE9wZW5HTC5oCmluZGV4IDI5NGMwYzZhZWE0NjMxNjIyZTA1N2IwM2U5ZjljZjhm
NWNjMGZmMzcuLjZjODFlYTdhODg5NTQwZDUzZTA2NWQ0NTM0YjQ2OTU2ZjIwY2ZhMWYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0Nv
bnRleHRHTE9wZW5HTC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29w
ZW5nbC9HcmFwaGljc0NvbnRleHRHTE9wZW5HTC5oCkBAIC0xMDAsNyArMTAwLDYgQEAgdHlwZWRl
ZiBIYXNoTWFwPENTdHJpbmcsIHVpbnQ2NF90PiBTaGFkZXJOYW1lSGFzaDsKIGNsYXNzIFdFQkNP
UkVfRVhQT1JUIEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMIDogcHVibGljIEdyYXBoaWNzQ29udGV4
dEdMCiB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFJlZlB0cjxHcmFwaGljc0NvbnRleHRHTE9wZW5H
TD4gY3JlYXRlKEdyYXBoaWNzQ29udGV4dEdMQXR0cmlidXRlcywgSG9zdFdpbmRvdyopOwogICAg
IHZpcnR1YWwgfkdyYXBoaWNzQ29udGV4dEdMT3BlbkdMKCk7CiAgICAgUGxhdGZvcm1MYXllciog
cGxhdGZvcm1MYXllcigpIGNvbnN0IG92ZXJyaWRlOwogI2lmIFVTRShBTkdMRSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9HcmFwaGljc0NvbnRl
eHRHTFRleHR1cmVNYXBwZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
dGV4bWFwL0dyYXBoaWNzQ29udGV4dEdMVGV4dHVyZU1hcHBlci5jcHAKaW5kZXggYTc3MWYwN2Ew
MmVkNDRhNjdlMDgyZDQ4MTE2OGJmNTg4ZGZkY2ExMC4uNWQ1NTk2ZjA5Y2QyMmJlMDFhN2E1ZjZk
Yzk1ODgwZTE0MjJiYmYxOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvdGV4bWFwL0dyYXBoaWNzQ29udGV4dEdMVGV4dHVyZU1hcHBlci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0dyYXBoaWNzQ29udGV4dEdMVGV4
dHVyZU1hcHBlci5jcHAKQEAgLTM1LDYgKzM1LDcgQEAKICNpbmNsdWRlICJHcmFwaGljc0NvbnRl
eHRHTE9wZW5HTE1hbmFnZXIuaCIKICNpbmNsdWRlICJQaXhlbEJ1ZmZlci5oIgogI2luY2x1ZGUg
IlRleHR1cmVNYXBwZXJHQ0dMUGxhdGZvcm1MYXllci5oIgorI2luY2x1ZGUgIldlYlByb2Nlc3NH
cmFwaGljc0NvbnRleHRHTC5oIgogI2luY2x1ZGUgPHd0Zi9EZXF1ZS5oPgogI2luY2x1ZGUgPHd0
Zi9OZXZlckRlc3Ryb3llZC5oPgogCkBAIC05Myw3ICs5NCw3IEBAIEdyYXBoaWNzQ29udGV4dEdM
VGV4dHVyZU1hcHBlcjo6R3JhcGhpY3NDb250ZXh0R0xUZXh0dXJlTWFwcGVyKEdyYXBoaWNzQ29u
dGV4dEdMCiAKIC8vIEZJWE1FOiBCZWxvdyBmdW5jdGlvbmFsaXR5IHNob3VsZCBiZSBtb3ZlZCB0
byBHcmFwaGljc0NvbnRleHRHTFRleHR1cmVNYXBwZXIgdG8gc2ltcGxpZnkgdGhlIGJhc2UgY2xh
c3MuCiAKLVJlZlB0cjxHcmFwaGljc0NvbnRleHRHTE9wZW5HTD4gR3JhcGhpY3NDb250ZXh0R0xP
cGVuR0w6OmNyZWF0ZShHcmFwaGljc0NvbnRleHRHTEF0dHJpYnV0ZXMgYXR0cmlidXRlcywgSG9z
dFdpbmRvdyopCitSZWZQdHI8R3JhcGhpY3NDb250ZXh0R0w+IGNyZWF0ZVdlYlByb2Nlc3NHcmFw
aGljc0NvbnRleHRHTChjb25zdCBHcmFwaGljc0NvbnRleHRHTEF0dHJpYnV0ZXMmIGF0dHJpYnV0
ZXMpCiB7CiAgICAgc3RhdGljIGJvb2wgaW5pdGlhbGl6ZWQgPSBmYWxzZTsKICAgICBzdGF0aWMg
Ym9vbCBzdWNjZXNzID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L3hyL29wZW54ci9QbGF0Zm9ybVhST3BlblhSLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L3hyL29wZW54ci9QbGF0Zm9ybVhST3BlblhSLmNwcAppbmRleCAyZDk1ZWEzM2ViNjI1N2Q1ZWEy
MjRkNTBhYjE2MDYyNGYzYzA1YTg1Li5jNTJkMjZhYzk0YWRlZGEwNDkyOTU1N2Y5ZjA4MmQwNzUz
YmI3YzBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS94ci9vcGVueHIvUGxh
dGZvcm1YUk9wZW5YUi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0veHIvb3Blbnhy
L1BsYXRmb3JtWFJPcGVuWFIuY3BwCkBAIC0yNSw3ICsyNSw3IEBACiAjaW5jbHVkZSAiT3BlblhS
RXh0ZW5zaW9ucy5oIgogI2luY2x1ZGUgIk9wZW5YUklucHV0LmgiCiAjaW5jbHVkZSAiT3BlblhS
SW5wdXRTb3VyY2UuaCIKLQorI2luY2x1ZGUgIldlYlByb2Nlc3NHcmFwaGljc0NvbnRleHRHTC5o
IgogI2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgogI2luY2x1ZGUgPHd0Zi90aHJlYWRz
L0JpbmFyeVNlbWFwaG9yZS5oPgogCkBAIC0xMTQsNyArMTE0LDcgQEAgdm9pZCBPcGVuWFJEZXZp
Y2U6OmluaXRpYWxpemVUcmFja2luZ0FuZFJlbmRlcmluZyhTZXNzaW9uTW9kZSBtb2RlKQogICAg
ICAgICBhdHRyaWJ1dGVzLnN0ZW5jaWwgPSBmYWxzZTsKICAgICAgICAgYXR0cmlidXRlcy5hbnRp
YWxpYXMgPSBmYWxzZTsKIAotICAgICAgICBtX2dsID0gR3JhcGhpY3NDb250ZXh0R0w6OmNyZWF0
ZShhdHRyaWJ1dGVzLCBudWxscHRyKTsKKyAgICAgICAgbV9nbCA9IGNyZWF0ZVdlYlByb2Nlc3NH
cmFwaGljc0NvbnRleHRHTChhdHRyaWJ1dGVzKTsKICAgICAgICAgaWYgKCFtX2dsKSB7CiAgICAg
ICAgICAgICBMT0coWFIsICJGYWlsZWQgdG8gY3JlYXRlIGEgdmFsaWQgR3JhcGhpY3NDb250ZXh0
R0wiKTsKICAgICAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rl
c3RpbmcvV2ViRmFrZVhSRGV2aWNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvV2ViRmFr
ZVhSRGV2aWNlLmNwcAppbmRleCA2MjFkZTZiN2VkYTdjZjc3ODQ4NzgzM2MxZDJiNGM3NGEzYzMy
MzZhLi44NWRlYTNlNzQwZjZmMDA4NGQzOTRlM2MzYjNiZjllMWRiNjg3Yjk3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL1dlYkZha2VYUkRldmljZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvdGVzdGluZy9XZWJGYWtlWFJEZXZpY2UuY3BwCkBAIC0zMiw2ICszMiw3IEBACiAj
aW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0R0wuaCIKICNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZl
cnJlZC5oIgogI2luY2x1ZGUgIldlYkZha2VYUklucHV0Q29udHJvbGxlci5oIgorI2luY2x1ZGUg
IldlYlByb2Nlc3NHcmFwaGljc0NvbnRleHRHTC5oIgogI2luY2x1ZGUgPHd0Zi9Db21wbGV0aW9u
SGFuZGxlci5oPgogI2luY2x1ZGUgPHd0Zi9NYXRoRXh0cmFzLmg+CiAKQEAgLTEwOSw3ICsxMTAs
NyBAQCB2b2lkIFNpbXVsYXRlZFhSRGV2aWNlOjppbml0aWFsaXplVHJhY2tpbmdBbmRSZW5kZXJp
bmcoUGxhdGZvcm1YUjo6U2Vzc2lvbk1vZGUpCiAgICAgYXR0cmlidXRlcy5kZXB0aCA9IGZhbHNl
OwogICAgIGF0dHJpYnV0ZXMuc3RlbmNpbCA9IGZhbHNlOwogICAgIGF0dHJpYnV0ZXMuYW50aWFs
aWFzID0gZmFsc2U7Ci0gICAgbV9nbCA9IEdyYXBoaWNzQ29udGV4dEdMOjpjcmVhdGUoYXR0cmli
dXRlcywgbnVsbHB0cik7CisgICAgbV9nbCA9IGNyZWF0ZVdlYlByb2Nlc3NHcmFwaGljc0NvbnRl
eHRHTChhdHRyaWJ1dGVzKTsKIAogICAgIGlmIChtX3RyYWNraW5nQW5kUmVuZGVyaW5nQ2xpZW50
KSB7CiAgICAgICAgIC8vIFdlYlhSIEZha2VEZXZpY2Ugd2FpdHMgZm9yIHNpbXVsYXRlSW5wdXRD
b25uZWN0aW9uIGNhbGxzIHRvIGFkZCBpbnB1dCBzb3VyY2VzLQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAgYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNw
cAppbmRleCA0MzZhNWE1MjAzNWEwNjU3NTg5YzBlOTBiMDg0MmM0MzM2NTgxZTNkLi4wYTNhNjI2
Yjg3YjQ5NzlhMGFkMzcwZjliOTgxODc2ZDAyZDgwNjQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNw
cApAQCAtMTE3LDEwICsxMTcsMTQgQEAKICNpbmNsdWRlIDxXZWJDb3JlL01vY2tXZWJBdXRoZW50
aWNhdGlvbkNvbmZpZ3VyYXRpb24uaD4KICNlbmRpZgogCi0jaWYgUExBVEZPUk0oQ09DT0EpIHx8
IFBMQVRGT1JNKFdJTikKKyNpZiBFTkFCTEUoV0VCR0wpICYmIEVOQUJMRShHUFVfUFJPQ0VTUykg
JiYgKFBMQVRGT1JNKENPQ09BKSB8fCBQTEFURk9STShXSU4pKQogI2luY2x1ZGUgIlJlbW90ZUdy
YXBoaWNzQ29udGV4dEdMUHJveHkuaCIKICNlbmRpZgogCisjaWYgRU5BQkxFKFdFQkdMKQorI2lu
Y2x1ZGUgPFdlYkNvcmUvV2ViUHJvY2Vzc0dyYXBoaWNzQ29udGV4dEdMLmg+CisjZW5kaWYKKwog
I2lmIFBMQVRGT1JNKE1BQykKICNpbmNsdWRlICJUaWxlZENvcmVBbmltYXRpb25TY3JvbGxpbmdD
b29yZGluYXRvci5oIgogI2VuZGlmCkBAIC05MjEsNyArOTI1LDYgQEAgV2ViQ29yZTo6RGlzcGxh
eVJlZnJlc2hNb25pdG9yRmFjdG9yeSogV2ViQ2hyb21lQ2xpZW50OjpkaXNwbGF5UmVmcmVzaE1v
bml0b3JGYWMKIH0KIAogI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykKLQogUmVmUHRyPEltYWdlQnVm
ZmVyPiBXZWJDaHJvbWVDbGllbnQ6OmNyZWF0ZUltYWdlQnVmZmVyKGNvbnN0IEZsb2F0U2l6ZSYg
c2l6ZSwgUmVuZGVyaW5nTW9kZSByZW5kZXJpbmdNb2RlLCBSZW5kZXJpbmdQdXJwb3NlIHB1cnBv
c2UsIGZsb2F0IHJlc29sdXRpb25TY2FsZSwgY29uc3QgRGVzdGluYXRpb25Db2xvclNwYWNlJiBj
b2xvclNwYWNlLCBQaXhlbEZvcm1hdCBwaXhlbEZvcm1hdCkgY29uc3QKIHsKICAgICBpZiAoIVdl
YlByb2Nlc3M6OnNpbmdsZXRvbigpLnNob3VsZFVzZVJlbW90ZVJlbmRlcmluZ0ZvcihwdXJwb3Nl
KSkKQEAgLTkyOSwyNSArOTMyLDE5IEBAIFJlZlB0cjxJbWFnZUJ1ZmZlcj4gV2ViQ2hyb21lQ2xp
ZW50OjpjcmVhdGVJbWFnZUJ1ZmZlcihjb25zdCBGbG9hdFNpemUmIHNpemUsIFJlCiAKICAgICBy
ZXR1cm4gbV9wYWdlLmVuc3VyZVJlbW90ZVJlbmRlcmluZ0JhY2tlbmRQcm94eSgpLmNyZWF0ZUlt
YWdlQnVmZmVyKHNpemUsIHJlbmRlcmluZ01vZGUsIHJlc29sdXRpb25TY2FsZSwgY29sb3JTcGFj
ZSwgcGl4ZWxGb3JtYXQpOwogfQorI2VuZGlmCiAKICNpZiBFTkFCTEUoV0VCR0wpCi0KLVJlZlB0
cjxHcmFwaGljc0NvbnRleHRHTD4gV2ViQ2hyb21lQ2xpZW50OjpjcmVhdGVHcmFwaGljc0NvbnRl
eHRHTChjb25zdCBHcmFwaGljc0NvbnRleHRHTEF0dHJpYnV0ZXMmIGF0dHJpYnV0ZXMsIFBsYXRm
b3JtRGlzcGxheUlEIGhvc3RXaW5kb3dEaXNwbGF5SUQpIGNvbnN0CitSZWZQdHI8R3JhcGhpY3ND
b250ZXh0R0w+IFdlYkNocm9tZUNsaWVudDo6Y3JlYXRlR3JhcGhpY3NDb250ZXh0R0woY29uc3Qg
R3JhcGhpY3NDb250ZXh0R0xBdHRyaWJ1dGVzJiBhdHRyaWJ1dGVzLCBQbGF0Zm9ybURpc3BsYXlJ
RCkgY29uc3QKIHsKLSAgICBpZiAoIVdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLnNob3VsZFVzZVJl
bW90ZVJlbmRlcmluZ0ZvcldlYkdMKCkpCi0gICAgICAgIHJldHVybiBudWxscHRyOwotICAgIFVO
VVNFRF9WQVJJQUJMRShob3N0V2luZG93RGlzcGxheUlEKTsKLSNpZiBQTEFURk9STShDT0NPQSkg
fHwgUExBVEZPUk0oV0lOKQotICAgIHJldHVybiBSZW1vdGVHcmFwaGljc0NvbnRleHRHTFByb3h5
OjpjcmVhdGUoYXR0cmlidXRlcywgbV9wYWdlLmVuc3VyZVJlbW90ZVJlbmRlcmluZ0JhY2tlbmRQ
cm94eSgpLmVuc3VyZUJhY2tlbmRDcmVhdGVkKCkpOwotI2Vsc2UKLSAgICByZXR1cm4gbnVsbHB0
cjsKKyNpZiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIChQTEFURk9STShDT0NPQSkgfHwgUExBVEZP
Uk0oV0lOKSkKKyAgICBpZiAoV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkuc2hvdWxkVXNlUmVtb3Rl
UmVuZGVyaW5nRm9yV2ViR0woKSkKKyAgICAgICAgcmV0dXJuIFJlbW90ZUdyYXBoaWNzQ29udGV4
dEdMUHJveHk6OmNyZWF0ZShhdHRyaWJ1dGVzLCBtX3BhZ2UuZW5zdXJlUmVtb3RlUmVuZGVyaW5n
QmFja2VuZFByb3h5KCkuZW5zdXJlQmFja2VuZENyZWF0ZWQoKSk7CiAjZW5kaWYKKyAgICByZXR1
cm4gV2ViQ29yZTo6Y3JlYXRlV2ViUHJvY2Vzc0dyYXBoaWNzQ29udGV4dEdMKGF0dHJpYnV0ZXMp
OwogfQotCiAjZW5kaWYKIAotI2VuZGlmIC8vIEVOQUJMRShHUFVfUFJPQ0VTUykKLQogdm9pZCBX
ZWJDaHJvbWVDbGllbnQ6OmF0dGFjaFJvb3RHcmFwaGljc0xheWVyKEZyYW1lJiwgR3JhcGhpY3NM
YXllciogbGF5ZXIpCiB7CiAgICAgaWYgKGxheWVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCmluZGV4IDJm
ZTMyOTAzNDM0N2NlZDI4ZjgxMDU3ZGEzZmVjMjMzMDdhZTcwODQuLjBlZGIzMmNhYTFiY2JmNmEy
Yjg5YjU3NzE2N2JlY2E3NGJjYTEzYmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKQEAgLTI0NywxMCAr
MjQ3LDEwIEBAIHByaXZhdGU6CiAKICNpZiBFTkFCTEUoR1BVX1BST0NFU1MpCiAgICAgUmVmUHRy
PFdlYkNvcmU6OkltYWdlQnVmZmVyPiBjcmVhdGVJbWFnZUJ1ZmZlcihjb25zdCBXZWJDb3JlOjpG
bG9hdFNpemUmLCBXZWJDb3JlOjpSZW5kZXJpbmdNb2RlLCBXZWJDb3JlOjpSZW5kZXJpbmdQdXJw
b3NlLCBmbG9hdCByZXNvbHV0aW9uU2NhbGUsIGNvbnN0IFdlYkNvcmU6OkRlc3RpbmF0aW9uQ29s
b3JTcGFjZSYsIFdlYkNvcmU6OlBpeGVsRm9ybWF0KSBjb25zdCBmaW5hbDsKKyNlbmRpZgogI2lm
IEVOQUJMRShXRUJHTCkKICAgICBSZWZQdHI8V2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0R0w+IGNy
ZWF0ZUdyYXBoaWNzQ29udGV4dEdMKGNvbnN0IFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dEdMQXR0
cmlidXRlcyYsIFdlYkNvcmU6OlBsYXRmb3JtRGlzcGxheUlEIGhvc3RXaW5kb3dEaXNwbGF5SUQp
IGNvbnN0IGZpbmFsOwogI2VuZGlmCi0jZW5kaWYKIAogCiAgICAgQ29tcG9zaXRpbmdUcmlnZ2Vy
RmxhZ3MgYWxsb3dlZENvbXBvc2l0aW5nVHJpZ2dlcnMoKSBjb25zdCBmaW5hbAo=
</data>
<flag name="commit-queue"
          id="470416"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>445262</attachid>
            <date>2021-11-29 02:43:14 -0800</date>
            <delta_ts>2021-11-29 04:06:20 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-233517-20211129124312.patch</filename>
            <type>text/plain</type>
            <size>19184</size>
            <attacher name="Kimmo Kinnunen">kkinnunen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2MjA1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2QwMWUxZDNhZmU2YTIw
MGQxOGNjMjc4YjEyYjA2ZGM1MTE4Y2JkMy4uZDZmMzgzOTRiNzBiM2IxMjFhYTFhNmM2YmJiN2Fk
MDhhNTUyZTZjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDIxLTExLTI5ICBLaW1t
byBLaW5udW5lbiAgPGtraW5udW5lbkBhcHBsZS5jb20+CisKKyAgICAgICAgR1BVUCBHcmFwaGlj
c0NvbnRleHRHTCBjcmVhdGlvbiBmYWlsdXJlIGNhbm5vdCBiZSBkZXRlY3RlZAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMzNTE3CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgQW50dGkgS29pdmlzdG8uCisKKyAgICAgICAgQmVmb3JlLCBjb25jcmV0ZSBg
R3JhcGhpY3NDb250ZXh0R0xgIGluc3RhbmNlIHdhcyBjcmVhdGVkIHdpdGggYEdyYXBoaWNzQ29u
dGV4dEdMOjpjcmVhdGUoKWAKKyAgICAgICAgd2hpY2ggd291bGQgaW50ZXJuYWxseSB1c2UgaG9z
dCB3aW5kb3cgYXMgYSBmYWN0b3J5IGlmIHBvc3NpYmxlLiBJZiB0aGlzIHByb2R1Y2VkIG51bGws
IGl0IHdvdWxkCisgICAgICAgIGNyZWF0ZSB0aGUgImRlZmF1bHQiIEdyYXBoaWNzQ29udGV4dEdM
IHN1YmNsYXNzIGluc3RhbmNlLgorICAgICAgICBXaXRoIEdQVVAsIGl0IGRvZXMgbm90IG1ha2Ug
c2Vuc2UgdG8gY3JlYXRlICJkZWZhdWx0IiB0eXBlLCBhcyB0aGF0IGluLXByb2Nlc3MgY29udGV4
dHMgc2hvdWxkIG5ldmVyCisgICAgICAgIGJlIHVzZWQuCisgICAgICAgIEl0IGFsc28gZG9lcyBu
b3QgbWFrZSBzZW5zZSB0byBjcmVhdGUgImRlZmF1bHQiLCBhcyBpdCdzIHVuY2xlYXIgd2hhdCB0
aGUgImRlZmF1bHQiIHR5cGUgaXMuCisgICAgICAgIEluc3RlYWQsIHVzZSB0aGUgaG9zdCB3aW5k
b3csIGkuZS4gdGhlIGNocm9tZSBjbGllbnQsIHRvIGFsd2F5cyBjcmVhdGUgdGhlIEdyYXBoaWNz
Q29udGV4dEdMIGluc3RhbmNlCisgICAgICAgIHRvIFdlYkdMLiBJZiB0aGlzIGZhaWxzLCB0aGUg
V2ViR0wgc2hvdWxkIGJlIHVuYXZhaWxhYmxlLgorICAgICAgICBSZW1vdmUgR3JhcGhpY3NDb250
ZXh0R0w6OmNyZWF0ZSgpIGFzIHRoYXQgaXMgbm90IHVzZWZ1bC4gVGhlIGNhbGxlcnMgc2hvdWxk
IGVpdGhlcgorICAgICAgICBleHBsaWNpdGx5IHNwZWNpZnkgd2hhdCBzdWJjbGFzcyB0byB1c2Us
IGZvciBleGFtcGxlIGluIHRlc3RpbmcsIG9yIHVzZSB0aGUgcG9seW1vcmhwaWMgZmFjdG9yeQor
ICAgICAgICAoQ2hyb21lQ2xpZW50KSB3aGljaCBrbm93cyB0aGUgcG9saWN5LgorCisgICAgICAg
IEZpeCBhIGJ1ZyB3aGVyZSBHUFVQIFdlYkdMIHdvdWxkIHVzZSBpbi1wcm9jZXNzIGNvbnRleHQg
aWYgdGhlIGxvc3QgY29udGV4dCB3b3VsZCBiZSByZWNyZWF0ZWQuCisKKyAgICAgICAgTm8gbmV3
IHRlc3RzLCBhIHJlZmFjdG9yLgorCisgICAgICAgICogUGxhdGZvcm1NYWMuY21ha2U6CisgICAg
ICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGh0bWwv
Y2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
V2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6Oldl
YkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6Om1heWJlUmVzdG9yZUNvbnRleHQpOgorICAgICAgICAq
IHBhZ2UvQ2hyb21lQ2xpZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWVDbGllbnQ6OmNy
ZWF0ZUdyYXBoaWNzQ29udGV4dEdMIGNvbnN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9XZWJQcm9jZXNzR3JhcGhpY3NDb250ZXh0R0wuaDogQWRkZWQuCisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvY29jb2EvV2ViUHJvY2Vzc0dyYXBoaWNzQ29udGV4dEdMQ29jb2EubW06Cisg
ICAgICAgIChXZWJDb3JlOjpjcmVhdGVXZWJQcm9jZXNzR3JhcGhpY3NDb250ZXh0R0wpOgorICAg
ICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6OmNyZWF0ZSk6IERlbGV0ZWQu
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dEdMT3Bl
bkdMLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0dyYXBoaWNzQ29udGV4
dEdMVGV4dHVyZU1hcHBlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjcmVhdGVXZWJQcm9jZXNz
R3JhcGhpY3NDb250ZXh0R0wpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0R0xP
cGVuR0w6OmNyZWF0ZSk6IERlbGV0ZWQuCisgICAgICAgICogcGxhdGZvcm0veHIvb3BlbnhyL1Bs
YXRmb3JtWFJPcGVuWFIuY3BwOgorICAgICAgICAoUGxhdGZvcm1YUjo6T3BlblhSRGV2aWNlOjpp
bml0aWFsaXplVHJhY2tpbmdBbmRSZW5kZXJpbmcpOgorICAgICAgICAqIHRlc3RpbmcvV2ViRmFr
ZVhSRGV2aWNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNpbXVsYXRlZFhSRGV2aWNlOjppbml0
aWFsaXplVHJhY2tpbmdBbmRSZW5kZXJpbmcpOgorCiAyMDIxLTExLTI5ICBLaW1tbyBLaW5udW5l
biAgPGtraW5udW5lbkBhcHBsZS5jb20+CiAKICAgICAgICAgR3JhcGhpY3NDb250ZXh0R0xBTkdM
RS5jcHAgaGFzIHBsYXRmb3JtIHNwZWNpZmljIGNvZGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggNDIwNmFjMDIwZGUz
MDc1MGIwY2FmNGE0NWFlNTI4NWM2Yzg0Mzk4Ni4uNGFkOTI5ODVjOTBkNDgxYmQzZjc2MzRmODEz
OWRmZjYyN2ZjYzA3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAyMS0xMS0yOSAgS2lt
bW8gS2lubnVuZW4gIDxra2lubnVuZW5AYXBwbGUuY29tPgorCisgICAgICAgIEdQVVAgR3JhcGhp
Y3NDb250ZXh0R0wgY3JlYXRpb24gZmFpbHVyZSBjYW5ub3QgYmUgZGV0ZWN0ZWQKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMzUxNworCisgICAgICAg
IFJldmlld2VkIGJ5IEFudHRpIEtvaXZpc3RvLgorCisgICAgICAgIElmIEdQVVAgYEdyYXBoaWNz
Q29udGV4dEdMYCBjcmVhdGlvbiBmYWlscywgcmV0dXJuIG51bGxwdHIgaW5zdGVhZCBvZgorICAg
ICAgICB0cnlpbmcgdG8gY3JlYXRlIGEgaW4tcHJvY2VzcyBjb250ZXh0LgorCisgICAgICAgIEVu
YWJsZSBgV2ViQ2hyb21lQ2xpZW50OjpjcmVhdGVHcmFwaGljc0NvbnRleHRHTCgpYCBjYWxsIGZv
ciBub24tR1BVIHByb2Nlc3MKKyAgICAgICAgY29tcGlsYXRpb24sIGFzIHRoZSBmdW5jdGlvbiBp
cyBub3cgYWx3YXlzIGNhbGxlZC4gUmV0dXJuaW5nIG51bGxwdHIgc2lnbmlmaWVzIGZhaWx1cmUK
KyAgICAgICAgdG8gY3JlYXRlIHRoZSBjb250ZXh0LCBub3QgYSBzaWduYWwgdG8gcmV0cnkgc29t
ZSBvdGhlciB0eXBlLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJD
aHJvbWVDbGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJDaHJvbWVDbGllbnQ6OmNyZWF0
ZUdyYXBoaWNzQ29udGV4dEdMIGNvbnN0KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVT
dXBwb3J0L1dlYkNocm9tZUNsaWVudC5oOgorCiAyMDIxLTExLTI4ICBNeWxlcyBDLiBNYXhmaWVs
ZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CiAKICAgICAgICAgW1dlYkdQVV0gQWRkIFdlYktpdCBE
ZXJpdmVkU291cmNlcyB0byBYY29kZSBwcm9qZWN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggN2Q1ZmRkMGE3NDM4NDI2NzllYzE3
YzIxMWUyNmI1N2RhN2JkMmJlYy4uZTRkOWZmMDI3NGE3YjM3NWI5Y2I0N2QzYTY4M2Q1MDNkODA1
MDVkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagpAQCAtNzQzMSw3ICs3NDMxLDcgQEAKIAkJMUM5MDc4RTMyNzUxRkRBOTAwNEVGMTY1
IC8qIEpTR1BVUmVuZGVyRW5jb2RlckJhc2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNHUFVSZW5kZXJF
bmNvZGVyQmFzZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQzkwNzhFNDI3NTFG
REE5MDA0RUYxNjUgLyogSlNHUFVJbWFnZUNvcHlUZXh0dXJlLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpT
R1BVSW1hZ2VDb3B5VGV4dHVyZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQzkw
NzhFNTI3NTFGREFBMDA0RUYxNjUgLyogSlNHUFVDb21wdXRlUGFzc1RpbWVzdGFtcFdyaXRlLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTR1BVQ29tcHV0ZVBhc3NUaW1lc3RhbXBXcml0ZS5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTFDOTA3OEU3Mjc1MUZGMTIwMDRFRjE2NSAv
KiBKU0dQVVZlcnRleFN0ZXBNb2RlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEpTR1BVVmVydGV4U3RlcE1v
ZGUuaDsgcGF0aCA9IEpTR1BVVmVydGV4U3RlcE1vZGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJMUM5MDc4RTcyNzUxRkYxMjAwNEVGMTY1IC8qIEpTR1BVVmVydGV4U3RlcE1vZGUu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gSlNHUFVWZXJ0ZXhTdGVwTW9kZS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQkxQ0E0RkM0QzI3MzRERUMyMDAyN0ZENUEgLyogR1BVVGV4dHVyZVZpZXcu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gR1BVVGV4dHVyZVZpZXcuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQkxQ0E0RkM1MTI3MzRFQkNBMDAyN0ZENUEgLyogR1BVQWRkcmVzc01v
ZGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gR1BVQWRkcmVzc01vZGUuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJMUNBNEZDNTMyNzM0RUJDQjAwMjdGRDVBIC8qIEdQVVNhbXBsZXIuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gR1BVU2FtcGxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0
QmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRl
eHRCYXNlLmNwcAppbmRleCAzMzkyNWJjNmFjOGQ4N2I0MTA2YjA2MzFlZDM0MjkwMzlhNzhhZmU0
Li5mZWQxZjIyODdhNzMzNjIwZTg2ZGE0ZjkxMWZmYWFlYTZiMjNhOTJlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNl
LmNwcApAQCAtNTUsNiArNTUsNyBAQAogI2luY2x1ZGUgIkhUTUxDYW52YXNFbGVtZW50LmgiCiAj
aW5jbHVkZSAiSFRNTEltYWdlRWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxWaWRlb0VsZW1lbnQu
aCIKKyNpbmNsdWRlICJIb3N0V2luZG93LmgiCiAjaW5jbHVkZSAiSW1hZ2VCaXRtYXAuaCIKICNp
bmNsdWRlICJJbWFnZUJ1ZmZlci5oIgogI2luY2x1ZGUgIkltYWdlRGF0YS5oIgpAQCAtODU5LDcg
Kzg2MCw3IEBAIHN0ZDo6dW5pcXVlX3B0cjxXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlPiBXZWJH
TFJlbmRlcmluZ0NvbnRleHRCYXNlOjpjcmVhdGUoQ2FuCiAgICAgICAgIHJlbmRlcmluZ0NvbnRl
eHQtPnN1c3BlbmRJZk5lZWRlZCgpOwogICAgICAgICByZXR1cm4gcmVuZGVyaW5nQ29udGV4dDsK
ICAgICB9Ci0gICAgYXV0byBjb250ZXh0ID0gR3JhcGhpY3NDb250ZXh0R0w6OmNyZWF0ZShhdHRy
aWJ1dGVzLCBob3N0V2luZG93KTsKKyAgICBhdXRvIGNvbnRleHQgPSBob3N0V2luZG93LT5jcmVh
dGVHcmFwaGljc0NvbnRleHRHTChhdHRyaWJ1dGVzKTsKICAgICBpZiAoIWNvbnRleHQpIHsKICAg
ICAgICAgaWYgKGNhbnZhc0VsZW1lbnQpIHsKICAgICAgICAgICAgIGNhbnZhc0VsZW1lbnQtPmRp
c3BhdGNoRXZlbnQoV2ViR0xDb250ZXh0RXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkud2ViZ2xj
b250ZXh0Y3JlYXRpb25lcnJvckV2ZW50LApAQCAtNzc1NSw3ICs3NzU2LDcgQEAgdm9pZCBXZWJH
TFJlbmRlcmluZ0NvbnRleHRCYXNlOjptYXliZVJlc3RvcmVDb250ZXh0KCkKICAgICBpZiAoIWhv
c3RXaW5kb3cpCiAgICAgICAgIHJldHVybjsKIAotICAgIFJlZlB0cjxHcmFwaGljc0NvbnRleHRH
TD4gY29udGV4dChHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6Y3JlYXRlKG1fYXR0cmlidXRlcywg
aG9zdFdpbmRvdykpOworICAgIFJlZlB0cjxHcmFwaGljc0NvbnRleHRHTD4gY29udGV4dCA9IGhv
c3RXaW5kb3ctPmNyZWF0ZUdyYXBoaWNzQ29udGV4dEdMKG1fYXR0cmlidXRlcyk7CiAgICAgaWYg
KCFjb250ZXh0KSB7CiAgICAgICAgIGlmIChtX2NvbnRleHRMb3N0TW9kZSA9PSBSZWFsTG9zdENv
bnRleHQpCiAgICAgICAgICAgICBtX3Jlc3RvcmVUaW1lci5zdGFydE9uZVNob3Qoc2Vjb25kc0Jl
dHdlZW5SZXN0b3JlQXR0ZW1wdHMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9D
aHJvbWVDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKaW5kZXgg
ZjIzOTE0NTcwNmQwYjE5MDU0MTBhZDhlNjZjZmU5OTAwY2RjNzZlZS4uMTM1OWU5OWZmMTUxMDk1
NWM5NjQ2NTIyMjc4ZWY3MTRjMjRhY2FhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9DaHJvbWVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5o
CkBAIC04Niw2ICs4NiwxMCBAQCBjbGFzcyBIVE1MTW9kZWxFbGVtZW50OwogI2luY2x1ZGUgIlBs
YXRmb3JtWFIuaCIKICNlbmRpZgogCisjaWYgRU5BQkxFKFdFQkdMKQorI2luY2x1ZGUgIkdyYXBo
aWNzQ29udGV4dEdMLmgiCisjZW5kaWYKKwogT0JKQ19DTEFTUyBOU1Jlc3BvbmRlcjsKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewpAQCAtMzUzLDcgKzM1Nyw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFs
IFJlZlB0cjxJbWFnZUJ1ZmZlcj4gY3JlYXRlSW1hZ2VCdWZmZXIoY29uc3QgRmxvYXRTaXplJiwg
UmVuZGVyaW5nTW9kZSwgUmVuZGVyaW5nUHVycG9zZSwgZmxvYXQsIGNvbnN0IERlc3RpbmF0aW9u
Q29sb3JTcGFjZSYsIFBpeGVsRm9ybWF0KSBjb25zdCB7IHJldHVybiBudWxscHRyOyB9CiAKICNp
ZiBFTkFCTEUoV0VCR0wpCi0gICAgdmlydHVhbCBSZWZQdHI8R3JhcGhpY3NDb250ZXh0R0w+IGNy
ZWF0ZUdyYXBoaWNzQ29udGV4dEdMKGNvbnN0IEdyYXBoaWNzQ29udGV4dEdMQXR0cmlidXRlcyYs
IFdlYkNvcmU6OlBsYXRmb3JtRGlzcGxheUlEKSBjb25zdCB7IHJldHVybiBudWxscHRyOyB9Cisg
ICAgdmlydHVhbCBSZWZQdHI8R3JhcGhpY3NDb250ZXh0R0w+IGNyZWF0ZUdyYXBoaWNzQ29udGV4
dEdMKGNvbnN0IEdyYXBoaWNzQ29udGV4dEdMQXR0cmlidXRlcyYgYXR0cmlidXRlcywgV2ViQ29y
ZTo6UGxhdGZvcm1EaXNwbGF5SUQpIGNvbnN0IHsgcmV0dXJuIGNyZWF0ZVdlYlByb2Nlc3NHcmFw
aGljc0NvbnRleHRHTChhdHRyaWJ1dGVzKTsgfQogI2VuZGlmCiAKICAgICAvLyBQYXNzIG51bGxw
dHIgYXMgdGhlIEdyYXBoaWNzTGF5ZXIgdG8gZGV0YXRjaCB0aGUgcm9vdCBsYXllci4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dEdM
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dEdM
LmNwcAppbmRleCA3ZjJhMWZkMjhiMzEyOGYwZGU3YTcxMjVlM2RjYzZjOWNiYzhkY2E0Li5kNjBj
MzdhOWZmZTVjMmNiZTAzNjZlMjc2ZDg0ODg2NjViZDZlMjBiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHRHTC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0R0wuY3BwCkBAIC0z
NTEsMTYgKzM1MSw2IEBAIEdyYXBoaWNzQ29udGV4dEdMOjpDbGllbnQ6OkNsaWVudCgpID0gZGVm
YXVsdDsKIAogR3JhcGhpY3NDb250ZXh0R0w6OkNsaWVudDo6fkNsaWVudCgpID0gZGVmYXVsdDsK
IAotUmVmUHRyPEdyYXBoaWNzQ29udGV4dEdMPiBHcmFwaGljc0NvbnRleHRHTDo6Y3JlYXRlKGNv
bnN0IEdyYXBoaWNzQ29udGV4dEdMQXR0cmlidXRlcyYgYXR0cmlidXRlcywgSG9zdFdpbmRvdyog
aG9zdFdpbmRvdykKLXsKLSAgICBSZWZQdHI8R3JhcGhpY3NDb250ZXh0R0w+IHJlc3VsdDsKLSAg
ICBpZiAoaG9zdFdpbmRvdykKLSAgICAgICAgcmVzdWx0ID0gaG9zdFdpbmRvdy0+Y3JlYXRlR3Jh
cGhpY3NDb250ZXh0R0woYXR0cmlidXRlcyk7Ci0gICAgaWYgKCFyZXN1bHQpCi0gICAgICAgIHJl
c3VsdCA9IEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjpjcmVhdGUoYXR0cmlidXRlcywgaG9zdFdp
bmRvdyk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQogR3JhcGhpY3NDb250ZXh0R0w6OkdyYXBo
aWNzQ29udGV4dEdMKEdyYXBoaWNzQ29udGV4dEdMQXR0cmlidXRlcyBhdHRycykKICAgICA6IG1f
YXR0cnMoYXR0cnMpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9HcmFwaGljc0NvbnRleHRHTC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvR3JhcGhpY3NDb250ZXh0R0wuaAppbmRleCA2NDFiN2I2YWMzZWIwNTU0NzkxN2Q2YTNmYmVh
MDkyYWI3Y2RjN2MwLi5jMjA0NWM5ZDRlYzUzYjNiNTkxNWZhNWY3NGRjNjVkNTNjM2ZmYTJmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRl
eHRHTC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29u
dGV4dEdMLmgKQEAgLTkxMSwxMCArOTExLDYgQEAgcHVibGljOgogICAgICAgICBHQ0dMaW50IHNp
emU7CiAgICAgfTsKIAotICAgIC8vIENyZWF0ZXMgYSBHcmFwaGljc0NvbnRleHRHTCBpbnN0YW5j
ZSB0byByZW5kZXIgaW50byBvZmZzY3JlZW4gZGVzdGluYXRpb24gaW4gY29udGV4dCBvZiBIb3N0
V2luZG93LgotICAgIC8vIEhvc3RXaW5kb3cgbWlnaHQgYWZmZWN0IHRoZSBkZWNpc2lvbiB3aGlj
aCBiYWNrZW5kIGlzIHRvIGJlIHVzZWQuCi0gICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIFJlZlB0
cjxHcmFwaGljc0NvbnRleHRHTD4gY3JlYXRlKGNvbnN0IEdyYXBoaWNzQ29udGV4dEdMQXR0cmli
dXRlcyYsIEhvc3RXaW5kb3cqKTsKLQogICAgIFdFQkNPUkVfRVhQT1JUIEdyYXBoaWNzQ29udGV4
dEdMKEdyYXBoaWNzQ29udGV4dEdMQXR0cmlidXRlcyk7CiAgICAgV0VCQ09SRV9FWFBPUlQgdmly
dHVhbCB+R3JhcGhpY3NDb250ZXh0R0woKTsKIApAQCAtMTM2OSw2ICsxMzY1LDggQEAgcHJpdmF0
ZToKICAgICBHcmFwaGljc0NvbnRleHRHTEF0dHJpYnV0ZXMgbV9hdHRyczsKIH07CiAKK1dFQkNP
UkVfRVhQT1JUIFJlZlB0cjxHcmFwaGljc0NvbnRleHRHTD4gY3JlYXRlV2ViUHJvY2Vzc0dyYXBo
aWNzQ29udGV4dEdMKGNvbnN0IEdyYXBoaWNzQ29udGV4dEdMQXR0cmlidXRlcyYpOworCiBpbmxp
bmUgR0NHTGZsb2F0IEdyYXBoaWNzQ29udGV4dEdMOjpnZXRGbG9hdChHQ0dMZW51bSBwbmFtZSkK
IHsKICAgICBHQ0dMZmxvYXQgdmFsdWVbMV0geyB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViUHJvY2Vzc0dyYXBoaWNzQ29udGV4dEdMQ29j
b2EubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJQcm9jZXNz
R3JhcGhpY3NDb250ZXh0R0xDb2NvYS5tbQppbmRleCA4NWY0OTdhMzc0NjY2MDAzZjc5ZDAwMmQ2
ZDlkNWQxMzIzMmRiNjJiLi4zZWZiMjM4YTk5YjllOWU1MTdjZDI2YmU3YjUzNTc5OGM4OWY0NzI1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJQ
cm9jZXNzR3JhcGhpY3NDb250ZXh0R0xDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJQcm9jZXNzR3JhcGhpY3NDb250ZXh0R0xDb2NvYS5tbQpA
QCAtNjMsNyArNjMsNyBAQCBwcml2YXRlOgogICAgIH0KICAgICBSZXRhaW5QdHI8V2ViR0xMYXll
cj4gbV93ZWJHTExheWVyOwogCi0gICAgZnJpZW5kIGNsYXNzIEdyYXBoaWNzQ29udGV4dEdMT3Bl
bkdMOworICAgIGZyaWVuZCBSZWZQdHI8R3JhcGhpY3NDb250ZXh0R0w+IFdlYkNvcmU6OmNyZWF0
ZVdlYlByb2Nlc3NHcmFwaGljc0NvbnRleHRHTChjb25zdCBHcmFwaGljc0NvbnRleHRHTEF0dHJp
YnV0ZXMmKTsKIH07CiAKIHZvaWQgV2ViUHJvY2Vzc0dyYXBoaWNzQ29udGV4dEdMQ29jb2E6OnBy
ZXBhcmVGb3JEaXNwbGF5KCkKQEAgLTgwLDE5ICs4MCwxOSBAQCB2b2lkIFdlYlByb2Nlc3NHcmFw
aGljc0NvbnRleHRHTENvY29hOjpwcmVwYXJlRm9yRGlzcGxheSgpCiAKIH0KIAotUmVmUHRyPEdy
YXBoaWNzQ29udGV4dEdMT3BlbkdMPiBHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6Y3JlYXRlKEdy
YXBoaWNzQ29udGV4dEdMQXR0cmlidXRlcyBhdHRyaWJ1dGVzLCBIb3N0V2luZG93KikKK1JlZlB0
cjxHcmFwaGljc0NvbnRleHRHTD4gY3JlYXRlV2ViUHJvY2Vzc0dyYXBoaWNzQ29udGV4dEdMKGNv
bnN0IEdyYXBoaWNzQ29udGV4dEdMQXR0cmlidXRlcyYgYXR0cmlidXRlcykKIHsKICAgICAvLyBN
YWtlIHNwYWNlIGZvciB0aGUgaW5jb21pbmcgY29udGV4dCBpZiB3ZSdyZSBmdWxsLgogICAgIEdy
YXBoaWNzQ29udGV4dEdMT3BlbkdMTWFuYWdlcjo6c2hhcmVkTWFuYWdlcigpLnJlY3ljbGVDb250
ZXh0SWZOZWNlc3NhcnkoKTsKICAgICBpZiAoR3JhcGhpY3NDb250ZXh0R0xPcGVuR0xNYW5hZ2Vy
OjpzaGFyZWRNYW5hZ2VyKCkuaGFzVG9vTWFueUNvbnRleHRzKCkpCiAgICAgICAgIHJldHVybiBu
dWxscHRyOwotICAgIGF1dG8gY29udGV4dCA9IGFkb3B0UmVmKG5ldyBXZWJQcm9jZXNzR3JhcGhp
Y3NDb250ZXh0R0xDb2NvYShXVEZNb3ZlKGF0dHJpYnV0ZXMpKSk7CisgICAgYXV0byBjb250ZXh0
ID0gYWRvcHRSZWYobmV3IFdlYlByb2Nlc3NHcmFwaGljc0NvbnRleHRHTENvY29hKEdyYXBoaWNz
Q29udGV4dEdMQXR0cmlidXRlcyB7IGF0dHJpYnV0ZXMgfSkpOwogICAgIGlmICghY29udGV4dC0+
aXNWYWxpZCgpKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICBHcmFwaGljc0NvbnRleHRH
TE9wZW5HTE1hbmFnZXI6OnNoYXJlZE1hbmFnZXIoKS5hZGRDb250ZXh0KGNvbnRleHQuZ2V0KCkp
OwotCiAgICAgcmV0dXJuIGNvbnRleHQ7CiB9CisKIH0KIAogI2VuZGlmCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvR3JhcGhpY3NDb250ZXh0R0xP
cGVuR0wuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGlj
c0NvbnRleHRHTE9wZW5HTC5oCmluZGV4IDI5NGMwYzZhZWE0NjMxNjIyZTA1N2IwM2U5ZjljZjhm
NWNjMGZmMzcuLjZjODFlYTdhODg5NTQwZDUzZTA2NWQ0NTM0YjQ2OTU2ZjIwY2ZhMWYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0Nv
bnRleHRHTE9wZW5HTC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29w
ZW5nbC9HcmFwaGljc0NvbnRleHRHTE9wZW5HTC5oCkBAIC0xMDAsNyArMTAwLDYgQEAgdHlwZWRl
ZiBIYXNoTWFwPENTdHJpbmcsIHVpbnQ2NF90PiBTaGFkZXJOYW1lSGFzaDsKIGNsYXNzIFdFQkNP
UkVfRVhQT1JUIEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMIDogcHVibGljIEdyYXBoaWNzQ29udGV4
dEdMCiB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFJlZlB0cjxHcmFwaGljc0NvbnRleHRHTE9wZW5H
TD4gY3JlYXRlKEdyYXBoaWNzQ29udGV4dEdMQXR0cmlidXRlcywgSG9zdFdpbmRvdyopOwogICAg
IHZpcnR1YWwgfkdyYXBoaWNzQ29udGV4dEdMT3BlbkdMKCk7CiAgICAgUGxhdGZvcm1MYXllciog
cGxhdGZvcm1MYXllcigpIGNvbnN0IG92ZXJyaWRlOwogI2lmIFVTRShBTkdMRSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9HcmFwaGljc0NvbnRl
eHRHTFRleHR1cmVNYXBwZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
dGV4bWFwL0dyYXBoaWNzQ29udGV4dEdMVGV4dHVyZU1hcHBlci5jcHAKaW5kZXggYTc3MWYwN2Ew
MmVkNDRhNjdlMDgyZDQ4MTE2OGJmNTg4ZGZkY2ExMC4uNWQ1NTk2ZjA5Y2QyMmJlMDFhN2E1ZjZk
Yzk1ODgwZTE0MjJiYmYxOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvdGV4bWFwL0dyYXBoaWNzQ29udGV4dEdMVGV4dHVyZU1hcHBlci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0dyYXBoaWNzQ29udGV4dEdMVGV4
dHVyZU1hcHBlci5jcHAKQEAgLTM1LDYgKzM1LDcgQEAKICNpbmNsdWRlICJHcmFwaGljc0NvbnRl
eHRHTE9wZW5HTE1hbmFnZXIuaCIKICNpbmNsdWRlICJQaXhlbEJ1ZmZlci5oIgogI2luY2x1ZGUg
IlRleHR1cmVNYXBwZXJHQ0dMUGxhdGZvcm1MYXllci5oIgorI2luY2x1ZGUgIldlYlByb2Nlc3NH
cmFwaGljc0NvbnRleHRHTC5oIgogI2luY2x1ZGUgPHd0Zi9EZXF1ZS5oPgogI2luY2x1ZGUgPHd0
Zi9OZXZlckRlc3Ryb3llZC5oPgogCkBAIC05Myw3ICs5NCw3IEBAIEdyYXBoaWNzQ29udGV4dEdM
VGV4dHVyZU1hcHBlcjo6R3JhcGhpY3NDb250ZXh0R0xUZXh0dXJlTWFwcGVyKEdyYXBoaWNzQ29u
dGV4dEdMCiAKIC8vIEZJWE1FOiBCZWxvdyBmdW5jdGlvbmFsaXR5IHNob3VsZCBiZSBtb3ZlZCB0
byBHcmFwaGljc0NvbnRleHRHTFRleHR1cmVNYXBwZXIgdG8gc2ltcGxpZnkgdGhlIGJhc2UgY2xh
c3MuCiAKLVJlZlB0cjxHcmFwaGljc0NvbnRleHRHTE9wZW5HTD4gR3JhcGhpY3NDb250ZXh0R0xP
cGVuR0w6OmNyZWF0ZShHcmFwaGljc0NvbnRleHRHTEF0dHJpYnV0ZXMgYXR0cmlidXRlcywgSG9z
dFdpbmRvdyopCitSZWZQdHI8R3JhcGhpY3NDb250ZXh0R0w+IGNyZWF0ZVdlYlByb2Nlc3NHcmFw
aGljc0NvbnRleHRHTChjb25zdCBHcmFwaGljc0NvbnRleHRHTEF0dHJpYnV0ZXMmIGF0dHJpYnV0
ZXMpCiB7CiAgICAgc3RhdGljIGJvb2wgaW5pdGlhbGl6ZWQgPSBmYWxzZTsKICAgICBzdGF0aWMg
Ym9vbCBzdWNjZXNzID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L3hyL29wZW54ci9QbGF0Zm9ybVhST3BlblhSLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L3hyL29wZW54ci9QbGF0Zm9ybVhST3BlblhSLmNwcAppbmRleCAyZDk1ZWEzM2ViNjI1N2Q1ZWEy
MjRkNTBhYjE2MDYyNGYzYzA1YTg1Li5jNTJkMjZhYzk0YWRlZGEwNDkyOTU1N2Y5ZjA4MmQwNzUz
YmI3YzBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS94ci9vcGVueHIvUGxh
dGZvcm1YUk9wZW5YUi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0veHIvb3Blbnhy
L1BsYXRmb3JtWFJPcGVuWFIuY3BwCkBAIC0yNSw3ICsyNSw3IEBACiAjaW5jbHVkZSAiT3BlblhS
RXh0ZW5zaW9ucy5oIgogI2luY2x1ZGUgIk9wZW5YUklucHV0LmgiCiAjaW5jbHVkZSAiT3BlblhS
SW5wdXRTb3VyY2UuaCIKLQorI2luY2x1ZGUgIldlYlByb2Nlc3NHcmFwaGljc0NvbnRleHRHTC5o
IgogI2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgogI2luY2x1ZGUgPHd0Zi90aHJlYWRz
L0JpbmFyeVNlbWFwaG9yZS5oPgogCkBAIC0xMTQsNyArMTE0LDcgQEAgdm9pZCBPcGVuWFJEZXZp
Y2U6OmluaXRpYWxpemVUcmFja2luZ0FuZFJlbmRlcmluZyhTZXNzaW9uTW9kZSBtb2RlKQogICAg
ICAgICBhdHRyaWJ1dGVzLnN0ZW5jaWwgPSBmYWxzZTsKICAgICAgICAgYXR0cmlidXRlcy5hbnRp
YWxpYXMgPSBmYWxzZTsKIAotICAgICAgICBtX2dsID0gR3JhcGhpY3NDb250ZXh0R0w6OmNyZWF0
ZShhdHRyaWJ1dGVzLCBudWxscHRyKTsKKyAgICAgICAgbV9nbCA9IGNyZWF0ZVdlYlByb2Nlc3NH
cmFwaGljc0NvbnRleHRHTChhdHRyaWJ1dGVzKTsKICAgICAgICAgaWYgKCFtX2dsKSB7CiAgICAg
ICAgICAgICBMT0coWFIsICJGYWlsZWQgdG8gY3JlYXRlIGEgdmFsaWQgR3JhcGhpY3NDb250ZXh0
R0wiKTsKICAgICAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rl
c3RpbmcvV2ViRmFrZVhSRGV2aWNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvV2ViRmFr
ZVhSRGV2aWNlLmNwcAppbmRleCA2MjFkZTZiN2VkYTdjZjc3ODQ4NzgzM2MxZDJiNGM3NGEzYzMy
MzZhLi5iYjBjNTUyNmJhNTBkOGUyNThjOWRjYjkwNGQ2NmJmMDM1NDZhMjI0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL1dlYkZha2VYUkRldmljZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvdGVzdGluZy9XZWJGYWtlWFJEZXZpY2UuY3BwCkBAIC0xMDksNyArMTA5LDcgQEAg
dm9pZCBTaW11bGF0ZWRYUkRldmljZTo6aW5pdGlhbGl6ZVRyYWNraW5nQW5kUmVuZGVyaW5nKFBs
YXRmb3JtWFI6OlNlc3Npb25Nb2RlKQogICAgIGF0dHJpYnV0ZXMuZGVwdGggPSBmYWxzZTsKICAg
ICBhdHRyaWJ1dGVzLnN0ZW5jaWwgPSBmYWxzZTsKICAgICBhdHRyaWJ1dGVzLmFudGlhbGlhcyA9
IGZhbHNlOwotICAgIG1fZ2wgPSBHcmFwaGljc0NvbnRleHRHTDo6Y3JlYXRlKGF0dHJpYnV0ZXMs
IG51bGxwdHIpOworICAgIG1fZ2wgPSBjcmVhdGVXZWJQcm9jZXNzR3JhcGhpY3NDb250ZXh0R0wo
YXR0cmlidXRlcyk7CiAKICAgICBpZiAobV90cmFja2luZ0FuZFJlbmRlcmluZ0NsaWVudCkgewog
ICAgICAgICAvLyBXZWJYUiBGYWtlRGV2aWNlIHdhaXRzIGZvciBzaW11bGF0ZUlucHV0Q29ubmVj
dGlvbiBjYWxscyB0byBhZGQgaW5wdXQgc291cmNlcy0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKaW5k
ZXggNDM2YTVhNTIwMzVhMDY1NzU4OWMwZTkwYjA4NDJjNDMzNjU4MWUzZC4uMzYyNzM4NjJkZjRk
YWI4MDVkYzRiMTljZjdjMDZjYjE1OWFiZWQwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKQEAg
LTExNywxMCArMTE3LDE0IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9Nb2NrV2ViQXV0aGVudGljYXRp
b25Db25maWd1cmF0aW9uLmg+CiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKENPQ09BKSB8fCBQTEFU
Rk9STShXSU4pCisjaWYgRU5BQkxFKFdFQkdMKSAmJiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIChQ
TEFURk9STShDT0NPQSkgfHwgUExBVEZPUk0oV0lOKSkKICNpbmNsdWRlICJSZW1vdGVHcmFwaGlj
c0NvbnRleHRHTFByb3h5LmgiCiAjZW5kaWYKIAorI2lmIEVOQUJMRShXRUJHTCkKKyNpbmNsdWRl
IDxXZWJDb3JlL0dyYXBoaWNzQ29udGV4dEdMLmg+CisjZW5kaWYKKwogI2lmIFBMQVRGT1JNKE1B
QykKICNpbmNsdWRlICJUaWxlZENvcmVBbmltYXRpb25TY3JvbGxpbmdDb29yZGluYXRvci5oIgog
I2VuZGlmCkBAIC05MjEsNyArOTI1LDYgQEAgV2ViQ29yZTo6RGlzcGxheVJlZnJlc2hNb25pdG9y
RmFjdG9yeSogV2ViQ2hyb21lQ2xpZW50OjpkaXNwbGF5UmVmcmVzaE1vbml0b3JGYWMKIH0KIAog
I2lmIEVOQUJMRShHUFVfUFJPQ0VTUykKLQogUmVmUHRyPEltYWdlQnVmZmVyPiBXZWJDaHJvbWVD
bGllbnQ6OmNyZWF0ZUltYWdlQnVmZmVyKGNvbnN0IEZsb2F0U2l6ZSYgc2l6ZSwgUmVuZGVyaW5n
TW9kZSByZW5kZXJpbmdNb2RlLCBSZW5kZXJpbmdQdXJwb3NlIHB1cnBvc2UsIGZsb2F0IHJlc29s
dXRpb25TY2FsZSwgY29uc3QgRGVzdGluYXRpb25Db2xvclNwYWNlJiBjb2xvclNwYWNlLCBQaXhl
bEZvcm1hdCBwaXhlbEZvcm1hdCkgY29uc3QKIHsKICAgICBpZiAoIVdlYlByb2Nlc3M6OnNpbmds
ZXRvbigpLnNob3VsZFVzZVJlbW90ZVJlbmRlcmluZ0ZvcihwdXJwb3NlKSkKQEAgLTkyOSwyNSAr
OTMyLDE5IEBAIFJlZlB0cjxJbWFnZUJ1ZmZlcj4gV2ViQ2hyb21lQ2xpZW50OjpjcmVhdGVJbWFn
ZUJ1ZmZlcihjb25zdCBGbG9hdFNpemUmIHNpemUsIFJlCiAKICAgICByZXR1cm4gbV9wYWdlLmVu
c3VyZVJlbW90ZVJlbmRlcmluZ0JhY2tlbmRQcm94eSgpLmNyZWF0ZUltYWdlQnVmZmVyKHNpemUs
IHJlbmRlcmluZ01vZGUsIHJlc29sdXRpb25TY2FsZSwgY29sb3JTcGFjZSwgcGl4ZWxGb3JtYXQp
OwogfQorI2VuZGlmCiAKICNpZiBFTkFCTEUoV0VCR0wpCi0KLVJlZlB0cjxHcmFwaGljc0NvbnRl
eHRHTD4gV2ViQ2hyb21lQ2xpZW50OjpjcmVhdGVHcmFwaGljc0NvbnRleHRHTChjb25zdCBHcmFw
aGljc0NvbnRleHRHTEF0dHJpYnV0ZXMmIGF0dHJpYnV0ZXMsIFBsYXRmb3JtRGlzcGxheUlEIGhv
c3RXaW5kb3dEaXNwbGF5SUQpIGNvbnN0CitSZWZQdHI8R3JhcGhpY3NDb250ZXh0R0w+IFdlYkNo
cm9tZUNsaWVudDo6Y3JlYXRlR3JhcGhpY3NDb250ZXh0R0woY29uc3QgR3JhcGhpY3NDb250ZXh0
R0xBdHRyaWJ1dGVzJiBhdHRyaWJ1dGVzLCBQbGF0Zm9ybURpc3BsYXlJRCkgY29uc3QKIHsKLSAg
ICBpZiAoIVdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLnNob3VsZFVzZVJlbW90ZVJlbmRlcmluZ0Zv
cldlYkdMKCkpCi0gICAgICAgIHJldHVybiBudWxscHRyOwotICAgIFVOVVNFRF9WQVJJQUJMRSho
b3N0V2luZG93RGlzcGxheUlEKTsKLSNpZiBQTEFURk9STShDT0NPQSkgfHwgUExBVEZPUk0oV0lO
KQotICAgIHJldHVybiBSZW1vdGVHcmFwaGljc0NvbnRleHRHTFByb3h5OjpjcmVhdGUoYXR0cmli
dXRlcywgbV9wYWdlLmVuc3VyZVJlbW90ZVJlbmRlcmluZ0JhY2tlbmRQcm94eSgpLmVuc3VyZUJh
Y2tlbmRDcmVhdGVkKCkpOwotI2Vsc2UKLSAgICByZXR1cm4gbnVsbHB0cjsKKyNpZiBFTkFCTEUo
R1BVX1BST0NFU1MpICYmIChQTEFURk9STShDT0NPQSkgfHwgUExBVEZPUk0oV0lOKSkKKyAgICBp
ZiAoV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkuc2hvdWxkVXNlUmVtb3RlUmVuZGVyaW5nRm9yV2Vi
R0woKSkKKyAgICAgICAgcmV0dXJuIFJlbW90ZUdyYXBoaWNzQ29udGV4dEdMUHJveHk6OmNyZWF0
ZShhdHRyaWJ1dGVzLCBtX3BhZ2UuZW5zdXJlUmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5KCku
ZW5zdXJlQmFja2VuZENyZWF0ZWQoKSk7CiAjZW5kaWYKKyAgICByZXR1cm4gV2ViQ29yZTo6Y3Jl
YXRlV2ViUHJvY2Vzc0dyYXBoaWNzQ29udGV4dEdMKGF0dHJpYnV0ZXMpOwogfQotCiAjZW5kaWYK
IAotI2VuZGlmIC8vIEVOQUJMRShHUFVfUFJPQ0VTUykKLQogdm9pZCBXZWJDaHJvbWVDbGllbnQ6
OmF0dGFjaFJvb3RHcmFwaGljc0xheWVyKEZyYW1lJiwgR3JhcGhpY3NMYXllciogbGF5ZXIpCiB7
CiAgICAgaWYgKGxheWVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCmluZGV4IDJmZTMyOTAzNDM0N2NlZDI4
ZjgxMDU3ZGEzZmVjMjMzMDdhZTcwODQuLjBlZGIzMmNhYTFiY2JmNmEyYjg5YjU3NzE2N2JlY2E3
NGJjYTEzYmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3Vw
cG9ydC9XZWJDaHJvbWVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
Q29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKQEAgLTI0NywxMCArMjQ3LDEwIEBAIHByaXZh
dGU6CiAKICNpZiBFTkFCTEUoR1BVX1BST0NFU1MpCiAgICAgUmVmUHRyPFdlYkNvcmU6OkltYWdl
QnVmZmVyPiBjcmVhdGVJbWFnZUJ1ZmZlcihjb25zdCBXZWJDb3JlOjpGbG9hdFNpemUmLCBXZWJD
b3JlOjpSZW5kZXJpbmdNb2RlLCBXZWJDb3JlOjpSZW5kZXJpbmdQdXJwb3NlLCBmbG9hdCByZXNv
bHV0aW9uU2NhbGUsIGNvbnN0IFdlYkNvcmU6OkRlc3RpbmF0aW9uQ29sb3JTcGFjZSYsIFdlYkNv
cmU6OlBpeGVsRm9ybWF0KSBjb25zdCBmaW5hbDsKKyNlbmRpZgogI2lmIEVOQUJMRShXRUJHTCkK
ICAgICBSZWZQdHI8V2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0R0w+IGNyZWF0ZUdyYXBoaWNzQ29u
dGV4dEdMKGNvbnN0IFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dEdMQXR0cmlidXRlcyYsIFdlYkNv
cmU6OlBsYXRmb3JtRGlzcGxheUlEIGhvc3RXaW5kb3dEaXNwbGF5SUQpIGNvbnN0IGZpbmFsOwog
I2VuZGlmCi0jZW5kaWYKIAogCiAgICAgQ29tcG9zaXRpbmdUcmlnZ2VyRmxhZ3MgYWxsb3dlZENv
bXBvc2l0aW5nVHJpZ2dlcnMoKSBjb25zdCBmaW5hbAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>445265</attachid>
            <date>2021-11-29 04:06:27 -0800</date>
            <delta_ts>2021-11-29 05:05:39 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-233517-20211129140625.patch</filename>
            <type>text/plain</type>
            <size>18907</size>
            <attacher name="Kimmo Kinnunen">kkinnunen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2MjA1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2QwMWUxZDNhZmU2YTIw
MGQxOGNjMjc4YjEyYjA2ZGM1MTE4Y2JkMy4uZDZmMzgzOTRiNzBiM2IxMjFhYTFhNmM2YmJiN2Fk
MDhhNTUyZTZjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDIxLTExLTI5ICBLaW1t
byBLaW5udW5lbiAgPGtraW5udW5lbkBhcHBsZS5jb20+CisKKyAgICAgICAgR1BVUCBHcmFwaGlj
c0NvbnRleHRHTCBjcmVhdGlvbiBmYWlsdXJlIGNhbm5vdCBiZSBkZXRlY3RlZAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMzNTE3CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgQW50dGkgS29pdmlzdG8uCisKKyAgICAgICAgQmVmb3JlLCBjb25jcmV0ZSBg
R3JhcGhpY3NDb250ZXh0R0xgIGluc3RhbmNlIHdhcyBjcmVhdGVkIHdpdGggYEdyYXBoaWNzQ29u
dGV4dEdMOjpjcmVhdGUoKWAKKyAgICAgICAgd2hpY2ggd291bGQgaW50ZXJuYWxseSB1c2UgaG9z
dCB3aW5kb3cgYXMgYSBmYWN0b3J5IGlmIHBvc3NpYmxlLiBJZiB0aGlzIHByb2R1Y2VkIG51bGws
IGl0IHdvdWxkCisgICAgICAgIGNyZWF0ZSB0aGUgImRlZmF1bHQiIEdyYXBoaWNzQ29udGV4dEdM
IHN1YmNsYXNzIGluc3RhbmNlLgorICAgICAgICBXaXRoIEdQVVAsIGl0IGRvZXMgbm90IG1ha2Ug
c2Vuc2UgdG8gY3JlYXRlICJkZWZhdWx0IiB0eXBlLCBhcyB0aGF0IGluLXByb2Nlc3MgY29udGV4
dHMgc2hvdWxkIG5ldmVyCisgICAgICAgIGJlIHVzZWQuCisgICAgICAgIEl0IGFsc28gZG9lcyBu
b3QgbWFrZSBzZW5zZSB0byBjcmVhdGUgImRlZmF1bHQiLCBhcyBpdCdzIHVuY2xlYXIgd2hhdCB0
aGUgImRlZmF1bHQiIHR5cGUgaXMuCisgICAgICAgIEluc3RlYWQsIHVzZSB0aGUgaG9zdCB3aW5k
b3csIGkuZS4gdGhlIGNocm9tZSBjbGllbnQsIHRvIGFsd2F5cyBjcmVhdGUgdGhlIEdyYXBoaWNz
Q29udGV4dEdMIGluc3RhbmNlCisgICAgICAgIHRvIFdlYkdMLiBJZiB0aGlzIGZhaWxzLCB0aGUg
V2ViR0wgc2hvdWxkIGJlIHVuYXZhaWxhYmxlLgorICAgICAgICBSZW1vdmUgR3JhcGhpY3NDb250
ZXh0R0w6OmNyZWF0ZSgpIGFzIHRoYXQgaXMgbm90IHVzZWZ1bC4gVGhlIGNhbGxlcnMgc2hvdWxk
IGVpdGhlcgorICAgICAgICBleHBsaWNpdGx5IHNwZWNpZnkgd2hhdCBzdWJjbGFzcyB0byB1c2Us
IGZvciBleGFtcGxlIGluIHRlc3RpbmcsIG9yIHVzZSB0aGUgcG9seW1vcmhwaWMgZmFjdG9yeQor
ICAgICAgICAoQ2hyb21lQ2xpZW50KSB3aGljaCBrbm93cyB0aGUgcG9saWN5LgorCisgICAgICAg
IEZpeCBhIGJ1ZyB3aGVyZSBHUFVQIFdlYkdMIHdvdWxkIHVzZSBpbi1wcm9jZXNzIGNvbnRleHQg
aWYgdGhlIGxvc3QgY29udGV4dCB3b3VsZCBiZSByZWNyZWF0ZWQuCisKKyAgICAgICAgTm8gbmV3
IHRlc3RzLCBhIHJlZmFjdG9yLgorCisgICAgICAgICogUGxhdGZvcm1NYWMuY21ha2U6CisgICAg
ICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGh0bWwv
Y2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
V2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6Oldl
YkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6Om1heWJlUmVzdG9yZUNvbnRleHQpOgorICAgICAgICAq
IHBhZ2UvQ2hyb21lQ2xpZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWVDbGllbnQ6OmNy
ZWF0ZUdyYXBoaWNzQ29udGV4dEdMIGNvbnN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9XZWJQcm9jZXNzR3JhcGhpY3NDb250ZXh0R0wuaDogQWRkZWQuCisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvY29jb2EvV2ViUHJvY2Vzc0dyYXBoaWNzQ29udGV4dEdMQ29jb2EubW06Cisg
ICAgICAgIChXZWJDb3JlOjpjcmVhdGVXZWJQcm9jZXNzR3JhcGhpY3NDb250ZXh0R0wpOgorICAg
ICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6OmNyZWF0ZSk6IERlbGV0ZWQu
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dEdMT3Bl
bkdMLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0dyYXBoaWNzQ29udGV4
dEdMVGV4dHVyZU1hcHBlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjcmVhdGVXZWJQcm9jZXNz
R3JhcGhpY3NDb250ZXh0R0wpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0R0xP
cGVuR0w6OmNyZWF0ZSk6IERlbGV0ZWQuCisgICAgICAgICogcGxhdGZvcm0veHIvb3BlbnhyL1Bs
YXRmb3JtWFJPcGVuWFIuY3BwOgorICAgICAgICAoUGxhdGZvcm1YUjo6T3BlblhSRGV2aWNlOjpp
bml0aWFsaXplVHJhY2tpbmdBbmRSZW5kZXJpbmcpOgorICAgICAgICAqIHRlc3RpbmcvV2ViRmFr
ZVhSRGV2aWNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNpbXVsYXRlZFhSRGV2aWNlOjppbml0
aWFsaXplVHJhY2tpbmdBbmRSZW5kZXJpbmcpOgorCiAyMDIxLTExLTI5ICBLaW1tbyBLaW5udW5l
biAgPGtraW5udW5lbkBhcHBsZS5jb20+CiAKICAgICAgICAgR3JhcGhpY3NDb250ZXh0R0xBTkdM
RS5jcHAgaGFzIHBsYXRmb3JtIHNwZWNpZmljIGNvZGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggNDIwNmFjMDIwZGUz
MDc1MGIwY2FmNGE0NWFlNTI4NWM2Yzg0Mzk4Ni4uNGFkOTI5ODVjOTBkNDgxYmQzZjc2MzRmODEz
OWRmZjYyN2ZjYzA3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAyMS0xMS0yOSAgS2lt
bW8gS2lubnVuZW4gIDxra2lubnVuZW5AYXBwbGUuY29tPgorCisgICAgICAgIEdQVVAgR3JhcGhp
Y3NDb250ZXh0R0wgY3JlYXRpb24gZmFpbHVyZSBjYW5ub3QgYmUgZGV0ZWN0ZWQKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMzUxNworCisgICAgICAg
IFJldmlld2VkIGJ5IEFudHRpIEtvaXZpc3RvLgorCisgICAgICAgIElmIEdQVVAgYEdyYXBoaWNz
Q29udGV4dEdMYCBjcmVhdGlvbiBmYWlscywgcmV0dXJuIG51bGxwdHIgaW5zdGVhZCBvZgorICAg
ICAgICB0cnlpbmcgdG8gY3JlYXRlIGEgaW4tcHJvY2VzcyBjb250ZXh0LgorCisgICAgICAgIEVu
YWJsZSBgV2ViQ2hyb21lQ2xpZW50OjpjcmVhdGVHcmFwaGljc0NvbnRleHRHTCgpYCBjYWxsIGZv
ciBub24tR1BVIHByb2Nlc3MKKyAgICAgICAgY29tcGlsYXRpb24sIGFzIHRoZSBmdW5jdGlvbiBp
cyBub3cgYWx3YXlzIGNhbGxlZC4gUmV0dXJuaW5nIG51bGxwdHIgc2lnbmlmaWVzIGZhaWx1cmUK
KyAgICAgICAgdG8gY3JlYXRlIHRoZSBjb250ZXh0LCBub3QgYSBzaWduYWwgdG8gcmV0cnkgc29t
ZSBvdGhlciB0eXBlLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJD
aHJvbWVDbGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJDaHJvbWVDbGllbnQ6OmNyZWF0
ZUdyYXBoaWNzQ29udGV4dEdMIGNvbnN0KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVT
dXBwb3J0L1dlYkNocm9tZUNsaWVudC5oOgorCiAyMDIxLTExLTI4ICBNeWxlcyBDLiBNYXhmaWVs
ZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CiAKICAgICAgICAgW1dlYkdQVV0gQWRkIFdlYktpdCBE
ZXJpdmVkU291cmNlcyB0byBYY29kZSBwcm9qZWN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggN2Q1ZmRkMGE3NDM4NDI2NzllYzE3
YzIxMWUyNmI1N2RhN2JkMmJlYy4uZTRkOWZmMDI3NGE3YjM3NWI5Y2I0N2QzYTY4M2Q1MDNkODA1
MDVkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagpAQCAtNzQzMSw3ICs3NDMxLDcgQEAKIAkJMUM5MDc4RTMyNzUxRkRBOTAwNEVGMTY1
IC8qIEpTR1BVUmVuZGVyRW5jb2RlckJhc2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNHUFVSZW5kZXJF
bmNvZGVyQmFzZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQzkwNzhFNDI3NTFG
REE5MDA0RUYxNjUgLyogSlNHUFVJbWFnZUNvcHlUZXh0dXJlLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpT
R1BVSW1hZ2VDb3B5VGV4dHVyZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQzkw
NzhFNTI3NTFGREFBMDA0RUYxNjUgLyogSlNHUFVDb21wdXRlUGFzc1RpbWVzdGFtcFdyaXRlLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTR1BVQ29tcHV0ZVBhc3NUaW1lc3RhbXBXcml0ZS5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTFDOTA3OEU3Mjc1MUZGMTIwMDRFRjE2NSAv
KiBKU0dQVVZlcnRleFN0ZXBNb2RlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEpTR1BVVmVydGV4U3RlcE1v
ZGUuaDsgcGF0aCA9IEpTR1BVVmVydGV4U3RlcE1vZGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJMUM5MDc4RTcyNzUxRkYxMjAwNEVGMTY1IC8qIEpTR1BVVmVydGV4U3RlcE1vZGUu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gSlNHUFVWZXJ0ZXhTdGVwTW9kZS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQkxQ0E0RkM0QzI3MzRERUMyMDAyN0ZENUEgLyogR1BVVGV4dHVyZVZpZXcu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gR1BVVGV4dHVyZVZpZXcuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQkxQ0E0RkM1MTI3MzRFQkNBMDAyN0ZENUEgLyogR1BVQWRkcmVzc01v
ZGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gR1BVQWRkcmVzc01vZGUuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJMUNBNEZDNTMyNzM0RUJDQjAwMjdGRDVBIC8qIEdQVVNhbXBsZXIuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gR1BVU2FtcGxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0
QmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRl
eHRCYXNlLmNwcAppbmRleCAzMzkyNWJjNmFjOGQ4N2I0MTA2YjA2MzFlZDM0MjkwMzlhNzhhZmU0
Li5mZWQxZjIyODdhNzMzNjIwZTg2ZGE0ZjkxMWZmYWFlYTZiMjNhOTJlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNl
LmNwcApAQCAtNTUsNiArNTUsNyBAQAogI2luY2x1ZGUgIkhUTUxDYW52YXNFbGVtZW50LmgiCiAj
aW5jbHVkZSAiSFRNTEltYWdlRWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxWaWRlb0VsZW1lbnQu
aCIKKyNpbmNsdWRlICJIb3N0V2luZG93LmgiCiAjaW5jbHVkZSAiSW1hZ2VCaXRtYXAuaCIKICNp
bmNsdWRlICJJbWFnZUJ1ZmZlci5oIgogI2luY2x1ZGUgIkltYWdlRGF0YS5oIgpAQCAtODU5LDcg
Kzg2MCw3IEBAIHN0ZDo6dW5pcXVlX3B0cjxXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlPiBXZWJH
TFJlbmRlcmluZ0NvbnRleHRCYXNlOjpjcmVhdGUoQ2FuCiAgICAgICAgIHJlbmRlcmluZ0NvbnRl
eHQtPnN1c3BlbmRJZk5lZWRlZCgpOwogICAgICAgICByZXR1cm4gcmVuZGVyaW5nQ29udGV4dDsK
ICAgICB9Ci0gICAgYXV0byBjb250ZXh0ID0gR3JhcGhpY3NDb250ZXh0R0w6OmNyZWF0ZShhdHRy
aWJ1dGVzLCBob3N0V2luZG93KTsKKyAgICBhdXRvIGNvbnRleHQgPSBob3N0V2luZG93LT5jcmVh
dGVHcmFwaGljc0NvbnRleHRHTChhdHRyaWJ1dGVzKTsKICAgICBpZiAoIWNvbnRleHQpIHsKICAg
ICAgICAgaWYgKGNhbnZhc0VsZW1lbnQpIHsKICAgICAgICAgICAgIGNhbnZhc0VsZW1lbnQtPmRp
c3BhdGNoRXZlbnQoV2ViR0xDb250ZXh0RXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkud2ViZ2xj
b250ZXh0Y3JlYXRpb25lcnJvckV2ZW50LApAQCAtNzc1NSw3ICs3NzU2LDcgQEAgdm9pZCBXZWJH
TFJlbmRlcmluZ0NvbnRleHRCYXNlOjptYXliZVJlc3RvcmVDb250ZXh0KCkKICAgICBpZiAoIWhv
c3RXaW5kb3cpCiAgICAgICAgIHJldHVybjsKIAotICAgIFJlZlB0cjxHcmFwaGljc0NvbnRleHRH
TD4gY29udGV4dChHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6Y3JlYXRlKG1fYXR0cmlidXRlcywg
aG9zdFdpbmRvdykpOworICAgIFJlZlB0cjxHcmFwaGljc0NvbnRleHRHTD4gY29udGV4dCA9IGhv
c3RXaW5kb3ctPmNyZWF0ZUdyYXBoaWNzQ29udGV4dEdMKG1fYXR0cmlidXRlcyk7CiAgICAgaWYg
KCFjb250ZXh0KSB7CiAgICAgICAgIGlmIChtX2NvbnRleHRMb3N0TW9kZSA9PSBSZWFsTG9zdENv
bnRleHQpCiAgICAgICAgICAgICBtX3Jlc3RvcmVUaW1lci5zdGFydE9uZVNob3Qoc2Vjb25kc0Jl
dHdlZW5SZXN0b3JlQXR0ZW1wdHMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9D
aHJvbWVDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKaW5kZXgg
ZjIzOTE0NTcwNmQwYjE5MDU0MTBhZDhlNjZjZmU5OTAwY2RjNzZlZS4uMTM1OWU5OWZmMTUxMDk1
NWM5NjQ2NTIyMjc4ZWY3MTRjMjRhY2FhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9DaHJvbWVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5o
CkBAIC04Niw2ICs4NiwxMCBAQCBjbGFzcyBIVE1MTW9kZWxFbGVtZW50OwogI2luY2x1ZGUgIlBs
YXRmb3JtWFIuaCIKICNlbmRpZgogCisjaWYgRU5BQkxFKFdFQkdMKQorI2luY2x1ZGUgIkdyYXBo
aWNzQ29udGV4dEdMLmgiCisjZW5kaWYKKwogT0JKQ19DTEFTUyBOU1Jlc3BvbmRlcjsKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewpAQCAtMzUzLDcgKzM1Nyw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFs
IFJlZlB0cjxJbWFnZUJ1ZmZlcj4gY3JlYXRlSW1hZ2VCdWZmZXIoY29uc3QgRmxvYXRTaXplJiwg
UmVuZGVyaW5nTW9kZSwgUmVuZGVyaW5nUHVycG9zZSwgZmxvYXQsIGNvbnN0IERlc3RpbmF0aW9u
Q29sb3JTcGFjZSYsIFBpeGVsRm9ybWF0KSBjb25zdCB7IHJldHVybiBudWxscHRyOyB9CiAKICNp
ZiBFTkFCTEUoV0VCR0wpCi0gICAgdmlydHVhbCBSZWZQdHI8R3JhcGhpY3NDb250ZXh0R0w+IGNy
ZWF0ZUdyYXBoaWNzQ29udGV4dEdMKGNvbnN0IEdyYXBoaWNzQ29udGV4dEdMQXR0cmlidXRlcyYs
IFdlYkNvcmU6OlBsYXRmb3JtRGlzcGxheUlEKSBjb25zdCB7IHJldHVybiBudWxscHRyOyB9Cisg
ICAgdmlydHVhbCBSZWZQdHI8R3JhcGhpY3NDb250ZXh0R0w+IGNyZWF0ZUdyYXBoaWNzQ29udGV4
dEdMKGNvbnN0IEdyYXBoaWNzQ29udGV4dEdMQXR0cmlidXRlcyYgYXR0cmlidXRlcywgV2ViQ29y
ZTo6UGxhdGZvcm1EaXNwbGF5SUQpIGNvbnN0IHsgcmV0dXJuIGNyZWF0ZVdlYlByb2Nlc3NHcmFw
aGljc0NvbnRleHRHTChhdHRyaWJ1dGVzKTsgfQogI2VuZGlmCiAKICAgICAvLyBQYXNzIG51bGxw
dHIgYXMgdGhlIEdyYXBoaWNzTGF5ZXIgdG8gZGV0YXRjaCB0aGUgcm9vdCBsYXllci4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dEdM
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dEdM
LmNwcAppbmRleCA3ZjJhMWZkMjhiMzEyOGYwZGU3YTcxMjVlM2RjYzZjOWNiYzhkY2E0Li5kNjBj
MzdhOWZmZTVjMmNiZTAzNjZlMjc2ZDg0ODg2NjViZDZlMjBiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHRHTC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0R0wuY3BwCkBAIC0z
NTEsMTYgKzM1MSw2IEBAIEdyYXBoaWNzQ29udGV4dEdMOjpDbGllbnQ6OkNsaWVudCgpID0gZGVm
YXVsdDsKIAogR3JhcGhpY3NDb250ZXh0R0w6OkNsaWVudDo6fkNsaWVudCgpID0gZGVmYXVsdDsK
IAotUmVmUHRyPEdyYXBoaWNzQ29udGV4dEdMPiBHcmFwaGljc0NvbnRleHRHTDo6Y3JlYXRlKGNv
bnN0IEdyYXBoaWNzQ29udGV4dEdMQXR0cmlidXRlcyYgYXR0cmlidXRlcywgSG9zdFdpbmRvdyog
aG9zdFdpbmRvdykKLXsKLSAgICBSZWZQdHI8R3JhcGhpY3NDb250ZXh0R0w+IHJlc3VsdDsKLSAg
ICBpZiAoaG9zdFdpbmRvdykKLSAgICAgICAgcmVzdWx0ID0gaG9zdFdpbmRvdy0+Y3JlYXRlR3Jh
cGhpY3NDb250ZXh0R0woYXR0cmlidXRlcyk7Ci0gICAgaWYgKCFyZXN1bHQpCi0gICAgICAgIHJl
c3VsdCA9IEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjpjcmVhdGUoYXR0cmlidXRlcywgaG9zdFdp
bmRvdyk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQogR3JhcGhpY3NDb250ZXh0R0w6OkdyYXBo
aWNzQ29udGV4dEdMKEdyYXBoaWNzQ29udGV4dEdMQXR0cmlidXRlcyBhdHRycykKICAgICA6IG1f
YXR0cnMoYXR0cnMpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9HcmFwaGljc0NvbnRleHRHTC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvR3JhcGhpY3NDb250ZXh0R0wuaAppbmRleCA2NDFiN2I2YWMzZWIwNTU0NzkxN2Q2YTNmYmVh
MDkyYWI3Y2RjN2MwLi5jMjA0NWM5ZDRlYzUzYjNiNTkxNWZhNWY3NGRjNjVkNTNjM2ZmYTJmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRl
eHRHTC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29u
dGV4dEdMLmgKQEAgLTkxMSwxMCArOTExLDYgQEAgcHVibGljOgogICAgICAgICBHQ0dMaW50IHNp
emU7CiAgICAgfTsKIAotICAgIC8vIENyZWF0ZXMgYSBHcmFwaGljc0NvbnRleHRHTCBpbnN0YW5j
ZSB0byByZW5kZXIgaW50byBvZmZzY3JlZW4gZGVzdGluYXRpb24gaW4gY29udGV4dCBvZiBIb3N0
V2luZG93LgotICAgIC8vIEhvc3RXaW5kb3cgbWlnaHQgYWZmZWN0IHRoZSBkZWNpc2lvbiB3aGlj
aCBiYWNrZW5kIGlzIHRvIGJlIHVzZWQuCi0gICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIFJlZlB0
cjxHcmFwaGljc0NvbnRleHRHTD4gY3JlYXRlKGNvbnN0IEdyYXBoaWNzQ29udGV4dEdMQXR0cmli
dXRlcyYsIEhvc3RXaW5kb3cqKTsKLQogICAgIFdFQkNPUkVfRVhQT1JUIEdyYXBoaWNzQ29udGV4
dEdMKEdyYXBoaWNzQ29udGV4dEdMQXR0cmlidXRlcyk7CiAgICAgV0VCQ09SRV9FWFBPUlQgdmly
dHVhbCB+R3JhcGhpY3NDb250ZXh0R0woKTsKIApAQCAtMTM2OSw2ICsxMzY1LDggQEAgcHJpdmF0
ZToKICAgICBHcmFwaGljc0NvbnRleHRHTEF0dHJpYnV0ZXMgbV9hdHRyczsKIH07CiAKK1dFQkNP
UkVfRVhQT1JUIFJlZlB0cjxHcmFwaGljc0NvbnRleHRHTD4gY3JlYXRlV2ViUHJvY2Vzc0dyYXBo
aWNzQ29udGV4dEdMKGNvbnN0IEdyYXBoaWNzQ29udGV4dEdMQXR0cmlidXRlcyYpOworCiBpbmxp
bmUgR0NHTGZsb2F0IEdyYXBoaWNzQ29udGV4dEdMOjpnZXRGbG9hdChHQ0dMZW51bSBwbmFtZSkK
IHsKICAgICBHQ0dMZmxvYXQgdmFsdWVbMV0geyB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViUHJvY2Vzc0dyYXBoaWNzQ29udGV4dEdMQ29j
b2EubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJQcm9jZXNz
R3JhcGhpY3NDb250ZXh0R0xDb2NvYS5tbQppbmRleCA4NWY0OTdhMzc0NjY2MDAzZjc5ZDAwMmQ2
ZDlkNWQxMzIzMmRiNjJiLi4zZWZiMjM4YTk5YjllOWU1MTdjZDI2YmU3YjUzNTc5OGM4OWY0NzI1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJQ
cm9jZXNzR3JhcGhpY3NDb250ZXh0R0xDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJQcm9jZXNzR3JhcGhpY3NDb250ZXh0R0xDb2NvYS5tbQpA
QCAtNjMsNyArNjMsNyBAQCBwcml2YXRlOgogICAgIH0KICAgICBSZXRhaW5QdHI8V2ViR0xMYXll
cj4gbV93ZWJHTExheWVyOwogCi0gICAgZnJpZW5kIGNsYXNzIEdyYXBoaWNzQ29udGV4dEdMT3Bl
bkdMOworICAgIGZyaWVuZCBSZWZQdHI8R3JhcGhpY3NDb250ZXh0R0w+IFdlYkNvcmU6OmNyZWF0
ZVdlYlByb2Nlc3NHcmFwaGljc0NvbnRleHRHTChjb25zdCBHcmFwaGljc0NvbnRleHRHTEF0dHJp
YnV0ZXMmKTsKIH07CiAKIHZvaWQgV2ViUHJvY2Vzc0dyYXBoaWNzQ29udGV4dEdMQ29jb2E6OnBy
ZXBhcmVGb3JEaXNwbGF5KCkKQEAgLTgwLDE5ICs4MCwxOSBAQCB2b2lkIFdlYlByb2Nlc3NHcmFw
aGljc0NvbnRleHRHTENvY29hOjpwcmVwYXJlRm9yRGlzcGxheSgpCiAKIH0KIAotUmVmUHRyPEdy
YXBoaWNzQ29udGV4dEdMT3BlbkdMPiBHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6Y3JlYXRlKEdy
YXBoaWNzQ29udGV4dEdMQXR0cmlidXRlcyBhdHRyaWJ1dGVzLCBIb3N0V2luZG93KikKK1JlZlB0
cjxHcmFwaGljc0NvbnRleHRHTD4gY3JlYXRlV2ViUHJvY2Vzc0dyYXBoaWNzQ29udGV4dEdMKGNv
bnN0IEdyYXBoaWNzQ29udGV4dEdMQXR0cmlidXRlcyYgYXR0cmlidXRlcykKIHsKICAgICAvLyBN
YWtlIHNwYWNlIGZvciB0aGUgaW5jb21pbmcgY29udGV4dCBpZiB3ZSdyZSBmdWxsLgogICAgIEdy
YXBoaWNzQ29udGV4dEdMT3BlbkdMTWFuYWdlcjo6c2hhcmVkTWFuYWdlcigpLnJlY3ljbGVDb250
ZXh0SWZOZWNlc3NhcnkoKTsKICAgICBpZiAoR3JhcGhpY3NDb250ZXh0R0xPcGVuR0xNYW5hZ2Vy
OjpzaGFyZWRNYW5hZ2VyKCkuaGFzVG9vTWFueUNvbnRleHRzKCkpCiAgICAgICAgIHJldHVybiBu
dWxscHRyOwotICAgIGF1dG8gY29udGV4dCA9IGFkb3B0UmVmKG5ldyBXZWJQcm9jZXNzR3JhcGhp
Y3NDb250ZXh0R0xDb2NvYShXVEZNb3ZlKGF0dHJpYnV0ZXMpKSk7CisgICAgYXV0byBjb250ZXh0
ID0gYWRvcHRSZWYobmV3IFdlYlByb2Nlc3NHcmFwaGljc0NvbnRleHRHTENvY29hKEdyYXBoaWNz
Q29udGV4dEdMQXR0cmlidXRlcyB7IGF0dHJpYnV0ZXMgfSkpOwogICAgIGlmICghY29udGV4dC0+
aXNWYWxpZCgpKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICBHcmFwaGljc0NvbnRleHRH
TE9wZW5HTE1hbmFnZXI6OnNoYXJlZE1hbmFnZXIoKS5hZGRDb250ZXh0KGNvbnRleHQuZ2V0KCkp
OwotCiAgICAgcmV0dXJuIGNvbnRleHQ7CiB9CisKIH0KIAogI2VuZGlmCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvR3JhcGhpY3NDb250ZXh0R0xP
cGVuR0wuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGlj
c0NvbnRleHRHTE9wZW5HTC5oCmluZGV4IDI5NGMwYzZhZWE0NjMxNjIyZTA1N2IwM2U5ZjljZjhm
NWNjMGZmMzcuLjZjODFlYTdhODg5NTQwZDUzZTA2NWQ0NTM0YjQ2OTU2ZjIwY2ZhMWYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0Nv
bnRleHRHTE9wZW5HTC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29w
ZW5nbC9HcmFwaGljc0NvbnRleHRHTE9wZW5HTC5oCkBAIC0xMDAsNyArMTAwLDYgQEAgdHlwZWRl
ZiBIYXNoTWFwPENTdHJpbmcsIHVpbnQ2NF90PiBTaGFkZXJOYW1lSGFzaDsKIGNsYXNzIFdFQkNP
UkVfRVhQT1JUIEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMIDogcHVibGljIEdyYXBoaWNzQ29udGV4
dEdMCiB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFJlZlB0cjxHcmFwaGljc0NvbnRleHRHTE9wZW5H
TD4gY3JlYXRlKEdyYXBoaWNzQ29udGV4dEdMQXR0cmlidXRlcywgSG9zdFdpbmRvdyopOwogICAg
IHZpcnR1YWwgfkdyYXBoaWNzQ29udGV4dEdMT3BlbkdMKCk7CiAgICAgUGxhdGZvcm1MYXllciog
cGxhdGZvcm1MYXllcigpIGNvbnN0IG92ZXJyaWRlOwogI2lmIFVTRShBTkdMRSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9HcmFwaGljc0NvbnRl
eHRHTFRleHR1cmVNYXBwZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
dGV4bWFwL0dyYXBoaWNzQ29udGV4dEdMVGV4dHVyZU1hcHBlci5jcHAKaW5kZXggYTc3MWYwN2Ew
MmVkNDRhNjdlMDgyZDQ4MTE2OGJmNTg4ZGZkY2ExMC4uMDU3NTQ0NDhiOTAzZTE0OTkzZWQzMWIw
Y2JkNjFlODY5NGE5ZWU5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvdGV4bWFwL0dyYXBoaWNzQ29udGV4dEdMVGV4dHVyZU1hcHBlci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0dyYXBoaWNzQ29udGV4dEdMVGV4
dHVyZU1hcHBlci5jcHAKQEAgLTkzLDcgKzkzLDcgQEAgR3JhcGhpY3NDb250ZXh0R0xUZXh0dXJl
TWFwcGVyOjpHcmFwaGljc0NvbnRleHRHTFRleHR1cmVNYXBwZXIoR3JhcGhpY3NDb250ZXh0R0wK
IAogLy8gRklYTUU6IEJlbG93IGZ1bmN0aW9uYWxpdHkgc2hvdWxkIGJlIG1vdmVkIHRvIEdyYXBo
aWNzQ29udGV4dEdMVGV4dHVyZU1hcHBlciB0byBzaW1wbGlmeSB0aGUgYmFzZSBjbGFzcy4KIAot
UmVmUHRyPEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMPiBHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6
Y3JlYXRlKEdyYXBoaWNzQ29udGV4dEdMQXR0cmlidXRlcyBhdHRyaWJ1dGVzLCBIb3N0V2luZG93
KikKK1JlZlB0cjxHcmFwaGljc0NvbnRleHRHTD4gY3JlYXRlV2ViUHJvY2Vzc0dyYXBoaWNzQ29u
dGV4dEdMKGNvbnN0IEdyYXBoaWNzQ29udGV4dEdMQXR0cmlidXRlcyYgYXR0cmlidXRlcykKIHsK
ICAgICBzdGF0aWMgYm9vbCBpbml0aWFsaXplZCA9IGZhbHNlOwogICAgIHN0YXRpYyBib29sIHN1
Y2Nlc3MgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0veHIvb3Bl
bnhyL1BsYXRmb3JtWFJPcGVuWFIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0veHIvb3Bl
bnhyL1BsYXRmb3JtWFJPcGVuWFIuY3BwCmluZGV4IDJkOTVlYTMzZWI2MjU3ZDVlYTIyNGQ1MGFi
MTYwNjI0ZjNjMDVhODUuLjYwYWMzOWViMjA2ZjZlOWI2MThlZmRiMGU3ODU5MWM2ZDYwMTE2Mzkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3hyL29wZW54ci9QbGF0Zm9ybVhS
T3BlblhSLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS94ci9vcGVueHIvUGxhdGZv
cm1YUk9wZW5YUi5jcHAKQEAgLTI1LDcgKzI1LDYgQEAKICNpbmNsdWRlICJPcGVuWFJFeHRlbnNp
b25zLmgiCiAjaW5jbHVkZSAiT3BlblhSSW5wdXQuaCIKICNpbmNsdWRlICJPcGVuWFJJbnB1dFNv
dXJjZS5oIgotCiAjaW5jbHVkZSA8d3RmL05ldmVyRGVzdHJveWVkLmg+CiAjaW5jbHVkZSA8d3Rm
L3RocmVhZHMvQmluYXJ5U2VtYXBob3JlLmg+CiAKQEAgLTExNCw3ICsxMTMsNyBAQCB2b2lkIE9w
ZW5YUkRldmljZTo6aW5pdGlhbGl6ZVRyYWNraW5nQW5kUmVuZGVyaW5nKFNlc3Npb25Nb2RlIG1v
ZGUpCiAgICAgICAgIGF0dHJpYnV0ZXMuc3RlbmNpbCA9IGZhbHNlOwogICAgICAgICBhdHRyaWJ1
dGVzLmFudGlhbGlhcyA9IGZhbHNlOwogCi0gICAgICAgIG1fZ2wgPSBHcmFwaGljc0NvbnRleHRH
TDo6Y3JlYXRlKGF0dHJpYnV0ZXMsIG51bGxwdHIpOworICAgICAgICBtX2dsID0gY3JlYXRlV2Vi
UHJvY2Vzc0dyYXBoaWNzQ29udGV4dEdMKGF0dHJpYnV0ZXMpOwogICAgICAgICBpZiAoIW1fZ2wp
IHsKICAgICAgICAgICAgIExPRyhYUiwgIkZhaWxlZCB0byBjcmVhdGUgYSB2YWxpZCBHcmFwaGlj
c0NvbnRleHRHTCIpOwogICAgICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvdGVzdGluZy9XZWJGYWtlWFJEZXZpY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9XZWJGYWtlWFJEZXZpY2UuY3BwCmluZGV4IDYyMWRlNmI3ZWRhN2NmNzc4NDg3ODMzYzFkMmI0
Yzc0YTNjMzIzNmEuLmJiMGM1NTI2YmE1MGQ4ZTI1OGM5ZGNiOTA0ZDY2YmYwMzU0NmEyMjQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvV2ViRmFrZVhSRGV2aWNlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL1dlYkZha2VYUkRldmljZS5jcHAKQEAgLTEwOSw3ICsx
MDksNyBAQCB2b2lkIFNpbXVsYXRlZFhSRGV2aWNlOjppbml0aWFsaXplVHJhY2tpbmdBbmRSZW5k
ZXJpbmcoUGxhdGZvcm1YUjo6U2Vzc2lvbk1vZGUpCiAgICAgYXR0cmlidXRlcy5kZXB0aCA9IGZh
bHNlOwogICAgIGF0dHJpYnV0ZXMuc3RlbmNpbCA9IGZhbHNlOwogICAgIGF0dHJpYnV0ZXMuYW50
aWFsaWFzID0gZmFsc2U7Ci0gICAgbV9nbCA9IEdyYXBoaWNzQ29udGV4dEdMOjpjcmVhdGUoYXR0
cmlidXRlcywgbnVsbHB0cik7CisgICAgbV9nbCA9IGNyZWF0ZVdlYlByb2Nlc3NHcmFwaGljc0Nv
bnRleHRHTChhdHRyaWJ1dGVzKTsKIAogICAgIGlmIChtX3RyYWNraW5nQW5kUmVuZGVyaW5nQ2xp
ZW50KSB7CiAgICAgICAgIC8vIFdlYlhSIEZha2VEZXZpY2Ugd2FpdHMgZm9yIHNpbXVsYXRlSW5w
dXRDb25uZWN0aW9uIGNhbGxzIHRvIGFkZCBpbnB1dCBzb3VyY2VzLQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50
LmNwcAppbmRleCA0MzZhNWE1MjAzNWEwNjU3NTg5YzBlOTBiMDg0MmM0MzM2NTgxZTNkLi4zNjI3
Mzg2MmRmNGRhYjgwNWRjNGIxOWNmN2MwNmNiMTU5YWJlZDBhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50
LmNwcApAQCAtMTE3LDEwICsxMTcsMTQgQEAKICNpbmNsdWRlIDxXZWJDb3JlL01vY2tXZWJBdXRo
ZW50aWNhdGlvbkNvbmZpZ3VyYXRpb24uaD4KICNlbmRpZgogCi0jaWYgUExBVEZPUk0oQ09DT0Ep
IHx8IFBMQVRGT1JNKFdJTikKKyNpZiBFTkFCTEUoV0VCR0wpICYmIEVOQUJMRShHUFVfUFJPQ0VT
UykgJiYgKFBMQVRGT1JNKENPQ09BKSB8fCBQTEFURk9STShXSU4pKQogI2luY2x1ZGUgIlJlbW90
ZUdyYXBoaWNzQ29udGV4dEdMUHJveHkuaCIKICNlbmRpZgogCisjaWYgRU5BQkxFKFdFQkdMKQor
I2luY2x1ZGUgPFdlYkNvcmUvR3JhcGhpY3NDb250ZXh0R0wuaD4KKyNlbmRpZgorCiAjaWYgUExB
VEZPUk0oTUFDKQogI2luY2x1ZGUgIlRpbGVkQ29yZUFuaW1hdGlvblNjcm9sbGluZ0Nvb3JkaW5h
dG9yLmgiCiAjZW5kaWYKQEAgLTkyMSw3ICs5MjUsNiBAQCBXZWJDb3JlOjpEaXNwbGF5UmVmcmVz
aE1vbml0b3JGYWN0b3J5KiBXZWJDaHJvbWVDbGllbnQ6OmRpc3BsYXlSZWZyZXNoTW9uaXRvckZh
YwogfQogCiAjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKQotCiBSZWZQdHI8SW1hZ2VCdWZmZXI+IFdl
YkNocm9tZUNsaWVudDo6Y3JlYXRlSW1hZ2VCdWZmZXIoY29uc3QgRmxvYXRTaXplJiBzaXplLCBS
ZW5kZXJpbmdNb2RlIHJlbmRlcmluZ01vZGUsIFJlbmRlcmluZ1B1cnBvc2UgcHVycG9zZSwgZmxv
YXQgcmVzb2x1dGlvblNjYWxlLCBjb25zdCBEZXN0aW5hdGlvbkNvbG9yU3BhY2UmIGNvbG9yU3Bh
Y2UsIFBpeGVsRm9ybWF0IHBpeGVsRm9ybWF0KSBjb25zdAogewogICAgIGlmICghV2ViUHJvY2Vz
czo6c2luZ2xldG9uKCkuc2hvdWxkVXNlUmVtb3RlUmVuZGVyaW5nRm9yKHB1cnBvc2UpKQpAQCAt
OTI5LDI1ICs5MzIsMTkgQEAgUmVmUHRyPEltYWdlQnVmZmVyPiBXZWJDaHJvbWVDbGllbnQ6OmNy
ZWF0ZUltYWdlQnVmZmVyKGNvbnN0IEZsb2F0U2l6ZSYgc2l6ZSwgUmUKIAogICAgIHJldHVybiBt
X3BhZ2UuZW5zdXJlUmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5KCkuY3JlYXRlSW1hZ2VCdWZm
ZXIoc2l6ZSwgcmVuZGVyaW5nTW9kZSwgcmVzb2x1dGlvblNjYWxlLCBjb2xvclNwYWNlLCBwaXhl
bEZvcm1hdCk7CiB9CisjZW5kaWYKIAogI2lmIEVOQUJMRShXRUJHTCkKLQotUmVmUHRyPEdyYXBo
aWNzQ29udGV4dEdMPiBXZWJDaHJvbWVDbGllbnQ6OmNyZWF0ZUdyYXBoaWNzQ29udGV4dEdMKGNv
bnN0IEdyYXBoaWNzQ29udGV4dEdMQXR0cmlidXRlcyYgYXR0cmlidXRlcywgUGxhdGZvcm1EaXNw
bGF5SUQgaG9zdFdpbmRvd0Rpc3BsYXlJRCkgY29uc3QKK1JlZlB0cjxHcmFwaGljc0NvbnRleHRH
TD4gV2ViQ2hyb21lQ2xpZW50OjpjcmVhdGVHcmFwaGljc0NvbnRleHRHTChjb25zdCBHcmFwaGlj
c0NvbnRleHRHTEF0dHJpYnV0ZXMmIGF0dHJpYnV0ZXMsIFBsYXRmb3JtRGlzcGxheUlEKSBjb25z
dAogewotICAgIGlmICghV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkuc2hvdWxkVXNlUmVtb3RlUmVu
ZGVyaW5nRm9yV2ViR0woKSkKLSAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0gICAgVU5VU0VEX1ZB
UklBQkxFKGhvc3RXaW5kb3dEaXNwbGF5SUQpOwotI2lmIFBMQVRGT1JNKENPQ09BKSB8fCBQTEFU
Rk9STShXSU4pCi0gICAgcmV0dXJuIFJlbW90ZUdyYXBoaWNzQ29udGV4dEdMUHJveHk6OmNyZWF0
ZShhdHRyaWJ1dGVzLCBtX3BhZ2UuZW5zdXJlUmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5KCku
ZW5zdXJlQmFja2VuZENyZWF0ZWQoKSk7Ci0jZWxzZQotICAgIHJldHVybiBudWxscHRyOworI2lm
IEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgKFBMQVRGT1JNKENPQ09BKSB8fCBQTEFURk9STShXSU4p
KQorICAgIGlmIChXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5zaG91bGRVc2VSZW1vdGVSZW5kZXJp
bmdGb3JXZWJHTCgpKQorICAgICAgICByZXR1cm4gUmVtb3RlR3JhcGhpY3NDb250ZXh0R0xQcm94
eTo6Y3JlYXRlKGF0dHJpYnV0ZXMsIG1fcGFnZS5lbnN1cmVSZW1vdGVSZW5kZXJpbmdCYWNrZW5k
UHJveHkoKS5lbnN1cmVCYWNrZW5kQ3JlYXRlZCgpKTsKICNlbmRpZgorICAgIHJldHVybiBXZWJD
b3JlOjpjcmVhdGVXZWJQcm9jZXNzR3JhcGhpY3NDb250ZXh0R0woYXR0cmlidXRlcyk7CiB9Ci0K
ICNlbmRpZgogCi0jZW5kaWYgLy8gRU5BQkxFKEdQVV9QUk9DRVNTKQotCiB2b2lkIFdlYkNocm9t
ZUNsaWVudDo6YXR0YWNoUm9vdEdyYXBoaWNzTGF5ZXIoRnJhbWUmLCBHcmFwaGljc0xheWVyKiBs
YXllcikKIHsKICAgICBpZiAobGF5ZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKaW5kZXggMmZlMzI5MDM0
MzQ3Y2VkMjhmODEwNTdkYTNmZWMyMzMwN2FlNzA4NC4uMGVkYjMyY2FhMWJjYmY2YTJiODliNTc3
MTY3YmVjYTc0YmNhMTNiYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaApAQCAtMjQ3LDEwICsyNDcsMTAg
QEAgcHJpdmF0ZToKIAogI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykKICAgICBSZWZQdHI8V2ViQ29y
ZTo6SW1hZ2VCdWZmZXI+IGNyZWF0ZUltYWdlQnVmZmVyKGNvbnN0IFdlYkNvcmU6OkZsb2F0U2l6
ZSYsIFdlYkNvcmU6OlJlbmRlcmluZ01vZGUsIFdlYkNvcmU6OlJlbmRlcmluZ1B1cnBvc2UsIGZs
b2F0IHJlc29sdXRpb25TY2FsZSwgY29uc3QgV2ViQ29yZTo6RGVzdGluYXRpb25Db2xvclNwYWNl
JiwgV2ViQ29yZTo6UGl4ZWxGb3JtYXQpIGNvbnN0IGZpbmFsOworI2VuZGlmCiAjaWYgRU5BQkxF
KFdFQkdMKQogICAgIFJlZlB0cjxXZWJDb3JlOjpHcmFwaGljc0NvbnRleHRHTD4gY3JlYXRlR3Jh
cGhpY3NDb250ZXh0R0woY29uc3QgV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0R0xBdHRyaWJ1dGVz
JiwgV2ViQ29yZTo6UGxhdGZvcm1EaXNwbGF5SUQgaG9zdFdpbmRvd0Rpc3BsYXlJRCkgY29uc3Qg
ZmluYWw7CiAjZW5kaWYKLSNlbmRpZgogCiAKICAgICBDb21wb3NpdGluZ1RyaWdnZXJGbGFncyBh
bGxvd2VkQ29tcG9zaXRpbmdUcmlnZ2VycygpIGNvbnN0IGZpbmFsCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>