<?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>109698</bug_id>
          
          <creation_ts>2013-02-13 08:13:18 -0800</creation_ts>
          <short_desc>[EFL][WK2] Use C API in ewk_context_menu</short_desc>
          <delta_ts>2013-04-15 06:42:10 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit EFL</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>109815</dependson>
    
    <dependson>111552</dependson>
          <blocked>107510</blocked>
    
    <blocked>107657</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Michal Pakula vel Rutka">mpakulavelrutka</reporter>
          <assigned_to name="Michal Pakula vel Rutka">mpakulavelrutka</assigned_to>
          <cc>cdumez</cc>
    
    <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
    
    <cc>gustavo</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jesus</cc>
    
    <cc>lucas.de.marchi</cc>
    
    <cc>mikhail.pozdnyakov</cc>
    
    <cc>mrobinson</cc>
    
    <cc>rakuco</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>831912</commentid>
    <comment_count>0</comment_count>
    <who name="Michal Pakula vel Rutka">mpakulavelrutka</who>
    <bug_when>2013-02-13 08:13:18 -0800</bug_when>
    <thetext>Currently EFL port in ewk_context_menu uses internal C++ classes directly, it should start using WK2 C API.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>833980</commentid>
    <comment_count>1</comment_count>
      <attachid>188557</attachid>
    <who name="Michal Pakula vel Rutka">mpakulavelrutka</who>
    <bug_when>2013-02-15 06:49:22 -0800</bug_when>
    <thetext>Created attachment 188557
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>833989</commentid>
    <comment_count>2</comment_count>
      <attachid>188557</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-02-15 06:58:21 -0800</bug_when>
    <thetext>Comment on attachment 188557
patch

Attachment 188557 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/16598072</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>834000</commentid>
    <comment_count>3</comment_count>
      <attachid>188565</attachid>
    <who name="Michal Pakula vel Rutka">mpakulavelrutka</who>
    <bug_when>2013-02-15 07:21:43 -0800</bug_when>
    <thetext>Created attachment 188565
fixed changelog

this patch won&apos;t  build until https://bugs.webkit.org/show_bug.cgi?id=109815 will land</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>835382</commentid>
    <comment_count>4</comment_count>
      <attachid>188859</attachid>
    <who name="Michal Pakula vel Rutka">mpakulavelrutka</who>
    <bug_when>2013-02-18 05:24:51 -0800</bug_when>
    <thetext>Created attachment 188859
rebased patch

rebased patch after WebView class introduction</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>835700</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-18 12:57:23 -0800</bug_when>
    <thetext>Thanks for the patch. If this patch contains new public API please make sure it follows the guidelines for new WebKit2 GTK+ API. See http://trac.webkit.org/wiki/WebKitGTK/AddingNewWebKit2API</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>835738</commentid>
    <comment_count>6</comment_count>
      <attachid>188859</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-02-18 13:56:23 -0800</bug_when>
    <thetext>Comment on attachment 188859
rebased patch

Attachment 188859 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/16626201</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>838178</commentid>
    <comment_count>7</comment_count>
      <attachid>188859</attachid>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2013-02-20 23:57:58 -0800</bug_when>
    <thetext>Comment on attachment 188859
rebased patch

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

&gt; Source/WebKit2/UIProcess/API/C/WKPage.cpp:802
&gt; +void WKPageContextMenuItemSelected(WKPageRef page, WKContextMenuItemRef item)

WKPageGetSelectedContextMenuItem ?

&gt; Source/WebKit2/UIProcess/API/efl/ewk_context_menu.cpp:44
&gt; +    const size_t size = WKArrayGetSize(items);

const local variables are not up to the coding style.

&gt; Source/WebKit2/UIProcess/API/efl/ewk_context_menu.cpp:145
&gt; +        wkItem = WKContextMenuItemCreateAsAction(static_cast&lt;WKContextMenuItemTag&gt;(item-&gt;action()), WKStringCreateWithUTF8CString(item-&gt;title()), item-&gt;enabled());

WKStringCreateWithUTF8CString needs adoption.

&gt; Source/WebKit2/UIProcess/API/efl/ewk_context_menu.cpp:148
&gt; +        wkItem = WKContextMenuItemCreateAsCheckableAction(static_cast&lt;WKContextMenuItemTag&gt;(item-&gt;action()), WKStringCreateWithUTF8CString(item-&gt;title()), item-&gt;enabled(), item-&gt;checked());

same here.

&gt; Source/WebKit2/UIProcess/API/efl/ewk_context_menu.cpp:151
&gt; +        return false;

is it expected? shouldn&apos;t ASSERT_NOT_REACHED be here?

&gt; Source/WebKit2/UIProcess/API/efl/ewk_context_menu_item.cpp:29
&gt; +#include &quot;WKContextMenuItemTypes.h&quot;

#include &lt;WebKit2/WKContextMenuItemTypes.h&gt;

&gt; Source/WebKit2/UIProcess/API/efl/ewk_context_menu_item.cpp:39
&gt; +    , m_title(WKEinaSharedString(WKContextMenuItemCopyTitle(item)))

needs adoption

&gt; Source/WebKit2/UIProcess/PageClient.h:183
&gt; +#if !PLATFORM(EFL)

could you explain why ?

&gt; Source/WebKit2/UIProcess/efl/ContextMenuClientEfl.cpp:44
&gt; +    contextMenuClient-&gt;view()-&gt;showContextMenu(menuLocation, menuItems);

nit: could be one line: toContextClientEfl(clientInfo)-&gt;view..

&gt; Source/WebKit2/UIProcess/efl/ContextMenuClientEfl.cpp:51
&gt; +    contextMenuClient-&gt;view()-&gt;hideContextMenu();

ditto</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>838198</commentid>
    <comment_count>8</comment_count>
      <attachid>188859</attachid>
    <who name="Michal Pakula vel Rutka">mpakulavelrutka</who>
    <bug_when>2013-02-21 01:00:13 -0800</bug_when>
    <thetext>Comment on attachment 188859
rebased patch

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

&gt;&gt; Source/WebKit2/UIProcess/API/C/WKPage.cpp:802
&gt;&gt; +void WKPageContextMenuItemSelected(WKPageRef page, WKContextMenuItemRef item)
&gt; 
&gt; WKPageGetSelectedContextMenuItem ?

This function is called to select context menu item, so word Get may be confusing.

&gt;&gt; Source/WebKit2/UIProcess/API/efl/ewk_context_menu.cpp:44
&gt;&gt; +    const size_t size = WKArrayGetSize(items);
&gt; 
&gt; const local variables are not up to the coding style.

OK

&gt;&gt; Source/WebKit2/UIProcess/API/efl/ewk_context_menu.cpp:145
&gt;&gt; +        wkItem = WKContextMenuItemCreateAsAction(static_cast&lt;WKContextMenuItemTag&gt;(item-&gt;action()), WKStringCreateWithUTF8CString(item-&gt;title()), item-&gt;enabled());
&gt; 
&gt; WKStringCreateWithUTF8CString needs adoption.

OK

&gt;&gt; Source/WebKit2/UIProcess/API/efl/ewk_context_menu.cpp:148
&gt;&gt; +        wkItem = WKContextMenuItemCreateAsCheckableAction(static_cast&lt;WKContextMenuItemTag&gt;(item-&gt;action()), WKStringCreateWithUTF8CString(item-&gt;title()), item-&gt;enabled(), item-&gt;checked());
&gt; 
&gt; same here.

OK

&gt;&gt; Source/WebKit2/UIProcess/API/efl/ewk_context_menu.cpp:151
&gt;&gt; +        return false;
&gt; 
&gt; is it expected? shouldn&apos;t ASSERT_NOT_REACHED be here?

OK I will add it here before return

&gt;&gt; Source/WebKit2/UIProcess/API/efl/ewk_context_menu_item.cpp:29
&gt;&gt; +#include &quot;WKContextMenuItemTypes.h&quot;
&gt; 
&gt; #include &lt;WebKit2/WKContextMenuItemTypes.h&gt;

OK

&gt;&gt; Source/WebKit2/UIProcess/API/efl/ewk_context_menu_item.cpp:39
&gt;&gt; +    , m_title(WKEinaSharedString(WKContextMenuItemCopyTitle(item)))
&gt; 
&gt; needs adoption

OK

&gt;&gt; Source/WebKit2/UIProcess/PageClient.h:183
&gt;&gt; +#if !PLATFORM(EFL)
&gt; 
&gt; could you explain why ?

Context menu WK client is located inside WKPage.h, so we do not need separate ContextMenuProxy the same as i.e. for WKPageFindClient.

&gt;&gt; Source/WebKit2/UIProcess/efl/ContextMenuClientEfl.cpp:44
&gt;&gt; +    contextMenuClient-&gt;view()-&gt;showContextMenu(menuLocation, menuItems);
&gt; 
&gt; nit: could be one line: toContextClientEfl(clientInfo)-&gt;view..

OK

&gt;&gt; Source/WebKit2/UIProcess/efl/ContextMenuClientEfl.cpp:51
&gt;&gt; +    contextMenuClient-&gt;view()-&gt;hideContextMenu();
&gt; 
&gt; ditto

OK</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>838282</commentid>
    <comment_count>9</comment_count>
      <attachid>189496</attachid>
    <who name="Michal Pakula vel Rutka">mpakulavelrutka</who>
    <bug_when>2013-02-21 03:15:02 -0800</bug_when>
    <thetext>Created attachment 189496
fixes after review</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>839376</commentid>
    <comment_count>10</comment_count>
      <attachid>189716</attachid>
    <who name="Michal Pakula vel Rutka">mpakulavelrutka</who>
    <bug_when>2013-02-22 01:40:10 -0800</bug_when>
    <thetext>Created attachment 189716
rebased</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>841164</commentid>
    <comment_count>11</comment_count>
      <attachid>189716</attachid>
    <who name="Jesus Sanchez-Palencia">jesus</who>
    <bug_when>2013-02-25 11:51:29 -0800</bug_when>
    <thetext>Comment on attachment 189716
rebased

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

&gt; Source/WebKit2/UIProcess/WebPageProxy.cpp:3071
&gt; +#if PLATFORM(EFL)

Why adding more platform-specific code to this common file if this could go through WebContextMenuProxy (m_activeContextMenu, in this context).

&gt; Source/WebKit2/UIProcess/WebPageProxy.cpp:3087
&gt; +#if PLATFORM(EFL)

Ditto.
I have checked your ContextMenuClientEfl and neither its showContextMenu or hideContextMenu end up using the WebPageProxy ptr, so again this could be going through m_activeContextMenu.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>841875</commentid>
    <comment_count>12</comment_count>
      <attachid>189716</attachid>
    <who name="Michal Pakula vel Rutka">mpakulavelrutka</who>
    <bug_when>2013-02-26 04:24:32 -0800</bug_when>
    <thetext>Comment on attachment 189716
rebased

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

&gt;&gt; Source/WebKit2/UIProcess/WebPageProxy.cpp:3087
&gt;&gt; +#if PLATFORM(EFL)
&gt; 
&gt; Ditto.
&gt; I have checked your ContextMenuClientEfl and neither its showContextMenu or hideContextMenu end up using the WebPageProxy ptr, so again this could be going through m_activeContextMenu.

If I want to use WK API I have to call the methods on WebContextMenuClient (m_contextMenuClient) which has a member m_client of WKPageContextMenuClient type. WebContextMenuProxy currently does not have access to WebContextMenuClient, and adding it will need to introduce a change in context menu implementation, as WebContextMenuProxy will have to be changed to APIObject. My intention was to make a small patch, and change other ports&apos; implementation as little as it is possible.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>842018</commentid>
    <comment_count>13</comment_count>
      <attachid>189716</attachid>
    <who name="Michal Pakula vel Rutka">mpakulavelrutka</who>
    <bug_when>2013-02-26 08:13:31 -0800</bug_when>
    <thetext>Comment on attachment 189716
rebased

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

&gt;&gt;&gt; Source/WebKit2/UIProcess/WebPageProxy.cpp:3087
&gt;&gt;&gt; +#if PLATFORM(EFL)
&gt;&gt; 
&gt;&gt; Ditto.
&gt;&gt; I have checked your ContextMenuClientEfl and neither its showContextMenu or hideContextMenu end up using the WebPageProxy ptr, so again this could be going through m_activeContextMenu.
&gt; 
&gt; If I want to use WK API I have to call the methods on WebContextMenuClient (m_contextMenuClient) which has a member m_client of WKPageContextMenuClient type. WebContextMenuProxy currently does not have access to WebContextMenuClient, and adding it will need to introduce a change in context menu implementation, as WebContextMenuProxy will have to be changed to APIObject. My intention was to make a small patch, and change other ports&apos; implementation as little as it is possible.

I checked and this can be done in easier way by adding WebPageContexMenuClient (m_contextMenuClient), as one of arguments in showContextMenu and hideContextMenu, but this solution has two disadvantages: this argument will be unused in all other ports, WebContextMenuProxy in EFL port will be created only to share WebPageProxy implementation with others. In this case I think it is better to add EFL-only code rather than adding unneeded code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>842118</commentid>
    <comment_count>14</comment_count>
    <who name="Jesus Sanchez-Palencia">jesus</who>
    <bug_when>2013-02-26 09:51:53 -0800</bug_when>
    <thetext>(In reply to comment #13)
&gt; I checked and this can be done in easier way by adding WebPageContexMenuClient (m_contextMenuClient), as one of arguments in showContextMenu and hideContextMenu, but this solution has two disadvantages: this argument will be unused in all other ports, WebContextMenuProxy in EFL port will be created only to share WebPageProxy implementation with others. In this case I think it is better to add EFL-only code rather than adding unneeded code.

Hi! I&apos;ve applied your patch locally and I was having a closer look at it. It would be great if we could reach a common code for us all (EFL, Nix, Qt, and perhaps GTK).

If we all decide to go through the C client like this, then keeping m_activeContextMenu in WebPageProxy will only make sense for Mac. All I wished is that we could route all ContextMenu code path through a single entity instead of having both a WebContextMenuProxy and a WebPageContextMenuClient in WebPageProxy.

Anyway, I guess we should get some feedback from a reviewer now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>842170</commentid>
    <comment_count>15</comment_count>
      <attachid>189716</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2013-02-26 10:46:33 -0800</bug_when>
    <thetext>Comment on attachment 189716
rebased

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

&gt; Source/WebKit2/ChangeLog:13
&gt; +        to avoid violating layering.
&gt; +        This patch changes EFL context menu API to use only WK2 C API, also adds two functions to WKPageContextMenuClient.
&gt; +

Maybe the patch adding those should be separate and come with a unit test?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>842212</commentid>
    <comment_count>16</comment_count>
      <attachid>189716</attachid>
    <who name="Jesus Sanchez-Palencia">jesus</who>
    <bug_when>2013-02-26 11:26:02 -0800</bug_when>
    <thetext>Comment on attachment 189716
rebased

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

&gt; Source/WebKit2/UIProcess/PageClient.h:183
&gt; +#if !PLATFORM(EFL)

There is no need for this.

&gt; Source/WebKit2/UIProcess/WebPageProxy.cpp:3088
&gt; +    m_contextMenuClient.showContextMenu(this, menuLocation, proposedItems);

I believe here you should call m_contextMenuClient.getContextMenuFromProposedMenu() as it is done on the lines below (inside the #else block). Otherwise ports going through this code path will lose the option of customizing the menu through their context menu client.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>843144</commentid>
    <comment_count>17</comment_count>
      <attachid>189716</attachid>
    <who name="Michal Pakula vel Rutka">mpakulavelrutka</who>
    <bug_when>2013-02-27 09:10:59 -0800</bug_when>
    <thetext>Comment on attachment 189716
rebased

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

&gt;&gt; Source/WebKit2/ChangeLog:13
&gt;&gt; +
&gt; 
&gt; Maybe the patch adding those should be separate and come with a unit test?

OK I can split it into two parts: common and EFL-only. Maybe I wrote it wrong, but this patch does not change any Webkit-EFL API functions, only the way it communicates with WebKit, so no changes in unit tests are needed.

&gt;&gt; Source/WebKit2/UIProcess/PageClient.h:183
&gt;&gt; +#if !PLATFORM(EFL)
&gt; 
&gt; There is no need for this.

If I will leave this declaration here, I will have to leave the createContextMenuProxy implementation also in WebView class.

&gt;&gt; Source/WebKit2/UIProcess/WebPageProxy.cpp:3088
&gt;&gt; +    m_contextMenuClient.showContextMenu(this, menuLocation, proposedItems);
&gt; 
&gt; I believe here you should call m_contextMenuClient.getContextMenuFromProposedMenu() as it is done on the lines below (inside the #else block). Otherwise ports going through this code path will lose the option of customizing the menu through their context menu client.

OK, I will add this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>844000</commentid>
    <comment_count>18</comment_count>
      <attachid>190708</attachid>
    <who name="Michal Pakula vel Rutka">mpakulavelrutka</who>
    <bug_when>2013-02-28 05:02:25 -0800</bug_when>
    <thetext>Created attachment 190708
fixes

added possibility to customize context menu items, replace COMPILE_ASSERT_MATCHING_ENUM macro with functions converting enums between WK API and EWK</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>848735</commentid>
    <comment_count>19</comment_count>
      <attachid>191723</attachid>
    <who name="Michal Pakula vel Rutka">mpakulavelrutka</who>
    <bug_when>2013-03-06 05:15:38 -0800</bug_when>
    <thetext>Created attachment 191723
patch

patch splitted into WK2 C API and EFL part</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>849561</commentid>
    <comment_count>20</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2013-03-06 18:06:28 -0800</bug_when>
    <thetext>(In reply to comment #18)
&gt; Created an attachment (id=190708) [details]
&gt; fixes
&gt; 
&gt; added possibility to customize context menu items, replace COMPILE_ASSERT_MATCHING_ENUM macro with functions converting enums between WK API and EWK

I&apos;m wondering if the functions can guarantee that EWK_CONTEXT_MENU_ITEM_TAG_XXX is sync with WebCore::ContextMenuItemTagXXX. Can the functions check if WebCore::ContextMenuItemTagXXX is removed or changed ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>849842</commentid>
    <comment_count>21</comment_count>
    <who name="Michal Pakula vel Rutka">mpakulavelrutka</who>
    <bug_when>2013-03-07 01:01:27 -0800</bug_when>
    <thetext>(In reply to comment #20)
&gt; (In reply to comment #18)
&gt; &gt; Created an attachment (id=190708) [details] [details]
&gt; &gt; fixes
&gt; &gt; 
&gt; &gt; added possibility to customize context menu items, replace COMPILE_ASSERT_MATCHING_ENUM macro with functions converting enums between WK API and EWK
&gt; 
&gt; I&apos;m wondering if the functions can guarantee that EWK_CONTEXT_MENU_ITEM_TAG_XXX is sync with WebCore::ContextMenuItemTagXXX. Can the functions check if WebCore::ContextMenuItemTagXXX is removed or changed ?

There functions I have added (WK2 C API &lt;-&gt; EWK) are similar to ones from here: https://trac.webkit.org/browser/trunk/Source/WebKit2/Shared/API/c/WKSharedAPICast.h#L321, converting between WebCore and WK2 C API. 
If new context menu tags/actions will be added to WebCore, they won&apos;t be just visible for application using ewk_context_menu API.
If I will keep using COMPILE_ASSERT_MATCHING_ENUM, Ewk_Context_Menu_Item_Action will have to be in sync with WKContextMenuItemTag, which contains items not used by EFL port.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>849877</commentid>
    <comment_count>22</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2013-03-07 01:45:54 -0800</bug_when>
    <thetext>https://trac.webkit.org/browser/trunk/Source/WebKit2/Shared/API/c/WKSharedAPICast.h#L321

I think this case is reasonable because this map WebCore&apos;s context menu enum on WK2&apos;s enum. However, getWKTagFromEwkAction() and getEwkActionFromWKTag() just deal with WK2 enum defined by us. I still think COMPILE_ASSERT_MATCHING_ENUM will help that we realize this removal when one of WebCore::ContextMenuAction enums is removed.

&gt;&gt; If I will keep using COMPILE_ASSERT_MATCHING_ENUM, Ewk_Context_Menu_Item_Action will have to be in sync with WKContextMenuItemTag, which contains items not used by EFL port.

Basically, when I added Ewk_Context_Menu_Item, I considered it is in sync with WebCore&apos;s ContextMenuItem.h. Look at http://trac.webkit.org/browser/trunk/Source/WebKit2/UIProcess/API/efl/ewk_context_menu_item.h#L56

Isn&apos;t WKContextMenuItemTag in sync with ContextMenuItem.h as well ? If EFL port doesn&apos;t want not to support some items, I think we disable it in ContextMenuItem.h.

If you wanna remove COMPILE_ASSERT_MATCHING_ENUM, how about using ContextMenuItem.h directly as GTK port ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>849917</commentid>
    <comment_count>23</comment_count>
    <who name="Michal Pakula vel Rutka">mpakulavelrutka</who>
    <bug_when>2013-03-07 02:46:04 -0800</bug_when>
    <thetext>(In reply to comment #22)
&gt; https://trac.webkit.org/browser/trunk/Source/WebKit2/Shared/API/c/WKSharedAPICast.h#L321
&gt; 
&gt; I think this case is reasonable because this map WebCore&apos;s context menu enum on WK2&apos;s enum. However, getWKTagFromEwkAction() and getEwkActionFromWKTag() just deal with WK2 enum defined by us. I still think COMPILE_ASSERT_MATCHING_ENUM will help that we realize this removal when one of WebCore::ContextMenuAction enums is removed.
&gt; 

If some of WebCore&apos;s items will be removed also WKContextMenuItemTag should be removed or at least it has to be removed from from toAPI, toImpl functions. 
In first case Ewk_Context_Menu_Item_Tag should be also removed or it will cause build break, in second case using non-existent tag will generate error message.

&gt; &gt;&gt; If I will keep using COMPILE_ASSERT_MATCHING_ENUM, Ewk_Context_Menu_Item_Action will have to be in sync with WKContextMenuItemTag, which contains items not used by EFL port.
&gt; 
&gt; Basically, when I added Ewk_Context_Menu_Item, I considered it is in sync with WebCore&apos;s ContextMenuItem.h. Look at http://trac.webkit.org/browser/trunk/Source/WebKit2/UIProcess/API/efl/ewk_context_menu_item.h#L56

I guess I forgot to remove this comment :)

&gt; 
&gt; Isn&apos;t WKContextMenuItemTag in sync with ContextMenuItem.h as well ? If EFL port doesn&apos;t want not to support some items, I think we disable it in ContextMenuItem.h.

I have checked and WKContextMenuItemTag is not in sync with ContextMenuAction from WebCore. Also some of ContextMenuAction enum are surrounded by ifdefs, while WK2 API are not.

&gt; 
&gt; If you wanna remove COMPILE_ASSERT_MATCHING_ENUM, how about using ContextMenuItem.h directly as GTK port ?

Main purpose of this patch was stop relaying on WebKit2 internal C++ classes and start using WK2 API directly, and I thought it also concerns using WK2 C API enum instead of WebCore.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>849921</commentid>
    <comment_count>24</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2013-03-07 02:54:18 -0800</bug_when>
    <thetext>(In reply to comment #23)
 
&gt; &gt; If you wanna remove COMPILE_ASSERT_MATCHING_ENUM, how about using ContextMenuItem.h directly as GTK port ?
&gt; 
&gt; Main purpose of this patch was stop relaying on WebKit2 internal C++ classes and start using WK2 API directly, and I thought it also concerns using WK2 C API enum instead of WebCore.

Ok, I&apos;m fine from the point of using WK2 API. And, as you said, it looks that toAPI, toImpl functions will guarantee my concern implicitly. Thank you for your explanation.

&gt;&gt; I guess I forgot to remove this comment :)

Yes, please modify this comment as well. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>862752</commentid>
    <comment_count>25</comment_count>
      <attachid>194852</attachid>
    <who name="Michal Pakula vel Rutka">mpakulavelrutka</who>
    <bug_when>2013-03-25 07:42:23 -0700</bug_when>
    <thetext>Created attachment 194852
rebased after 111552 changes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>875556</commentid>
    <comment_count>26</comment_count>
      <attachid>198046</attachid>
    <who name="Michal Pakula vel Rutka">mpakulavelrutka</who>
    <bug_when>2013-04-15 03:16:27 -0700</bug_when>
    <thetext>Created attachment 198046
rebased</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>875720</commentid>
    <comment_count>27</comment_count>
      <attachid>198046</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2013-04-15 05:23:19 -0700</bug_when>
    <thetext>Comment on attachment 198046
rebased

LGTM based on previous informal reviews.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>875759</commentid>
    <comment_count>28</comment_count>
      <attachid>198046</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-04-15 06:42:05 -0700</bug_when>
    <thetext>Comment on attachment 198046
rebased

Clearing flags on attachment: 198046

Committed r148434: &lt;http://trac.webkit.org/changeset/148434&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>875760</commentid>
    <comment_count>29</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-04-15 06:42:10 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>188557</attachid>
            <date>2013-02-15 06:49:22 -0800</date>
            <delta_ts>2013-02-15 07:21:43 -0800</delta_ts>
            <desc>patch</desc>
            <filename>c-api-ewk-contextmenu.diff</filename>
            <type>text/plain</type>
            <size>54530</size>
            <attacher name="Michal Pakula vel Rutka">mpakulavelrutka</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA1ZGEyMWY0Li4wNzc1OTMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNjcg
QEAKKzIwMTMtMDItMTU1NTU1ICBNaWNoYcWCIFBha3XFgmEgdmVsIFJ1dGthICA8bS5wYWt1bGFA
c2Ftc3VuZy5jb20+CisKKyAgICAgICAgW0VGTF1bV0syXSBVc2UgQyBBUEkgaW4gZXdrX2NvbnRl
eHRfbWVudQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTA5Njk4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
RUZMIHBvcnQgdW5saWtlIG90aGVycyBkb2VzIG5vdCBoYW5kbGUgY29udGV4dCBtZW51cyBpbnNp
ZGUgV2ViS2l0IGJ1dCBleHBvc2VzIGFuIEFQSToKKyAgICAgICAgZXdrX2NvbnRleHRfbWVudSBh
bmQgZXdrX2NvbnRleHRfbWVudV9pdGVtLCBhbmQgbGVhdmVzIGNvbnRleHQgbWVudSB0byBhcHBs
aWNhdGlvbi4KKyAgICAgICAgQ3VycmVudGx5IEVGTCBwb3J0J3MgY29udGV4dCBtZW51IEFQSSB1
c2VzIGludGVybmFsIEMrKyBjbGFzc2VzLCB3aGlsZSBpdCBzaG91bGQgdXNlIFdLMiBDIEFQSSwK
KyAgICAgICAgdG8gYXZvaWQgdmlvbGF0aW5nIGxheWVyaW5nLgorICAgICAgICBUaGlzIHBhdGNo
IGNoYW5nZXMgRUZMIGNvbnRleHQgbWVudSBBUEkgdG8gdXNlIG9ubHkgV0syIEMgQVBJLCBhbHNv
IGFkZHMgdHdvIGZ1bmN0aW9ucyB0byBXS1BhZ2VDb250ZXh0TWVudUNsaWVudC4KKworICAgICAg
ICAqIFBsYXRmb3JtRWZsLmNtYWtlOgorICAgICAgICAqIFNoYXJlZC9BUElDbGllbnRUcmFpdHMu
Y3BwOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKiBTaGFyZWQvQVBJQ2xpZW50VHJhaXRz
Lmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHA6CisgICAgICAgIChXS1Bh
Z2VDb250ZXh0TWVudUl0ZW1TZWxlY3RlZCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dL
UGFnZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuY3BwOgorICAgICAg
ICAoRXdrVmlldzo6c2hvd0NvbnRleHRNZW51KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2Vm
bC9Fd2tWaWV3Lmg6CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAoRXdrVmlldyk6CisgICAg
ICAgICogVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHRfbWVudS5jcHA6CisgICAgICAgIChF
d2tDb250ZXh0TWVudTo6RXdrQ29udGV4dE1lbnUpOgorICAgICAgICAoRXdrQ29udGV4dE1lbnU6
OmNvbnRleHRNZW51SXRlbVNlbGVjdGVkKToKKyAgICAgICAgKGV3a19jb250ZXh0X21lbnVfaXRl
bV9zZWxlY3QpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0X21lbnVf
aXRlbS5jcHA6CisgICAgICAgIChFd2tDb250ZXh0TWVudUl0ZW06OkV3a0NvbnRleHRNZW51SXRl
bSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHRfbWVudV9pdGVtLmg6
CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHRfbWVudV9pdGVtX3ByaXZh
dGUuaDoKKyAgICAgICAgKEV3a0NvbnRleHRNZW51SXRlbTo6Y3JlYXRlKToKKyAgICAgICAgKEV3
a0NvbnRleHRNZW51SXRlbSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRl
eHRfbWVudV9wcml2YXRlLmg6CisgICAgICAgIChFd2tDb250ZXh0TWVudTo6Y3JlYXRlKToKKyAg
ICAgICAgKEV3a0NvbnRleHRNZW51KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJL
aXRDb250ZXh0TWVudUNsaWVudC5jcHA6CisgICAgICAgIChhdHRhY2hDb250ZXh0TWVudUNsaWVu
dFRvVmlldyk6CisgICAgICAgICogVUlQcm9jZXNzL1BhZ2VDbGllbnQuaDoKKyAgICAgICAgKFBh
Z2VDbGllbnQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlQ29udGV4dE1lbnVDbGllbnQu
Y3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlQ29udGV4dE1lbnVDbGllbnQ6OnNob3dDb250
ZXh0TWVudSk6CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlQ29u
dGV4dE1lbnVDbGllbnQ6OmhpZGVDb250ZXh0TWVudSk6CisgICAgICAgICogVUlQcm9jZXNzL1dl
YlBhZ2VDb250ZXh0TWVudUNsaWVudC5oOgorICAgICAgICAoV2ViUGFnZUNvbnRleHRNZW51Q2xp
ZW50KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdl
YktpdDo6V2ViUGFnZVByb3h5OjppbnRlcm5hbFNob3dDb250ZXh0TWVudSk6CisgICAgICAgICog
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgorICAgICAgICAoV2ViUGFnZVByb3h5KToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvZWZsL0NvbnRleHRNZW51Q2xpZW50RWZsLmNwcDoKKyAgICAgICAgKHNo
b3dDb250ZXh0TWVudSk6CisgICAgICAgIChoaWRlQ29udGV4dE1lbnUpOgorICAgICAgICAoQ29u
dGV4dE1lbnVDbGllbnRFZmw6OkNvbnRleHRNZW51Q2xpZW50RWZsKToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvZWZsL0NvbnRleHRNZW51Q2xpZW50RWZsLmg6CisgICAgICAgIChXZWJLaXQ6OkNvbnRl
eHRNZW51Q2xpZW50RWZsOjp2aWV3KToKKyAgICAgICAgKiBVSVByb2Nlc3MvZWZsL1BhZ2VDbGll
bnRCYXNlLmNwcDoKKyAgICAgICAgKiBVSVByb2Nlc3MvZWZsL1BhZ2VDbGllbnRCYXNlLmg6Cisg
ICAgICAgIChQYWdlQ2xpZW50QmFzZSk6CisgICAgICAgICogVUlQcm9jZXNzL2VmbC9XZWJDb250
ZXh0TWVudVByb3h5RWZsLmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvZWZsL1dl
YkNvbnRleHRNZW51UHJveHlFZmwuaDogUmVtb3ZlZC4KKwogMjAxMy0wMi0xNSAgQWxsYW4gU2Fu
ZGZlbGQgSmVuc2VuICA8YWxsYW4uamVuc2VuQGRpZ2lhLmNvbT4KIAogICAgICAgICBTaW1wbGlm
eSBoaXRUZXN0UmVzdWx0QXRQb2ludCBhbmQgbm9kZXNGcm9tUmVjdCBBUElzCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZSBiL1NvdXJjZS9XZWJLaXQyL1BsYXRm
b3JtRWZsLmNtYWtlCmluZGV4IDE1NmJhMWIuLjEzYjc3NzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtRWZs
LmNtYWtlCkBAIC0xMDEsNyArMTAxLDYgQEAgbGlzdChBUFBFTkQgV2ViS2l0Ml9TT1VSQ0VTCiAg
ICAgVUlQcm9jZXNzL2VmbC9WaWJyYXRpb25DbGllbnRFZmwuY3BwCiAgICAgVUlQcm9jZXNzL2Vm
bC9WaWV3Q2xpZW50RWZsLmNwcAogICAgIFVJUHJvY2Vzcy9lZmwvV2ViQ29udGV4dEVmbC5jcHAK
LSAgICBVSVByb2Nlc3MvZWZsL1dlYkNvbnRleHRNZW51UHJveHlFZmwuY3BwCiAgICAgVUlQcm9j
ZXNzL2VmbC9XZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5RWZsLmNwcAogICAgIFVJUHJvY2Vzcy9l
ZmwvV2ViSW5zcGVjdG9yUHJveHlFZmwuY3BwCiAgICAgVUlQcm9jZXNzL2VmbC9XZWJQYWdlUHJv
eHlFZmwuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJQ2xpZW50VHJh
aXRzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUElDbGllbnRUcmFpdHMuY3BwCmluZGV4
IDVlY2RhYjMuLjQ0NjU2NGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUElD
bGllbnRUcmFpdHMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUElDbGllbnRUcmFp
dHMuY3BwCkBAIC01Nyw2ICs1Nyw3IEBAIGNvbnN0IHNpemVfdCBBUElDbGllbnRUcmFpdHM8V0tC
dW5kbGVQYWdlRnVsbFNjcmVlbkNsaWVudD46OmludGVyZmFjZVNpemVzQnlWZXJzCiBjb25zdCBz
aXplX3QgQVBJQ2xpZW50VHJhaXRzPFdLUGFnZUNvbnRleHRNZW51Q2xpZW50Pjo6aW50ZXJmYWNl
U2l6ZXNCeVZlcnNpb25bXSA9IHsKICAgICBvZmZzZXRvZihXS1BhZ2VDb250ZXh0TWVudUNsaWVu
dCwgY29udGV4dE1lbnVEaXNtaXNzZWQpLAogICAgIG9mZnNldG9mKFdLUGFnZUNvbnRleHRNZW51
Q2xpZW50LCBnZXRDb250ZXh0TWVudUZyb21Qcm9wb3NlZE1lbnUpLAorICAgIG9mZnNldG9mKFdL
UGFnZUNvbnRleHRNZW51Q2xpZW50LCBzaG93Q29udGV4dE1lbnUpLAogICAgIHNpemVvZihXS1Bh
Z2VDb250ZXh0TWVudUNsaWVudCkKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9BUElDbGllbnRUcmFpdHMuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUElDbGllbnRU
cmFpdHMuaAppbmRleCBhMDYyOTU2Li5hZWQ4MmY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvQVBJQ2xpZW50VHJhaXRzLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQ
SUNsaWVudFRyYWl0cy5oCkBAIC02MCw3ICs2MCw3IEBAIHRlbXBsYXRlPD4gc3RydWN0IEFQSUNs
aWVudFRyYWl0czxXS0J1bmRsZVBhZ2VVSUNsaWVudD4gewogfTsKIAogdGVtcGxhdGU8PiBzdHJ1
Y3QgQVBJQ2xpZW50VHJhaXRzPFdLUGFnZUNvbnRleHRNZW51Q2xpZW50PiB7Ci0gICAgc3RhdGlj
IGNvbnN0IHNpemVfdCBpbnRlcmZhY2VTaXplc0J5VmVyc2lvblszXTsKKyAgICBzdGF0aWMgY29u
c3Qgc2l6ZV90IGludGVyZmFjZVNpemVzQnlWZXJzaW9uWzRdOwogfTsKIAogdGVtcGxhdGU8PiBz
dHJ1Y3QgQVBJQ2xpZW50VHJhaXRzPFdLUGFnZUxvYWRlckNsaWVudD4gewpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNwcAppbmRleCA1NTBkN2JlLi5lYWNlYTM5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNwcApAQCAtNDAsNiArNDAsMTAg
QEAKICNpbmNsdWRlIDxCbG9jay5oPgogI2VuZGlmCiAKKyNpZiBFTkFCTEUoQ09OVEVYVF9NRU5V
UykKKyNpbmNsdWRlICJXZWJDb250ZXh0TWVudUl0ZW0uaCIKKyNlbmRpZgorCiB1c2luZyBuYW1l
c3BhY2UgV2ViQ29yZTsKIHVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CiAKQEAgLTc5NCwzICs3OTgs
MTAgQEAgdm9pZCBXS1BhZ2VTZXRJbnZhbGlkTWVzc2FnZUZ1bmN0aW9uKFdLUGFnZUludmFsaWRN
ZXNzYWdlRnVuY3Rpb24pCiB7CiAgICAgLy8gRklYTUU6IFJlbW92ZSB0aGlzIGZ1bmN0aW9uIHdo
ZW4gZG9pbmcgc28gd29uJ3QgYnJlYWsgV2ViS2l0IG5pZ2h0bGllcy4KIH0KKwordm9pZCBXS1Bh
Z2VDb250ZXh0TWVudUl0ZW1TZWxlY3RlZChXS1BhZ2VSZWYgcGFnZSwgV0tDb250ZXh0TWVudUl0
ZW1SZWYgaXRlbSkKK3sKKyNpZiBFTkFCTEUoQ09OVEVYVF9NRU5VUykKKyAgICB0b0ltcGwocGFn
ZSktPmNvbnRleHRNZW51SXRlbVNlbGVjdGVkKCoodG9JbXBsKGl0ZW0pLT5kYXRhKCkpKTsKKyNl
bmRpZgorfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFn
ZS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5oCmluZGV4IDFhODU2
NTcuLjEwZTI0YzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9X
S1BhZ2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmgKQEAg
LTMyMCw2ICszMjAsOCBAQCBlbnVtIHsga1dLUGFnZUZpbmRNYXRjaGVzQ2xpZW50Q3VycmVudFZl
cnNpb24gPSAwIH07CiB0eXBlZGVmIHZvaWQgKCpXS1BhZ2VHZXRDb250ZXh0TWVudUZyb21Qcm9w
b3NlZENvbnRleHRNZW51Q2FsbGJhY2spKFdLUGFnZVJlZiBwYWdlLCBXS0FycmF5UmVmIHByb3Bv
c2VkTWVudSwgV0tBcnJheVJlZiogbmV3TWVudSwgV0tIaXRUZXN0UmVzdWx0UmVmIGhpdFRlc3RS
ZXN1bHQsIFdLVHlwZVJlZiB1c2VyRGF0YSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7CiB0eXBl
ZGVmIHZvaWQgKCpXS1BhZ2VDdXN0b21Db250ZXh0TWVudUl0ZW1TZWxlY3RlZENhbGxiYWNrKShX
S1BhZ2VSZWYgcGFnZSwgV0tDb250ZXh0TWVudUl0ZW1SZWYgY29udGV4dE1lbnVJdGVtLCBjb25z
dCB2b2lkKiBjbGllbnRJbmZvKTsKIHR5cGVkZWYgdm9pZCAoKldLUGFnZUNvbnRleHRNZW51RGlz
bWlzc2VkQ2FsbGJhY2spKFdLUGFnZVJlZiBwYWdlLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsK
K3R5cGVkZWYgdm9pZCAoKldLUGFnZVNob3dDb250ZXh0TWVudUNhbGxiYWNrKShXS1BhZ2VSZWYg
cGFnZSwgV0tQb2ludCBtZW51TG9jYXRpb24sIFdLQXJyYXlSZWYgbWVudUl0ZW1zLCBjb25zdCB2
b2lkKiBjbGllbnRJbmZvKTsKK3R5cGVkZWYgdm9pZCAoKldLUGFnZUhpZGVDb250ZXh0TWVudUNh
bGxiYWNrKShXS1BhZ2VSZWYgcGFnZSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7CiAKIC8vIERl
cHJlY2F0ZWQKIHR5cGVkZWYgdm9pZCAoKldLUGFnZUdldENvbnRleHRNZW51RnJvbVByb3Bvc2Vk
Q29udGV4dE1lbnVDYWxsYmFja19kZXByZWNhdGVkRm9yVXNlV2l0aFYwKShXS1BhZ2VSZWYgcGFn
ZSwgV0tBcnJheVJlZiBwcm9wb3NlZE1lbnUsIFdLQXJyYXlSZWYqIG5ld01lbnUsIFdLVHlwZVJl
ZiB1c2VyRGF0YSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7CkBAIC0zMzYsMTAgKzMzOCwxNCBA
QCBzdHJ1Y3QgV0tQYWdlQ29udGV4dE1lbnVDbGllbnQgewogCiAgICAgLy8gVmVyc2lvbiAyCiAg
ICAgV0tQYWdlR2V0Q29udGV4dE1lbnVGcm9tUHJvcG9zZWRDb250ZXh0TWVudUNhbGxiYWNrICAg
ICAgICAgICAgICAgICAgICAgICAgICBnZXRDb250ZXh0TWVudUZyb21Qcm9wb3NlZE1lbnU7CisK
KyAgICAvLyBWZXJzaW9uIDMKKyAgICBXS1BhZ2VTaG93Q29udGV4dE1lbnVDYWxsYmFjayAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3dDb250ZXh0TWVu
dTsKKyAgICBXS1BhZ2VIaWRlQ29udGV4dE1lbnVDYWxsYmFjayAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpZGVDb250ZXh0TWVudTsKIH07CiB0eXBlZGVm
IHN0cnVjdCBXS1BhZ2VDb250ZXh0TWVudUNsaWVudCBXS1BhZ2VDb250ZXh0TWVudUNsaWVudDsK
IAotZW51bSB7IGtXS1BhZ2VDb250ZXh0TWVudUNsaWVudEN1cnJlbnRWZXJzaW9uID0gMiB9Owor
ZW51bSB7IGtXS1BhZ2VDb250ZXh0TWVudUNsaWVudEN1cnJlbnRWZXJzaW9uID0gMyB9OwogCiBX
S19FWFBPUlQgV0tUeXBlSUQgV0tQYWdlR2V0VHlwZUlEKCk7CiAKQEAgLTUxNCw2ICs1MjAsOCBA
QCBXS19FWFBPUlQgdm9pZCBXS1BhZ2VFeGVjdXRlQ29tbWFuZChXS1BhZ2VSZWYgcGFnZSwgV0tT
dHJpbmdSZWYgY29tbWFuZCk7CiAKIFdLX0VYUE9SVCB2b2lkIFdLUGFnZVBvc3RNZXNzYWdlVG9J
bmplY3RlZEJ1bmRsZShXS1BhZ2VSZWYgcGFnZSwgV0tTdHJpbmdSZWYgbWVzc2FnZU5hbWUsIFdL
VHlwZVJlZiBtZXNzYWdlQm9keSk7CiAKK1dLX0VYUE9SVCB2b2lkIFdLUGFnZUNvbnRleHRNZW51
SXRlbVNlbGVjdGVkKFdLUGFnZVJlZiBwYWdlLCBXS0NvbnRleHRNZW51SXRlbVJlZiBpdGVtKTsK
KwogI2lmZGVmIF9fY3BsdXNwbHVzCiB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9lZmwvRXdrVmlldy5jcHAKaW5kZXggZmU5NGExZi4uYTYxYzhjZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlldy5jcHAKKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlldy5jcHAKQEAgLTg5NCw3ICs4OTQs
NyBAQCB2b2lkIEV3a1ZpZXc6OmRpc21pc3NDb2xvclBpY2tlcigpCiBDT01QSUxFX0FTU0VSVF9N
QVRDSElOR19FTlVNKEVXS19URVhUX0RJUkVDVElPTl9SSUdIVF9UT19MRUZULCBSVEwpOwogQ09N
UElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfVEVYVF9ESVJFQ1RJT05fTEVGVF9UT19SSUdI
VCwgTFRSKTsKIAotdm9pZCBFd2tWaWV3OjpzaG93Q29udGV4dE1lbnUoV2ViQ29udGV4dE1lbnVQ
cm94eUVmbCogY29udGV4dE1lbnVQcm94eSwgY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIHBvc2l0
aW9uLCBjb25zdCBWZWN0b3I8V2ViQ29udGV4dE1lbnVJdGVtRGF0YT4mIGl0ZW1zKQordm9pZCBF
d2tWaWV3OjpzaG93Q29udGV4dE1lbnUoV0tQb2ludCBwb3NpdGlvbiwgV0tBcnJheVJlZiBpdGVt
cykKIHsKICAgICBFd2tfVmlld19TbWFydF9EYXRhKiBzZCA9IHNtYXJ0RGF0YSgpOwogICAgIEFT
U0VSVChzZC0+YXBpKTsKQEAgLTkwNyw5ICs5MDcsOSBAQCB2b2lkIEV3a1ZpZXc6OnNob3dDb250
ZXh0TWVudShXZWJDb250ZXh0TWVudVByb3h5RWZsKiBjb250ZXh0TWVudVByb3h5LCBjb25zdCBX
ZQogICAgIGlmIChtX2NvbnRleHRNZW51KQogICAgICAgICBoaWRlQ29udGV4dE1lbnUoKTsKIAot
ICAgIG1fY29udGV4dE1lbnUgPSBFd2tfQ29udGV4dF9NZW51OjpjcmVhdGUodGhpcywgY29udGV4
dE1lbnVQcm94eSwgaXRlbXMpOworICAgIG1fY29udGV4dE1lbnUgPSBFd2tfQ29udGV4dF9NZW51
OjpjcmVhdGUodGhpcywgaXRlbXMpOwogCi0gICAgc2QtPmFwaS0+Y29udGV4dF9tZW51X3Nob3co
c2QsIHBvc2l0aW9uLngoKSwgcG9zaXRpb24ueSgpLCBtX2NvbnRleHRNZW51LmdldCgpKTsKKyAg
ICBzZC0+YXBpLT5jb250ZXh0X21lbnVfc2hvdyhzZCwgcG9zaXRpb24ueCwgcG9zaXRpb24ueSwg
bV9jb250ZXh0TWVudS5nZXQoKSk7CiB9CiAKIHZvaWQgRXdrVmlldzo6aGlkZUNvbnRleHRNZW51
KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcu
aCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuaAppbmRleCA2ZmNj
NWNjLi4zYjBjOGVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2Vm
bC9Fd2tWaWV3LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmll
dy5oCkBAIC02NCw4ICs2NCw2IEBAIGNsYXNzIFBhZ2VMb2FkQ2xpZW50RWZsOwogY2xhc3MgUGFn
ZVBvbGljeUNsaWVudEVmbDsKIGNsYXNzIFBhZ2VVSUNsaWVudEVmbDsKIGNsYXNzIFZpZXdDbGll
bnRFZmw7Ci1jbGFzcyBXZWJDb250ZXh0TWVudUl0ZW1EYXRhOwotY2xhc3MgV2ViQ29udGV4dE1l
bnVQcm94eUVmbDsKIGNsYXNzIFdlYlBhZ2VHcm91cDsKIGNsYXNzIFdlYlBhZ2VQcm94eTsKIGNs
YXNzIFdlYlBvcHVwSXRlbTsKQEAgLTE5Miw3ICsxOTAsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBy
ZXF1ZXN0UG9wdXBNZW51KFdlYktpdDo6V2ViUG9wdXBNZW51UHJveHlFZmwqLCBjb25zdCBXZWJD
b3JlOjpJbnRSZWN0JiwgV2ViQ29yZTo6VGV4dERpcmVjdGlvbiwgZG91YmxlIHBhZ2VTY2FsZUZh
Y3RvciwgY29uc3QgVmVjdG9yPFdlYktpdDo6V2ViUG9wdXBJdGVtPiYgaXRlbXMsIGludDMyX3Qg
c2VsZWN0ZWRJbmRleCk7CiAgICAgdm9pZCBjbG9zZVBvcHVwTWVudSgpOwogCi0gICAgdm9pZCBz
aG93Q29udGV4dE1lbnUoV2ViS2l0OjpXZWJDb250ZXh0TWVudVByb3h5RWZsKiwgY29uc3QgV2Vi
Q29yZTo6SW50UG9pbnQmIHBvc2l0aW9uLCBjb25zdCBWZWN0b3I8V2ViS2l0OjpXZWJDb250ZXh0
TWVudUl0ZW1EYXRhPiYgaXRlbXMpOworICAgIHZvaWQgc2hvd0NvbnRleHRNZW51KFdLUG9pbnQg
cG9zaXRpb24sIFdLQXJyYXlSZWYgaXRlbXMpOwogICAgIHZvaWQgaGlkZUNvbnRleHRNZW51KCk7
CiAKICAgICB2b2lkIHVwZGF0ZVRleHRJbnB1dFN0YXRlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dF9tZW51LmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0X21lbnUuY3BwCmluZGV4IDk4YTQz
MWEuLjU5Mjk5N2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZs
L2V3a19jb250ZXh0X21lbnUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
ZWZsL2V3a19jb250ZXh0X21lbnUuY3BwCkBAIC0yOCwzNCArMjgsMzIgQEAKIAogI2luY2x1ZGUg
IkFQSU9iamVjdC5oIgogI2luY2x1ZGUgIkV3a1ZpZXcuaCIKLSNpbmNsdWRlICJXZWJDb250ZXh0
TWVudUl0ZW1EYXRhLmgiCi0jaW5jbHVkZSAiV2ViQ29udGV4dE1lbnVQcm94eUVmbC5oIgorI2lu
Y2x1ZGUgIldLQXJyYXkuaCIKKyNpbmNsdWRlICJXS0NvbnRleHRNZW51SXRlbS5oIgorI2luY2x1
ZGUgIldLU3RyaW5nLmgiCiAjaW5jbHVkZSAiZXdrX2NvbnRleHRfbWVudV9pdGVtLmgiCiAjaW5j
bHVkZSAiZXdrX2NvbnRleHRfbWVudV9pdGVtX3ByaXZhdGUuaCIKICNpbmNsdWRlICJld2tfY29u
dGV4dF9tZW51X3ByaXZhdGUuaCIKIAogdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKIAotRXdrQ29u
dGV4dE1lbnU6OkV3a0NvbnRleHRNZW51KEV3a1ZpZXcqIHZpZXcsIFdlYkNvbnRleHRNZW51UHJv
eHlFZmwqIGNvbnRleHRNZW51UHJveHksIGNvbnN0IFZlY3RvcjxXZWJLaXQ6OldlYkNvbnRleHRN
ZW51SXRlbURhdGE+JiBpdGVtcykKK0V3a0NvbnRleHRNZW51OjpFd2tDb250ZXh0TWVudShFd2tW
aWV3KiB2aWV3LCBXS0FycmF5UmVmIGl0ZW1zKQogICAgIDogbV92aWV3SW1wbCh2aWV3KQotICAg
ICwgbV9jb250ZXh0TWVudVByb3h5KGNvbnRleHRNZW51UHJveHkpCiAgICAgLCBtX2NvbnRleHRN
ZW51SXRlbXMoMCkKIHsKLSAgICBjb25zdCBzaXplX3Qgc2l6ZSA9IGl0ZW1zLnNpemUoKTsKKyAg
ICBjb25zdCBzaXplX3Qgc2l6ZSA9IFdLQXJyYXlHZXRTaXplKGl0ZW1zKTsKICAgICBmb3IgKHNp
emVfdCBpID0gMDsgaSA8IHNpemU7ICsraSkKLSAgICAgICAgbV9jb250ZXh0TWVudUl0ZW1zID0g
ZWluYV9saXN0X2FwcGVuZChtX2NvbnRleHRNZW51SXRlbXMsIEV3a19Db250ZXh0X01lbnVfSXRl
bTo6Y3JlYXRlKGl0ZW1zW2ldKS5sZWFrUHRyKCkpOworICAgICAgICBtX2NvbnRleHRNZW51SXRl
bXMgPSBlaW5hX2xpc3RfYXBwZW5kKG1fY29udGV4dE1lbnVJdGVtcywgRXdrX0NvbnRleHRfTWVu
dV9JdGVtOjpjcmVhdGUoc3RhdGljX2Nhc3Q8V0tDb250ZXh0TWVudUl0ZW1SZWY+KFdLQXJyYXlH
ZXRJdGVtQXRJbmRleChpdGVtcywgaSkpKS5sZWFrUHRyKCkpOwogfQogCiBFd2tDb250ZXh0TWVu
dTo6RXdrQ29udGV4dE1lbnUoKQogICAgIDogbV92aWV3SW1wbCgwKQotICAgICwgbV9jb250ZXh0
TWVudVByb3h5KDApCiAgICAgLCBtX2NvbnRleHRNZW51SXRlbXMoMCkKIHsKIH0KIAogRXdrQ29u
dGV4dE1lbnU6OkV3a0NvbnRleHRNZW51KEVpbmFfTGlzdCogaXRlbXMpCiAgICAgOiBtX3ZpZXdJ
bXBsKDApCi0gICAgLCBtX2NvbnRleHRNZW51UHJveHkoMCkKICAgICAsIG1fY29udGV4dE1lbnVJ
dGVtcygwKQogewogICAgIEVpbmFfTGlzdCogbDsKQEAgLTg2LDkgKzg0LDkgQEAgdm9pZCBFd2tf
Q29udGV4dF9NZW51OjpyZW1vdmVJdGVtKEV3a0NvbnRleHRNZW51SXRlbSogaXRlbSkKICAgICBt
X2NvbnRleHRNZW51SXRlbXMgPSBlaW5hX2xpc3RfcmVtb3ZlKG1fY29udGV4dE1lbnVJdGVtcywg
aXRlbSk7CiB9CiAKLXZvaWQgRXdrQ29udGV4dE1lbnU6OmNvbnRleHRNZW51SXRlbVNlbGVjdGVk
KGNvbnN0IFdlYktpdDo6V2ViQ29udGV4dE1lbnVJdGVtRGF0YSYgaXRlbSkKK3ZvaWQgRXdrQ29u
dGV4dE1lbnU6OmNvbnRleHRNZW51SXRlbVNlbGVjdGVkKFdLQ29udGV4dE1lbnVJdGVtUmVmIGl0
ZW0pCiB7Ci0gICAgbV9jb250ZXh0TWVudVByb3h5LT5jb250ZXh0TWVudUl0ZW1TZWxlY3RlZChp
dGVtKTsgCisgICAgV0tQYWdlQ29udGV4dE1lbnVJdGVtU2VsZWN0ZWQobV92aWV3SW1wbC0+d2tQ
YWdlKCksIGl0ZW0pOwogfSAKIAogRXdrX0NvbnRleHRfTWVudSogZXdrX2NvbnRleHRfbWVudV9u
ZXcoKQpAQCAtMTQwLDEwICsxMzgsMjAgQEAgRWluYV9Cb29sIGV3a19jb250ZXh0X21lbnVfaXRl
bV9zZWxlY3QoRXdrX0NvbnRleHRfTWVudSogbWVudSwgRXdrX0NvbnRleHRfTWVudV8KICAgICBF
SU5BX1NBRkVUWV9PTl9OVUxMX1JFVFVSTl9WQUwobWVudSwgZmFsc2UpOwogICAgIEVJTkFfU0FG
RVRZX09OX05VTExfUkVUVVJOX1ZBTChpdGVtLCBmYWxzZSk7CiAKLSAgICBXZWJDb3JlOjpDb250
ZXh0TWVudUl0ZW1UeXBlIHR5cGUgPSBzdGF0aWNfY2FzdDxXZWJDb3JlOjpDb250ZXh0TWVudUl0
ZW1UeXBlPihpdGVtLT50eXBlKCkpOwotICAgIFdlYkNvcmU6OkNvbnRleHRNZW51QWN0aW9uIGFj
dGlvbiA9IHN0YXRpY19jYXN0PFdlYkNvcmU6OkNvbnRleHRNZW51QWN0aW9uPihpdGVtLT5hY3Rp
b24oKSk7CisgICAgV0tDb250ZXh0TWVudUl0ZW1SZWYgd2tJdGVtOwogCi0gICAgbWVudS0+Y29u
dGV4dE1lbnVJdGVtU2VsZWN0ZWQoV2ViQ29udGV4dE1lbnVJdGVtRGF0YSh0eXBlLCBhY3Rpb24s
IGl0ZW0tPnRpdGxlKCksIGl0ZW0tPmVuYWJsZWQoKSwgaXRlbS0+Y2hlY2tlZCgpKSk7CisgICAg
c3dpdGNoIChpdGVtLT50eXBlKCkpIHsKKyAgICBjYXNlIEVXS19BQ1RJT05fVFlQRToKKyAgICAg
ICAgd2tJdGVtID0gV0tDb250ZXh0TWVudUl0ZW1DcmVhdGVBc0FjdGlvbihzdGF0aWNfY2FzdDxX
S0NvbnRleHRNZW51SXRlbVRhZz4oaXRlbS0+YWN0aW9uKCkpLCBXS1N0cmluZ0NyZWF0ZVdpdGhV
VEY4Q1N0cmluZyhpdGVtLT50aXRsZSgpKSwgaXRlbS0+ZW5hYmxlZCgpKTsKKyAgICAgICAgYnJl
YWs7CisgICAgY2FzZSBFV0tfQ0hFQ0tBQkxFX0FDVElPTl9UWVBFOgorICAgICAgICB3a0l0ZW0g
PSBXS0NvbnRleHRNZW51SXRlbUNyZWF0ZUFzQ2hlY2thYmxlQWN0aW9uKHN0YXRpY19jYXN0PFdL
Q29udGV4dE1lbnVJdGVtVGFnPihpdGVtLT5hY3Rpb24oKSksIFdLU3RyaW5nQ3JlYXRlV2l0aFVU
RjhDU3RyaW5nKGl0ZW0tPnRpdGxlKCkpLCBpdGVtLT5lbmFibGVkKCksIGl0ZW0tPmNoZWNrZWQo
KSk7CisgICAgICAgIGJyZWFrOworICAgIGRlZmF1bHQ6CisgICAgICAgIHJldHVybiBmYWxzZTsK
KyAgICB9CisKKyAgICBtZW51LT5jb250ZXh0TWVudUl0ZW1TZWxlY3RlZCh3a0l0ZW0pOwogCiAg
ICAgcmV0dXJuIHRydWU7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL2VmbC9ld2tfY29udGV4dF9tZW51X2l0ZW0uY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9lZmwvZXdrX2NvbnRleHRfbWVudV9pdGVtLmNwcAppbmRleCAxZmY4NjUyLi5lYzZk
MTM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29u
dGV4dF9tZW51X2l0ZW0uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZs
L2V3a19jb250ZXh0X21lbnVfaXRlbS5jcHAKQEAgLTI2LDE5ICsyNiwxOSBAQAogI2luY2x1ZGUg
ImNvbmZpZy5oIgogI2luY2x1ZGUgImV3a19jb250ZXh0X21lbnVfaXRlbS5oIgogCisjaW5jbHVk
ZSAiV0tDb250ZXh0TWVudUl0ZW1UeXBlcy5oIgogI2luY2x1ZGUgImV3a19jb250ZXh0X21lbnVf
aXRlbV9wcml2YXRlLmgiCiAjaW5jbHVkZSAiZXdrX3ByaXZhdGUuaCIKICNpbmNsdWRlIDx3dGYv
dGV4dC9DU3RyaW5nLmg+CiAKLXVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogdXNpbmcgbmFtZXNw
YWNlIFdlYktpdDsKIAotRXdrQ29udGV4dE1lbnVJdGVtOjpFd2tDb250ZXh0TWVudUl0ZW0oY29u
c3QgV2ViQ29udGV4dE1lbnVJdGVtRGF0YSYgaXRlbSkKLSAgICA6IG1fdHlwZShzdGF0aWNfY2Fz
dDxFd2tfQ29udGV4dF9NZW51X0l0ZW1fVHlwZT4oaXRlbS50eXBlKCkpKQotICAgICwgbV9hY3Rp
b24oc3RhdGljX2Nhc3Q8RXdrX0NvbnRleHRfTWVudV9JdGVtX0FjdGlvbj4oaXRlbS5hY3Rpb24o
KSkpCi0gICAgLCBtX3RpdGxlKGl0ZW0udGl0bGUoKS51dGY4KCkuZGF0YSgpKQotICAgICwgbV9p
c0NoZWNrZWQoaXRlbS5jaGVja2VkKCkpCi0gICAgLCBtX2lzRW5hYmxlZChpdGVtLmVuYWJsZWQo
KSkKK0V3a0NvbnRleHRNZW51SXRlbTo6RXdrQ29udGV4dE1lbnVJdGVtKFdLQ29udGV4dE1lbnVJ
dGVtUmVmIGl0ZW0pCisgICAgOiBtX3R5cGUoc3RhdGljX2Nhc3Q8RXdrX0NvbnRleHRfTWVudV9J
dGVtX1R5cGU+KFdLQ29udGV4dE1lbnVJdGVtR2V0VHlwZShpdGVtKSkpCisgICAgLCBtX2FjdGlv
bihzdGF0aWNfY2FzdDxFd2tfQ29udGV4dF9NZW51X0l0ZW1fQWN0aW9uPihXS0NvbnRleHRNZW51
SXRlbUdldFRhZyhpdGVtKSkpCisgICAgLCBtX3RpdGxlKFdLRWluYVNoYXJlZFN0cmluZyhXS0Nv
bnRleHRNZW51SXRlbUNvcHlUaXRsZShpdGVtKSkpCisgICAgLCBtX2lzQ2hlY2tlZChXS0NvbnRl
eHRNZW51SXRlbUdldENoZWNrZWQoaXRlbSkpCisgICAgLCBtX2lzRW5hYmxlZChXS0NvbnRleHRN
ZW51SXRlbUdldEVuYWJsZWQoaXRlbSkpCiAgICAgLCBtX3BhcmVudE1lbnUoMCkKICAgICAsIG1f
c3ViTWVudSgwKQogewpAQCAtMTQ1LDgwICsxNDUsODggQEAgRWluYV9Cb29sIGV3a19jb250ZXh0
X21lbnVfaXRlbV9lbmFibGVkX3NldChFd2tfQ29udGV4dF9NZW51X0l0ZW0qIGl0ZW0sIEVpbmFf
Qm8KICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShF
V0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX05PX0FDVElPTiwgV2ViQ29yZTo6Q29udGV4dE1lbnVJ
dGVtVGFnTm9BY3Rpb24pOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVY
VF9NRU5VX0lURU1fVEFHX09QRU5fTElOS19JTl9ORVdfV0lORE9XLCBXZWJDb3JlOjpDb250ZXh0
TWVudUl0ZW1UYWdPcGVuTGlua0luTmV3V2luZG93KTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5H
X0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19ET1dOTE9BRF9MSU5LX1RPX0RJU0ssIFdl
YkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ0Rvd25sb2FkTGlua1RvRGlzayk7Ci1DT01QSUxFX0FT
U0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfQ09QWV9MSU5LX1RP
X0NMSVBCT0FSRCwgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnQ29weUxpbmtUb0NsaXBib2Fy
ZCk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9U
QUdfT1BFTl9JTUFHRV9JTl9ORVdfV0lORE9XLCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdP
cGVuSW1hZ2VJbk5ld1dpbmRvdyk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19D
T05URVhUX01FTlVfSVRFTV9UQUdfRE9XTkxPQURfSU1BR0VfVE9fRElTSywgV2ViQ29yZTo6Q29u
dGV4dE1lbnVJdGVtVGFnRG93bmxvYWRJbWFnZVRvRGlzayk7Ci1DT01QSUxFX0FTU0VSVF9NQVRD
SElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfQ09QWV9JTUFHRV9UT19DTElQQk9B
UkQsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ0NvcHlJbWFnZVRvQ2xpcGJvYXJkKTsKLUNP
TVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19DT1BZ
X0lNQUdFX1VSTF9UT19DTElQQk9BUkQsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ0NvcHlJ
bWFnZVVybFRvQ2xpcGJvYXJkKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NP
TlRFWFRfTUVOVV9JVEVNX1RBR19PUEVOX0ZSQU1FX0lOX05FV19XSU5ET1csIFdlYkNvcmU6OkNv
bnRleHRNZW51SXRlbVRhZ09wZW5GcmFtZUluTmV3V2luZG93KTsKLUNPTVBJTEVfQVNTRVJUX01B
VENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19DT1BZLCBXZWJDb3JlOjpDb250
ZXh0TWVudUl0ZW1UYWdDb3B5KTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NP
TlRFWFRfTUVOVV9JVEVNX1RBR19HT19CQUNLLCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdH
b0JhY2spOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lU
RU1fVEFHX0dPX0ZPUldBUkQsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ0dvRm9yd2FyZCk7
Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdf
U1RPUCwgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnU3RvcCk7Ci1DT01QSUxFX0FTU0VSVF9N
QVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfUkVMT0FELCBXZWJDb3JlOjpD
b250ZXh0TWVudUl0ZW1UYWdSZWxvYWQpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShF
V0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0NVVCwgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFn
Q3V0KTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVN
X1RBR19QQVNURSwgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnUGFzdGUpOwotQ09NUElMRV9B
U1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1NFTEVDVF9BTEws
IFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ1NlbGVjdEFsbCk7Ci1DT01QSUxFX0FTU0VSVF9N
QVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfU1BFTExJTkdfR1VFU1MsIFdl
YkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ1NwZWxsaW5nR3Vlc3MpOwotQ09NUElMRV9BU1NFUlRf
TUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX05PX0dVRVNTRVNfRk9VTkQs
IFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ05vR3Vlc3Nlc0ZvdW5kKTsKLUNPTVBJTEVfQVNT
RVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19JR05PUkVfU1BFTExJ
TkcsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ0lnbm9yZVNwZWxsaW5nKTsKLUNPTVBJTEVf
QVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19MRUFSTl9TUEVM
TElORywgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnTGVhcm5TcGVsbGluZyk7Ci1DT01QSUxF
X0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfT1RIRVIsIFdl
YkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ090aGVyKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5H
X0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19TRUFSQ0hfSU5fU1BPVExJR0hULCBXZWJD
b3JlOjpDb250ZXh0TWVudUl0ZW1UYWdTZWFyY2hJblNwb3RsaWdodCk7Ci1DT01QSUxFX0FTU0VS
VF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfU0VBUkNIX1dFQiwgV2Vi
Q29yZTo6Q29udGV4dE1lbnVJdGVtVGFnU2VhcmNoV2ViKTsKLUNPTVBJTEVfQVNTRVJUX01BVENI
SU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19MT09LX1VQX0lOX0RJQ1RJT05BUlks
IFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ0xvb2tVcEluRGljdGlvbmFyeSk7Ci1DT01QSUxF
X0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfT1BFTl9XSVRI
X0RFRkFVTFRfQVBQTElDQVRJT04sIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ09wZW5XaXRo
RGVmYXVsdEFwcGxpY2F0aW9uKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NP
TlRFWFRfTUVOVV9JVEVNX1BERkFDVFVBTF9TSVpFLCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1Q
REZBY3R1YWxTaXplKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRf
TUVOVV9JVEVNX1BERlpPT01fSU4sIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVBERlpvb21Jbik7
Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9QREZa
T09NX09VVCwgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtUERGWm9vbU91dCk7Ci1DT01QSUxFX0FT
U0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9QREZBVVRPX1NJWkUsIFdl
YkNvcmU6OkNvbnRleHRNZW51SXRlbVBERkF1dG9TaXplKTsKLUNPTVBJTEVfQVNTRVJUX01BVENI
SU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1BERlNJTkdMRV9QQUdFLCBXZWJDb3JlOjpD
b250ZXh0TWVudUl0ZW1QREZTaW5nbGVQYWdlKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VO
VU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1BERkZBQ0lOR19QQUdFUywgV2ViQ29yZTo6Q29udGV4
dE1lbnVJdGVtUERGRmFjaW5nUGFnZXMpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShF
V0tfQ09OVEVYVF9NRU5VX0lURU1fUERGQ09OVElOVU9VUywgV2ViQ29yZTo6Q29udGV4dE1lbnVJ
dGVtUERGQ29udGludW91cyk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05U
RVhUX01FTlVfSVRFTV9QREZORVhUX1BBR0UsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVBERk5l
eHRQYWdlKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9J
VEVNX1BERlBSRVZJT1VTX1BBR0UsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVBERlByZXZpb3Vz
UGFnZSk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRF
TV9UQUdfT1BFTl9MSU5LLCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdPcGVuTGluayk7Ci1D
T01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfSUdO
T1JFX0dSQU1NQVIsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ0lnbm9yZUdyYW1tYXIpOwot
Q09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1NQ
RUxMSU5HX01FTlUsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ1NwZWxsaW5nTWVudSk7Ci1D
T01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfU0hP
V19TUEVMTElOR19QQU5FTCwgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnU2hvd1NwZWxsaW5n
UGFuZWwpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lU
RU1fVEFHX0NIRUNLX1NQRUxMSU5HLCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdDaGVja1Nw
ZWxsaW5nKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9J
VEVNX1RBR19DSEVDS19TUEVMTElOR19XSElMRV9UWVBJTkcsIFdlYkNvcmU6OkNvbnRleHRNZW51
SXRlbVRhZ0NoZWNrU3BlbGxpbmdXaGlsZVR5cGluZyk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElO
R19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfQ0hFQ0tfR1JBTU1BUl9XSVRIX1NQRUxM
SU5HLCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdDaGVja0dyYW1tYXJXaXRoU3BlbGxpbmcp
OwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFH
X0ZPTlRfTUVOVSwgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnRm9udE1lbnUpOwotQ09NUElM
RV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1NIT1dfRk9O
VFMsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ1Nob3dGb250cyk7Ci1DT01QSUxFX0FTU0VS
VF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfQk9MRCwgV2ViQ29yZTo6
Q29udGV4dE1lbnVJdGVtVGFnQm9sZCk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVX
S19DT05URVhUX01FTlVfSVRFTV9UQUdfSVRBTElDLCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1U
YWdJdGFsaWMpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5V
X0lURU1fVEFHX1VOREVSTElORSwgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnVW5kZXJsaW5l
KTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RB
R19PVVRMSU5FLCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdPdXRsaW5lKTsKLUNPTVBJTEVf
QVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19TVFlMRVMsIFdl
YkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ1N0eWxlcyk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElO
R19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfU0hPV19DT0xPUlMsIFdlYkNvcmU6OkNv
bnRleHRNZW51SXRlbVRhZ1Nob3dDb2xvcnMpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5V
TShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1NQRUVDSF9NRU5VLCBXZWJDb3JlOjpDb250ZXh0
TWVudUl0ZW1UYWdTcGVlY2hNZW51KTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdL
X0NPTlRFWFRfTUVOVV9JVEVNX1RBR19TVEFSVF9TUEVBS0lORywgV2ViQ29yZTo6Q29udGV4dE1l
bnVJdGVtVGFnU3RhcnRTcGVha2luZyk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVX
S19DT05URVhUX01FTlVfSVRFTV9UQUdfU1RPUF9TUEVBS0lORywgV2ViQ29yZTo6Q29udGV4dE1l
bnVJdGVtVGFnU3RvcFNwZWFraW5nKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdL
X0NPTlRFWFRfTUVOVV9JVEVNX1RBR19XUklUSU5HX0RJUkVDVElPTl9NRU5VLCBXZWJDb3JlOjpD
b250ZXh0TWVudUl0ZW1UYWdXcml0aW5nRGlyZWN0aW9uTWVudSk7Ci1DT01QSUxFX0FTU0VSVF9N
QVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfREVGQVVMVF9ESVJFQ1RJT04s
IFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ0RlZmF1bHREaXJlY3Rpb24pOwotQ09NUElMRV9B
U1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0xFRlRfVE9fUklH
SFQsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ0xlZnRUb1JpZ2h0KTsKLUNPTVBJTEVfQVNT
RVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19SSUdIVF9UT19MRUZU
LCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdSaWdodFRvTGVmdCk7Ci1DT01QSUxFX0FTU0VS
VF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfUERGU0lOR0xFX1BBR0Vf
U0NST0xMSU5HLCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdQREZTaW5nbGVQYWdlU2Nyb2xs
aW5nKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVN
X1RBR19QREZGQUNJTkdfUEFHRVNfU0NST0xMSU5HLCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1U
YWdQREZGYWNpbmdQYWdlc1Njcm9sbGluZyk7Ci0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLUNPTVBJ
TEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19JTlNQRUNU
X0VMRU1FTlQsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ0luc3BlY3RFbGVtZW50KTsKLSNl
bmRpZgotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1f
VEFHX1RFWFRfRElSRUNUSU9OX01FTlUsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ1RleHRE
aXJlY3Rpb25NZW51KTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRf
TUVOVV9JVEVNX1RBR19URVhUX0RJUkVDVElPTl9ERUZBVUxULCBXZWJDb3JlOjpDb250ZXh0TWVu
dUl0ZW1UYWdUZXh0RGlyZWN0aW9uRGVmYXVsdCk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19F
TlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfVEVYVF9ESVJFQ1RJT05fTEVGVF9UT19SSUdI
VCwgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnVGV4dERpcmVjdGlvbkxlZnRUb1JpZ2h0KTsK
LUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19U
RVhUX0RJUkVDVElPTl9SSUdIVF9UT19MRUZULCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdU
ZXh0RGlyZWN0aW9uUmlnaHRUb0xlZnQpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShF
V0tfQ09OVEVYVF9NRU5VX0lURU1fT1BFTl9NRURJQV9JTl9ORVdfV0lORE9XLCBXZWJDb3JlOjpD
b250ZXh0TWVudUl0ZW1UYWdPcGVuTWVkaWFJbk5ld1dpbmRvdyk7Ci1DT01QSUxFX0FTU0VSVF9N
QVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfQ09QWV9NRURJQV9MSU5LX1RP
X0NMSVBCT0FSRCwgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnQ29weU1lZGlhTGlua1RvQ2xp
cGJvYXJkKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9J
VEVNX1RBR19UT0dHTEVfTUVESUFfQ09OVFJPTFMsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRh
Z1RvZ2dsZU1lZGlhQ29udHJvbHMpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tf
Q09OVEVYVF9NRU5VX0lURU1fVEFHX1RPR0dMRV9NRURJQV9MT09QLCBXZWJDb3JlOjpDb250ZXh0
TWVudUl0ZW1UYWdUb2dnbGVNZWRpYUxvb3ApOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5V
TShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0VOVEVSX1ZJREVPX0ZVTExTQ1JFRU4sIFdlYkNv
cmU6OkNvbnRleHRNZW51SXRlbVRhZ0VudGVyVmlkZW9GdWxsc2NyZWVuKTsKLUNPTVBJTEVfQVNT
RVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19NRURJQV9QTEFZX1BB
VVNFLCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdNZWRpYVBsYXlQYXVzZSk7Ci1DT01QSUxF
X0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfTUVESUFfTVVU
RSwgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnTWVkaWFNdXRlKTsKLUNPTVBJTEVfQVNTRVJU
X01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX0JBU0VfQ1VTVE9NX1RBRywgV2Vi
Q29yZTo6Q29udGV4dE1lbnVJdGVtQmFzZUN1c3RvbVRhZyk7Ci1DT01QSUxFX0FTU0VSVF9NQVRD
SElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9DVVNUT01fVEFHX05PX0FDVElPTiwgV2Vi
Q29yZTo6Q29udGV4dE1lbnVJdGVtQ3VzdG9tVGFnTm9BY3Rpb24pOwotQ09NUElMRV9BU1NFUlRf
TUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fTEFTVF9DVVNUT01fVEFHLCBXZWJD
b3JlOjpDb250ZXh0TWVudUl0ZW1MYXN0Q3VzdG9tVGFnKTsKLUNPTVBJTEVfQVNTRVJUX01BVENI
SU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX0JBU0VfQVBQTElDQVRJT05fVEFHLCBXZWJD
b3JlOjpDb250ZXh0TWVudUl0ZW1CYXNlQXBwbGljYXRpb25UYWcpOworQ09NUElMRV9BU1NFUlRf
TUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX05PX0FDVElPTiwga1dLQ29u
dGV4dE1lbnVJdGVtVGFnTm9BY3Rpb24pOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShF
V0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX09QRU5fTElOS19JTl9ORVdfV0lORE9XLCBrV0tDb250
ZXh0TWVudUl0ZW1UYWdPcGVuTGlua0luTmV3V2luZG93KTsKK0NPTVBJTEVfQVNTRVJUX01BVENI
SU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19ET1dOTE9BRF9MSU5LX1RPX0RJU0ss
IGtXS0NvbnRleHRNZW51SXRlbVRhZ0Rvd25sb2FkTGlua1RvRGlzayk7CitDT01QSUxFX0FTU0VS
VF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfQ09QWV9MSU5LX1RPX0NM
SVBCT0FSRCwga1dLQ29udGV4dE1lbnVJdGVtVGFnQ29weUxpbmtUb0NsaXBib2FyZCk7CitDT01Q
SUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfT1BFTl9J
TUFHRV9JTl9ORVdfV0lORE9XLCBrV0tDb250ZXh0TWVudUl0ZW1UYWdPcGVuSW1hZ2VJbk5ld1dp
bmRvdyk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRF
TV9UQUdfRE9XTkxPQURfSU1BR0VfVE9fRElTSywga1dLQ29udGV4dE1lbnVJdGVtVGFnRG93bmxv
YWRJbWFnZVRvRGlzayk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhU
X01FTlVfSVRFTV9UQUdfQ09QWV9JTUFHRV9UT19DTElQQk9BUkQsIGtXS0NvbnRleHRNZW51SXRl
bVRhZ0NvcHlJbWFnZVRvQ2xpcGJvYXJkKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0o
RVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19DT1BZX0lNQUdFX1VSTF9UT19DTElQQk9BUkQsIGtX
S0NvbnRleHRNZW51SXRlbVRhZ0NvcHlJbWFnZVVybFRvQ2xpcGJvYXJkKTsKK0NPTVBJTEVfQVNT
RVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19PUEVOX0ZSQU1FX0lO
X05FV19XSU5ET1csIGtXS0NvbnRleHRNZW51SXRlbVRhZ09wZW5GcmFtZUluTmV3V2luZG93KTsK
K0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19D
T1BZLCBrV0tDb250ZXh0TWVudUl0ZW1UYWdDb3B5KTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5H
X0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19HT19CQUNLLCBrV0tDb250ZXh0TWVudUl0
ZW1UYWdHb0JhY2spOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9N
RU5VX0lURU1fVEFHX0dPX0ZPUldBUkQsIGtXS0NvbnRleHRNZW51SXRlbVRhZ0dvRm9yd2FyZCk7
CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdf
U1RPUCwga1dLQ29udGV4dE1lbnVJdGVtVGFnU3RvcCk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElO
R19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfUkVMT0FELCBrV0tDb250ZXh0TWVudUl0
ZW1UYWdSZWxvYWQpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9N
RU5VX0lURU1fVEFHX0NVVCwga1dLQ29udGV4dE1lbnVJdGVtVGFnQ3V0KTsKK0NPTVBJTEVfQVNT
RVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19QQVNURSwga1dLQ29u
dGV4dE1lbnVJdGVtVGFnUGFzdGUpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tf
Q09OVEVYVF9NRU5VX0lURU1fVEFHX1NFTEVDVF9BTEwsIGtXS0NvbnRleHRNZW51SXRlbVRhZ1Nl
bGVjdEFsbCk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVf
SVRFTV9UQUdfU1BFTExJTkdfR1VFU1MsIGtXS0NvbnRleHRNZW51SXRlbVRhZ1NwZWxsaW5nR3Vl
c3MpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1f
VEFHX05PX0dVRVNTRVNfRk9VTkQsIGtXS0NvbnRleHRNZW51SXRlbVRhZ05vR3Vlc3Nlc0ZvdW5k
KTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RB
R19JR05PUkVfU1BFTExJTkcsIGtXS0NvbnRleHRNZW51SXRlbVRhZ0lnbm9yZVNwZWxsaW5nKTsK
K0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19M
RUFSTl9TUEVMTElORywga1dLQ29udGV4dE1lbnVJdGVtVGFnTGVhcm5TcGVsbGluZyk7CitDT01Q
SUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfT1RIRVIs
IGtXS0NvbnRleHRNZW51SXRlbVRhZ090aGVyKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VO
VU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19TRUFSQ0hfSU5fU1BPVExJR0hULCBrV0tDb250
ZXh0TWVudUl0ZW1UYWdTZWFyY2hJblNwb3RsaWdodCk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElO
R19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfU0VBUkNIX1dFQiwga1dLQ29udGV4dE1l
bnVJdGVtVGFnU2VhcmNoV2ViKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NP
TlRFWFRfTUVOVV9JVEVNX1RBR19MT09LX1VQX0lOX0RJQ1RJT05BUlksIGtXS0NvbnRleHRNZW51
SXRlbVRhZ0xvb2tVcEluRGljdGlvbmFyeSk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVN
KEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfT1BFTl9XSVRIX0RFRkFVTFRfQVBQTElDQVRJT04s
IGtXS0NvbnRleHRNZW51SXRlbVRhZ09wZW5XaXRoRGVmYXVsdEFwcGxpY2F0aW9uKTsKK0NPTVBJ
TEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1BERkFDVFVBTF9T
SVpFLCBrV0tDb250ZXh0TWVudUl0ZW1UYWdQREZBY3R1YWxTaXplKTsKK0NPTVBJTEVfQVNTRVJU
X01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1BERlpPT01fSU4sIGtXS0NvbnRl
eHRNZW51SXRlbVRhZ1BERlpvb21Jbik7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVX
S19DT05URVhUX01FTlVfSVRFTV9QREZaT09NX09VVCwga1dLQ29udGV4dE1lbnVJdGVtVGFnUERG
Wm9vbU91dCk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVf
SVRFTV9QREZBVVRPX1NJWkUsIGtXS0NvbnRleHRNZW51SXRlbVRhZ1BERkF1dG9TaXplKTsKK0NP
TVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1BERlNJTkdM
RV9QQUdFLCBrV0tDb250ZXh0TWVudUl0ZW1UYWdQREZTaW5nbGVQYWdlKTsKK0NPTVBJTEVfQVNT
RVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1BERkZBQ0lOR19QQUdFUywg
a1dLQ29udGV4dE1lbnVJdGVtVGFnUERGRmFjaW5nUGFnZXMpOworQ09NUElMRV9BU1NFUlRfTUFU
Q0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fUERGQ09OVElOVU9VUywga1dLQ29udGV4
dE1lbnVJdGVtVGFnUERGQ29udGludW91cyk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVN
KEVXS19DT05URVhUX01FTlVfSVRFTV9QREZORVhUX1BBR0UsIGtXS0NvbnRleHRNZW51SXRlbVRh
Z1BERk5leHRQYWdlKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRf
TUVOVV9JVEVNX1BERlBSRVZJT1VTX1BBR0UsIGtXS0NvbnRleHRNZW51SXRlbVRhZ1BERlByZXZp
b3VzUGFnZSk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVf
SVRFTV9UQUdfT1BFTl9MSU5LLCBrV0tDb250ZXh0TWVudUl0ZW1UYWdPcGVuTGluayk7CitDT01Q
SUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfSUdOT1JF
X0dSQU1NQVIsIGtXS0NvbnRleHRNZW51SXRlbVRhZ0lnbm9yZUdyYW1tYXIpOworQ09NUElMRV9B
U1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1NQRUxMSU5HX01F
TlUsIGtXS0NvbnRleHRNZW51SXRlbVRhZ1NwZWxsaW5nTWVudSk7CitDT01QSUxFX0FTU0VSVF9N
QVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfU0hPV19TUEVMTElOR19QQU5F
TCwga1dLQ29udGV4dE1lbnVJdGVtVGFnU2hvd1NwZWxsaW5nUGFuZWwpOworQ09NUElMRV9BU1NF
UlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0NIRUNLX1NQRUxMSU5H
LCBrV0tDb250ZXh0TWVudUl0ZW1UYWdDaGVja1NwZWxsaW5nKTsKK0NPTVBJTEVfQVNTRVJUX01B
VENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19DSEVDS19TUEVMTElOR19XSElM
RV9UWVBJTkcsIGtXS0NvbnRleHRNZW51SXRlbVRhZ0NoZWNrU3BlbGxpbmdXaGlsZVR5cGluZyk7
CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdf
Q0hFQ0tfR1JBTU1BUl9XSVRIX1NQRUxMSU5HLCBrV0tDb250ZXh0TWVudUl0ZW1UYWdDaGVja0dy
YW1tYXJXaXRoU3BlbGxpbmcpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09O
VEVYVF9NRU5VX0lURU1fVEFHX0ZPTlRfTUVOVSwga1dLQ29udGV4dE1lbnVJdGVtVGFnRm9udE1l
bnUpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1f
VEFHX1NIT1dfRk9OVFMsIGtXS0NvbnRleHRNZW51SXRlbVRhZ1Nob3dGb250cyk7CitDT01QSUxF
X0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfQk9MRCwga1dL
Q29udGV4dE1lbnVJdGVtVGFnQm9sZCk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVX
S19DT05URVhUX01FTlVfSVRFTV9UQUdfSVRBTElDLCBrV0tDb250ZXh0TWVudUl0ZW1UYWdJdGFs
aWMpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1f
VEFHX1VOREVSTElORSwga1dLQ29udGV4dE1lbnVJdGVtVGFnVW5kZXJsaW5lKTsKK0NPTVBJTEVf
QVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19PVVRMSU5FLCBr
V0tDb250ZXh0TWVudUl0ZW1UYWdPdXRsaW5lKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VO
VU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19TVFlMRVMsIGtXS0NvbnRleHRNZW51SXRlbVRh
Z1N0eWxlcyk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVf
SVRFTV9UQUdfU0hPV19DT0xPUlMsIGtXS0NvbnRleHRNZW51SXRlbVRhZ1Nob3dDb2xvcnMpOwor
Q09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1NQ
RUVDSF9NRU5VLCBrV0tDb250ZXh0TWVudUl0ZW1UYWdTcGVlY2hNZW51KTsKK0NPTVBJTEVfQVNT
RVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19TVEFSVF9TUEVBS0lO
Rywga1dLQ29udGV4dE1lbnVJdGVtVGFnU3RhcnRTcGVha2luZyk7CitDT01QSUxFX0FTU0VSVF9N
QVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfU1RPUF9TUEVBS0lORywga1dL
Q29udGV4dE1lbnVJdGVtVGFnU3RvcFNwZWFraW5nKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5H
X0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19XUklUSU5HX0RJUkVDVElPTl9NRU5VLCBr
V0tDb250ZXh0TWVudUl0ZW1UYWdXcml0aW5nRGlyZWN0aW9uTWVudSk7CitDT01QSUxFX0FTU0VS
VF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfREVGQVVMVF9ESVJFQ1RJ
T04sIGtXS0NvbnRleHRNZW51SXRlbVRhZ0RlZmF1bHREaXJlY3Rpb24pOworQ09NUElMRV9BU1NF
UlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0xFRlRfVE9fUklHSFQs
IGtXS0NvbnRleHRNZW51SXRlbVRhZ0xlZnRUb1JpZ2h0KTsKK0NPTVBJTEVfQVNTRVJUX01BVENI
SU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19SSUdIVF9UT19MRUZULCBrV0tDb250
ZXh0TWVudUl0ZW1UYWdSaWdodFRvTGVmdCk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVN
KEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfUERGU0lOR0xFX1BBR0VfU0NST0xMSU5HLCBrV0tD
b250ZXh0TWVudUl0ZW1UYWdQREZTaW5nbGVQYWdlU2Nyb2xsaW5nKTsKK0NPTVBJTEVfQVNTRVJU
X01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19QREZGQUNJTkdfUEFHRVNf
U0NST0xMSU5HLCBrV0tDb250ZXh0TWVudUl0ZW1UYWdQREZGYWNpbmdQYWdlc1Njcm9sbGluZyk7
CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdf
SU5TUEVDVF9FTEVNRU5ULCBrV0tDb250ZXh0TWVudUl0ZW1UYWdJbnNwZWN0RWxlbWVudCk7CitD
T01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfVEVY
VF9ESVJFQ1RJT05fTUVOVSwga1dLQ29udGV4dE1lbnVJdGVtVGFnVGV4dERpcmVjdGlvbk1lbnUp
OworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFH
X1RFWFRfRElSRUNUSU9OX0RFRkFVTFQsIGtXS0NvbnRleHRNZW51SXRlbVRhZ1RleHREaXJlY3Rp
b25EZWZhdWx0KTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVO
VV9JVEVNX1RBR19URVhUX0RJUkVDVElPTl9MRUZUX1RPX1JJR0hULCBrV0tDb250ZXh0TWVudUl0
ZW1UYWdUZXh0RGlyZWN0aW9uTGVmdFRvUmlnaHQpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdf
RU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1RFWFRfRElSRUNUSU9OX1JJR0hUX1RPX0xF
RlQsIGtXS0NvbnRleHRNZW51SXRlbVRhZ1RleHREaXJlY3Rpb25SaWdodFRvTGVmdCk7CitDT01Q
SUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfQ09SUkVD
VF9TUEVMTElOR19BVVRPTUFUSUNBTExZLCBrV0tDb250ZXh0TWVudUl0ZW1UYWdDb3JyZWN0U3Bl
bGxpbmdBdXRvbWF0aWNhbGx5KTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NP
TlRFWFRfTUVOVV9JVEVNX1RBR19TVUJTVElUVVRJT05TX01FTlUsIGtXS0NvbnRleHRNZW51SXRl
bVRhZ1N1YnN0aXR1dGlvbnNNZW51KTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdL
X0NPTlRFWFRfTUVOVV9JVEVNX1RBR19TSE9XX1NVQlNUSVRVVElPTlMsIGtXS0NvbnRleHRNZW51
SXRlbVRhZ1Nob3dTdWJzdGl0dXRpb25zKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0o
RVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19TTUFSVF9DT1BZX1BBU1RFLCBrV0tDb250ZXh0TWVu
dUl0ZW1UYWdTbWFydENvcHlQYXN0ZSk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVX
S19DT05URVhUX01FTlVfSVRFTV9UQUdfU01BUlRfUVVPVEVTLCBrV0tDb250ZXh0TWVudUl0ZW1U
YWdTbWFydFF1b3Rlcyk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhU
X01FTlVfSVRFTV9UQUdfU01BUlRfREFTSEVTLCBrV0tDb250ZXh0TWVudUl0ZW1UYWdTbWFydERh
c2hlcyk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRF
TV9UQUdfU01BUlRfTElOS1MsIGtXS0NvbnRleHRNZW51SXRlbVRhZ1NtYXJ0TGlua3MpOworQ09N
UElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1RFWFRf
UkVQTEFDRU1FTlQsIGtXS0NvbnRleHRNZW51SXRlbVRhZ1RleHRSZXBsYWNlbWVudCk7CitDT01Q
SUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfVFJBTlNG
T1JNQVRJT05TX01FTlUsIGtXS0NvbnRleHRNZW51SXRlbVRhZ1RyYW5zZm9ybWF0aW9uc01lbnUp
OworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFH
X01BS0VfVVBQRVJfQ0FTRSwga1dLQ29udGV4dE1lbnVJdGVtVGFnTWFrZVVwcGVyQ2FzZSk7CitD
T01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfTUFL
RV9MT1dFUl9DQVNFLCBrV0tDb250ZXh0TWVudUl0ZW1UYWdNYWtlTG93ZXJDYXNlKTsKK0NPTVBJ
TEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19DQVBJVEFM
SVpFLCBrV0tDb250ZXh0TWVudUl0ZW1UYWdDYXBpdGFsaXplKTsKK0NPTVBJTEVfQVNTRVJUX01B
VENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19DSEFOR0VfQkFDSywga1dLQ29u
dGV4dE1lbnVJdGVtVGFnQ2hhbmdlQmFjayk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVN
KEVXS19DT05URVhUX01FTlVfSVRFTV9PUEVOX01FRElBX0lOX05FV19XSU5ET1csIGtXS0NvbnRl
eHRNZW51SXRlbVRhZ09wZW5NZWRpYUluTmV3V2luZG93KTsKK0NPTVBJTEVfQVNTRVJUX01BVENI
SU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19DT1BZX01FRElBX0xJTktfVE9fQ0xJ
UEJPQVJELCBrV0tDb250ZXh0TWVudUl0ZW1UYWdDb3B5TWVkaWFMaW5rVG9DbGlwYm9hcmQpOwor
Q09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1RP
R0dMRV9NRURJQV9DT05UUk9MUywga1dLQ29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlTWVkaWFDb250
cm9scyk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRF
TV9UQUdfVE9HR0xFX01FRElBX0xPT1AsIGtXS0NvbnRleHRNZW51SXRlbVRhZ1RvZ2dsZU1lZGlh
TG9vcCk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRF
TV9UQUdfRU5URVJfVklERU9fRlVMTFNDUkVFTiwga1dLQ29udGV4dE1lbnVJdGVtVGFnRW50ZXJW
aWRlb0Z1bGxzY3JlZW4pOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVY
VF9NRU5VX0lURU1fVEFHX01FRElBX1BMQVlfUEFVU0UsIGtXS0NvbnRleHRNZW51SXRlbVRhZ01l
ZGlhUGxheVBhdXNlKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRf
TUVOVV9JVEVNX1RBR19NRURJQV9NVVRFLCBrV0tDb250ZXh0TWVudUl0ZW1UYWdNZWRpYU11dGUp
OworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fQkFT
RV9BUFBMSUNBVElPTl9UQUcsIGtXS0NvbnRleHRNZW51SXRlbUJhc2VBcHBsaWNhdGlvblRhZyk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4
dF9tZW51X2l0ZW0uaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250
ZXh0X21lbnVfaXRlbS5oCmluZGV4IDk2MTJhMjEuLmEyOGY2OGEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0X21lbnVfaXRlbS5oCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0X21lbnVfaXRlbS5o
CkBAIC02Myw3ICs2Myw2IEBAIHR5cGVkZWYgZW51bSB7CiAgICAgRVdLX0NPTlRFWFRfTUVOVV9J
VEVNX1RBR19PUEVOX0lNQUdFX0lOX05FV19XSU5ET1csCiAgICAgRVdLX0NPTlRFWFRfTUVOVV9J
VEVNX1RBR19ET1dOTE9BRF9JTUFHRV9UT19ESVNLLAogICAgIEVXS19DT05URVhUX01FTlVfSVRF
TV9UQUdfQ09QWV9JTUFHRV9UT19DTElQQk9BUkQsCi0gICAgRVdLX0NPTlRFWFRfTUVOVV9JVEVN
X1RBR19DT1BZX0lNQUdFX1VSTF9UT19DTElQQk9BUkQsCiAgICAgRVdLX0NPTlRFWFRfTUVOVV9J
VEVNX1RBR19PUEVOX0ZSQU1FX0lOX05FV19XSU5ET1csCiAgICAgRVdLX0NPTlRFWFRfTUVOVV9J
VEVNX1RBR19DT1BZLAogICAgIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfR09fQkFDSywKQEAg
LTcyLDcgKzcxLDYgQEAgdHlwZWRlZiBlbnVtIHsKICAgICBFV0tfQ09OVEVYVF9NRU5VX0lURU1f
VEFHX1JFTE9BRCwKICAgICBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0NVVCwKICAgICBFV0tf
Q09OVEVYVF9NRU5VX0lURU1fVEFHX1BBU1RFLAotICAgIEVXS19DT05URVhUX01FTlVfSVRFTV9U
QUdfU0VMRUNUX0FMTCwKICAgICBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1NQRUxMSU5HX0dV
RVNTLAogICAgIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfTk9fR1VFU1NFU19GT1VORCwKICAg
ICBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0lHTk9SRV9TUEVMTElORywKQEAgLTkxLDcgKzg5
LDcgQEAgdHlwZWRlZiBlbnVtIHsKICAgICBFV0tfQ09OVEVYVF9NRU5VX0lURU1fUERGQ09OVElO
VU9VUywKICAgICBFV0tfQ09OVEVYVF9NRU5VX0lURU1fUERGTkVYVF9QQUdFLAogICAgIEVXS19D
T05URVhUX01FTlVfSVRFTV9QREZQUkVWSU9VU19QQUdFLAotICAgIEVXS19DT05URVhUX01FTlVf
SVRFTV9UQUdfT1BFTl9MSU5LID0gMjAwMCwKKyAgICBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFH
X09QRU5fTElOSywKICAgICBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0lHTk9SRV9HUkFNTUFS
LAogICAgIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfU1BFTExJTkdfTUVOVSwgLyoqPCBzcGVs
bGluZyBvciBzcGVsbGluZy9ncmFtbWFyIHN1Yi1tZW51ICovCiAgICAgRVdLX0NPTlRFWFRfTUVO
VV9JVEVNX1RBR19TSE9XX1NQRUxMSU5HX1BBTkVMLApAQCAtMTIwLDYgKzExOCwxOSBAQCB0eXBl
ZGVmIGVudW0gewogICAgIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfVEVYVF9ESVJFQ1RJT05f
REVGQVVMVCwKICAgICBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1RFWFRfRElSRUNUSU9OX0xF
RlRfVE9fUklHSFQsCiAgICAgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19URVhUX0RJUkVDVElP
Tl9SSUdIVF9UT19MRUZULAorICAgIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfQ09SUkVDVF9T
UEVMTElOR19BVVRPTUFUSUNBTExZLAorICAgIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfU1VC
U1RJVFVUSU9OU19NRU5VLAorICAgIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfU0hPV19TVUJT
VElUVVRJT05TLAorICAgIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfU01BUlRfQ09QWV9QQVNU
RSwKKyAgICBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1NNQVJUX1FVT1RFUywKKyAgICBFV0tf
Q09OVEVYVF9NRU5VX0lURU1fVEFHX1NNQVJUX0RBU0hFUywKKyAgICBFV0tfQ09OVEVYVF9NRU5V
X0lURU1fVEFHX1NNQVJUX0xJTktTLAorICAgIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfVEVY
VF9SRVBMQUNFTUVOVCwKKyAgICBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1RSQU5TRk9STUFU
SU9OU19NRU5VLAorICAgIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfTUFLRV9VUFBFUl9DQVNF
LAorICAgIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfTUFLRV9MT1dFUl9DQVNFLAorICAgIEVX
S19DT05URVhUX01FTlVfSVRFTV9UQUdfQ0FQSVRBTElaRSwKKyAgICBFV0tfQ09OVEVYVF9NRU5V
X0lURU1fVEFHX0NIQU5HRV9CQUNLLAogICAgIEVXS19DT05URVhUX01FTlVfSVRFTV9PUEVOX01F
RElBX0lOX05FV19XSU5ET1csCiAgICAgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19DT1BZX01F
RElBX0xJTktfVE9fQ0xJUEJPQVJELAogICAgIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfVE9H
R0xFX01FRElBX0NPTlRST0xTLApAQCAtMTI3LDkgKzEzOCw5IEBAIHR5cGVkZWYgZW51bSB7CiAg
ICAgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19FTlRFUl9WSURFT19GVUxMU0NSRUVOLAogICAg
IEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfTUVESUFfUExBWV9QQVVTRSwKICAgICBFV0tfQ09O
VEVYVF9NRU5VX0lURU1fVEFHX01FRElBX01VVEUsCi0gICAgRVdLX0NPTlRFWFRfTUVOVV9JVEVN
X0JBU0VfQ1VTVE9NX1RBRyA9IDUwMDAsCi0gICAgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX0NVU1RP
TV9UQUdfTk9fQUNUSU9OID0gNTk5OCwKLSAgICBFV0tfQ09OVEVYVF9NRU5VX0lURU1fTEFTVF9D
VVNUT01fVEFHID0gNTk5OSwKKyAgICBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0RJQ1RBVElP
Tl9BTFRFUk5BVElWRSwKKyAgICBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0NPUFlfSU1BR0Vf
VVJMX1RPX0NMSVBCT0FSRCwKKyAgICBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1NFTEVDVF9B
TEwsCiAgICAgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX0JBU0VfQVBQTElDQVRJT05fVEFHID0gMTAw
MDAKIH0gRXdrX0NvbnRleHRfTWVudV9JdGVtX0FjdGlvbjsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHRfbWVudV9pdGVtX3ByaXZhdGUu
aCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0X21lbnVfaXRl
bV9wcml2YXRlLmgKaW5kZXggNjJmMjc5MC4uOWY3NzgzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHRfbWVudV9pdGVtX3ByaXZhdGUuaAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dF9tZW51X2l0
ZW1fcHJpdmF0ZS5oCkBAIC0yNiw4ICsyNiw4IEBACiAjaWZuZGVmIGV3a19jb250ZXh0X21lbnVf
aXRlbV9wcml2YXRlX2gKICNkZWZpbmUgZXdrX2NvbnRleHRfbWVudV9pdGVtX3ByaXZhdGVfaAog
CisjaW5jbHVkZSAiV0tDb250ZXh0TWVudUl0ZW0uaCIKICNpbmNsdWRlICJXS0VpbmFTaGFyZWRT
dHJpbmcuaCIKLSNpbmNsdWRlICJXZWJDb250ZXh0TWVudUl0ZW1EYXRhLmgiCiAjaW5jbHVkZSAi
ZXdrX2NvbnRleHRfbWVudS5oIgogI2luY2x1ZGUgImV3a19jb250ZXh0X21lbnVfaXRlbS5oIgog
I2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CkBAIC0zOCw3ICszOCw3IEBACiAgKi8KIGNsYXNz
IEV3a0NvbnRleHRNZW51SXRlbSB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NPd25QdHI8RXdr
Q29udGV4dE1lbnVJdGVtPiBjcmVhdGUoY29uc3QgV2ViS2l0OjpXZWJDb250ZXh0TWVudUl0ZW1E
YXRhJiBpdGVtKQorICAgIHN0YXRpYyBQYXNzT3duUHRyPEV3a0NvbnRleHRNZW51SXRlbT4gY3Jl
YXRlKFdLQ29udGV4dE1lbnVJdGVtUmVmIGl0ZW0pCiAgICAgewogICAgICAgICByZXR1cm4gYWRv
cHRQdHIobmV3IEV3a0NvbnRleHRNZW51SXRlbShpdGVtKSk7CiAgICAgfQpAQCAtNjQsNyArNjQs
NyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRFbmFibGVkKGJvb2wgZW5hYmxlZCkgeyBtX2lzRW5h
YmxlZCA9IGVuYWJsZWQ7IH0KIAogcHJpdmF0ZToKLSAgICBleHBsaWNpdCBFd2tDb250ZXh0TWVu
dUl0ZW0oY29uc3QgV2ViS2l0OjpXZWJDb250ZXh0TWVudUl0ZW1EYXRhJik7CisgICAgZXhwbGlj
aXQgRXdrQ29udGV4dE1lbnVJdGVtKFdLQ29udGV4dE1lbnVJdGVtUmVmKTsKICAgICBFd2tDb250
ZXh0TWVudUl0ZW0oRXdrX0NvbnRleHRfTWVudV9JdGVtX1R5cGUgdHlwZSwgRXdrX0NvbnRleHRf
TWVudV9JdGVtX0FjdGlvbiBhY3Rpb24sIGNvbnN0IGNoYXIqIHRpdGxlLCBFaW5hX0Jvb2wgY2hl
Y2tlZCwgRWluYV9Cb29sIGVuYWJsZWQsIEV3a0NvbnRleHRNZW51KiBzdWJNZW51KTsKIAogICAg
IEV3a19Db250ZXh0X01lbnVfSXRlbV9UeXBlIG1fdHlwZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0X21lbnVfcHJpdmF0ZS5oIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHRfbWVudV9wcml2YXRlLmgK
aW5kZXggYjllMTEzZC4uYTZjZWEyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9lZmwvZXdrX2NvbnRleHRfbWVudV9wcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHRfbWVudV9wcml2YXRlLmgKQEAgLTI2LDI0
ICsyNiwxNyBAQAogI2lmbmRlZiBld2tfY29udGV4dF9tZW51X3ByaXZhdGVfaAogI2RlZmluZSBl
d2tfY29udGV4dF9tZW51X3ByaXZhdGVfaAogCi0jaW5jbHVkZSAiV2ViQ29udGV4dE1lbnVJdGVt
RGF0YS5oIgogI2luY2x1ZGUgImV3a19jb250ZXh0X21lbnVfaXRlbS5oIgogI2luY2x1ZGUgPEVp
bmEuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgotI2luY2x1ZGUgPHd0Zi9WZWN0b3Iu
aD4KLQotbmFtZXNwYWNlIFdlYktpdCB7Ci1jbGFzcyBXZWJDb250ZXh0TWVudUl0ZW1EYXRhOwot
Y2xhc3MgV2ViQ29udGV4dE1lbnVQcm94eUVmbDsKLX0KIAogY2xhc3MgRXdrVmlldzsKIAogY2xh
c3MgRXdrQ29udGV4dE1lbnUgewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzT3duUHRyPEV3a0Nv
bnRleHRNZW51PiBjcmVhdGUoRXdrVmlldyogdmlld0ltcGwsIFdlYktpdDo6V2ViQ29udGV4dE1l
bnVQcm94eUVmbCogY29udGV4dE1lbnVQcm94eSwgY29uc3QgVmVjdG9yPFdlYktpdDo6V2ViQ29u
dGV4dE1lbnVJdGVtRGF0YT4mIGl0ZW1zKQorICAgIHN0YXRpYyBQYXNzT3duUHRyPEV3a0NvbnRl
eHRNZW51PiBjcmVhdGUoRXdrVmlldyogdmlld0ltcGwsIFdLQXJyYXlSZWYgaXRlbXMpCiAgICAg
ewotICAgICAgICByZXR1cm4gYWRvcHRQdHIobmV3IEV3a0NvbnRleHRNZW51KHZpZXdJbXBsLCBj
b250ZXh0TWVudVByb3h5LCBpdGVtcykpOworICAgICAgICByZXR1cm4gYWRvcHRQdHIobmV3IEV3
a0NvbnRleHRNZW51KHZpZXdJbXBsLCBpdGVtcykpOwogICAgIH0KIAogICAgIHN0YXRpYyBQYXNz
T3duUHRyPEV3a0NvbnRleHRNZW51PiBjcmVhdGUoKQpAQCAtNjMsMTUgKzU2LDE0IEBAIHB1Ymxp
YzoKICAgICB2b2lkIHJlbW92ZUl0ZW0oRXdrQ29udGV4dE1lbnVJdGVtKik7CiAKICAgICBjb25z
dCBFaW5hX0xpc3QqIGl0ZW1zKCkgY29uc3QgeyByZXR1cm4gbV9jb250ZXh0TWVudUl0ZW1zOyB9
Ci0gICAgdm9pZCBjb250ZXh0TWVudUl0ZW1TZWxlY3RlZChjb25zdCBXZWJLaXQ6OldlYkNvbnRl
eHRNZW51SXRlbURhdGEmIGl0ZW0pOworICAgIHZvaWQgY29udGV4dE1lbnVJdGVtU2VsZWN0ZWQo
V0tDb250ZXh0TWVudUl0ZW1SZWYgaXRlbSk7CiAKIHByaXZhdGU6CiAgICAgRXdrQ29udGV4dE1l
bnUoKTsKICAgICBFd2tDb250ZXh0TWVudShFaW5hX0xpc3QqIGl0ZW1zKTsKLSAgICBFd2tDb250
ZXh0TWVudShFd2tWaWV3KiB2aWV3SW1wbCwgV2ViS2l0OjpXZWJDb250ZXh0TWVudVByb3h5RWZs
KiwgY29uc3QgVmVjdG9yPFdlYktpdDo6V2ViQ29udGV4dE1lbnVJdGVtRGF0YT4mIGl0ZW1zKTsK
KyAgICBFd2tDb250ZXh0TWVudShFd2tWaWV3KiB2aWV3SW1wbCwgV0tBcnJheVJlZiBpdGVtcyk7
CiAKICAgICBFd2tWaWV3KiBtX3ZpZXdJbXBsOwotICAgIFdlYktpdDo6V2ViQ29udGV4dE1lbnVQ
cm94eUVmbCogbV9jb250ZXh0TWVudVByb3h5OwogICAgIEVpbmFfTGlzdCogbV9jb250ZXh0TWVu
dUl0ZW1zOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9n
dGsvV2ViS2l0Q29udGV4dE1lbnVDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9ndGsvV2ViS2l0Q29udGV4dE1lbnVDbGllbnQuY3BwCmluZGV4IDQyZjkwYjguLmY1MGM1
MmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdENv
bnRleHRNZW51Q2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0
ay9XZWJLaXRDb250ZXh0TWVudUNsaWVudC5jcHAKQEAgLTQwLDYgKzQwLDggQEAgdm9pZCBhdHRh
Y2hDb250ZXh0TWVudUNsaWVudFRvVmlldyhXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3KQogICAgICAg
ICAwLCAvLyBjdXN0b21Db250ZXh0TWVudUl0ZW1TZWxlY3RlZAogICAgICAgICAwLCAvLyBjb250
ZXh0TWVudURpc21pc3NlZAogICAgICAgICBnZXRDb250ZXh0TWVudUZyb21Qcm9wb3NlZE1lbnUs
CisgICAgICAgIDAsIC8vIHNob3dDb250ZXh0TWVudQorICAgICAgICAwLCAvLyBoaWRlQ29udGV4
dE1lbnUKICAgICB9OwogICAgIFdLUGFnZVJlZiB3a1BhZ2UgPSB0b0FQSSh3ZWJraXRXZWJWaWV3
QmFzZUdldFBhZ2UoV0VCS0lUX1dFQl9WSUVXX0JBU0Uod2ViVmlldykpKTsKICAgICBXS1BhZ2VT
ZXRQYWdlQ29udGV4dE1lbnVDbGllbnQod2tQYWdlLCAmd2tDb250ZXh0TWVudUNsaWVudCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGFnZUNsaWVudC5oIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaAppbmRleCBkMDhjYzkxLi44MmFjNTYyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgKQEAgLTE4MCw3ICsxODAsOSBAQCBw
dWJsaWM6CiAjZW5kaWYKIAogICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxXZWJQb3B1cE1lbnVQcm94
eT4gY3JlYXRlUG9wdXBNZW51UHJveHkoV2ViUGFnZVByb3h5KikgPSAwOworI2lmICFQTEFURk9S
TShFRkwpCiAgICAgdmlydHVhbCBQYXNzUmVmUHRyPFdlYkNvbnRleHRNZW51UHJveHk+IGNyZWF0
ZUNvbnRleHRNZW51UHJveHkoV2ViUGFnZVByb3h5KikgPSAwOworI2VuZGlmCiAKICNpZiBFTkFC
TEUoSU5QVVRfVFlQRV9DT0xPUikKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8V2ViQ29sb3JDaG9v
c2VyUHJveHk+IGNyZWF0ZUNvbG9yQ2hvb3NlclByb3h5KFdlYlBhZ2VQcm94eSosIGNvbnN0IFdl
YkNvcmU6OkNvbG9yJiBpbml0aWFsQ29sb3IsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmKSA9IDA7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZUNvbnRleHRNZW51
Q2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlQ29udGV4dE1lbnVD
bGllbnQuY3BwCmluZGV4IDhhMTFlYmIuLmViMzZlZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9XZWJQYWdlQ29udGV4dE1lbnVDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlQ29udGV4dE1lbnVDbGllbnQuY3BwCkBAIC05Myw1ICs5
MywyOSBAQCB2b2lkIFdlYlBhZ2VDb250ZXh0TWVudUNsaWVudDo6Y29udGV4dE1lbnVEaXNtaXNz
ZWQoV2ViUGFnZVByb3h5KiBwYWdlKQogICAgIG1fY2xpZW50LmNvbnRleHRNZW51RGlzbWlzc2Vk
KHRvQVBJKHBhZ2UpLCBtX2NsaWVudC5jbGllbnRJbmZvKTsKIH0KIAordm9pZCBXZWJQYWdlQ29u
dGV4dE1lbnVDbGllbnQ6OnNob3dDb250ZXh0TWVudShXZWJQYWdlUHJveHkqIHBhZ2UsIGNvbnN0
IFdlYkNvcmU6OkludFBvaW50JiBtZW51TG9jYXRpb24sIGNvbnN0IFZlY3RvcjxXZWJDb250ZXh0
TWVudUl0ZW1EYXRhPiYgbWVudUl0ZW1zVmVjdG9yKQoreworICAgIGlmICghbV9jbGllbnQuc2hv
d0NvbnRleHRNZW51KQorICAgICAgICByZXR1cm47CisKKyAgICB1bnNpZ25lZCBzaXplID0gbWVu
dUl0ZW1zVmVjdG9yLnNpemUoKTsKKworICAgIFZlY3RvcjxSZWZQdHI8QVBJT2JqZWN0PiA+IG1l
bnVJdGVtczsKKyAgICBtZW51SXRlbXMucmVzZXJ2ZUNhcGFjaXR5KHNpemUpOworCisgICAgZm9y
ICh1bnNpZ25lZCBpID0gMDsgaSA8IHNpemU7ICsraSkKKyAgICAgICAgbWVudUl0ZW1zLmFwcGVu
ZChXZWJDb250ZXh0TWVudUl0ZW06OmNyZWF0ZShtZW51SXRlbXNWZWN0b3JbaV0pLmdldCgpKTsK
KworICAgIG1fY2xpZW50LnNob3dDb250ZXh0TWVudSh0b0FQSShwYWdlKSwgdG9BUEkobWVudUxv
Y2F0aW9uKSwgdG9BUEkoSW1tdXRhYmxlQXJyYXk6OmFkb3B0KG1lbnVJdGVtcykuZ2V0KCkpLCBt
X2NsaWVudC5jbGllbnRJbmZvKTsKK30KKwordm9pZCBXZWJQYWdlQ29udGV4dE1lbnVDbGllbnQ6
OmhpZGVDb250ZXh0TWVudShXZWJQYWdlUHJveHkqIHBhZ2UpCit7CisgICAgaWYgKCFtX2NsaWVu
dC5oaWRlQ29udGV4dE1lbnUpCisgICAgICAgIHJldHVybjsKKworICAgIG1fY2xpZW50LmhpZGVD
b250ZXh0TWVudSh0b0FQSShwYWdlKSwgbV9jbGllbnQuY2xpZW50SW5mbyk7Cit9CisKIH0gLy8g
bmFtZXNwYWNlIFdlYktpdAogI2VuZGlmIC8vIEVOQUJMRShDT05URVhUX01FTlVTKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VDb250ZXh0TWVudUNsaWVudC5o
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VDb250ZXh0TWVudUNsaWVudC5oCmlu
ZGV4IGRmZjkwMTkuLmZjYWJkYmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJQYWdlQ29udGV4dE1lbnVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViUGFnZUNvbnRleHRNZW51Q2xpZW50LmgKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNsdWRl
ICJBUElDbGllbnQuaCIKICNpbmNsdWRlICJXZWJIaXRUZXN0UmVzdWx0LmgiCiAjaW5jbHVkZSAi
V0tQYWdlLmgiCisjaW5jbHVkZSA8V2ViQ29yZS9JbnRQb2ludC5oPgogI2luY2x1ZGUgPHd0Zi9W
ZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYktpdCB7CkBAIC00Myw3ICs0NCwxMCBAQCBjbGFzcyBX
ZWJQYWdlQ29udGV4dE1lbnVDbGllbnQgOiBwdWJsaWMgQVBJQ2xpZW50PFdLUGFnZUNvbnRleHRN
ZW51Q2xpZW50LCBrV0tQYQogcHVibGljOgogICAgIGJvb2wgZ2V0Q29udGV4dE1lbnVGcm9tUHJv
cG9zZWRNZW51KFdlYlBhZ2VQcm94eSosIGNvbnN0IFZlY3RvcjxXZWJDb250ZXh0TWVudUl0ZW1E
YXRhPiYgcHJvcG9zZWRNZW51LCBWZWN0b3I8V2ViQ29udGV4dE1lbnVJdGVtRGF0YT4mIGN1c3Rv
bU1lbnUsIGNvbnN0IFdlYkhpdFRlc3RSZXN1bHQ6OkRhdGEmLCBBUElPYmplY3QqIHVzZXJEYXRh
KTsKICAgICB2b2lkIGN1c3RvbUNvbnRleHRNZW51SXRlbVNlbGVjdGVkKFdlYlBhZ2VQcm94eSos
IGNvbnN0IFdlYkNvbnRleHRNZW51SXRlbURhdGEmKTsKKyAgICB2b2lkIGNvbnRleHRNZW51SXRl
bVNlbGVjdGVkKFdlYlBhZ2VQcm94eSosIGNvbnN0IFdlYkNvbnRleHRNZW51SXRlbURhdGEmKTsK
ICAgICB2b2lkIGNvbnRleHRNZW51RGlzbWlzc2VkKFdlYlBhZ2VQcm94eSopOworICAgIHZvaWQg
c2hvd0NvbnRleHRNZW51KFdlYlBhZ2VQcm94eSosIGNvbnN0IFdlYkNvcmU6OkludFBvaW50Jiwg
Y29uc3QgVmVjdG9yPFdlYkNvbnRleHRNZW51SXRlbURhdGE+Jik7CisgICAgdm9pZCBoaWRlQ29u
dGV4dE1lbnUoV2ViUGFnZVByb3h5Kik7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggNmY4YTkyZC4uMDJj
ZDMzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5j
cHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTMw
MjMsNiArMzAyMyw5IEBAIHZvaWQgV2ViUGFnZVByb3h5OjppbnRlcm5hbFNob3dDb250ZXh0TWVu
dShjb25zdCBJbnRQb2ludCYgbWVudUxvY2F0aW9uLCBjb25zdCBXCiAKICAgICBtX2FjdGl2ZUNv
bnRleHRNZW51SGl0VGVzdFJlc3VsdERhdGEgPSBoaXRUZXN0UmVzdWx0RGF0YTsKIAorI2lmIFBM
QVRGT1JNKEVGTCkKKyAgICBtX2NvbnRleHRNZW51Q2xpZW50LmhpZGVDb250ZXh0TWVudSh0aGlz
KTsKKyNlbHNlCiAgICAgaWYgKG1fYWN0aXZlQ29udGV4dE1lbnUpIHsKICAgICAgICAgbV9hY3Rp
dmVDb250ZXh0TWVudS0+aGlkZUNvbnRleHRNZW51KCk7CiAgICAgICAgIG1fYWN0aXZlQ29udGV4
dE1lbnUgPSAwOwpAQCAtMzAzMSwxNiArMzAzNCwyMSBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6aW50
ZXJuYWxTaG93Q29udGV4dE1lbnUoY29uc3QgSW50UG9pbnQmIG1lbnVMb2NhdGlvbiwgY29uc3Qg
VwogICAgIG1fYWN0aXZlQ29udGV4dE1lbnUgPSBtX3BhZ2VDbGllbnQtPmNyZWF0ZUNvbnRleHRN
ZW51UHJveHkodGhpcyk7CiAgICAgaWYgKCFtX2FjdGl2ZUNvbnRleHRNZW51KQogICAgICAgICBy
ZXR1cm47CisjZW5kaWYKIAogICAgIC8vIFNpbmNlIHNob3dDb250ZXh0TWVudSgpIGNhbiBzcGlu
IGEgbmVzdGVkIHJ1biBsb29wIHdlIG5lZWQgdG8gdHVybiBvZmYgdGhlIHJlc3BvbnNpdmVuZXNz
IHRpbWVyLgogICAgIG1fcHJvY2Vzcy0+cmVzcG9uc2l2ZW5lc3NUaW1lcigpLT5zdG9wKCk7CiAK
KyNpZiBQTEFURk9STShFRkwpCisgICAgbV9jb250ZXh0TWVudUNsaWVudC5zaG93Q29udGV4dE1l
bnUodGhpcywgbWVudUxvY2F0aW9uLCBwcm9wb3NlZEl0ZW1zKTsKKyNlbHNlCiAgICAgLy8gR2l2
ZSB0aGUgUGFnZUNvbnRleHRNZW51Q2xpZW50IG9uZSBsYXN0IHN3aXBlIGF0IGNoYW5naW5nIHRo
ZSBtZW51LgogICAgIFZlY3RvcjxXZWJDb250ZXh0TWVudUl0ZW1EYXRhPiBpdGVtczsKICAgICBp
ZiAoIW1fY29udGV4dE1lbnVDbGllbnQuZ2V0Q29udGV4dE1lbnVGcm9tUHJvcG9zZWRNZW51KHRo
aXMsIHByb3Bvc2VkSXRlbXMsIGl0ZW1zLCBoaXRUZXN0UmVzdWx0RGF0YSwgdXNlckRhdGEuZ2V0
KCkpKQogICAgICAgICBtX2FjdGl2ZUNvbnRleHRNZW51LT5zaG93Q29udGV4dE1lbnUobWVudUxv
Y2F0aW9uLCBwcm9wb3NlZEl0ZW1zKTsKICAgICBlbHNlCiAgICAgICAgIG1fYWN0aXZlQ29udGV4
dE1lbnUtPnNob3dDb250ZXh0TWVudShtZW51TG9jYXRpb24sIGl0ZW1zKTsKKyNlbmRpZgogICAg
IAogICAgIG1fY29udGV4dE1lbnVDbGllbnQuY29udGV4dE1lbnVEaXNtaXNzZWQodGhpcyk7CiB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggOTVjMTNmNi4uNWUy
YjBhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5o
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtMTA3Myw3
ICsxMDczLDkgQEAgcHJpdmF0ZToKICNlbmRpZgogCiAgICAgUmVmUHRyPFdlYlBvcHVwTWVudVBy
b3h5PiBtX2FjdGl2ZVBvcHVwTWVudTsKKyNpZiAhUExBVEZPUk0oRUZMKQogICAgIFJlZlB0cjxX
ZWJDb250ZXh0TWVudVByb3h5PiBtX2FjdGl2ZUNvbnRleHRNZW51OworI2VuZGlmCiAgICAgV2Vi
SGl0VGVzdFJlc3VsdDo6RGF0YSBtX2FjdGl2ZUNvbnRleHRNZW51SGl0VGVzdFJlc3VsdERhdGE7
CiAgICAgUmVmUHRyPFdlYk9wZW5QYW5lbFJlc3VsdExpc3RlbmVyUHJveHk+IG1fb3BlblBhbmVs
UmVzdWx0TGlzdGVuZXI7CiAgICAgR2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQ
cm94eSBtX2dlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9Db250ZXh0TWVudUNsaWVudEVmbC5jcHAgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL0NvbnRleHRNZW51Q2xpZW50RWZsLmNwcAppbmRl
eCA5MTIzZDI4Li5hZTY0ZTg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
ZWZsL0NvbnRleHRNZW51Q2xpZW50RWZsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvZWZsL0NvbnRleHRNZW51Q2xpZW50RWZsLmNwcApAQCAtMjcsMTEgKzI3LDggQEAKICNpbmNs
dWRlICJDb250ZXh0TWVudUNsaWVudEVmbC5oIgogCiAjaW5jbHVkZSAiRXdrVmlldy5oIgotI2lu
Y2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCiAjaW5jbHVkZSAiV0tBcnJheS5oIgogI2luY2x1ZGUg
IldLUGFnZS5oIgotI2luY2x1ZGUgIldlYkNvbnRleHRNZW51SXRlbS5oIiAgIAotI2luY2x1ZGUg
PEV2YXMuaD4KIAogdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKIApAQCAtNDAsNiArMzcsMjAgQEAg
c3RhdGljIGlubGluZSBDb250ZXh0TWVudUNsaWVudEVmbCogdG9Db250ZXh0Q2xpZW50RWZsKGNv
bnN0IHZvaWQqIGNsaWVudEluZm8pCiAgICAgcmV0dXJuIHN0YXRpY19jYXN0PENvbnRleHRNZW51
Q2xpZW50RWZsKj4oY29uc3RfY2FzdDx2b2lkKj4oY2xpZW50SW5mbykpOwogfQogCitzdGF0aWMg
dm9pZCBzaG93Q29udGV4dE1lbnUoV0tQYWdlUmVmLCBXS1BvaW50IG1lbnVMb2NhdGlvbiwgV0tB
cnJheVJlZiBtZW51SXRlbXMsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pCit7CisgICAgQ29udGV4
dE1lbnVDbGllbnRFZmwqIGNvbnRleHRNZW51Q2xpZW50ID0gdG9Db250ZXh0Q2xpZW50RWZsKGNs
aWVudEluZm8pOworCisgICAgY29udGV4dE1lbnVDbGllbnQtPnZpZXcoKS0+c2hvd0NvbnRleHRN
ZW51KG1lbnVMb2NhdGlvbiwgbWVudUl0ZW1zKTsKK30KKworc3RhdGljIHZvaWQgaGlkZUNvbnRl
eHRNZW51KFdLUGFnZVJlZiwgY29uc3Qgdm9pZCogY2xpZW50SW5mbykKK3sKKyAgICBDb250ZXh0
TWVudUNsaWVudEVmbCogY29udGV4dE1lbnVDbGllbnQgPSB0b0NvbnRleHRDbGllbnRFZmwoY2xp
ZW50SW5mbyk7CisKKyAgICBjb250ZXh0TWVudUNsaWVudC0+dmlldygpLT5oaWRlQ29udGV4dE1l
bnUoKTsKK30KKwogQ29udGV4dE1lbnVDbGllbnRFZmw6OkNvbnRleHRNZW51Q2xpZW50RWZsKEV3
a1ZpZXcqIHZpZXcpCiAgICAgOiBtX3ZpZXcodmlldykKIHsKQEAgLTU0LDExICs2NSw4IEBAIENv
bnRleHRNZW51Q2xpZW50RWZsOjpDb250ZXh0TWVudUNsaWVudEVmbChFd2tWaWV3KiB2aWV3KQog
ICAgIGNvbnRleHRNZW51Q2xpZW50LmN1c3RvbUNvbnRleHRNZW51SXRlbVNlbGVjdGVkID0gMDsK
ICAgICBjb250ZXh0TWVudUNsaWVudC5jb250ZXh0TWVudURpc21pc3NlZCA9IDA7CiAgICAgY29u
dGV4dE1lbnVDbGllbnQuZ2V0Q29udGV4dE1lbnVGcm9tUHJvcG9zZWRNZW51ID0gMDsKKyAgICBj
b250ZXh0TWVudUNsaWVudC5zaG93Q29udGV4dE1lbnUgPSBzaG93Q29udGV4dE1lbnU7CisgICAg
Y29udGV4dE1lbnVDbGllbnQuaGlkZUNvbnRleHRNZW51ID0gaGlkZUNvbnRleHRNZW51OwogCiAg
ICAgV0tQYWdlU2V0UGFnZUNvbnRleHRNZW51Q2xpZW50KHBhZ2VSZWYsICZjb250ZXh0TWVudUNs
aWVudCk7CiB9Ci0KLXZvaWQgQ29udGV4dE1lbnVDbGllbnRFZmw6OmdldENvbnRleHRNZW51RnJv
bVByb3Bvc2VkTWVudShXS1BhZ2VSZWYsIFdLQXJyYXlSZWYsIFdLQXJyYXlSZWYqLCBXS0hpdFRl
c3RSZXN1bHRSZWYsIFdLVHlwZVJlZiwgY29uc3Qgdm9pZCopCi17Ci0gICAgbm90SW1wbGVtZW50
ZWQoKTsKLX0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvQ29udGV4
dE1lbnVDbGllbnRFZmwuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvQ29udGV4dE1l
bnVDbGllbnRFZmwuaAppbmRleCBiMjEyZTllLi5mMDM2YjNmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvZWZsL0NvbnRleHRNZW51Q2xpZW50RWZsLmgKKysrIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL2VmbC9Db250ZXh0TWVudUNsaWVudEVmbC5oCkBAIC0yNiwxMiAr
MjYsNyBAQAogI2lmbmRlZiBDb250ZXh0TWVudUNsaWVudEVmbF9oCiAjZGVmaW5lIENvbnRleHRN
ZW51Q2xpZW50RWZsX2gKIAotI2luY2x1ZGUgIldLUmV0YWluUHRyLmgiCi0jaW5jbHVkZSAiZXdr
X2NvbnRleHQuaCIKLSNpbmNsdWRlIDxXZWJLaXQyL1dLQmFzZS5oPgotI2luY2x1ZGUgPHd0Zi9I
YXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KLSNpbmNsdWRlIDx3dGYvdGV4
dC9XVEZTdHJpbmcuaD4KIAogY2xhc3MgRXdrVmlldzsKIApAQCAtNDQsNyArMzksNyBAQCBwdWJs
aWM6CiAgICAgICAgIHJldHVybiBhZG9wdFB0cihuZXcgQ29udGV4dE1lbnVDbGllbnRFZmwodmll
d0ltcGwpKTsKICAgICB9CiAKLSAgICBzdGF0aWMgdm9pZCBnZXRDb250ZXh0TWVudUZyb21Qcm9w
b3NlZE1lbnUoV0tQYWdlUmVmLCBXS0FycmF5UmVmIHByb3Bvc2VkTWVudSwgV0tBcnJheVJlZiog
bmV3TWVudSwgV0tIaXRUZXN0UmVzdWx0UmVmLCBXS1R5cGVSZWYgdXNlckRhdGEsIGNvbnN0IHZv
aWQqIGNsaWVudEluZm8pOworICAgIEV3a1ZpZXcqIHZpZXcoKSB7IHJldHVybiBtX3ZpZXc7IH0K
IAogcHJpdmF0ZToKICAgICBleHBsaWNpdCBDb250ZXh0TWVudUNsaWVudEVmbChFd2tWaWV3Kik7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1BhZ2VDbGllbnRCYXNl
LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvUGFnZUNsaWVudEJhc2UuY3BwCmlu
ZGV4IGFjZWM2MDAuLmUzZGM4OTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9lZmwvUGFnZUNsaWVudEJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9l
ZmwvUGFnZUNsaWVudEJhc2UuY3BwCkBAIC0zNSw3ICszNSw2IEBACiAjaW5jbHVkZSAiTm90SW1w
bGVtZW50ZWQuaCIKICNpbmNsdWRlICJUZXh0dXJlTWFwcGVyLmgiCiAjaW5jbHVkZSAiV2ViQ29u
dGV4dC5oIgotI2luY2x1ZGUgIldlYkNvbnRleHRNZW51UHJveHlFZmwuaCIKICNpbmNsdWRlICJX
ZWJQYWdlR3JvdXAuaCIKICNpbmNsdWRlICJXZWJQYWdlUHJveHkuaCIKICNpbmNsdWRlICJXZWJQ
b3B1cE1lbnVQcm94eUVmbC5oIgpAQCAtMjE5LDExICsyMTgsNiBAQCBQYXNzUmVmUHRyPFdlYlBv
cHVwTWVudVByb3h5PiBQYWdlQ2xpZW50QmFzZTo6Y3JlYXRlUG9wdXBNZW51UHJveHkoV2ViUGFn
ZVByb3h5KgogICAgIHJldHVybiBXZWJQb3B1cE1lbnVQcm94eUVmbDo6Y3JlYXRlKG1fdmlldywg
cGFnZSk7CiB9CiAKLVBhc3NSZWZQdHI8V2ViQ29udGV4dE1lbnVQcm94eT4gUGFnZUNsaWVudEJh
c2U6OmNyZWF0ZUNvbnRleHRNZW51UHJveHkoV2ViUGFnZVByb3h5KiBwYWdlKQotewotICAgIHJl
dHVybiBXZWJDb250ZXh0TWVudVByb3h5RWZsOjpjcmVhdGUobV92aWV3LCBwYWdlKTsKLX0KLQog
I2lmIEVOQUJMRShJTlBVVF9UWVBFX0NPTE9SKQogUGFzc1JlZlB0cjxXZWJDb2xvckNob29zZXJQ
cm94eT4gUGFnZUNsaWVudEJhc2U6OmNyZWF0ZUNvbG9yQ2hvb3NlclByb3h5KFdlYlBhZ2VQcm94
eSosIGNvbnN0IFdlYkNvcmU6OkNvbG9yJiwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYpCiB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1BhZ2VDbGllbnRCYXNlLmgg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1BhZ2VDbGllbnRCYXNlLmgKaW5kZXggOWI1
MjhjYy4uNjdiMTE4YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9Q
YWdlQ2xpZW50QmFzZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvUGFnZUNs
aWVudEJhc2UuaApAQCAtODksNyArODksNiBAQCBwcm90ZWN0ZWQ6CiAjZW5kaWYKIAogICAgIHZp
cnR1YWwgUGFzc1JlZlB0cjxXZWJQb3B1cE1lbnVQcm94eT4gY3JlYXRlUG9wdXBNZW51UHJveHko
V2ViUGFnZVByb3h5Kik7Ci0gICAgdmlydHVhbCBQYXNzUmVmUHRyPFdlYkNvbnRleHRNZW51UHJv
eHk+IGNyZWF0ZUNvbnRleHRNZW51UHJveHkoV2ViUGFnZVByb3h5Kik7CiAKICNpZiBFTkFCTEUo
SU5QVVRfVFlQRV9DT0xPUikKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8V2ViQ29sb3JDaG9vc2Vy
UHJveHk+IGNyZWF0ZUNvbG9yQ2hvb3NlclByb3h5KFdlYlBhZ2VQcm94eSosIGNvbnN0IFdlYkNv
cmU6OkNvbG9yJiBpbml0aWFsQ29sb3IsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvV2ViQ29udGV4dE1lbnVQcm94eUVm
bC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1dlYkNvbnRleHRNZW51UHJveHlF
ZmwuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2OGU3NWI0Li4wMDAwMDAwCi0t
LSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvV2ViQ29udGV4dE1lbnVQcm94eUVmbC5j
cHAKKysrIC9kZXYvbnVsbApAQCAtMSw2NyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAy
MDEyIFNhbXN1bmcgRWxlY3Ryb25pY3MuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
LSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIEFTIElTJycKLSAq
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0j
aW5jbHVkZSAiV2ViQ29udGV4dE1lbnVQcm94eUVmbC5oIgotCi0jaWYgRU5BQkxFKENPTlRFWFRf
TUVOVVMpCi0KLSNpbmNsdWRlICJFd2tWaWV3LmgiCi0jaW5jbHVkZSAiV2ViQ29udGV4dE1lbnVJ
dGVtRGF0YS5oIgotI2luY2x1ZGUgIldlYlBhZ2VQcm94eS5oIgotI2luY2x1ZGUgPHd0Zi90ZXh0
L0NTdHJpbmcuaD4KLQotdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci0KLW5hbWVzcGFjZSBXZWJL
aXQgewotCi1XZWJDb250ZXh0TWVudVByb3h5RWZsOjpXZWJDb250ZXh0TWVudVByb3h5RWZsKEV3
a1ZpZXcqIHZpZXcsIFdlYlBhZ2VQcm94eSogcGFnZSkKLSAgICA6IG1fdmlldyh2aWV3KQotICAg
ICwgbV9wYWdlKHBhZ2UpCi17Ci19Ci0KLVdlYkNvbnRleHRNZW51UHJveHlFZmw6On5XZWJDb250
ZXh0TWVudVByb3h5RWZsKCkKLXsKLX0KLQotdm9pZCBXZWJDb250ZXh0TWVudVByb3h5RWZsOjpz
aG93Q29udGV4dE1lbnUoY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIHBvc2l0aW9uLCBjb25zdCBW
ZWN0b3I8V2ViQ29udGV4dE1lbnVJdGVtRGF0YT4mIGl0ZW1zKQotewotICAgIG1fdmlldy0+c2hv
d0NvbnRleHRNZW51KHRoaXMsIHBvc2l0aW9uLCBpdGVtcyk7Ci19Ci0KLXZvaWQgV2ViQ29udGV4
dE1lbnVQcm94eUVmbDo6aGlkZUNvbnRleHRNZW51KCkKLXsKLSAgICBtX3ZpZXctPmhpZGVDb250
ZXh0TWVudSgpOwotfQotCi12b2lkIFdlYkNvbnRleHRNZW51UHJveHlFZmw6OmNvbnRleHRNZW51
SXRlbVNlbGVjdGVkKGNvbnN0IFdlYkNvbnRleHRNZW51SXRlbURhdGEmIGl0ZW0pCi17Ci0gICAg
bV9wYWdlLT5jb250ZXh0TWVudUl0ZW1TZWxlY3RlZChpdGVtKTsKLX0KLQotfSAvLyBuYW1lc3Bh
Y2UgV2ViS2l0Ci0KLSNlbmRpZiAvLyBFTkFCTEUoQ09OVEVYVF9NRU5VUykKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvV2ViQ29udGV4dE1lbnVQcm94eUVmbC5oIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9XZWJDb250ZXh0TWVudVByb3h5RWZsLmgKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVhNDJhZjEuLjAwMDAwMDAKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL2VmbC9XZWJDb250ZXh0TWVudVByb3h5RWZsLmgKKysrIC9kZXYv
bnVsbApAQCAtMSw2NyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEyIFNhbXN1bmcg
RWxlY3Ryb25pY3MuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6
Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIEFTIElTJycKLSAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
Ci0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgot
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWZuZGVmIFdlYkNvbnRleHRNZW51UHJveHlFZmxfaAot
I2RlZmluZSBXZWJDb250ZXh0TWVudVByb3h5RWZsX2gKLQotI2lmIEVOQUJMRShDT05URVhUX01F
TlVTKQotCi0jaW5jbHVkZSAiV2ViQ29udGV4dE1lbnVQcm94eS5oIgotI2luY2x1ZGUgPFdlYkNv
cmUvQ29udGV4dE1lbnUuaD4KLSNpbmNsdWRlIDxXZWJDb3JlL0ludFBvaW50Lmg+Ci0KLWNsYXNz
IEV3a1ZpZXc7Ci0KLW5hbWVzcGFjZSBXZWJLaXQgewotCi1jbGFzcyBXZWJDb250ZXh0TWVudUl0
ZW1EYXRhOwotY2xhc3MgV2ViUGFnZVByb3h5OwotCi1jbGFzcyBXZWJDb250ZXh0TWVudVByb3h5
RWZsIDogcHVibGljIFdlYkNvbnRleHRNZW51UHJveHkgewotcHVibGljOgotICAgIHN0YXRpYyBQ
YXNzUmVmUHRyPFdlYkNvbnRleHRNZW51UHJveHlFZmw+IGNyZWF0ZShFd2tWaWV3KiB2aWV3SW1w
bCwgV2ViUGFnZVByb3h5KiBwYWdlKQotICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5l
dyBXZWJDb250ZXh0TWVudVByb3h5RWZsKHZpZXdJbXBsLCBwYWdlKSk7Ci0gICAgfQotCi0gICAg
fldlYkNvbnRleHRNZW51UHJveHlFZmwoKTsKLQotICAgIHZvaWQgc2hvd0NvbnRleHRNZW51KGNv
bnN0IFdlYkNvcmU6OkludFBvaW50JiwgY29uc3QgVmVjdG9yPFdlYkNvbnRleHRNZW51SXRlbURh
dGE+Jik7Ci0gICAgdm9pZCBoaWRlQ29udGV4dE1lbnUoKTsKLQotICAgIHZvaWQgY29udGV4dE1l
bnVJdGVtU2VsZWN0ZWQoY29uc3QgV2ViQ29udGV4dE1lbnVJdGVtRGF0YSYpOwotCi1wcml2YXRl
OgotICAgIFdlYkNvbnRleHRNZW51UHJveHlFZmwoRXdrVmlldyosIFdlYlBhZ2VQcm94eSopOwot
Ci0gICAgRXdrVmlldyogbV92aWV3OwotICAgIFdlYlBhZ2VQcm94eSogbV9wYWdlOwotfTsKLQot
Ci19IC8vIG5hbWVzcGFjZSBXZWJLaXQKLQotI2VuZGlmIC8vIEVOQUJMRShDT05URVhUX01FTlVT
KQotI2VuZGlmIC8vIFdlYkNvbnRleHRNZW51UHJveHlFZmxfaAo=
</data>
<flag name="commit-queue"
          id="208709"
          type_id="3"
          status="-"
          setter="eflews.bot"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>188565</attachid>
            <date>2013-02-15 07:21:43 -0800</date>
            <delta_ts>2013-02-18 05:24:51 -0800</delta_ts>
            <desc>fixed changelog</desc>
            <filename>c-api-ewk-contextmenu2.diff</filename>
            <type>text/plain</type>
            <size>54526</size>
            <attacher name="Michal Pakula vel Rutka">mpakulavelrutka</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA1ZGEyMWY0Li45NTljYTIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNjcg
QEAKKzIwMTMtMDItMTUgIE1pY2hhxYIgUGFrdcWCYSB2ZWwgUnV0a2EgIDxtLnBha3VsYUBzYW1z
dW5nLmNvbT4KKworICAgICAgICBbRUZMXVtXSzJdIFVzZSBDIEFQSSBpbiBld2tfY29udGV4dF9t
ZW51CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDk2
OTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBFRkwg
cG9ydCB1bmxpa2Ugb3RoZXJzIGRvZXMgbm90IGhhbmRsZSBjb250ZXh0IG1lbnVzIGluc2lkZSBX
ZWJLaXQgYnV0IGV4cG9zZXMgYW4gQVBJOgorICAgICAgICBld2tfY29udGV4dF9tZW51IGFuZCBl
d2tfY29udGV4dF9tZW51X2l0ZW0sIGFuZCBsZWF2ZXMgY29udGV4dCBtZW51IHRvIGFwcGxpY2F0
aW9uLgorICAgICAgICBDdXJyZW50bHkgRUZMIHBvcnQncyBjb250ZXh0IG1lbnUgQVBJIHVzZXMg
aW50ZXJuYWwgQysrIGNsYXNzZXMsIHdoaWxlIGl0IHNob3VsZCB1c2UgV0syIEMgQVBJLAorICAg
ICAgICB0byBhdm9pZCB2aW9sYXRpbmcgbGF5ZXJpbmcuCisgICAgICAgIFRoaXMgcGF0Y2ggY2hh
bmdlcyBFRkwgY29udGV4dCBtZW51IEFQSSB0byB1c2Ugb25seSBXSzIgQyBBUEksIGFsc28gYWRk
cyB0d28gZnVuY3Rpb25zIHRvIFdLUGFnZUNvbnRleHRNZW51Q2xpZW50LgorCisgICAgICAgICog
UGxhdGZvcm1FZmwuY21ha2U6CisgICAgICAgICogU2hhcmVkL0FQSUNsaWVudFRyYWl0cy5jcHA6
CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAqIFNoYXJlZC9BUElDbGllbnRUcmFpdHMuaDoK
KyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNwcDoKKyAgICAgICAgKFdLUGFnZUNv
bnRleHRNZW51SXRlbVNlbGVjdGVkKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQYWdl
Lmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlldy5jcHA6CisgICAgICAgIChF
d2tWaWV3OjpzaG93Q29udGV4dE1lbnUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL0V3
a1ZpZXcuaDoKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChFd2tWaWV3KToKKyAgICAgICAg
KiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dF9tZW51LmNwcDoKKyAgICAgICAgKEV3a0Nv
bnRleHRNZW51OjpFd2tDb250ZXh0TWVudSk6CisgICAgICAgIChFd2tDb250ZXh0TWVudTo6Y29u
dGV4dE1lbnVJdGVtU2VsZWN0ZWQpOgorICAgICAgICAoZXdrX2NvbnRleHRfbWVudV9pdGVtX3Nl
bGVjdCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHRfbWVudV9pdGVt
LmNwcDoKKyAgICAgICAgKEV3a0NvbnRleHRNZW51SXRlbTo6RXdrQ29udGV4dE1lbnVJdGVtKToK
KyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dF9tZW51X2l0ZW0uaDoKKyAg
ICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dF9tZW51X2l0ZW1fcHJpdmF0ZS5o
OgorICAgICAgICAoRXdrQ29udGV4dE1lbnVJdGVtOjpjcmVhdGUpOgorICAgICAgICAoRXdrQ29u
dGV4dE1lbnVJdGVtKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dF9t
ZW51X3ByaXZhdGUuaDoKKyAgICAgICAgKEV3a0NvbnRleHRNZW51OjpjcmVhdGUpOgorICAgICAg
ICAoRXdrQ29udGV4dE1lbnUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdENv
bnRleHRNZW51Q2xpZW50LmNwcDoKKyAgICAgICAgKGF0dGFjaENvbnRleHRNZW51Q2xpZW50VG9W
aWV3KToKKyAgICAgICAgKiBVSVByb2Nlc3MvUGFnZUNsaWVudC5oOgorICAgICAgICAoUGFnZUNs
aWVudCk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VDb250ZXh0TWVudUNsaWVudC5jcHA6
CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VDb250ZXh0TWVudUNsaWVudDo6c2hvd0NvbnRleHRN
ZW51KToKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VDb250ZXh0
TWVudUNsaWVudDo6aGlkZUNvbnRleHRNZW51KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFn
ZUNvbnRleHRNZW51Q2xpZW50Lmg6CisgICAgICAgIChXZWJQYWdlQ29udGV4dE1lbnVDbGllbnQp
OgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0
OjpXZWJQYWdlUHJveHk6OmludGVybmFsU2hvd0NvbnRleHRNZW51KToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAgIChXZWJQYWdlUHJveHkpOgorICAgICAgICAq
IFVJUHJvY2Vzcy9lZmwvQ29udGV4dE1lbnVDbGllbnRFZmwuY3BwOgorICAgICAgICAoc2hvd0Nv
bnRleHRNZW51KToKKyAgICAgICAgKGhpZGVDb250ZXh0TWVudSk6CisgICAgICAgIChDb250ZXh0
TWVudUNsaWVudEVmbDo6Q29udGV4dE1lbnVDbGllbnRFZmwpOgorICAgICAgICAqIFVJUHJvY2Vz
cy9lZmwvQ29udGV4dE1lbnVDbGllbnRFZmwuaDoKKyAgICAgICAgKFdlYktpdDo6Q29udGV4dE1l
bnVDbGllbnRFZmw6OnZpZXcpOgorICAgICAgICAqIFVJUHJvY2Vzcy9lZmwvUGFnZUNsaWVudEJh
c2UuY3BwOgorICAgICAgICAqIFVJUHJvY2Vzcy9lZmwvUGFnZUNsaWVudEJhc2UuaDoKKyAgICAg
ICAgKFBhZ2VDbGllbnRCYXNlKToKKyAgICAgICAgKiBVSVByb2Nlc3MvZWZsL1dlYkNvbnRleHRN
ZW51UHJveHlFZmwuY3BwOiBSZW1vdmVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9lZmwvV2ViQ29u
dGV4dE1lbnVQcm94eUVmbC5oOiBSZW1vdmVkLgorCiAyMDEzLTAyLTE1ICBBbGxhbiBTYW5kZmVs
ZCBKZW5zZW4gIDxhbGxhbi5qZW5zZW5AZGlnaWEuY29tPgogCiAgICAgICAgIFNpbXBsaWZ5IGhp
dFRlc3RSZXN1bHRBdFBvaW50IGFuZCBub2Rlc0Zyb21SZWN0IEFQSXMKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtlIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm1F
ZmwuY21ha2UKaW5kZXggMTU2YmExYi4uMTNiNzc3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvUGxhdGZvcm1FZmwuY21ha2UKKysrIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm1FZmwuY21h
a2UKQEAgLTEwMSw3ICsxMDEsNiBAQCBsaXN0KEFQUEVORCBXZWJLaXQyX1NPVVJDRVMKICAgICBV
SVByb2Nlc3MvZWZsL1ZpYnJhdGlvbkNsaWVudEVmbC5jcHAKICAgICBVSVByb2Nlc3MvZWZsL1Zp
ZXdDbGllbnRFZmwuY3BwCiAgICAgVUlQcm9jZXNzL2VmbC9XZWJDb250ZXh0RWZsLmNwcAotICAg
IFVJUHJvY2Vzcy9lZmwvV2ViQ29udGV4dE1lbnVQcm94eUVmbC5jcHAKICAgICBVSVByb2Nlc3Mv
ZWZsL1dlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHlFZmwuY3BwCiAgICAgVUlQcm9jZXNzL2VmbC9X
ZWJJbnNwZWN0b3JQcm94eUVmbC5jcHAKICAgICBVSVByb2Nlc3MvZWZsL1dlYlBhZ2VQcm94eUVm
bC5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUElDbGllbnRUcmFpdHMu
Y3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSUNsaWVudFRyYWl0cy5jcHAKaW5kZXggNWVj
ZGFiMy4uNDQ2NTY0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSUNsaWVu
dFRyYWl0cy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSUNsaWVudFRyYWl0cy5j
cHAKQEAgLTU3LDYgKzU3LDcgQEAgY29uc3Qgc2l6ZV90IEFQSUNsaWVudFRyYWl0czxXS0J1bmRs
ZVBhZ2VGdWxsU2NyZWVuQ2xpZW50Pjo6aW50ZXJmYWNlU2l6ZXNCeVZlcnMKIGNvbnN0IHNpemVf
dCBBUElDbGllbnRUcmFpdHM8V0tQYWdlQ29udGV4dE1lbnVDbGllbnQ+OjppbnRlcmZhY2VTaXpl
c0J5VmVyc2lvbltdID0gewogICAgIG9mZnNldG9mKFdLUGFnZUNvbnRleHRNZW51Q2xpZW50LCBj
b250ZXh0TWVudURpc21pc3NlZCksCiAgICAgb2Zmc2V0b2YoV0tQYWdlQ29udGV4dE1lbnVDbGll
bnQsIGdldENvbnRleHRNZW51RnJvbVByb3Bvc2VkTWVudSksCisgICAgb2Zmc2V0b2YoV0tQYWdl
Q29udGV4dE1lbnVDbGllbnQsIHNob3dDb250ZXh0TWVudSksCiAgICAgc2l6ZW9mKFdLUGFnZUNv
bnRleHRNZW51Q2xpZW50KQogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVk
L0FQSUNsaWVudFRyYWl0cy5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSUNsaWVudFRyYWl0
cy5oCmluZGV4IGEwNjI5NTYuLmFlZDgyZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9BUElDbGllbnRUcmFpdHMuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJQ2xp
ZW50VHJhaXRzLmgKQEAgLTYwLDcgKzYwLDcgQEAgdGVtcGxhdGU8PiBzdHJ1Y3QgQVBJQ2xpZW50
VHJhaXRzPFdLQnVuZGxlUGFnZVVJQ2xpZW50PiB7CiB9OwogCiB0ZW1wbGF0ZTw+IHN0cnVjdCBB
UElDbGllbnRUcmFpdHM8V0tQYWdlQ29udGV4dE1lbnVDbGllbnQ+IHsKLSAgICBzdGF0aWMgY29u
c3Qgc2l6ZV90IGludGVyZmFjZVNpemVzQnlWZXJzaW9uWzNdOworICAgIHN0YXRpYyBjb25zdCBz
aXplX3QgaW50ZXJmYWNlU2l6ZXNCeVZlcnNpb25bNF07CiB9OwogCiB0ZW1wbGF0ZTw+IHN0cnVj
dCBBUElDbGllbnRUcmFpdHM8V0tQYWdlTG9hZGVyQ2xpZW50PiB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3BwCmluZGV4IDU1MGQ3YmUuLmVhY2VhMzkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3BwCkBAIC00MCw2ICs0MCwxMCBAQAog
I2luY2x1ZGUgPEJsb2NrLmg+CiAjZW5kaWYKIAorI2lmIEVOQUJMRShDT05URVhUX01FTlVTKQor
I2luY2x1ZGUgIldlYkNvbnRleHRNZW51SXRlbS5oIgorI2VuZGlmCisKIHVzaW5nIG5hbWVzcGFj
ZSBXZWJDb3JlOwogdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKIApAQCAtNzk0LDMgKzc5OCwxMCBA
QCB2b2lkIFdLUGFnZVNldEludmFsaWRNZXNzYWdlRnVuY3Rpb24oV0tQYWdlSW52YWxpZE1lc3Nh
Z2VGdW5jdGlvbikKIHsKICAgICAvLyBGSVhNRTogUmVtb3ZlIHRoaXMgZnVuY3Rpb24gd2hlbiBk
b2luZyBzbyB3b24ndCBicmVhayBXZWJLaXQgbmlnaHRsaWVzLgogfQorCit2b2lkIFdLUGFnZUNv
bnRleHRNZW51SXRlbVNlbGVjdGVkKFdLUGFnZVJlZiBwYWdlLCBXS0NvbnRleHRNZW51SXRlbVJl
ZiBpdGVtKQoreworI2lmIEVOQUJMRShDT05URVhUX01FTlVTKQorICAgIHRvSW1wbChwYWdlKS0+
Y29udGV4dE1lbnVJdGVtU2VsZWN0ZWQoKih0b0ltcGwoaXRlbSktPmRhdGEoKSkpOworI2VuZGlm
Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmgg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmgKaW5kZXggMWE4NTY1Ny4u
MTBlMjRjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFn
ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuaApAQCAtMzIw
LDYgKzMyMCw4IEBAIGVudW0geyBrV0tQYWdlRmluZE1hdGNoZXNDbGllbnRDdXJyZW50VmVyc2lv
biA9IDAgfTsKIHR5cGVkZWYgdm9pZCAoKldLUGFnZUdldENvbnRleHRNZW51RnJvbVByb3Bvc2Vk
Q29udGV4dE1lbnVDYWxsYmFjaykoV0tQYWdlUmVmIHBhZ2UsIFdLQXJyYXlSZWYgcHJvcG9zZWRN
ZW51LCBXS0FycmF5UmVmKiBuZXdNZW51LCBXS0hpdFRlc3RSZXN1bHRSZWYgaGl0VGVzdFJlc3Vs
dCwgV0tUeXBlUmVmIHVzZXJEYXRhLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKIHR5cGVkZWYg
dm9pZCAoKldLUGFnZUN1c3RvbUNvbnRleHRNZW51SXRlbVNlbGVjdGVkQ2FsbGJhY2spKFdLUGFn
ZVJlZiBwYWdlLCBXS0NvbnRleHRNZW51SXRlbVJlZiBjb250ZXh0TWVudUl0ZW0sIGNvbnN0IHZv
aWQqIGNsaWVudEluZm8pOwogdHlwZWRlZiB2b2lkICgqV0tQYWdlQ29udGV4dE1lbnVEaXNtaXNz
ZWRDYWxsYmFjaykoV0tQYWdlUmVmIHBhZ2UsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwordHlw
ZWRlZiB2b2lkICgqV0tQYWdlU2hvd0NvbnRleHRNZW51Q2FsbGJhY2spKFdLUGFnZVJlZiBwYWdl
LCBXS1BvaW50IG1lbnVMb2NhdGlvbiwgV0tBcnJheVJlZiBtZW51SXRlbXMsIGNvbnN0IHZvaWQq
IGNsaWVudEluZm8pOwordHlwZWRlZiB2b2lkICgqV0tQYWdlSGlkZUNvbnRleHRNZW51Q2FsbGJh
Y2spKFdLUGFnZVJlZiBwYWdlLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKIAogLy8gRGVwcmVj
YXRlZAogdHlwZWRlZiB2b2lkICgqV0tQYWdlR2V0Q29udGV4dE1lbnVGcm9tUHJvcG9zZWRDb250
ZXh0TWVudUNhbGxiYWNrX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjApKFdLUGFnZVJlZiBwYWdlLCBX
S0FycmF5UmVmIHByb3Bvc2VkTWVudSwgV0tBcnJheVJlZiogbmV3TWVudSwgV0tUeXBlUmVmIHVz
ZXJEYXRhLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKQEAgLTMzNiwxMCArMzM4LDE0IEBAIHN0
cnVjdCBXS1BhZ2VDb250ZXh0TWVudUNsaWVudCB7CiAKICAgICAvLyBWZXJzaW9uIDIKICAgICBX
S1BhZ2VHZXRDb250ZXh0TWVudUZyb21Qcm9wb3NlZENvbnRleHRNZW51Q2FsbGJhY2sgICAgICAg
ICAgICAgICAgICAgICAgICAgIGdldENvbnRleHRNZW51RnJvbVByb3Bvc2VkTWVudTsKKworICAg
IC8vIFZlcnNpb24gMworICAgIFdLUGFnZVNob3dDb250ZXh0TWVudUNhbGxiYWNrICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd0NvbnRleHRNZW51Owor
ICAgIFdLUGFnZUhpZGVDb250ZXh0TWVudUNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaGlkZUNvbnRleHRNZW51OwogfTsKIHR5cGVkZWYgc3Ry
dWN0IFdLUGFnZUNvbnRleHRNZW51Q2xpZW50IFdLUGFnZUNvbnRleHRNZW51Q2xpZW50OwogCi1l
bnVtIHsga1dLUGFnZUNvbnRleHRNZW51Q2xpZW50Q3VycmVudFZlcnNpb24gPSAyIH07CitlbnVt
IHsga1dLUGFnZUNvbnRleHRNZW51Q2xpZW50Q3VycmVudFZlcnNpb24gPSAzIH07CiAKIFdLX0VY
UE9SVCBXS1R5cGVJRCBXS1BhZ2VHZXRUeXBlSUQoKTsKIApAQCAtNTE0LDYgKzUyMCw4IEBAIFdL
X0VYUE9SVCB2b2lkIFdLUGFnZUV4ZWN1dGVDb21tYW5kKFdLUGFnZVJlZiBwYWdlLCBXS1N0cmlu
Z1JlZiBjb21tYW5kKTsKIAogV0tfRVhQT1JUIHZvaWQgV0tQYWdlUG9zdE1lc3NhZ2VUb0luamVj
dGVkQnVuZGxlKFdLUGFnZVJlZiBwYWdlLCBXS1N0cmluZ1JlZiBtZXNzYWdlTmFtZSwgV0tUeXBl
UmVmIG1lc3NhZ2VCb2R5KTsKIAorV0tfRVhQT1JUIHZvaWQgV0tQYWdlQ29udGV4dE1lbnVJdGVt
U2VsZWN0ZWQoV0tQYWdlUmVmIHBhZ2UsIFdLQ29udGV4dE1lbnVJdGVtUmVmIGl0ZW0pOworCiAj
aWZkZWYgX19jcGx1c3BsdXMKIH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL2VmbC9Fd2tWaWV3LmNwcAppbmRleCBmZTk0YTFmLi5hNjFjOGNlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3LmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3LmNwcApAQCAtODk0LDcgKzg5NCw3IEBA
IHZvaWQgRXdrVmlldzo6ZGlzbWlzc0NvbG9yUGlja2VyKCkKIENPTVBJTEVfQVNTRVJUX01BVENI
SU5HX0VOVU0oRVdLX1RFWFRfRElSRUNUSU9OX1JJR0hUX1RPX0xFRlQsIFJUTCk7CiBDT01QSUxF
X0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19URVhUX0RJUkVDVElPTl9MRUZUX1RPX1JJR0hULCBM
VFIpOwogCi12b2lkIEV3a1ZpZXc6OnNob3dDb250ZXh0TWVudShXZWJDb250ZXh0TWVudVByb3h5
RWZsKiBjb250ZXh0TWVudVByb3h5LCBjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgcG9zaXRpb24s
IGNvbnN0IFZlY3RvcjxXZWJDb250ZXh0TWVudUl0ZW1EYXRhPiYgaXRlbXMpCit2b2lkIEV3a1Zp
ZXc6OnNob3dDb250ZXh0TWVudShXS1BvaW50IHBvc2l0aW9uLCBXS0FycmF5UmVmIGl0ZW1zKQog
ewogICAgIEV3a19WaWV3X1NtYXJ0X0RhdGEqIHNkID0gc21hcnREYXRhKCk7CiAgICAgQVNTRVJU
KHNkLT5hcGkpOwpAQCAtOTA3LDkgKzkwNyw5IEBAIHZvaWQgRXdrVmlldzo6c2hvd0NvbnRleHRN
ZW51KFdlYkNvbnRleHRNZW51UHJveHlFZmwqIGNvbnRleHRNZW51UHJveHksIGNvbnN0IFdlCiAg
ICAgaWYgKG1fY29udGV4dE1lbnUpCiAgICAgICAgIGhpZGVDb250ZXh0TWVudSgpOwogCi0gICAg
bV9jb250ZXh0TWVudSA9IEV3a19Db250ZXh0X01lbnU6OmNyZWF0ZSh0aGlzLCBjb250ZXh0TWVu
dVByb3h5LCBpdGVtcyk7CisgICAgbV9jb250ZXh0TWVudSA9IEV3a19Db250ZXh0X01lbnU6OmNy
ZWF0ZSh0aGlzLCBpdGVtcyk7CiAKLSAgICBzZC0+YXBpLT5jb250ZXh0X21lbnVfc2hvdyhzZCwg
cG9zaXRpb24ueCgpLCBwb3NpdGlvbi55KCksIG1fY29udGV4dE1lbnUuZ2V0KCkpOworICAgIHNk
LT5hcGktPmNvbnRleHRfbWVudV9zaG93KHNkLCBwb3NpdGlvbi54LCBwb3NpdGlvbi55LCBtX2Nv
bnRleHRNZW51LmdldCgpKTsKIH0KIAogdm9pZCBFd2tWaWV3OjpoaWRlQ29udGV4dE1lbnUoKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlldy5oIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlldy5oCmluZGV4IDZmY2M1Y2Mu
LjNiMGM4ZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3
a1ZpZXcuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3LmgK
QEAgLTY0LDggKzY0LDYgQEAgY2xhc3MgUGFnZUxvYWRDbGllbnRFZmw7CiBjbGFzcyBQYWdlUG9s
aWN5Q2xpZW50RWZsOwogY2xhc3MgUGFnZVVJQ2xpZW50RWZsOwogY2xhc3MgVmlld0NsaWVudEVm
bDsKLWNsYXNzIFdlYkNvbnRleHRNZW51SXRlbURhdGE7Ci1jbGFzcyBXZWJDb250ZXh0TWVudVBy
b3h5RWZsOwogY2xhc3MgV2ViUGFnZUdyb3VwOwogY2xhc3MgV2ViUGFnZVByb3h5OwogY2xhc3Mg
V2ViUG9wdXBJdGVtOwpAQCAtMTkyLDcgKzE5MCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHJlcXVl
c3RQb3B1cE1lbnUoV2ViS2l0OjpXZWJQb3B1cE1lbnVQcm94eUVmbCosIGNvbnN0IFdlYkNvcmU6
OkludFJlY3QmLCBXZWJDb3JlOjpUZXh0RGlyZWN0aW9uLCBkb3VibGUgcGFnZVNjYWxlRmFjdG9y
LCBjb25zdCBWZWN0b3I8V2ViS2l0OjpXZWJQb3B1cEl0ZW0+JiBpdGVtcywgaW50MzJfdCBzZWxl
Y3RlZEluZGV4KTsKICAgICB2b2lkIGNsb3NlUG9wdXBNZW51KCk7CiAKLSAgICB2b2lkIHNob3dD
b250ZXh0TWVudShXZWJLaXQ6OldlYkNvbnRleHRNZW51UHJveHlFZmwqLCBjb25zdCBXZWJDb3Jl
OjpJbnRQb2ludCYgcG9zaXRpb24sIGNvbnN0IFZlY3RvcjxXZWJLaXQ6OldlYkNvbnRleHRNZW51
SXRlbURhdGE+JiBpdGVtcyk7CisgICAgdm9pZCBzaG93Q29udGV4dE1lbnUoV0tQb2ludCBwb3Np
dGlvbiwgV0tBcnJheVJlZiBpdGVtcyk7CiAgICAgdm9pZCBoaWRlQ29udGV4dE1lbnUoKTsKIAog
ICAgIHZvaWQgdXBkYXRlVGV4dElucHV0U3RhdGUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0X21lbnUuY3BwIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHRfbWVudS5jcHAKaW5kZXggOThhNDMxYS4u
NTkyOTk3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdr
X2NvbnRleHRfbWVudS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwv
ZXdrX2NvbnRleHRfbWVudS5jcHAKQEAgLTI4LDM0ICsyOCwzMiBAQAogCiAjaW5jbHVkZSAiQVBJ
T2JqZWN0LmgiCiAjaW5jbHVkZSAiRXdrVmlldy5oIgotI2luY2x1ZGUgIldlYkNvbnRleHRNZW51
SXRlbURhdGEuaCIKLSNpbmNsdWRlICJXZWJDb250ZXh0TWVudVByb3h5RWZsLmgiCisjaW5jbHVk
ZSAiV0tBcnJheS5oIgorI2luY2x1ZGUgIldLQ29udGV4dE1lbnVJdGVtLmgiCisjaW5jbHVkZSAi
V0tTdHJpbmcuaCIKICNpbmNsdWRlICJld2tfY29udGV4dF9tZW51X2l0ZW0uaCIKICNpbmNsdWRl
ICJld2tfY29udGV4dF9tZW51X2l0ZW1fcHJpdmF0ZS5oIgogI2luY2x1ZGUgImV3a19jb250ZXh0
X21lbnVfcHJpdmF0ZS5oIgogCiB1c2luZyBuYW1lc3BhY2UgV2ViS2l0OwogCi1Fd2tDb250ZXh0
TWVudTo6RXdrQ29udGV4dE1lbnUoRXdrVmlldyogdmlldywgV2ViQ29udGV4dE1lbnVQcm94eUVm
bCogY29udGV4dE1lbnVQcm94eSwgY29uc3QgVmVjdG9yPFdlYktpdDo6V2ViQ29udGV4dE1lbnVJ
dGVtRGF0YT4mIGl0ZW1zKQorRXdrQ29udGV4dE1lbnU6OkV3a0NvbnRleHRNZW51KEV3a1ZpZXcq
IHZpZXcsIFdLQXJyYXlSZWYgaXRlbXMpCiAgICAgOiBtX3ZpZXdJbXBsKHZpZXcpCi0gICAgLCBt
X2NvbnRleHRNZW51UHJveHkoY29udGV4dE1lbnVQcm94eSkKICAgICAsIG1fY29udGV4dE1lbnVJ
dGVtcygwKQogewotICAgIGNvbnN0IHNpemVfdCBzaXplID0gaXRlbXMuc2l6ZSgpOworICAgIGNv
bnN0IHNpemVfdCBzaXplID0gV0tBcnJheUdldFNpemUoaXRlbXMpOwogICAgIGZvciAoc2l6ZV90
IGkgPSAwOyBpIDwgc2l6ZTsgKytpKQotICAgICAgICBtX2NvbnRleHRNZW51SXRlbXMgPSBlaW5h
X2xpc3RfYXBwZW5kKG1fY29udGV4dE1lbnVJdGVtcywgRXdrX0NvbnRleHRfTWVudV9JdGVtOjpj
cmVhdGUoaXRlbXNbaV0pLmxlYWtQdHIoKSk7CisgICAgICAgIG1fY29udGV4dE1lbnVJdGVtcyA9
IGVpbmFfbGlzdF9hcHBlbmQobV9jb250ZXh0TWVudUl0ZW1zLCBFd2tfQ29udGV4dF9NZW51X0l0
ZW06OmNyZWF0ZShzdGF0aWNfY2FzdDxXS0NvbnRleHRNZW51SXRlbVJlZj4oV0tBcnJheUdldEl0
ZW1BdEluZGV4KGl0ZW1zLCBpKSkpLmxlYWtQdHIoKSk7CiB9CiAKIEV3a0NvbnRleHRNZW51OjpF
d2tDb250ZXh0TWVudSgpCiAgICAgOiBtX3ZpZXdJbXBsKDApCi0gICAgLCBtX2NvbnRleHRNZW51
UHJveHkoMCkKICAgICAsIG1fY29udGV4dE1lbnVJdGVtcygwKQogewogfQogCiBFd2tDb250ZXh0
TWVudTo6RXdrQ29udGV4dE1lbnUoRWluYV9MaXN0KiBpdGVtcykKICAgICA6IG1fdmlld0ltcGwo
MCkKLSAgICAsIG1fY29udGV4dE1lbnVQcm94eSgwKQogICAgICwgbV9jb250ZXh0TWVudUl0ZW1z
KDApCiB7CiAgICAgRWluYV9MaXN0KiBsOwpAQCAtODYsOSArODQsOSBAQCB2b2lkIEV3a19Db250
ZXh0X01lbnU6OnJlbW92ZUl0ZW0oRXdrQ29udGV4dE1lbnVJdGVtKiBpdGVtKQogICAgIG1fY29u
dGV4dE1lbnVJdGVtcyA9IGVpbmFfbGlzdF9yZW1vdmUobV9jb250ZXh0TWVudUl0ZW1zLCBpdGVt
KTsKIH0KIAotdm9pZCBFd2tDb250ZXh0TWVudTo6Y29udGV4dE1lbnVJdGVtU2VsZWN0ZWQoY29u
c3QgV2ViS2l0OjpXZWJDb250ZXh0TWVudUl0ZW1EYXRhJiBpdGVtKQordm9pZCBFd2tDb250ZXh0
TWVudTo6Y29udGV4dE1lbnVJdGVtU2VsZWN0ZWQoV0tDb250ZXh0TWVudUl0ZW1SZWYgaXRlbSkK
IHsKLSAgICBtX2NvbnRleHRNZW51UHJveHktPmNvbnRleHRNZW51SXRlbVNlbGVjdGVkKGl0ZW0p
OyAKKyAgICBXS1BhZ2VDb250ZXh0TWVudUl0ZW1TZWxlY3RlZChtX3ZpZXdJbXBsLT53a1BhZ2Uo
KSwgaXRlbSk7CiB9IAogCiBFd2tfQ29udGV4dF9NZW51KiBld2tfY29udGV4dF9tZW51X25ldygp
CkBAIC0xNDAsMTAgKzEzOCwyMCBAQCBFaW5hX0Jvb2wgZXdrX2NvbnRleHRfbWVudV9pdGVtX3Nl
bGVjdChFd2tfQ29udGV4dF9NZW51KiBtZW51LCBFd2tfQ29udGV4dF9NZW51XwogICAgIEVJTkFf
U0FGRVRZX09OX05VTExfUkVUVVJOX1ZBTChtZW51LCBmYWxzZSk7CiAgICAgRUlOQV9TQUZFVFlf
T05fTlVMTF9SRVRVUk5fVkFMKGl0ZW0sIGZhbHNlKTsKIAotICAgIFdlYkNvcmU6OkNvbnRleHRN
ZW51SXRlbVR5cGUgdHlwZSA9IHN0YXRpY19jYXN0PFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVR5
cGU+KGl0ZW0tPnR5cGUoKSk7Ci0gICAgV2ViQ29yZTo6Q29udGV4dE1lbnVBY3Rpb24gYWN0aW9u
ID0gc3RhdGljX2Nhc3Q8V2ViQ29yZTo6Q29udGV4dE1lbnVBY3Rpb24+KGl0ZW0tPmFjdGlvbigp
KTsKKyAgICBXS0NvbnRleHRNZW51SXRlbVJlZiB3a0l0ZW07CiAKLSAgICBtZW51LT5jb250ZXh0
TWVudUl0ZW1TZWxlY3RlZChXZWJDb250ZXh0TWVudUl0ZW1EYXRhKHR5cGUsIGFjdGlvbiwgaXRl
bS0+dGl0bGUoKSwgaXRlbS0+ZW5hYmxlZCgpLCBpdGVtLT5jaGVja2VkKCkpKTsKKyAgICBzd2l0
Y2ggKGl0ZW0tPnR5cGUoKSkgeworICAgIGNhc2UgRVdLX0FDVElPTl9UWVBFOgorICAgICAgICB3
a0l0ZW0gPSBXS0NvbnRleHRNZW51SXRlbUNyZWF0ZUFzQWN0aW9uKHN0YXRpY19jYXN0PFdLQ29u
dGV4dE1lbnVJdGVtVGFnPihpdGVtLT5hY3Rpb24oKSksIFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhD
U3RyaW5nKGl0ZW0tPnRpdGxlKCkpLCBpdGVtLT5lbmFibGVkKCkpOworICAgICAgICBicmVhazsK
KyAgICBjYXNlIEVXS19DSEVDS0FCTEVfQUNUSU9OX1RZUEU6CisgICAgICAgIHdrSXRlbSA9IFdL
Q29udGV4dE1lbnVJdGVtQ3JlYXRlQXNDaGVja2FibGVBY3Rpb24oc3RhdGljX2Nhc3Q8V0tDb250
ZXh0TWVudUl0ZW1UYWc+KGl0ZW0tPmFjdGlvbigpKSwgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENT
dHJpbmcoaXRlbS0+dGl0bGUoKSksIGl0ZW0tPmVuYWJsZWQoKSwgaXRlbS0+Y2hlY2tlZCgpKTsK
KyAgICAgICAgYnJlYWs7CisgICAgZGVmYXVsdDoKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAg
IH0KKworICAgIG1lbnUtPmNvbnRleHRNZW51SXRlbVNlbGVjdGVkKHdrSXRlbSk7CiAKICAgICBy
ZXR1cm4gdHJ1ZTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
ZWZsL2V3a19jb250ZXh0X21lbnVfaXRlbS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL2VmbC9ld2tfY29udGV4dF9tZW51X2l0ZW0uY3BwCmluZGV4IDFmZjg2NTIuLmVjNmQxMzkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0
X21lbnVfaXRlbS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdr
X2NvbnRleHRfbWVudV9pdGVtLmNwcApAQCAtMjYsMTkgKzI2LDE5IEBACiAjaW5jbHVkZSAiY29u
ZmlnLmgiCiAjaW5jbHVkZSAiZXdrX2NvbnRleHRfbWVudV9pdGVtLmgiCiAKKyNpbmNsdWRlICJX
S0NvbnRleHRNZW51SXRlbVR5cGVzLmgiCiAjaW5jbHVkZSAiZXdrX2NvbnRleHRfbWVudV9pdGVt
X3ByaXZhdGUuaCIKICNpbmNsdWRlICJld2tfcHJpdmF0ZS5oIgogI2luY2x1ZGUgPHd0Zi90ZXh0
L0NTdHJpbmcuaD4KIAotdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiB1c2luZyBuYW1lc3BhY2Ug
V2ViS2l0OwogCi1Fd2tDb250ZXh0TWVudUl0ZW06OkV3a0NvbnRleHRNZW51SXRlbShjb25zdCBX
ZWJDb250ZXh0TWVudUl0ZW1EYXRhJiBpdGVtKQotICAgIDogbV90eXBlKHN0YXRpY19jYXN0PEV3
a19Db250ZXh0X01lbnVfSXRlbV9UeXBlPihpdGVtLnR5cGUoKSkpCi0gICAgLCBtX2FjdGlvbihz
dGF0aWNfY2FzdDxFd2tfQ29udGV4dF9NZW51X0l0ZW1fQWN0aW9uPihpdGVtLmFjdGlvbigpKSkK
LSAgICAsIG1fdGl0bGUoaXRlbS50aXRsZSgpLnV0ZjgoKS5kYXRhKCkpCi0gICAgLCBtX2lzQ2hl
Y2tlZChpdGVtLmNoZWNrZWQoKSkKLSAgICAsIG1faXNFbmFibGVkKGl0ZW0uZW5hYmxlZCgpKQor
RXdrQ29udGV4dE1lbnVJdGVtOjpFd2tDb250ZXh0TWVudUl0ZW0oV0tDb250ZXh0TWVudUl0ZW1S
ZWYgaXRlbSkKKyAgICA6IG1fdHlwZShzdGF0aWNfY2FzdDxFd2tfQ29udGV4dF9NZW51X0l0ZW1f
VHlwZT4oV0tDb250ZXh0TWVudUl0ZW1HZXRUeXBlKGl0ZW0pKSkKKyAgICAsIG1fYWN0aW9uKHN0
YXRpY19jYXN0PEV3a19Db250ZXh0X01lbnVfSXRlbV9BY3Rpb24+KFdLQ29udGV4dE1lbnVJdGVt
R2V0VGFnKGl0ZW0pKSkKKyAgICAsIG1fdGl0bGUoV0tFaW5hU2hhcmVkU3RyaW5nKFdLQ29udGV4
dE1lbnVJdGVtQ29weVRpdGxlKGl0ZW0pKSkKKyAgICAsIG1faXNDaGVja2VkKFdLQ29udGV4dE1l
bnVJdGVtR2V0Q2hlY2tlZChpdGVtKSkKKyAgICAsIG1faXNFbmFibGVkKFdLQ29udGV4dE1lbnVJ
dGVtR2V0RW5hYmxlZChpdGVtKSkKICAgICAsIG1fcGFyZW50TWVudSgwKQogICAgICwgbV9zdWJN
ZW51KDApCiB7CkBAIC0xNDUsODAgKzE0NSw4OCBAQCBFaW5hX0Jvb2wgZXdrX2NvbnRleHRfbWVu
dV9pdGVtX2VuYWJsZWRfc2V0KEV3a19Db250ZXh0X01lbnVfSXRlbSogaXRlbSwgRWluYV9Cbwog
ICAgIHJldHVybiB0cnVlOwogfQogCi1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19D
T05URVhUX01FTlVfSVRFTV9UQUdfTk9fQUNUSU9OLCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1U
YWdOb0FjdGlvbik7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01F
TlVfSVRFTV9UQUdfT1BFTl9MSU5LX0lOX05FV19XSU5ET1csIFdlYkNvcmU6OkNvbnRleHRNZW51
SXRlbVRhZ09wZW5MaW5rSW5OZXdXaW5kb3cpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5V
TShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0RPV05MT0FEX0xJTktfVE9fRElTSywgV2ViQ29y
ZTo6Q29udGV4dE1lbnVJdGVtVGFnRG93bmxvYWRMaW5rVG9EaXNrKTsKLUNPTVBJTEVfQVNTRVJU
X01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19DT1BZX0xJTktfVE9fQ0xJ
UEJPQVJELCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdDb3B5TGlua1RvQ2xpcGJvYXJkKTsK
LUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19P
UEVOX0lNQUdFX0lOX05FV19XSU5ET1csIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ09wZW5J
bWFnZUluTmV3V2luZG93KTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRF
WFRfTUVOVV9JVEVNX1RBR19ET1dOTE9BRF9JTUFHRV9UT19ESVNLLCBXZWJDb3JlOjpDb250ZXh0
TWVudUl0ZW1UYWdEb3dubG9hZEltYWdlVG9EaXNrKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5H
X0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19DT1BZX0lNQUdFX1RPX0NMSVBCT0FSRCwg
V2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnQ29weUltYWdlVG9DbGlwYm9hcmQpOwotQ09NUElM
RV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0NPUFlfSU1B
R0VfVVJMX1RPX0NMSVBCT0FSRCwgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnQ29weUltYWdl
VXJsVG9DbGlwYm9hcmQpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVY
VF9NRU5VX0lURU1fVEFHX09QRU5fRlJBTUVfSU5fTkVXX1dJTkRPVywgV2ViQ29yZTo6Q29udGV4
dE1lbnVJdGVtVGFnT3BlbkZyYW1lSW5OZXdXaW5kb3cpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJ
TkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0NPUFksIFdlYkNvcmU6OkNvbnRleHRN
ZW51SXRlbVRhZ0NvcHkpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVY
VF9NRU5VX0lURU1fVEFHX0dPX0JBQ0ssIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ0dvQmFj
ayk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9U
QUdfR09fRk9SV0FSRCwgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnR29Gb3J3YXJkKTsKLUNP
TVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19TVE9Q
LCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdTdG9wKTsKLUNPTVBJTEVfQVNTRVJUX01BVENI
SU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19SRUxPQUQsIFdlYkNvcmU6OkNvbnRl
eHRNZW51SXRlbVRhZ1JlbG9hZCk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19D
T05URVhUX01FTlVfSVRFTV9UQUdfQ1VULCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdDdXQp
OwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFH
X1BBU1RFLCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdQYXN0ZSk7Ci1DT01QSUxFX0FTU0VS
VF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfU0VMRUNUX0FMTCwgV2Vi
Q29yZTo6Q29udGV4dE1lbnVJdGVtVGFnU2VsZWN0QWxsKTsKLUNPTVBJTEVfQVNTRVJUX01BVENI
SU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19TUEVMTElOR19HVUVTUywgV2ViQ29y
ZTo6Q29udGV4dE1lbnVJdGVtVGFnU3BlbGxpbmdHdWVzcyk7Ci1DT01QSUxFX0FTU0VSVF9NQVRD
SElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfTk9fR1VFU1NFU19GT1VORCwgV2Vi
Q29yZTo6Q29udGV4dE1lbnVJdGVtVGFnTm9HdWVzc2VzRm91bmQpOwotQ09NUElMRV9BU1NFUlRf
TUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0lHTk9SRV9TUEVMTElORywg
V2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnSWdub3JlU3BlbGxpbmcpOwotQ09NUElMRV9BU1NF
UlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0xFQVJOX1NQRUxMSU5H
LCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdMZWFyblNwZWxsaW5nKTsKLUNPTVBJTEVfQVNT
RVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19PVEhFUiwgV2ViQ29y
ZTo6Q29udGV4dE1lbnVJdGVtVGFnT3RoZXIpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5V
TShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1NFQVJDSF9JTl9TUE9UTElHSFQsIFdlYkNvcmU6
OkNvbnRleHRNZW51SXRlbVRhZ1NlYXJjaEluU3BvdGxpZ2h0KTsKLUNPTVBJTEVfQVNTRVJUX01B
VENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19TRUFSQ0hfV0VCLCBXZWJDb3Jl
OjpDb250ZXh0TWVudUl0ZW1UYWdTZWFyY2hXZWIpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdf
RU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0xPT0tfVVBfSU5fRElDVElPTkFSWSwgV2Vi
Q29yZTo6Q29udGV4dE1lbnVJdGVtVGFnTG9va1VwSW5EaWN0aW9uYXJ5KTsKLUNPTVBJTEVfQVNT
RVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19PUEVOX1dJVEhfREVG
QVVMVF9BUFBMSUNBVElPTiwgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnT3BlbldpdGhEZWZh
dWx0QXBwbGljYXRpb24pOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVY
VF9NRU5VX0lURU1fUERGQUNUVUFMX1NJWkUsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVBERkFj
dHVhbFNpemUpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5V
X0lURU1fUERGWk9PTV9JTiwgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtUERGWm9vbUluKTsKLUNP
TVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1BERlpPT01f
T1VULCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1QREZab29tT3V0KTsKLUNPTVBJTEVfQVNTRVJU
X01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1BERkFVVE9fU0laRSwgV2ViQ29y
ZTo6Q29udGV4dE1lbnVJdGVtUERGQXV0b1NpemUpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdf
RU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fUERGU0lOR0xFX1BBR0UsIFdlYkNvcmU6OkNvbnRl
eHRNZW51SXRlbVBERlNpbmdsZVBhZ2UpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShF
V0tfQ09OVEVYVF9NRU5VX0lURU1fUERGRkFDSU5HX1BBR0VTLCBXZWJDb3JlOjpDb250ZXh0TWVu
dUl0ZW1QREZGYWNpbmdQYWdlcyk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19D
T05URVhUX01FTlVfSVRFTV9QREZDT05USU5VT1VTLCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1Q
REZDb250aW51b3VzKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRf
TUVOVV9JVEVNX1BERk5FWFRfUEFHRSwgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtUERGTmV4dFBh
Z2UpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1f
UERGUFJFVklPVVNfUEFHRSwgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtUERGUHJldmlvdXNQYWdl
KTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RB
R19PUEVOX0xJTkssIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ09wZW5MaW5rKTsKLUNPTVBJ
TEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19JR05PUkVf
R1JBTU1BUiwgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnSWdub3JlR3JhbW1hcik7Ci1DT01Q
SUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfU1BFTExJ
TkdfTUVOVSwgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnU3BlbGxpbmdNZW51KTsKLUNPTVBJ
TEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19TSE9XX1NQ
RUxMSU5HX1BBTkVMLCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdTaG93U3BlbGxpbmdQYW5l
bCk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9U
QUdfQ0hFQ0tfU1BFTExJTkcsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ0NoZWNrU3BlbGxp
bmcpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1f
VEFHX0NIRUNLX1NQRUxMSU5HX1dISUxFX1RZUElORywgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVt
VGFnQ2hlY2tTcGVsbGluZ1doaWxlVHlwaW5nKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VO
VU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19DSEVDS19HUkFNTUFSX1dJVEhfU1BFTExJTkcs
IFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ0NoZWNrR3JhbW1hcldpdGhTcGVsbGluZyk7Ci1D
T01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfRk9O
VF9NRU5VLCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdGb250TWVudSk7Ci1DT01QSUxFX0FT
U0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfU0hPV19GT05UUywg
V2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnU2hvd0ZvbnRzKTsKLUNPTVBJTEVfQVNTRVJUX01B
VENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19CT0xELCBXZWJDb3JlOjpDb250
ZXh0TWVudUl0ZW1UYWdCb2xkKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NP
TlRFWFRfTUVOVV9JVEVNX1RBR19JVEFMSUMsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ0l0
YWxpYyk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRF
TV9UQUdfVU5ERVJMSU5FLCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdVbmRlcmxpbmUpOwot
Q09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX09V
VExJTkUsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ091dGxpbmUpOwotQ09NUElMRV9BU1NF
UlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1NUWUxFUywgV2ViQ29y
ZTo6Q29udGV4dE1lbnVJdGVtVGFnU3R5bGVzKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VO
VU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19TSE9XX0NPTE9SUywgV2ViQ29yZTo6Q29udGV4
dE1lbnVJdGVtVGFnU2hvd0NvbG9ycyk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVX
S19DT05URVhUX01FTlVfSVRFTV9UQUdfU1BFRUNIX01FTlUsIFdlYkNvcmU6OkNvbnRleHRNZW51
SXRlbVRhZ1NwZWVjaE1lbnUpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09O
VEVYVF9NRU5VX0lURU1fVEFHX1NUQVJUX1NQRUFLSU5HLCBXZWJDb3JlOjpDb250ZXh0TWVudUl0
ZW1UYWdTdGFydFNwZWFraW5nKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NP
TlRFWFRfTUVOVV9JVEVNX1RBR19TVE9QX1NQRUFLSU5HLCBXZWJDb3JlOjpDb250ZXh0TWVudUl0
ZW1UYWdTdG9wU3BlYWtpbmcpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09O
VEVYVF9NRU5VX0lURU1fVEFHX1dSSVRJTkdfRElSRUNUSU9OX01FTlUsIFdlYkNvcmU6OkNvbnRl
eHRNZW51SXRlbVRhZ1dyaXRpbmdEaXJlY3Rpb25NZW51KTsKLUNPTVBJTEVfQVNTRVJUX01BVENI
SU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19ERUZBVUxUX0RJUkVDVElPTiwgV2Vi
Q29yZTo6Q29udGV4dE1lbnVJdGVtVGFnRGVmYXVsdERpcmVjdGlvbik7Ci1DT01QSUxFX0FTU0VS
VF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfTEVGVF9UT19SSUdIVCwg
V2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnTGVmdFRvUmlnaHQpOwotQ09NUElMRV9BU1NFUlRf
TUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1JJR0hUX1RPX0xFRlQsIFdl
YkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ1JpZ2h0VG9MZWZ0KTsKLUNPTVBJTEVfQVNTRVJUX01B
VENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19QREZTSU5HTEVfUEFHRV9TQ1JP
TExJTkcsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ1BERlNpbmdsZVBhZ2VTY3JvbGxpbmcp
OwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFH
X1BERkZBQ0lOR19QQUdFU19TQ1JPTExJTkcsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ1BE
RkZhY2luZ1BhZ2VzU2Nyb2xsaW5nKTsKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotQ09NUElMRV9B
U1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0lOU1BFQ1RfRUxF
TUVOVCwgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnSW5zcGVjdEVsZW1lbnQpOwotI2VuZGlm
Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdf
VEVYVF9ESVJFQ1RJT05fTUVOVSwgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnVGV4dERpcmVj
dGlvbk1lbnUpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5V
X0lURU1fVEFHX1RFWFRfRElSRUNUSU9OX0RFRkFVTFQsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRl
bVRhZ1RleHREaXJlY3Rpb25EZWZhdWx0KTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0o
RVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19URVhUX0RJUkVDVElPTl9MRUZUX1RPX1JJR0hULCBX
ZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdUZXh0RGlyZWN0aW9uTGVmdFRvUmlnaHQpOwotQ09N
UElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1RFWFRf
RElSRUNUSU9OX1JJR0hUX1RPX0xFRlQsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ1RleHRE
aXJlY3Rpb25SaWdodFRvTGVmdCk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19D
T05URVhUX01FTlVfSVRFTV9PUEVOX01FRElBX0lOX05FV19XSU5ET1csIFdlYkNvcmU6OkNvbnRl
eHRNZW51SXRlbVRhZ09wZW5NZWRpYUluTmV3V2luZG93KTsKLUNPTVBJTEVfQVNTRVJUX01BVENI
SU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19DT1BZX01FRElBX0xJTktfVE9fQ0xJ
UEJPQVJELCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdDb3B5TWVkaWFMaW5rVG9DbGlwYm9h
cmQpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1f
VEFHX1RPR0dMRV9NRURJQV9DT05UUk9MUywgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnVG9n
Z2xlTWVkaWFDb250cm9scyk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05U
RVhUX01FTlVfSVRFTV9UQUdfVE9HR0xFX01FRElBX0xPT1AsIFdlYkNvcmU6OkNvbnRleHRNZW51
SXRlbVRhZ1RvZ2dsZU1lZGlhTG9vcCk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVX
S19DT05URVhUX01FTlVfSVRFTV9UQUdfRU5URVJfVklERU9fRlVMTFNDUkVFTiwgV2ViQ29yZTo6
Q29udGV4dE1lbnVJdGVtVGFnRW50ZXJWaWRlb0Z1bGxzY3JlZW4pOwotQ09NUElMRV9BU1NFUlRf
TUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX01FRElBX1BMQVlfUEFVU0Us
IFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ01lZGlhUGxheVBhdXNlKTsKLUNPTVBJTEVfQVNT
RVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19NRURJQV9NVVRFLCBX
ZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdNZWRpYU11dGUpOwotQ09NUElMRV9BU1NFUlRfTUFU
Q0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fQkFTRV9DVVNUT01fVEFHLCBXZWJDb3Jl
OjpDb250ZXh0TWVudUl0ZW1CYXNlQ3VzdG9tVGFnKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5H
X0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX0NVU1RPTV9UQUdfTk9fQUNUSU9OLCBXZWJDb3Jl
OjpDb250ZXh0TWVudUl0ZW1DdXN0b21UYWdOb0FjdGlvbik7Ci1DT01QSUxFX0FTU0VSVF9NQVRD
SElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9MQVNUX0NVU1RPTV9UQUcsIFdlYkNvcmU6
OkNvbnRleHRNZW51SXRlbUxhc3RDdXN0b21UYWcpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdf
RU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fQkFTRV9BUFBMSUNBVElPTl9UQUcsIFdlYkNvcmU6
OkNvbnRleHRNZW51SXRlbUJhc2VBcHBsaWNhdGlvblRhZyk7CitDT01QSUxFX0FTU0VSVF9NQVRD
SElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfTk9fQUNUSU9OLCBrV0tDb250ZXh0
TWVudUl0ZW1UYWdOb0FjdGlvbik7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19D
T05URVhUX01FTlVfSVRFTV9UQUdfT1BFTl9MSU5LX0lOX05FV19XSU5ET1csIGtXS0NvbnRleHRN
ZW51SXRlbVRhZ09wZW5MaW5rSW5OZXdXaW5kb3cpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdf
RU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0RPV05MT0FEX0xJTktfVE9fRElTSywga1dL
Q29udGV4dE1lbnVJdGVtVGFnRG93bmxvYWRMaW5rVG9EaXNrKTsKK0NPTVBJTEVfQVNTRVJUX01B
VENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19DT1BZX0xJTktfVE9fQ0xJUEJP
QVJELCBrV0tDb250ZXh0TWVudUl0ZW1UYWdDb3B5TGlua1RvQ2xpcGJvYXJkKTsKK0NPTVBJTEVf
QVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19PUEVOX0lNQUdF
X0lOX05FV19XSU5ET1csIGtXS0NvbnRleHRNZW51SXRlbVRhZ09wZW5JbWFnZUluTmV3V2luZG93
KTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RB
R19ET1dOTE9BRF9JTUFHRV9UT19ESVNLLCBrV0tDb250ZXh0TWVudUl0ZW1UYWdEb3dubG9hZElt
YWdlVG9EaXNrKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVO
VV9JVEVNX1RBR19DT1BZX0lNQUdFX1RPX0NMSVBCT0FSRCwga1dLQ29udGV4dE1lbnVJdGVtVGFn
Q29weUltYWdlVG9DbGlwYm9hcmQpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tf
Q09OVEVYVF9NRU5VX0lURU1fVEFHX0NPUFlfSU1BR0VfVVJMX1RPX0NMSVBCT0FSRCwga1dLQ29u
dGV4dE1lbnVJdGVtVGFnQ29weUltYWdlVXJsVG9DbGlwYm9hcmQpOworQ09NUElMRV9BU1NFUlRf
TUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX09QRU5fRlJBTUVfSU5fTkVX
X1dJTkRPVywga1dLQ29udGV4dE1lbnVJdGVtVGFnT3BlbkZyYW1lSW5OZXdXaW5kb3cpOworQ09N
UElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0NPUFks
IGtXS0NvbnRleHRNZW51SXRlbVRhZ0NvcHkpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5V
TShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0dPX0JBQ0ssIGtXS0NvbnRleHRNZW51SXRlbVRh
Z0dvQmFjayk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVf
SVRFTV9UQUdfR09fRk9SV0FSRCwga1dLQ29udGV4dE1lbnVJdGVtVGFnR29Gb3J3YXJkKTsKK0NP
TVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19TVE9Q
LCBrV0tDb250ZXh0TWVudUl0ZW1UYWdTdG9wKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VO
VU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19SRUxPQUQsIGtXS0NvbnRleHRNZW51SXRlbVRh
Z1JlbG9hZCk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVf
SVRFTV9UQUdfQ1VULCBrV0tDb250ZXh0TWVudUl0ZW1UYWdDdXQpOworQ09NUElMRV9BU1NFUlRf
TUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1BBU1RFLCBrV0tDb250ZXh0
TWVudUl0ZW1UYWdQYXN0ZSk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05U
RVhUX01FTlVfSVRFTV9UQUdfU0VMRUNUX0FMTCwga1dLQ29udGV4dE1lbnVJdGVtVGFnU2VsZWN0
QWxsKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVN
X1RBR19TUEVMTElOR19HVUVTUywga1dLQ29udGV4dE1lbnVJdGVtVGFnU3BlbGxpbmdHdWVzcyk7
CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdf
Tk9fR1VFU1NFU19GT1VORCwga1dLQ29udGV4dE1lbnVJdGVtVGFnTm9HdWVzc2VzRm91bmQpOwor
Q09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0lH
Tk9SRV9TUEVMTElORywga1dLQ29udGV4dE1lbnVJdGVtVGFnSWdub3JlU3BlbGxpbmcpOworQ09N
UElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0xFQVJO
X1NQRUxMSU5HLCBrV0tDb250ZXh0TWVudUl0ZW1UYWdMZWFyblNwZWxsaW5nKTsKK0NPTVBJTEVf
QVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19PVEhFUiwga1dL
Q29udGV4dE1lbnVJdGVtVGFnT3RoZXIpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShF
V0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1NFQVJDSF9JTl9TUE9UTElHSFQsIGtXS0NvbnRleHRN
ZW51SXRlbVRhZ1NlYXJjaEluU3BvdGxpZ2h0KTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VO
VU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19TRUFSQ0hfV0VCLCBrV0tDb250ZXh0TWVudUl0
ZW1UYWdTZWFyY2hXZWIpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVY
VF9NRU5VX0lURU1fVEFHX0xPT0tfVVBfSU5fRElDVElPTkFSWSwga1dLQ29udGV4dE1lbnVJdGVt
VGFnTG9va1VwSW5EaWN0aW9uYXJ5KTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdL
X0NPTlRFWFRfTUVOVV9JVEVNX1RBR19PUEVOX1dJVEhfREVGQVVMVF9BUFBMSUNBVElPTiwga1dL
Q29udGV4dE1lbnVJdGVtVGFnT3BlbldpdGhEZWZhdWx0QXBwbGljYXRpb24pOworQ09NUElMRV9B
U1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fUERGQUNUVUFMX1NJWkUs
IGtXS0NvbnRleHRNZW51SXRlbVRhZ1BERkFjdHVhbFNpemUpOworQ09NUElMRV9BU1NFUlRfTUFU
Q0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fUERGWk9PTV9JTiwga1dLQ29udGV4dE1l
bnVJdGVtVGFnUERGWm9vbUluKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NP
TlRFWFRfTUVOVV9JVEVNX1BERlpPT01fT1VULCBrV0tDb250ZXh0TWVudUl0ZW1UYWdQREZab29t
T3V0KTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVN
X1BERkFVVE9fU0laRSwga1dLQ29udGV4dE1lbnVJdGVtVGFnUERGQXV0b1NpemUpOworQ09NUElM
RV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fUERGU0lOR0xFX1BB
R0UsIGtXS0NvbnRleHRNZW51SXRlbVRhZ1BERlNpbmdsZVBhZ2UpOworQ09NUElMRV9BU1NFUlRf
TUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fUERGRkFDSU5HX1BBR0VTLCBrV0tD
b250ZXh0TWVudUl0ZW1UYWdQREZGYWNpbmdQYWdlcyk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElO
R19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9QREZDT05USU5VT1VTLCBrV0tDb250ZXh0TWVu
dUl0ZW1UYWdQREZDb250aW51b3VzKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdL
X0NPTlRFWFRfTUVOVV9JVEVNX1BERk5FWFRfUEFHRSwga1dLQ29udGV4dE1lbnVJdGVtVGFnUERG
TmV4dFBhZ2UpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5V
X0lURU1fUERGUFJFVklPVVNfUEFHRSwga1dLQ29udGV4dE1lbnVJdGVtVGFnUERGUHJldmlvdXNQ
YWdlKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVN
X1RBR19PUEVOX0xJTkssIGtXS0NvbnRleHRNZW51SXRlbVRhZ09wZW5MaW5rKTsKK0NPTVBJTEVf
QVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19JR05PUkVfR1JB
TU1BUiwga1dLQ29udGV4dE1lbnVJdGVtVGFnSWdub3JlR3JhbW1hcik7CitDT01QSUxFX0FTU0VS
VF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfU1BFTExJTkdfTUVOVSwg
a1dLQ29udGV4dE1lbnVJdGVtVGFnU3BlbGxpbmdNZW51KTsKK0NPTVBJTEVfQVNTRVJUX01BVENI
SU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19TSE9XX1NQRUxMSU5HX1BBTkVMLCBr
V0tDb250ZXh0TWVudUl0ZW1UYWdTaG93U3BlbGxpbmdQYW5lbCk7CitDT01QSUxFX0FTU0VSVF9N
QVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfQ0hFQ0tfU1BFTExJTkcsIGtX
S0NvbnRleHRNZW51SXRlbVRhZ0NoZWNrU3BlbGxpbmcpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJ
TkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0NIRUNLX1NQRUxMSU5HX1dISUxFX1RZ
UElORywga1dLQ29udGV4dE1lbnVJdGVtVGFnQ2hlY2tTcGVsbGluZ1doaWxlVHlwaW5nKTsKK0NP
TVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19DSEVD
S19HUkFNTUFSX1dJVEhfU1BFTExJTkcsIGtXS0NvbnRleHRNZW51SXRlbVRhZ0NoZWNrR3JhbW1h
cldpdGhTcGVsbGluZyk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhU
X01FTlVfSVRFTV9UQUdfRk9OVF9NRU5VLCBrV0tDb250ZXh0TWVudUl0ZW1UYWdGb250TWVudSk7
CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdf
U0hPV19GT05UUywga1dLQ29udGV4dE1lbnVJdGVtVGFnU2hvd0ZvbnRzKTsKK0NPTVBJTEVfQVNT
RVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19CT0xELCBrV0tDb250
ZXh0TWVudUl0ZW1UYWdCb2xkKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NP
TlRFWFRfTUVOVV9JVEVNX1RBR19JVEFMSUMsIGtXS0NvbnRleHRNZW51SXRlbVRhZ0l0YWxpYyk7
CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdf
VU5ERVJMSU5FLCBrV0tDb250ZXh0TWVudUl0ZW1UYWdVbmRlcmxpbmUpOworQ09NUElMRV9BU1NF
UlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX09VVExJTkUsIGtXS0Nv
bnRleHRNZW51SXRlbVRhZ091dGxpbmUpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShF
V0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1NUWUxFUywga1dLQ29udGV4dE1lbnVJdGVtVGFnU3R5
bGVzKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVN
X1RBR19TSE9XX0NPTE9SUywga1dLQ29udGV4dE1lbnVJdGVtVGFnU2hvd0NvbG9ycyk7CitDT01Q
SUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfU1BFRUNI
X01FTlUsIGtXS0NvbnRleHRNZW51SXRlbVRhZ1NwZWVjaE1lbnUpOworQ09NUElMRV9BU1NFUlRf
TUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1NUQVJUX1NQRUFLSU5HLCBr
V0tDb250ZXh0TWVudUl0ZW1UYWdTdGFydFNwZWFraW5nKTsKK0NPTVBJTEVfQVNTRVJUX01BVENI
SU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19TVE9QX1NQRUFLSU5HLCBrV0tDb250
ZXh0TWVudUl0ZW1UYWdTdG9wU3BlYWtpbmcpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5V
TShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1dSSVRJTkdfRElSRUNUSU9OX01FTlUsIGtXS0Nv
bnRleHRNZW51SXRlbVRhZ1dyaXRpbmdEaXJlY3Rpb25NZW51KTsKK0NPTVBJTEVfQVNTRVJUX01B
VENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19ERUZBVUxUX0RJUkVDVElPTiwg
a1dLQ29udGV4dE1lbnVJdGVtVGFnRGVmYXVsdERpcmVjdGlvbik7CitDT01QSUxFX0FTU0VSVF9N
QVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfTEVGVF9UT19SSUdIVCwga1dL
Q29udGV4dE1lbnVJdGVtVGFnTGVmdFRvUmlnaHQpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdf
RU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1JJR0hUX1RPX0xFRlQsIGtXS0NvbnRleHRN
ZW51SXRlbVRhZ1JpZ2h0VG9MZWZ0KTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdL
X0NPTlRFWFRfTUVOVV9JVEVNX1RBR19QREZTSU5HTEVfUEFHRV9TQ1JPTExJTkcsIGtXS0NvbnRl
eHRNZW51SXRlbVRhZ1BERlNpbmdsZVBhZ2VTY3JvbGxpbmcpOworQ09NUElMRV9BU1NFUlRfTUFU
Q0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1BERkZBQ0lOR19QQUdFU19TQ1JP
TExJTkcsIGtXS0NvbnRleHRNZW51SXRlbVRhZ1BERkZhY2luZ1BhZ2VzU2Nyb2xsaW5nKTsKK0NP
TVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19JTlNQ
RUNUX0VMRU1FTlQsIGtXS0NvbnRleHRNZW51SXRlbVRhZ0luc3BlY3RFbGVtZW50KTsKK0NPTVBJ
TEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19URVhUX0RJ
UkVDVElPTl9NRU5VLCBrV0tDb250ZXh0TWVudUl0ZW1UYWdUZXh0RGlyZWN0aW9uTWVudSk7CitD
T01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfVEVY
VF9ESVJFQ1RJT05fREVGQVVMVCwga1dLQ29udGV4dE1lbnVJdGVtVGFnVGV4dERpcmVjdGlvbkRl
ZmF1bHQpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lU
RU1fVEFHX1RFWFRfRElSRUNUSU9OX0xFRlRfVE9fUklHSFQsIGtXS0NvbnRleHRNZW51SXRlbVRh
Z1RleHREaXJlY3Rpb25MZWZ0VG9SaWdodCk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVN
KEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfVEVYVF9ESVJFQ1RJT05fUklHSFRfVE9fTEVGVCwg
a1dLQ29udGV4dE1lbnVJdGVtVGFnVGV4dERpcmVjdGlvblJpZ2h0VG9MZWZ0KTsKK0NPTVBJTEVf
QVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19DT1JSRUNUX1NQ
RUxMSU5HX0FVVE9NQVRJQ0FMTFksIGtXS0NvbnRleHRNZW51SXRlbVRhZ0NvcnJlY3RTcGVsbGlu
Z0F1dG9tYXRpY2FsbHkpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVY
VF9NRU5VX0lURU1fVEFHX1NVQlNUSVRVVElPTlNfTUVOVSwga1dLQ29udGV4dE1lbnVJdGVtVGFn
U3Vic3RpdHV0aW9uc01lbnUpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09O
VEVYVF9NRU5VX0lURU1fVEFHX1NIT1dfU1VCU1RJVFVUSU9OUywga1dLQ29udGV4dE1lbnVJdGVt
VGFnU2hvd1N1YnN0aXR1dGlvbnMpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tf
Q09OVEVYVF9NRU5VX0lURU1fVEFHX1NNQVJUX0NPUFlfUEFTVEUsIGtXS0NvbnRleHRNZW51SXRl
bVRhZ1NtYXJ0Q29weVBhc3RlKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NP
TlRFWFRfTUVOVV9JVEVNX1RBR19TTUFSVF9RVU9URVMsIGtXS0NvbnRleHRNZW51SXRlbVRhZ1Nt
YXJ0UXVvdGVzKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVO
VV9JVEVNX1RBR19TTUFSVF9EQVNIRVMsIGtXS0NvbnRleHRNZW51SXRlbVRhZ1NtYXJ0RGFzaGVz
KTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RB
R19TTUFSVF9MSU5LUywga1dLQ29udGV4dE1lbnVJdGVtVGFnU21hcnRMaW5rcyk7CitDT01QSUxF
X0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfVEVYVF9SRVBM
QUNFTUVOVCwga1dLQ29udGV4dE1lbnVJdGVtVGFnVGV4dFJlcGxhY2VtZW50KTsKK0NPTVBJTEVf
QVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19UUkFOU0ZPUk1B
VElPTlNfTUVOVSwga1dLQ29udGV4dE1lbnVJdGVtVGFnVHJhbnNmb3JtYXRpb25zTWVudSk7CitD
T01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfTUFL
RV9VUFBFUl9DQVNFLCBrV0tDb250ZXh0TWVudUl0ZW1UYWdNYWtlVXBwZXJDYXNlKTsKK0NPTVBJ
TEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19NQUtFX0xP
V0VSX0NBU0UsIGtXS0NvbnRleHRNZW51SXRlbVRhZ01ha2VMb3dlckNhc2UpOworQ09NUElMRV9B
U1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0NBUElUQUxJWkUs
IGtXS0NvbnRleHRNZW51SXRlbVRhZ0NhcGl0YWxpemUpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJ
TkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0NIQU5HRV9CQUNLLCBrV0tDb250ZXh0
TWVudUl0ZW1UYWdDaGFuZ2VCYWNrKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdL
X0NPTlRFWFRfTUVOVV9JVEVNX09QRU5fTUVESUFfSU5fTkVXX1dJTkRPVywga1dLQ29udGV4dE1l
bnVJdGVtVGFnT3Blbk1lZGlhSW5OZXdXaW5kb3cpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdf
RU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0NPUFlfTUVESUFfTElOS19UT19DTElQQk9B
UkQsIGtXS0NvbnRleHRNZW51SXRlbVRhZ0NvcHlNZWRpYUxpbmtUb0NsaXBib2FyZCk7CitDT01Q
SUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfVE9HR0xF
X01FRElBX0NPTlRST0xTLCBrV0tDb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVNZWRpYUNvbnRyb2xz
KTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RB
R19UT0dHTEVfTUVESUFfTE9PUCwga1dLQ29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlTWVkaWFMb29w
KTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RB
R19FTlRFUl9WSURFT19GVUxMU0NSRUVOLCBrV0tDb250ZXh0TWVudUl0ZW1UYWdFbnRlclZpZGVv
RnVsbHNjcmVlbik7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01F
TlVfSVRFTV9UQUdfTUVESUFfUExBWV9QQVVTRSwga1dLQ29udGV4dE1lbnVJdGVtVGFnTWVkaWFQ
bGF5UGF1c2UpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5V
X0lURU1fVEFHX01FRElBX01VVEUsIGtXS0NvbnRleHRNZW51SXRlbVRhZ01lZGlhTXV0ZSk7CitD
T01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9CQVNFX0FQ
UExJQ0FUSU9OX1RBRywga1dLQ29udGV4dE1lbnVJdGVtQmFzZUFwcGxpY2F0aW9uVGFnKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0X21l
bnVfaXRlbS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHRf
bWVudV9pdGVtLmgKaW5kZXggOTYxMmEyMS4uYTI4ZjY4YSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHRfbWVudV9pdGVtLmgKKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHRfbWVudV9pdGVtLmgKQEAg
LTYzLDcgKzYzLDYgQEAgdHlwZWRlZiBlbnVtIHsKICAgICBFV0tfQ09OVEVYVF9NRU5VX0lURU1f
VEFHX09QRU5fSU1BR0VfSU5fTkVXX1dJTkRPVywKICAgICBFV0tfQ09OVEVYVF9NRU5VX0lURU1f
VEFHX0RPV05MT0FEX0lNQUdFX1RPX0RJU0ssCiAgICAgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RB
R19DT1BZX0lNQUdFX1RPX0NMSVBCT0FSRCwKLSAgICBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFH
X0NPUFlfSU1BR0VfVVJMX1RPX0NMSVBCT0FSRCwKICAgICBFV0tfQ09OVEVYVF9NRU5VX0lURU1f
VEFHX09QRU5fRlJBTUVfSU5fTkVXX1dJTkRPVywKICAgICBFV0tfQ09OVEVYVF9NRU5VX0lURU1f
VEFHX0NPUFksCiAgICAgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19HT19CQUNLLApAQCAtNzIs
NyArNzEsNiBAQCB0eXBlZGVmIGVudW0gewogICAgIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdf
UkVMT0FELAogICAgIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfQ1VULAogICAgIEVXS19DT05U
RVhUX01FTlVfSVRFTV9UQUdfUEFTVEUsCi0gICAgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19T
RUxFQ1RfQUxMLAogICAgIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfU1BFTExJTkdfR1VFU1Ms
CiAgICAgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19OT19HVUVTU0VTX0ZPVU5ELAogICAgIEVX
S19DT05URVhUX01FTlVfSVRFTV9UQUdfSUdOT1JFX1NQRUxMSU5HLApAQCAtOTEsNyArODksNyBA
QCB0eXBlZGVmIGVudW0gewogICAgIEVXS19DT05URVhUX01FTlVfSVRFTV9QREZDT05USU5VT1VT
LAogICAgIEVXS19DT05URVhUX01FTlVfSVRFTV9QREZORVhUX1BBR0UsCiAgICAgRVdLX0NPTlRF
WFRfTUVOVV9JVEVNX1BERlBSRVZJT1VTX1BBR0UsCi0gICAgRVdLX0NPTlRFWFRfTUVOVV9JVEVN
X1RBR19PUEVOX0xJTksgPSAyMDAwLAorICAgIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfT1BF
Tl9MSU5LLAogICAgIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfSUdOT1JFX0dSQU1NQVIsCiAg
ICAgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19TUEVMTElOR19NRU5VLCAvKio8IHNwZWxsaW5n
IG9yIHNwZWxsaW5nL2dyYW1tYXIgc3ViLW1lbnUgKi8KICAgICBFV0tfQ09OVEVYVF9NRU5VX0lU
RU1fVEFHX1NIT1dfU1BFTExJTkdfUEFORUwsCkBAIC0xMjAsNiArMTE4LDE5IEBAIHR5cGVkZWYg
ZW51bSB7CiAgICAgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19URVhUX0RJUkVDVElPTl9ERUZB
VUxULAogICAgIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfVEVYVF9ESVJFQ1RJT05fTEVGVF9U
T19SSUdIVCwKICAgICBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1RFWFRfRElSRUNUSU9OX1JJ
R0hUX1RPX0xFRlQsCisgICAgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19DT1JSRUNUX1NQRUxM
SU5HX0FVVE9NQVRJQ0FMTFksCisgICAgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19TVUJTVElU
VVRJT05TX01FTlUsCisgICAgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19TSE9XX1NVQlNUSVRV
VElPTlMsCisgICAgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19TTUFSVF9DT1BZX1BBU1RFLAor
ICAgIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfU01BUlRfUVVPVEVTLAorICAgIEVXS19DT05U
RVhUX01FTlVfSVRFTV9UQUdfU01BUlRfREFTSEVTLAorICAgIEVXS19DT05URVhUX01FTlVfSVRF
TV9UQUdfU01BUlRfTElOS1MsCisgICAgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19URVhUX1JF
UExBQ0VNRU5ULAorICAgIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfVFJBTlNGT1JNQVRJT05T
X01FTlUsCisgICAgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19NQUtFX1VQUEVSX0NBU0UsCisg
ICAgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19NQUtFX0xPV0VSX0NBU0UsCisgICAgRVdLX0NP
TlRFWFRfTUVOVV9JVEVNX1RBR19DQVBJVEFMSVpFLAorICAgIEVXS19DT05URVhUX01FTlVfSVRF
TV9UQUdfQ0hBTkdFX0JBQ0ssCiAgICAgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX09QRU5fTUVESUFf
SU5fTkVXX1dJTkRPVywKICAgICBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0NPUFlfTUVESUFf
TElOS19UT19DTElQQk9BUkQsCiAgICAgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19UT0dHTEVf
TUVESUFfQ09OVFJPTFMsCkBAIC0xMjcsOSArMTM4LDkgQEAgdHlwZWRlZiBlbnVtIHsKICAgICBF
V0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0VOVEVSX1ZJREVPX0ZVTExTQ1JFRU4sCiAgICAgRVdL
X0NPTlRFWFRfTUVOVV9JVEVNX1RBR19NRURJQV9QTEFZX1BBVVNFLAogICAgIEVXS19DT05URVhU
X01FTlVfSVRFTV9UQUdfTUVESUFfTVVURSwKLSAgICBFV0tfQ09OVEVYVF9NRU5VX0lURU1fQkFT
RV9DVVNUT01fVEFHID0gNTAwMCwKLSAgICBFV0tfQ09OVEVYVF9NRU5VX0lURU1fQ1VTVE9NX1RB
R19OT19BQ1RJT04gPSA1OTk4LAotICAgIEVXS19DT05URVhUX01FTlVfSVRFTV9MQVNUX0NVU1RP
TV9UQUcgPSA1OTk5LAorICAgIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfRElDVEFUSU9OX0FM
VEVSTkFUSVZFLAorICAgIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfQ09QWV9JTUFHRV9VUkxf
VE9fQ0xJUEJPQVJELAorICAgIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfU0VMRUNUX0FMTCwK
ICAgICBFV0tfQ09OVEVYVF9NRU5VX0lURU1fQkFTRV9BUFBMSUNBVElPTl9UQUcgPSAxMDAwMAog
fSBFd2tfQ29udGV4dF9NZW51X0l0ZW1fQWN0aW9uOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dF9tZW51X2l0ZW1fcHJpdmF0ZS5oIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHRfbWVudV9pdGVtX3By
aXZhdGUuaAppbmRleCA2MmYyNzkwLi45Zjc3ODNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dF9tZW51X2l0ZW1fcHJpdmF0ZS5oCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0X21lbnVfaXRlbV9w
cml2YXRlLmgKQEAgLTI2LDggKzI2LDggQEAKICNpZm5kZWYgZXdrX2NvbnRleHRfbWVudV9pdGVt
X3ByaXZhdGVfaAogI2RlZmluZSBld2tfY29udGV4dF9tZW51X2l0ZW1fcHJpdmF0ZV9oCiAKKyNp
bmNsdWRlICJXS0NvbnRleHRNZW51SXRlbS5oIgogI2luY2x1ZGUgIldLRWluYVNoYXJlZFN0cmlu
Zy5oIgotI2luY2x1ZGUgIldlYkNvbnRleHRNZW51SXRlbURhdGEuaCIKICNpbmNsdWRlICJld2tf
Y29udGV4dF9tZW51LmgiCiAjaW5jbHVkZSAiZXdrX2NvbnRleHRfbWVudV9pdGVtLmgiCiAjaW5j
bHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KQEAgLTM4LDcgKzM4LDcgQEAKICAqLwogY2xhc3MgRXdr
Q29udGV4dE1lbnVJdGVtIHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc093blB0cjxFd2tDb250
ZXh0TWVudUl0ZW0+IGNyZWF0ZShjb25zdCBXZWJLaXQ6OldlYkNvbnRleHRNZW51SXRlbURhdGEm
IGl0ZW0pCisgICAgc3RhdGljIFBhc3NPd25QdHI8RXdrQ29udGV4dE1lbnVJdGVtPiBjcmVhdGUo
V0tDb250ZXh0TWVudUl0ZW1SZWYgaXRlbSkKICAgICB7CiAgICAgICAgIHJldHVybiBhZG9wdFB0
cihuZXcgRXdrQ29udGV4dE1lbnVJdGVtKGl0ZW0pKTsKICAgICB9CkBAIC02NCw3ICs2NCw3IEBA
IHB1YmxpYzoKICAgICB2b2lkIHNldEVuYWJsZWQoYm9vbCBlbmFibGVkKSB7IG1faXNFbmFibGVk
ID0gZW5hYmxlZDsgfQogCiBwcml2YXRlOgotICAgIGV4cGxpY2l0IEV3a0NvbnRleHRNZW51SXRl
bShjb25zdCBXZWJLaXQ6OldlYkNvbnRleHRNZW51SXRlbURhdGEmKTsKKyAgICBleHBsaWNpdCBF
d2tDb250ZXh0TWVudUl0ZW0oV0tDb250ZXh0TWVudUl0ZW1SZWYpOwogICAgIEV3a0NvbnRleHRN
ZW51SXRlbShFd2tfQ29udGV4dF9NZW51X0l0ZW1fVHlwZSB0eXBlLCBFd2tfQ29udGV4dF9NZW51
X0l0ZW1fQWN0aW9uIGFjdGlvbiwgY29uc3QgY2hhciogdGl0bGUsIEVpbmFfQm9vbCBjaGVja2Vk
LCBFaW5hX0Jvb2wgZW5hYmxlZCwgRXdrQ29udGV4dE1lbnUqIHN1Yk1lbnUpOwogCiAgICAgRXdr
X0NvbnRleHRfTWVudV9JdGVtX1R5cGUgbV90eXBlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHRfbWVudV9wcml2YXRlLmggYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dF9tZW51X3ByaXZhdGUuaAppbmRl
eCBiOWUxMTNkLi5hNmNlYTJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL2VmbC9ld2tfY29udGV4dF9tZW51X3ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dF9tZW51X3ByaXZhdGUuaApAQCAtMjYsMjQgKzI2
LDE3IEBACiAjaWZuZGVmIGV3a19jb250ZXh0X21lbnVfcHJpdmF0ZV9oCiAjZGVmaW5lIGV3a19j
b250ZXh0X21lbnVfcHJpdmF0ZV9oCiAKLSNpbmNsdWRlICJXZWJDb250ZXh0TWVudUl0ZW1EYXRh
LmgiCiAjaW5jbHVkZSAiZXdrX2NvbnRleHRfbWVudV9pdGVtLmgiCiAjaW5jbHVkZSA8RWluYS5o
PgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+Ci0jaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgot
Ci1uYW1lc3BhY2UgV2ViS2l0IHsKLWNsYXNzIFdlYkNvbnRleHRNZW51SXRlbURhdGE7Ci1jbGFz
cyBXZWJDb250ZXh0TWVudVByb3h5RWZsOwotfQogCiBjbGFzcyBFd2tWaWV3OwogCiBjbGFzcyBF
d2tDb250ZXh0TWVudSB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NPd25QdHI8RXdrQ29udGV4
dE1lbnU+IGNyZWF0ZShFd2tWaWV3KiB2aWV3SW1wbCwgV2ViS2l0OjpXZWJDb250ZXh0TWVudVBy
b3h5RWZsKiBjb250ZXh0TWVudVByb3h5LCBjb25zdCBWZWN0b3I8V2ViS2l0OjpXZWJDb250ZXh0
TWVudUl0ZW1EYXRhPiYgaXRlbXMpCisgICAgc3RhdGljIFBhc3NPd25QdHI8RXdrQ29udGV4dE1l
bnU+IGNyZWF0ZShFd2tWaWV3KiB2aWV3SW1wbCwgV0tBcnJheVJlZiBpdGVtcykKICAgICB7Ci0g
ICAgICAgIHJldHVybiBhZG9wdFB0cihuZXcgRXdrQ29udGV4dE1lbnUodmlld0ltcGwsIGNvbnRl
eHRNZW51UHJveHksIGl0ZW1zKSk7CisgICAgICAgIHJldHVybiBhZG9wdFB0cihuZXcgRXdrQ29u
dGV4dE1lbnUodmlld0ltcGwsIGl0ZW1zKSk7CiAgICAgfQogCiAgICAgc3RhdGljIFBhc3NPd25Q
dHI8RXdrQ29udGV4dE1lbnU+IGNyZWF0ZSgpCkBAIC02MywxNSArNTYsMTQgQEAgcHVibGljOgog
ICAgIHZvaWQgcmVtb3ZlSXRlbShFd2tDb250ZXh0TWVudUl0ZW0qKTsKIAogICAgIGNvbnN0IEVp
bmFfTGlzdCogaXRlbXMoKSBjb25zdCB7IHJldHVybiBtX2NvbnRleHRNZW51SXRlbXM7IH0KLSAg
ICB2b2lkIGNvbnRleHRNZW51SXRlbVNlbGVjdGVkKGNvbnN0IFdlYktpdDo6V2ViQ29udGV4dE1l
bnVJdGVtRGF0YSYgaXRlbSk7CisgICAgdm9pZCBjb250ZXh0TWVudUl0ZW1TZWxlY3RlZChXS0Nv
bnRleHRNZW51SXRlbVJlZiBpdGVtKTsKIAogcHJpdmF0ZToKICAgICBFd2tDb250ZXh0TWVudSgp
OwogICAgIEV3a0NvbnRleHRNZW51KEVpbmFfTGlzdCogaXRlbXMpOwotICAgIEV3a0NvbnRleHRN
ZW51KEV3a1ZpZXcqIHZpZXdJbXBsLCBXZWJLaXQ6OldlYkNvbnRleHRNZW51UHJveHlFZmwqLCBj
b25zdCBWZWN0b3I8V2ViS2l0OjpXZWJDb250ZXh0TWVudUl0ZW1EYXRhPiYgaXRlbXMpOworICAg
IEV3a0NvbnRleHRNZW51KEV3a1ZpZXcqIHZpZXdJbXBsLCBXS0FycmF5UmVmIGl0ZW1zKTsKIAog
ICAgIEV3a1ZpZXcqIG1fdmlld0ltcGw7Ci0gICAgV2ViS2l0OjpXZWJDb250ZXh0TWVudVByb3h5
RWZsKiBtX2NvbnRleHRNZW51UHJveHk7CiAgICAgRWluYV9MaXN0KiBtX2NvbnRleHRNZW51SXRl
bXM7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9X
ZWJLaXRDb250ZXh0TWVudUNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2d0ay9XZWJLaXRDb250ZXh0TWVudUNsaWVudC5jcHAKaW5kZXggNDJmOTBiOC4uZjUwYzUyYSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0Q29udGV4
dE1lbnVDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dl
YktpdENvbnRleHRNZW51Q2xpZW50LmNwcApAQCAtNDAsNiArNDAsOCBAQCB2b2lkIGF0dGFjaENv
bnRleHRNZW51Q2xpZW50VG9WaWV3KFdlYktpdFdlYlZpZXcqIHdlYlZpZXcpCiAgICAgICAgIDAs
IC8vIGN1c3RvbUNvbnRleHRNZW51SXRlbVNlbGVjdGVkCiAgICAgICAgIDAsIC8vIGNvbnRleHRN
ZW51RGlzbWlzc2VkCiAgICAgICAgIGdldENvbnRleHRNZW51RnJvbVByb3Bvc2VkTWVudSwKKyAg
ICAgICAgMCwgLy8gc2hvd0NvbnRleHRNZW51CisgICAgICAgIDAsIC8vIGhpZGVDb250ZXh0TWVu
dQogICAgIH07CiAgICAgV0tQYWdlUmVmIHdrUGFnZSA9IHRvQVBJKHdlYmtpdFdlYlZpZXdCYXNl
R2V0UGFnZShXRUJLSVRfV0VCX1ZJRVdfQkFTRSh3ZWJWaWV3KSkpOwogICAgIFdLUGFnZVNldFBh
Z2VDb250ZXh0TWVudUNsaWVudCh3a1BhZ2UsICZ3a0NvbnRleHRNZW51Q2xpZW50KTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmggYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCmluZGV4IGQwOGNjOTEuLjgyYWM1NjIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgKKysrIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaApAQCAtMTgwLDcgKzE4MCw5IEBAIHB1Ymxp
YzoKICNlbmRpZgogCiAgICAgdmlydHVhbCBQYXNzUmVmUHRyPFdlYlBvcHVwTWVudVByb3h5PiBj
cmVhdGVQb3B1cE1lbnVQcm94eShXZWJQYWdlUHJveHkqKSA9IDA7CisjaWYgIVBMQVRGT1JNKEVG
TCkKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8V2ViQ29udGV4dE1lbnVQcm94eT4gY3JlYXRlQ29u
dGV4dE1lbnVQcm94eShXZWJQYWdlUHJveHkqKSA9IDA7CisjZW5kaWYKIAogI2lmIEVOQUJMRShJ
TlBVVF9UWVBFX0NPTE9SKQogICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxXZWJDb2xvckNob29zZXJQ
cm94eT4gY3JlYXRlQ29sb3JDaG9vc2VyUHJveHkoV2ViUGFnZVByb3h5KiwgY29uc3QgV2ViQ29y
ZTo6Q29sb3ImIGluaXRpYWxDb2xvciwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYpID0gMDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlQ29udGV4dE1lbnVDbGll
bnQuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VDb250ZXh0TWVudUNsaWVu
dC5jcHAKaW5kZXggOGExMWViYi4uZWIzNmVkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1dlYlBhZ2VDb250ZXh0TWVudUNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYlBhZ2VDb250ZXh0TWVudUNsaWVudC5jcHAKQEAgLTkzLDUgKzkzLDI5
IEBAIHZvaWQgV2ViUGFnZUNvbnRleHRNZW51Q2xpZW50Ojpjb250ZXh0TWVudURpc21pc3NlZChX
ZWJQYWdlUHJveHkqIHBhZ2UpCiAgICAgbV9jbGllbnQuY29udGV4dE1lbnVEaXNtaXNzZWQodG9B
UEkocGFnZSksIG1fY2xpZW50LmNsaWVudEluZm8pOwogfQogCit2b2lkIFdlYlBhZ2VDb250ZXh0
TWVudUNsaWVudDo6c2hvd0NvbnRleHRNZW51KFdlYlBhZ2VQcm94eSogcGFnZSwgY29uc3QgV2Vi
Q29yZTo6SW50UG9pbnQmIG1lbnVMb2NhdGlvbiwgY29uc3QgVmVjdG9yPFdlYkNvbnRleHRNZW51
SXRlbURhdGE+JiBtZW51SXRlbXNWZWN0b3IpCit7CisgICAgaWYgKCFtX2NsaWVudC5zaG93Q29u
dGV4dE1lbnUpCisgICAgICAgIHJldHVybjsKKworICAgIHVuc2lnbmVkIHNpemUgPSBtZW51SXRl
bXNWZWN0b3Iuc2l6ZSgpOworCisgICAgVmVjdG9yPFJlZlB0cjxBUElPYmplY3Q+ID4gbWVudUl0
ZW1zOworICAgIG1lbnVJdGVtcy5yZXNlcnZlQ2FwYWNpdHkoc2l6ZSk7CisKKyAgICBmb3IgKHVu
c2lnbmVkIGkgPSAwOyBpIDwgc2l6ZTsgKytpKQorICAgICAgICBtZW51SXRlbXMuYXBwZW5kKFdl
YkNvbnRleHRNZW51SXRlbTo6Y3JlYXRlKG1lbnVJdGVtc1ZlY3RvcltpXSkuZ2V0KCkpOworCisg
ICAgbV9jbGllbnQuc2hvd0NvbnRleHRNZW51KHRvQVBJKHBhZ2UpLCB0b0FQSShtZW51TG9jYXRp
b24pLCB0b0FQSShJbW11dGFibGVBcnJheTo6YWRvcHQobWVudUl0ZW1zKS5nZXQoKSksIG1fY2xp
ZW50LmNsaWVudEluZm8pOworfQorCit2b2lkIFdlYlBhZ2VDb250ZXh0TWVudUNsaWVudDo6aGlk
ZUNvbnRleHRNZW51KFdlYlBhZ2VQcm94eSogcGFnZSkKK3sKKyAgICBpZiAoIW1fY2xpZW50Lmhp
ZGVDb250ZXh0TWVudSkKKyAgICAgICAgcmV0dXJuOworCisgICAgbV9jbGllbnQuaGlkZUNvbnRl
eHRNZW51KHRvQVBJKHBhZ2UpLCBtX2NsaWVudC5jbGllbnRJbmZvKTsKK30KKwogfSAvLyBuYW1l
c3BhY2UgV2ViS2l0CiAjZW5kaWYgLy8gRU5BQkxFKENPTlRFWFRfTUVOVVMpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZUNvbnRleHRNZW51Q2xpZW50LmggYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZUNvbnRleHRNZW51Q2xpZW50LmgKaW5kZXgg
ZGZmOTAxOS4uZmNhYmRiYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
YlBhZ2VDb250ZXh0TWVudUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJQYWdlQ29udGV4dE1lbnVDbGllbnQuaApAQCAtMzEsNiArMzEsNyBAQAogI2luY2x1ZGUgIkFQ
SUNsaWVudC5oIgogI2luY2x1ZGUgIldlYkhpdFRlc3RSZXN1bHQuaCIKICNpbmNsdWRlICJXS1Bh
Z2UuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL0ludFBvaW50Lmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rv
ci5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKQEAgLTQzLDcgKzQ0LDEwIEBAIGNsYXNzIFdlYlBh
Z2VDb250ZXh0TWVudUNsaWVudCA6IHB1YmxpYyBBUElDbGllbnQ8V0tQYWdlQ29udGV4dE1lbnVD
bGllbnQsIGtXS1BhCiBwdWJsaWM6CiAgICAgYm9vbCBnZXRDb250ZXh0TWVudUZyb21Qcm9wb3Nl
ZE1lbnUoV2ViUGFnZVByb3h5KiwgY29uc3QgVmVjdG9yPFdlYkNvbnRleHRNZW51SXRlbURhdGE+
JiBwcm9wb3NlZE1lbnUsIFZlY3RvcjxXZWJDb250ZXh0TWVudUl0ZW1EYXRhPiYgY3VzdG9tTWVu
dSwgY29uc3QgV2ViSGl0VGVzdFJlc3VsdDo6RGF0YSYsIEFQSU9iamVjdCogdXNlckRhdGEpOwog
ICAgIHZvaWQgY3VzdG9tQ29udGV4dE1lbnVJdGVtU2VsZWN0ZWQoV2ViUGFnZVByb3h5KiwgY29u
c3QgV2ViQ29udGV4dE1lbnVJdGVtRGF0YSYpOworICAgIHZvaWQgY29udGV4dE1lbnVJdGVtU2Vs
ZWN0ZWQoV2ViUGFnZVByb3h5KiwgY29uc3QgV2ViQ29udGV4dE1lbnVJdGVtRGF0YSYpOwogICAg
IHZvaWQgY29udGV4dE1lbnVEaXNtaXNzZWQoV2ViUGFnZVByb3h5Kik7CisgICAgdm9pZCBzaG93
Q29udGV4dE1lbnUoV2ViUGFnZVByb3h5KiwgY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmLCBjb25z
dCBWZWN0b3I8V2ViQ29udGV4dE1lbnVJdGVtRGF0YT4mKTsKKyAgICB2b2lkIGhpZGVDb250ZXh0
TWVudShXZWJQYWdlUHJveHkqKTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAppbmRleCA2ZjhhOTJkLi4wMmNkMzMw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApAQCAtMzAyMyw2
ICszMDIzLDkgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmludGVybmFsU2hvd0NvbnRleHRNZW51KGNv
bnN0IEludFBvaW50JiBtZW51TG9jYXRpb24sIGNvbnN0IFcKIAogICAgIG1fYWN0aXZlQ29udGV4
dE1lbnVIaXRUZXN0UmVzdWx0RGF0YSA9IGhpdFRlc3RSZXN1bHREYXRhOwogCisjaWYgUExBVEZP
Uk0oRUZMKQorICAgIG1fY29udGV4dE1lbnVDbGllbnQuaGlkZUNvbnRleHRNZW51KHRoaXMpOwor
I2Vsc2UKICAgICBpZiAobV9hY3RpdmVDb250ZXh0TWVudSkgewogICAgICAgICBtX2FjdGl2ZUNv
bnRleHRNZW51LT5oaWRlQ29udGV4dE1lbnUoKTsKICAgICAgICAgbV9hY3RpdmVDb250ZXh0TWVu
dSA9IDA7CkBAIC0zMDMxLDE2ICszMDM0LDIxIEBAIHZvaWQgV2ViUGFnZVByb3h5OjppbnRlcm5h
bFNob3dDb250ZXh0TWVudShjb25zdCBJbnRQb2ludCYgbWVudUxvY2F0aW9uLCBjb25zdCBXCiAg
ICAgbV9hY3RpdmVDb250ZXh0TWVudSA9IG1fcGFnZUNsaWVudC0+Y3JlYXRlQ29udGV4dE1lbnVQ
cm94eSh0aGlzKTsKICAgICBpZiAoIW1fYWN0aXZlQ29udGV4dE1lbnUpCiAgICAgICAgIHJldHVy
bjsKKyNlbmRpZgogCiAgICAgLy8gU2luY2Ugc2hvd0NvbnRleHRNZW51KCkgY2FuIHNwaW4gYSBu
ZXN0ZWQgcnVuIGxvb3Agd2UgbmVlZCB0byB0dXJuIG9mZiB0aGUgcmVzcG9uc2l2ZW5lc3MgdGlt
ZXIuCiAgICAgbV9wcm9jZXNzLT5yZXNwb25zaXZlbmVzc1RpbWVyKCktPnN0b3AoKTsKIAorI2lm
IFBMQVRGT1JNKEVGTCkKKyAgICBtX2NvbnRleHRNZW51Q2xpZW50LnNob3dDb250ZXh0TWVudSh0
aGlzLCBtZW51TG9jYXRpb24sIHByb3Bvc2VkSXRlbXMpOworI2Vsc2UKICAgICAvLyBHaXZlIHRo
ZSBQYWdlQ29udGV4dE1lbnVDbGllbnQgb25lIGxhc3Qgc3dpcGUgYXQgY2hhbmdpbmcgdGhlIG1l
bnUuCiAgICAgVmVjdG9yPFdlYkNvbnRleHRNZW51SXRlbURhdGE+IGl0ZW1zOwogICAgIGlmICgh
bV9jb250ZXh0TWVudUNsaWVudC5nZXRDb250ZXh0TWVudUZyb21Qcm9wb3NlZE1lbnUodGhpcywg
cHJvcG9zZWRJdGVtcywgaXRlbXMsIGhpdFRlc3RSZXN1bHREYXRhLCB1c2VyRGF0YS5nZXQoKSkp
CiAgICAgICAgIG1fYWN0aXZlQ29udGV4dE1lbnUtPnNob3dDb250ZXh0TWVudShtZW51TG9jYXRp
b24sIHByb3Bvc2VkSXRlbXMpOwogICAgIGVsc2UKICAgICAgICAgbV9hY3RpdmVDb250ZXh0TWVu
dS0+c2hvd0NvbnRleHRNZW51KG1lbnVMb2NhdGlvbiwgaXRlbXMpOworI2VuZGlmCiAgICAgCiAg
ICAgbV9jb250ZXh0TWVudUNsaWVudC5jb250ZXh0TWVudURpc21pc3NlZCh0aGlzKTsKIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCA5NWMxM2Y2Li41ZTJiMGFl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC0xMDczLDcgKzEw
NzMsOSBAQCBwcml2YXRlOgogI2VuZGlmCiAKICAgICBSZWZQdHI8V2ViUG9wdXBNZW51UHJveHk+
IG1fYWN0aXZlUG9wdXBNZW51OworI2lmICFQTEFURk9STShFRkwpCiAgICAgUmVmUHRyPFdlYkNv
bnRleHRNZW51UHJveHk+IG1fYWN0aXZlQ29udGV4dE1lbnU7CisjZW5kaWYKICAgICBXZWJIaXRU
ZXN0UmVzdWx0OjpEYXRhIG1fYWN0aXZlQ29udGV4dE1lbnVIaXRUZXN0UmVzdWx0RGF0YTsKICAg
ICBSZWZQdHI8V2ViT3BlblBhbmVsUmVzdWx0TGlzdGVuZXJQcm94eT4gbV9vcGVuUGFuZWxSZXN1
bHRMaXN0ZW5lcjsKICAgICBHZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5
IG1fZ2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXI7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL0NvbnRleHRNZW51Q2xpZW50RWZsLmNwcCBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvQ29udGV4dE1lbnVDbGllbnRFZmwuY3BwCmluZGV4IDkx
MjNkMjguLmFlNjRlODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwv
Q29udGV4dE1lbnVDbGllbnRFZmwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9l
ZmwvQ29udGV4dE1lbnVDbGllbnRFZmwuY3BwCkBAIC0yNywxMSArMjcsOCBAQAogI2luY2x1ZGUg
IkNvbnRleHRNZW51Q2xpZW50RWZsLmgiCiAKICNpbmNsdWRlICJFd2tWaWV3LmgiCi0jaW5jbHVk
ZSAiTm90SW1wbGVtZW50ZWQuaCIKICNpbmNsdWRlICJXS0FycmF5LmgiCiAjaW5jbHVkZSAiV0tQ
YWdlLmgiCi0jaW5jbHVkZSAiV2ViQ29udGV4dE1lbnVJdGVtLmgiICAgCi0jaW5jbHVkZSA8RXZh
cy5oPgogCiB1c2luZyBuYW1lc3BhY2UgV2ViS2l0OwogCkBAIC00MCw2ICszNywyMCBAQCBzdGF0
aWMgaW5saW5lIENvbnRleHRNZW51Q2xpZW50RWZsKiB0b0NvbnRleHRDbGllbnRFZmwoY29uc3Qg
dm9pZCogY2xpZW50SW5mbykKICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Q29udGV4dE1lbnVDbGll
bnRFZmwqPihjb25zdF9jYXN0PHZvaWQqPihjbGllbnRJbmZvKSk7CiB9CiAKK3N0YXRpYyB2b2lk
IHNob3dDb250ZXh0TWVudShXS1BhZ2VSZWYsIFdLUG9pbnQgbWVudUxvY2F0aW9uLCBXS0FycmF5
UmVmIG1lbnVJdGVtcywgY29uc3Qgdm9pZCogY2xpZW50SW5mbykKK3sKKyAgICBDb250ZXh0TWVu
dUNsaWVudEVmbCogY29udGV4dE1lbnVDbGllbnQgPSB0b0NvbnRleHRDbGllbnRFZmwoY2xpZW50
SW5mbyk7CisKKyAgICBjb250ZXh0TWVudUNsaWVudC0+dmlldygpLT5zaG93Q29udGV4dE1lbnUo
bWVudUxvY2F0aW9uLCBtZW51SXRlbXMpOworfQorCitzdGF0aWMgdm9pZCBoaWRlQ29udGV4dE1l
bnUoV0tQYWdlUmVmLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKQoreworICAgIENvbnRleHRNZW51
Q2xpZW50RWZsKiBjb250ZXh0TWVudUNsaWVudCA9IHRvQ29udGV4dENsaWVudEVmbChjbGllbnRJ
bmZvKTsKKworICAgIGNvbnRleHRNZW51Q2xpZW50LT52aWV3KCktPmhpZGVDb250ZXh0TWVudSgp
OworfQorCiBDb250ZXh0TWVudUNsaWVudEVmbDo6Q29udGV4dE1lbnVDbGllbnRFZmwoRXdrVmll
dyogdmlldykKICAgICA6IG1fdmlldyh2aWV3KQogewpAQCAtNTQsMTEgKzY1LDggQEAgQ29udGV4
dE1lbnVDbGllbnRFZmw6OkNvbnRleHRNZW51Q2xpZW50RWZsKEV3a1ZpZXcqIHZpZXcpCiAgICAg
Y29udGV4dE1lbnVDbGllbnQuY3VzdG9tQ29udGV4dE1lbnVJdGVtU2VsZWN0ZWQgPSAwOwogICAg
IGNvbnRleHRNZW51Q2xpZW50LmNvbnRleHRNZW51RGlzbWlzc2VkID0gMDsKICAgICBjb250ZXh0
TWVudUNsaWVudC5nZXRDb250ZXh0TWVudUZyb21Qcm9wb3NlZE1lbnUgPSAwOworICAgIGNvbnRl
eHRNZW51Q2xpZW50LnNob3dDb250ZXh0TWVudSA9IHNob3dDb250ZXh0TWVudTsKKyAgICBjb250
ZXh0TWVudUNsaWVudC5oaWRlQ29udGV4dE1lbnUgPSBoaWRlQ29udGV4dE1lbnU7CiAKICAgICBX
S1BhZ2VTZXRQYWdlQ29udGV4dE1lbnVDbGllbnQocGFnZVJlZiwgJmNvbnRleHRNZW51Q2xpZW50
KTsKIH0KLQotdm9pZCBDb250ZXh0TWVudUNsaWVudEVmbDo6Z2V0Q29udGV4dE1lbnVGcm9tUHJv
cG9zZWRNZW51KFdLUGFnZVJlZiwgV0tBcnJheVJlZiwgV0tBcnJheVJlZiosIFdLSGl0VGVzdFJl
c3VsdFJlZiwgV0tUeXBlUmVmLCBjb25zdCB2b2lkKikKLXsKLSAgICBub3RJbXBsZW1lbnRlZCgp
OwotfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9Db250ZXh0TWVu
dUNsaWVudEVmbC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9Db250ZXh0TWVudUNs
aWVudEVmbC5oCmluZGV4IGIyMTJlOWUuLmYwMzZiM2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9lZmwvQ29udGV4dE1lbnVDbGllbnRFZmwuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvZWZsL0NvbnRleHRNZW51Q2xpZW50RWZsLmgKQEAgLTI2LDEyICsyNiw3
IEBACiAjaWZuZGVmIENvbnRleHRNZW51Q2xpZW50RWZsX2gKICNkZWZpbmUgQ29udGV4dE1lbnVD
bGllbnRFZmxfaAogCi0jaW5jbHVkZSAiV0tSZXRhaW5QdHIuaCIKLSNpbmNsdWRlICJld2tfY29u
dGV4dC5oIgotI2luY2x1ZGUgPFdlYktpdDIvV0tCYXNlLmg+Ci0jaW5jbHVkZSA8d3RmL0hhc2hN
YXAuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgotI2luY2x1ZGUgPHd0Zi90ZXh0L1dU
RlN0cmluZy5oPgogCiBjbGFzcyBFd2tWaWV3OwogCkBAIC00NCw3ICszOSw3IEBAIHB1YmxpYzoK
ICAgICAgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBDb250ZXh0TWVudUNsaWVudEVmbCh2aWV3SW1w
bCkpOwogICAgIH0KIAotICAgIHN0YXRpYyB2b2lkIGdldENvbnRleHRNZW51RnJvbVByb3Bvc2Vk
TWVudShXS1BhZ2VSZWYsIFdLQXJyYXlSZWYgcHJvcG9zZWRNZW51LCBXS0FycmF5UmVmKiBuZXdN
ZW51LCBXS0hpdFRlc3RSZXN1bHRSZWYsIFdLVHlwZVJlZiB1c2VyRGF0YSwgY29uc3Qgdm9pZCog
Y2xpZW50SW5mbyk7CisgICAgRXdrVmlldyogdmlldygpIHsgcmV0dXJuIG1fdmlldzsgfQogCiBw
cml2YXRlOgogICAgIGV4cGxpY2l0IENvbnRleHRNZW51Q2xpZW50RWZsKEV3a1ZpZXcqKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvUGFnZUNsaWVudEJhc2UuY3Bw
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9QYWdlQ2xpZW50QmFzZS5jcHAKaW5kZXgg
YWNlYzYwMC4uZTNkYzg5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2Vm
bC9QYWdlQ2xpZW50QmFzZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9Q
YWdlQ2xpZW50QmFzZS5jcHAKQEAgLTM1LDcgKzM1LDYgQEAKICNpbmNsdWRlICJOb3RJbXBsZW1l
bnRlZC5oIgogI2luY2x1ZGUgIlRleHR1cmVNYXBwZXIuaCIKICNpbmNsdWRlICJXZWJDb250ZXh0
LmgiCi0jaW5jbHVkZSAiV2ViQ29udGV4dE1lbnVQcm94eUVmbC5oIgogI2luY2x1ZGUgIldlYlBh
Z2VHcm91cC5oIgogI2luY2x1ZGUgIldlYlBhZ2VQcm94eS5oIgogI2luY2x1ZGUgIldlYlBvcHVw
TWVudVByb3h5RWZsLmgiCkBAIC0yMTksMTEgKzIxOCw2IEBAIFBhc3NSZWZQdHI8V2ViUG9wdXBN
ZW51UHJveHk+IFBhZ2VDbGllbnRCYXNlOjpjcmVhdGVQb3B1cE1lbnVQcm94eShXZWJQYWdlUHJv
eHkqCiAgICAgcmV0dXJuIFdlYlBvcHVwTWVudVByb3h5RWZsOjpjcmVhdGUobV92aWV3LCBwYWdl
KTsKIH0KIAotUGFzc1JlZlB0cjxXZWJDb250ZXh0TWVudVByb3h5PiBQYWdlQ2xpZW50QmFzZTo6
Y3JlYXRlQ29udGV4dE1lbnVQcm94eShXZWJQYWdlUHJveHkqIHBhZ2UpCi17Ci0gICAgcmV0dXJu
IFdlYkNvbnRleHRNZW51UHJveHlFZmw6OmNyZWF0ZShtX3ZpZXcsIHBhZ2UpOwotfQotCiAjaWYg
RU5BQkxFKElOUFVUX1RZUEVfQ09MT1IpCiBQYXNzUmVmUHRyPFdlYkNvbG9yQ2hvb3NlclByb3h5
PiBQYWdlQ2xpZW50QmFzZTo6Y3JlYXRlQ29sb3JDaG9vc2VyUHJveHkoV2ViUGFnZVByb3h5Kiwg
Y29uc3QgV2ViQ29yZTo6Q29sb3ImLCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JikKIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvUGFnZUNsaWVudEJhc2UuaCBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvUGFnZUNsaWVudEJhc2UuaAppbmRleCA5YjUyOGNj
Li42N2IxMThhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1BhZ2VD
bGllbnRCYXNlLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9QYWdlQ2xpZW50
QmFzZS5oCkBAIC04OSw3ICs4OSw2IEBAIHByb3RlY3RlZDoKICNlbmRpZgogCiAgICAgdmlydHVh
bCBQYXNzUmVmUHRyPFdlYlBvcHVwTWVudVByb3h5PiBjcmVhdGVQb3B1cE1lbnVQcm94eShXZWJQ
YWdlUHJveHkqKTsKLSAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8V2ViQ29udGV4dE1lbnVQcm94eT4g
Y3JlYXRlQ29udGV4dE1lbnVQcm94eShXZWJQYWdlUHJveHkqKTsKIAogI2lmIEVOQUJMRShJTlBV
VF9UWVBFX0NPTE9SKQogICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxXZWJDb2xvckNob29zZXJQcm94
eT4gY3JlYXRlQ29sb3JDaG9vc2VyUHJveHkoV2ViUGFnZVByb3h5KiwgY29uc3QgV2ViQ29yZTo6
Q29sb3ImIGluaXRpYWxDb2xvciwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9XZWJDb250ZXh0TWVudVByb3h5RWZsLmNw
cCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvV2ViQ29udGV4dE1lbnVQcm94eUVmbC5j
cHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY4ZTc1YjQuLjAwMDAwMDAKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9XZWJDb250ZXh0TWVudVByb3h5RWZsLmNwcAor
KysgL2Rldi9udWxsCkBAIC0xLDY3ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTIg
U2Ftc3VuZyBFbGVjdHJvbmljcy4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICog
YXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgQVMgSVMnJwotICogQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNs
dWRlICJXZWJDb250ZXh0TWVudVByb3h5RWZsLmgiCi0KLSNpZiBFTkFCTEUoQ09OVEVYVF9NRU5V
UykKLQotI2luY2x1ZGUgIkV3a1ZpZXcuaCIKLSNpbmNsdWRlICJXZWJDb250ZXh0TWVudUl0ZW1E
YXRhLmgiCi0jaW5jbHVkZSAiV2ViUGFnZVByb3h5LmgiCi0jaW5jbHVkZSA8d3RmL3RleHQvQ1N0
cmluZy5oPgotCi11c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKLQotbmFtZXNwYWNlIFdlYktpdCB7
Ci0KLVdlYkNvbnRleHRNZW51UHJveHlFZmw6OldlYkNvbnRleHRNZW51UHJveHlFZmwoRXdrVmll
dyogdmlldywgV2ViUGFnZVByb3h5KiBwYWdlKQotICAgIDogbV92aWV3KHZpZXcpCi0gICAgLCBt
X3BhZ2UocGFnZSkKLXsKLX0KLQotV2ViQ29udGV4dE1lbnVQcm94eUVmbDo6fldlYkNvbnRleHRN
ZW51UHJveHlFZmwoKQotewotfQotCi12b2lkIFdlYkNvbnRleHRNZW51UHJveHlFZmw6OnNob3dD
b250ZXh0TWVudShjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgcG9zaXRpb24sIGNvbnN0IFZlY3Rv
cjxXZWJDb250ZXh0TWVudUl0ZW1EYXRhPiYgaXRlbXMpCi17Ci0gICAgbV92aWV3LT5zaG93Q29u
dGV4dE1lbnUodGhpcywgcG9zaXRpb24sIGl0ZW1zKTsKLX0KLQotdm9pZCBXZWJDb250ZXh0TWVu
dVByb3h5RWZsOjpoaWRlQ29udGV4dE1lbnUoKQotewotICAgIG1fdmlldy0+aGlkZUNvbnRleHRN
ZW51KCk7Ci19Ci0KLXZvaWQgV2ViQ29udGV4dE1lbnVQcm94eUVmbDo6Y29udGV4dE1lbnVJdGVt
U2VsZWN0ZWQoY29uc3QgV2ViQ29udGV4dE1lbnVJdGVtRGF0YSYgaXRlbSkKLXsKLSAgICBtX3Bh
Z2UtPmNvbnRleHRNZW51SXRlbVNlbGVjdGVkKGl0ZW0pOwotfQotCi19IC8vIG5hbWVzcGFjZSBX
ZWJLaXQKLQotI2VuZGlmIC8vIEVOQUJMRShDT05URVhUX01FTlVTKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9XZWJDb250ZXh0TWVudVByb3h5RWZsLmggYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1dlYkNvbnRleHRNZW51UHJveHlFZmwuaApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZWE0MmFmMS4uMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvZWZsL1dlYkNvbnRleHRNZW51UHJveHlFZmwuaAorKysgL2Rldi9udWxs
CkBAIC0xLDY3ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTIgU2Ftc3VuZyBFbGVj
dHJvbmljcy4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQot
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0g
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgotICovCi0KLSNpZm5kZWYgV2ViQ29udGV4dE1lbnVQcm94eUVmbF9oCi0jZGVm
aW5lIFdlYkNvbnRleHRNZW51UHJveHlFZmxfaAotCi0jaWYgRU5BQkxFKENPTlRFWFRfTUVOVVMp
Ci0KLSNpbmNsdWRlICJXZWJDb250ZXh0TWVudVByb3h5LmgiCi0jaW5jbHVkZSA8V2ViQ29yZS9D
b250ZXh0TWVudS5oPgotI2luY2x1ZGUgPFdlYkNvcmUvSW50UG9pbnQuaD4KLQotY2xhc3MgRXdr
VmlldzsKLQotbmFtZXNwYWNlIFdlYktpdCB7Ci0KLWNsYXNzIFdlYkNvbnRleHRNZW51SXRlbURh
dGE7Ci1jbGFzcyBXZWJQYWdlUHJveHk7Ci0KLWNsYXNzIFdlYkNvbnRleHRNZW51UHJveHlFZmwg
OiBwdWJsaWMgV2ViQ29udGV4dE1lbnVQcm94eSB7Ci1wdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NS
ZWZQdHI8V2ViQ29udGV4dE1lbnVQcm94eUVmbD4gY3JlYXRlKEV3a1ZpZXcqIHZpZXdJbXBsLCBX
ZWJQYWdlUHJveHkqIHBhZ2UpCi0gICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFdl
YkNvbnRleHRNZW51UHJveHlFZmwodmlld0ltcGwsIHBhZ2UpKTsKLSAgICB9Ci0KLSAgICB+V2Vi
Q29udGV4dE1lbnVQcm94eUVmbCgpOwotCi0gICAgdm9pZCBzaG93Q29udGV4dE1lbnUoY29uc3Qg
V2ViQ29yZTo6SW50UG9pbnQmLCBjb25zdCBWZWN0b3I8V2ViQ29udGV4dE1lbnVJdGVtRGF0YT4m
KTsKLSAgICB2b2lkIGhpZGVDb250ZXh0TWVudSgpOwotCi0gICAgdm9pZCBjb250ZXh0TWVudUl0
ZW1TZWxlY3RlZChjb25zdCBXZWJDb250ZXh0TWVudUl0ZW1EYXRhJik7Ci0KLXByaXZhdGU6Ci0g
ICAgV2ViQ29udGV4dE1lbnVQcm94eUVmbChFd2tWaWV3KiwgV2ViUGFnZVByb3h5Kik7Ci0KLSAg
ICBFd2tWaWV3KiBtX3ZpZXc7Ci0gICAgV2ViUGFnZVByb3h5KiBtX3BhZ2U7Ci19OwotCi0KLX0g
Ly8gbmFtZXNwYWNlIFdlYktpdAotCi0jZW5kaWYgLy8gRU5BQkxFKENPTlRFWFRfTUVOVVMpCi0j
ZW5kaWYgLy8gV2ViQ29udGV4dE1lbnVQcm94eUVmbF9oCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>188859</attachid>
            <date>2013-02-18 05:24:51 -0800</date>
            <delta_ts>2013-02-21 03:15:02 -0800</delta_ts>
            <desc>rebased patch</desc>
            <filename>c-api-ewk-contextmenu3.diff</filename>
            <type>text/plain</type>
            <size>54528</size>
            <attacher name="Michal Pakula vel Rutka">mpakulavelrutka</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA4ZGQ4OTFmLi5jYjUzYzZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsNjgg
QEAKIDIwMTMtMDItMTggIE1pY2hhxYIgUGFrdcWCYSB2ZWwgUnV0a2EgIDxtLnBha3VsYUBzYW1z
dW5nLmNvbT4KIAorICAgICAgICBbRUZMXVtXSzJdIFVzZSBDIEFQSSBpbiBld2tfY29udGV4dF9t
ZW51CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDk2
OTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBFRkwg
cG9ydCB1bmxpa2Ugb3RoZXJzIGRvZXMgbm90IGhhbmRsZSBjb250ZXh0IG1lbnVzIGluc2lkZSBX
ZWJLaXQgYnV0IGV4cG9zZXMgYW4gQVBJOgorICAgICAgICBld2tfY29udGV4dF9tZW51IGFuZCBl
d2tfY29udGV4dF9tZW51X2l0ZW0sIGFuZCBsZWF2ZXMgY29udGV4dCBtZW51IHRvIGFwcGxpY2F0
aW9uLgorICAgICAgICBDdXJyZW50bHkgRUZMIHBvcnQncyBjb250ZXh0IG1lbnUgQVBJIHVzZXMg
aW50ZXJuYWwgQysrIGNsYXNzZXMsIHdoaWxlIGl0IHNob3VsZCB1c2UgV0syIEMgQVBJLAorICAg
ICAgICB0byBhdm9pZCB2aW9sYXRpbmcgbGF5ZXJpbmcuCisgICAgICAgIFRoaXMgcGF0Y2ggY2hh
bmdlcyBFRkwgY29udGV4dCBtZW51IEFQSSB0byB1c2Ugb25seSBXSzIgQyBBUEksIGFsc28gYWRk
cyB0d28gZnVuY3Rpb25zIHRvIFdLUGFnZUNvbnRleHRNZW51Q2xpZW50LgorCisgICAgICAgICog
UGxhdGZvcm1FZmwuY21ha2U6CisgICAgICAgICogU2hhcmVkL0FQSUNsaWVudFRyYWl0cy5jcHA6
CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAqIFNoYXJlZC9BUElDbGllbnRUcmFpdHMuaDoK
KyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNwcDoKKyAgICAgICAgKFdLUGFnZUNv
bnRleHRNZW51SXRlbVNlbGVjdGVkKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQYWdl
Lmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlldy5jcHA6CisgICAgICAgIChF
d2tWaWV3OjpzaG93Q29udGV4dE1lbnUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL0V3
a1ZpZXcuaDoKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChFd2tWaWV3KToKKyAgICAgICAg
KiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dF9tZW51LmNwcDoKKyAgICAgICAgKEV3a0Nv
bnRleHRNZW51OjpFd2tDb250ZXh0TWVudSk6CisgICAgICAgIChFd2tDb250ZXh0TWVudTo6Y29u
dGV4dE1lbnVJdGVtU2VsZWN0ZWQpOgorICAgICAgICAoZXdrX2NvbnRleHRfbWVudV9pdGVtX3Nl
bGVjdCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHRfbWVudV9pdGVt
LmNwcDoKKyAgICAgICAgKEV3a0NvbnRleHRNZW51SXRlbTo6RXdrQ29udGV4dE1lbnVJdGVtKToK
KyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dF9tZW51X2l0ZW0uaDoKKyAg
ICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dF9tZW51X2l0ZW1fcHJpdmF0ZS5o
OgorICAgICAgICAoRXdrQ29udGV4dE1lbnVJdGVtOjpjcmVhdGUpOgorICAgICAgICAoRXdrQ29u
dGV4dE1lbnVJdGVtKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dF9t
ZW51X3ByaXZhdGUuaDoKKyAgICAgICAgKEV3a0NvbnRleHRNZW51OjpjcmVhdGUpOgorICAgICAg
ICAoRXdrQ29udGV4dE1lbnUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdENv
bnRleHRNZW51Q2xpZW50LmNwcDoKKyAgICAgICAgKGF0dGFjaENvbnRleHRNZW51Q2xpZW50VG9W
aWV3KToKKyAgICAgICAgKiBVSVByb2Nlc3MvUGFnZUNsaWVudC5oOgorICAgICAgICAoUGFnZUNs
aWVudCk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VDb250ZXh0TWVudUNsaWVudC5jcHA6
CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VDb250ZXh0TWVudUNsaWVudDo6c2hvd0NvbnRleHRN
ZW51KToKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VDb250ZXh0
TWVudUNsaWVudDo6aGlkZUNvbnRleHRNZW51KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFn
ZUNvbnRleHRNZW51Q2xpZW50Lmg6CisgICAgICAgIChXZWJQYWdlQ29udGV4dE1lbnVDbGllbnQp
OgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0
OjpXZWJQYWdlUHJveHk6OmludGVybmFsU2hvd0NvbnRleHRNZW51KToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAgIChXZWJQYWdlUHJveHkpOgorICAgICAgICAq
IFVJUHJvY2Vzcy9lZmwvQ29udGV4dE1lbnVDbGllbnRFZmwuY3BwOgorICAgICAgICAoc2hvd0Nv
bnRleHRNZW51KToKKyAgICAgICAgKGhpZGVDb250ZXh0TWVudSk6CisgICAgICAgIChDb250ZXh0
TWVudUNsaWVudEVmbDo6Q29udGV4dE1lbnVDbGllbnRFZmwpOgorICAgICAgICAqIFVJUHJvY2Vz
cy9lZmwvQ29udGV4dE1lbnVDbGllbnRFZmwuaDoKKyAgICAgICAgKFdlYktpdDo6Q29udGV4dE1l
bnVDbGllbnRFZmw6OnZpZXcpOgorICAgICAgICAqIFVJUHJvY2Vzcy9lZmwvV2ViQ29udGV4dE1l
bnVQcm94eUVmbC5jcHA6IFJlbW92ZWQuCisgICAgICAgICogVUlQcm9jZXNzL2VmbC9XZWJDb250
ZXh0TWVudVByb3h5RWZsLmg6IFJlbW92ZWQuCisgICAgICAgICogVUlQcm9jZXNzL2VmbC9XZWJW
aWV3LmNwcDoKKyAgICAgICAgKiBVSVByb2Nlc3MvZWZsL1dlYlZpZXcuaDoKKworMjAxMy0wMi0x
OCAgTWljaGHFgiBQYWt1xYJhIHZlbCBSdXRrYSAgPG0ucGFrdWxhQHNhbXN1bmcuY29tPgorCiAg
ICAgICAgIFtXSzJdW0VGTF1bR1RLXVtRdF0gQWRkIGNvbnRleHQgbWVudSBpdGVtIHRhZ3MgZm9y
IEMgQVBJCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
MDk4MTUKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm1FZmwuY21ha2UgYi9T
b3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZQppbmRleCBhMDA4MWI3Li42NTRiNTdjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZQorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZQpAQCAtOTgsNyArOTgsNiBAQCBsaXN0KEFQUEVORCBX
ZWJLaXQyX1NPVVJDRVMKICAgICBVSVByb2Nlc3MvZWZsL1ZpYnJhdGlvbkNsaWVudEVmbC5jcHAK
ICAgICBVSVByb2Nlc3MvZWZsL1ZpZXdDbGllbnRFZmwuY3BwCiAgICAgVUlQcm9jZXNzL2VmbC9X
ZWJDb250ZXh0RWZsLmNwcAotICAgIFVJUHJvY2Vzcy9lZmwvV2ViQ29udGV4dE1lbnVQcm94eUVm
bC5jcHAKICAgICBVSVByb2Nlc3MvZWZsL1dlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHlFZmwuY3Bw
CiAgICAgVUlQcm9jZXNzL2VmbC9XZWJJbnNwZWN0b3JQcm94eUVmbC5jcHAKICAgICBVSVByb2Nl
c3MvZWZsL1dlYlBhZ2VQcm94eUVmbC5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9BUElDbGllbnRUcmFpdHMuY3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSUNsaWVu
dFRyYWl0cy5jcHAKaW5kZXggNWVjZGFiMy4uNDQ2NTY0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvU2hhcmVkL0FQSUNsaWVudFRyYWl0cy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvU2hh
cmVkL0FQSUNsaWVudFRyYWl0cy5jcHAKQEAgLTU3LDYgKzU3LDcgQEAgY29uc3Qgc2l6ZV90IEFQ
SUNsaWVudFRyYWl0czxXS0J1bmRsZVBhZ2VGdWxsU2NyZWVuQ2xpZW50Pjo6aW50ZXJmYWNlU2l6
ZXNCeVZlcnMKIGNvbnN0IHNpemVfdCBBUElDbGllbnRUcmFpdHM8V0tQYWdlQ29udGV4dE1lbnVD
bGllbnQ+OjppbnRlcmZhY2VTaXplc0J5VmVyc2lvbltdID0gewogICAgIG9mZnNldG9mKFdLUGFn
ZUNvbnRleHRNZW51Q2xpZW50LCBjb250ZXh0TWVudURpc21pc3NlZCksCiAgICAgb2Zmc2V0b2Yo
V0tQYWdlQ29udGV4dE1lbnVDbGllbnQsIGdldENvbnRleHRNZW51RnJvbVByb3Bvc2VkTWVudSks
CisgICAgb2Zmc2V0b2YoV0tQYWdlQ29udGV4dE1lbnVDbGllbnQsIHNob3dDb250ZXh0TWVudSks
CiAgICAgc2l6ZW9mKFdLUGFnZUNvbnRleHRNZW51Q2xpZW50KQogfTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvU2hhcmVkL0FQSUNsaWVudFRyYWl0cy5oIGIvU291cmNlL1dlYktpdDIv
U2hhcmVkL0FQSUNsaWVudFRyYWl0cy5oCmluZGV4IGEwNjI5NTYuLmFlZDgyZjQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUElDbGllbnRUcmFpdHMuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvQVBJQ2xpZW50VHJhaXRzLmgKQEAgLTYwLDcgKzYwLDcgQEAgdGVtcGxh
dGU8PiBzdHJ1Y3QgQVBJQ2xpZW50VHJhaXRzPFdLQnVuZGxlUGFnZVVJQ2xpZW50PiB7CiB9Owog
CiB0ZW1wbGF0ZTw+IHN0cnVjdCBBUElDbGllbnRUcmFpdHM8V0tQYWdlQ29udGV4dE1lbnVDbGll
bnQ+IHsKLSAgICBzdGF0aWMgY29uc3Qgc2l6ZV90IGludGVyZmFjZVNpemVzQnlWZXJzaW9uWzNd
OworICAgIHN0YXRpYyBjb25zdCBzaXplX3QgaW50ZXJmYWNlU2l6ZXNCeVZlcnNpb25bNF07CiB9
OwogCiB0ZW1wbGF0ZTw+IHN0cnVjdCBBUElDbGllbnRUcmFpdHM8V0tQYWdlTG9hZGVyQ2xpZW50
PiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNw
cCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3BwCmluZGV4IDU1MGQ3
YmUuLmVhY2VhMzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9X
S1BhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3Bw
CkBAIC00MCw2ICs0MCwxMCBAQAogI2luY2x1ZGUgPEJsb2NrLmg+CiAjZW5kaWYKIAorI2lmIEVO
QUJMRShDT05URVhUX01FTlVTKQorI2luY2x1ZGUgIldlYkNvbnRleHRNZW51SXRlbS5oIgorI2Vu
ZGlmCisKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsK
IApAQCAtNzk0LDMgKzc5OCwxMCBAQCB2b2lkIFdLUGFnZVNldEludmFsaWRNZXNzYWdlRnVuY3Rp
b24oV0tQYWdlSW52YWxpZE1lc3NhZ2VGdW5jdGlvbikKIHsKICAgICAvLyBGSVhNRTogUmVtb3Zl
IHRoaXMgZnVuY3Rpb24gd2hlbiBkb2luZyBzbyB3b24ndCBicmVhayBXZWJLaXQgbmlnaHRsaWVz
LgogfQorCit2b2lkIFdLUGFnZUNvbnRleHRNZW51SXRlbVNlbGVjdGVkKFdLUGFnZVJlZiBwYWdl
LCBXS0NvbnRleHRNZW51SXRlbVJlZiBpdGVtKQoreworI2lmIEVOQUJMRShDT05URVhUX01FTlVT
KQorICAgIHRvSW1wbChwYWdlKS0+Y29udGV4dE1lbnVJdGVtU2VsZWN0ZWQoKih0b0ltcGwoaXRl
bSktPmRhdGEoKSkpOworI2VuZGlmCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL0MvV0tQYWdlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQ
YWdlLmgKaW5kZXggMWE4NTY1Ny4uMTBlMjRjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvQy9XS1BhZ2UuaApAQCAtMzIwLDYgKzMyMCw4IEBAIGVudW0geyBrV0tQYWdlRmluZE1hdGNo
ZXNDbGllbnRDdXJyZW50VmVyc2lvbiA9IDAgfTsKIHR5cGVkZWYgdm9pZCAoKldLUGFnZUdldENv
bnRleHRNZW51RnJvbVByb3Bvc2VkQ29udGV4dE1lbnVDYWxsYmFjaykoV0tQYWdlUmVmIHBhZ2Us
IFdLQXJyYXlSZWYgcHJvcG9zZWRNZW51LCBXS0FycmF5UmVmKiBuZXdNZW51LCBXS0hpdFRlc3RS
ZXN1bHRSZWYgaGl0VGVzdFJlc3VsdCwgV0tUeXBlUmVmIHVzZXJEYXRhLCBjb25zdCB2b2lkKiBj
bGllbnRJbmZvKTsKIHR5cGVkZWYgdm9pZCAoKldLUGFnZUN1c3RvbUNvbnRleHRNZW51SXRlbVNl
bGVjdGVkQ2FsbGJhY2spKFdLUGFnZVJlZiBwYWdlLCBXS0NvbnRleHRNZW51SXRlbVJlZiBjb250
ZXh0TWVudUl0ZW0sIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwogdHlwZWRlZiB2b2lkICgqV0tQ
YWdlQ29udGV4dE1lbnVEaXNtaXNzZWRDYWxsYmFjaykoV0tQYWdlUmVmIHBhZ2UsIGNvbnN0IHZv
aWQqIGNsaWVudEluZm8pOwordHlwZWRlZiB2b2lkICgqV0tQYWdlU2hvd0NvbnRleHRNZW51Q2Fs
bGJhY2spKFdLUGFnZVJlZiBwYWdlLCBXS1BvaW50IG1lbnVMb2NhdGlvbiwgV0tBcnJheVJlZiBt
ZW51SXRlbXMsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwordHlwZWRlZiB2b2lkICgqV0tQYWdl
SGlkZUNvbnRleHRNZW51Q2FsbGJhY2spKFdLUGFnZVJlZiBwYWdlLCBjb25zdCB2b2lkKiBjbGll
bnRJbmZvKTsKIAogLy8gRGVwcmVjYXRlZAogdHlwZWRlZiB2b2lkICgqV0tQYWdlR2V0Q29udGV4
dE1lbnVGcm9tUHJvcG9zZWRDb250ZXh0TWVudUNhbGxiYWNrX2RlcHJlY2F0ZWRGb3JVc2VXaXRo
VjApKFdLUGFnZVJlZiBwYWdlLCBXS0FycmF5UmVmIHByb3Bvc2VkTWVudSwgV0tBcnJheVJlZiog
bmV3TWVudSwgV0tUeXBlUmVmIHVzZXJEYXRhLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKQEAg
LTMzNiwxMCArMzM4LDE0IEBAIHN0cnVjdCBXS1BhZ2VDb250ZXh0TWVudUNsaWVudCB7CiAKICAg
ICAvLyBWZXJzaW9uIDIKICAgICBXS1BhZ2VHZXRDb250ZXh0TWVudUZyb21Qcm9wb3NlZENvbnRl
eHRNZW51Q2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgIGdldENvbnRleHRNZW51RnJv
bVByb3Bvc2VkTWVudTsKKworICAgIC8vIFZlcnNpb24gMworICAgIFdLUGFnZVNob3dDb250ZXh0
TWVudUNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgc2hvd0NvbnRleHRNZW51OworICAgIFdLUGFnZUhpZGVDb250ZXh0TWVudUNhbGxiYWNrICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGlkZUNvbnRleHRN
ZW51OwogfTsKIHR5cGVkZWYgc3RydWN0IFdLUGFnZUNvbnRleHRNZW51Q2xpZW50IFdLUGFnZUNv
bnRleHRNZW51Q2xpZW50OwogCi1lbnVtIHsga1dLUGFnZUNvbnRleHRNZW51Q2xpZW50Q3VycmVu
dFZlcnNpb24gPSAyIH07CitlbnVtIHsga1dLUGFnZUNvbnRleHRNZW51Q2xpZW50Q3VycmVudFZl
cnNpb24gPSAzIH07CiAKIFdLX0VYUE9SVCBXS1R5cGVJRCBXS1BhZ2VHZXRUeXBlSUQoKTsKIApA
QCAtNTE0LDYgKzUyMCw4IEBAIFdLX0VYUE9SVCB2b2lkIFdLUGFnZUV4ZWN1dGVDb21tYW5kKFdL
UGFnZVJlZiBwYWdlLCBXS1N0cmluZ1JlZiBjb21tYW5kKTsKIAogV0tfRVhQT1JUIHZvaWQgV0tQ
YWdlUG9zdE1lc3NhZ2VUb0luamVjdGVkQnVuZGxlKFdLUGFnZVJlZiBwYWdlLCBXS1N0cmluZ1Jl
ZiBtZXNzYWdlTmFtZSwgV0tUeXBlUmVmIG1lc3NhZ2VCb2R5KTsKIAorV0tfRVhQT1JUIHZvaWQg
V0tQYWdlQ29udGV4dE1lbnVJdGVtU2VsZWN0ZWQoV0tQYWdlUmVmIHBhZ2UsIFdLQ29udGV4dE1l
bnVJdGVtUmVmIGl0ZW0pOworCiAjaWZkZWYgX19jcGx1c3BsdXMKIH0KICNlbmRpZgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlldy5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3LmNwcAppbmRleCA3M2EwY2Y1Li5h
M2E5M2ZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tW
aWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3LmNw
cApAQCAtODgyLDcgKzg4Miw3IEBAIHZvaWQgRXdrVmlldzo6ZGlzbWlzc0NvbG9yUGlja2VyKCkK
IENPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX1RFWFRfRElSRUNUSU9OX1JJR0hUX1RP
X0xFRlQsIFJUTCk7CiBDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19URVhUX0RJUkVD
VElPTl9MRUZUX1RPX1JJR0hULCBMVFIpOwogCi12b2lkIEV3a1ZpZXc6OnNob3dDb250ZXh0TWVu
dShXZWJDb250ZXh0TWVudVByb3h5RWZsKiBjb250ZXh0TWVudVByb3h5LCBjb25zdCBXZWJDb3Jl
OjpJbnRQb2ludCYgcG9zaXRpb24sIGNvbnN0IFZlY3RvcjxXZWJDb250ZXh0TWVudUl0ZW1EYXRh
PiYgaXRlbXMpCit2b2lkIEV3a1ZpZXc6OnNob3dDb250ZXh0TWVudShXS1BvaW50IHBvc2l0aW9u
LCBXS0FycmF5UmVmIGl0ZW1zKQogewogICAgIEV3a19WaWV3X1NtYXJ0X0RhdGEqIHNkID0gc21h
cnREYXRhKCk7CiAgICAgQVNTRVJUKHNkLT5hcGkpOwpAQCAtODk1LDkgKzg5NSw5IEBAIHZvaWQg
RXdrVmlldzo6c2hvd0NvbnRleHRNZW51KFdlYkNvbnRleHRNZW51UHJveHlFZmwqIGNvbnRleHRN
ZW51UHJveHksIGNvbnN0IFdlCiAgICAgaWYgKG1fY29udGV4dE1lbnUpCiAgICAgICAgIGhpZGVD
b250ZXh0TWVudSgpOwogCi0gICAgbV9jb250ZXh0TWVudSA9IEV3a19Db250ZXh0X01lbnU6OmNy
ZWF0ZSh0aGlzLCBjb250ZXh0TWVudVByb3h5LCBpdGVtcyk7CisgICAgbV9jb250ZXh0TWVudSA9
IEV3a19Db250ZXh0X01lbnU6OmNyZWF0ZSh0aGlzLCBpdGVtcyk7CiAKLSAgICBzZC0+YXBpLT5j
b250ZXh0X21lbnVfc2hvdyhzZCwgcG9zaXRpb24ueCgpLCBwb3NpdGlvbi55KCksIG1fY29udGV4
dE1lbnUuZ2V0KCkpOworICAgIHNkLT5hcGktPmNvbnRleHRfbWVudV9zaG93KHNkLCBwb3NpdGlv
bi54LCBwb3NpdGlvbi55LCBtX2NvbnRleHRNZW51LmdldCgpKTsKIH0KIAogdm9pZCBFd2tWaWV3
OjpoaWRlQ29udGV4dE1lbnUoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9lZmwvRXdrVmlldy5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdr
Vmlldy5oCmluZGV4IDc0Nzk5OGIuLmU4YWY5ZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL2VmbC9Fd2tWaWV3LmgKQEAgLTYzLDggKzYzLDYgQEAgY2xhc3MgUGFnZUxvYWRDbGll
bnRFZmw7CiBjbGFzcyBQYWdlUG9saWN5Q2xpZW50RWZsOwogY2xhc3MgUGFnZVVJQ2xpZW50RWZs
OwogY2xhc3MgVmlld0NsaWVudEVmbDsKLWNsYXNzIFdlYkNvbnRleHRNZW51SXRlbURhdGE7Ci1j
bGFzcyBXZWJDb250ZXh0TWVudVByb3h5RWZsOwogY2xhc3MgV2ViUGFnZUdyb3VwOwogY2xhc3Mg
V2ViUGFnZVByb3h5OwogY2xhc3MgV2ViUG9wdXBJdGVtOwpAQCAtMTkxLDcgKzE4OSw3IEBAIHB1
YmxpYzoKICAgICB2b2lkIHJlcXVlc3RQb3B1cE1lbnUoV2ViS2l0OjpXZWJQb3B1cE1lbnVQcm94
eUVmbCosIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmLCBXZWJDb3JlOjpUZXh0RGlyZWN0aW9uLCBk
b3VibGUgcGFnZVNjYWxlRmFjdG9yLCBjb25zdCBWZWN0b3I8V2ViS2l0OjpXZWJQb3B1cEl0ZW0+
JiBpdGVtcywgaW50MzJfdCBzZWxlY3RlZEluZGV4KTsKICAgICB2b2lkIGNsb3NlUG9wdXBNZW51
KCk7CiAKLSAgICB2b2lkIHNob3dDb250ZXh0TWVudShXZWJLaXQ6OldlYkNvbnRleHRNZW51UHJv
eHlFZmwqLCBjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgcG9zaXRpb24sIGNvbnN0IFZlY3RvcjxX
ZWJLaXQ6OldlYkNvbnRleHRNZW51SXRlbURhdGE+JiBpdGVtcyk7CisgICAgdm9pZCBzaG93Q29u
dGV4dE1lbnUoV0tQb2ludCBwb3NpdGlvbiwgV0tBcnJheVJlZiBpdGVtcyk7CiAgICAgdm9pZCBo
aWRlQ29udGV4dE1lbnUoKTsKIAogICAgIHZvaWQgdXBkYXRlVGV4dElucHV0U3RhdGUoKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0X21l
bnUuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHRfbWVu
dS5jcHAKaW5kZXggOThhNDMxYS4uNTkyOTk3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHRfbWVudS5jcHAKKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHRfbWVudS5jcHAKQEAgLTI4LDM0ICsyOCwz
MiBAQAogCiAjaW5jbHVkZSAiQVBJT2JqZWN0LmgiCiAjaW5jbHVkZSAiRXdrVmlldy5oIgotI2lu
Y2x1ZGUgIldlYkNvbnRleHRNZW51SXRlbURhdGEuaCIKLSNpbmNsdWRlICJXZWJDb250ZXh0TWVu
dVByb3h5RWZsLmgiCisjaW5jbHVkZSAiV0tBcnJheS5oIgorI2luY2x1ZGUgIldLQ29udGV4dE1l
bnVJdGVtLmgiCisjaW5jbHVkZSAiV0tTdHJpbmcuaCIKICNpbmNsdWRlICJld2tfY29udGV4dF9t
ZW51X2l0ZW0uaCIKICNpbmNsdWRlICJld2tfY29udGV4dF9tZW51X2l0ZW1fcHJpdmF0ZS5oIgog
I2luY2x1ZGUgImV3a19jb250ZXh0X21lbnVfcHJpdmF0ZS5oIgogCiB1c2luZyBuYW1lc3BhY2Ug
V2ViS2l0OwogCi1Fd2tDb250ZXh0TWVudTo6RXdrQ29udGV4dE1lbnUoRXdrVmlldyogdmlldywg
V2ViQ29udGV4dE1lbnVQcm94eUVmbCogY29udGV4dE1lbnVQcm94eSwgY29uc3QgVmVjdG9yPFdl
YktpdDo6V2ViQ29udGV4dE1lbnVJdGVtRGF0YT4mIGl0ZW1zKQorRXdrQ29udGV4dE1lbnU6OkV3
a0NvbnRleHRNZW51KEV3a1ZpZXcqIHZpZXcsIFdLQXJyYXlSZWYgaXRlbXMpCiAgICAgOiBtX3Zp
ZXdJbXBsKHZpZXcpCi0gICAgLCBtX2NvbnRleHRNZW51UHJveHkoY29udGV4dE1lbnVQcm94eSkK
ICAgICAsIG1fY29udGV4dE1lbnVJdGVtcygwKQogewotICAgIGNvbnN0IHNpemVfdCBzaXplID0g
aXRlbXMuc2l6ZSgpOworICAgIGNvbnN0IHNpemVfdCBzaXplID0gV0tBcnJheUdldFNpemUoaXRl
bXMpOwogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgc2l6ZTsgKytpKQotICAgICAgICBtX2Nv
bnRleHRNZW51SXRlbXMgPSBlaW5hX2xpc3RfYXBwZW5kKG1fY29udGV4dE1lbnVJdGVtcywgRXdr
X0NvbnRleHRfTWVudV9JdGVtOjpjcmVhdGUoaXRlbXNbaV0pLmxlYWtQdHIoKSk7CisgICAgICAg
IG1fY29udGV4dE1lbnVJdGVtcyA9IGVpbmFfbGlzdF9hcHBlbmQobV9jb250ZXh0TWVudUl0ZW1z
LCBFd2tfQ29udGV4dF9NZW51X0l0ZW06OmNyZWF0ZShzdGF0aWNfY2FzdDxXS0NvbnRleHRNZW51
SXRlbVJlZj4oV0tBcnJheUdldEl0ZW1BdEluZGV4KGl0ZW1zLCBpKSkpLmxlYWtQdHIoKSk7CiB9
CiAKIEV3a0NvbnRleHRNZW51OjpFd2tDb250ZXh0TWVudSgpCiAgICAgOiBtX3ZpZXdJbXBsKDAp
Ci0gICAgLCBtX2NvbnRleHRNZW51UHJveHkoMCkKICAgICAsIG1fY29udGV4dE1lbnVJdGVtcygw
KQogewogfQogCiBFd2tDb250ZXh0TWVudTo6RXdrQ29udGV4dE1lbnUoRWluYV9MaXN0KiBpdGVt
cykKICAgICA6IG1fdmlld0ltcGwoMCkKLSAgICAsIG1fY29udGV4dE1lbnVQcm94eSgwKQogICAg
ICwgbV9jb250ZXh0TWVudUl0ZW1zKDApCiB7CiAgICAgRWluYV9MaXN0KiBsOwpAQCAtODYsOSAr
ODQsOSBAQCB2b2lkIEV3a19Db250ZXh0X01lbnU6OnJlbW92ZUl0ZW0oRXdrQ29udGV4dE1lbnVJ
dGVtKiBpdGVtKQogICAgIG1fY29udGV4dE1lbnVJdGVtcyA9IGVpbmFfbGlzdF9yZW1vdmUobV9j
b250ZXh0TWVudUl0ZW1zLCBpdGVtKTsKIH0KIAotdm9pZCBFd2tDb250ZXh0TWVudTo6Y29udGV4
dE1lbnVJdGVtU2VsZWN0ZWQoY29uc3QgV2ViS2l0OjpXZWJDb250ZXh0TWVudUl0ZW1EYXRhJiBp
dGVtKQordm9pZCBFd2tDb250ZXh0TWVudTo6Y29udGV4dE1lbnVJdGVtU2VsZWN0ZWQoV0tDb250
ZXh0TWVudUl0ZW1SZWYgaXRlbSkKIHsKLSAgICBtX2NvbnRleHRNZW51UHJveHktPmNvbnRleHRN
ZW51SXRlbVNlbGVjdGVkKGl0ZW0pOyAKKyAgICBXS1BhZ2VDb250ZXh0TWVudUl0ZW1TZWxlY3Rl
ZChtX3ZpZXdJbXBsLT53a1BhZ2UoKSwgaXRlbSk7CiB9IAogCiBFd2tfQ29udGV4dF9NZW51KiBl
d2tfY29udGV4dF9tZW51X25ldygpCkBAIC0xNDAsMTAgKzEzOCwyMCBAQCBFaW5hX0Jvb2wgZXdr
X2NvbnRleHRfbWVudV9pdGVtX3NlbGVjdChFd2tfQ29udGV4dF9NZW51KiBtZW51LCBFd2tfQ29u
dGV4dF9NZW51XwogICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJOX1ZBTChtZW51LCBmYWxz
ZSk7CiAgICAgRUlOQV9TQUZFVFlfT05fTlVMTF9SRVRVUk5fVkFMKGl0ZW0sIGZhbHNlKTsKIAot
ICAgIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVR5cGUgdHlwZSA9IHN0YXRpY19jYXN0PFdlYkNv
cmU6OkNvbnRleHRNZW51SXRlbVR5cGU+KGl0ZW0tPnR5cGUoKSk7Ci0gICAgV2ViQ29yZTo6Q29u
dGV4dE1lbnVBY3Rpb24gYWN0aW9uID0gc3RhdGljX2Nhc3Q8V2ViQ29yZTo6Q29udGV4dE1lbnVB
Y3Rpb24+KGl0ZW0tPmFjdGlvbigpKTsKKyAgICBXS0NvbnRleHRNZW51SXRlbVJlZiB3a0l0ZW07
CiAKLSAgICBtZW51LT5jb250ZXh0TWVudUl0ZW1TZWxlY3RlZChXZWJDb250ZXh0TWVudUl0ZW1E
YXRhKHR5cGUsIGFjdGlvbiwgaXRlbS0+dGl0bGUoKSwgaXRlbS0+ZW5hYmxlZCgpLCBpdGVtLT5j
aGVja2VkKCkpKTsKKyAgICBzd2l0Y2ggKGl0ZW0tPnR5cGUoKSkgeworICAgIGNhc2UgRVdLX0FD
VElPTl9UWVBFOgorICAgICAgICB3a0l0ZW0gPSBXS0NvbnRleHRNZW51SXRlbUNyZWF0ZUFzQWN0
aW9uKHN0YXRpY19jYXN0PFdLQ29udGV4dE1lbnVJdGVtVGFnPihpdGVtLT5hY3Rpb24oKSksIFdL
U3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKGl0ZW0tPnRpdGxlKCkpLCBpdGVtLT5lbmFibGVk
KCkpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIEVXS19DSEVDS0FCTEVfQUNUSU9OX1RZUEU6
CisgICAgICAgIHdrSXRlbSA9IFdLQ29udGV4dE1lbnVJdGVtQ3JlYXRlQXNDaGVja2FibGVBY3Rp
b24oc3RhdGljX2Nhc3Q8V0tDb250ZXh0TWVudUl0ZW1UYWc+KGl0ZW0tPmFjdGlvbigpKSwgV0tT
dHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoaXRlbS0+dGl0bGUoKSksIGl0ZW0tPmVuYWJsZWQo
KSwgaXRlbS0+Y2hlY2tlZCgpKTsKKyAgICAgICAgYnJlYWs7CisgICAgZGVmYXVsdDoKKyAgICAg
ICAgcmV0dXJuIGZhbHNlOworICAgIH0KKworICAgIG1lbnUtPmNvbnRleHRNZW51SXRlbVNlbGVj
dGVkKHdrSXRlbSk7CiAKICAgICByZXR1cm4gdHJ1ZTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0X21lbnVfaXRlbS5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dF9tZW51X2l0ZW0uY3BwCmlu
ZGV4IDFmZjg2NTIuLmVjNmQxMzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZWZsL2V3a19jb250ZXh0X21lbnVfaXRlbS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHRfbWVudV9pdGVtLmNwcApAQCAtMjYsMTkgKzI2
LDE5IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiZXdrX2NvbnRleHRfbWVudV9p
dGVtLmgiCiAKKyNpbmNsdWRlICJXS0NvbnRleHRNZW51SXRlbVR5cGVzLmgiCiAjaW5jbHVkZSAi
ZXdrX2NvbnRleHRfbWVudV9pdGVtX3ByaXZhdGUuaCIKICNpbmNsdWRlICJld2tfcHJpdmF0ZS5o
IgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KIAotdXNpbmcgbmFtZXNwYWNlIFdlYkNv
cmU7CiB1c2luZyBuYW1lc3BhY2UgV2ViS2l0OwogCi1Fd2tDb250ZXh0TWVudUl0ZW06OkV3a0Nv
bnRleHRNZW51SXRlbShjb25zdCBXZWJDb250ZXh0TWVudUl0ZW1EYXRhJiBpdGVtKQotICAgIDog
bV90eXBlKHN0YXRpY19jYXN0PEV3a19Db250ZXh0X01lbnVfSXRlbV9UeXBlPihpdGVtLnR5cGUo
KSkpCi0gICAgLCBtX2FjdGlvbihzdGF0aWNfY2FzdDxFd2tfQ29udGV4dF9NZW51X0l0ZW1fQWN0
aW9uPihpdGVtLmFjdGlvbigpKSkKLSAgICAsIG1fdGl0bGUoaXRlbS50aXRsZSgpLnV0ZjgoKS5k
YXRhKCkpCi0gICAgLCBtX2lzQ2hlY2tlZChpdGVtLmNoZWNrZWQoKSkKLSAgICAsIG1faXNFbmFi
bGVkKGl0ZW0uZW5hYmxlZCgpKQorRXdrQ29udGV4dE1lbnVJdGVtOjpFd2tDb250ZXh0TWVudUl0
ZW0oV0tDb250ZXh0TWVudUl0ZW1SZWYgaXRlbSkKKyAgICA6IG1fdHlwZShzdGF0aWNfY2FzdDxF
d2tfQ29udGV4dF9NZW51X0l0ZW1fVHlwZT4oV0tDb250ZXh0TWVudUl0ZW1HZXRUeXBlKGl0ZW0p
KSkKKyAgICAsIG1fYWN0aW9uKHN0YXRpY19jYXN0PEV3a19Db250ZXh0X01lbnVfSXRlbV9BY3Rp
b24+KFdLQ29udGV4dE1lbnVJdGVtR2V0VGFnKGl0ZW0pKSkKKyAgICAsIG1fdGl0bGUoV0tFaW5h
U2hhcmVkU3RyaW5nKFdLQ29udGV4dE1lbnVJdGVtQ29weVRpdGxlKGl0ZW0pKSkKKyAgICAsIG1f
aXNDaGVja2VkKFdLQ29udGV4dE1lbnVJdGVtR2V0Q2hlY2tlZChpdGVtKSkKKyAgICAsIG1faXNF
bmFibGVkKFdLQ29udGV4dE1lbnVJdGVtR2V0RW5hYmxlZChpdGVtKSkKICAgICAsIG1fcGFyZW50
TWVudSgwKQogICAgICwgbV9zdWJNZW51KDApCiB7CkBAIC0xNDUsODAgKzE0NSw4OCBAQCBFaW5h
X0Jvb2wgZXdrX2NvbnRleHRfbWVudV9pdGVtX2VuYWJsZWRfc2V0KEV3a19Db250ZXh0X01lbnVf
SXRlbSogaXRlbSwgRWluYV9CbwogICAgIHJldHVybiB0cnVlOwogfQogCi1DT01QSUxFX0FTU0VS
VF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfTk9fQUNUSU9OLCBXZWJD
b3JlOjpDb250ZXh0TWVudUl0ZW1UYWdOb0FjdGlvbik7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElO
R19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfT1BFTl9MSU5LX0lOX05FV19XSU5ET1cs
IFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ09wZW5MaW5rSW5OZXdXaW5kb3cpOwotQ09NUElM
RV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0RPV05MT0FE
X0xJTktfVE9fRElTSywgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnRG93bmxvYWRMaW5rVG9E
aXNrKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVN
X1RBR19DT1BZX0xJTktfVE9fQ0xJUEJPQVJELCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdD
b3B5TGlua1RvQ2xpcGJvYXJkKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NP
TlRFWFRfTUVOVV9JVEVNX1RBR19PUEVOX0lNQUdFX0lOX05FV19XSU5ET1csIFdlYkNvcmU6OkNv
bnRleHRNZW51SXRlbVRhZ09wZW5JbWFnZUluTmV3V2luZG93KTsKLUNPTVBJTEVfQVNTRVJUX01B
VENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19ET1dOTE9BRF9JTUFHRV9UT19E
SVNLLCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdEb3dubG9hZEltYWdlVG9EaXNrKTsKLUNP
TVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19DT1BZ
X0lNQUdFX1RPX0NMSVBCT0FSRCwgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnQ29weUltYWdl
VG9DbGlwYm9hcmQpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9N
RU5VX0lURU1fVEFHX0NPUFlfSU1BR0VfVVJMX1RPX0NMSVBCT0FSRCwgV2ViQ29yZTo6Q29udGV4
dE1lbnVJdGVtVGFnQ29weUltYWdlVXJsVG9DbGlwYm9hcmQpOwotQ09NUElMRV9BU1NFUlRfTUFU
Q0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX09QRU5fRlJBTUVfSU5fTkVXX1dJ
TkRPVywgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnT3BlbkZyYW1lSW5OZXdXaW5kb3cpOwot
Q09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0NP
UFksIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ0NvcHkpOwotQ09NUElMRV9BU1NFUlRfTUFU
Q0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0dPX0JBQ0ssIFdlYkNvcmU6OkNv
bnRleHRNZW51SXRlbVRhZ0dvQmFjayk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVX
S19DT05URVhUX01FTlVfSVRFTV9UQUdfR09fRk9SV0FSRCwgV2ViQ29yZTo6Q29udGV4dE1lbnVJ
dGVtVGFnR29Gb3J3YXJkKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRF
WFRfTUVOVV9JVEVNX1RBR19TVE9QLCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdTdG9wKTsK
LUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19S
RUxPQUQsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ1JlbG9hZCk7Ci1DT01QSUxFX0FTU0VS
VF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfQ1VULCBXZWJDb3JlOjpD
b250ZXh0TWVudUl0ZW1UYWdDdXQpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tf
Q09OVEVYVF9NRU5VX0lURU1fVEFHX1BBU1RFLCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdQ
YXN0ZSk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRF
TV9UQUdfU0VMRUNUX0FMTCwgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnU2VsZWN0QWxsKTsK
LUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19T
UEVMTElOR19HVUVTUywgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnU3BlbGxpbmdHdWVzcyk7
Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdf
Tk9fR1VFU1NFU19GT1VORCwgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnTm9HdWVzc2VzRm91
bmQpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1f
VEFHX0lHTk9SRV9TUEVMTElORywgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnSWdub3JlU3Bl
bGxpbmcpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lU
RU1fVEFHX0xFQVJOX1NQRUxMSU5HLCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdMZWFyblNw
ZWxsaW5nKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9J
VEVNX1RBR19PVEhFUiwgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnT3RoZXIpOwotQ09NUElM
RV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1NFQVJDSF9J
Tl9TUE9UTElHSFQsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ1NlYXJjaEluU3BvdGxpZ2h0
KTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RB
R19TRUFSQ0hfV0VCLCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdTZWFyY2hXZWIpOwotQ09N
UElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0xPT0tf
VVBfSU5fRElDVElPTkFSWSwgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnTG9va1VwSW5EaWN0
aW9uYXJ5KTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9J
VEVNX1RBR19PUEVOX1dJVEhfREVGQVVMVF9BUFBMSUNBVElPTiwgV2ViQ29yZTo6Q29udGV4dE1l
bnVJdGVtVGFnT3BlbldpdGhEZWZhdWx0QXBwbGljYXRpb24pOwotQ09NUElMRV9BU1NFUlRfTUFU
Q0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fUERGQUNUVUFMX1NJWkUsIFdlYkNvcmU6
OkNvbnRleHRNZW51SXRlbVBERkFjdHVhbFNpemUpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdf
RU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fUERGWk9PTV9JTiwgV2ViQ29yZTo6Q29udGV4dE1l
bnVJdGVtUERGWm9vbUluKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRF
WFRfTUVOVV9JVEVNX1BERlpPT01fT1VULCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1QREZab29t
T3V0KTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVN
X1BERkFVVE9fU0laRSwgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtUERGQXV0b1NpemUpOwotQ09N
UElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fUERGU0lOR0xF
X1BBR0UsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVBERlNpbmdsZVBhZ2UpOwotQ09NUElMRV9B
U1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fUERGRkFDSU5HX1BBR0VT
LCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1QREZGYWNpbmdQYWdlcyk7Ci1DT01QSUxFX0FTU0VS
VF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9QREZDT05USU5VT1VTLCBXZWJD
b3JlOjpDb250ZXh0TWVudUl0ZW1QREZDb250aW51b3VzKTsKLUNPTVBJTEVfQVNTRVJUX01BVENI
SU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1BERk5FWFRfUEFHRSwgV2ViQ29yZTo6Q29u
dGV4dE1lbnVJdGVtUERGTmV4dFBhZ2UpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShF
V0tfQ09OVEVYVF9NRU5VX0lURU1fUERGUFJFVklPVVNfUEFHRSwgV2ViQ29yZTo6Q29udGV4dE1l
bnVJdGVtUERGUHJldmlvdXNQYWdlKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdL
X0NPTlRFWFRfTUVOVV9JVEVNX1RBR19PUEVOX0xJTkssIFdlYkNvcmU6OkNvbnRleHRNZW51SXRl
bVRhZ09wZW5MaW5rKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRf
TUVOVV9JVEVNX1RBR19JR05PUkVfR1JBTU1BUiwgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFn
SWdub3JlR3JhbW1hcik7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhU
X01FTlVfSVRFTV9UQUdfU1BFTExJTkdfTUVOVSwgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFn
U3BlbGxpbmdNZW51KTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRf
TUVOVV9JVEVNX1RBR19TSE9XX1NQRUxMSU5HX1BBTkVMLCBXZWJDb3JlOjpDb250ZXh0TWVudUl0
ZW1UYWdTaG93U3BlbGxpbmdQYW5lbCk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVX
S19DT05URVhUX01FTlVfSVRFTV9UQUdfQ0hFQ0tfU1BFTExJTkcsIFdlYkNvcmU6OkNvbnRleHRN
ZW51SXRlbVRhZ0NoZWNrU3BlbGxpbmcpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShF
V0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0NIRUNLX1NQRUxMSU5HX1dISUxFX1RZUElORywgV2Vi
Q29yZTo6Q29udGV4dE1lbnVJdGVtVGFnQ2hlY2tTcGVsbGluZ1doaWxlVHlwaW5nKTsKLUNPTVBJ
TEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19DSEVDS19H
UkFNTUFSX1dJVEhfU1BFTExJTkcsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ0NoZWNrR3Jh
bW1hcldpdGhTcGVsbGluZyk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05U
RVhUX01FTlVfSVRFTV9UQUdfRk9OVF9NRU5VLCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdG
b250TWVudSk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVf
SVRFTV9UQUdfU0hPV19GT05UUywgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnU2hvd0ZvbnRz
KTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RB
R19CT0xELCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdCb2xkKTsKLUNPTVBJTEVfQVNTRVJU
X01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19JVEFMSUMsIFdlYkNvcmU6
OkNvbnRleHRNZW51SXRlbVRhZ0l0YWxpYyk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVN
KEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfVU5ERVJMSU5FLCBXZWJDb3JlOjpDb250ZXh0TWVu
dUl0ZW1UYWdVbmRlcmxpbmUpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09O
VEVYVF9NRU5VX0lURU1fVEFHX09VVExJTkUsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ091
dGxpbmUpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lU
RU1fVEFHX1NUWUxFUywgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnU3R5bGVzKTsKLUNPTVBJ
TEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19TSE9XX0NP
TE9SUywgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnU2hvd0NvbG9ycyk7Ci1DT01QSUxFX0FT
U0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfU1BFRUNIX01FTlUs
IFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ1NwZWVjaE1lbnUpOwotQ09NUElMRV9BU1NFUlRf
TUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1NUQVJUX1NQRUFLSU5HLCBX
ZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdTdGFydFNwZWFraW5nKTsKLUNPTVBJTEVfQVNTRVJU
X01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19TVE9QX1NQRUFLSU5HLCBX
ZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdTdG9wU3BlYWtpbmcpOwotQ09NUElMRV9BU1NFUlRf
TUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1dSSVRJTkdfRElSRUNUSU9O
X01FTlUsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ1dyaXRpbmdEaXJlY3Rpb25NZW51KTsK
LUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19E
RUZBVUxUX0RJUkVDVElPTiwgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnRGVmYXVsdERpcmVj
dGlvbik7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRF
TV9UQUdfTEVGVF9UT19SSUdIVCwgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnTGVmdFRvUmln
aHQpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1f
VEFHX1JJR0hUX1RPX0xFRlQsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ1JpZ2h0VG9MZWZ0
KTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RB
R19QREZTSU5HTEVfUEFHRV9TQ1JPTExJTkcsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ1BE
RlNpbmdsZVBhZ2VTY3JvbGxpbmcpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tf
Q09OVEVYVF9NRU5VX0lURU1fVEFHX1BERkZBQ0lOR19QQUdFU19TQ1JPTExJTkcsIFdlYkNvcmU6
OkNvbnRleHRNZW51SXRlbVRhZ1BERkZhY2luZ1BhZ2VzU2Nyb2xsaW5nKTsKLSNpZiBFTkFCTEUo
SU5TUEVDVE9SKQotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5V
X0lURU1fVEFHX0lOU1BFQ1RfRUxFTUVOVCwgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnSW5z
cGVjdEVsZW1lbnQpOwotI2VuZGlmCi1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19D
T05URVhUX01FTlVfSVRFTV9UQUdfVEVYVF9ESVJFQ1RJT05fTUVOVSwgV2ViQ29yZTo6Q29udGV4
dE1lbnVJdGVtVGFnVGV4dERpcmVjdGlvbk1lbnUpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdf
RU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1RFWFRfRElSRUNUSU9OX0RFRkFVTFQsIFdl
YkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ1RleHREaXJlY3Rpb25EZWZhdWx0KTsKLUNPTVBJTEVf
QVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19URVhUX0RJUkVD
VElPTl9MRUZUX1RPX1JJR0hULCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdUZXh0RGlyZWN0
aW9uTGVmdFRvUmlnaHQpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVY
VF9NRU5VX0lURU1fVEFHX1RFWFRfRElSRUNUSU9OX1JJR0hUX1RPX0xFRlQsIFdlYkNvcmU6OkNv
bnRleHRNZW51SXRlbVRhZ1RleHREaXJlY3Rpb25SaWdodFRvTGVmdCk7Ci1DT01QSUxFX0FTU0VS
VF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9PUEVOX01FRElBX0lOX05FV19X
SU5ET1csIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ09wZW5NZWRpYUluTmV3V2luZG93KTsK
LUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19D
T1BZX01FRElBX0xJTktfVE9fQ0xJUEJPQVJELCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdD
b3B5TWVkaWFMaW5rVG9DbGlwYm9hcmQpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShF
V0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1RPR0dMRV9NRURJQV9DT05UUk9MUywgV2ViQ29yZTo6
Q29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlTWVkaWFDb250cm9scyk7Ci1DT01QSUxFX0FTU0VSVF9N
QVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfVE9HR0xFX01FRElBX0xPT1As
IFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ1RvZ2dsZU1lZGlhTG9vcCk7Ci1DT01QSUxFX0FT
U0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfRU5URVJfVklERU9f
RlVMTFNDUkVFTiwgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnRW50ZXJWaWRlb0Z1bGxzY3Jl
ZW4pOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1f
VEFHX01FRElBX1BMQVlfUEFVU0UsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ01lZGlhUGxh
eVBhdXNlKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9J
VEVNX1RBR19NRURJQV9NVVRFLCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdNZWRpYU11dGUp
OwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fQkFT
RV9DVVNUT01fVEFHLCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1CYXNlQ3VzdG9tVGFnKTsKLUNP
TVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX0NVU1RPTV9U
QUdfTk9fQUNUSU9OLCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1DdXN0b21UYWdOb0FjdGlvbik7
Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9MQVNU
X0NVU1RPTV9UQUcsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbUxhc3RDdXN0b21UYWcpOwotQ09N
UElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fQkFTRV9BUFBM
SUNBVElPTl9UQUcsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbUJhc2VBcHBsaWNhdGlvblRhZyk7
CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdf
Tk9fQUNUSU9OLCBrV0tDb250ZXh0TWVudUl0ZW1UYWdOb0FjdGlvbik7CitDT01QSUxFX0FTU0VS
VF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfT1BFTl9MSU5LX0lOX05F
V19XSU5ET1csIGtXS0NvbnRleHRNZW51SXRlbVRhZ09wZW5MaW5rSW5OZXdXaW5kb3cpOworQ09N
UElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0RPV05M
T0FEX0xJTktfVE9fRElTSywga1dLQ29udGV4dE1lbnVJdGVtVGFnRG93bmxvYWRMaW5rVG9EaXNr
KTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RB
R19DT1BZX0xJTktfVE9fQ0xJUEJPQVJELCBrV0tDb250ZXh0TWVudUl0ZW1UYWdDb3B5TGlua1Rv
Q2xpcGJvYXJkKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVO
VV9JVEVNX1RBR19PUEVOX0lNQUdFX0lOX05FV19XSU5ET1csIGtXS0NvbnRleHRNZW51SXRlbVRh
Z09wZW5JbWFnZUluTmV3V2luZG93KTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdL
X0NPTlRFWFRfTUVOVV9JVEVNX1RBR19ET1dOTE9BRF9JTUFHRV9UT19ESVNLLCBrV0tDb250ZXh0
TWVudUl0ZW1UYWdEb3dubG9hZEltYWdlVG9EaXNrKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5H
X0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19DT1BZX0lNQUdFX1RPX0NMSVBCT0FSRCwg
a1dLQ29udGV4dE1lbnVJdGVtVGFnQ29weUltYWdlVG9DbGlwYm9hcmQpOworQ09NUElMRV9BU1NF
UlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0NPUFlfSU1BR0VfVVJM
X1RPX0NMSVBCT0FSRCwga1dLQ29udGV4dE1lbnVJdGVtVGFnQ29weUltYWdlVXJsVG9DbGlwYm9h
cmQpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1f
VEFHX09QRU5fRlJBTUVfSU5fTkVXX1dJTkRPVywga1dLQ29udGV4dE1lbnVJdGVtVGFnT3BlbkZy
YW1lSW5OZXdXaW5kb3cpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVY
VF9NRU5VX0lURU1fVEFHX0NPUFksIGtXS0NvbnRleHRNZW51SXRlbVRhZ0NvcHkpOworQ09NUElM
RV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0dPX0JBQ0ss
IGtXS0NvbnRleHRNZW51SXRlbVRhZ0dvQmFjayk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19F
TlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfR09fRk9SV0FSRCwga1dLQ29udGV4dE1lbnVJ
dGVtVGFnR29Gb3J3YXJkKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRF
WFRfTUVOVV9JVEVNX1RBR19TVE9QLCBrV0tDb250ZXh0TWVudUl0ZW1UYWdTdG9wKTsKK0NPTVBJ
TEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19SRUxPQUQs
IGtXS0NvbnRleHRNZW51SXRlbVRhZ1JlbG9hZCk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19F
TlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfQ1VULCBrV0tDb250ZXh0TWVudUl0ZW1UYWdD
dXQpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1f
VEFHX1BBU1RFLCBrV0tDb250ZXh0TWVudUl0ZW1UYWdQYXN0ZSk7CitDT01QSUxFX0FTU0VSVF9N
QVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfU0VMRUNUX0FMTCwga1dLQ29u
dGV4dE1lbnVJdGVtVGFnU2VsZWN0QWxsKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0o
RVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19TUEVMTElOR19HVUVTUywga1dLQ29udGV4dE1lbnVJ
dGVtVGFnU3BlbGxpbmdHdWVzcyk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19D
T05URVhUX01FTlVfSVRFTV9UQUdfTk9fR1VFU1NFU19GT1VORCwga1dLQ29udGV4dE1lbnVJdGVt
VGFnTm9HdWVzc2VzRm91bmQpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09O
VEVYVF9NRU5VX0lURU1fVEFHX0lHTk9SRV9TUEVMTElORywga1dLQ29udGV4dE1lbnVJdGVtVGFn
SWdub3JlU3BlbGxpbmcpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVY
VF9NRU5VX0lURU1fVEFHX0xFQVJOX1NQRUxMSU5HLCBrV0tDb250ZXh0TWVudUl0ZW1UYWdMZWFy
blNwZWxsaW5nKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVO
VV9JVEVNX1RBR19PVEhFUiwga1dLQ29udGV4dE1lbnVJdGVtVGFnT3RoZXIpOworQ09NUElMRV9B
U1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1NFQVJDSF9JTl9T
UE9UTElHSFQsIGtXS0NvbnRleHRNZW51SXRlbVRhZ1NlYXJjaEluU3BvdGxpZ2h0KTsKK0NPTVBJ
TEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19TRUFSQ0hf
V0VCLCBrV0tDb250ZXh0TWVudUl0ZW1UYWdTZWFyY2hXZWIpOworQ09NUElMRV9BU1NFUlRfTUFU
Q0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0xPT0tfVVBfSU5fRElDVElPTkFS
WSwga1dLQ29udGV4dE1lbnVJdGVtVGFnTG9va1VwSW5EaWN0aW9uYXJ5KTsKK0NPTVBJTEVfQVNT
RVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19PUEVOX1dJVEhfREVG
QVVMVF9BUFBMSUNBVElPTiwga1dLQ29udGV4dE1lbnVJdGVtVGFnT3BlbldpdGhEZWZhdWx0QXBw
bGljYXRpb24pOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5V
X0lURU1fUERGQUNUVUFMX1NJWkUsIGtXS0NvbnRleHRNZW51SXRlbVRhZ1BERkFjdHVhbFNpemUp
OworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fUERG
Wk9PTV9JTiwga1dLQ29udGV4dE1lbnVJdGVtVGFnUERGWm9vbUluKTsKK0NPTVBJTEVfQVNTRVJU
X01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1BERlpPT01fT1VULCBrV0tDb250
ZXh0TWVudUl0ZW1UYWdQREZab29tT3V0KTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0o
RVdLX0NPTlRFWFRfTUVOVV9JVEVNX1BERkFVVE9fU0laRSwga1dLQ29udGV4dE1lbnVJdGVtVGFn
UERGQXV0b1NpemUpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9N
RU5VX0lURU1fUERGU0lOR0xFX1BBR0UsIGtXS0NvbnRleHRNZW51SXRlbVRhZ1BERlNpbmdsZVBh
Z2UpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1f
UERGRkFDSU5HX1BBR0VTLCBrV0tDb250ZXh0TWVudUl0ZW1UYWdQREZGYWNpbmdQYWdlcyk7CitD
T01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9QREZDT05U
SU5VT1VTLCBrV0tDb250ZXh0TWVudUl0ZW1UYWdQREZDb250aW51b3VzKTsKK0NPTVBJTEVfQVNT
RVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1BERk5FWFRfUEFHRSwga1dL
Q29udGV4dE1lbnVJdGVtVGFnUERGTmV4dFBhZ2UpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdf
RU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fUERGUFJFVklPVVNfUEFHRSwga1dLQ29udGV4dE1l
bnVJdGVtVGFnUERGUHJldmlvdXNQYWdlKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0o
RVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19PUEVOX0xJTkssIGtXS0NvbnRleHRNZW51SXRlbVRh
Z09wZW5MaW5rKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVO
VV9JVEVNX1RBR19JR05PUkVfR1JBTU1BUiwga1dLQ29udGV4dE1lbnVJdGVtVGFnSWdub3JlR3Jh
bW1hcik7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRF
TV9UQUdfU1BFTExJTkdfTUVOVSwga1dLQ29udGV4dE1lbnVJdGVtVGFnU3BlbGxpbmdNZW51KTsK
K0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19T
SE9XX1NQRUxMSU5HX1BBTkVMLCBrV0tDb250ZXh0TWVudUl0ZW1UYWdTaG93U3BlbGxpbmdQYW5l
bCk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9U
QUdfQ0hFQ0tfU1BFTExJTkcsIGtXS0NvbnRleHRNZW51SXRlbVRhZ0NoZWNrU3BlbGxpbmcpOwor
Q09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0NI
RUNLX1NQRUxMSU5HX1dISUxFX1RZUElORywga1dLQ29udGV4dE1lbnVJdGVtVGFnQ2hlY2tTcGVs
bGluZ1doaWxlVHlwaW5nKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRF
WFRfTUVOVV9JVEVNX1RBR19DSEVDS19HUkFNTUFSX1dJVEhfU1BFTExJTkcsIGtXS0NvbnRleHRN
ZW51SXRlbVRhZ0NoZWNrR3JhbW1hcldpdGhTcGVsbGluZyk7CitDT01QSUxFX0FTU0VSVF9NQVRD
SElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfRk9OVF9NRU5VLCBrV0tDb250ZXh0
TWVudUl0ZW1UYWdGb250TWVudSk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19D
T05URVhUX01FTlVfSVRFTV9UQUdfU0hPV19GT05UUywga1dLQ29udGV4dE1lbnVJdGVtVGFnU2hv
d0ZvbnRzKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9J
VEVNX1RBR19CT0xELCBrV0tDb250ZXh0TWVudUl0ZW1UYWdCb2xkKTsKK0NPTVBJTEVfQVNTRVJU
X01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19JVEFMSUMsIGtXS0NvbnRl
eHRNZW51SXRlbVRhZ0l0YWxpYyk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19D
T05URVhUX01FTlVfSVRFTV9UQUdfVU5ERVJMSU5FLCBrV0tDb250ZXh0TWVudUl0ZW1UYWdVbmRl
cmxpbmUpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lU
RU1fVEFHX09VVExJTkUsIGtXS0NvbnRleHRNZW51SXRlbVRhZ091dGxpbmUpOworQ09NUElMRV9B
U1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1NUWUxFUywga1dL
Q29udGV4dE1lbnVJdGVtVGFnU3R5bGVzKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0o
RVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19TSE9XX0NPTE9SUywga1dLQ29udGV4dE1lbnVJdGVt
VGFnU2hvd0NvbG9ycyk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhU
X01FTlVfSVRFTV9UQUdfU1BFRUNIX01FTlUsIGtXS0NvbnRleHRNZW51SXRlbVRhZ1NwZWVjaE1l
bnUpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1f
VEFHX1NUQVJUX1NQRUFLSU5HLCBrV0tDb250ZXh0TWVudUl0ZW1UYWdTdGFydFNwZWFraW5nKTsK
K0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19T
VE9QX1NQRUFLSU5HLCBrV0tDb250ZXh0TWVudUl0ZW1UYWdTdG9wU3BlYWtpbmcpOworQ09NUElM
RV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1dSSVRJTkdf
RElSRUNUSU9OX01FTlUsIGtXS0NvbnRleHRNZW51SXRlbVRhZ1dyaXRpbmdEaXJlY3Rpb25NZW51
KTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RB
R19ERUZBVUxUX0RJUkVDVElPTiwga1dLQ29udGV4dE1lbnVJdGVtVGFnRGVmYXVsdERpcmVjdGlv
bik7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9U
QUdfTEVGVF9UT19SSUdIVCwga1dLQ29udGV4dE1lbnVJdGVtVGFnTGVmdFRvUmlnaHQpOworQ09N
UElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1JJR0hU
X1RPX0xFRlQsIGtXS0NvbnRleHRNZW51SXRlbVRhZ1JpZ2h0VG9MZWZ0KTsKK0NPTVBJTEVfQVNT
RVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19QREZTSU5HTEVfUEFH
RV9TQ1JPTExJTkcsIGtXS0NvbnRleHRNZW51SXRlbVRhZ1BERlNpbmdsZVBhZ2VTY3JvbGxpbmcp
OworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFH
X1BERkZBQ0lOR19QQUdFU19TQ1JPTExJTkcsIGtXS0NvbnRleHRNZW51SXRlbVRhZ1BERkZhY2lu
Z1BhZ2VzU2Nyb2xsaW5nKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRF
WFRfTUVOVV9JVEVNX1RBR19JTlNQRUNUX0VMRU1FTlQsIGtXS0NvbnRleHRNZW51SXRlbVRhZ0lu
c3BlY3RFbGVtZW50KTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRf
TUVOVV9JVEVNX1RBR19URVhUX0RJUkVDVElPTl9NRU5VLCBrV0tDb250ZXh0TWVudUl0ZW1UYWdU
ZXh0RGlyZWN0aW9uTWVudSk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05U
RVhUX01FTlVfSVRFTV9UQUdfVEVYVF9ESVJFQ1RJT05fREVGQVVMVCwga1dLQ29udGV4dE1lbnVJ
dGVtVGFnVGV4dERpcmVjdGlvbkRlZmF1bHQpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5V
TShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1RFWFRfRElSRUNUSU9OX0xFRlRfVE9fUklHSFQs
IGtXS0NvbnRleHRNZW51SXRlbVRhZ1RleHREaXJlY3Rpb25MZWZ0VG9SaWdodCk7CitDT01QSUxF
X0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfVEVYVF9ESVJF
Q1RJT05fUklHSFRfVE9fTEVGVCwga1dLQ29udGV4dE1lbnVJdGVtVGFnVGV4dERpcmVjdGlvblJp
Z2h0VG9MZWZ0KTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVO
VV9JVEVNX1RBR19DT1JSRUNUX1NQRUxMSU5HX0FVVE9NQVRJQ0FMTFksIGtXS0NvbnRleHRNZW51
SXRlbVRhZ0NvcnJlY3RTcGVsbGluZ0F1dG9tYXRpY2FsbHkpOworQ09NUElMRV9BU1NFUlRfTUFU
Q0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1NVQlNUSVRVVElPTlNfTUVOVSwg
a1dLQ29udGV4dE1lbnVJdGVtVGFnU3Vic3RpdHV0aW9uc01lbnUpOworQ09NUElMRV9BU1NFUlRf
TUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1NIT1dfU1VCU1RJVFVUSU9O
Uywga1dLQ29udGV4dE1lbnVJdGVtVGFnU2hvd1N1YnN0aXR1dGlvbnMpOworQ09NUElMRV9BU1NF
UlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1NNQVJUX0NPUFlfUEFT
VEUsIGtXS0NvbnRleHRNZW51SXRlbVRhZ1NtYXJ0Q29weVBhc3RlKTsKK0NPTVBJTEVfQVNTRVJU
X01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19TTUFSVF9RVU9URVMsIGtX
S0NvbnRleHRNZW51SXRlbVRhZ1NtYXJ0UXVvdGVzKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5H
X0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19TTUFSVF9EQVNIRVMsIGtXS0NvbnRleHRN
ZW51SXRlbVRhZ1NtYXJ0RGFzaGVzKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdL
X0NPTlRFWFRfTUVOVV9JVEVNX1RBR19TTUFSVF9MSU5LUywga1dLQ29udGV4dE1lbnVJdGVtVGFn
U21hcnRMaW5rcyk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01F
TlVfSVRFTV9UQUdfVEVYVF9SRVBMQUNFTUVOVCwga1dLQ29udGV4dE1lbnVJdGVtVGFnVGV4dFJl
cGxhY2VtZW50KTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVO
VV9JVEVNX1RBR19UUkFOU0ZPUk1BVElPTlNfTUVOVSwga1dLQ29udGV4dE1lbnVJdGVtVGFnVHJh
bnNmb3JtYXRpb25zTWVudSk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05U
RVhUX01FTlVfSVRFTV9UQUdfTUFLRV9VUFBFUl9DQVNFLCBrV0tDb250ZXh0TWVudUl0ZW1UYWdN
YWtlVXBwZXJDYXNlKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRf
TUVOVV9JVEVNX1RBR19NQUtFX0xPV0VSX0NBU0UsIGtXS0NvbnRleHRNZW51SXRlbVRhZ01ha2VM
b3dlckNhc2UpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5V
X0lURU1fVEFHX0NBUElUQUxJWkUsIGtXS0NvbnRleHRNZW51SXRlbVRhZ0NhcGl0YWxpemUpOwor
Q09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0NI
QU5HRV9CQUNLLCBrV0tDb250ZXh0TWVudUl0ZW1UYWdDaGFuZ2VCYWNrKTsKK0NPTVBJTEVfQVNT
RVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX09QRU5fTUVESUFfSU5fTkVX
X1dJTkRPVywga1dLQ29udGV4dE1lbnVJdGVtVGFnT3Blbk1lZGlhSW5OZXdXaW5kb3cpOworQ09N
UElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0NPUFlf
TUVESUFfTElOS19UT19DTElQQk9BUkQsIGtXS0NvbnRleHRNZW51SXRlbVRhZ0NvcHlNZWRpYUxp
bmtUb0NsaXBib2FyZCk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhU
X01FTlVfSVRFTV9UQUdfVE9HR0xFX01FRElBX0NPTlRST0xTLCBrV0tDb250ZXh0TWVudUl0ZW1U
YWdUb2dnbGVNZWRpYUNvbnRyb2xzKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdL
X0NPTlRFWFRfTUVOVV9JVEVNX1RBR19UT0dHTEVfTUVESUFfTE9PUCwga1dLQ29udGV4dE1lbnVJ
dGVtVGFnVG9nZ2xlTWVkaWFMb29wKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdL
X0NPTlRFWFRfTUVOVV9JVEVNX1RBR19FTlRFUl9WSURFT19GVUxMU0NSRUVOLCBrV0tDb250ZXh0
TWVudUl0ZW1UYWdFbnRlclZpZGVvRnVsbHNjcmVlbik7CitDT01QSUxFX0FTU0VSVF9NQVRDSElO
R19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfTUVESUFfUExBWV9QQVVTRSwga1dLQ29u
dGV4dE1lbnVJdGVtVGFnTWVkaWFQbGF5UGF1c2UpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdf
RU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX01FRElBX01VVEUsIGtXS0NvbnRleHRNZW51
SXRlbVRhZ01lZGlhTXV0ZSk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05U
RVhUX01FTlVfSVRFTV9CQVNFX0FQUExJQ0FUSU9OX1RBRywga1dLQ29udGV4dE1lbnVJdGVtQmFz
ZUFwcGxpY2F0aW9uVGFnKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvZWZsL2V3a19jb250ZXh0X21lbnVfaXRlbS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9lZmwvZXdrX2NvbnRleHRfbWVudV9pdGVtLmgKaW5kZXggOTYxMmEyMS4uYTI4ZjY4YSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHRf
bWVudV9pdGVtLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2Nv
bnRleHRfbWVudV9pdGVtLmgKQEAgLTYzLDcgKzYzLDYgQEAgdHlwZWRlZiBlbnVtIHsKICAgICBF
V0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX09QRU5fSU1BR0VfSU5fTkVXX1dJTkRPVywKICAgICBF
V0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0RPV05MT0FEX0lNQUdFX1RPX0RJU0ssCiAgICAgRVdL
X0NPTlRFWFRfTUVOVV9JVEVNX1RBR19DT1BZX0lNQUdFX1RPX0NMSVBCT0FSRCwKLSAgICBFV0tf
Q09OVEVYVF9NRU5VX0lURU1fVEFHX0NPUFlfSU1BR0VfVVJMX1RPX0NMSVBCT0FSRCwKICAgICBF
V0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX09QRU5fRlJBTUVfSU5fTkVXX1dJTkRPVywKICAgICBF
V0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0NPUFksCiAgICAgRVdLX0NPTlRFWFRfTUVOVV9JVEVN
X1RBR19HT19CQUNLLApAQCAtNzIsNyArNzEsNiBAQCB0eXBlZGVmIGVudW0gewogICAgIEVXS19D
T05URVhUX01FTlVfSVRFTV9UQUdfUkVMT0FELAogICAgIEVXS19DT05URVhUX01FTlVfSVRFTV9U
QUdfQ1VULAogICAgIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfUEFTVEUsCi0gICAgRVdLX0NP
TlRFWFRfTUVOVV9JVEVNX1RBR19TRUxFQ1RfQUxMLAogICAgIEVXS19DT05URVhUX01FTlVfSVRF
TV9UQUdfU1BFTExJTkdfR1VFU1MsCiAgICAgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19OT19H
VUVTU0VTX0ZPVU5ELAogICAgIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfSUdOT1JFX1NQRUxM
SU5HLApAQCAtOTEsNyArODksNyBAQCB0eXBlZGVmIGVudW0gewogICAgIEVXS19DT05URVhUX01F
TlVfSVRFTV9QREZDT05USU5VT1VTLAogICAgIEVXS19DT05URVhUX01FTlVfSVRFTV9QREZORVhU
X1BBR0UsCiAgICAgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1BERlBSRVZJT1VTX1BBR0UsCi0gICAg
RVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19PUEVOX0xJTksgPSAyMDAwLAorICAgIEVXS19DT05U
RVhUX01FTlVfSVRFTV9UQUdfT1BFTl9MSU5LLAogICAgIEVXS19DT05URVhUX01FTlVfSVRFTV9U
QUdfSUdOT1JFX0dSQU1NQVIsCiAgICAgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19TUEVMTElO
R19NRU5VLCAvKio8IHNwZWxsaW5nIG9yIHNwZWxsaW5nL2dyYW1tYXIgc3ViLW1lbnUgKi8KICAg
ICBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1NIT1dfU1BFTExJTkdfUEFORUwsCkBAIC0xMjAs
NiArMTE4LDE5IEBAIHR5cGVkZWYgZW51bSB7CiAgICAgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RB
R19URVhUX0RJUkVDVElPTl9ERUZBVUxULAogICAgIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdf
VEVYVF9ESVJFQ1RJT05fTEVGVF9UT19SSUdIVCwKICAgICBFV0tfQ09OVEVYVF9NRU5VX0lURU1f
VEFHX1RFWFRfRElSRUNUSU9OX1JJR0hUX1RPX0xFRlQsCisgICAgRVdLX0NPTlRFWFRfTUVOVV9J
VEVNX1RBR19DT1JSRUNUX1NQRUxMSU5HX0FVVE9NQVRJQ0FMTFksCisgICAgRVdLX0NPTlRFWFRf
TUVOVV9JVEVNX1RBR19TVUJTVElUVVRJT05TX01FTlUsCisgICAgRVdLX0NPTlRFWFRfTUVOVV9J
VEVNX1RBR19TSE9XX1NVQlNUSVRVVElPTlMsCisgICAgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RB
R19TTUFSVF9DT1BZX1BBU1RFLAorICAgIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfU01BUlRf
UVVPVEVTLAorICAgIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfU01BUlRfREFTSEVTLAorICAg
IEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfU01BUlRfTElOS1MsCisgICAgRVdLX0NPTlRFWFRf
TUVOVV9JVEVNX1RBR19URVhUX1JFUExBQ0VNRU5ULAorICAgIEVXS19DT05URVhUX01FTlVfSVRF
TV9UQUdfVFJBTlNGT1JNQVRJT05TX01FTlUsCisgICAgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RB
R19NQUtFX1VQUEVSX0NBU0UsCisgICAgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19NQUtFX0xP
V0VSX0NBU0UsCisgICAgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19DQVBJVEFMSVpFLAorICAg
IEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfQ0hBTkdFX0JBQ0ssCiAgICAgRVdLX0NPTlRFWFRf
TUVOVV9JVEVNX09QRU5fTUVESUFfSU5fTkVXX1dJTkRPVywKICAgICBFV0tfQ09OVEVYVF9NRU5V
X0lURU1fVEFHX0NPUFlfTUVESUFfTElOS19UT19DTElQQk9BUkQsCiAgICAgRVdLX0NPTlRFWFRf
TUVOVV9JVEVNX1RBR19UT0dHTEVfTUVESUFfQ09OVFJPTFMsCkBAIC0xMjcsOSArMTM4LDkgQEAg
dHlwZWRlZiBlbnVtIHsKICAgICBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0VOVEVSX1ZJREVP
X0ZVTExTQ1JFRU4sCiAgICAgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19NRURJQV9QTEFZX1BB
VVNFLAogICAgIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfTUVESUFfTVVURSwKLSAgICBFV0tf
Q09OVEVYVF9NRU5VX0lURU1fQkFTRV9DVVNUT01fVEFHID0gNTAwMCwKLSAgICBFV0tfQ09OVEVY
VF9NRU5VX0lURU1fQ1VTVE9NX1RBR19OT19BQ1RJT04gPSA1OTk4LAotICAgIEVXS19DT05URVhU
X01FTlVfSVRFTV9MQVNUX0NVU1RPTV9UQUcgPSA1OTk5LAorICAgIEVXS19DT05URVhUX01FTlVf
SVRFTV9UQUdfRElDVEFUSU9OX0FMVEVSTkFUSVZFLAorICAgIEVXS19DT05URVhUX01FTlVfSVRF
TV9UQUdfQ09QWV9JTUFHRV9VUkxfVE9fQ0xJUEJPQVJELAorICAgIEVXS19DT05URVhUX01FTlVf
SVRFTV9UQUdfU0VMRUNUX0FMTCwKICAgICBFV0tfQ09OVEVYVF9NRU5VX0lURU1fQkFTRV9BUFBM
SUNBVElPTl9UQUcgPSAxMDAwMAogfSBFd2tfQ29udGV4dF9NZW51X0l0ZW1fQWN0aW9uOwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dF9t
ZW51X2l0ZW1fcHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdr
X2NvbnRleHRfbWVudV9pdGVtX3ByaXZhdGUuaAppbmRleCA2MmYyNzkwLi45Zjc3ODNiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dF9tZW51
X2l0ZW1fcHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3
a19jb250ZXh0X21lbnVfaXRlbV9wcml2YXRlLmgKQEAgLTI2LDggKzI2LDggQEAKICNpZm5kZWYg
ZXdrX2NvbnRleHRfbWVudV9pdGVtX3ByaXZhdGVfaAogI2RlZmluZSBld2tfY29udGV4dF9tZW51
X2l0ZW1fcHJpdmF0ZV9oCiAKKyNpbmNsdWRlICJXS0NvbnRleHRNZW51SXRlbS5oIgogI2luY2x1
ZGUgIldLRWluYVNoYXJlZFN0cmluZy5oIgotI2luY2x1ZGUgIldlYkNvbnRleHRNZW51SXRlbURh
dGEuaCIKICNpbmNsdWRlICJld2tfY29udGV4dF9tZW51LmgiCiAjaW5jbHVkZSAiZXdrX2NvbnRl
eHRfbWVudV9pdGVtLmgiCiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KQEAgLTM4LDcgKzM4
LDcgQEAKICAqLwogY2xhc3MgRXdrQ29udGV4dE1lbnVJdGVtIHsKIHB1YmxpYzoKLSAgICBzdGF0
aWMgUGFzc093blB0cjxFd2tDb250ZXh0TWVudUl0ZW0+IGNyZWF0ZShjb25zdCBXZWJLaXQ6Oldl
YkNvbnRleHRNZW51SXRlbURhdGEmIGl0ZW0pCisgICAgc3RhdGljIFBhc3NPd25QdHI8RXdrQ29u
dGV4dE1lbnVJdGVtPiBjcmVhdGUoV0tDb250ZXh0TWVudUl0ZW1SZWYgaXRlbSkKICAgICB7CiAg
ICAgICAgIHJldHVybiBhZG9wdFB0cihuZXcgRXdrQ29udGV4dE1lbnVJdGVtKGl0ZW0pKTsKICAg
ICB9CkBAIC02NCw3ICs2NCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldEVuYWJsZWQoYm9vbCBl
bmFibGVkKSB7IG1faXNFbmFibGVkID0gZW5hYmxlZDsgfQogCiBwcml2YXRlOgotICAgIGV4cGxp
Y2l0IEV3a0NvbnRleHRNZW51SXRlbShjb25zdCBXZWJLaXQ6OldlYkNvbnRleHRNZW51SXRlbURh
dGEmKTsKKyAgICBleHBsaWNpdCBFd2tDb250ZXh0TWVudUl0ZW0oV0tDb250ZXh0TWVudUl0ZW1S
ZWYpOwogICAgIEV3a0NvbnRleHRNZW51SXRlbShFd2tfQ29udGV4dF9NZW51X0l0ZW1fVHlwZSB0
eXBlLCBFd2tfQ29udGV4dF9NZW51X0l0ZW1fQWN0aW9uIGFjdGlvbiwgY29uc3QgY2hhciogdGl0
bGUsIEVpbmFfQm9vbCBjaGVja2VkLCBFaW5hX0Jvb2wgZW5hYmxlZCwgRXdrQ29udGV4dE1lbnUq
IHN1Yk1lbnUpOwogCiAgICAgRXdrX0NvbnRleHRfTWVudV9JdGVtX1R5cGUgbV90eXBlOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHRfbWVu
dV9wcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4
dF9tZW51X3ByaXZhdGUuaAppbmRleCBiOWUxMTNkLi5hNmNlYTJkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dF9tZW51X3ByaXZhdGUuaAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dF9tZW51X3By
aXZhdGUuaApAQCAtMjYsMjQgKzI2LDE3IEBACiAjaWZuZGVmIGV3a19jb250ZXh0X21lbnVfcHJp
dmF0ZV9oCiAjZGVmaW5lIGV3a19jb250ZXh0X21lbnVfcHJpdmF0ZV9oCiAKLSNpbmNsdWRlICJX
ZWJDb250ZXh0TWVudUl0ZW1EYXRhLmgiCiAjaW5jbHVkZSAiZXdrX2NvbnRleHRfbWVudV9pdGVt
LmgiCiAjaW5jbHVkZSA8RWluYS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+Ci0jaW5j
bHVkZSA8d3RmL1ZlY3Rvci5oPgotCi1uYW1lc3BhY2UgV2ViS2l0IHsKLWNsYXNzIFdlYkNvbnRl
eHRNZW51SXRlbURhdGE7Ci1jbGFzcyBXZWJDb250ZXh0TWVudVByb3h5RWZsOwotfQogCiBjbGFz
cyBFd2tWaWV3OwogCiBjbGFzcyBFd2tDb250ZXh0TWVudSB7CiBwdWJsaWM6Ci0gICAgc3RhdGlj
IFBhc3NPd25QdHI8RXdrQ29udGV4dE1lbnU+IGNyZWF0ZShFd2tWaWV3KiB2aWV3SW1wbCwgV2Vi
S2l0OjpXZWJDb250ZXh0TWVudVByb3h5RWZsKiBjb250ZXh0TWVudVByb3h5LCBjb25zdCBWZWN0
b3I8V2ViS2l0OjpXZWJDb250ZXh0TWVudUl0ZW1EYXRhPiYgaXRlbXMpCisgICAgc3RhdGljIFBh
c3NPd25QdHI8RXdrQ29udGV4dE1lbnU+IGNyZWF0ZShFd2tWaWV3KiB2aWV3SW1wbCwgV0tBcnJh
eVJlZiBpdGVtcykKICAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFB0cihuZXcgRXdrQ29udGV4
dE1lbnUodmlld0ltcGwsIGNvbnRleHRNZW51UHJveHksIGl0ZW1zKSk7CisgICAgICAgIHJldHVy
biBhZG9wdFB0cihuZXcgRXdrQ29udGV4dE1lbnUodmlld0ltcGwsIGl0ZW1zKSk7CiAgICAgfQog
CiAgICAgc3RhdGljIFBhc3NPd25QdHI8RXdrQ29udGV4dE1lbnU+IGNyZWF0ZSgpCkBAIC02Mywx
NSArNTYsMTQgQEAgcHVibGljOgogICAgIHZvaWQgcmVtb3ZlSXRlbShFd2tDb250ZXh0TWVudUl0
ZW0qKTsKIAogICAgIGNvbnN0IEVpbmFfTGlzdCogaXRlbXMoKSBjb25zdCB7IHJldHVybiBtX2Nv
bnRleHRNZW51SXRlbXM7IH0KLSAgICB2b2lkIGNvbnRleHRNZW51SXRlbVNlbGVjdGVkKGNvbnN0
IFdlYktpdDo6V2ViQ29udGV4dE1lbnVJdGVtRGF0YSYgaXRlbSk7CisgICAgdm9pZCBjb250ZXh0
TWVudUl0ZW1TZWxlY3RlZChXS0NvbnRleHRNZW51SXRlbVJlZiBpdGVtKTsKIAogcHJpdmF0ZToK
ICAgICBFd2tDb250ZXh0TWVudSgpOwogICAgIEV3a0NvbnRleHRNZW51KEVpbmFfTGlzdCogaXRl
bXMpOwotICAgIEV3a0NvbnRleHRNZW51KEV3a1ZpZXcqIHZpZXdJbXBsLCBXZWJLaXQ6OldlYkNv
bnRleHRNZW51UHJveHlFZmwqLCBjb25zdCBWZWN0b3I8V2ViS2l0OjpXZWJDb250ZXh0TWVudUl0
ZW1EYXRhPiYgaXRlbXMpOworICAgIEV3a0NvbnRleHRNZW51KEV3a1ZpZXcqIHZpZXdJbXBsLCBX
S0FycmF5UmVmIGl0ZW1zKTsKIAogICAgIEV3a1ZpZXcqIG1fdmlld0ltcGw7Ci0gICAgV2ViS2l0
OjpXZWJDb250ZXh0TWVudVByb3h5RWZsKiBtX2NvbnRleHRNZW51UHJveHk7CiAgICAgRWluYV9M
aXN0KiBtX2NvbnRleHRNZW51SXRlbXM7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRDb250ZXh0TWVudUNsaWVudC5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRDb250ZXh0TWVudUNsaWVudC5jcHAKaW5k
ZXggNDJmOTBiOC4uZjUwYzUyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9ndGsvV2ViS2l0Q29udGV4dE1lbnVDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdENvbnRleHRNZW51Q2xpZW50LmNwcApAQCAtNDAsNiAr
NDAsOCBAQCB2b2lkIGF0dGFjaENvbnRleHRNZW51Q2xpZW50VG9WaWV3KFdlYktpdFdlYlZpZXcq
IHdlYlZpZXcpCiAgICAgICAgIDAsIC8vIGN1c3RvbUNvbnRleHRNZW51SXRlbVNlbGVjdGVkCiAg
ICAgICAgIDAsIC8vIGNvbnRleHRNZW51RGlzbWlzc2VkCiAgICAgICAgIGdldENvbnRleHRNZW51
RnJvbVByb3Bvc2VkTWVudSwKKyAgICAgICAgMCwgLy8gc2hvd0NvbnRleHRNZW51CisgICAgICAg
IDAsIC8vIGhpZGVDb250ZXh0TWVudQogICAgIH07CiAgICAgV0tQYWdlUmVmIHdrUGFnZSA9IHRv
QVBJKHdlYmtpdFdlYlZpZXdCYXNlR2V0UGFnZShXRUJLSVRfV0VCX1ZJRVdfQkFTRSh3ZWJWaWV3
KSkpOwogICAgIFdLUGFnZVNldFBhZ2VDb250ZXh0TWVudUNsaWVudCh3a1BhZ2UsICZ3a0NvbnRl
eHRNZW51Q2xpZW50KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QYWdl
Q2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCmluZGV4IGQw
OGNjOTEuLjgyYWM1NjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QYWdl
Q2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaApAQCAt
MTgwLDcgKzE4MCw5IEBAIHB1YmxpYzoKICNlbmRpZgogCiAgICAgdmlydHVhbCBQYXNzUmVmUHRy
PFdlYlBvcHVwTWVudVByb3h5PiBjcmVhdGVQb3B1cE1lbnVQcm94eShXZWJQYWdlUHJveHkqKSA9
IDA7CisjaWYgIVBMQVRGT1JNKEVGTCkKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8V2ViQ29udGV4
dE1lbnVQcm94eT4gY3JlYXRlQ29udGV4dE1lbnVQcm94eShXZWJQYWdlUHJveHkqKSA9IDA7Cisj
ZW5kaWYKIAogI2lmIEVOQUJMRShJTlBVVF9UWVBFX0NPTE9SKQogICAgIHZpcnR1YWwgUGFzc1Jl
ZlB0cjxXZWJDb2xvckNob29zZXJQcm94eT4gY3JlYXRlQ29sb3JDaG9vc2VyUHJveHkoV2ViUGFn
ZVByb3h5KiwgY29uc3QgV2ViQ29yZTo6Q29sb3ImIGluaXRpYWxDb2xvciwgY29uc3QgV2ViQ29y
ZTo6SW50UmVjdCYpID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJQYWdlQ29udGV4dE1lbnVDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
YlBhZ2VDb250ZXh0TWVudUNsaWVudC5jcHAKaW5kZXggOGExMWViYi4uZWIzNmVkMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VDb250ZXh0TWVudUNsaWVudC5j
cHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VDb250ZXh0TWVudUNsaWVu
dC5jcHAKQEAgLTkzLDUgKzkzLDI5IEBAIHZvaWQgV2ViUGFnZUNvbnRleHRNZW51Q2xpZW50Ojpj
b250ZXh0TWVudURpc21pc3NlZChXZWJQYWdlUHJveHkqIHBhZ2UpCiAgICAgbV9jbGllbnQuY29u
dGV4dE1lbnVEaXNtaXNzZWQodG9BUEkocGFnZSksIG1fY2xpZW50LmNsaWVudEluZm8pOwogfQog
Cit2b2lkIFdlYlBhZ2VDb250ZXh0TWVudUNsaWVudDo6c2hvd0NvbnRleHRNZW51KFdlYlBhZ2VQ
cm94eSogcGFnZSwgY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIG1lbnVMb2NhdGlvbiwgY29uc3Qg
VmVjdG9yPFdlYkNvbnRleHRNZW51SXRlbURhdGE+JiBtZW51SXRlbXNWZWN0b3IpCit7CisgICAg
aWYgKCFtX2NsaWVudC5zaG93Q29udGV4dE1lbnUpCisgICAgICAgIHJldHVybjsKKworICAgIHVu
c2lnbmVkIHNpemUgPSBtZW51SXRlbXNWZWN0b3Iuc2l6ZSgpOworCisgICAgVmVjdG9yPFJlZlB0
cjxBUElPYmplY3Q+ID4gbWVudUl0ZW1zOworICAgIG1lbnVJdGVtcy5yZXNlcnZlQ2FwYWNpdHko
c2l6ZSk7CisKKyAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgc2l6ZTsgKytpKQorICAgICAg
ICBtZW51SXRlbXMuYXBwZW5kKFdlYkNvbnRleHRNZW51SXRlbTo6Y3JlYXRlKG1lbnVJdGVtc1Zl
Y3RvcltpXSkuZ2V0KCkpOworCisgICAgbV9jbGllbnQuc2hvd0NvbnRleHRNZW51KHRvQVBJKHBh
Z2UpLCB0b0FQSShtZW51TG9jYXRpb24pLCB0b0FQSShJbW11dGFibGVBcnJheTo6YWRvcHQobWVu
dUl0ZW1zKS5nZXQoKSksIG1fY2xpZW50LmNsaWVudEluZm8pOworfQorCit2b2lkIFdlYlBhZ2VD
b250ZXh0TWVudUNsaWVudDo6aGlkZUNvbnRleHRNZW51KFdlYlBhZ2VQcm94eSogcGFnZSkKK3sK
KyAgICBpZiAoIW1fY2xpZW50LmhpZGVDb250ZXh0TWVudSkKKyAgICAgICAgcmV0dXJuOworCisg
ICAgbV9jbGllbnQuaGlkZUNvbnRleHRNZW51KHRvQVBJKHBhZ2UpLCBtX2NsaWVudC5jbGllbnRJ
bmZvKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAjZW5kaWYgLy8gRU5BQkxFKENPTlRF
WFRfTUVOVVMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZUNv
bnRleHRNZW51Q2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZUNvbnRl
eHRNZW51Q2xpZW50LmgKaW5kZXggZGZmOTAxOS4uZmNhYmRiYiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VDb250ZXh0TWVudUNsaWVudC5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlQ29udGV4dE1lbnVDbGllbnQuaApAQCAtMzEsNiAr
MzEsNyBAQAogI2luY2x1ZGUgIkFQSUNsaWVudC5oIgogI2luY2x1ZGUgIldlYkhpdFRlc3RSZXN1
bHQuaCIKICNpbmNsdWRlICJXS1BhZ2UuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL0ludFBvaW50Lmg+
CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKQEAgLTQzLDcg
KzQ0LDEwIEBAIGNsYXNzIFdlYlBhZ2VDb250ZXh0TWVudUNsaWVudCA6IHB1YmxpYyBBUElDbGll
bnQ8V0tQYWdlQ29udGV4dE1lbnVDbGllbnQsIGtXS1BhCiBwdWJsaWM6CiAgICAgYm9vbCBnZXRD
b250ZXh0TWVudUZyb21Qcm9wb3NlZE1lbnUoV2ViUGFnZVByb3h5KiwgY29uc3QgVmVjdG9yPFdl
YkNvbnRleHRNZW51SXRlbURhdGE+JiBwcm9wb3NlZE1lbnUsIFZlY3RvcjxXZWJDb250ZXh0TWVu
dUl0ZW1EYXRhPiYgY3VzdG9tTWVudSwgY29uc3QgV2ViSGl0VGVzdFJlc3VsdDo6RGF0YSYsIEFQ
SU9iamVjdCogdXNlckRhdGEpOwogICAgIHZvaWQgY3VzdG9tQ29udGV4dE1lbnVJdGVtU2VsZWN0
ZWQoV2ViUGFnZVByb3h5KiwgY29uc3QgV2ViQ29udGV4dE1lbnVJdGVtRGF0YSYpOworICAgIHZv
aWQgY29udGV4dE1lbnVJdGVtU2VsZWN0ZWQoV2ViUGFnZVByb3h5KiwgY29uc3QgV2ViQ29udGV4
dE1lbnVJdGVtRGF0YSYpOwogICAgIHZvaWQgY29udGV4dE1lbnVEaXNtaXNzZWQoV2ViUGFnZVBy
b3h5Kik7CisgICAgdm9pZCBzaG93Q29udGV4dE1lbnUoV2ViUGFnZVByb3h5KiwgY29uc3QgV2Vi
Q29yZTo6SW50UG9pbnQmLCBjb25zdCBWZWN0b3I8V2ViQ29udGV4dE1lbnVJdGVtRGF0YT4mKTsK
KyAgICB2b2lkIGhpZGVDb250ZXh0TWVudShXZWJQYWdlUHJveHkqKTsKIH07CiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApp
bmRleCA2ZjhhOTJkLi4wMmNkMzMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmNwcApAQCAtMzAyMyw2ICszMDIzLDkgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmludGVy
bmFsU2hvd0NvbnRleHRNZW51KGNvbnN0IEludFBvaW50JiBtZW51TG9jYXRpb24sIGNvbnN0IFcK
IAogICAgIG1fYWN0aXZlQ29udGV4dE1lbnVIaXRUZXN0UmVzdWx0RGF0YSA9IGhpdFRlc3RSZXN1
bHREYXRhOwogCisjaWYgUExBVEZPUk0oRUZMKQorICAgIG1fY29udGV4dE1lbnVDbGllbnQuaGlk
ZUNvbnRleHRNZW51KHRoaXMpOworI2Vsc2UKICAgICBpZiAobV9hY3RpdmVDb250ZXh0TWVudSkg
ewogICAgICAgICBtX2FjdGl2ZUNvbnRleHRNZW51LT5oaWRlQ29udGV4dE1lbnUoKTsKICAgICAg
ICAgbV9hY3RpdmVDb250ZXh0TWVudSA9IDA7CkBAIC0zMDMxLDE2ICszMDM0LDIxIEBAIHZvaWQg
V2ViUGFnZVByb3h5OjppbnRlcm5hbFNob3dDb250ZXh0TWVudShjb25zdCBJbnRQb2ludCYgbWVu
dUxvY2F0aW9uLCBjb25zdCBXCiAgICAgbV9hY3RpdmVDb250ZXh0TWVudSA9IG1fcGFnZUNsaWVu
dC0+Y3JlYXRlQ29udGV4dE1lbnVQcm94eSh0aGlzKTsKICAgICBpZiAoIW1fYWN0aXZlQ29udGV4
dE1lbnUpCiAgICAgICAgIHJldHVybjsKKyNlbmRpZgogCiAgICAgLy8gU2luY2Ugc2hvd0NvbnRl
eHRNZW51KCkgY2FuIHNwaW4gYSBuZXN0ZWQgcnVuIGxvb3Agd2UgbmVlZCB0byB0dXJuIG9mZiB0
aGUgcmVzcG9uc2l2ZW5lc3MgdGltZXIuCiAgICAgbV9wcm9jZXNzLT5yZXNwb25zaXZlbmVzc1Rp
bWVyKCktPnN0b3AoKTsKIAorI2lmIFBMQVRGT1JNKEVGTCkKKyAgICBtX2NvbnRleHRNZW51Q2xp
ZW50LnNob3dDb250ZXh0TWVudSh0aGlzLCBtZW51TG9jYXRpb24sIHByb3Bvc2VkSXRlbXMpOwor
I2Vsc2UKICAgICAvLyBHaXZlIHRoZSBQYWdlQ29udGV4dE1lbnVDbGllbnQgb25lIGxhc3Qgc3dp
cGUgYXQgY2hhbmdpbmcgdGhlIG1lbnUuCiAgICAgVmVjdG9yPFdlYkNvbnRleHRNZW51SXRlbURh
dGE+IGl0ZW1zOwogICAgIGlmICghbV9jb250ZXh0TWVudUNsaWVudC5nZXRDb250ZXh0TWVudUZy
b21Qcm9wb3NlZE1lbnUodGhpcywgcHJvcG9zZWRJdGVtcywgaXRlbXMsIGhpdFRlc3RSZXN1bHRE
YXRhLCB1c2VyRGF0YS5nZXQoKSkpCiAgICAgICAgIG1fYWN0aXZlQ29udGV4dE1lbnUtPnNob3dD
b250ZXh0TWVudShtZW51TG9jYXRpb24sIHByb3Bvc2VkSXRlbXMpOwogICAgIGVsc2UKICAgICAg
ICAgbV9hY3RpdmVDb250ZXh0TWVudS0+c2hvd0NvbnRleHRNZW51KG1lbnVMb2NhdGlvbiwgaXRl
bXMpOworI2VuZGlmCiAgICAgCiAgICAgbV9jb250ZXh0TWVudUNsaWVudC5jb250ZXh0TWVudURp
c21pc3NlZCh0aGlzKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApp
bmRleCA5NWMxM2Y2Li41ZTJiMGFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5oCkBAIC0xMDczLDcgKzEwNzMsOSBAQCBwcml2YXRlOgogI2VuZGlmCiAKICAgICBSZWZQ
dHI8V2ViUG9wdXBNZW51UHJveHk+IG1fYWN0aXZlUG9wdXBNZW51OworI2lmICFQTEFURk9STShF
RkwpCiAgICAgUmVmUHRyPFdlYkNvbnRleHRNZW51UHJveHk+IG1fYWN0aXZlQ29udGV4dE1lbnU7
CisjZW5kaWYKICAgICBXZWJIaXRUZXN0UmVzdWx0OjpEYXRhIG1fYWN0aXZlQ29udGV4dE1lbnVI
aXRUZXN0UmVzdWx0RGF0YTsKICAgICBSZWZQdHI8V2ViT3BlblBhbmVsUmVzdWx0TGlzdGVuZXJQ
cm94eT4gbV9vcGVuUGFuZWxSZXN1bHRMaXN0ZW5lcjsKICAgICBHZW9sb2NhdGlvblBlcm1pc3Np
b25SZXF1ZXN0TWFuYWdlclByb3h5IG1fZ2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFn
ZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL0NvbnRleHRNZW51
Q2xpZW50RWZsLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvQ29udGV4dE1lbnVD
bGllbnRFZmwuY3BwCmluZGV4IDkxMjNkMjguLmFlNjRlODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9lZmwvQ29udGV4dE1lbnVDbGllbnRFZmwuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvQ29udGV4dE1lbnVDbGllbnRFZmwuY3BwCkBAIC0yNywx
MSArMjcsOCBAQAogI2luY2x1ZGUgIkNvbnRleHRNZW51Q2xpZW50RWZsLmgiCiAKICNpbmNsdWRl
ICJFd2tWaWV3LmgiCi0jaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKICNpbmNsdWRlICJXS0Fy
cmF5LmgiCiAjaW5jbHVkZSAiV0tQYWdlLmgiCi0jaW5jbHVkZSAiV2ViQ29udGV4dE1lbnVJdGVt
LmgiICAgCi0jaW5jbHVkZSA8RXZhcy5oPgogCiB1c2luZyBuYW1lc3BhY2UgV2ViS2l0OwogCkBA
IC00MCw2ICszNywyMCBAQCBzdGF0aWMgaW5saW5lIENvbnRleHRNZW51Q2xpZW50RWZsKiB0b0Nv
bnRleHRDbGllbnRFZmwoY29uc3Qgdm9pZCogY2xpZW50SW5mbykKICAgICByZXR1cm4gc3RhdGlj
X2Nhc3Q8Q29udGV4dE1lbnVDbGllbnRFZmwqPihjb25zdF9jYXN0PHZvaWQqPihjbGllbnRJbmZv
KSk7CiB9CiAKK3N0YXRpYyB2b2lkIHNob3dDb250ZXh0TWVudShXS1BhZ2VSZWYsIFdLUG9pbnQg
bWVudUxvY2F0aW9uLCBXS0FycmF5UmVmIG1lbnVJdGVtcywgY29uc3Qgdm9pZCogY2xpZW50SW5m
bykKK3sKKyAgICBDb250ZXh0TWVudUNsaWVudEVmbCogY29udGV4dE1lbnVDbGllbnQgPSB0b0Nv
bnRleHRDbGllbnRFZmwoY2xpZW50SW5mbyk7CisKKyAgICBjb250ZXh0TWVudUNsaWVudC0+dmll
dygpLT5zaG93Q29udGV4dE1lbnUobWVudUxvY2F0aW9uLCBtZW51SXRlbXMpOworfQorCitzdGF0
aWMgdm9pZCBoaWRlQ29udGV4dE1lbnUoV0tQYWdlUmVmLCBjb25zdCB2b2lkKiBjbGllbnRJbmZv
KQoreworICAgIENvbnRleHRNZW51Q2xpZW50RWZsKiBjb250ZXh0TWVudUNsaWVudCA9IHRvQ29u
dGV4dENsaWVudEVmbChjbGllbnRJbmZvKTsKKworICAgIGNvbnRleHRNZW51Q2xpZW50LT52aWV3
KCktPmhpZGVDb250ZXh0TWVudSgpOworfQorCiBDb250ZXh0TWVudUNsaWVudEVmbDo6Q29udGV4
dE1lbnVDbGllbnRFZmwoRXdrVmlldyogdmlldykKICAgICA6IG1fdmlldyh2aWV3KQogewpAQCAt
NTQsMTEgKzY1LDggQEAgQ29udGV4dE1lbnVDbGllbnRFZmw6OkNvbnRleHRNZW51Q2xpZW50RWZs
KEV3a1ZpZXcqIHZpZXcpCiAgICAgY29udGV4dE1lbnVDbGllbnQuY3VzdG9tQ29udGV4dE1lbnVJ
dGVtU2VsZWN0ZWQgPSAwOwogICAgIGNvbnRleHRNZW51Q2xpZW50LmNvbnRleHRNZW51RGlzbWlz
c2VkID0gMDsKICAgICBjb250ZXh0TWVudUNsaWVudC5nZXRDb250ZXh0TWVudUZyb21Qcm9wb3Nl
ZE1lbnUgPSAwOworICAgIGNvbnRleHRNZW51Q2xpZW50LnNob3dDb250ZXh0TWVudSA9IHNob3dD
b250ZXh0TWVudTsKKyAgICBjb250ZXh0TWVudUNsaWVudC5oaWRlQ29udGV4dE1lbnUgPSBoaWRl
Q29udGV4dE1lbnU7CiAKICAgICBXS1BhZ2VTZXRQYWdlQ29udGV4dE1lbnVDbGllbnQocGFnZVJl
ZiwgJmNvbnRleHRNZW51Q2xpZW50KTsKIH0KLQotdm9pZCBDb250ZXh0TWVudUNsaWVudEVmbDo6
Z2V0Q29udGV4dE1lbnVGcm9tUHJvcG9zZWRNZW51KFdLUGFnZVJlZiwgV0tBcnJheVJlZiwgV0tB
cnJheVJlZiosIFdLSGl0VGVzdFJlc3VsdFJlZiwgV0tUeXBlUmVmLCBjb25zdCB2b2lkKikKLXsK
LSAgICBub3RJbXBsZW1lbnRlZCgpOwotfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL2VmbC9Db250ZXh0TWVudUNsaWVudEVmbC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL2VmbC9Db250ZXh0TWVudUNsaWVudEVmbC5oCmluZGV4IGIyMTJlOWUuLmYwMzZiM2YgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvQ29udGV4dE1lbnVDbGllbnRF
ZmwuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL0NvbnRleHRNZW51Q2xpZW50
RWZsLmgKQEAgLTI2LDEyICsyNiw3IEBACiAjaWZuZGVmIENvbnRleHRNZW51Q2xpZW50RWZsX2gK
ICNkZWZpbmUgQ29udGV4dE1lbnVDbGllbnRFZmxfaAogCi0jaW5jbHVkZSAiV0tSZXRhaW5QdHIu
aCIKLSNpbmNsdWRlICJld2tfY29udGV4dC5oIgotI2luY2x1ZGUgPFdlYktpdDIvV0tCYXNlLmg+
Ci0jaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgot
I2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiBjbGFzcyBFd2tWaWV3OwogCkBAIC00
NCw3ICszOSw3IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBDb250ZXh0
TWVudUNsaWVudEVmbCh2aWV3SW1wbCkpOwogICAgIH0KIAotICAgIHN0YXRpYyB2b2lkIGdldENv
bnRleHRNZW51RnJvbVByb3Bvc2VkTWVudShXS1BhZ2VSZWYsIFdLQXJyYXlSZWYgcHJvcG9zZWRN
ZW51LCBXS0FycmF5UmVmKiBuZXdNZW51LCBXS0hpdFRlc3RSZXN1bHRSZWYsIFdLVHlwZVJlZiB1
c2VyRGF0YSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7CisgICAgRXdrVmlldyogdmlldygpIHsg
cmV0dXJuIG1fdmlldzsgfQogCiBwcml2YXRlOgogICAgIGV4cGxpY2l0IENvbnRleHRNZW51Q2xp
ZW50RWZsKEV3a1ZpZXcqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9l
ZmwvV2ViQ29udGV4dE1lbnVQcm94eUVmbC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
ZWZsL1dlYkNvbnRleHRNZW51UHJveHlFZmwuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCA2OGU3NWI0Li4wMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwv
V2ViQ29udGV4dE1lbnVQcm94eUVmbC5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw2NyArMCwwIEBA
Ci0vKgotICogQ29weXJpZ2h0IChDKSAyMDEyIFNhbXN1bmcgRWxlY3Ryb25pY3MuCi0gKgotICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
Ci0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgot
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICog
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAq
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwot
Ci0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiV2ViQ29udGV4dE1lbnVQcm94eUVmbC5o
IgotCi0jaWYgRU5BQkxFKENPTlRFWFRfTUVOVVMpCi0KLSNpbmNsdWRlICJFd2tWaWV3LmgiCi0j
aW5jbHVkZSAiV2ViQ29udGV4dE1lbnVJdGVtRGF0YS5oIgotI2luY2x1ZGUgIldlYlBhZ2VQcm94
eS5oIgotI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KLQotdXNpbmcgbmFtZXNwYWNlIFdl
YkNvcmU7Ci0KLW5hbWVzcGFjZSBXZWJLaXQgewotCi1XZWJDb250ZXh0TWVudVByb3h5RWZsOjpX
ZWJDb250ZXh0TWVudVByb3h5RWZsKEV3a1ZpZXcqIHZpZXcsIFdlYlBhZ2VQcm94eSogcGFnZSkK
LSAgICA6IG1fdmlldyh2aWV3KQotICAgICwgbV9wYWdlKHBhZ2UpCi17Ci19Ci0KLVdlYkNvbnRl
eHRNZW51UHJveHlFZmw6On5XZWJDb250ZXh0TWVudVByb3h5RWZsKCkKLXsKLX0KLQotdm9pZCBX
ZWJDb250ZXh0TWVudVByb3h5RWZsOjpzaG93Q29udGV4dE1lbnUoY29uc3QgV2ViQ29yZTo6SW50
UG9pbnQmIHBvc2l0aW9uLCBjb25zdCBWZWN0b3I8V2ViQ29udGV4dE1lbnVJdGVtRGF0YT4mIGl0
ZW1zKQotewotICAgIG1fdmlldy0+c2hvd0NvbnRleHRNZW51KHRoaXMsIHBvc2l0aW9uLCBpdGVt
cyk7Ci19Ci0KLXZvaWQgV2ViQ29udGV4dE1lbnVQcm94eUVmbDo6aGlkZUNvbnRleHRNZW51KCkK
LXsKLSAgICBtX3ZpZXctPmhpZGVDb250ZXh0TWVudSgpOwotfQotCi12b2lkIFdlYkNvbnRleHRN
ZW51UHJveHlFZmw6OmNvbnRleHRNZW51SXRlbVNlbGVjdGVkKGNvbnN0IFdlYkNvbnRleHRNZW51
SXRlbURhdGEmIGl0ZW0pCi17Ci0gICAgbV9wYWdlLT5jb250ZXh0TWVudUl0ZW1TZWxlY3RlZChp
dGVtKTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViS2l0Ci0KLSNlbmRpZiAvLyBFTkFCTEUoQ09O
VEVYVF9NRU5VUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvV2Vi
Q29udGV4dE1lbnVQcm94eUVmbC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9XZWJD
b250ZXh0TWVudVByb3h5RWZsLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVhNDJh
ZjEuLjAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9XZWJDb250ZXh0
TWVudVByb3h5RWZsLmgKKysrIC9kZXYvbnVsbApAQCAtMSw2NyArMCwwIEBACi0vKgotICogQ29w
eXJpZ2h0IChDKSAyMDEyIFNhbXN1bmcgRWxlY3Ryb25pY3MuCi0gKgotICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0g
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWZuZGVmIFdl
YkNvbnRleHRNZW51UHJveHlFZmxfaAotI2RlZmluZSBXZWJDb250ZXh0TWVudVByb3h5RWZsX2gK
LQotI2lmIEVOQUJMRShDT05URVhUX01FTlVTKQotCi0jaW5jbHVkZSAiV2ViQ29udGV4dE1lbnVQ
cm94eS5oIgotI2luY2x1ZGUgPFdlYkNvcmUvQ29udGV4dE1lbnUuaD4KLSNpbmNsdWRlIDxXZWJD
b3JlL0ludFBvaW50Lmg+Ci0KLWNsYXNzIEV3a1ZpZXc7Ci0KLW5hbWVzcGFjZSBXZWJLaXQgewot
Ci1jbGFzcyBXZWJDb250ZXh0TWVudUl0ZW1EYXRhOwotY2xhc3MgV2ViUGFnZVByb3h5OwotCi1j
bGFzcyBXZWJDb250ZXh0TWVudVByb3h5RWZsIDogcHVibGljIFdlYkNvbnRleHRNZW51UHJveHkg
ewotcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFdlYkNvbnRleHRNZW51UHJveHlFZmw+
IGNyZWF0ZShFd2tWaWV3KiB2aWV3SW1wbCwgV2ViUGFnZVByb3h5KiBwYWdlKQotICAgIHsKLSAg
ICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBXZWJDb250ZXh0TWVudVByb3h5RWZsKHZpZXdJbXBs
LCBwYWdlKSk7Ci0gICAgfQotCi0gICAgfldlYkNvbnRleHRNZW51UHJveHlFZmwoKTsKLQotICAg
IHZvaWQgc2hvd0NvbnRleHRNZW51KGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiwgY29uc3QgVmVj
dG9yPFdlYkNvbnRleHRNZW51SXRlbURhdGE+Jik7Ci0gICAgdm9pZCBoaWRlQ29udGV4dE1lbnUo
KTsKLQotICAgIHZvaWQgY29udGV4dE1lbnVJdGVtU2VsZWN0ZWQoY29uc3QgV2ViQ29udGV4dE1l
bnVJdGVtRGF0YSYpOwotCi1wcml2YXRlOgotICAgIFdlYkNvbnRleHRNZW51UHJveHlFZmwoRXdr
VmlldyosIFdlYlBhZ2VQcm94eSopOwotCi0gICAgRXdrVmlldyogbV92aWV3OwotICAgIFdlYlBh
Z2VQcm94eSogbV9wYWdlOwotfTsKLQotCi19IC8vIG5hbWVzcGFjZSBXZWJLaXQKLQotI2VuZGlm
IC8vIEVOQUJMRShDT05URVhUX01FTlVTKQotI2VuZGlmIC8vIFdlYkNvbnRleHRNZW51UHJveHlF
ZmxfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9XZWJWaWV3LmNw
cCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvV2ViVmlldy5jcHAKaW5kZXggM2FiNGZk
NC4uMTFhYWE1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9XZWJW
aWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1dlYlZpZXcuY3BwCkBA
IC0zNCw3ICszNCw2IEBACiAjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKICNpbmNsdWRlICJQ
YWdlVmlld3BvcnRDb250cm9sbGVyLmgiCiAjaW5jbHVkZSAiUGFnZVZpZXdwb3J0Q29udHJvbGxl
ckNsaWVudEVmbC5oIgotI2luY2x1ZGUgIldlYkNvbnRleHRNZW51UHJveHlFZmwuaCIKICNpbmNs
dWRlICJXZWJQYWdlUHJveHkuaCIKICNpbmNsdWRlICJXZWJQb3B1cE1lbnVQcm94eUVmbC5oIgog
I2luY2x1ZGUgImV3a19jb250ZXh0X3ByaXZhdGUuaCIKQEAgLTMwNSwxMSArMzA0LDYgQEAgUGFz
c1JlZlB0cjxXZWJQb3B1cE1lbnVQcm94eT4gV2ViVmlldzo6Y3JlYXRlUG9wdXBNZW51UHJveHko
V2ViUGFnZVByb3h5KiBwYWdlKQogICAgIHJldHVybiBXZWJQb3B1cE1lbnVQcm94eUVmbDo6Y3Jl
YXRlKG1fZXdrVmlldywgcGFnZSk7CiB9CiAKLVBhc3NSZWZQdHI8V2ViQ29udGV4dE1lbnVQcm94
eT4gV2ViVmlldzo6Y3JlYXRlQ29udGV4dE1lbnVQcm94eShXZWJQYWdlUHJveHkqIHBhZ2UpCi17
Ci0gICAgcmV0dXJuIFdlYkNvbnRleHRNZW51UHJveHlFZmw6OmNyZWF0ZShtX2V3a1ZpZXcsIHBh
Z2UpOwotfQotCiAjaWYgRU5BQkxFKElOUFVUX1RZUEVfQ09MT1IpCiBQYXNzUmVmUHRyPFdlYkNv
bG9yQ2hvb3NlclByb3h5PiBXZWJWaWV3OjpjcmVhdGVDb2xvckNob29zZXJQcm94eShXZWJQYWdl
UHJveHkqLCBjb25zdCBXZWJDb3JlOjpDb2xvciYsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmKQog
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9XZWJWaWV3LmggYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1dlYlZpZXcuaAppbmRleCBhYjIyOGIwLi5jMTU3
Zjk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1dlYlZpZXcuaAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1dlYlZpZXcuaApAQCAtMTI4LDcgKzEy
OCw2IEBAIHByaXZhdGU6CiAjZW5kaWYKIAogICAgIFBhc3NSZWZQdHI8V2ViUG9wdXBNZW51UHJv
eHk+IGNyZWF0ZVBvcHVwTWVudVByb3h5KFdlYlBhZ2VQcm94eSopIE9WRVJSSURFOwotICAgIFBh
c3NSZWZQdHI8V2ViQ29udGV4dE1lbnVQcm94eT4gY3JlYXRlQ29udGV4dE1lbnVQcm94eShXZWJQ
YWdlUHJveHkqKSBPVkVSUklERTsKICNpZiBFTkFCTEUoSU5QVVRfVFlQRV9DT0xPUikKICAgICBQ
YXNzUmVmUHRyPFdlYkNvbG9yQ2hvb3NlclByb3h5PiBjcmVhdGVDb2xvckNob29zZXJQcm94eShX
ZWJQYWdlUHJveHkqLCBjb25zdCBXZWJDb3JlOjpDb2xvciYgaW5pdGlhbENvbG9yLCBjb25zdCBX
ZWJDb3JlOjpJbnRSZWN0JikgT1ZFUlJJREU7CiAjZW5kaWYK
</data>
<flag name="commit-queue"
          id="209195"
          type_id="3"
          status="-"
          setter="eflews.bot"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>189496</attachid>
            <date>2013-02-21 03:15:02 -0800</date>
            <delta_ts>2013-02-22 01:40:10 -0800</delta_ts>
            <desc>fixes after review</desc>
            <filename>c-api-ewk-contextmenu4.diff</filename>
            <type>text/plain</type>
            <size>54325</size>
            <attacher name="Michal Pakula vel Rutka">mpakulavelrutka</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA3MjJiOWE2Li40MTg2ZGRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNjYg
QEAKKzIwMTMtMDItMjEgIE1pY2hhxYIgUGFrdcWCYSB2ZWwgUnV0a2EgIDxtLnBha3VsYUBzYW1z
dW5nLmNvbT4KKworICAgICAgICBbRUZMXVtXSzJdIFVzZSBDIEFQSSBpbiBld2tfY29udGV4dF9t
ZW51CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDk2
OTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBFRkwg
cG9ydCB1bmxpa2Ugb3RoZXJzIGRvZXMgbm90IGhhbmRsZSBjb250ZXh0IG1lbnVzIGluc2lkZSBX
ZWJLaXQgYnV0IGV4cG9zZXMgYW4gQVBJOgorICAgICAgICBld2tfY29udGV4dF9tZW51IGFuZCBl
d2tfY29udGV4dF9tZW51X2l0ZW0sIGFuZCBsZWF2ZXMgY29udGV4dCBtZW51IHRvIGFwcGxpY2F0
aW9uLgorICAgICAgICBDdXJyZW50bHkgRUZMIHBvcnQncyBjb250ZXh0IG1lbnUgQVBJIHVzZXMg
aW50ZXJuYWwgQysrIGNsYXNzZXMsIHdoaWxlIGl0IHNob3VsZCB1c2UgV0syIEMgQVBJLAorICAg
ICAgICB0byBhdm9pZCB2aW9sYXRpbmcgbGF5ZXJpbmcuCisgICAgICAgIFRoaXMgcGF0Y2ggY2hh
bmdlcyBFRkwgY29udGV4dCBtZW51IEFQSSB0byB1c2Ugb25seSBXSzIgQyBBUEksIGFsc28gYWRk
cyB0d28gZnVuY3Rpb25zIHRvIFdLUGFnZUNvbnRleHRNZW51Q2xpZW50LgorCisgICAgICAgICog
UGxhdGZvcm1FZmwuY21ha2U6CisgICAgICAgICogU2hhcmVkL0FQSUNsaWVudFRyYWl0cy5jcHA6
CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAqIFNoYXJlZC9BUElDbGllbnRUcmFpdHMuaDoK
KyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNwcDoKKyAgICAgICAgKFdLUGFnZUNv
bnRleHRNZW51SXRlbVNlbGVjdGVkKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQYWdl
Lmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlldy5jcHA6CisgICAgICAgIChF
d2tWaWV3OjpzaG93Q29udGV4dE1lbnUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL0V3
a1ZpZXcuaDoKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChFd2tWaWV3KToKKyAgICAgICAg
KiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dF9tZW51LmNwcDoKKyAgICAgICAgKEV3a0Nv
bnRleHRNZW51OjpFd2tDb250ZXh0TWVudSk6CisgICAgICAgIChFd2tDb250ZXh0TWVudTo6Y29u
dGV4dE1lbnVJdGVtU2VsZWN0ZWQpOgorICAgICAgICAoZXdrX2NvbnRleHRfbWVudV9pdGVtX3Nl
bGVjdCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHRfbWVudV9pdGVt
LmNwcDoKKyAgICAgICAgKEV3a0NvbnRleHRNZW51SXRlbTo6RXdrQ29udGV4dE1lbnVJdGVtKToK
KyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dF9tZW51X2l0ZW0uaDoKKyAg
ICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dF9tZW51X2l0ZW1fcHJpdmF0ZS5o
OgorICAgICAgICAoRXdrQ29udGV4dE1lbnVJdGVtOjpjcmVhdGUpOgorICAgICAgICAoRXdrQ29u
dGV4dE1lbnVJdGVtKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dF9t
ZW51X3ByaXZhdGUuaDoKKyAgICAgICAgKEV3a0NvbnRleHRNZW51OjpjcmVhdGUpOgorICAgICAg
ICAoRXdrQ29udGV4dE1lbnUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdENv
bnRleHRNZW51Q2xpZW50LmNwcDoKKyAgICAgICAgKGF0dGFjaENvbnRleHRNZW51Q2xpZW50VG9W
aWV3KToKKyAgICAgICAgKiBVSVByb2Nlc3MvUGFnZUNsaWVudC5oOgorICAgICAgICAoUGFnZUNs
aWVudCk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VDb250ZXh0TWVudUNsaWVudC5jcHA6
CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VDb250ZXh0TWVudUNsaWVudDo6c2hvd0NvbnRleHRN
ZW51KToKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VDb250ZXh0
TWVudUNsaWVudDo6aGlkZUNvbnRleHRNZW51KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFn
ZUNvbnRleHRNZW51Q2xpZW50Lmg6CisgICAgICAgIChXZWJQYWdlQ29udGV4dE1lbnVDbGllbnQp
OgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0
OjpXZWJQYWdlUHJveHk6OmludGVybmFsU2hvd0NvbnRleHRNZW51KToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAgIChXZWJQYWdlUHJveHkpOgorICAgICAgICAq
IFVJUHJvY2Vzcy9lZmwvQ29udGV4dE1lbnVDbGllbnRFZmwuY3BwOgorICAgICAgICAoc2hvd0Nv
bnRleHRNZW51KToKKyAgICAgICAgKGhpZGVDb250ZXh0TWVudSk6CisgICAgICAgIChDb250ZXh0
TWVudUNsaWVudEVmbDo6Q29udGV4dE1lbnVDbGllbnRFZmwpOgorICAgICAgICAqIFVJUHJvY2Vz
cy9lZmwvQ29udGV4dE1lbnVDbGllbnRFZmwuaDoKKyAgICAgICAgKFdlYktpdDo6Q29udGV4dE1l
bnVDbGllbnRFZmw6OnZpZXcpOgorICAgICAgICAqIFVJUHJvY2Vzcy9lZmwvV2ViQ29udGV4dE1l
bnVQcm94eUVmbC5jcHA6IFJlbW92ZWQuCisgICAgICAgICogVUlQcm9jZXNzL2VmbC9XZWJDb250
ZXh0TWVudVByb3h5RWZsLmg6IFJlbW92ZWQuCisgICAgICAgICogVUlQcm9jZXNzL2VmbC9XZWJW
aWV3LmNwcDoKKyAgICAgICAgKiBVSVByb2Nlc3MvZWZsL1dlYlZpZXcuaDoKKwogMjAxMy0wMi0y
MCAgVGltIEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KIAogICAgICAgICBQcm92
aWRlIFdLVmlldyBTUEkgdG8gZGVmZXIgdGVsbGluZyB0aGUgV2ViUGFnZVByb3h5IGFuZCBXZWJQ
cm9jZXNzIGFib3V0IGNoYW5nZXMgaW4gdGhlIGhvc3Rpbmcgd2luZG93CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZSBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3Jt
RWZsLmNtYWtlCmluZGV4IDdmYTRlYzkuLjNhNmNlYjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1BsYXRmb3JtRWZsLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNt
YWtlCkBAIC0xMDEsNyArMTAxLDYgQEAgbGlzdChBUFBFTkQgV2ViS2l0Ml9TT1VSQ0VTCiAgICAg
VUlQcm9jZXNzL2VmbC9WaWJyYXRpb25DbGllbnRFZmwuY3BwCiAgICAgVUlQcm9jZXNzL2VmbC9W
aWV3Q2xpZW50RWZsLmNwcAogICAgIFVJUHJvY2Vzcy9lZmwvV2ViQ29udGV4dEVmbC5jcHAKLSAg
ICBVSVByb2Nlc3MvZWZsL1dlYkNvbnRleHRNZW51UHJveHlFZmwuY3BwCiAgICAgVUlQcm9jZXNz
L2VmbC9XZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5RWZsLmNwcAogICAgIFVJUHJvY2Vzcy9lZmwv
V2ViSW5zcGVjdG9yUHJveHlFZmwuY3BwCiAgICAgVUlQcm9jZXNzL2VmbC9XZWJQYWdlUHJveHlF
ZmwuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJQ2xpZW50VHJhaXRz
LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUElDbGllbnRUcmFpdHMuY3BwCmluZGV4IDVl
Y2RhYjMuLjQ0NjU2NGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUElDbGll
bnRUcmFpdHMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUElDbGllbnRUcmFpdHMu
Y3BwCkBAIC01Nyw2ICs1Nyw3IEBAIGNvbnN0IHNpemVfdCBBUElDbGllbnRUcmFpdHM8V0tCdW5k
bGVQYWdlRnVsbFNjcmVlbkNsaWVudD46OmludGVyZmFjZVNpemVzQnlWZXJzCiBjb25zdCBzaXpl
X3QgQVBJQ2xpZW50VHJhaXRzPFdLUGFnZUNvbnRleHRNZW51Q2xpZW50Pjo6aW50ZXJmYWNlU2l6
ZXNCeVZlcnNpb25bXSA9IHsKICAgICBvZmZzZXRvZihXS1BhZ2VDb250ZXh0TWVudUNsaWVudCwg
Y29udGV4dE1lbnVEaXNtaXNzZWQpLAogICAgIG9mZnNldG9mKFdLUGFnZUNvbnRleHRNZW51Q2xp
ZW50LCBnZXRDb250ZXh0TWVudUZyb21Qcm9wb3NlZE1lbnUpLAorICAgIG9mZnNldG9mKFdLUGFn
ZUNvbnRleHRNZW51Q2xpZW50LCBzaG93Q29udGV4dE1lbnUpLAogICAgIHNpemVvZihXS1BhZ2VD
b250ZXh0TWVudUNsaWVudCkKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9BUElDbGllbnRUcmFpdHMuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUElDbGllbnRUcmFp
dHMuaAppbmRleCBhMDYyOTU2Li5hZWQ4MmY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvQVBJQ2xpZW50VHJhaXRzLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSUNs
aWVudFRyYWl0cy5oCkBAIC02MCw3ICs2MCw3IEBAIHRlbXBsYXRlPD4gc3RydWN0IEFQSUNsaWVu
dFRyYWl0czxXS0J1bmRsZVBhZ2VVSUNsaWVudD4gewogfTsKIAogdGVtcGxhdGU8PiBzdHJ1Y3Qg
QVBJQ2xpZW50VHJhaXRzPFdLUGFnZUNvbnRleHRNZW51Q2xpZW50PiB7Ci0gICAgc3RhdGljIGNv
bnN0IHNpemVfdCBpbnRlcmZhY2VTaXplc0J5VmVyc2lvblszXTsKKyAgICBzdGF0aWMgY29uc3Qg
c2l6ZV90IGludGVyZmFjZVNpemVzQnlWZXJzaW9uWzRdOwogfTsKIAogdGVtcGxhdGU8PiBzdHJ1
Y3QgQVBJQ2xpZW50VHJhaXRzPFdLUGFnZUxvYWRlckNsaWVudD4gewpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNwcAppbmRleCBhM2E0NDg4Li5hMTNlYWU5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNwcApAQCAtNDAsNiArNDAsMTAgQEAK
ICNpbmNsdWRlIDxCbG9jay5oPgogI2VuZGlmCiAKKyNpZiBFTkFCTEUoQ09OVEVYVF9NRU5VUykK
KyNpbmNsdWRlICJXZWJDb250ZXh0TWVudUl0ZW0uaCIKKyNlbmRpZgorCiB1c2luZyBuYW1lc3Bh
Y2UgV2ViQ29yZTsKIHVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CiAKQEAgLTgxNSwzICs4MTksMTAg
QEAgdm9pZCBXS1BhZ2VTZXRJbnZhbGlkTWVzc2FnZUZ1bmN0aW9uKFdLUGFnZUludmFsaWRNZXNz
YWdlRnVuY3Rpb24pCiB7CiAgICAgLy8gRklYTUU6IFJlbW92ZSB0aGlzIGZ1bmN0aW9uIHdoZW4g
ZG9pbmcgc28gd29uJ3QgYnJlYWsgV2ViS2l0IG5pZ2h0bGllcy4KIH0KKwordm9pZCBXS1BhZ2VD
b250ZXh0TWVudUl0ZW1TZWxlY3RlZChXS1BhZ2VSZWYgcGFnZSwgV0tDb250ZXh0TWVudUl0ZW1S
ZWYgaXRlbSkKK3sKKyNpZiBFTkFCTEUoQ09OVEVYVF9NRU5VUykKKyAgICB0b0ltcGwocGFnZSkt
PmNvbnRleHRNZW51SXRlbVNlbGVjdGVkKCoodG9JbXBsKGl0ZW0pLT5kYXRhKCkpKTsKKyNlbmRp
ZgorfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5o
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5oCmluZGV4IGE1OWFlZTUu
LjJiOTk5ZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1Bh
Z2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmgKQEAgLTMy
MCw2ICszMjAsOCBAQCBlbnVtIHsga1dLUGFnZUZpbmRNYXRjaGVzQ2xpZW50Q3VycmVudFZlcnNp
b24gPSAwIH07CiB0eXBlZGVmIHZvaWQgKCpXS1BhZ2VHZXRDb250ZXh0TWVudUZyb21Qcm9wb3Nl
ZENvbnRleHRNZW51Q2FsbGJhY2spKFdLUGFnZVJlZiBwYWdlLCBXS0FycmF5UmVmIHByb3Bvc2Vk
TWVudSwgV0tBcnJheVJlZiogbmV3TWVudSwgV0tIaXRUZXN0UmVzdWx0UmVmIGhpdFRlc3RSZXN1
bHQsIFdLVHlwZVJlZiB1c2VyRGF0YSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7CiB0eXBlZGVm
IHZvaWQgKCpXS1BhZ2VDdXN0b21Db250ZXh0TWVudUl0ZW1TZWxlY3RlZENhbGxiYWNrKShXS1Bh
Z2VSZWYgcGFnZSwgV0tDb250ZXh0TWVudUl0ZW1SZWYgY29udGV4dE1lbnVJdGVtLCBjb25zdCB2
b2lkKiBjbGllbnRJbmZvKTsKIHR5cGVkZWYgdm9pZCAoKldLUGFnZUNvbnRleHRNZW51RGlzbWlz
c2VkQ2FsbGJhY2spKFdLUGFnZVJlZiBwYWdlLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKK3R5
cGVkZWYgdm9pZCAoKldLUGFnZVNob3dDb250ZXh0TWVudUNhbGxiYWNrKShXS1BhZ2VSZWYgcGFn
ZSwgV0tQb2ludCBtZW51TG9jYXRpb24sIFdLQXJyYXlSZWYgbWVudUl0ZW1zLCBjb25zdCB2b2lk
KiBjbGllbnRJbmZvKTsKK3R5cGVkZWYgdm9pZCAoKldLUGFnZUhpZGVDb250ZXh0TWVudUNhbGxi
YWNrKShXS1BhZ2VSZWYgcGFnZSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7CiAKIC8vIERlcHJl
Y2F0ZWQKIHR5cGVkZWYgdm9pZCAoKldLUGFnZUdldENvbnRleHRNZW51RnJvbVByb3Bvc2VkQ29u
dGV4dE1lbnVDYWxsYmFja19kZXByZWNhdGVkRm9yVXNlV2l0aFYwKShXS1BhZ2VSZWYgcGFnZSwg
V0tBcnJheVJlZiBwcm9wb3NlZE1lbnUsIFdLQXJyYXlSZWYqIG5ld01lbnUsIFdLVHlwZVJlZiB1
c2VyRGF0YSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7CkBAIC0zMzYsMTAgKzMzOCwxNCBAQCBz
dHJ1Y3QgV0tQYWdlQ29udGV4dE1lbnVDbGllbnQgewogCiAgICAgLy8gVmVyc2lvbiAyCiAgICAg
V0tQYWdlR2V0Q29udGV4dE1lbnVGcm9tUHJvcG9zZWRDb250ZXh0TWVudUNhbGxiYWNrICAgICAg
ICAgICAgICAgICAgICAgICAgICBnZXRDb250ZXh0TWVudUZyb21Qcm9wb3NlZE1lbnU7CisKKyAg
ICAvLyBWZXJzaW9uIDMKKyAgICBXS1BhZ2VTaG93Q29udGV4dE1lbnVDYWxsYmFjayAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3dDb250ZXh0TWVudTsK
KyAgICBXS1BhZ2VIaWRlQ29udGV4dE1lbnVDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGhpZGVDb250ZXh0TWVudTsKIH07CiB0eXBlZGVmIHN0
cnVjdCBXS1BhZ2VDb250ZXh0TWVudUNsaWVudCBXS1BhZ2VDb250ZXh0TWVudUNsaWVudDsKIAot
ZW51bSB7IGtXS1BhZ2VDb250ZXh0TWVudUNsaWVudEN1cnJlbnRWZXJzaW9uID0gMiB9OworZW51
bSB7IGtXS1BhZ2VDb250ZXh0TWVudUNsaWVudEN1cnJlbnRWZXJzaW9uID0gMyB9OwogCiBXS19F
WFBPUlQgV0tUeXBlSUQgV0tQYWdlR2V0VHlwZUlEKCk7CiAKQEAgLTUxOSw2ICs1MjUsOCBAQCBX
S19FWFBPUlQgdm9pZCBXS1BhZ2VFeGVjdXRlQ29tbWFuZChXS1BhZ2VSZWYgcGFnZSwgV0tTdHJp
bmdSZWYgY29tbWFuZCk7CiAKIFdLX0VYUE9SVCB2b2lkIFdLUGFnZVBvc3RNZXNzYWdlVG9Jbmpl
Y3RlZEJ1bmRsZShXS1BhZ2VSZWYgcGFnZSwgV0tTdHJpbmdSZWYgbWVzc2FnZU5hbWUsIFdLVHlw
ZVJlZiBtZXNzYWdlQm9keSk7CiAKK1dLX0VYUE9SVCB2b2lkIFdLUGFnZUNvbnRleHRNZW51SXRl
bVNlbGVjdGVkKFdLUGFnZVJlZiBwYWdlLCBXS0NvbnRleHRNZW51SXRlbVJlZiBpdGVtKTsKKwog
I2lmZGVmIF9fY3BsdXNwbHVzCiB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9lZmwvRXdrVmlldy5jcHAKaW5kZXggN2MwNDY0Yy4uYjFmNzVjOCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlldy5jcHAKKysrIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlldy5jcHAKQEAgLTg4Nyw3ICs4ODcsNyBA
QCB2b2lkIEV3a1ZpZXc6OmRpc21pc3NDb2xvclBpY2tlcigpCiBDT01QSUxFX0FTU0VSVF9NQVRD
SElOR19FTlVNKEVXS19URVhUX0RJUkVDVElPTl9SSUdIVF9UT19MRUZULCBSVEwpOwogQ09NUElM
RV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfVEVYVF9ESVJFQ1RJT05fTEVGVF9UT19SSUdIVCwg
TFRSKTsKIAotdm9pZCBFd2tWaWV3OjpzaG93Q29udGV4dE1lbnUoV2ViQ29udGV4dE1lbnVQcm94
eUVmbCogY29udGV4dE1lbnVQcm94eSwgY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIHBvc2l0aW9u
LCBjb25zdCBWZWN0b3I8V2ViQ29udGV4dE1lbnVJdGVtRGF0YT4mIGl0ZW1zKQordm9pZCBFd2tW
aWV3OjpzaG93Q29udGV4dE1lbnUoV0tQb2ludCBwb3NpdGlvbiwgV0tBcnJheVJlZiBpdGVtcykK
IHsKICAgICBFd2tfVmlld19TbWFydF9EYXRhKiBzZCA9IHNtYXJ0RGF0YSgpOwogICAgIEFTU0VS
VChzZC0+YXBpKTsKQEAgLTkwMCw5ICs5MDAsOSBAQCB2b2lkIEV3a1ZpZXc6OnNob3dDb250ZXh0
TWVudShXZWJDb250ZXh0TWVudVByb3h5RWZsKiBjb250ZXh0TWVudVByb3h5LCBjb25zdCBXZQog
ICAgIGlmIChtX2NvbnRleHRNZW51KQogICAgICAgICBoaWRlQ29udGV4dE1lbnUoKTsKIAotICAg
IG1fY29udGV4dE1lbnUgPSBFd2tfQ29udGV4dF9NZW51OjpjcmVhdGUodGhpcywgY29udGV4dE1l
bnVQcm94eSwgaXRlbXMpOworICAgIG1fY29udGV4dE1lbnUgPSBFd2tfQ29udGV4dF9NZW51Ojpj
cmVhdGUodGhpcywgaXRlbXMpOwogCi0gICAgc2QtPmFwaS0+Y29udGV4dF9tZW51X3Nob3coc2Qs
IHBvc2l0aW9uLngoKSwgcG9zaXRpb24ueSgpLCBtX2NvbnRleHRNZW51LmdldCgpKTsKKyAgICBz
ZC0+YXBpLT5jb250ZXh0X21lbnVfc2hvdyhzZCwgcG9zaXRpb24ueCwgcG9zaXRpb24ueSwgbV9j
b250ZXh0TWVudS5nZXQoKSk7CiB9CiAKIHZvaWQgRXdrVmlldzo6aGlkZUNvbnRleHRNZW51KCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuaCBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuaAppbmRleCBiOTQ2NjA4
Li5lOTdkMTg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9F
d2tWaWV3LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlldy5o
CkBAIC02Myw4ICs2Myw2IEBAIGNsYXNzIFBhZ2VMb2FkQ2xpZW50RWZsOwogY2xhc3MgUGFnZVBv
bGljeUNsaWVudEVmbDsKIGNsYXNzIFBhZ2VVSUNsaWVudEVmbDsKIGNsYXNzIFZpZXdDbGllbnRF
Zmw7Ci1jbGFzcyBXZWJDb250ZXh0TWVudUl0ZW1EYXRhOwotY2xhc3MgV2ViQ29udGV4dE1lbnVQ
cm94eUVmbDsKIGNsYXNzIFdlYlBhZ2VHcm91cDsKIGNsYXNzIFdlYlBhZ2VQcm94eTsKIApAQCAt
MTkwLDcgKzE4OCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHJlcXVlc3RQb3B1cE1lbnUoV0tQb3B1
cE1lbnVMaXN0ZW5lclJlZiwgY29uc3QgV0tSZWN0JiwgV0tQb3B1cEl0ZW1UZXh0RGlyZWN0aW9u
LCBkb3VibGUgcGFnZVNjYWxlRmFjdG9yLCBXS0FycmF5UmVmIGl0ZW1zLCBpbnQzMl90IHNlbGVj
dGVkSW5kZXgpOwogICAgIHZvaWQgY2xvc2VQb3B1cE1lbnUoKTsKIAotICAgIHZvaWQgc2hvd0Nv
bnRleHRNZW51KFdlYktpdDo6V2ViQ29udGV4dE1lbnVQcm94eUVmbCosIGNvbnN0IFdlYkNvcmU6
OkludFBvaW50JiBwb3NpdGlvbiwgY29uc3QgVmVjdG9yPFdlYktpdDo6V2ViQ29udGV4dE1lbnVJ
dGVtRGF0YT4mIGl0ZW1zKTsKKyAgICB2b2lkIHNob3dDb250ZXh0TWVudShXS1BvaW50IHBvc2l0
aW9uLCBXS0FycmF5UmVmIGl0ZW1zKTsKICAgICB2b2lkIGhpZGVDb250ZXh0TWVudSgpOwogCiAg
ICAgdm9pZCB1cGRhdGVUZXh0SW5wdXRTdGF0ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHRfbWVudS5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dF9tZW51LmNwcAppbmRleCA5OGE0MzFhLi5m
M2JlOGRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tf
Y29udGV4dF9tZW51LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9l
d2tfY29udGV4dF9tZW51LmNwcApAQCAtMjgsMzQgKzI4LDMyIEBACiAKICNpbmNsdWRlICJBUElP
YmplY3QuaCIKICNpbmNsdWRlICJFd2tWaWV3LmgiCi0jaW5jbHVkZSAiV2ViQ29udGV4dE1lbnVJ
dGVtRGF0YS5oIgotI2luY2x1ZGUgIldlYkNvbnRleHRNZW51UHJveHlFZmwuaCIKKyNpbmNsdWRl
ICJXS0FycmF5LmgiCisjaW5jbHVkZSAiV0tDb250ZXh0TWVudUl0ZW0uaCIKKyNpbmNsdWRlICJX
S1N0cmluZy5oIgogI2luY2x1ZGUgImV3a19jb250ZXh0X21lbnVfaXRlbS5oIgogI2luY2x1ZGUg
ImV3a19jb250ZXh0X21lbnVfaXRlbV9wcml2YXRlLmgiCiAjaW5jbHVkZSAiZXdrX2NvbnRleHRf
bWVudV9wcml2YXRlLmgiCiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CiAKLUV3a0NvbnRleHRN
ZW51OjpFd2tDb250ZXh0TWVudShFd2tWaWV3KiB2aWV3LCBXZWJDb250ZXh0TWVudVByb3h5RWZs
KiBjb250ZXh0TWVudVByb3h5LCBjb25zdCBWZWN0b3I8V2ViS2l0OjpXZWJDb250ZXh0TWVudUl0
ZW1EYXRhPiYgaXRlbXMpCitFd2tDb250ZXh0TWVudTo6RXdrQ29udGV4dE1lbnUoRXdrVmlldyog
dmlldywgV0tBcnJheVJlZiBpdGVtcykKICAgICA6IG1fdmlld0ltcGwodmlldykKLSAgICAsIG1f
Y29udGV4dE1lbnVQcm94eShjb250ZXh0TWVudVByb3h5KQogICAgICwgbV9jb250ZXh0TWVudUl0
ZW1zKDApCiB7Ci0gICAgY29uc3Qgc2l6ZV90IHNpemUgPSBpdGVtcy5zaXplKCk7CisgICAgc2l6
ZV90IHNpemUgPSBXS0FycmF5R2V0U2l6ZShpdGVtcyk7CiAgICAgZm9yIChzaXplX3QgaSA9IDA7
IGkgPCBzaXplOyArK2kpCi0gICAgICAgIG1fY29udGV4dE1lbnVJdGVtcyA9IGVpbmFfbGlzdF9h
cHBlbmQobV9jb250ZXh0TWVudUl0ZW1zLCBFd2tfQ29udGV4dF9NZW51X0l0ZW06OmNyZWF0ZShp
dGVtc1tpXSkubGVha1B0cigpKTsKKyAgICAgICAgbV9jb250ZXh0TWVudUl0ZW1zID0gZWluYV9s
aXN0X2FwcGVuZChtX2NvbnRleHRNZW51SXRlbXMsIEV3a19Db250ZXh0X01lbnVfSXRlbTo6Y3Jl
YXRlKHN0YXRpY19jYXN0PFdLQ29udGV4dE1lbnVJdGVtUmVmPihXS0FycmF5R2V0SXRlbUF0SW5k
ZXgoaXRlbXMsIGkpKSkubGVha1B0cigpKTsKIH0KIAogRXdrQ29udGV4dE1lbnU6OkV3a0NvbnRl
eHRNZW51KCkKICAgICA6IG1fdmlld0ltcGwoMCkKLSAgICAsIG1fY29udGV4dE1lbnVQcm94eSgw
KQogICAgICwgbV9jb250ZXh0TWVudUl0ZW1zKDApCiB7CiB9CiAKIEV3a0NvbnRleHRNZW51OjpF
d2tDb250ZXh0TWVudShFaW5hX0xpc3QqIGl0ZW1zKQogICAgIDogbV92aWV3SW1wbCgwKQotICAg
ICwgbV9jb250ZXh0TWVudVByb3h5KDApCiAgICAgLCBtX2NvbnRleHRNZW51SXRlbXMoMCkKIHsK
ICAgICBFaW5hX0xpc3QqIGw7CkBAIC04Niw5ICs4NCw5IEBAIHZvaWQgRXdrX0NvbnRleHRfTWVu
dTo6cmVtb3ZlSXRlbShFd2tDb250ZXh0TWVudUl0ZW0qIGl0ZW0pCiAgICAgbV9jb250ZXh0TWVu
dUl0ZW1zID0gZWluYV9saXN0X3JlbW92ZShtX2NvbnRleHRNZW51SXRlbXMsIGl0ZW0pOwogfQog
Ci12b2lkIEV3a0NvbnRleHRNZW51Ojpjb250ZXh0TWVudUl0ZW1TZWxlY3RlZChjb25zdCBXZWJL
aXQ6OldlYkNvbnRleHRNZW51SXRlbURhdGEmIGl0ZW0pCit2b2lkIEV3a0NvbnRleHRNZW51Ojpj
b250ZXh0TWVudUl0ZW1TZWxlY3RlZChXS0NvbnRleHRNZW51SXRlbVJlZiBpdGVtKQogewotICAg
IG1fY29udGV4dE1lbnVQcm94eS0+Y29udGV4dE1lbnVJdGVtU2VsZWN0ZWQoaXRlbSk7IAorICAg
IFdLUGFnZUNvbnRleHRNZW51SXRlbVNlbGVjdGVkKG1fdmlld0ltcGwtPndrUGFnZSgpLCBpdGVt
KTsKIH0gCiAKIEV3a19Db250ZXh0X01lbnUqIGV3a19jb250ZXh0X21lbnVfbmV3KCkKQEAgLTE0
MCwxMCArMTM4LDIxIEBAIEVpbmFfQm9vbCBld2tfY29udGV4dF9tZW51X2l0ZW1fc2VsZWN0KEV3
a19Db250ZXh0X01lbnUqIG1lbnUsIEV3a19Db250ZXh0X01lbnVfCiAgICAgRUlOQV9TQUZFVFlf
T05fTlVMTF9SRVRVUk5fVkFMKG1lbnUsIGZhbHNlKTsKICAgICBFSU5BX1NBRkVUWV9PTl9OVUxM
X1JFVFVSTl9WQUwoaXRlbSwgZmFsc2UpOwogCi0gICAgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVt
VHlwZSB0eXBlID0gc3RhdGljX2Nhc3Q8V2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVHlwZT4oaXRl
bS0+dHlwZSgpKTsKLSAgICBXZWJDb3JlOjpDb250ZXh0TWVudUFjdGlvbiBhY3Rpb24gPSBzdGF0
aWNfY2FzdDxXZWJDb3JlOjpDb250ZXh0TWVudUFjdGlvbj4oaXRlbS0+YWN0aW9uKCkpOwotCi0g
ICAgbWVudS0+Y29udGV4dE1lbnVJdGVtU2VsZWN0ZWQoV2ViQ29udGV4dE1lbnVJdGVtRGF0YSh0
eXBlLCBhY3Rpb24sIGl0ZW0tPnRpdGxlKCksIGl0ZW0tPmVuYWJsZWQoKSwgaXRlbS0+Y2hlY2tl
ZCgpKSk7CisgICAgV0tDb250ZXh0TWVudUl0ZW1SZWYgd2tJdGVtOworCisgICAgc3dpdGNoIChp
dGVtLT50eXBlKCkpIHsKKyAgICBjYXNlIEVXS19BQ1RJT05fVFlQRToKKyAgICAgICAgd2tJdGVt
ID0gV0tDb250ZXh0TWVudUl0ZW1DcmVhdGVBc0FjdGlvbihzdGF0aWNfY2FzdDxXS0NvbnRleHRN
ZW51SXRlbVRhZz4oaXRlbS0+YWN0aW9uKCkpLCBhZG9wdFdLKFdLU3RyaW5nQ3JlYXRlV2l0aFVU
RjhDU3RyaW5nKGl0ZW0tPnRpdGxlKCkpKS5nZXQoKSwgaXRlbS0+ZW5hYmxlZCgpKTsKKyAgICAg
ICAgYnJlYWs7CisgICAgY2FzZSBFV0tfQ0hFQ0tBQkxFX0FDVElPTl9UWVBFOgorICAgICAgICB3
a0l0ZW0gPSBXS0NvbnRleHRNZW51SXRlbUNyZWF0ZUFzQ2hlY2thYmxlQWN0aW9uKHN0YXRpY19j
YXN0PFdLQ29udGV4dE1lbnVJdGVtVGFnPihpdGVtLT5hY3Rpb24oKSksIGFkb3B0V0soV0tTdHJp
bmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoaXRlbS0+dGl0bGUoKSkpLmdldCgpLCBpdGVtLT5lbmFi
bGVkKCksIGl0ZW0tPmNoZWNrZWQoKSk7CisgICAgICAgIGJyZWFrOworICAgIGRlZmF1bHQ6Cisg
ICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAg
fQorCisgICAgbWVudS0+Y29udGV4dE1lbnVJdGVtU2VsZWN0ZWQod2tJdGVtKTsKIAogICAgIHJl
dHVybiB0cnVlOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9l
ZmwvZXdrX2NvbnRleHRfbWVudV9pdGVtLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvZWZsL2V3a19jb250ZXh0X21lbnVfaXRlbS5jcHAKaW5kZXggMWZmODY1Mi4uZTlkNDgxOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHRf
bWVudV9pdGVtLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tf
Y29udGV4dF9tZW51X2l0ZW0uY3BwCkBAIC0yOCwxNyArMjgsMTcgQEAKIAogI2luY2x1ZGUgImV3
a19jb250ZXh0X21lbnVfaXRlbV9wcml2YXRlLmgiCiAjaW5jbHVkZSAiZXdrX3ByaXZhdGUuaCIK
KyNpbmNsdWRlIDxXZWJLaXQyL1dLQ29udGV4dE1lbnVJdGVtVHlwZXMuaD4KICNpbmNsdWRlIDx3
dGYvdGV4dC9DU3RyaW5nLmg+CiAKLXVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogdXNpbmcgbmFt
ZXNwYWNlIFdlYktpdDsKIAotRXdrQ29udGV4dE1lbnVJdGVtOjpFd2tDb250ZXh0TWVudUl0ZW0o
Y29uc3QgV2ViQ29udGV4dE1lbnVJdGVtRGF0YSYgaXRlbSkKLSAgICA6IG1fdHlwZShzdGF0aWNf
Y2FzdDxFd2tfQ29udGV4dF9NZW51X0l0ZW1fVHlwZT4oaXRlbS50eXBlKCkpKQotICAgICwgbV9h
Y3Rpb24oc3RhdGljX2Nhc3Q8RXdrX0NvbnRleHRfTWVudV9JdGVtX0FjdGlvbj4oaXRlbS5hY3Rp
b24oKSkpCi0gICAgLCBtX3RpdGxlKGl0ZW0udGl0bGUoKS51dGY4KCkuZGF0YSgpKQotICAgICwg
bV9pc0NoZWNrZWQoaXRlbS5jaGVja2VkKCkpCi0gICAgLCBtX2lzRW5hYmxlZChpdGVtLmVuYWJs
ZWQoKSkKK0V3a0NvbnRleHRNZW51SXRlbTo6RXdrQ29udGV4dE1lbnVJdGVtKFdLQ29udGV4dE1l
bnVJdGVtUmVmIGl0ZW0pCisgICAgOiBtX3R5cGUoc3RhdGljX2Nhc3Q8RXdrX0NvbnRleHRfTWVu
dV9JdGVtX1R5cGU+KFdLQ29udGV4dE1lbnVJdGVtR2V0VHlwZShpdGVtKSkpCisgICAgLCBtX2Fj
dGlvbihzdGF0aWNfY2FzdDxFd2tfQ29udGV4dF9NZW51X0l0ZW1fQWN0aW9uPihXS0NvbnRleHRN
ZW51SXRlbUdldFRhZyhpdGVtKSkpCisgICAgLCBtX3RpdGxlKFdLRWluYVNoYXJlZFN0cmluZyhB
ZG9wdFdLLCBXS0NvbnRleHRNZW51SXRlbUNvcHlUaXRsZShpdGVtKSkpCisgICAgLCBtX2lzQ2hl
Y2tlZChXS0NvbnRleHRNZW51SXRlbUdldENoZWNrZWQoaXRlbSkpCisgICAgLCBtX2lzRW5hYmxl
ZChXS0NvbnRleHRNZW51SXRlbUdldEVuYWJsZWQoaXRlbSkpCiAgICAgLCBtX3BhcmVudE1lbnUo
MCkKICAgICAsIG1fc3ViTWVudSgwKQogewpAQCAtMTQ1LDgwICsxNDUsODggQEAgRWluYV9Cb29s
IGV3a19jb250ZXh0X21lbnVfaXRlbV9lbmFibGVkX3NldChFd2tfQ29udGV4dF9NZW51X0l0ZW0q
IGl0ZW0sIEVpbmFfQm8KICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotQ09NUElMRV9BU1NFUlRfTUFU
Q0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX05PX0FDVElPTiwgV2ViQ29yZTo6
Q29udGV4dE1lbnVJdGVtVGFnTm9BY3Rpb24pOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5V
TShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX09QRU5fTElOS19JTl9ORVdfV0lORE9XLCBXZWJD
b3JlOjpDb250ZXh0TWVudUl0ZW1UYWdPcGVuTGlua0luTmV3V2luZG93KTsKLUNPTVBJTEVfQVNT
RVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19ET1dOTE9BRF9MSU5L
X1RPX0RJU0ssIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ0Rvd25sb2FkTGlua1RvRGlzayk7
Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdf
Q09QWV9MSU5LX1RPX0NMSVBCT0FSRCwgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnQ29weUxp
bmtUb0NsaXBib2FyZCk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhU
X01FTlVfSVRFTV9UQUdfT1BFTl9JTUFHRV9JTl9ORVdfV0lORE9XLCBXZWJDb3JlOjpDb250ZXh0
TWVudUl0ZW1UYWdPcGVuSW1hZ2VJbk5ld1dpbmRvdyk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElO
R19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfRE9XTkxPQURfSU1BR0VfVE9fRElTSywg
V2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnRG93bmxvYWRJbWFnZVRvRGlzayk7Ci1DT01QSUxF
X0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfQ09QWV9JTUFH
RV9UT19DTElQQk9BUkQsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ0NvcHlJbWFnZVRvQ2xp
cGJvYXJkKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9J
VEVNX1RBR19DT1BZX0lNQUdFX1VSTF9UT19DTElQQk9BUkQsIFdlYkNvcmU6OkNvbnRleHRNZW51
SXRlbVRhZ0NvcHlJbWFnZVVybFRvQ2xpcGJvYXJkKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5H
X0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19PUEVOX0ZSQU1FX0lOX05FV19XSU5ET1cs
IFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ09wZW5GcmFtZUluTmV3V2luZG93KTsKLUNPTVBJ
TEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19DT1BZLCBX
ZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdDb3B5KTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5H
X0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19HT19CQUNLLCBXZWJDb3JlOjpDb250ZXh0
TWVudUl0ZW1UYWdHb0JhY2spOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09O
VEVYVF9NRU5VX0lURU1fVEFHX0dPX0ZPUldBUkQsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRh
Z0dvRm9yd2FyZCk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01F
TlVfSVRFTV9UQUdfU1RPUCwgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnU3RvcCk7Ci1DT01Q
SUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfUkVMT0FE
LCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdSZWxvYWQpOwotQ09NUElMRV9BU1NFUlRfTUFU
Q0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0NVVCwgV2ViQ29yZTo6Q29udGV4
dE1lbnVJdGVtVGFnQ3V0KTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRF
WFRfTUVOVV9JVEVNX1RBR19QQVNURSwgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnUGFzdGUp
OwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFH
X1NFTEVDVF9BTEwsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ1NlbGVjdEFsbCk7Ci1DT01Q
SUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfU1BFTExJ
TkdfR1VFU1MsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ1NwZWxsaW5nR3Vlc3MpOwotQ09N
UElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX05PX0dV
RVNTRVNfRk9VTkQsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ05vR3Vlc3Nlc0ZvdW5kKTsK
LUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19J
R05PUkVfU1BFTExJTkcsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ0lnbm9yZVNwZWxsaW5n
KTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RB
R19MRUFSTl9TUEVMTElORywgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnTGVhcm5TcGVsbGlu
Zyk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9U
QUdfT1RIRVIsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ090aGVyKTsKLUNPTVBJTEVfQVNT
RVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19TRUFSQ0hfSU5fU1BP
VExJR0hULCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdTZWFyY2hJblNwb3RsaWdodCk7Ci1D
T01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfU0VB
UkNIX1dFQiwgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnU2VhcmNoV2ViKTsKLUNPTVBJTEVf
QVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19MT09LX1VQX0lO
X0RJQ1RJT05BUlksIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ0xvb2tVcEluRGljdGlvbmFy
eSk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9U
QUdfT1BFTl9XSVRIX0RFRkFVTFRfQVBQTElDQVRJT04sIFdlYkNvcmU6OkNvbnRleHRNZW51SXRl
bVRhZ09wZW5XaXRoRGVmYXVsdEFwcGxpY2F0aW9uKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5H
X0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1BERkFDVFVBTF9TSVpFLCBXZWJDb3JlOjpDb250
ZXh0TWVudUl0ZW1QREZBY3R1YWxTaXplKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0o
RVdLX0NPTlRFWFRfTUVOVV9JVEVNX1BERlpPT01fSU4sIFdlYkNvcmU6OkNvbnRleHRNZW51SXRl
bVBERlpvb21Jbik7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01F
TlVfSVRFTV9QREZaT09NX09VVCwgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtUERGWm9vbU91dCk7
Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9QREZB
VVRPX1NJWkUsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVBERkF1dG9TaXplKTsKLUNPTVBJTEVf
QVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1BERlNJTkdMRV9QQUdF
LCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1QREZTaW5nbGVQYWdlKTsKLUNPTVBJTEVfQVNTRVJU
X01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1BERkZBQ0lOR19QQUdFUywgV2Vi
Q29yZTo6Q29udGV4dE1lbnVJdGVtUERGRmFjaW5nUGFnZXMpOwotQ09NUElMRV9BU1NFUlRfTUFU
Q0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fUERGQ09OVElOVU9VUywgV2ViQ29yZTo6
Q29udGV4dE1lbnVJdGVtUERGQ29udGludW91cyk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19F
TlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9QREZORVhUX1BBR0UsIFdlYkNvcmU6OkNvbnRleHRN
ZW51SXRlbVBERk5leHRQYWdlKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NP
TlRFWFRfTUVOVV9JVEVNX1BERlBSRVZJT1VTX1BBR0UsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRl
bVBERlByZXZpb3VzUGFnZSk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05U
RVhUX01FTlVfSVRFTV9UQUdfT1BFTl9MSU5LLCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdP
cGVuTGluayk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVf
SVRFTV9UQUdfSUdOT1JFX0dSQU1NQVIsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ0lnbm9y
ZUdyYW1tYXIpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5V
X0lURU1fVEFHX1NQRUxMSU5HX01FTlUsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ1NwZWxs
aW5nTWVudSk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVf
SVRFTV9UQUdfU0hPV19TUEVMTElOR19QQU5FTCwgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFn
U2hvd1NwZWxsaW5nUGFuZWwpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09O
VEVYVF9NRU5VX0lURU1fVEFHX0NIRUNLX1NQRUxMSU5HLCBXZWJDb3JlOjpDb250ZXh0TWVudUl0
ZW1UYWdDaGVja1NwZWxsaW5nKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NP
TlRFWFRfTUVOVV9JVEVNX1RBR19DSEVDS19TUEVMTElOR19XSElMRV9UWVBJTkcsIFdlYkNvcmU6
OkNvbnRleHRNZW51SXRlbVRhZ0NoZWNrU3BlbGxpbmdXaGlsZVR5cGluZyk7Ci1DT01QSUxFX0FT
U0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfQ0hFQ0tfR1JBTU1B
Ul9XSVRIX1NQRUxMSU5HLCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdDaGVja0dyYW1tYXJX
aXRoU3BlbGxpbmcpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9N
RU5VX0lURU1fVEFHX0ZPTlRfTUVOVSwgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnRm9udE1l
bnUpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1f
VEFHX1NIT1dfRk9OVFMsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ1Nob3dGb250cyk7Ci1D
T01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfQk9M
RCwgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnQm9sZCk7Ci1DT01QSUxFX0FTU0VSVF9NQVRD
SElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfSVRBTElDLCBXZWJDb3JlOjpDb250
ZXh0TWVudUl0ZW1UYWdJdGFsaWMpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tf
Q09OVEVYVF9NRU5VX0lURU1fVEFHX1VOREVSTElORSwgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVt
VGFnVW5kZXJsaW5lKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRf
TUVOVV9JVEVNX1RBR19PVVRMSU5FLCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdPdXRsaW5l
KTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RB
R19TVFlMRVMsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ1N0eWxlcyk7Ci1DT01QSUxFX0FT
U0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfU0hPV19DT0xPUlMs
IFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ1Nob3dDb2xvcnMpOwotQ09NUElMRV9BU1NFUlRf
TUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1NQRUVDSF9NRU5VLCBXZWJD
b3JlOjpDb250ZXh0TWVudUl0ZW1UYWdTcGVlY2hNZW51KTsKLUNPTVBJTEVfQVNTRVJUX01BVENI
SU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19TVEFSVF9TUEVBS0lORywgV2ViQ29y
ZTo6Q29udGV4dE1lbnVJdGVtVGFnU3RhcnRTcGVha2luZyk7Ci1DT01QSUxFX0FTU0VSVF9NQVRD
SElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfU1RPUF9TUEVBS0lORywgV2ViQ29y
ZTo6Q29udGV4dE1lbnVJdGVtVGFnU3RvcFNwZWFraW5nKTsKLUNPTVBJTEVfQVNTRVJUX01BVENI
SU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19XUklUSU5HX0RJUkVDVElPTl9NRU5V
LCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdXcml0aW5nRGlyZWN0aW9uTWVudSk7Ci1DT01Q
SUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfREVGQVVM
VF9ESVJFQ1RJT04sIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ0RlZmF1bHREaXJlY3Rpb24p
OwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFH
X0xFRlRfVE9fUklHSFQsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ0xlZnRUb1JpZ2h0KTsK
LUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19S
SUdIVF9UT19MRUZULCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdSaWdodFRvTGVmdCk7Ci1D
T01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfUERG
U0lOR0xFX1BBR0VfU0NST0xMSU5HLCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdQREZTaW5n
bGVQYWdlU2Nyb2xsaW5nKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRF
WFRfTUVOVV9JVEVNX1RBR19QREZGQUNJTkdfUEFHRVNfU0NST0xMSU5HLCBXZWJDb3JlOjpDb250
ZXh0TWVudUl0ZW1UYWdQREZGYWNpbmdQYWdlc1Njcm9sbGluZyk7Ci0jaWYgRU5BQkxFKElOU1BF
Q1RPUikKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVN
X1RBR19JTlNQRUNUX0VMRU1FTlQsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ0luc3BlY3RF
bGVtZW50KTsKLSNlbmRpZgotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVY
VF9NRU5VX0lURU1fVEFHX1RFWFRfRElSRUNUSU9OX01FTlUsIFdlYkNvcmU6OkNvbnRleHRNZW51
SXRlbVRhZ1RleHREaXJlY3Rpb25NZW51KTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0o
RVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19URVhUX0RJUkVDVElPTl9ERUZBVUxULCBXZWJDb3Jl
OjpDb250ZXh0TWVudUl0ZW1UYWdUZXh0RGlyZWN0aW9uRGVmYXVsdCk7Ci1DT01QSUxFX0FTU0VS
VF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfVEVYVF9ESVJFQ1RJT05f
TEVGVF9UT19SSUdIVCwgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnVGV4dERpcmVjdGlvbkxl
ZnRUb1JpZ2h0KTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVO
VV9JVEVNX1RBR19URVhUX0RJUkVDVElPTl9SSUdIVF9UT19MRUZULCBXZWJDb3JlOjpDb250ZXh0
TWVudUl0ZW1UYWdUZXh0RGlyZWN0aW9uUmlnaHRUb0xlZnQpOwotQ09NUElMRV9BU1NFUlRfTUFU
Q0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fT1BFTl9NRURJQV9JTl9ORVdfV0lORE9X
LCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdPcGVuTWVkaWFJbk5ld1dpbmRvdyk7Ci1DT01Q
SUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfQ09QWV9N
RURJQV9MSU5LX1RPX0NMSVBCT0FSRCwgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnQ29weU1l
ZGlhTGlua1RvQ2xpcGJvYXJkKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NP
TlRFWFRfTUVOVV9JVEVNX1RBR19UT0dHTEVfTUVESUFfQ09OVFJPTFMsIFdlYkNvcmU6OkNvbnRl
eHRNZW51SXRlbVRhZ1RvZ2dsZU1lZGlhQ29udHJvbHMpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJ
TkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1RPR0dMRV9NRURJQV9MT09QLCBXZWJD
b3JlOjpDb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVNZWRpYUxvb3ApOwotQ09NUElMRV9BU1NFUlRf
TUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0VOVEVSX1ZJREVPX0ZVTExT
Q1JFRU4sIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ0VudGVyVmlkZW9GdWxsc2NyZWVuKTsK
LUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19N
RURJQV9QTEFZX1BBVVNFLCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdNZWRpYVBsYXlQYXVz
ZSk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9U
QUdfTUVESUFfTVVURSwgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnTWVkaWFNdXRlKTsKLUNP
TVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX0JBU0VfQ1VT
VE9NX1RBRywgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtQmFzZUN1c3RvbVRhZyk7Ci1DT01QSUxF
X0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9DVVNUT01fVEFHX05P
X0FDVElPTiwgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtQ3VzdG9tVGFnTm9BY3Rpb24pOwotQ09N
UElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fTEFTVF9DVVNU
T01fVEFHLCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1MYXN0Q3VzdG9tVGFnKTsKLUNPTVBJTEVf
QVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX0JBU0VfQVBQTElDQVRJ
T05fVEFHLCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1CYXNlQXBwbGljYXRpb25UYWcpOworQ09N
UElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX05PX0FD
VElPTiwga1dLQ29udGV4dE1lbnVJdGVtVGFnTm9BY3Rpb24pOworQ09NUElMRV9BU1NFUlRfTUFU
Q0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX09QRU5fTElOS19JTl9ORVdfV0lO
RE9XLCBrV0tDb250ZXh0TWVudUl0ZW1UYWdPcGVuTGlua0luTmV3V2luZG93KTsKK0NPTVBJTEVf
QVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19ET1dOTE9BRF9M
SU5LX1RPX0RJU0ssIGtXS0NvbnRleHRNZW51SXRlbVRhZ0Rvd25sb2FkTGlua1RvRGlzayk7CitD
T01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfQ09Q
WV9MSU5LX1RPX0NMSVBCT0FSRCwga1dLQ29udGV4dE1lbnVJdGVtVGFnQ29weUxpbmtUb0NsaXBi
b2FyZCk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRF
TV9UQUdfT1BFTl9JTUFHRV9JTl9ORVdfV0lORE9XLCBrV0tDb250ZXh0TWVudUl0ZW1UYWdPcGVu
SW1hZ2VJbk5ld1dpbmRvdyk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05U
RVhUX01FTlVfSVRFTV9UQUdfRE9XTkxPQURfSU1BR0VfVE9fRElTSywga1dLQ29udGV4dE1lbnVJ
dGVtVGFnRG93bmxvYWRJbWFnZVRvRGlzayk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVN
KEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfQ09QWV9JTUFHRV9UT19DTElQQk9BUkQsIGtXS0Nv
bnRleHRNZW51SXRlbVRhZ0NvcHlJbWFnZVRvQ2xpcGJvYXJkKTsKK0NPTVBJTEVfQVNTRVJUX01B
VENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19DT1BZX0lNQUdFX1VSTF9UT19D
TElQQk9BUkQsIGtXS0NvbnRleHRNZW51SXRlbVRhZ0NvcHlJbWFnZVVybFRvQ2xpcGJvYXJkKTsK
K0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19P
UEVOX0ZSQU1FX0lOX05FV19XSU5ET1csIGtXS0NvbnRleHRNZW51SXRlbVRhZ09wZW5GcmFtZUlu
TmV3V2luZG93KTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVO
VV9JVEVNX1RBR19DT1BZLCBrV0tDb250ZXh0TWVudUl0ZW1UYWdDb3B5KTsKK0NPTVBJTEVfQVNT
RVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19HT19CQUNLLCBrV0tD
b250ZXh0TWVudUl0ZW1UYWdHb0JhY2spOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShF
V0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0dPX0ZPUldBUkQsIGtXS0NvbnRleHRNZW51SXRlbVRh
Z0dvRm9yd2FyZCk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01F
TlVfSVRFTV9UQUdfU1RPUCwga1dLQ29udGV4dE1lbnVJdGVtVGFnU3RvcCk7CitDT01QSUxFX0FT
U0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfUkVMT0FELCBrV0tD
b250ZXh0TWVudUl0ZW1UYWdSZWxvYWQpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShF
V0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0NVVCwga1dLQ29udGV4dE1lbnVJdGVtVGFnQ3V0KTsK
K0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19Q
QVNURSwga1dLQ29udGV4dE1lbnVJdGVtVGFnUGFzdGUpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJ
TkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1NFTEVDVF9BTEwsIGtXS0NvbnRleHRN
ZW51SXRlbVRhZ1NlbGVjdEFsbCk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19D
T05URVhUX01FTlVfSVRFTV9UQUdfU1BFTExJTkdfR1VFU1MsIGtXS0NvbnRleHRNZW51SXRlbVRh
Z1NwZWxsaW5nR3Vlc3MpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVY
VF9NRU5VX0lURU1fVEFHX05PX0dVRVNTRVNfRk9VTkQsIGtXS0NvbnRleHRNZW51SXRlbVRhZ05v
R3Vlc3Nlc0ZvdW5kKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRf
TUVOVV9JVEVNX1RBR19JR05PUkVfU1BFTExJTkcsIGtXS0NvbnRleHRNZW51SXRlbVRhZ0lnbm9y
ZVNwZWxsaW5nKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVO
VV9JVEVNX1RBR19MRUFSTl9TUEVMTElORywga1dLQ29udGV4dE1lbnVJdGVtVGFnTGVhcm5TcGVs
bGluZyk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRF
TV9UQUdfT1RIRVIsIGtXS0NvbnRleHRNZW51SXRlbVRhZ090aGVyKTsKK0NPTVBJTEVfQVNTRVJU
X01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19TRUFSQ0hfSU5fU1BPVExJ
R0hULCBrV0tDb250ZXh0TWVudUl0ZW1UYWdTZWFyY2hJblNwb3RsaWdodCk7CitDT01QSUxFX0FT
U0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfU0VBUkNIX1dFQiwg
a1dLQ29udGV4dE1lbnVJdGVtVGFnU2VhcmNoV2ViKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5H
X0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19MT09LX1VQX0lOX0RJQ1RJT05BUlksIGtX
S0NvbnRleHRNZW51SXRlbVRhZ0xvb2tVcEluRGljdGlvbmFyeSk7CitDT01QSUxFX0FTU0VSVF9N
QVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfT1BFTl9XSVRIX0RFRkFVTFRf
QVBQTElDQVRJT04sIGtXS0NvbnRleHRNZW51SXRlbVRhZ09wZW5XaXRoRGVmYXVsdEFwcGxpY2F0
aW9uKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVN
X1BERkFDVFVBTF9TSVpFLCBrV0tDb250ZXh0TWVudUl0ZW1UYWdQREZBY3R1YWxTaXplKTsKK0NP
TVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1BERlpPT01f
SU4sIGtXS0NvbnRleHRNZW51SXRlbVRhZ1BERlpvb21Jbik7CitDT01QSUxFX0FTU0VSVF9NQVRD
SElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9QREZaT09NX09VVCwga1dLQ29udGV4dE1l
bnVJdGVtVGFnUERGWm9vbU91dCk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19D
T05URVhUX01FTlVfSVRFTV9QREZBVVRPX1NJWkUsIGtXS0NvbnRleHRNZW51SXRlbVRhZ1BERkF1
dG9TaXplKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9J
VEVNX1BERlNJTkdMRV9QQUdFLCBrV0tDb250ZXh0TWVudUl0ZW1UYWdQREZTaW5nbGVQYWdlKTsK
K0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1BERkZB
Q0lOR19QQUdFUywga1dLQ29udGV4dE1lbnVJdGVtVGFnUERGRmFjaW5nUGFnZXMpOworQ09NUElM
RV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fUERGQ09OVElOVU9V
Uywga1dLQ29udGV4dE1lbnVJdGVtVGFnUERGQ29udGludW91cyk7CitDT01QSUxFX0FTU0VSVF9N
QVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9QREZORVhUX1BBR0UsIGtXS0NvbnRl
eHRNZW51SXRlbVRhZ1BERk5leHRQYWdlKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0o
RVdLX0NPTlRFWFRfTUVOVV9JVEVNX1BERlBSRVZJT1VTX1BBR0UsIGtXS0NvbnRleHRNZW51SXRl
bVRhZ1BERlByZXZpb3VzUGFnZSk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19D
T05URVhUX01FTlVfSVRFTV9UQUdfT1BFTl9MSU5LLCBrV0tDb250ZXh0TWVudUl0ZW1UYWdPcGVu
TGluayk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRF
TV9UQUdfSUdOT1JFX0dSQU1NQVIsIGtXS0NvbnRleHRNZW51SXRlbVRhZ0lnbm9yZUdyYW1tYXIp
OworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFH
X1NQRUxMSU5HX01FTlUsIGtXS0NvbnRleHRNZW51SXRlbVRhZ1NwZWxsaW5nTWVudSk7CitDT01Q
SUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfU0hPV19T
UEVMTElOR19QQU5FTCwga1dLQ29udGV4dE1lbnVJdGVtVGFnU2hvd1NwZWxsaW5nUGFuZWwpOwor
Q09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0NI
RUNLX1NQRUxMSU5HLCBrV0tDb250ZXh0TWVudUl0ZW1UYWdDaGVja1NwZWxsaW5nKTsKK0NPTVBJ
TEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19DSEVDS19T
UEVMTElOR19XSElMRV9UWVBJTkcsIGtXS0NvbnRleHRNZW51SXRlbVRhZ0NoZWNrU3BlbGxpbmdX
aGlsZVR5cGluZyk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01F
TlVfSVRFTV9UQUdfQ0hFQ0tfR1JBTU1BUl9XSVRIX1NQRUxMSU5HLCBrV0tDb250ZXh0TWVudUl0
ZW1UYWdDaGVja0dyYW1tYXJXaXRoU3BlbGxpbmcpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdf
RU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0ZPTlRfTUVOVSwga1dLQ29udGV4dE1lbnVJ
dGVtVGFnRm9udE1lbnUpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVY
VF9NRU5VX0lURU1fVEFHX1NIT1dfRk9OVFMsIGtXS0NvbnRleHRNZW51SXRlbVRhZ1Nob3dGb250
cyk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9U
QUdfQk9MRCwga1dLQ29udGV4dE1lbnVJdGVtVGFnQm9sZCk7CitDT01QSUxFX0FTU0VSVF9NQVRD
SElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfSVRBTElDLCBrV0tDb250ZXh0TWVu
dUl0ZW1UYWdJdGFsaWMpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVY
VF9NRU5VX0lURU1fVEFHX1VOREVSTElORSwga1dLQ29udGV4dE1lbnVJdGVtVGFnVW5kZXJsaW5l
KTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RB
R19PVVRMSU5FLCBrV0tDb250ZXh0TWVudUl0ZW1UYWdPdXRsaW5lKTsKK0NPTVBJTEVfQVNTRVJU
X01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19TVFlMRVMsIGtXS0NvbnRl
eHRNZW51SXRlbVRhZ1N0eWxlcyk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19D
T05URVhUX01FTlVfSVRFTV9UQUdfU0hPV19DT0xPUlMsIGtXS0NvbnRleHRNZW51SXRlbVRhZ1No
b3dDb2xvcnMpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5V
X0lURU1fVEFHX1NQRUVDSF9NRU5VLCBrV0tDb250ZXh0TWVudUl0ZW1UYWdTcGVlY2hNZW51KTsK
K0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19T
VEFSVF9TUEVBS0lORywga1dLQ29udGV4dE1lbnVJdGVtVGFnU3RhcnRTcGVha2luZyk7CitDT01Q
SUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfU1RPUF9T
UEVBS0lORywga1dLQ29udGV4dE1lbnVJdGVtVGFnU3RvcFNwZWFraW5nKTsKK0NPTVBJTEVfQVNT
RVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19XUklUSU5HX0RJUkVD
VElPTl9NRU5VLCBrV0tDb250ZXh0TWVudUl0ZW1UYWdXcml0aW5nRGlyZWN0aW9uTWVudSk7CitD
T01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfREVG
QVVMVF9ESVJFQ1RJT04sIGtXS0NvbnRleHRNZW51SXRlbVRhZ0RlZmF1bHREaXJlY3Rpb24pOwor
Q09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0xF
RlRfVE9fUklHSFQsIGtXS0NvbnRleHRNZW51SXRlbVRhZ0xlZnRUb1JpZ2h0KTsKK0NPTVBJTEVf
QVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19SSUdIVF9UT19M
RUZULCBrV0tDb250ZXh0TWVudUl0ZW1UYWdSaWdodFRvTGVmdCk7CitDT01QSUxFX0FTU0VSVF9N
QVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfUERGU0lOR0xFX1BBR0VfU0NS
T0xMSU5HLCBrV0tDb250ZXh0TWVudUl0ZW1UYWdQREZTaW5nbGVQYWdlU2Nyb2xsaW5nKTsKK0NP
TVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19QREZG
QUNJTkdfUEFHRVNfU0NST0xMSU5HLCBrV0tDb250ZXh0TWVudUl0ZW1UYWdQREZGYWNpbmdQYWdl
c1Njcm9sbGluZyk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01F
TlVfSVRFTV9UQUdfSU5TUEVDVF9FTEVNRU5ULCBrV0tDb250ZXh0TWVudUl0ZW1UYWdJbnNwZWN0
RWxlbWVudCk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVf
SVRFTV9UQUdfVEVYVF9ESVJFQ1RJT05fTUVOVSwga1dLQ29udGV4dE1lbnVJdGVtVGFnVGV4dERp
cmVjdGlvbk1lbnUpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9N
RU5VX0lURU1fVEFHX1RFWFRfRElSRUNUSU9OX0RFRkFVTFQsIGtXS0NvbnRleHRNZW51SXRlbVRh
Z1RleHREaXJlY3Rpb25EZWZhdWx0KTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdL
X0NPTlRFWFRfTUVOVV9JVEVNX1RBR19URVhUX0RJUkVDVElPTl9MRUZUX1RPX1JJR0hULCBrV0tD
b250ZXh0TWVudUl0ZW1UYWdUZXh0RGlyZWN0aW9uTGVmdFRvUmlnaHQpOworQ09NUElMRV9BU1NF
UlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1RFWFRfRElSRUNUSU9O
X1JJR0hUX1RPX0xFRlQsIGtXS0NvbnRleHRNZW51SXRlbVRhZ1RleHREaXJlY3Rpb25SaWdodFRv
TGVmdCk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRF
TV9UQUdfQ09SUkVDVF9TUEVMTElOR19BVVRPTUFUSUNBTExZLCBrV0tDb250ZXh0TWVudUl0ZW1U
YWdDb3JyZWN0U3BlbGxpbmdBdXRvbWF0aWNhbGx5KTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5H
X0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19TVUJTVElUVVRJT05TX01FTlUsIGtXS0Nv
bnRleHRNZW51SXRlbVRhZ1N1YnN0aXR1dGlvbnNNZW51KTsKK0NPTVBJTEVfQVNTRVJUX01BVENI
SU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19TSE9XX1NVQlNUSVRVVElPTlMsIGtX
S0NvbnRleHRNZW51SXRlbVRhZ1Nob3dTdWJzdGl0dXRpb25zKTsKK0NPTVBJTEVfQVNTRVJUX01B
VENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19TTUFSVF9DT1BZX1BBU1RFLCBr
V0tDb250ZXh0TWVudUl0ZW1UYWdTbWFydENvcHlQYXN0ZSk7CitDT01QSUxFX0FTU0VSVF9NQVRD
SElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfU01BUlRfUVVPVEVTLCBrV0tDb250
ZXh0TWVudUl0ZW1UYWdTbWFydFF1b3Rlcyk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVN
KEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfU01BUlRfREFTSEVTLCBrV0tDb250ZXh0TWVudUl0
ZW1UYWdTbWFydERhc2hlcyk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05U
RVhUX01FTlVfSVRFTV9UQUdfU01BUlRfTElOS1MsIGtXS0NvbnRleHRNZW51SXRlbVRhZ1NtYXJ0
TGlua3MpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lU
RU1fVEFHX1RFWFRfUkVQTEFDRU1FTlQsIGtXS0NvbnRleHRNZW51SXRlbVRhZ1RleHRSZXBsYWNl
bWVudCk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRF
TV9UQUdfVFJBTlNGT1JNQVRJT05TX01FTlUsIGtXS0NvbnRleHRNZW51SXRlbVRhZ1RyYW5zZm9y
bWF0aW9uc01lbnUpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9N
RU5VX0lURU1fVEFHX01BS0VfVVBQRVJfQ0FTRSwga1dLQ29udGV4dE1lbnVJdGVtVGFnTWFrZVVw
cGVyQ2FzZSk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVf
SVRFTV9UQUdfTUFLRV9MT1dFUl9DQVNFLCBrV0tDb250ZXh0TWVudUl0ZW1UYWdNYWtlTG93ZXJD
YXNlKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVN
X1RBR19DQVBJVEFMSVpFLCBrV0tDb250ZXh0TWVudUl0ZW1UYWdDYXBpdGFsaXplKTsKK0NPTVBJ
TEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19DSEFOR0Vf
QkFDSywga1dLQ29udGV4dE1lbnVJdGVtVGFnQ2hhbmdlQmFjayk7CitDT01QSUxFX0FTU0VSVF9N
QVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9PUEVOX01FRElBX0lOX05FV19XSU5E
T1csIGtXS0NvbnRleHRNZW51SXRlbVRhZ09wZW5NZWRpYUluTmV3V2luZG93KTsKK0NPTVBJTEVf
QVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19DT1BZX01FRElB
X0xJTktfVE9fQ0xJUEJPQVJELCBrV0tDb250ZXh0TWVudUl0ZW1UYWdDb3B5TWVkaWFMaW5rVG9D
bGlwYm9hcmQpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5V
X0lURU1fVEFHX1RPR0dMRV9NRURJQV9DT05UUk9MUywga1dLQ29udGV4dE1lbnVJdGVtVGFnVG9n
Z2xlTWVkaWFDb250cm9scyk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05U
RVhUX01FTlVfSVRFTV9UQUdfVE9HR0xFX01FRElBX0xPT1AsIGtXS0NvbnRleHRNZW51SXRlbVRh
Z1RvZ2dsZU1lZGlhTG9vcCk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05U
RVhUX01FTlVfSVRFTV9UQUdfRU5URVJfVklERU9fRlVMTFNDUkVFTiwga1dLQ29udGV4dE1lbnVJ
dGVtVGFnRW50ZXJWaWRlb0Z1bGxzY3JlZW4pOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5V
TShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX01FRElBX1BMQVlfUEFVU0UsIGtXS0NvbnRleHRN
ZW51SXRlbVRhZ01lZGlhUGxheVBhdXNlKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0o
RVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19NRURJQV9NVVRFLCBrV0tDb250ZXh0TWVudUl0ZW1U
YWdNZWRpYU11dGUpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9N
RU5VX0lURU1fQkFTRV9BUFBMSUNBVElPTl9UQUcsIGtXS0NvbnRleHRNZW51SXRlbUJhc2VBcHBs
aWNhdGlvblRhZyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2Vm
bC9ld2tfY29udGV4dF9tZW51X2l0ZW0uaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
ZWZsL2V3a19jb250ZXh0X21lbnVfaXRlbS5oCmluZGV4IDk2MTJhMjEuLmEyOGY2OGEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0X21lbnVf
aXRlbS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0
X21lbnVfaXRlbS5oCkBAIC02Myw3ICs2Myw2IEBAIHR5cGVkZWYgZW51bSB7CiAgICAgRVdLX0NP
TlRFWFRfTUVOVV9JVEVNX1RBR19PUEVOX0lNQUdFX0lOX05FV19XSU5ET1csCiAgICAgRVdLX0NP
TlRFWFRfTUVOVV9JVEVNX1RBR19ET1dOTE9BRF9JTUFHRV9UT19ESVNLLAogICAgIEVXS19DT05U
RVhUX01FTlVfSVRFTV9UQUdfQ09QWV9JTUFHRV9UT19DTElQQk9BUkQsCi0gICAgRVdLX0NPTlRF
WFRfTUVOVV9JVEVNX1RBR19DT1BZX0lNQUdFX1VSTF9UT19DTElQQk9BUkQsCiAgICAgRVdLX0NP
TlRFWFRfTUVOVV9JVEVNX1RBR19PUEVOX0ZSQU1FX0lOX05FV19XSU5ET1csCiAgICAgRVdLX0NP
TlRFWFRfTUVOVV9JVEVNX1RBR19DT1BZLAogICAgIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdf
R09fQkFDSywKQEAgLTcyLDcgKzcxLDYgQEAgdHlwZWRlZiBlbnVtIHsKICAgICBFV0tfQ09OVEVY
VF9NRU5VX0lURU1fVEFHX1JFTE9BRCwKICAgICBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0NV
VCwKICAgICBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1BBU1RFLAotICAgIEVXS19DT05URVhU
X01FTlVfSVRFTV9UQUdfU0VMRUNUX0FMTCwKICAgICBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFH
X1NQRUxMSU5HX0dVRVNTLAogICAgIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfTk9fR1VFU1NF
U19GT1VORCwKICAgICBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0lHTk9SRV9TUEVMTElORywK
QEAgLTkxLDcgKzg5LDcgQEAgdHlwZWRlZiBlbnVtIHsKICAgICBFV0tfQ09OVEVYVF9NRU5VX0lU
RU1fUERGQ09OVElOVU9VUywKICAgICBFV0tfQ09OVEVYVF9NRU5VX0lURU1fUERGTkVYVF9QQUdF
LAogICAgIEVXS19DT05URVhUX01FTlVfSVRFTV9QREZQUkVWSU9VU19QQUdFLAotICAgIEVXS19D
T05URVhUX01FTlVfSVRFTV9UQUdfT1BFTl9MSU5LID0gMjAwMCwKKyAgICBFV0tfQ09OVEVYVF9N
RU5VX0lURU1fVEFHX09QRU5fTElOSywKICAgICBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0lH
Tk9SRV9HUkFNTUFSLAogICAgIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfU1BFTExJTkdfTUVO
VSwgLyoqPCBzcGVsbGluZyBvciBzcGVsbGluZy9ncmFtbWFyIHN1Yi1tZW51ICovCiAgICAgRVdL
X0NPTlRFWFRfTUVOVV9JVEVNX1RBR19TSE9XX1NQRUxMSU5HX1BBTkVMLApAQCAtMTIwLDYgKzEx
OCwxOSBAQCB0eXBlZGVmIGVudW0gewogICAgIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfVEVY
VF9ESVJFQ1RJT05fREVGQVVMVCwKICAgICBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1RFWFRf
RElSRUNUSU9OX0xFRlRfVE9fUklHSFQsCiAgICAgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19U
RVhUX0RJUkVDVElPTl9SSUdIVF9UT19MRUZULAorICAgIEVXS19DT05URVhUX01FTlVfSVRFTV9U
QUdfQ09SUkVDVF9TUEVMTElOR19BVVRPTUFUSUNBTExZLAorICAgIEVXS19DT05URVhUX01FTlVf
SVRFTV9UQUdfU1VCU1RJVFVUSU9OU19NRU5VLAorICAgIEVXS19DT05URVhUX01FTlVfSVRFTV9U
QUdfU0hPV19TVUJTVElUVVRJT05TLAorICAgIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfU01B
UlRfQ09QWV9QQVNURSwKKyAgICBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1NNQVJUX1FVT1RF
UywKKyAgICBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1NNQVJUX0RBU0hFUywKKyAgICBFV0tf
Q09OVEVYVF9NRU5VX0lURU1fVEFHX1NNQVJUX0xJTktTLAorICAgIEVXS19DT05URVhUX01FTlVf
SVRFTV9UQUdfVEVYVF9SRVBMQUNFTUVOVCwKKyAgICBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFH
X1RSQU5TRk9STUFUSU9OU19NRU5VLAorICAgIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfTUFL
RV9VUFBFUl9DQVNFLAorICAgIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfTUFLRV9MT1dFUl9D
QVNFLAorICAgIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfQ0FQSVRBTElaRSwKKyAgICBFV0tf
Q09OVEVYVF9NRU5VX0lURU1fVEFHX0NIQU5HRV9CQUNLLAogICAgIEVXS19DT05URVhUX01FTlVf
SVRFTV9PUEVOX01FRElBX0lOX05FV19XSU5ET1csCiAgICAgRVdLX0NPTlRFWFRfTUVOVV9JVEVN
X1RBR19DT1BZX01FRElBX0xJTktfVE9fQ0xJUEJPQVJELAogICAgIEVXS19DT05URVhUX01FTlVf
SVRFTV9UQUdfVE9HR0xFX01FRElBX0NPTlRST0xTLApAQCAtMTI3LDkgKzEzOCw5IEBAIHR5cGVk
ZWYgZW51bSB7CiAgICAgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19FTlRFUl9WSURFT19GVUxM
U0NSRUVOLAogICAgIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfTUVESUFfUExBWV9QQVVTRSwK
ICAgICBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX01FRElBX01VVEUsCi0gICAgRVdLX0NPTlRF
WFRfTUVOVV9JVEVNX0JBU0VfQ1VTVE9NX1RBRyA9IDUwMDAsCi0gICAgRVdLX0NPTlRFWFRfTUVO
VV9JVEVNX0NVU1RPTV9UQUdfTk9fQUNUSU9OID0gNTk5OCwKLSAgICBFV0tfQ09OVEVYVF9NRU5V
X0lURU1fTEFTVF9DVVNUT01fVEFHID0gNTk5OSwKKyAgICBFV0tfQ09OVEVYVF9NRU5VX0lURU1f
VEFHX0RJQ1RBVElPTl9BTFRFUk5BVElWRSwKKyAgICBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFH
X0NPUFlfSU1BR0VfVVJMX1RPX0NMSVBCT0FSRCwKKyAgICBFV0tfQ09OVEVYVF9NRU5VX0lURU1f
VEFHX1NFTEVDVF9BTEwsCiAgICAgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX0JBU0VfQVBQTElDQVRJ
T05fVEFHID0gMTAwMDAKIH0gRXdrX0NvbnRleHRfTWVudV9JdGVtX0FjdGlvbjsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHRfbWVudV9p
dGVtX3ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250
ZXh0X21lbnVfaXRlbV9wcml2YXRlLmgKaW5kZXggNjJmMjc5MC4uOWY3NzgzYiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHRfbWVudV9pdGVt
X3ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29u
dGV4dF9tZW51X2l0ZW1fcHJpdmF0ZS5oCkBAIC0yNiw4ICsyNiw4IEBACiAjaWZuZGVmIGV3a19j
b250ZXh0X21lbnVfaXRlbV9wcml2YXRlX2gKICNkZWZpbmUgZXdrX2NvbnRleHRfbWVudV9pdGVt
X3ByaXZhdGVfaAogCisjaW5jbHVkZSAiV0tDb250ZXh0TWVudUl0ZW0uaCIKICNpbmNsdWRlICJX
S0VpbmFTaGFyZWRTdHJpbmcuaCIKLSNpbmNsdWRlICJXZWJDb250ZXh0TWVudUl0ZW1EYXRhLmgi
CiAjaW5jbHVkZSAiZXdrX2NvbnRleHRfbWVudS5oIgogI2luY2x1ZGUgImV3a19jb250ZXh0X21l
bnVfaXRlbS5oIgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CkBAIC0zOCw3ICszOCw3IEBA
CiAgKi8KIGNsYXNzIEV3a0NvbnRleHRNZW51SXRlbSB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBh
c3NPd25QdHI8RXdrQ29udGV4dE1lbnVJdGVtPiBjcmVhdGUoY29uc3QgV2ViS2l0OjpXZWJDb250
ZXh0TWVudUl0ZW1EYXRhJiBpdGVtKQorICAgIHN0YXRpYyBQYXNzT3duUHRyPEV3a0NvbnRleHRN
ZW51SXRlbT4gY3JlYXRlKFdLQ29udGV4dE1lbnVJdGVtUmVmIGl0ZW0pCiAgICAgewogICAgICAg
ICByZXR1cm4gYWRvcHRQdHIobmV3IEV3a0NvbnRleHRNZW51SXRlbShpdGVtKSk7CiAgICAgfQpA
QCAtNjQsNyArNjQsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRFbmFibGVkKGJvb2wgZW5hYmxl
ZCkgeyBtX2lzRW5hYmxlZCA9IGVuYWJsZWQ7IH0KIAogcHJpdmF0ZToKLSAgICBleHBsaWNpdCBF
d2tDb250ZXh0TWVudUl0ZW0oY29uc3QgV2ViS2l0OjpXZWJDb250ZXh0TWVudUl0ZW1EYXRhJik7
CisgICAgZXhwbGljaXQgRXdrQ29udGV4dE1lbnVJdGVtKFdLQ29udGV4dE1lbnVJdGVtUmVmKTsK
ICAgICBFd2tDb250ZXh0TWVudUl0ZW0oRXdrX0NvbnRleHRfTWVudV9JdGVtX1R5cGUgdHlwZSwg
RXdrX0NvbnRleHRfTWVudV9JdGVtX0FjdGlvbiBhY3Rpb24sIGNvbnN0IGNoYXIqIHRpdGxlLCBF
aW5hX0Jvb2wgY2hlY2tlZCwgRWluYV9Cb29sIGVuYWJsZWQsIEV3a0NvbnRleHRNZW51KiBzdWJN
ZW51KTsKIAogICAgIEV3a19Db250ZXh0X01lbnVfSXRlbV9UeXBlIG1fdHlwZTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0X21lbnVfcHJp
dmF0ZS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHRfbWVu
dV9wcml2YXRlLmgKaW5kZXggYjllMTEzZC4uYTZjZWEyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHRfbWVudV9wcml2YXRlLmgKKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHRfbWVudV9wcml2YXRl
LmgKQEAgLTI2LDI0ICsyNiwxNyBAQAogI2lmbmRlZiBld2tfY29udGV4dF9tZW51X3ByaXZhdGVf
aAogI2RlZmluZSBld2tfY29udGV4dF9tZW51X3ByaXZhdGVfaAogCi0jaW5jbHVkZSAiV2ViQ29u
dGV4dE1lbnVJdGVtRGF0YS5oIgogI2luY2x1ZGUgImV3a19jb250ZXh0X21lbnVfaXRlbS5oIgog
I2luY2x1ZGUgPEVpbmEuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgotI2luY2x1ZGUg
PHd0Zi9WZWN0b3IuaD4KLQotbmFtZXNwYWNlIFdlYktpdCB7Ci1jbGFzcyBXZWJDb250ZXh0TWVu
dUl0ZW1EYXRhOwotY2xhc3MgV2ViQ29udGV4dE1lbnVQcm94eUVmbDsKLX0KIAogY2xhc3MgRXdr
VmlldzsKIAogY2xhc3MgRXdrQ29udGV4dE1lbnUgewogcHVibGljOgotICAgIHN0YXRpYyBQYXNz
T3duUHRyPEV3a0NvbnRleHRNZW51PiBjcmVhdGUoRXdrVmlldyogdmlld0ltcGwsIFdlYktpdDo6
V2ViQ29udGV4dE1lbnVQcm94eUVmbCogY29udGV4dE1lbnVQcm94eSwgY29uc3QgVmVjdG9yPFdl
YktpdDo6V2ViQ29udGV4dE1lbnVJdGVtRGF0YT4mIGl0ZW1zKQorICAgIHN0YXRpYyBQYXNzT3du
UHRyPEV3a0NvbnRleHRNZW51PiBjcmVhdGUoRXdrVmlldyogdmlld0ltcGwsIFdLQXJyYXlSZWYg
aXRlbXMpCiAgICAgewotICAgICAgICByZXR1cm4gYWRvcHRQdHIobmV3IEV3a0NvbnRleHRNZW51
KHZpZXdJbXBsLCBjb250ZXh0TWVudVByb3h5LCBpdGVtcykpOworICAgICAgICByZXR1cm4gYWRv
cHRQdHIobmV3IEV3a0NvbnRleHRNZW51KHZpZXdJbXBsLCBpdGVtcykpOwogICAgIH0KIAogICAg
IHN0YXRpYyBQYXNzT3duUHRyPEV3a0NvbnRleHRNZW51PiBjcmVhdGUoKQpAQCAtNjMsMTUgKzU2
LDE0IEBAIHB1YmxpYzoKICAgICB2b2lkIHJlbW92ZUl0ZW0oRXdrQ29udGV4dE1lbnVJdGVtKik7
CiAKICAgICBjb25zdCBFaW5hX0xpc3QqIGl0ZW1zKCkgY29uc3QgeyByZXR1cm4gbV9jb250ZXh0
TWVudUl0ZW1zOyB9Ci0gICAgdm9pZCBjb250ZXh0TWVudUl0ZW1TZWxlY3RlZChjb25zdCBXZWJL
aXQ6OldlYkNvbnRleHRNZW51SXRlbURhdGEmIGl0ZW0pOworICAgIHZvaWQgY29udGV4dE1lbnVJ
dGVtU2VsZWN0ZWQoV0tDb250ZXh0TWVudUl0ZW1SZWYgaXRlbSk7CiAKIHByaXZhdGU6CiAgICAg
RXdrQ29udGV4dE1lbnUoKTsKICAgICBFd2tDb250ZXh0TWVudShFaW5hX0xpc3QqIGl0ZW1zKTsK
LSAgICBFd2tDb250ZXh0TWVudShFd2tWaWV3KiB2aWV3SW1wbCwgV2ViS2l0OjpXZWJDb250ZXh0
TWVudVByb3h5RWZsKiwgY29uc3QgVmVjdG9yPFdlYktpdDo6V2ViQ29udGV4dE1lbnVJdGVtRGF0
YT4mIGl0ZW1zKTsKKyAgICBFd2tDb250ZXh0TWVudShFd2tWaWV3KiB2aWV3SW1wbCwgV0tBcnJh
eVJlZiBpdGVtcyk7CiAKICAgICBFd2tWaWV3KiBtX3ZpZXdJbXBsOwotICAgIFdlYktpdDo6V2Vi
Q29udGV4dE1lbnVQcm94eUVmbCogbV9jb250ZXh0TWVudVByb3h5OwogICAgIEVpbmFfTGlzdCog
bV9jb250ZXh0TWVudUl0ZW1zOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9ndGsvV2ViS2l0Q29udGV4dE1lbnVDbGllbnQuY3BwIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0Q29udGV4dE1lbnVDbGllbnQuY3BwCmluZGV4IDQy
ZjkwYjguLmY1MGM1MmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Z3RrL1dlYktpdENvbnRleHRNZW51Q2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL2d0ay9XZWJLaXRDb250ZXh0TWVudUNsaWVudC5jcHAKQEAgLTQwLDYgKzQwLDgg
QEAgdm9pZCBhdHRhY2hDb250ZXh0TWVudUNsaWVudFRvVmlldyhXZWJLaXRXZWJWaWV3KiB3ZWJW
aWV3KQogICAgICAgICAwLCAvLyBjdXN0b21Db250ZXh0TWVudUl0ZW1TZWxlY3RlZAogICAgICAg
ICAwLCAvLyBjb250ZXh0TWVudURpc21pc3NlZAogICAgICAgICBnZXRDb250ZXh0TWVudUZyb21Q
cm9wb3NlZE1lbnUsCisgICAgICAgIDAsIC8vIHNob3dDb250ZXh0TWVudQorICAgICAgICAwLCAv
LyBoaWRlQ29udGV4dE1lbnUKICAgICB9OwogICAgIFdLUGFnZVJlZiB3a1BhZ2UgPSB0b0FQSSh3
ZWJraXRXZWJWaWV3QmFzZUdldFBhZ2UoV0VCS0lUX1dFQl9WSUVXX0JBU0Uod2ViVmlldykpKTsK
ICAgICBXS1BhZ2VTZXRQYWdlQ29udGV4dE1lbnVDbGllbnQod2tQYWdlLCAmd2tDb250ZXh0TWVu
dUNsaWVudCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGFnZUNsaWVu
dC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaAppbmRleCBkMDhjYzkx
Li44MmFjNTYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGFnZUNsaWVu
dC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgKQEAgLTE4MCw3
ICsxODAsOSBAQCBwdWJsaWM6CiAjZW5kaWYKIAogICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxXZWJQ
b3B1cE1lbnVQcm94eT4gY3JlYXRlUG9wdXBNZW51UHJveHkoV2ViUGFnZVByb3h5KikgPSAwOwor
I2lmICFQTEFURk9STShFRkwpCiAgICAgdmlydHVhbCBQYXNzUmVmUHRyPFdlYkNvbnRleHRNZW51
UHJveHk+IGNyZWF0ZUNvbnRleHRNZW51UHJveHkoV2ViUGFnZVByb3h5KikgPSAwOworI2VuZGlm
CiAKICNpZiBFTkFCTEUoSU5QVVRfVFlQRV9DT0xPUikKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8
V2ViQ29sb3JDaG9vc2VyUHJveHk+IGNyZWF0ZUNvbG9yQ2hvb3NlclByb3h5KFdlYlBhZ2VQcm94
eSosIGNvbnN0IFdlYkNvcmU6OkNvbG9yJiBpbml0aWFsQ29sb3IsIGNvbnN0IFdlYkNvcmU6Oklu
dFJlY3QmKSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFn
ZUNvbnRleHRNZW51Q2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdl
Q29udGV4dE1lbnVDbGllbnQuY3BwCmluZGV4IDhhMTFlYmIuLmViMzZlZDEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlQ29udGV4dE1lbnVDbGllbnQuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlQ29udGV4dE1lbnVDbGllbnQuY3Bw
CkBAIC05Myw1ICs5MywyOSBAQCB2b2lkIFdlYlBhZ2VDb250ZXh0TWVudUNsaWVudDo6Y29udGV4
dE1lbnVEaXNtaXNzZWQoV2ViUGFnZVByb3h5KiBwYWdlKQogICAgIG1fY2xpZW50LmNvbnRleHRN
ZW51RGlzbWlzc2VkKHRvQVBJKHBhZ2UpLCBtX2NsaWVudC5jbGllbnRJbmZvKTsKIH0KIAordm9p
ZCBXZWJQYWdlQ29udGV4dE1lbnVDbGllbnQ6OnNob3dDb250ZXh0TWVudShXZWJQYWdlUHJveHkq
IHBhZ2UsIGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBtZW51TG9jYXRpb24sIGNvbnN0IFZlY3Rv
cjxXZWJDb250ZXh0TWVudUl0ZW1EYXRhPiYgbWVudUl0ZW1zVmVjdG9yKQoreworICAgIGlmICgh
bV9jbGllbnQuc2hvd0NvbnRleHRNZW51KQorICAgICAgICByZXR1cm47CisKKyAgICB1bnNpZ25l
ZCBzaXplID0gbWVudUl0ZW1zVmVjdG9yLnNpemUoKTsKKworICAgIFZlY3RvcjxSZWZQdHI8QVBJ
T2JqZWN0PiA+IG1lbnVJdGVtczsKKyAgICBtZW51SXRlbXMucmVzZXJ2ZUNhcGFjaXR5KHNpemUp
OworCisgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHNpemU7ICsraSkKKyAgICAgICAgbWVu
dUl0ZW1zLmFwcGVuZChXZWJDb250ZXh0TWVudUl0ZW06OmNyZWF0ZShtZW51SXRlbXNWZWN0b3Jb
aV0pLmdldCgpKTsKKworICAgIG1fY2xpZW50LnNob3dDb250ZXh0TWVudSh0b0FQSShwYWdlKSwg
dG9BUEkobWVudUxvY2F0aW9uKSwgdG9BUEkoSW1tdXRhYmxlQXJyYXk6OmFkb3B0KG1lbnVJdGVt
cykuZ2V0KCkpLCBtX2NsaWVudC5jbGllbnRJbmZvKTsKK30KKwordm9pZCBXZWJQYWdlQ29udGV4
dE1lbnVDbGllbnQ6OmhpZGVDb250ZXh0TWVudShXZWJQYWdlUHJveHkqIHBhZ2UpCit7CisgICAg
aWYgKCFtX2NsaWVudC5oaWRlQ29udGV4dE1lbnUpCisgICAgICAgIHJldHVybjsKKworICAgIG1f
Y2xpZW50LmhpZGVDb250ZXh0TWVudSh0b0FQSShwYWdlKSwgbV9jbGllbnQuY2xpZW50SW5mbyk7
Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogI2VuZGlmIC8vIEVOQUJMRShDT05URVhUX01F
TlVTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VDb250ZXh0
TWVudUNsaWVudC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VDb250ZXh0TWVu
dUNsaWVudC5oCmluZGV4IGRmZjkwMTkuLmZjYWJkYmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9XZWJQYWdlQ29udGV4dE1lbnVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViUGFnZUNvbnRleHRNZW51Q2xpZW50LmgKQEAgLTMxLDYgKzMxLDcg
QEAKICNpbmNsdWRlICJBUElDbGllbnQuaCIKICNpbmNsdWRlICJXZWJIaXRUZXN0UmVzdWx0Lmgi
CiAjaW5jbHVkZSAiV0tQYWdlLmgiCisjaW5jbHVkZSA8V2ViQ29yZS9JbnRQb2ludC5oPgogI2lu
Y2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYktpdCB7CkBAIC00Myw3ICs0NCwx
MCBAQCBjbGFzcyBXZWJQYWdlQ29udGV4dE1lbnVDbGllbnQgOiBwdWJsaWMgQVBJQ2xpZW50PFdL
UGFnZUNvbnRleHRNZW51Q2xpZW50LCBrV0tQYQogcHVibGljOgogICAgIGJvb2wgZ2V0Q29udGV4
dE1lbnVGcm9tUHJvcG9zZWRNZW51KFdlYlBhZ2VQcm94eSosIGNvbnN0IFZlY3RvcjxXZWJDb250
ZXh0TWVudUl0ZW1EYXRhPiYgcHJvcG9zZWRNZW51LCBWZWN0b3I8V2ViQ29udGV4dE1lbnVJdGVt
RGF0YT4mIGN1c3RvbU1lbnUsIGNvbnN0IFdlYkhpdFRlc3RSZXN1bHQ6OkRhdGEmLCBBUElPYmpl
Y3QqIHVzZXJEYXRhKTsKICAgICB2b2lkIGN1c3RvbUNvbnRleHRNZW51SXRlbVNlbGVjdGVkKFdl
YlBhZ2VQcm94eSosIGNvbnN0IFdlYkNvbnRleHRNZW51SXRlbURhdGEmKTsKKyAgICB2b2lkIGNv
bnRleHRNZW51SXRlbVNlbGVjdGVkKFdlYlBhZ2VQcm94eSosIGNvbnN0IFdlYkNvbnRleHRNZW51
SXRlbURhdGEmKTsKICAgICB2b2lkIGNvbnRleHRNZW51RGlzbWlzc2VkKFdlYlBhZ2VQcm94eSop
OworICAgIHZvaWQgc2hvd0NvbnRleHRNZW51KFdlYlBhZ2VQcm94eSosIGNvbnN0IFdlYkNvcmU6
OkludFBvaW50JiwgY29uc3QgVmVjdG9yPFdlYkNvbnRleHRNZW51SXRlbURhdGE+Jik7CisgICAg
dm9pZCBoaWRlQ29udGV4dE1lbnUoV2ViUGFnZVByb3h5Kik7CiB9OwogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXgg
MmMzZWMwZi4uMmIyZjg0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5jcHAKQEAgLTMwNjgsNiArMzA2OCw5IEBAIHZvaWQgV2ViUGFnZVByb3h5OjppbnRlcm5hbFNo
b3dDb250ZXh0TWVudShjb25zdCBJbnRQb2ludCYgbWVudUxvY2F0aW9uLCBjb25zdCBXCiAKICAg
ICBtX2FjdGl2ZUNvbnRleHRNZW51SGl0VGVzdFJlc3VsdERhdGEgPSBoaXRUZXN0UmVzdWx0RGF0
YTsKIAorI2lmIFBMQVRGT1JNKEVGTCkKKyAgICBtX2NvbnRleHRNZW51Q2xpZW50LmhpZGVDb250
ZXh0TWVudSh0aGlzKTsKKyNlbHNlCiAgICAgaWYgKG1fYWN0aXZlQ29udGV4dE1lbnUpIHsKICAg
ICAgICAgbV9hY3RpdmVDb250ZXh0TWVudS0+aGlkZUNvbnRleHRNZW51KCk7CiAgICAgICAgIG1f
YWN0aXZlQ29udGV4dE1lbnUgPSAwOwpAQCAtMzA3NiwxNiArMzA3OSwyMSBAQCB2b2lkIFdlYlBh
Z2VQcm94eTo6aW50ZXJuYWxTaG93Q29udGV4dE1lbnUoY29uc3QgSW50UG9pbnQmIG1lbnVMb2Nh
dGlvbiwgY29uc3QgVwogICAgIG1fYWN0aXZlQ29udGV4dE1lbnUgPSBtX3BhZ2VDbGllbnQtPmNy
ZWF0ZUNvbnRleHRNZW51UHJveHkodGhpcyk7CiAgICAgaWYgKCFtX2FjdGl2ZUNvbnRleHRNZW51
KQogICAgICAgICByZXR1cm47CisjZW5kaWYKIAogICAgIC8vIFNpbmNlIHNob3dDb250ZXh0TWVu
dSgpIGNhbiBzcGluIGEgbmVzdGVkIHJ1biBsb29wIHdlIG5lZWQgdG8gdHVybiBvZmYgdGhlIHJl
c3BvbnNpdmVuZXNzIHRpbWVyLgogICAgIG1fcHJvY2Vzcy0+cmVzcG9uc2l2ZW5lc3NUaW1lcigp
LT5zdG9wKCk7CiAKKyNpZiBQTEFURk9STShFRkwpCisgICAgbV9jb250ZXh0TWVudUNsaWVudC5z
aG93Q29udGV4dE1lbnUodGhpcywgbWVudUxvY2F0aW9uLCBwcm9wb3NlZEl0ZW1zKTsKKyNlbHNl
CiAgICAgLy8gR2l2ZSB0aGUgUGFnZUNvbnRleHRNZW51Q2xpZW50IG9uZSBsYXN0IHN3aXBlIGF0
IGNoYW5naW5nIHRoZSBtZW51LgogICAgIFZlY3RvcjxXZWJDb250ZXh0TWVudUl0ZW1EYXRhPiBp
dGVtczsKICAgICBpZiAoIW1fY29udGV4dE1lbnVDbGllbnQuZ2V0Q29udGV4dE1lbnVGcm9tUHJv
cG9zZWRNZW51KHRoaXMsIHByb3Bvc2VkSXRlbXMsIGl0ZW1zLCBoaXRUZXN0UmVzdWx0RGF0YSwg
dXNlckRhdGEuZ2V0KCkpKQogICAgICAgICBtX2FjdGl2ZUNvbnRleHRNZW51LT5zaG93Q29udGV4
dE1lbnUobWVudUxvY2F0aW9uLCBwcm9wb3NlZEl0ZW1zKTsKICAgICBlbHNlCiAgICAgICAgIG1f
YWN0aXZlQ29udGV4dE1lbnUtPnNob3dDb250ZXh0TWVudShtZW51TG9jYXRpb24sIGl0ZW1zKTsK
KyNlbmRpZgogICAgIAogICAgIG1fY29udGV4dE1lbnVDbGllbnQuY29udGV4dE1lbnVEaXNtaXNz
ZWQodGhpcyk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXgg
NGE2ZTJjNC4uMDMwOWIyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHku
aApAQCAtMTA4NSw3ICsxMDg1LDkgQEAgcHJpdmF0ZToKICNlbmRpZgogCiAgICAgUmVmUHRyPFdl
YlBvcHVwTWVudVByb3h5PiBtX2FjdGl2ZVBvcHVwTWVudTsKKyNpZiAhUExBVEZPUk0oRUZMKQog
ICAgIFJlZlB0cjxXZWJDb250ZXh0TWVudVByb3h5PiBtX2FjdGl2ZUNvbnRleHRNZW51OworI2Vu
ZGlmCiAgICAgV2ViSGl0VGVzdFJlc3VsdDo6RGF0YSBtX2FjdGl2ZUNvbnRleHRNZW51SGl0VGVz
dFJlc3VsdERhdGE7CiAgICAgUmVmUHRyPFdlYk9wZW5QYW5lbFJlc3VsdExpc3RlbmVyUHJveHk+
IG1fb3BlblBhbmVsUmVzdWx0TGlzdGVuZXI7CiAgICAgR2VvbG9jYXRpb25QZXJtaXNzaW9uUmVx
dWVzdE1hbmFnZXJQcm94eSBtX2dlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9Db250ZXh0TWVudUNsaWVu
dEVmbC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL0NvbnRleHRNZW51Q2xpZW50
RWZsLmNwcAppbmRleCA5MTIzZDI4Li5hMzk1YzA1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvZWZsL0NvbnRleHRNZW51Q2xpZW50RWZsLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvZWZsL0NvbnRleHRNZW51Q2xpZW50RWZsLmNwcApAQCAtMjcsMTEgKzI3
LDggQEAKICNpbmNsdWRlICJDb250ZXh0TWVudUNsaWVudEVmbC5oIgogCiAjaW5jbHVkZSAiRXdr
Vmlldy5oIgotI2luY2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCiAjaW5jbHVkZSAiV0tBcnJheS5o
IgogI2luY2x1ZGUgIldLUGFnZS5oIgotI2luY2x1ZGUgIldlYkNvbnRleHRNZW51SXRlbS5oIiAg
IAotI2luY2x1ZGUgPEV2YXMuaD4KIAogdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKIApAQCAtNDAs
NiArMzcsMTYgQEAgc3RhdGljIGlubGluZSBDb250ZXh0TWVudUNsaWVudEVmbCogdG9Db250ZXh0
Q2xpZW50RWZsKGNvbnN0IHZvaWQqIGNsaWVudEluZm8pCiAgICAgcmV0dXJuIHN0YXRpY19jYXN0
PENvbnRleHRNZW51Q2xpZW50RWZsKj4oY29uc3RfY2FzdDx2b2lkKj4oY2xpZW50SW5mbykpOwog
fQogCitzdGF0aWMgdm9pZCBzaG93Q29udGV4dE1lbnUoV0tQYWdlUmVmLCBXS1BvaW50IG1lbnVM
b2NhdGlvbiwgV0tBcnJheVJlZiBtZW51SXRlbXMsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pCit7
CisgICAgdG9Db250ZXh0Q2xpZW50RWZsKGNsaWVudEluZm8pLT52aWV3KCktPnNob3dDb250ZXh0
TWVudShtZW51TG9jYXRpb24sIG1lbnVJdGVtcyk7Cit9CisKK3N0YXRpYyB2b2lkIGhpZGVDb250
ZXh0TWVudShXS1BhZ2VSZWYsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pCit7CisgICAgdG9Db250
ZXh0Q2xpZW50RWZsKGNsaWVudEluZm8pLT52aWV3KCktPmhpZGVDb250ZXh0TWVudSgpOworfQor
CiBDb250ZXh0TWVudUNsaWVudEVmbDo6Q29udGV4dE1lbnVDbGllbnRFZmwoRXdrVmlldyogdmll
dykKICAgICA6IG1fdmlldyh2aWV3KQogewpAQCAtNTQsMTEgKzYxLDggQEAgQ29udGV4dE1lbnVD
bGllbnRFZmw6OkNvbnRleHRNZW51Q2xpZW50RWZsKEV3a1ZpZXcqIHZpZXcpCiAgICAgY29udGV4
dE1lbnVDbGllbnQuY3VzdG9tQ29udGV4dE1lbnVJdGVtU2VsZWN0ZWQgPSAwOwogICAgIGNvbnRl
eHRNZW51Q2xpZW50LmNvbnRleHRNZW51RGlzbWlzc2VkID0gMDsKICAgICBjb250ZXh0TWVudUNs
aWVudC5nZXRDb250ZXh0TWVudUZyb21Qcm9wb3NlZE1lbnUgPSAwOworICAgIGNvbnRleHRNZW51
Q2xpZW50LnNob3dDb250ZXh0TWVudSA9IHNob3dDb250ZXh0TWVudTsKKyAgICBjb250ZXh0TWVu
dUNsaWVudC5oaWRlQ29udGV4dE1lbnUgPSBoaWRlQ29udGV4dE1lbnU7CiAKICAgICBXS1BhZ2VT
ZXRQYWdlQ29udGV4dE1lbnVDbGllbnQocGFnZVJlZiwgJmNvbnRleHRNZW51Q2xpZW50KTsKIH0K
LQotdm9pZCBDb250ZXh0TWVudUNsaWVudEVmbDo6Z2V0Q29udGV4dE1lbnVGcm9tUHJvcG9zZWRN
ZW51KFdLUGFnZVJlZiwgV0tBcnJheVJlZiwgV0tBcnJheVJlZiosIFdLSGl0VGVzdFJlc3VsdFJl
ZiwgV0tUeXBlUmVmLCBjb25zdCB2b2lkKikKLXsKLSAgICBub3RJbXBsZW1lbnRlZCgpOwotfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9Db250ZXh0TWVudUNsaWVu
dEVmbC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9Db250ZXh0TWVudUNsaWVudEVm
bC5oCmluZGV4IGIyMTJlOWUuLmYwMzZiM2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9lZmwvQ29udGV4dE1lbnVDbGllbnRFZmwuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvZWZsL0NvbnRleHRNZW51Q2xpZW50RWZsLmgKQEAgLTI2LDEyICsyNiw3IEBACiAj
aWZuZGVmIENvbnRleHRNZW51Q2xpZW50RWZsX2gKICNkZWZpbmUgQ29udGV4dE1lbnVDbGllbnRF
ZmxfaAogCi0jaW5jbHVkZSAiV0tSZXRhaW5QdHIuaCIKLSNpbmNsdWRlICJld2tfY29udGV4dC5o
IgotI2luY2x1ZGUgPFdlYktpdDIvV0tCYXNlLmg+Ci0jaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4K
ICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgotI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmlu
Zy5oPgogCiBjbGFzcyBFd2tWaWV3OwogCkBAIC00NCw3ICszOSw3IEBAIHB1YmxpYzoKICAgICAg
ICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBDb250ZXh0TWVudUNsaWVudEVmbCh2aWV3SW1wbCkpOwog
ICAgIH0KIAotICAgIHN0YXRpYyB2b2lkIGdldENvbnRleHRNZW51RnJvbVByb3Bvc2VkTWVudShX
S1BhZ2VSZWYsIFdLQXJyYXlSZWYgcHJvcG9zZWRNZW51LCBXS0FycmF5UmVmKiBuZXdNZW51LCBX
S0hpdFRlc3RSZXN1bHRSZWYsIFdLVHlwZVJlZiB1c2VyRGF0YSwgY29uc3Qgdm9pZCogY2xpZW50
SW5mbyk7CisgICAgRXdrVmlldyogdmlldygpIHsgcmV0dXJuIG1fdmlldzsgfQogCiBwcml2YXRl
OgogICAgIGV4cGxpY2l0IENvbnRleHRNZW51Q2xpZW50RWZsKEV3a1ZpZXcqKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvV2ViQ29udGV4dE1lbnVQcm94eUVmbC5j
cHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1dlYkNvbnRleHRNZW51UHJveHlFZmwu
Y3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2OGU3NWI0Li4wMDAwMDAwCi0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvV2ViQ29udGV4dE1lbnVQcm94eUVmbC5jcHAK
KysrIC9kZXYvbnVsbApAQCAtMSw2NyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEy
IFNhbXN1bmcgRWxlY3Ryb25pY3MuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAq
IGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIEFTIElTJycKLSAqIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5j
bHVkZSAiV2ViQ29udGV4dE1lbnVQcm94eUVmbC5oIgotCi0jaWYgRU5BQkxFKENPTlRFWFRfTUVO
VVMpCi0KLSNpbmNsdWRlICJFd2tWaWV3LmgiCi0jaW5jbHVkZSAiV2ViQ29udGV4dE1lbnVJdGVt
RGF0YS5oIgotI2luY2x1ZGUgIldlYlBhZ2VQcm94eS5oIgotI2luY2x1ZGUgPHd0Zi90ZXh0L0NT
dHJpbmcuaD4KLQotdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci0KLW5hbWVzcGFjZSBXZWJLaXQg
ewotCi1XZWJDb250ZXh0TWVudVByb3h5RWZsOjpXZWJDb250ZXh0TWVudVByb3h5RWZsKEV3a1Zp
ZXcqIHZpZXcsIFdlYlBhZ2VQcm94eSogcGFnZSkKLSAgICA6IG1fdmlldyh2aWV3KQotICAgICwg
bV9wYWdlKHBhZ2UpCi17Ci19Ci0KLVdlYkNvbnRleHRNZW51UHJveHlFZmw6On5XZWJDb250ZXh0
TWVudVByb3h5RWZsKCkKLXsKLX0KLQotdm9pZCBXZWJDb250ZXh0TWVudVByb3h5RWZsOjpzaG93
Q29udGV4dE1lbnUoY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIHBvc2l0aW9uLCBjb25zdCBWZWN0
b3I8V2ViQ29udGV4dE1lbnVJdGVtRGF0YT4mIGl0ZW1zKQotewotICAgIG1fdmlldy0+c2hvd0Nv
bnRleHRNZW51KHRoaXMsIHBvc2l0aW9uLCBpdGVtcyk7Ci19Ci0KLXZvaWQgV2ViQ29udGV4dE1l
bnVQcm94eUVmbDo6aGlkZUNvbnRleHRNZW51KCkKLXsKLSAgICBtX3ZpZXctPmhpZGVDb250ZXh0
TWVudSgpOwotfQotCi12b2lkIFdlYkNvbnRleHRNZW51UHJveHlFZmw6OmNvbnRleHRNZW51SXRl
bVNlbGVjdGVkKGNvbnN0IFdlYkNvbnRleHRNZW51SXRlbURhdGEmIGl0ZW0pCi17Ci0gICAgbV9w
YWdlLT5jb250ZXh0TWVudUl0ZW1TZWxlY3RlZChpdGVtKTsKLX0KLQotfSAvLyBuYW1lc3BhY2Ug
V2ViS2l0Ci0KLSNlbmRpZiAvLyBFTkFCTEUoQ09OVEVYVF9NRU5VUykKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvV2ViQ29udGV4dE1lbnVQcm94eUVmbC5oIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9XZWJDb250ZXh0TWVudVByb3h5RWZsLmgKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVhNDJhZjEuLjAwMDAwMDAKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL2VmbC9XZWJDb250ZXh0TWVudVByb3h5RWZsLmgKKysrIC9kZXYvbnVs
bApAQCAtMSw2NyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEyIFNhbXN1bmcgRWxl
Y3Ryb25pY3MuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0g
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
LSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAot
ICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0g
KiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICog
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KLSAqLwotCi0jaWZuZGVmIFdlYkNvbnRleHRNZW51UHJveHlFZmxfaAotI2Rl
ZmluZSBXZWJDb250ZXh0TWVudVByb3h5RWZsX2gKLQotI2lmIEVOQUJMRShDT05URVhUX01FTlVT
KQotCi0jaW5jbHVkZSAiV2ViQ29udGV4dE1lbnVQcm94eS5oIgotI2luY2x1ZGUgPFdlYkNvcmUv
Q29udGV4dE1lbnUuaD4KLSNpbmNsdWRlIDxXZWJDb3JlL0ludFBvaW50Lmg+Ci0KLWNsYXNzIEV3
a1ZpZXc7Ci0KLW5hbWVzcGFjZSBXZWJLaXQgewotCi1jbGFzcyBXZWJDb250ZXh0TWVudUl0ZW1E
YXRhOwotY2xhc3MgV2ViUGFnZVByb3h5OwotCi1jbGFzcyBXZWJDb250ZXh0TWVudVByb3h5RWZs
IDogcHVibGljIFdlYkNvbnRleHRNZW51UHJveHkgewotcHVibGljOgotICAgIHN0YXRpYyBQYXNz
UmVmUHRyPFdlYkNvbnRleHRNZW51UHJveHlFZmw+IGNyZWF0ZShFd2tWaWV3KiB2aWV3SW1wbCwg
V2ViUGFnZVByb3h5KiBwYWdlKQotICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBX
ZWJDb250ZXh0TWVudVByb3h5RWZsKHZpZXdJbXBsLCBwYWdlKSk7Ci0gICAgfQotCi0gICAgfldl
YkNvbnRleHRNZW51UHJveHlFZmwoKTsKLQotICAgIHZvaWQgc2hvd0NvbnRleHRNZW51KGNvbnN0
IFdlYkNvcmU6OkludFBvaW50JiwgY29uc3QgVmVjdG9yPFdlYkNvbnRleHRNZW51SXRlbURhdGE+
Jik7Ci0gICAgdm9pZCBoaWRlQ29udGV4dE1lbnUoKTsKLQotICAgIHZvaWQgY29udGV4dE1lbnVJ
dGVtU2VsZWN0ZWQoY29uc3QgV2ViQ29udGV4dE1lbnVJdGVtRGF0YSYpOwotCi1wcml2YXRlOgot
ICAgIFdlYkNvbnRleHRNZW51UHJveHlFZmwoRXdrVmlldyosIFdlYlBhZ2VQcm94eSopOwotCi0g
ICAgRXdrVmlldyogbV92aWV3OwotICAgIFdlYlBhZ2VQcm94eSogbV9wYWdlOwotfTsKLQotCi19
IC8vIG5hbWVzcGFjZSBXZWJLaXQKLQotI2VuZGlmIC8vIEVOQUJMRShDT05URVhUX01FTlVTKQot
I2VuZGlmIC8vIFdlYkNvbnRleHRNZW51UHJveHlFZmxfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL2VmbC9XZWJWaWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9lZmwvV2ViVmlldy5jcHAKaW5kZXggMTBhMzg1MS4uZGVmY2UyYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9XZWJWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvZWZsL1dlYlZpZXcuY3BwCkBAIC0zNCw3ICszNCw2IEBACiAjaW5jbHVkZSAi
Tm90SW1wbGVtZW50ZWQuaCIKICNpbmNsdWRlICJQYWdlVmlld3BvcnRDb250cm9sbGVyLmgiCiAj
aW5jbHVkZSAiUGFnZVZpZXdwb3J0Q29udHJvbGxlckNsaWVudEVmbC5oIgotI2luY2x1ZGUgIldl
YkNvbnRleHRNZW51UHJveHlFZmwuaCIKICNpbmNsdWRlICJXZWJQYWdlUHJveHkuaCIKICNpbmNs
dWRlICJXZWJQb3B1cE1lbnVMaXN0ZW5lckVmbC5oIgogI2luY2x1ZGUgImV3a19jb250ZXh0X3By
aXZhdGUuaCIKQEAgLTMyMiwxMSArMzIxLDYgQEAgUGFzc1JlZlB0cjxXZWJQb3B1cE1lbnVQcm94
eT4gV2ViVmlldzo6Y3JlYXRlUG9wdXBNZW51UHJveHkoV2ViUGFnZVByb3h5KiBwYWdlKQogICAg
IHJldHVybiBXZWJQb3B1cE1lbnVMaXN0ZW5lckVmbDo6Y3JlYXRlKHBhZ2UpOwogfQogCi1QYXNz
UmVmUHRyPFdlYkNvbnRleHRNZW51UHJveHk+IFdlYlZpZXc6OmNyZWF0ZUNvbnRleHRNZW51UHJv
eHkoV2ViUGFnZVByb3h5KiBwYWdlKQotewotICAgIHJldHVybiBXZWJDb250ZXh0TWVudVByb3h5
RWZsOjpjcmVhdGUobV9ld2tWaWV3LCBwYWdlKTsKLX0KLQogI2lmIEVOQUJMRShJTlBVVF9UWVBF
X0NPTE9SKQogUGFzc1JlZlB0cjxXZWJDb2xvckNob29zZXJQcm94eT4gV2ViVmlldzo6Y3JlYXRl
Q29sb3JDaG9vc2VyUHJveHkoV2ViUGFnZVByb3h5KiwgY29uc3QgV2ViQ29yZTo6Q29sb3ImLCBj
b25zdCBXZWJDb3JlOjpJbnRSZWN0JikKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9lZmwvV2ViVmlldy5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9XZWJW
aWV3LmgKaW5kZXggNDRlZTlkNy4uMWFmZTY1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL2VmbC9XZWJWaWV3LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2Vm
bC9XZWJWaWV3LmgKQEAgLTEzNSw3ICsxMzUsNiBAQCBwcml2YXRlOgogI2VuZGlmCiAKICAgICBQ
YXNzUmVmUHRyPFdlYlBvcHVwTWVudVByb3h5PiBjcmVhdGVQb3B1cE1lbnVQcm94eShXZWJQYWdl
UHJveHkqKSBPVkVSUklERTsKLSAgICBQYXNzUmVmUHRyPFdlYkNvbnRleHRNZW51UHJveHk+IGNy
ZWF0ZUNvbnRleHRNZW51UHJveHkoV2ViUGFnZVByb3h5KikgT1ZFUlJJREU7CiAjaWYgRU5BQkxF
KElOUFVUX1RZUEVfQ09MT1IpCiAgICAgUGFzc1JlZlB0cjxXZWJDb2xvckNob29zZXJQcm94eT4g
Y3JlYXRlQ29sb3JDaG9vc2VyUHJveHkoV2ViUGFnZVByb3h5KiwgY29uc3QgV2ViQ29yZTo6Q29s
b3ImIGluaXRpYWxDb2xvciwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYpIE9WRVJSSURFOwogI2Vu
ZGlmCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>189716</attachid>
            <date>2013-02-22 01:40:10 -0800</date>
            <delta_ts>2013-02-28 05:02:25 -0800</delta_ts>
            <desc>rebased</desc>
            <filename>c-api-ewk-contextmenu5.diff</filename>
            <type>text/plain</type>
            <size>54364</size>
            <attacher name="Michal Pakula vel Rutka">mpakulavelrutka</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCBlN2EyNGUzLi4zNjA2ZDNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsNjgg
QEAKIDIwMTMtMDItMjIgIE1pY2hhxYIgUGFrdcWCYSB2ZWwgUnV0a2EgIDxtLnBha3VsYUBzYW1z
dW5nLmNvbT4KIAorICAgICAgICBbRUZMXVtXSzJdIFVzZSBDIEFQSSBpbiBld2tfY29udGV4dF9t
ZW51CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDk2
OTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBFRkwg
cG9ydCB1bmxpa2Ugb3RoZXJzIGRvZXMgbm90IGhhbmRsZSBjb250ZXh0IG1lbnVzIGluc2lkZSBX
ZWJLaXQgYnV0IGV4cG9zZXMgYW4gQVBJOgorICAgICAgICBld2tfY29udGV4dF9tZW51IGFuZCBl
d2tfY29udGV4dF9tZW51X2l0ZW0sIGFuZCBsZWF2ZXMgY29udGV4dCBtZW51IHRvIGFwcGxpY2F0
aW9uLgorICAgICAgICBDdXJyZW50bHkgRUZMIHBvcnQncyBjb250ZXh0IG1lbnUgQVBJIHVzZXMg
aW50ZXJuYWwgQysrIGNsYXNzZXMsIHdoaWxlIGl0IHNob3VsZCB1c2UgV0syIEMgQVBJLAorICAg
ICAgICB0byBhdm9pZCB2aW9sYXRpbmcgbGF5ZXJpbmcuCisgICAgICAgIFRoaXMgcGF0Y2ggY2hh
bmdlcyBFRkwgY29udGV4dCBtZW51IEFQSSB0byB1c2Ugb25seSBXSzIgQyBBUEksIGFsc28gYWRk
cyB0d28gZnVuY3Rpb25zIHRvIFdLUGFnZUNvbnRleHRNZW51Q2xpZW50LgorCisgICAgICAgICog
UGxhdGZvcm1FZmwuY21ha2U6CisgICAgICAgICogU2hhcmVkL0FQSUNsaWVudFRyYWl0cy5jcHA6
CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAqIFNoYXJlZC9BUElDbGllbnRUcmFpdHMuaDoK
KyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNwcDoKKyAgICAgICAgKFdLUGFnZUNv
bnRleHRNZW51SXRlbVNlbGVjdGVkKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQYWdl
Lmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlldy5jcHA6CisgICAgICAgIChF
d2tWaWV3OjpzaG93Q29udGV4dE1lbnUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL0V3
a1ZpZXcuaDoKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChFd2tWaWV3KToKKyAgICAgICAg
KiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dF9tZW51LmNwcDoKKyAgICAgICAgKEV3a0Nv
bnRleHRNZW51OjpFd2tDb250ZXh0TWVudSk6CisgICAgICAgIChFd2tDb250ZXh0TWVudTo6Y29u
dGV4dE1lbnVJdGVtU2VsZWN0ZWQpOgorICAgICAgICAoZXdrX2NvbnRleHRfbWVudV9pdGVtX3Nl
bGVjdCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHRfbWVudV9pdGVt
LmNwcDoKKyAgICAgICAgKEV3a0NvbnRleHRNZW51SXRlbTo6RXdrQ29udGV4dE1lbnVJdGVtKToK
KyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dF9tZW51X2l0ZW0uaDoKKyAg
ICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dF9tZW51X2l0ZW1fcHJpdmF0ZS5o
OgorICAgICAgICAoRXdrQ29udGV4dE1lbnVJdGVtOjpjcmVhdGUpOgorICAgICAgICAoRXdrQ29u
dGV4dE1lbnVJdGVtKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dF9t
ZW51X3ByaXZhdGUuaDoKKyAgICAgICAgKEV3a0NvbnRleHRNZW51OjpjcmVhdGUpOgorICAgICAg
ICAoRXdrQ29udGV4dE1lbnUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdENv
bnRleHRNZW51Q2xpZW50LmNwcDoKKyAgICAgICAgKGF0dGFjaENvbnRleHRNZW51Q2xpZW50VG9W
aWV3KToKKyAgICAgICAgKiBVSVByb2Nlc3MvUGFnZUNsaWVudC5oOgorICAgICAgICAoUGFnZUNs
aWVudCk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VDb250ZXh0TWVudUNsaWVudC5jcHA6
CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VDb250ZXh0TWVudUNsaWVudDo6c2hvd0NvbnRleHRN
ZW51KToKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VDb250ZXh0
TWVudUNsaWVudDo6aGlkZUNvbnRleHRNZW51KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFn
ZUNvbnRleHRNZW51Q2xpZW50Lmg6CisgICAgICAgIChXZWJQYWdlQ29udGV4dE1lbnVDbGllbnQp
OgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0
OjpXZWJQYWdlUHJveHk6OmludGVybmFsU2hvd0NvbnRleHRNZW51KToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAgIChXZWJQYWdlUHJveHkpOgorICAgICAgICAq
IFVJUHJvY2Vzcy9lZmwvQ29udGV4dE1lbnVDbGllbnRFZmwuY3BwOgorICAgICAgICAoc2hvd0Nv
bnRleHRNZW51KToKKyAgICAgICAgKGhpZGVDb250ZXh0TWVudSk6CisgICAgICAgIChDb250ZXh0
TWVudUNsaWVudEVmbDo6Q29udGV4dE1lbnVDbGllbnRFZmwpOgorICAgICAgICAqIFVJUHJvY2Vz
cy9lZmwvQ29udGV4dE1lbnVDbGllbnRFZmwuaDoKKyAgICAgICAgKFdlYktpdDo6Q29udGV4dE1l
bnVDbGllbnRFZmw6OnZpZXcpOgorICAgICAgICAqIFVJUHJvY2Vzcy9lZmwvV2ViQ29udGV4dE1l
bnVQcm94eUVmbC5jcHA6IFJlbW92ZWQuCisgICAgICAgICogVUlQcm9jZXNzL2VmbC9XZWJDb250
ZXh0TWVudVByb3h5RWZsLmg6IFJlbW92ZWQuCisgICAgICAgICogVUlQcm9jZXNzL2VmbC9XZWJW
aWV3LmNwcDoKKyAgICAgICAgKiBVSVByb2Nlc3MvZWZsL1dlYlZpZXcuaDoKKworMjAxMy0wMi0y
MiAgTWljaGHFgiBQYWt1xYJhIHZlbCBSdXRrYSAgPG0ucGFrdWxhQHNhbXN1bmcuY29tPgorCiAg
ICAgICAgIFtXSzJdW0VGTF1bR1RLXVtRdF0gQWRkIGNvbnRleHQgbWVudSBpdGVtIHRhZ3MgZm9y
IEMgQVBJCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
MDk4MTUKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm1FZmwuY21ha2UgYi9T
b3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZQppbmRleCA3ZmE0ZWM5Li4zYTZjZWI1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZQorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZQpAQCAtMTAxLDcgKzEwMSw2IEBAIGxpc3QoQVBQRU5E
IFdlYktpdDJfU09VUkNFUwogICAgIFVJUHJvY2Vzcy9lZmwvVmlicmF0aW9uQ2xpZW50RWZsLmNw
cAogICAgIFVJUHJvY2Vzcy9lZmwvVmlld0NsaWVudEVmbC5jcHAKICAgICBVSVByb2Nlc3MvZWZs
L1dlYkNvbnRleHRFZmwuY3BwCi0gICAgVUlQcm9jZXNzL2VmbC9XZWJDb250ZXh0TWVudVByb3h5
RWZsLmNwcAogICAgIFVJUHJvY2Vzcy9lZmwvV2ViRnVsbFNjcmVlbk1hbmFnZXJQcm94eUVmbC5j
cHAKICAgICBVSVByb2Nlc3MvZWZsL1dlYkluc3BlY3RvclByb3h5RWZsLmNwcAogICAgIFVJUHJv
Y2Vzcy9lZmwvV2ViUGFnZVByb3h5RWZsLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
U2hhcmVkL0FQSUNsaWVudFRyYWl0cy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJQ2xp
ZW50VHJhaXRzLmNwcAppbmRleCA1ZWNkYWIzLi40NDY1NjRkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvQVBJQ2xpZW50VHJhaXRzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvQVBJQ2xpZW50VHJhaXRzLmNwcApAQCAtNTcsNiArNTcsNyBAQCBjb25zdCBzaXplX3Qg
QVBJQ2xpZW50VHJhaXRzPFdLQnVuZGxlUGFnZUZ1bGxTY3JlZW5DbGllbnQ+OjppbnRlcmZhY2VT
aXplc0J5VmVycwogY29uc3Qgc2l6ZV90IEFQSUNsaWVudFRyYWl0czxXS1BhZ2VDb250ZXh0TWVu
dUNsaWVudD46OmludGVyZmFjZVNpemVzQnlWZXJzaW9uW10gPSB7CiAgICAgb2Zmc2V0b2YoV0tQ
YWdlQ29udGV4dE1lbnVDbGllbnQsIGNvbnRleHRNZW51RGlzbWlzc2VkKSwKICAgICBvZmZzZXRv
ZihXS1BhZ2VDb250ZXh0TWVudUNsaWVudCwgZ2V0Q29udGV4dE1lbnVGcm9tUHJvcG9zZWRNZW51
KSwKKyAgICBvZmZzZXRvZihXS1BhZ2VDb250ZXh0TWVudUNsaWVudCwgc2hvd0NvbnRleHRNZW51
KSwKICAgICBzaXplb2YoV0tQYWdlQ29udGV4dE1lbnVDbGllbnQpCiB9OwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJQ2xpZW50VHJhaXRzLmggYi9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvQVBJQ2xpZW50VHJhaXRzLmgKaW5kZXggYTA2Mjk1Ni4uYWVkODJmNCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSUNsaWVudFRyYWl0cy5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9BUElDbGllbnRUcmFpdHMuaApAQCAtNjAsNyArNjAsNyBAQCB0ZW1w
bGF0ZTw+IHN0cnVjdCBBUElDbGllbnRUcmFpdHM8V0tCdW5kbGVQYWdlVUlDbGllbnQ+IHsKIH07
CiAKIHRlbXBsYXRlPD4gc3RydWN0IEFQSUNsaWVudFRyYWl0czxXS1BhZ2VDb250ZXh0TWVudUNs
aWVudD4gewotICAgIHN0YXRpYyBjb25zdCBzaXplX3QgaW50ZXJmYWNlU2l6ZXNCeVZlcnNpb25b
M107CisgICAgc3RhdGljIGNvbnN0IHNpemVfdCBpbnRlcmZhY2VTaXplc0J5VmVyc2lvbls0XTsK
IH07CiAKIHRlbXBsYXRlPD4gc3RydWN0IEFQSUNsaWVudFRyYWl0czxXS1BhZ2VMb2FkZXJDbGll
bnQ+IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2Uu
Y3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAKaW5kZXggYTNh
NDQ4OC4uYTEzZWFlOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9D
L1dLUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5j
cHAKQEAgLTQwLDYgKzQwLDEwIEBACiAjaW5jbHVkZSA8QmxvY2suaD4KICNlbmRpZgogCisjaWYg
RU5BQkxFKENPTlRFWFRfTUVOVVMpCisjaW5jbHVkZSAiV2ViQ29udGV4dE1lbnVJdGVtLmgiCisj
ZW5kaWYKKwogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiB1c2luZyBuYW1lc3BhY2UgV2ViS2l0
OwogCkBAIC04MTUsMyArODE5LDEwIEBAIHZvaWQgV0tQYWdlU2V0SW52YWxpZE1lc3NhZ2VGdW5j
dGlvbihXS1BhZ2VJbnZhbGlkTWVzc2FnZUZ1bmN0aW9uKQogewogICAgIC8vIEZJWE1FOiBSZW1v
dmUgdGhpcyBmdW5jdGlvbiB3aGVuIGRvaW5nIHNvIHdvbid0IGJyZWFrIFdlYktpdCBuaWdodGxp
ZXMuCiB9CisKK3ZvaWQgV0tQYWdlQ29udGV4dE1lbnVJdGVtU2VsZWN0ZWQoV0tQYWdlUmVmIHBh
Z2UsIFdLQ29udGV4dE1lbnVJdGVtUmVmIGl0ZW0pCit7CisjaWYgRU5BQkxFKENPTlRFWFRfTUVO
VVMpCisgICAgdG9JbXBsKHBhZ2UpLT5jb250ZXh0TWVudUl0ZW1TZWxlY3RlZCgqKHRvSW1wbChp
dGVtKS0+ZGF0YSgpKSk7CisjZW5kaWYKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvQy9XS1BhZ2UuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9X
S1BhZ2UuaAppbmRleCBhNTlhZWU1Li4yYjk5OWRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9DL1dLUGFnZS5oCkBAIC0zMjAsNiArMzIwLDggQEAgZW51bSB7IGtXS1BhZ2VGaW5kTWF0
Y2hlc0NsaWVudEN1cnJlbnRWZXJzaW9uID0gMCB9OwogdHlwZWRlZiB2b2lkICgqV0tQYWdlR2V0
Q29udGV4dE1lbnVGcm9tUHJvcG9zZWRDb250ZXh0TWVudUNhbGxiYWNrKShXS1BhZ2VSZWYgcGFn
ZSwgV0tBcnJheVJlZiBwcm9wb3NlZE1lbnUsIFdLQXJyYXlSZWYqIG5ld01lbnUsIFdLSGl0VGVz
dFJlc3VsdFJlZiBoaXRUZXN0UmVzdWx0LCBXS1R5cGVSZWYgdXNlckRhdGEsIGNvbnN0IHZvaWQq
IGNsaWVudEluZm8pOwogdHlwZWRlZiB2b2lkICgqV0tQYWdlQ3VzdG9tQ29udGV4dE1lbnVJdGVt
U2VsZWN0ZWRDYWxsYmFjaykoV0tQYWdlUmVmIHBhZ2UsIFdLQ29udGV4dE1lbnVJdGVtUmVmIGNv
bnRleHRNZW51SXRlbSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7CiB0eXBlZGVmIHZvaWQgKCpX
S1BhZ2VDb250ZXh0TWVudURpc21pc3NlZENhbGxiYWNrKShXS1BhZ2VSZWYgcGFnZSwgY29uc3Qg
dm9pZCogY2xpZW50SW5mbyk7Cit0eXBlZGVmIHZvaWQgKCpXS1BhZ2VTaG93Q29udGV4dE1lbnVD
YWxsYmFjaykoV0tQYWdlUmVmIHBhZ2UsIFdLUG9pbnQgbWVudUxvY2F0aW9uLCBXS0FycmF5UmVm
IG1lbnVJdGVtcywgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7Cit0eXBlZGVmIHZvaWQgKCpXS1Bh
Z2VIaWRlQ29udGV4dE1lbnVDYWxsYmFjaykoV0tQYWdlUmVmIHBhZ2UsIGNvbnN0IHZvaWQqIGNs
aWVudEluZm8pOwogCiAvLyBEZXByZWNhdGVkCiB0eXBlZGVmIHZvaWQgKCpXS1BhZ2VHZXRDb250
ZXh0TWVudUZyb21Qcm9wb3NlZENvbnRleHRNZW51Q2FsbGJhY2tfZGVwcmVjYXRlZEZvclVzZVdp
dGhWMCkoV0tQYWdlUmVmIHBhZ2UsIFdLQXJyYXlSZWYgcHJvcG9zZWRNZW51LCBXS0FycmF5UmVm
KiBuZXdNZW51LCBXS1R5cGVSZWYgdXNlckRhdGEsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwpA
QCAtMzM2LDEwICszMzgsMTQgQEAgc3RydWN0IFdLUGFnZUNvbnRleHRNZW51Q2xpZW50IHsKIAog
ICAgIC8vIFZlcnNpb24gMgogICAgIFdLUGFnZUdldENvbnRleHRNZW51RnJvbVByb3Bvc2VkQ29u
dGV4dE1lbnVDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0Q29udGV4dE1lbnVG
cm9tUHJvcG9zZWRNZW51OworCisgICAgLy8gVmVyc2lvbiAzCisgICAgV0tQYWdlU2hvd0NvbnRl
eHRNZW51Q2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBzaG93Q29udGV4dE1lbnU7CisgICAgV0tQYWdlSGlkZUNvbnRleHRNZW51Q2FsbGJhY2sg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaWRlQ29udGV4
dE1lbnU7CiB9OwogdHlwZWRlZiBzdHJ1Y3QgV0tQYWdlQ29udGV4dE1lbnVDbGllbnQgV0tQYWdl
Q29udGV4dE1lbnVDbGllbnQ7CiAKLWVudW0geyBrV0tQYWdlQ29udGV4dE1lbnVDbGllbnRDdXJy
ZW50VmVyc2lvbiA9IDIgfTsKK2VudW0geyBrV0tQYWdlQ29udGV4dE1lbnVDbGllbnRDdXJyZW50
VmVyc2lvbiA9IDMgfTsKIAogV0tfRVhQT1JUIFdLVHlwZUlEIFdLUGFnZUdldFR5cGVJRCgpOwog
CkBAIC01MTksNiArNTI1LDggQEAgV0tfRVhQT1JUIHZvaWQgV0tQYWdlRXhlY3V0ZUNvbW1hbmQo
V0tQYWdlUmVmIHBhZ2UsIFdLU3RyaW5nUmVmIGNvbW1hbmQpOwogCiBXS19FWFBPUlQgdm9pZCBX
S1BhZ2VQb3N0TWVzc2FnZVRvSW5qZWN0ZWRCdW5kbGUoV0tQYWdlUmVmIHBhZ2UsIFdLU3RyaW5n
UmVmIG1lc3NhZ2VOYW1lLCBXS1R5cGVSZWYgbWVzc2FnZUJvZHkpOwogCitXS19FWFBPUlQgdm9p
ZCBXS1BhZ2VDb250ZXh0TWVudUl0ZW1TZWxlY3RlZChXS1BhZ2VSZWYgcGFnZSwgV0tDb250ZXh0
TWVudUl0ZW1SZWYgaXRlbSk7CisKICNpZmRlZiBfX2NwbHVzcGx1cwogfQogI2VuZGlmCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3LmNwcCBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuY3BwCmluZGV4IGE3M2Y5YzIu
LmZmZjA1NGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3
a1ZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcu
Y3BwCkBAIC04MDIsNyArODAyLDcgQEAgdm9pZCBFd2tWaWV3OjpkaXNtaXNzQ29sb3JQaWNrZXIo
KQogQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfVEVYVF9ESVJFQ1RJT05fUklHSFRf
VE9fTEVGVCwgUlRMKTsKIENPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX1RFWFRfRElS
RUNUSU9OX0xFRlRfVE9fUklHSFQsIExUUik7CiAKLXZvaWQgRXdrVmlldzo6c2hvd0NvbnRleHRN
ZW51KFdlYkNvbnRleHRNZW51UHJveHlFZmwqIGNvbnRleHRNZW51UHJveHksIGNvbnN0IFdlYkNv
cmU6OkludFBvaW50JiBwb3NpdGlvbiwgY29uc3QgVmVjdG9yPFdlYkNvbnRleHRNZW51SXRlbURh
dGE+JiBpdGVtcykKK3ZvaWQgRXdrVmlldzo6c2hvd0NvbnRleHRNZW51KFdLUG9pbnQgcG9zaXRp
b24sIFdLQXJyYXlSZWYgaXRlbXMpCiB7CiAgICAgRXdrX1ZpZXdfU21hcnRfRGF0YSogc2QgPSBz
bWFydERhdGEoKTsKICAgICBBU1NFUlQoc2QtPmFwaSk7CkBAIC04MTUsOSArODE1LDkgQEAgdm9p
ZCBFd2tWaWV3OjpzaG93Q29udGV4dE1lbnUoV2ViQ29udGV4dE1lbnVQcm94eUVmbCogY29udGV4
dE1lbnVQcm94eSwgY29uc3QgV2UKICAgICBpZiAobV9jb250ZXh0TWVudSkKICAgICAgICAgaGlk
ZUNvbnRleHRNZW51KCk7CiAKLSAgICBtX2NvbnRleHRNZW51ID0gRXdrX0NvbnRleHRfTWVudTo6
Y3JlYXRlKHRoaXMsIGNvbnRleHRNZW51UHJveHksIGl0ZW1zKTsKKyAgICBtX2NvbnRleHRNZW51
ID0gRXdrX0NvbnRleHRfTWVudTo6Y3JlYXRlKHRoaXMsIGl0ZW1zKTsKIAotICAgIHNkLT5hcGkt
PmNvbnRleHRfbWVudV9zaG93KHNkLCBwb3NpdGlvbi54KCksIHBvc2l0aW9uLnkoKSwgbV9jb250
ZXh0TWVudS5nZXQoKSk7CisgICAgc2QtPmFwaS0+Y29udGV4dF9tZW51X3Nob3coc2QsIHBvc2l0
aW9uLngsIHBvc2l0aW9uLnksIG1fY29udGV4dE1lbnUuZ2V0KCkpOwogfQogCiB2b2lkIEV3a1Zp
ZXc6OmhpZGVDb250ZXh0TWVudSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL2VmbC9Fd2tWaWV3LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9F
d2tWaWV3LmgKaW5kZXggYzc2ODk1Ni4uYmM2ZDRiNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlldy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvZWZsL0V3a1ZpZXcuaApAQCAtNjUsOCArNjUsNiBAQCBjbGFzcyBQYWdlVUlDbGll
bnRFZmw7CiBjbGFzcyBWaWV3Q2xpZW50RWZsOwogY2xhc3MgUGFnZVZpZXdwb3J0Q29udHJvbGxl
cjsKIGNsYXNzIFBhZ2VWaWV3cG9ydENvbnRyb2xsZXJDbGllbnRFZmw7Ci1jbGFzcyBXZWJDb250
ZXh0TWVudUl0ZW1EYXRhOwotY2xhc3MgV2ViQ29udGV4dE1lbnVQcm94eUVmbDsKIGNsYXNzIFdl
YlBhZ2VHcm91cDsKIGNsYXNzIFdlYlBhZ2VQcm94eTsKIApAQCAtMTg2LDcgKzE4NCw3IEBAIHB1
YmxpYzoKICAgICB2b2lkIHJlcXVlc3RQb3B1cE1lbnUoV0tQb3B1cE1lbnVMaXN0ZW5lclJlZiwg
Y29uc3QgV0tSZWN0JiwgV0tQb3B1cEl0ZW1UZXh0RGlyZWN0aW9uLCBkb3VibGUgcGFnZVNjYWxl
RmFjdG9yLCBXS0FycmF5UmVmIGl0ZW1zLCBpbnQzMl90IHNlbGVjdGVkSW5kZXgpOwogICAgIHZv
aWQgY2xvc2VQb3B1cE1lbnUoKTsKIAotICAgIHZvaWQgc2hvd0NvbnRleHRNZW51KFdlYktpdDo6
V2ViQ29udGV4dE1lbnVQcm94eUVmbCosIGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBwb3NpdGlv
biwgY29uc3QgVmVjdG9yPFdlYktpdDo6V2ViQ29udGV4dE1lbnVJdGVtRGF0YT4mIGl0ZW1zKTsK
KyAgICB2b2lkIHNob3dDb250ZXh0TWVudShXS1BvaW50IHBvc2l0aW9uLCBXS0FycmF5UmVmIGl0
ZW1zKTsKICAgICB2b2lkIGhpZGVDb250ZXh0TWVudSgpOwogCiAgICAgdm9pZCB1cGRhdGVUZXh0
SW5wdXRTdGF0ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9l
ZmwvZXdrX2NvbnRleHRfbWVudS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2Vm
bC9ld2tfY29udGV4dF9tZW51LmNwcAppbmRleCA5OGE0MzFhLi5mM2JlOGRmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dF9tZW51LmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dF9tZW51LmNw
cApAQCAtMjgsMzQgKzI4LDMyIEBACiAKICNpbmNsdWRlICJBUElPYmplY3QuaCIKICNpbmNsdWRl
ICJFd2tWaWV3LmgiCi0jaW5jbHVkZSAiV2ViQ29udGV4dE1lbnVJdGVtRGF0YS5oIgotI2luY2x1
ZGUgIldlYkNvbnRleHRNZW51UHJveHlFZmwuaCIKKyNpbmNsdWRlICJXS0FycmF5LmgiCisjaW5j
bHVkZSAiV0tDb250ZXh0TWVudUl0ZW0uaCIKKyNpbmNsdWRlICJXS1N0cmluZy5oIgogI2luY2x1
ZGUgImV3a19jb250ZXh0X21lbnVfaXRlbS5oIgogI2luY2x1ZGUgImV3a19jb250ZXh0X21lbnVf
aXRlbV9wcml2YXRlLmgiCiAjaW5jbHVkZSAiZXdrX2NvbnRleHRfbWVudV9wcml2YXRlLmgiCiAK
IHVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CiAKLUV3a0NvbnRleHRNZW51OjpFd2tDb250ZXh0TWVu
dShFd2tWaWV3KiB2aWV3LCBXZWJDb250ZXh0TWVudVByb3h5RWZsKiBjb250ZXh0TWVudVByb3h5
LCBjb25zdCBWZWN0b3I8V2ViS2l0OjpXZWJDb250ZXh0TWVudUl0ZW1EYXRhPiYgaXRlbXMpCitF
d2tDb250ZXh0TWVudTo6RXdrQ29udGV4dE1lbnUoRXdrVmlldyogdmlldywgV0tBcnJheVJlZiBp
dGVtcykKICAgICA6IG1fdmlld0ltcGwodmlldykKLSAgICAsIG1fY29udGV4dE1lbnVQcm94eShj
b250ZXh0TWVudVByb3h5KQogICAgICwgbV9jb250ZXh0TWVudUl0ZW1zKDApCiB7Ci0gICAgY29u
c3Qgc2l6ZV90IHNpemUgPSBpdGVtcy5zaXplKCk7CisgICAgc2l6ZV90IHNpemUgPSBXS0FycmF5
R2V0U2l6ZShpdGVtcyk7CiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBzaXplOyArK2kpCi0g
ICAgICAgIG1fY29udGV4dE1lbnVJdGVtcyA9IGVpbmFfbGlzdF9hcHBlbmQobV9jb250ZXh0TWVu
dUl0ZW1zLCBFd2tfQ29udGV4dF9NZW51X0l0ZW06OmNyZWF0ZShpdGVtc1tpXSkubGVha1B0cigp
KTsKKyAgICAgICAgbV9jb250ZXh0TWVudUl0ZW1zID0gZWluYV9saXN0X2FwcGVuZChtX2NvbnRl
eHRNZW51SXRlbXMsIEV3a19Db250ZXh0X01lbnVfSXRlbTo6Y3JlYXRlKHN0YXRpY19jYXN0PFdL
Q29udGV4dE1lbnVJdGVtUmVmPihXS0FycmF5R2V0SXRlbUF0SW5kZXgoaXRlbXMsIGkpKSkubGVh
a1B0cigpKTsKIH0KIAogRXdrQ29udGV4dE1lbnU6OkV3a0NvbnRleHRNZW51KCkKICAgICA6IG1f
dmlld0ltcGwoMCkKLSAgICAsIG1fY29udGV4dE1lbnVQcm94eSgwKQogICAgICwgbV9jb250ZXh0
TWVudUl0ZW1zKDApCiB7CiB9CiAKIEV3a0NvbnRleHRNZW51OjpFd2tDb250ZXh0TWVudShFaW5h
X0xpc3QqIGl0ZW1zKQogICAgIDogbV92aWV3SW1wbCgwKQotICAgICwgbV9jb250ZXh0TWVudVBy
b3h5KDApCiAgICAgLCBtX2NvbnRleHRNZW51SXRlbXMoMCkKIHsKICAgICBFaW5hX0xpc3QqIGw7
CkBAIC04Niw5ICs4NCw5IEBAIHZvaWQgRXdrX0NvbnRleHRfTWVudTo6cmVtb3ZlSXRlbShFd2tD
b250ZXh0TWVudUl0ZW0qIGl0ZW0pCiAgICAgbV9jb250ZXh0TWVudUl0ZW1zID0gZWluYV9saXN0
X3JlbW92ZShtX2NvbnRleHRNZW51SXRlbXMsIGl0ZW0pOwogfQogCi12b2lkIEV3a0NvbnRleHRN
ZW51Ojpjb250ZXh0TWVudUl0ZW1TZWxlY3RlZChjb25zdCBXZWJLaXQ6OldlYkNvbnRleHRNZW51
SXRlbURhdGEmIGl0ZW0pCit2b2lkIEV3a0NvbnRleHRNZW51Ojpjb250ZXh0TWVudUl0ZW1TZWxl
Y3RlZChXS0NvbnRleHRNZW51SXRlbVJlZiBpdGVtKQogewotICAgIG1fY29udGV4dE1lbnVQcm94
eS0+Y29udGV4dE1lbnVJdGVtU2VsZWN0ZWQoaXRlbSk7IAorICAgIFdLUGFnZUNvbnRleHRNZW51
SXRlbVNlbGVjdGVkKG1fdmlld0ltcGwtPndrUGFnZSgpLCBpdGVtKTsKIH0gCiAKIEV3a19Db250
ZXh0X01lbnUqIGV3a19jb250ZXh0X21lbnVfbmV3KCkKQEAgLTE0MCwxMCArMTM4LDIxIEBAIEVp
bmFfQm9vbCBld2tfY29udGV4dF9tZW51X2l0ZW1fc2VsZWN0KEV3a19Db250ZXh0X01lbnUqIG1l
bnUsIEV3a19Db250ZXh0X01lbnVfCiAgICAgRUlOQV9TQUZFVFlfT05fTlVMTF9SRVRVUk5fVkFM
KG1lbnUsIGZhbHNlKTsKICAgICBFSU5BX1NBRkVUWV9PTl9OVUxMX1JFVFVSTl9WQUwoaXRlbSwg
ZmFsc2UpOwogCi0gICAgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVHlwZSB0eXBlID0gc3RhdGlj
X2Nhc3Q8V2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVHlwZT4oaXRlbS0+dHlwZSgpKTsKLSAgICBX
ZWJDb3JlOjpDb250ZXh0TWVudUFjdGlvbiBhY3Rpb24gPSBzdGF0aWNfY2FzdDxXZWJDb3JlOjpD
b250ZXh0TWVudUFjdGlvbj4oaXRlbS0+YWN0aW9uKCkpOwotCi0gICAgbWVudS0+Y29udGV4dE1l
bnVJdGVtU2VsZWN0ZWQoV2ViQ29udGV4dE1lbnVJdGVtRGF0YSh0eXBlLCBhY3Rpb24sIGl0ZW0t
PnRpdGxlKCksIGl0ZW0tPmVuYWJsZWQoKSwgaXRlbS0+Y2hlY2tlZCgpKSk7CisgICAgV0tDb250
ZXh0TWVudUl0ZW1SZWYgd2tJdGVtOworCisgICAgc3dpdGNoIChpdGVtLT50eXBlKCkpIHsKKyAg
ICBjYXNlIEVXS19BQ1RJT05fVFlQRToKKyAgICAgICAgd2tJdGVtID0gV0tDb250ZXh0TWVudUl0
ZW1DcmVhdGVBc0FjdGlvbihzdGF0aWNfY2FzdDxXS0NvbnRleHRNZW51SXRlbVRhZz4oaXRlbS0+
YWN0aW9uKCkpLCBhZG9wdFdLKFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKGl0ZW0tPnRp
dGxlKCkpKS5nZXQoKSwgaXRlbS0+ZW5hYmxlZCgpKTsKKyAgICAgICAgYnJlYWs7CisgICAgY2Fz
ZSBFV0tfQ0hFQ0tBQkxFX0FDVElPTl9UWVBFOgorICAgICAgICB3a0l0ZW0gPSBXS0NvbnRleHRN
ZW51SXRlbUNyZWF0ZUFzQ2hlY2thYmxlQWN0aW9uKHN0YXRpY19jYXN0PFdLQ29udGV4dE1lbnVJ
dGVtVGFnPihpdGVtLT5hY3Rpb24oKSksIGFkb3B0V0soV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENT
dHJpbmcoaXRlbS0+dGl0bGUoKSkpLmdldCgpLCBpdGVtLT5lbmFibGVkKCksIGl0ZW0tPmNoZWNr
ZWQoKSk7CisgICAgICAgIGJyZWFrOworICAgIGRlZmF1bHQ6CisgICAgICAgIEFTU0VSVF9OT1Rf
UkVBQ0hFRCgpOworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCisgICAgbWVudS0+Y29u
dGV4dE1lbnVJdGVtU2VsZWN0ZWQod2tJdGVtKTsKIAogICAgIHJldHVybiB0cnVlOwogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHRfbWVu
dV9pdGVtLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0
X21lbnVfaXRlbS5jcHAKaW5kZXggMWZmODY1Mi4uZTlkNDgxOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHRfbWVudV9pdGVtLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dF9tZW51X2l0ZW0u
Y3BwCkBAIC0yOCwxNyArMjgsMTcgQEAKIAogI2luY2x1ZGUgImV3a19jb250ZXh0X21lbnVfaXRl
bV9wcml2YXRlLmgiCiAjaW5jbHVkZSAiZXdrX3ByaXZhdGUuaCIKKyNpbmNsdWRlIDxXZWJLaXQy
L1dLQ29udGV4dE1lbnVJdGVtVHlwZXMuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+
CiAKLXVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKIAot
RXdrQ29udGV4dE1lbnVJdGVtOjpFd2tDb250ZXh0TWVudUl0ZW0oY29uc3QgV2ViQ29udGV4dE1l
bnVJdGVtRGF0YSYgaXRlbSkKLSAgICA6IG1fdHlwZShzdGF0aWNfY2FzdDxFd2tfQ29udGV4dF9N
ZW51X0l0ZW1fVHlwZT4oaXRlbS50eXBlKCkpKQotICAgICwgbV9hY3Rpb24oc3RhdGljX2Nhc3Q8
RXdrX0NvbnRleHRfTWVudV9JdGVtX0FjdGlvbj4oaXRlbS5hY3Rpb24oKSkpCi0gICAgLCBtX3Rp
dGxlKGl0ZW0udGl0bGUoKS51dGY4KCkuZGF0YSgpKQotICAgICwgbV9pc0NoZWNrZWQoaXRlbS5j
aGVja2VkKCkpCi0gICAgLCBtX2lzRW5hYmxlZChpdGVtLmVuYWJsZWQoKSkKK0V3a0NvbnRleHRN
ZW51SXRlbTo6RXdrQ29udGV4dE1lbnVJdGVtKFdLQ29udGV4dE1lbnVJdGVtUmVmIGl0ZW0pCisg
ICAgOiBtX3R5cGUoc3RhdGljX2Nhc3Q8RXdrX0NvbnRleHRfTWVudV9JdGVtX1R5cGU+KFdLQ29u
dGV4dE1lbnVJdGVtR2V0VHlwZShpdGVtKSkpCisgICAgLCBtX2FjdGlvbihzdGF0aWNfY2FzdDxF
d2tfQ29udGV4dF9NZW51X0l0ZW1fQWN0aW9uPihXS0NvbnRleHRNZW51SXRlbUdldFRhZyhpdGVt
KSkpCisgICAgLCBtX3RpdGxlKFdLRWluYVNoYXJlZFN0cmluZyhBZG9wdFdLLCBXS0NvbnRleHRN
ZW51SXRlbUNvcHlUaXRsZShpdGVtKSkpCisgICAgLCBtX2lzQ2hlY2tlZChXS0NvbnRleHRNZW51
SXRlbUdldENoZWNrZWQoaXRlbSkpCisgICAgLCBtX2lzRW5hYmxlZChXS0NvbnRleHRNZW51SXRl
bUdldEVuYWJsZWQoaXRlbSkpCiAgICAgLCBtX3BhcmVudE1lbnUoMCkKICAgICAsIG1fc3ViTWVu
dSgwKQogewpAQCAtMTQ1LDgwICsxNDUsODggQEAgRWluYV9Cb29sIGV3a19jb250ZXh0X21lbnVf
aXRlbV9lbmFibGVkX3NldChFd2tfQ29udGV4dF9NZW51X0l0ZW0qIGl0ZW0sIEVpbmFfQm8KICAg
ICByZXR1cm4gdHJ1ZTsKIH0KIAotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09O
VEVYVF9NRU5VX0lURU1fVEFHX05PX0FDVElPTiwgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFn
Tm9BY3Rpb24pOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5V
X0lURU1fVEFHX09QRU5fTElOS19JTl9ORVdfV0lORE9XLCBXZWJDb3JlOjpDb250ZXh0TWVudUl0
ZW1UYWdPcGVuTGlua0luTmV3V2luZG93KTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0o
RVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19ET1dOTE9BRF9MSU5LX1RPX0RJU0ssIFdlYkNvcmU6
OkNvbnRleHRNZW51SXRlbVRhZ0Rvd25sb2FkTGlua1RvRGlzayk7Ci1DT01QSUxFX0FTU0VSVF9N
QVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfQ09QWV9MSU5LX1RPX0NMSVBC
T0FSRCwgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnQ29weUxpbmtUb0NsaXBib2FyZCk7Ci1D
T01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfT1BF
Tl9JTUFHRV9JTl9ORVdfV0lORE9XLCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdPcGVuSW1h
Z2VJbk5ld1dpbmRvdyk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhU
X01FTlVfSVRFTV9UQUdfRE9XTkxPQURfSU1BR0VfVE9fRElTSywgV2ViQ29yZTo6Q29udGV4dE1l
bnVJdGVtVGFnRG93bmxvYWRJbWFnZVRvRGlzayk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19F
TlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfQ09QWV9JTUFHRV9UT19DTElQQk9BUkQsIFdl
YkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ0NvcHlJbWFnZVRvQ2xpcGJvYXJkKTsKLUNPTVBJTEVf
QVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19DT1BZX0lNQUdF
X1VSTF9UT19DTElQQk9BUkQsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ0NvcHlJbWFnZVVy
bFRvQ2xpcGJvYXJkKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRf
TUVOVV9JVEVNX1RBR19PUEVOX0ZSQU1FX0lOX05FV19XSU5ET1csIFdlYkNvcmU6OkNvbnRleHRN
ZW51SXRlbVRhZ09wZW5GcmFtZUluTmV3V2luZG93KTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5H
X0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19DT1BZLCBXZWJDb3JlOjpDb250ZXh0TWVu
dUl0ZW1UYWdDb3B5KTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRf
TUVOVV9JVEVNX1RBR19HT19CQUNLLCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdHb0JhY2sp
OwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFH
X0dPX0ZPUldBUkQsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ0dvRm9yd2FyZCk7Ci1DT01Q
SUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfU1RPUCwg
V2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnU3RvcCk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElO
R19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfUkVMT0FELCBXZWJDb3JlOjpDb250ZXh0
TWVudUl0ZW1UYWdSZWxvYWQpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09O
VEVYVF9NRU5VX0lURU1fVEFHX0NVVCwgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnQ3V0KTsK
LUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19Q
QVNURSwgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnUGFzdGUpOwotQ09NUElMRV9BU1NFUlRf
TUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1NFTEVDVF9BTEwsIFdlYkNv
cmU6OkNvbnRleHRNZW51SXRlbVRhZ1NlbGVjdEFsbCk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElO
R19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfU1BFTExJTkdfR1VFU1MsIFdlYkNvcmU6
OkNvbnRleHRNZW51SXRlbVRhZ1NwZWxsaW5nR3Vlc3MpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJ
TkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX05PX0dVRVNTRVNfRk9VTkQsIFdlYkNv
cmU6OkNvbnRleHRNZW51SXRlbVRhZ05vR3Vlc3Nlc0ZvdW5kKTsKLUNPTVBJTEVfQVNTRVJUX01B
VENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19JR05PUkVfU1BFTExJTkcsIFdl
YkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ0lnbm9yZVNwZWxsaW5nKTsKLUNPTVBJTEVfQVNTRVJU
X01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19MRUFSTl9TUEVMTElORywg
V2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnTGVhcm5TcGVsbGluZyk7Ci1DT01QSUxFX0FTU0VS
VF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfT1RIRVIsIFdlYkNvcmU6
OkNvbnRleHRNZW51SXRlbVRhZ090aGVyKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0o
RVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19TRUFSQ0hfSU5fU1BPVExJR0hULCBXZWJDb3JlOjpD
b250ZXh0TWVudUl0ZW1UYWdTZWFyY2hJblNwb3RsaWdodCk7Ci1DT01QSUxFX0FTU0VSVF9NQVRD
SElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfU0VBUkNIX1dFQiwgV2ViQ29yZTo6
Q29udGV4dE1lbnVJdGVtVGFnU2VhcmNoV2ViKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VO
VU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19MT09LX1VQX0lOX0RJQ1RJT05BUlksIFdlYkNv
cmU6OkNvbnRleHRNZW51SXRlbVRhZ0xvb2tVcEluRGljdGlvbmFyeSk7Ci1DT01QSUxFX0FTU0VS
VF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfT1BFTl9XSVRIX0RFRkFV
TFRfQVBQTElDQVRJT04sIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ09wZW5XaXRoRGVmYXVs
dEFwcGxpY2F0aW9uKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRf
TUVOVV9JVEVNX1BERkFDVFVBTF9TSVpFLCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1QREZBY3R1
YWxTaXplKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9J
VEVNX1BERlpPT01fSU4sIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVBERlpvb21Jbik7Ci1DT01Q
SUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9QREZaT09NX09V
VCwgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtUERGWm9vbU91dCk7Ci1DT01QSUxFX0FTU0VSVF9N
QVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9QREZBVVRPX1NJWkUsIFdlYkNvcmU6
OkNvbnRleHRNZW51SXRlbVBERkF1dG9TaXplKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VO
VU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1BERlNJTkdMRV9QQUdFLCBXZWJDb3JlOjpDb250ZXh0
TWVudUl0ZW1QREZTaW5nbGVQYWdlKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdL
X0NPTlRFWFRfTUVOVV9JVEVNX1BERkZBQ0lOR19QQUdFUywgV2ViQ29yZTo6Q29udGV4dE1lbnVJ
dGVtUERGRmFjaW5nUGFnZXMpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09O
VEVYVF9NRU5VX0lURU1fUERGQ09OVElOVU9VUywgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtUERG
Q29udGludW91cyk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01F
TlVfSVRFTV9QREZORVhUX1BBR0UsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVBERk5leHRQYWdl
KTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1BE
RlBSRVZJT1VTX1BBR0UsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVBERlByZXZpb3VzUGFnZSk7
Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdf
T1BFTl9MSU5LLCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdPcGVuTGluayk7Ci1DT01QSUxF
X0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfSUdOT1JFX0dS
QU1NQVIsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ0lnbm9yZUdyYW1tYXIpOwotQ09NUElM
RV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1NQRUxMSU5H
X01FTlUsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ1NwZWxsaW5nTWVudSk7Ci1DT01QSUxF
X0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfU0hPV19TUEVM
TElOR19QQU5FTCwgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnU2hvd1NwZWxsaW5nUGFuZWwp
OwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFH
X0NIRUNLX1NQRUxMSU5HLCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdDaGVja1NwZWxsaW5n
KTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RB
R19DSEVDS19TUEVMTElOR19XSElMRV9UWVBJTkcsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRh
Z0NoZWNrU3BlbGxpbmdXaGlsZVR5cGluZyk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVN
KEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfQ0hFQ0tfR1JBTU1BUl9XSVRIX1NQRUxMSU5HLCBX
ZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdDaGVja0dyYW1tYXJXaXRoU3BlbGxpbmcpOwotQ09N
UElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0ZPTlRf
TUVOVSwgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnRm9udE1lbnUpOwotQ09NUElMRV9BU1NF
UlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1NIT1dfRk9OVFMsIFdl
YkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ1Nob3dGb250cyk7Ci1DT01QSUxFX0FTU0VSVF9NQVRD
SElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfQk9MRCwgV2ViQ29yZTo6Q29udGV4
dE1lbnVJdGVtVGFnQm9sZCk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05U
RVhUX01FTlVfSVRFTV9UQUdfSVRBTElDLCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdJdGFs
aWMpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1f
VEFHX1VOREVSTElORSwgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnVW5kZXJsaW5lKTsKLUNP
TVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19PVVRM
SU5FLCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdPdXRsaW5lKTsKLUNPTVBJTEVfQVNTRVJU
X01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19TVFlMRVMsIFdlYkNvcmU6
OkNvbnRleHRNZW51SXRlbVRhZ1N0eWxlcyk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVN
KEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfU0hPV19DT0xPUlMsIFdlYkNvcmU6OkNvbnRleHRN
ZW51SXRlbVRhZ1Nob3dDb2xvcnMpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tf
Q09OVEVYVF9NRU5VX0lURU1fVEFHX1NQRUVDSF9NRU5VLCBXZWJDb3JlOjpDb250ZXh0TWVudUl0
ZW1UYWdTcGVlY2hNZW51KTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRF
WFRfTUVOVV9JVEVNX1RBR19TVEFSVF9TUEVBS0lORywgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVt
VGFnU3RhcnRTcGVha2luZyk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05U
RVhUX01FTlVfSVRFTV9UQUdfU1RPUF9TUEVBS0lORywgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVt
VGFnU3RvcFNwZWFraW5nKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRF
WFRfTUVOVV9JVEVNX1RBR19XUklUSU5HX0RJUkVDVElPTl9NRU5VLCBXZWJDb3JlOjpDb250ZXh0
TWVudUl0ZW1UYWdXcml0aW5nRGlyZWN0aW9uTWVudSk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElO
R19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfREVGQVVMVF9ESVJFQ1RJT04sIFdlYkNv
cmU6OkNvbnRleHRNZW51SXRlbVRhZ0RlZmF1bHREaXJlY3Rpb24pOwotQ09NUElMRV9BU1NFUlRf
TUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0xFRlRfVE9fUklHSFQsIFdl
YkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ0xlZnRUb1JpZ2h0KTsKLUNPTVBJTEVfQVNTRVJUX01B
VENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19SSUdIVF9UT19MRUZULCBXZWJD
b3JlOjpDb250ZXh0TWVudUl0ZW1UYWdSaWdodFRvTGVmdCk7Ci1DT01QSUxFX0FTU0VSVF9NQVRD
SElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfUERGU0lOR0xFX1BBR0VfU0NST0xM
SU5HLCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdQREZTaW5nbGVQYWdlU2Nyb2xsaW5nKTsK
LUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19Q
REZGQUNJTkdfUEFHRVNfU0NST0xMSU5HLCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdQREZG
YWNpbmdQYWdlc1Njcm9sbGluZyk7Ci0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLUNPTVBJTEVfQVNT
RVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19JTlNQRUNUX0VMRU1F
TlQsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ0luc3BlY3RFbGVtZW50KTsKLSNlbmRpZgot
Q09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1RF
WFRfRElSRUNUSU9OX01FTlUsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ1RleHREaXJlY3Rp
b25NZW51KTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9J
VEVNX1RBR19URVhUX0RJUkVDVElPTl9ERUZBVUxULCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1U
YWdUZXh0RGlyZWN0aW9uRGVmYXVsdCk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVX
S19DT05URVhUX01FTlVfSVRFTV9UQUdfVEVYVF9ESVJFQ1RJT05fTEVGVF9UT19SSUdIVCwgV2Vi
Q29yZTo6Q29udGV4dE1lbnVJdGVtVGFnVGV4dERpcmVjdGlvbkxlZnRUb1JpZ2h0KTsKLUNPTVBJ
TEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19URVhUX0RJ
UkVDVElPTl9SSUdIVF9UT19MRUZULCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdUZXh0RGly
ZWN0aW9uUmlnaHRUb0xlZnQpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09O
VEVYVF9NRU5VX0lURU1fT1BFTl9NRURJQV9JTl9ORVdfV0lORE9XLCBXZWJDb3JlOjpDb250ZXh0
TWVudUl0ZW1UYWdPcGVuTWVkaWFJbk5ld1dpbmRvdyk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElO
R19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfQ09QWV9NRURJQV9MSU5LX1RPX0NMSVBC
T0FSRCwgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnQ29weU1lZGlhTGlua1RvQ2xpcGJvYXJk
KTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RB
R19UT0dHTEVfTUVESUFfQ09OVFJPTFMsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ1RvZ2ds
ZU1lZGlhQ29udHJvbHMpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVY
VF9NRU5VX0lURU1fVEFHX1RPR0dMRV9NRURJQV9MT09QLCBXZWJDb3JlOjpDb250ZXh0TWVudUl0
ZW1UYWdUb2dnbGVNZWRpYUxvb3ApOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tf
Q09OVEVYVF9NRU5VX0lURU1fVEFHX0VOVEVSX1ZJREVPX0ZVTExTQ1JFRU4sIFdlYkNvcmU6OkNv
bnRleHRNZW51SXRlbVRhZ0VudGVyVmlkZW9GdWxsc2NyZWVuKTsKLUNPTVBJTEVfQVNTRVJUX01B
VENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19NRURJQV9QTEFZX1BBVVNFLCBX
ZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdNZWRpYVBsYXlQYXVzZSk7Ci1DT01QSUxFX0FTU0VS
VF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfTUVESUFfTVVURSwgV2Vi
Q29yZTo6Q29udGV4dE1lbnVJdGVtVGFnTWVkaWFNdXRlKTsKLUNPTVBJTEVfQVNTRVJUX01BVENI
SU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX0JBU0VfQ1VTVE9NX1RBRywgV2ViQ29yZTo6
Q29udGV4dE1lbnVJdGVtQmFzZUN1c3RvbVRhZyk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19F
TlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9DVVNUT01fVEFHX05PX0FDVElPTiwgV2ViQ29yZTo6
Q29udGV4dE1lbnVJdGVtQ3VzdG9tVGFnTm9BY3Rpb24pOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJ
TkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fTEFTVF9DVVNUT01fVEFHLCBXZWJDb3JlOjpD
b250ZXh0TWVudUl0ZW1MYXN0Q3VzdG9tVGFnKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VO
VU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX0JBU0VfQVBQTElDQVRJT05fVEFHLCBXZWJDb3JlOjpD
b250ZXh0TWVudUl0ZW1CYXNlQXBwbGljYXRpb25UYWcpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJ
TkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX05PX0FDVElPTiwga1dLQ29udGV4dE1l
bnVJdGVtVGFnTm9BY3Rpb24pOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09O
VEVYVF9NRU5VX0lURU1fVEFHX09QRU5fTElOS19JTl9ORVdfV0lORE9XLCBrV0tDb250ZXh0TWVu
dUl0ZW1UYWdPcGVuTGlua0luTmV3V2luZG93KTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VO
VU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19ET1dOTE9BRF9MSU5LX1RPX0RJU0ssIGtXS0Nv
bnRleHRNZW51SXRlbVRhZ0Rvd25sb2FkTGlua1RvRGlzayk7CitDT01QSUxFX0FTU0VSVF9NQVRD
SElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfQ09QWV9MSU5LX1RPX0NMSVBCT0FS
RCwga1dLQ29udGV4dE1lbnVJdGVtVGFnQ29weUxpbmtUb0NsaXBib2FyZCk7CitDT01QSUxFX0FT
U0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfT1BFTl9JTUFHRV9J
Tl9ORVdfV0lORE9XLCBrV0tDb250ZXh0TWVudUl0ZW1UYWdPcGVuSW1hZ2VJbk5ld1dpbmRvdyk7
CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdf
RE9XTkxPQURfSU1BR0VfVE9fRElTSywga1dLQ29udGV4dE1lbnVJdGVtVGFnRG93bmxvYWRJbWFn
ZVRvRGlzayk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVf
SVRFTV9UQUdfQ09QWV9JTUFHRV9UT19DTElQQk9BUkQsIGtXS0NvbnRleHRNZW51SXRlbVRhZ0Nv
cHlJbWFnZVRvQ2xpcGJvYXJkKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NP
TlRFWFRfTUVOVV9JVEVNX1RBR19DT1BZX0lNQUdFX1VSTF9UT19DTElQQk9BUkQsIGtXS0NvbnRl
eHRNZW51SXRlbVRhZ0NvcHlJbWFnZVVybFRvQ2xpcGJvYXJkKTsKK0NPTVBJTEVfQVNTRVJUX01B
VENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19PUEVOX0ZSQU1FX0lOX05FV19X
SU5ET1csIGtXS0NvbnRleHRNZW51SXRlbVRhZ09wZW5GcmFtZUluTmV3V2luZG93KTsKK0NPTVBJ
TEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19DT1BZLCBr
V0tDb250ZXh0TWVudUl0ZW1UYWdDb3B5KTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0o
RVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19HT19CQUNLLCBrV0tDb250ZXh0TWVudUl0ZW1UYWdH
b0JhY2spOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lU
RU1fVEFHX0dPX0ZPUldBUkQsIGtXS0NvbnRleHRNZW51SXRlbVRhZ0dvRm9yd2FyZCk7CitDT01Q
SUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfU1RPUCwg
a1dLQ29udGV4dE1lbnVJdGVtVGFnU3RvcCk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVN
KEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfUkVMT0FELCBrV0tDb250ZXh0TWVudUl0ZW1UYWdS
ZWxvYWQpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lU
RU1fVEFHX0NVVCwga1dLQ29udGV4dE1lbnVJdGVtVGFnQ3V0KTsKK0NPTVBJTEVfQVNTRVJUX01B
VENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19QQVNURSwga1dLQ29udGV4dE1l
bnVJdGVtVGFnUGFzdGUpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVY
VF9NRU5VX0lURU1fVEFHX1NFTEVDVF9BTEwsIGtXS0NvbnRleHRNZW51SXRlbVRhZ1NlbGVjdEFs
bCk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9U
QUdfU1BFTExJTkdfR1VFU1MsIGtXS0NvbnRleHRNZW51SXRlbVRhZ1NwZWxsaW5nR3Vlc3MpOwor
Q09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX05P
X0dVRVNTRVNfRk9VTkQsIGtXS0NvbnRleHRNZW51SXRlbVRhZ05vR3Vlc3Nlc0ZvdW5kKTsKK0NP
TVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19JR05P
UkVfU1BFTExJTkcsIGtXS0NvbnRleHRNZW51SXRlbVRhZ0lnbm9yZVNwZWxsaW5nKTsKK0NPTVBJ
TEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19MRUFSTl9T
UEVMTElORywga1dLQ29udGV4dE1lbnVJdGVtVGFnTGVhcm5TcGVsbGluZyk7CitDT01QSUxFX0FT
U0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfT1RIRVIsIGtXS0Nv
bnRleHRNZW51SXRlbVRhZ090aGVyKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdL
X0NPTlRFWFRfTUVOVV9JVEVNX1RBR19TRUFSQ0hfSU5fU1BPVExJR0hULCBrV0tDb250ZXh0TWVu
dUl0ZW1UYWdTZWFyY2hJblNwb3RsaWdodCk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVN
KEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfU0VBUkNIX1dFQiwga1dLQ29udGV4dE1lbnVJdGVt
VGFnU2VhcmNoV2ViKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRf
TUVOVV9JVEVNX1RBR19MT09LX1VQX0lOX0RJQ1RJT05BUlksIGtXS0NvbnRleHRNZW51SXRlbVRh
Z0xvb2tVcEluRGljdGlvbmFyeSk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19D
T05URVhUX01FTlVfSVRFTV9UQUdfT1BFTl9XSVRIX0RFRkFVTFRfQVBQTElDQVRJT04sIGtXS0Nv
bnRleHRNZW51SXRlbVRhZ09wZW5XaXRoRGVmYXVsdEFwcGxpY2F0aW9uKTsKK0NPTVBJTEVfQVNT
RVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1BERkFDVFVBTF9TSVpFLCBr
V0tDb250ZXh0TWVudUl0ZW1UYWdQREZBY3R1YWxTaXplKTsKK0NPTVBJTEVfQVNTRVJUX01BVENI
SU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1BERlpPT01fSU4sIGtXS0NvbnRleHRNZW51
SXRlbVRhZ1BERlpvb21Jbik7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05U
RVhUX01FTlVfSVRFTV9QREZaT09NX09VVCwga1dLQ29udGV4dE1lbnVJdGVtVGFnUERGWm9vbU91
dCk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9Q
REZBVVRPX1NJWkUsIGtXS0NvbnRleHRNZW51SXRlbVRhZ1BERkF1dG9TaXplKTsKK0NPTVBJTEVf
QVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1BERlNJTkdMRV9QQUdF
LCBrV0tDb250ZXh0TWVudUl0ZW1UYWdQREZTaW5nbGVQYWdlKTsKK0NPTVBJTEVfQVNTRVJUX01B
VENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1BERkZBQ0lOR19QQUdFUywga1dLQ29u
dGV4dE1lbnVJdGVtVGFnUERGRmFjaW5nUGFnZXMpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdf
RU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fUERGQ09OVElOVU9VUywga1dLQ29udGV4dE1lbnVJ
dGVtVGFnUERGQ29udGludW91cyk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19D
T05URVhUX01FTlVfSVRFTV9QREZORVhUX1BBR0UsIGtXS0NvbnRleHRNZW51SXRlbVRhZ1BERk5l
eHRQYWdlKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9J
VEVNX1BERlBSRVZJT1VTX1BBR0UsIGtXS0NvbnRleHRNZW51SXRlbVRhZ1BERlByZXZpb3VzUGFn
ZSk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9U
QUdfT1BFTl9MSU5LLCBrV0tDb250ZXh0TWVudUl0ZW1UYWdPcGVuTGluayk7CitDT01QSUxFX0FT
U0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfSUdOT1JFX0dSQU1N
QVIsIGtXS0NvbnRleHRNZW51SXRlbVRhZ0lnbm9yZUdyYW1tYXIpOworQ09NUElMRV9BU1NFUlRf
TUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1NQRUxMSU5HX01FTlUsIGtX
S0NvbnRleHRNZW51SXRlbVRhZ1NwZWxsaW5nTWVudSk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElO
R19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfU0hPV19TUEVMTElOR19QQU5FTCwga1dL
Q29udGV4dE1lbnVJdGVtVGFnU2hvd1NwZWxsaW5nUGFuZWwpOworQ09NUElMRV9BU1NFUlRfTUFU
Q0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0NIRUNLX1NQRUxMSU5HLCBrV0tD
b250ZXh0TWVudUl0ZW1UYWdDaGVja1NwZWxsaW5nKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5H
X0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19DSEVDS19TUEVMTElOR19XSElMRV9UWVBJ
TkcsIGtXS0NvbnRleHRNZW51SXRlbVRhZ0NoZWNrU3BlbGxpbmdXaGlsZVR5cGluZyk7CitDT01Q
SUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfQ0hFQ0tf
R1JBTU1BUl9XSVRIX1NQRUxMSU5HLCBrV0tDb250ZXh0TWVudUl0ZW1UYWdDaGVja0dyYW1tYXJX
aXRoU3BlbGxpbmcpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9N
RU5VX0lURU1fVEFHX0ZPTlRfTUVOVSwga1dLQ29udGV4dE1lbnVJdGVtVGFnRm9udE1lbnUpOwor
Q09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1NI
T1dfRk9OVFMsIGtXS0NvbnRleHRNZW51SXRlbVRhZ1Nob3dGb250cyk7CitDT01QSUxFX0FTU0VS
VF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfQk9MRCwga1dLQ29udGV4
dE1lbnVJdGVtVGFnQm9sZCk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05U
RVhUX01FTlVfSVRFTV9UQUdfSVRBTElDLCBrV0tDb250ZXh0TWVudUl0ZW1UYWdJdGFsaWMpOwor
Q09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1VO
REVSTElORSwga1dLQ29udGV4dE1lbnVJdGVtVGFnVW5kZXJsaW5lKTsKK0NPTVBJTEVfQVNTRVJU
X01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19PVVRMSU5FLCBrV0tDb250
ZXh0TWVudUl0ZW1UYWdPdXRsaW5lKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdL
X0NPTlRFWFRfTUVOVV9JVEVNX1RBR19TVFlMRVMsIGtXS0NvbnRleHRNZW51SXRlbVRhZ1N0eWxl
cyk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9U
QUdfU0hPV19DT0xPUlMsIGtXS0NvbnRleHRNZW51SXRlbVRhZ1Nob3dDb2xvcnMpOworQ09NUElM
RV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1NQRUVDSF9N
RU5VLCBrV0tDb250ZXh0TWVudUl0ZW1UYWdTcGVlY2hNZW51KTsKK0NPTVBJTEVfQVNTRVJUX01B
VENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19TVEFSVF9TUEVBS0lORywga1dL
Q29udGV4dE1lbnVJdGVtVGFnU3RhcnRTcGVha2luZyk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElO
R19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfU1RPUF9TUEVBS0lORywga1dLQ29udGV4
dE1lbnVJdGVtVGFnU3RvcFNwZWFraW5nKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0o
RVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19XUklUSU5HX0RJUkVDVElPTl9NRU5VLCBrV0tDb250
ZXh0TWVudUl0ZW1UYWdXcml0aW5nRGlyZWN0aW9uTWVudSk7CitDT01QSUxFX0FTU0VSVF9NQVRD
SElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfREVGQVVMVF9ESVJFQ1RJT04sIGtX
S0NvbnRleHRNZW51SXRlbVRhZ0RlZmF1bHREaXJlY3Rpb24pOworQ09NUElMRV9BU1NFUlRfTUFU
Q0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0xFRlRfVE9fUklHSFQsIGtXS0Nv
bnRleHRNZW51SXRlbVRhZ0xlZnRUb1JpZ2h0KTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VO
VU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19SSUdIVF9UT19MRUZULCBrV0tDb250ZXh0TWVu
dUl0ZW1UYWdSaWdodFRvTGVmdCk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19D
T05URVhUX01FTlVfSVRFTV9UQUdfUERGU0lOR0xFX1BBR0VfU0NST0xMSU5HLCBrV0tDb250ZXh0
TWVudUl0ZW1UYWdQREZTaW5nbGVQYWdlU2Nyb2xsaW5nKTsKK0NPTVBJTEVfQVNTRVJUX01BVENI
SU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19QREZGQUNJTkdfUEFHRVNfU0NST0xM
SU5HLCBrV0tDb250ZXh0TWVudUl0ZW1UYWdQREZGYWNpbmdQYWdlc1Njcm9sbGluZyk7CitDT01Q
SUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfSU5TUEVD
VF9FTEVNRU5ULCBrV0tDb250ZXh0TWVudUl0ZW1UYWdJbnNwZWN0RWxlbWVudCk7CitDT01QSUxF
X0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfVEVYVF9ESVJF
Q1RJT05fTUVOVSwga1dLQ29udGV4dE1lbnVJdGVtVGFnVGV4dERpcmVjdGlvbk1lbnUpOworQ09N
UElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1RFWFRf
RElSRUNUSU9OX0RFRkFVTFQsIGtXS0NvbnRleHRNZW51SXRlbVRhZ1RleHREaXJlY3Rpb25EZWZh
dWx0KTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVN
X1RBR19URVhUX0RJUkVDVElPTl9MRUZUX1RPX1JJR0hULCBrV0tDb250ZXh0TWVudUl0ZW1UYWdU
ZXh0RGlyZWN0aW9uTGVmdFRvUmlnaHQpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShF
V0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1RFWFRfRElSRUNUSU9OX1JJR0hUX1RPX0xFRlQsIGtX
S0NvbnRleHRNZW51SXRlbVRhZ1RleHREaXJlY3Rpb25SaWdodFRvTGVmdCk7CitDT01QSUxFX0FT
U0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfQ09SUkVDVF9TUEVM
TElOR19BVVRPTUFUSUNBTExZLCBrV0tDb250ZXh0TWVudUl0ZW1UYWdDb3JyZWN0U3BlbGxpbmdB
dXRvbWF0aWNhbGx5KTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRf
TUVOVV9JVEVNX1RBR19TVUJTVElUVVRJT05TX01FTlUsIGtXS0NvbnRleHRNZW51SXRlbVRhZ1N1
YnN0aXR1dGlvbnNNZW51KTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRF
WFRfTUVOVV9JVEVNX1RBR19TSE9XX1NVQlNUSVRVVElPTlMsIGtXS0NvbnRleHRNZW51SXRlbVRh
Z1Nob3dTdWJzdGl0dXRpb25zKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NP
TlRFWFRfTUVOVV9JVEVNX1RBR19TTUFSVF9DT1BZX1BBU1RFLCBrV0tDb250ZXh0TWVudUl0ZW1U
YWdTbWFydENvcHlQYXN0ZSk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05U
RVhUX01FTlVfSVRFTV9UQUdfU01BUlRfUVVPVEVTLCBrV0tDb250ZXh0TWVudUl0ZW1UYWdTbWFy
dFF1b3Rlcyk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVf
SVRFTV9UQUdfU01BUlRfREFTSEVTLCBrV0tDb250ZXh0TWVudUl0ZW1UYWdTbWFydERhc2hlcyk7
CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdf
U01BUlRfTElOS1MsIGtXS0NvbnRleHRNZW51SXRlbVRhZ1NtYXJ0TGlua3MpOworQ09NUElMRV9B
U1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1RFWFRfUkVQTEFD
RU1FTlQsIGtXS0NvbnRleHRNZW51SXRlbVRhZ1RleHRSZXBsYWNlbWVudCk7CitDT01QSUxFX0FT
U0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfVFJBTlNGT1JNQVRJ
T05TX01FTlUsIGtXS0NvbnRleHRNZW51SXRlbVRhZ1RyYW5zZm9ybWF0aW9uc01lbnUpOworQ09N
UElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX01BS0Vf
VVBQRVJfQ0FTRSwga1dLQ29udGV4dE1lbnVJdGVtVGFnTWFrZVVwcGVyQ2FzZSk7CitDT01QSUxF
X0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfTUFLRV9MT1dF
Ul9DQVNFLCBrV0tDb250ZXh0TWVudUl0ZW1UYWdNYWtlTG93ZXJDYXNlKTsKK0NPTVBJTEVfQVNT
RVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19DQVBJVEFMSVpFLCBr
V0tDb250ZXh0TWVudUl0ZW1UYWdDYXBpdGFsaXplKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5H
X0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19DSEFOR0VfQkFDSywga1dLQ29udGV4dE1l
bnVJdGVtVGFnQ2hhbmdlQmFjayk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19D
T05URVhUX01FTlVfSVRFTV9PUEVOX01FRElBX0lOX05FV19XSU5ET1csIGtXS0NvbnRleHRNZW51
SXRlbVRhZ09wZW5NZWRpYUluTmV3V2luZG93KTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VO
VU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19DT1BZX01FRElBX0xJTktfVE9fQ0xJUEJPQVJE
LCBrV0tDb250ZXh0TWVudUl0ZW1UYWdDb3B5TWVkaWFMaW5rVG9DbGlwYm9hcmQpOworQ09NUElM
RV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1RPR0dMRV9N
RURJQV9DT05UUk9MUywga1dLQ29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlTWVkaWFDb250cm9scyk7
CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdf
VE9HR0xFX01FRElBX0xPT1AsIGtXS0NvbnRleHRNZW51SXRlbVRhZ1RvZ2dsZU1lZGlhTG9vcCk7
CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdf
RU5URVJfVklERU9fRlVMTFNDUkVFTiwga1dLQ29udGV4dE1lbnVJdGVtVGFnRW50ZXJWaWRlb0Z1
bGxzY3JlZW4pOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5V
X0lURU1fVEFHX01FRElBX1BMQVlfUEFVU0UsIGtXS0NvbnRleHRNZW51SXRlbVRhZ01lZGlhUGxh
eVBhdXNlKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9J
VEVNX1RBR19NRURJQV9NVVRFLCBrV0tDb250ZXh0TWVudUl0ZW1UYWdNZWRpYU11dGUpOworQ09N
UElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fQkFTRV9BUFBM
SUNBVElPTl9UQUcsIGtXS0NvbnRleHRNZW51SXRlbUJhc2VBcHBsaWNhdGlvblRhZyk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dF9tZW51
X2l0ZW0uaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0X21l
bnVfaXRlbS5oCmluZGV4IDk2MTJhMjEuLmEyOGY2OGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0X21lbnVfaXRlbS5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0X21lbnVfaXRlbS5oCkBAIC02
Myw3ICs2Myw2IEBAIHR5cGVkZWYgZW51bSB7CiAgICAgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RB
R19PUEVOX0lNQUdFX0lOX05FV19XSU5ET1csCiAgICAgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RB
R19ET1dOTE9BRF9JTUFHRV9UT19ESVNLLAogICAgIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdf
Q09QWV9JTUFHRV9UT19DTElQQk9BUkQsCi0gICAgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19D
T1BZX0lNQUdFX1VSTF9UT19DTElQQk9BUkQsCiAgICAgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RB
R19PUEVOX0ZSQU1FX0lOX05FV19XSU5ET1csCiAgICAgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RB
R19DT1BZLAogICAgIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfR09fQkFDSywKQEAgLTcyLDcg
KzcxLDYgQEAgdHlwZWRlZiBlbnVtIHsKICAgICBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1JF
TE9BRCwKICAgICBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0NVVCwKICAgICBFV0tfQ09OVEVY
VF9NRU5VX0lURU1fVEFHX1BBU1RFLAotICAgIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfU0VM
RUNUX0FMTCwKICAgICBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1NQRUxMSU5HX0dVRVNTLAog
ICAgIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfTk9fR1VFU1NFU19GT1VORCwKICAgICBFV0tf
Q09OVEVYVF9NRU5VX0lURU1fVEFHX0lHTk9SRV9TUEVMTElORywKQEAgLTkxLDcgKzg5LDcgQEAg
dHlwZWRlZiBlbnVtIHsKICAgICBFV0tfQ09OVEVYVF9NRU5VX0lURU1fUERGQ09OVElOVU9VUywK
ICAgICBFV0tfQ09OVEVYVF9NRU5VX0lURU1fUERGTkVYVF9QQUdFLAogICAgIEVXS19DT05URVhU
X01FTlVfSVRFTV9QREZQUkVWSU9VU19QQUdFLAotICAgIEVXS19DT05URVhUX01FTlVfSVRFTV9U
QUdfT1BFTl9MSU5LID0gMjAwMCwKKyAgICBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX09QRU5f
TElOSywKICAgICBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0lHTk9SRV9HUkFNTUFSLAogICAg
IEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfU1BFTExJTkdfTUVOVSwgLyoqPCBzcGVsbGluZyBv
ciBzcGVsbGluZy9ncmFtbWFyIHN1Yi1tZW51ICovCiAgICAgRVdLX0NPTlRFWFRfTUVOVV9JVEVN
X1RBR19TSE9XX1NQRUxMSU5HX1BBTkVMLApAQCAtMTIwLDYgKzExOCwxOSBAQCB0eXBlZGVmIGVu
dW0gewogICAgIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfVEVYVF9ESVJFQ1RJT05fREVGQVVM
VCwKICAgICBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1RFWFRfRElSRUNUSU9OX0xFRlRfVE9f
UklHSFQsCiAgICAgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19URVhUX0RJUkVDVElPTl9SSUdI
VF9UT19MRUZULAorICAgIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfQ09SUkVDVF9TUEVMTElO
R19BVVRPTUFUSUNBTExZLAorICAgIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfU1VCU1RJVFVU
SU9OU19NRU5VLAorICAgIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfU0hPV19TVUJTVElUVVRJ
T05TLAorICAgIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfU01BUlRfQ09QWV9QQVNURSwKKyAg
ICBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1NNQVJUX1FVT1RFUywKKyAgICBFV0tfQ09OVEVY
VF9NRU5VX0lURU1fVEFHX1NNQVJUX0RBU0hFUywKKyAgICBFV0tfQ09OVEVYVF9NRU5VX0lURU1f
VEFHX1NNQVJUX0xJTktTLAorICAgIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfVEVYVF9SRVBM
QUNFTUVOVCwKKyAgICBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1RSQU5TRk9STUFUSU9OU19N
RU5VLAorICAgIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfTUFLRV9VUFBFUl9DQVNFLAorICAg
IEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfTUFLRV9MT1dFUl9DQVNFLAorICAgIEVXS19DT05U
RVhUX01FTlVfSVRFTV9UQUdfQ0FQSVRBTElaRSwKKyAgICBFV0tfQ09OVEVYVF9NRU5VX0lURU1f
VEFHX0NIQU5HRV9CQUNLLAogICAgIEVXS19DT05URVhUX01FTlVfSVRFTV9PUEVOX01FRElBX0lO
X05FV19XSU5ET1csCiAgICAgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19DT1BZX01FRElBX0xJ
TktfVE9fQ0xJUEJPQVJELAogICAgIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfVE9HR0xFX01F
RElBX0NPTlRST0xTLApAQCAtMTI3LDkgKzEzOCw5IEBAIHR5cGVkZWYgZW51bSB7CiAgICAgRVdL
X0NPTlRFWFRfTUVOVV9JVEVNX1RBR19FTlRFUl9WSURFT19GVUxMU0NSRUVOLAogICAgIEVXS19D
T05URVhUX01FTlVfSVRFTV9UQUdfTUVESUFfUExBWV9QQVVTRSwKICAgICBFV0tfQ09OVEVYVF9N
RU5VX0lURU1fVEFHX01FRElBX01VVEUsCi0gICAgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX0JBU0Vf
Q1VTVE9NX1RBRyA9IDUwMDAsCi0gICAgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX0NVU1RPTV9UQUdf
Tk9fQUNUSU9OID0gNTk5OCwKLSAgICBFV0tfQ09OVEVYVF9NRU5VX0lURU1fTEFTVF9DVVNUT01f
VEFHID0gNTk5OSwKKyAgICBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0RJQ1RBVElPTl9BTFRF
Uk5BVElWRSwKKyAgICBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0NPUFlfSU1BR0VfVVJMX1RP
X0NMSVBCT0FSRCwKKyAgICBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1NFTEVDVF9BTEwsCiAg
ICAgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX0JBU0VfQVBQTElDQVRJT05fVEFHID0gMTAwMDAKIH0g
RXdrX0NvbnRleHRfTWVudV9JdGVtX0FjdGlvbjsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHRfbWVudV9pdGVtX3ByaXZhdGUuaCBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0X21lbnVfaXRlbV9wcml2
YXRlLmgKaW5kZXggNjJmMjc5MC4uOWY3NzgzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHRfbWVudV9pdGVtX3ByaXZhdGUuaAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dF9tZW51X2l0ZW1fcHJp
dmF0ZS5oCkBAIC0yNiw4ICsyNiw4IEBACiAjaWZuZGVmIGV3a19jb250ZXh0X21lbnVfaXRlbV9w
cml2YXRlX2gKICNkZWZpbmUgZXdrX2NvbnRleHRfbWVudV9pdGVtX3ByaXZhdGVfaAogCisjaW5j
bHVkZSAiV0tDb250ZXh0TWVudUl0ZW0uaCIKICNpbmNsdWRlICJXS0VpbmFTaGFyZWRTdHJpbmcu
aCIKLSNpbmNsdWRlICJXZWJDb250ZXh0TWVudUl0ZW1EYXRhLmgiCiAjaW5jbHVkZSAiZXdrX2Nv
bnRleHRfbWVudS5oIgogI2luY2x1ZGUgImV3a19jb250ZXh0X21lbnVfaXRlbS5oIgogI2luY2x1
ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CkBAIC0zOCw3ICszOCw3IEBACiAgKi8KIGNsYXNzIEV3a0Nv
bnRleHRNZW51SXRlbSB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NPd25QdHI8RXdrQ29udGV4
dE1lbnVJdGVtPiBjcmVhdGUoY29uc3QgV2ViS2l0OjpXZWJDb250ZXh0TWVudUl0ZW1EYXRhJiBp
dGVtKQorICAgIHN0YXRpYyBQYXNzT3duUHRyPEV3a0NvbnRleHRNZW51SXRlbT4gY3JlYXRlKFdL
Q29udGV4dE1lbnVJdGVtUmVmIGl0ZW0pCiAgICAgewogICAgICAgICByZXR1cm4gYWRvcHRQdHIo
bmV3IEV3a0NvbnRleHRNZW51SXRlbShpdGVtKSk7CiAgICAgfQpAQCAtNjQsNyArNjQsNyBAQCBw
dWJsaWM6CiAgICAgdm9pZCBzZXRFbmFibGVkKGJvb2wgZW5hYmxlZCkgeyBtX2lzRW5hYmxlZCA9
IGVuYWJsZWQ7IH0KIAogcHJpdmF0ZToKLSAgICBleHBsaWNpdCBFd2tDb250ZXh0TWVudUl0ZW0o
Y29uc3QgV2ViS2l0OjpXZWJDb250ZXh0TWVudUl0ZW1EYXRhJik7CisgICAgZXhwbGljaXQgRXdr
Q29udGV4dE1lbnVJdGVtKFdLQ29udGV4dE1lbnVJdGVtUmVmKTsKICAgICBFd2tDb250ZXh0TWVu
dUl0ZW0oRXdrX0NvbnRleHRfTWVudV9JdGVtX1R5cGUgdHlwZSwgRXdrX0NvbnRleHRfTWVudV9J
dGVtX0FjdGlvbiBhY3Rpb24sIGNvbnN0IGNoYXIqIHRpdGxlLCBFaW5hX0Jvb2wgY2hlY2tlZCwg
RWluYV9Cb29sIGVuYWJsZWQsIEV3a0NvbnRleHRNZW51KiBzdWJNZW51KTsKIAogICAgIEV3a19D
b250ZXh0X01lbnVfSXRlbV9UeXBlIG1fdHlwZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0X21lbnVfcHJpdmF0ZS5oIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHRfbWVudV9wcml2YXRlLmgKaW5kZXgg
YjllMTEzZC4uYTZjZWEyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9lZmwvZXdrX2NvbnRleHRfbWVudV9wcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHRfbWVudV9wcml2YXRlLmgKQEAgLTI2LDI0ICsyNiwx
NyBAQAogI2lmbmRlZiBld2tfY29udGV4dF9tZW51X3ByaXZhdGVfaAogI2RlZmluZSBld2tfY29u
dGV4dF9tZW51X3ByaXZhdGVfaAogCi0jaW5jbHVkZSAiV2ViQ29udGV4dE1lbnVJdGVtRGF0YS5o
IgogI2luY2x1ZGUgImV3a19jb250ZXh0X21lbnVfaXRlbS5oIgogI2luY2x1ZGUgPEVpbmEuaD4K
ICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgotI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KLQot
bmFtZXNwYWNlIFdlYktpdCB7Ci1jbGFzcyBXZWJDb250ZXh0TWVudUl0ZW1EYXRhOwotY2xhc3Mg
V2ViQ29udGV4dE1lbnVQcm94eUVmbDsKLX0KIAogY2xhc3MgRXdrVmlldzsKIAogY2xhc3MgRXdr
Q29udGV4dE1lbnUgewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzT3duUHRyPEV3a0NvbnRleHRN
ZW51PiBjcmVhdGUoRXdrVmlldyogdmlld0ltcGwsIFdlYktpdDo6V2ViQ29udGV4dE1lbnVQcm94
eUVmbCogY29udGV4dE1lbnVQcm94eSwgY29uc3QgVmVjdG9yPFdlYktpdDo6V2ViQ29udGV4dE1l
bnVJdGVtRGF0YT4mIGl0ZW1zKQorICAgIHN0YXRpYyBQYXNzT3duUHRyPEV3a0NvbnRleHRNZW51
PiBjcmVhdGUoRXdrVmlldyogdmlld0ltcGwsIFdLQXJyYXlSZWYgaXRlbXMpCiAgICAgewotICAg
ICAgICByZXR1cm4gYWRvcHRQdHIobmV3IEV3a0NvbnRleHRNZW51KHZpZXdJbXBsLCBjb250ZXh0
TWVudVByb3h5LCBpdGVtcykpOworICAgICAgICByZXR1cm4gYWRvcHRQdHIobmV3IEV3a0NvbnRl
eHRNZW51KHZpZXdJbXBsLCBpdGVtcykpOwogICAgIH0KIAogICAgIHN0YXRpYyBQYXNzT3duUHRy
PEV3a0NvbnRleHRNZW51PiBjcmVhdGUoKQpAQCAtNjMsMTUgKzU2LDE0IEBAIHB1YmxpYzoKICAg
ICB2b2lkIHJlbW92ZUl0ZW0oRXdrQ29udGV4dE1lbnVJdGVtKik7CiAKICAgICBjb25zdCBFaW5h
X0xpc3QqIGl0ZW1zKCkgY29uc3QgeyByZXR1cm4gbV9jb250ZXh0TWVudUl0ZW1zOyB9Ci0gICAg
dm9pZCBjb250ZXh0TWVudUl0ZW1TZWxlY3RlZChjb25zdCBXZWJLaXQ6OldlYkNvbnRleHRNZW51
SXRlbURhdGEmIGl0ZW0pOworICAgIHZvaWQgY29udGV4dE1lbnVJdGVtU2VsZWN0ZWQoV0tDb250
ZXh0TWVudUl0ZW1SZWYgaXRlbSk7CiAKIHByaXZhdGU6CiAgICAgRXdrQ29udGV4dE1lbnUoKTsK
ICAgICBFd2tDb250ZXh0TWVudShFaW5hX0xpc3QqIGl0ZW1zKTsKLSAgICBFd2tDb250ZXh0TWVu
dShFd2tWaWV3KiB2aWV3SW1wbCwgV2ViS2l0OjpXZWJDb250ZXh0TWVudVByb3h5RWZsKiwgY29u
c3QgVmVjdG9yPFdlYktpdDo6V2ViQ29udGV4dE1lbnVJdGVtRGF0YT4mIGl0ZW1zKTsKKyAgICBF
d2tDb250ZXh0TWVudShFd2tWaWV3KiB2aWV3SW1wbCwgV0tBcnJheVJlZiBpdGVtcyk7CiAKICAg
ICBFd2tWaWV3KiBtX3ZpZXdJbXBsOwotICAgIFdlYktpdDo6V2ViQ29udGV4dE1lbnVQcm94eUVm
bCogbV9jb250ZXh0TWVudVByb3h5OwogICAgIEVpbmFfTGlzdCogbV9jb250ZXh0TWVudUl0ZW1z
OwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2Vi
S2l0Q29udGV4dE1lbnVDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9n
dGsvV2ViS2l0Q29udGV4dE1lbnVDbGllbnQuY3BwCmluZGV4IDQyZjkwYjguLmY1MGM1MmEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdENvbnRleHRN
ZW51Q2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJL
aXRDb250ZXh0TWVudUNsaWVudC5jcHAKQEAgLTQwLDYgKzQwLDggQEAgdm9pZCBhdHRhY2hDb250
ZXh0TWVudUNsaWVudFRvVmlldyhXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3KQogICAgICAgICAwLCAv
LyBjdXN0b21Db250ZXh0TWVudUl0ZW1TZWxlY3RlZAogICAgICAgICAwLCAvLyBjb250ZXh0TWVu
dURpc21pc3NlZAogICAgICAgICBnZXRDb250ZXh0TWVudUZyb21Qcm9wb3NlZE1lbnUsCisgICAg
ICAgIDAsIC8vIHNob3dDb250ZXh0TWVudQorICAgICAgICAwLCAvLyBoaWRlQ29udGV4dE1lbnUK
ICAgICB9OwogICAgIFdLUGFnZVJlZiB3a1BhZ2UgPSB0b0FQSSh3ZWJraXRXZWJWaWV3QmFzZUdl
dFBhZ2UoV0VCS0lUX1dFQl9WSUVXX0JBU0Uod2ViVmlldykpKTsKICAgICBXS1BhZ2VTZXRQYWdl
Q29udGV4dE1lbnVDbGllbnQod2tQYWdlLCAmd2tDb250ZXh0TWVudUNsaWVudCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGFnZUNsaWVudC5oIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaAppbmRleCBkMDhjYzkxLi44MmFjNTYyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgKQEAgLTE4MCw3ICsxODAsOSBAQCBwdWJsaWM6
CiAjZW5kaWYKIAogICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxXZWJQb3B1cE1lbnVQcm94eT4gY3Jl
YXRlUG9wdXBNZW51UHJveHkoV2ViUGFnZVByb3h5KikgPSAwOworI2lmICFQTEFURk9STShFRkwp
CiAgICAgdmlydHVhbCBQYXNzUmVmUHRyPFdlYkNvbnRleHRNZW51UHJveHk+IGNyZWF0ZUNvbnRl
eHRNZW51UHJveHkoV2ViUGFnZVByb3h5KikgPSAwOworI2VuZGlmCiAKICNpZiBFTkFCTEUoSU5Q
VVRfVFlQRV9DT0xPUikKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8V2ViQ29sb3JDaG9vc2VyUHJv
eHk+IGNyZWF0ZUNvbG9yQ2hvb3NlclByb3h5KFdlYlBhZ2VQcm94eSosIGNvbnN0IFdlYkNvcmU6
OkNvbG9yJiBpbml0aWFsQ29sb3IsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmKSA9IDA7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZUNvbnRleHRNZW51Q2xpZW50
LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlQ29udGV4dE1lbnVDbGllbnQu
Y3BwCmluZGV4IDhhMTFlYmIuLmViMzZlZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJQYWdlQ29udGV4dE1lbnVDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJQYWdlQ29udGV4dE1lbnVDbGllbnQuY3BwCkBAIC05Myw1ICs5MywyOSBA
QCB2b2lkIFdlYlBhZ2VDb250ZXh0TWVudUNsaWVudDo6Y29udGV4dE1lbnVEaXNtaXNzZWQoV2Vi
UGFnZVByb3h5KiBwYWdlKQogICAgIG1fY2xpZW50LmNvbnRleHRNZW51RGlzbWlzc2VkKHRvQVBJ
KHBhZ2UpLCBtX2NsaWVudC5jbGllbnRJbmZvKTsKIH0KIAordm9pZCBXZWJQYWdlQ29udGV4dE1l
bnVDbGllbnQ6OnNob3dDb250ZXh0TWVudShXZWJQYWdlUHJveHkqIHBhZ2UsIGNvbnN0IFdlYkNv
cmU6OkludFBvaW50JiBtZW51TG9jYXRpb24sIGNvbnN0IFZlY3RvcjxXZWJDb250ZXh0TWVudUl0
ZW1EYXRhPiYgbWVudUl0ZW1zVmVjdG9yKQoreworICAgIGlmICghbV9jbGllbnQuc2hvd0NvbnRl
eHRNZW51KQorICAgICAgICByZXR1cm47CisKKyAgICB1bnNpZ25lZCBzaXplID0gbWVudUl0ZW1z
VmVjdG9yLnNpemUoKTsKKworICAgIFZlY3RvcjxSZWZQdHI8QVBJT2JqZWN0PiA+IG1lbnVJdGVt
czsKKyAgICBtZW51SXRlbXMucmVzZXJ2ZUNhcGFjaXR5KHNpemUpOworCisgICAgZm9yICh1bnNp
Z25lZCBpID0gMDsgaSA8IHNpemU7ICsraSkKKyAgICAgICAgbWVudUl0ZW1zLmFwcGVuZChXZWJD
b250ZXh0TWVudUl0ZW06OmNyZWF0ZShtZW51SXRlbXNWZWN0b3JbaV0pLmdldCgpKTsKKworICAg
IG1fY2xpZW50LnNob3dDb250ZXh0TWVudSh0b0FQSShwYWdlKSwgdG9BUEkobWVudUxvY2F0aW9u
KSwgdG9BUEkoSW1tdXRhYmxlQXJyYXk6OmFkb3B0KG1lbnVJdGVtcykuZ2V0KCkpLCBtX2NsaWVu
dC5jbGllbnRJbmZvKTsKK30KKwordm9pZCBXZWJQYWdlQ29udGV4dE1lbnVDbGllbnQ6OmhpZGVD
b250ZXh0TWVudShXZWJQYWdlUHJveHkqIHBhZ2UpCit7CisgICAgaWYgKCFtX2NsaWVudC5oaWRl
Q29udGV4dE1lbnUpCisgICAgICAgIHJldHVybjsKKworICAgIG1fY2xpZW50LmhpZGVDb250ZXh0
TWVudSh0b0FQSShwYWdlKSwgbV9jbGllbnQuY2xpZW50SW5mbyk7Cit9CisKIH0gLy8gbmFtZXNw
YWNlIFdlYktpdAogI2VuZGlmIC8vIEVOQUJMRShDT05URVhUX01FTlVTKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VDb250ZXh0TWVudUNsaWVudC5oIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VDb250ZXh0TWVudUNsaWVudC5oCmluZGV4IGRm
ZjkwMTkuLmZjYWJkYmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQ
YWdlQ29udGV4dE1lbnVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
UGFnZUNvbnRleHRNZW51Q2xpZW50LmgKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNsdWRlICJBUElD
bGllbnQuaCIKICNpbmNsdWRlICJXZWJIaXRUZXN0UmVzdWx0LmgiCiAjaW5jbHVkZSAiV0tQYWdl
LmgiCisjaW5jbHVkZSA8V2ViQ29yZS9JbnRQb2ludC5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3Iu
aD4KIAogbmFtZXNwYWNlIFdlYktpdCB7CkBAIC00Myw3ICs0NCwxMCBAQCBjbGFzcyBXZWJQYWdl
Q29udGV4dE1lbnVDbGllbnQgOiBwdWJsaWMgQVBJQ2xpZW50PFdLUGFnZUNvbnRleHRNZW51Q2xp
ZW50LCBrV0tQYQogcHVibGljOgogICAgIGJvb2wgZ2V0Q29udGV4dE1lbnVGcm9tUHJvcG9zZWRN
ZW51KFdlYlBhZ2VQcm94eSosIGNvbnN0IFZlY3RvcjxXZWJDb250ZXh0TWVudUl0ZW1EYXRhPiYg
cHJvcG9zZWRNZW51LCBWZWN0b3I8V2ViQ29udGV4dE1lbnVJdGVtRGF0YT4mIGN1c3RvbU1lbnUs
IGNvbnN0IFdlYkhpdFRlc3RSZXN1bHQ6OkRhdGEmLCBBUElPYmplY3QqIHVzZXJEYXRhKTsKICAg
ICB2b2lkIGN1c3RvbUNvbnRleHRNZW51SXRlbVNlbGVjdGVkKFdlYlBhZ2VQcm94eSosIGNvbnN0
IFdlYkNvbnRleHRNZW51SXRlbURhdGEmKTsKKyAgICB2b2lkIGNvbnRleHRNZW51SXRlbVNlbGVj
dGVkKFdlYlBhZ2VQcm94eSosIGNvbnN0IFdlYkNvbnRleHRNZW51SXRlbURhdGEmKTsKICAgICB2
b2lkIGNvbnRleHRNZW51RGlzbWlzc2VkKFdlYlBhZ2VQcm94eSopOworICAgIHZvaWQgc2hvd0Nv
bnRleHRNZW51KFdlYlBhZ2VQcm94eSosIGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiwgY29uc3Qg
VmVjdG9yPFdlYkNvbnRleHRNZW51SXRlbURhdGE+Jik7CisgICAgdm9pZCBoaWRlQ29udGV4dE1l
bnUoV2ViUGFnZVByb3h5Kik7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggMmMzZWMwZi4uMmIyZjg0ZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTMwNjgsNiAr
MzA2OCw5IEBAIHZvaWQgV2ViUGFnZVByb3h5OjppbnRlcm5hbFNob3dDb250ZXh0TWVudShjb25z
dCBJbnRQb2ludCYgbWVudUxvY2F0aW9uLCBjb25zdCBXCiAKICAgICBtX2FjdGl2ZUNvbnRleHRN
ZW51SGl0VGVzdFJlc3VsdERhdGEgPSBoaXRUZXN0UmVzdWx0RGF0YTsKIAorI2lmIFBMQVRGT1JN
KEVGTCkKKyAgICBtX2NvbnRleHRNZW51Q2xpZW50LmhpZGVDb250ZXh0TWVudSh0aGlzKTsKKyNl
bHNlCiAgICAgaWYgKG1fYWN0aXZlQ29udGV4dE1lbnUpIHsKICAgICAgICAgbV9hY3RpdmVDb250
ZXh0TWVudS0+aGlkZUNvbnRleHRNZW51KCk7CiAgICAgICAgIG1fYWN0aXZlQ29udGV4dE1lbnUg
PSAwOwpAQCAtMzA3NiwxNiArMzA3OSwyMSBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6aW50ZXJuYWxT
aG93Q29udGV4dE1lbnUoY29uc3QgSW50UG9pbnQmIG1lbnVMb2NhdGlvbiwgY29uc3QgVwogICAg
IG1fYWN0aXZlQ29udGV4dE1lbnUgPSBtX3BhZ2VDbGllbnQtPmNyZWF0ZUNvbnRleHRNZW51UHJv
eHkodGhpcyk7CiAgICAgaWYgKCFtX2FjdGl2ZUNvbnRleHRNZW51KQogICAgICAgICByZXR1cm47
CisjZW5kaWYKIAogICAgIC8vIFNpbmNlIHNob3dDb250ZXh0TWVudSgpIGNhbiBzcGluIGEgbmVz
dGVkIHJ1biBsb29wIHdlIG5lZWQgdG8gdHVybiBvZmYgdGhlIHJlc3BvbnNpdmVuZXNzIHRpbWVy
LgogICAgIG1fcHJvY2Vzcy0+cmVzcG9uc2l2ZW5lc3NUaW1lcigpLT5zdG9wKCk7CiAKKyNpZiBQ
TEFURk9STShFRkwpCisgICAgbV9jb250ZXh0TWVudUNsaWVudC5zaG93Q29udGV4dE1lbnUodGhp
cywgbWVudUxvY2F0aW9uLCBwcm9wb3NlZEl0ZW1zKTsKKyNlbHNlCiAgICAgLy8gR2l2ZSB0aGUg
UGFnZUNvbnRleHRNZW51Q2xpZW50IG9uZSBsYXN0IHN3aXBlIGF0IGNoYW5naW5nIHRoZSBtZW51
LgogICAgIFZlY3RvcjxXZWJDb250ZXh0TWVudUl0ZW1EYXRhPiBpdGVtczsKICAgICBpZiAoIW1f
Y29udGV4dE1lbnVDbGllbnQuZ2V0Q29udGV4dE1lbnVGcm9tUHJvcG9zZWRNZW51KHRoaXMsIHBy
b3Bvc2VkSXRlbXMsIGl0ZW1zLCBoaXRUZXN0UmVzdWx0RGF0YSwgdXNlckRhdGEuZ2V0KCkpKQog
ICAgICAgICBtX2FjdGl2ZUNvbnRleHRNZW51LT5zaG93Q29udGV4dE1lbnUobWVudUxvY2F0aW9u
LCBwcm9wb3NlZEl0ZW1zKTsKICAgICBlbHNlCiAgICAgICAgIG1fYWN0aXZlQ29udGV4dE1lbnUt
PnNob3dDb250ZXh0TWVudShtZW51TG9jYXRpb24sIGl0ZW1zKTsKKyNlbmRpZgogICAgIAogICAg
IG1fY29udGV4dE1lbnVDbGllbnQuY29udGV4dE1lbnVEaXNtaXNzZWQodGhpcyk7CiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggNGE2ZTJjNC4uMDMwOWIyNSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtMTA4NSw3ICsxMDg1
LDkgQEAgcHJpdmF0ZToKICNlbmRpZgogCiAgICAgUmVmUHRyPFdlYlBvcHVwTWVudVByb3h5PiBt
X2FjdGl2ZVBvcHVwTWVudTsKKyNpZiAhUExBVEZPUk0oRUZMKQogICAgIFJlZlB0cjxXZWJDb250
ZXh0TWVudVByb3h5PiBtX2FjdGl2ZUNvbnRleHRNZW51OworI2VuZGlmCiAgICAgV2ViSGl0VGVz
dFJlc3VsdDo6RGF0YSBtX2FjdGl2ZUNvbnRleHRNZW51SGl0VGVzdFJlc3VsdERhdGE7CiAgICAg
UmVmUHRyPFdlYk9wZW5QYW5lbFJlc3VsdExpc3RlbmVyUHJveHk+IG1fb3BlblBhbmVsUmVzdWx0
TGlzdGVuZXI7CiAgICAgR2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eSBt
X2dlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL2VmbC9Db250ZXh0TWVudUNsaWVudEVmbC5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvZWZsL0NvbnRleHRNZW51Q2xpZW50RWZsLmNwcAppbmRleCA5MTIz
ZDI4Li5hMzk1YzA1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL0Nv
bnRleHRNZW51Q2xpZW50RWZsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZs
L0NvbnRleHRNZW51Q2xpZW50RWZsLmNwcApAQCAtMjcsMTEgKzI3LDggQEAKICNpbmNsdWRlICJD
b250ZXh0TWVudUNsaWVudEVmbC5oIgogCiAjaW5jbHVkZSAiRXdrVmlldy5oIgotI2luY2x1ZGUg
Ik5vdEltcGxlbWVudGVkLmgiCiAjaW5jbHVkZSAiV0tBcnJheS5oIgogI2luY2x1ZGUgIldLUGFn
ZS5oIgotI2luY2x1ZGUgIldlYkNvbnRleHRNZW51SXRlbS5oIiAgIAotI2luY2x1ZGUgPEV2YXMu
aD4KIAogdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKIApAQCAtNDAsNiArMzcsMTYgQEAgc3RhdGlj
IGlubGluZSBDb250ZXh0TWVudUNsaWVudEVmbCogdG9Db250ZXh0Q2xpZW50RWZsKGNvbnN0IHZv
aWQqIGNsaWVudEluZm8pCiAgICAgcmV0dXJuIHN0YXRpY19jYXN0PENvbnRleHRNZW51Q2xpZW50
RWZsKj4oY29uc3RfY2FzdDx2b2lkKj4oY2xpZW50SW5mbykpOwogfQogCitzdGF0aWMgdm9pZCBz
aG93Q29udGV4dE1lbnUoV0tQYWdlUmVmLCBXS1BvaW50IG1lbnVMb2NhdGlvbiwgV0tBcnJheVJl
ZiBtZW51SXRlbXMsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pCit7CisgICAgdG9Db250ZXh0Q2xp
ZW50RWZsKGNsaWVudEluZm8pLT52aWV3KCktPnNob3dDb250ZXh0TWVudShtZW51TG9jYXRpb24s
IG1lbnVJdGVtcyk7Cit9CisKK3N0YXRpYyB2b2lkIGhpZGVDb250ZXh0TWVudShXS1BhZ2VSZWYs
IGNvbnN0IHZvaWQqIGNsaWVudEluZm8pCit7CisgICAgdG9Db250ZXh0Q2xpZW50RWZsKGNsaWVu
dEluZm8pLT52aWV3KCktPmhpZGVDb250ZXh0TWVudSgpOworfQorCiBDb250ZXh0TWVudUNsaWVu
dEVmbDo6Q29udGV4dE1lbnVDbGllbnRFZmwoRXdrVmlldyogdmlldykKICAgICA6IG1fdmlldyh2
aWV3KQogewpAQCAtNTQsMTEgKzYxLDggQEAgQ29udGV4dE1lbnVDbGllbnRFZmw6OkNvbnRleHRN
ZW51Q2xpZW50RWZsKEV3a1ZpZXcqIHZpZXcpCiAgICAgY29udGV4dE1lbnVDbGllbnQuY3VzdG9t
Q29udGV4dE1lbnVJdGVtU2VsZWN0ZWQgPSAwOwogICAgIGNvbnRleHRNZW51Q2xpZW50LmNvbnRl
eHRNZW51RGlzbWlzc2VkID0gMDsKICAgICBjb250ZXh0TWVudUNsaWVudC5nZXRDb250ZXh0TWVu
dUZyb21Qcm9wb3NlZE1lbnUgPSAwOworICAgIGNvbnRleHRNZW51Q2xpZW50LnNob3dDb250ZXh0
TWVudSA9IHNob3dDb250ZXh0TWVudTsKKyAgICBjb250ZXh0TWVudUNsaWVudC5oaWRlQ29udGV4
dE1lbnUgPSBoaWRlQ29udGV4dE1lbnU7CiAKICAgICBXS1BhZ2VTZXRQYWdlQ29udGV4dE1lbnVD
bGllbnQocGFnZVJlZiwgJmNvbnRleHRNZW51Q2xpZW50KTsKIH0KLQotdm9pZCBDb250ZXh0TWVu
dUNsaWVudEVmbDo6Z2V0Q29udGV4dE1lbnVGcm9tUHJvcG9zZWRNZW51KFdLUGFnZVJlZiwgV0tB
cnJheVJlZiwgV0tBcnJheVJlZiosIFdLSGl0VGVzdFJlc3VsdFJlZiwgV0tUeXBlUmVmLCBjb25z
dCB2b2lkKikKLXsKLSAgICBub3RJbXBsZW1lbnRlZCgpOwotfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL2VmbC9Db250ZXh0TWVudUNsaWVudEVmbC5oIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL2VmbC9Db250ZXh0TWVudUNsaWVudEVmbC5oCmluZGV4IGIyMTJlOWUu
LmYwMzZiM2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvQ29udGV4
dE1lbnVDbGllbnRFZmwuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL0NvbnRl
eHRNZW51Q2xpZW50RWZsLmgKQEAgLTI2LDEyICsyNiw3IEBACiAjaWZuZGVmIENvbnRleHRNZW51
Q2xpZW50RWZsX2gKICNkZWZpbmUgQ29udGV4dE1lbnVDbGllbnRFZmxfaAogCi0jaW5jbHVkZSAi
V0tSZXRhaW5QdHIuaCIKLSNpbmNsdWRlICJld2tfY29udGV4dC5oIgotI2luY2x1ZGUgPFdlYktp
dDIvV0tCYXNlLmg+Ci0jaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvUGFz
c093blB0ci5oPgotI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiBjbGFzcyBFd2tW
aWV3OwogCkBAIC00NCw3ICszOSw3IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIGFkb3B0UHRy
KG5ldyBDb250ZXh0TWVudUNsaWVudEVmbCh2aWV3SW1wbCkpOwogICAgIH0KIAotICAgIHN0YXRp
YyB2b2lkIGdldENvbnRleHRNZW51RnJvbVByb3Bvc2VkTWVudShXS1BhZ2VSZWYsIFdLQXJyYXlS
ZWYgcHJvcG9zZWRNZW51LCBXS0FycmF5UmVmKiBuZXdNZW51LCBXS0hpdFRlc3RSZXN1bHRSZWYs
IFdLVHlwZVJlZiB1c2VyRGF0YSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7CisgICAgRXdrVmll
dyogdmlldygpIHsgcmV0dXJuIG1fdmlldzsgfQogCiBwcml2YXRlOgogICAgIGV4cGxpY2l0IENv
bnRleHRNZW51Q2xpZW50RWZsKEV3a1ZpZXcqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9lZmwvV2ViQ29udGV4dE1lbnVQcm94eUVmbC5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvZWZsL1dlYkNvbnRleHRNZW51UHJveHlFZmwuY3BwCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCA2OGU3NWI0Li4wMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9lZmwvV2ViQ29udGV4dE1lbnVQcm94eUVmbC5jcHAKKysrIC9kZXYvbnVsbApAQCAt
MSw2NyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEyIFNhbXN1bmcgRWxlY3Ryb25p
Y3MuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiV2ViQ29udGV4dE1l
bnVQcm94eUVmbC5oIgotCi0jaWYgRU5BQkxFKENPTlRFWFRfTUVOVVMpCi0KLSNpbmNsdWRlICJF
d2tWaWV3LmgiCi0jaW5jbHVkZSAiV2ViQ29udGV4dE1lbnVJdGVtRGF0YS5oIgotI2luY2x1ZGUg
IldlYlBhZ2VQcm94eS5oIgotI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KLQotdXNpbmcg
bmFtZXNwYWNlIFdlYkNvcmU7Ci0KLW5hbWVzcGFjZSBXZWJLaXQgewotCi1XZWJDb250ZXh0TWVu
dVByb3h5RWZsOjpXZWJDb250ZXh0TWVudVByb3h5RWZsKEV3a1ZpZXcqIHZpZXcsIFdlYlBhZ2VQ
cm94eSogcGFnZSkKLSAgICA6IG1fdmlldyh2aWV3KQotICAgICwgbV9wYWdlKHBhZ2UpCi17Ci19
Ci0KLVdlYkNvbnRleHRNZW51UHJveHlFZmw6On5XZWJDb250ZXh0TWVudVByb3h5RWZsKCkKLXsK
LX0KLQotdm9pZCBXZWJDb250ZXh0TWVudVByb3h5RWZsOjpzaG93Q29udGV4dE1lbnUoY29uc3Qg
V2ViQ29yZTo6SW50UG9pbnQmIHBvc2l0aW9uLCBjb25zdCBWZWN0b3I8V2ViQ29udGV4dE1lbnVJ
dGVtRGF0YT4mIGl0ZW1zKQotewotICAgIG1fdmlldy0+c2hvd0NvbnRleHRNZW51KHRoaXMsIHBv
c2l0aW9uLCBpdGVtcyk7Ci19Ci0KLXZvaWQgV2ViQ29udGV4dE1lbnVQcm94eUVmbDo6aGlkZUNv
bnRleHRNZW51KCkKLXsKLSAgICBtX3ZpZXctPmhpZGVDb250ZXh0TWVudSgpOwotfQotCi12b2lk
IFdlYkNvbnRleHRNZW51UHJveHlFZmw6OmNvbnRleHRNZW51SXRlbVNlbGVjdGVkKGNvbnN0IFdl
YkNvbnRleHRNZW51SXRlbURhdGEmIGl0ZW0pCi17Ci0gICAgbV9wYWdlLT5jb250ZXh0TWVudUl0
ZW1TZWxlY3RlZChpdGVtKTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViS2l0Ci0KLSNlbmRpZiAv
LyBFTkFCTEUoQ09OVEVYVF9NRU5VUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9lZmwvV2ViQ29udGV4dE1lbnVQcm94eUVmbC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL2VmbC9XZWJDb250ZXh0TWVudVByb3h5RWZsLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IGVhNDJhZjEuLjAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2Vm
bC9XZWJDb250ZXh0TWVudVByb3h5RWZsLmgKKysrIC9kZXYvbnVsbApAQCAtMSw2NyArMCwwIEBA
Ci0vKgotICogQ29weXJpZ2h0IChDKSAyMDEyIFNhbXN1bmcgRWxlY3Ryb25pY3MuCi0gKgotICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
Ci0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgot
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICog
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAq
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwot
Ci0jaWZuZGVmIFdlYkNvbnRleHRNZW51UHJveHlFZmxfaAotI2RlZmluZSBXZWJDb250ZXh0TWVu
dVByb3h5RWZsX2gKLQotI2lmIEVOQUJMRShDT05URVhUX01FTlVTKQotCi0jaW5jbHVkZSAiV2Vi
Q29udGV4dE1lbnVQcm94eS5oIgotI2luY2x1ZGUgPFdlYkNvcmUvQ29udGV4dE1lbnUuaD4KLSNp
bmNsdWRlIDxXZWJDb3JlL0ludFBvaW50Lmg+Ci0KLWNsYXNzIEV3a1ZpZXc7Ci0KLW5hbWVzcGFj
ZSBXZWJLaXQgewotCi1jbGFzcyBXZWJDb250ZXh0TWVudUl0ZW1EYXRhOwotY2xhc3MgV2ViUGFn
ZVByb3h5OwotCi1jbGFzcyBXZWJDb250ZXh0TWVudVByb3h5RWZsIDogcHVibGljIFdlYkNvbnRl
eHRNZW51UHJveHkgewotcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFdlYkNvbnRleHRN
ZW51UHJveHlFZmw+IGNyZWF0ZShFd2tWaWV3KiB2aWV3SW1wbCwgV2ViUGFnZVByb3h5KiBwYWdl
KQotICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBXZWJDb250ZXh0TWVudVByb3h5
RWZsKHZpZXdJbXBsLCBwYWdlKSk7Ci0gICAgfQotCi0gICAgfldlYkNvbnRleHRNZW51UHJveHlF
ZmwoKTsKLQotICAgIHZvaWQgc2hvd0NvbnRleHRNZW51KGNvbnN0IFdlYkNvcmU6OkludFBvaW50
JiwgY29uc3QgVmVjdG9yPFdlYkNvbnRleHRNZW51SXRlbURhdGE+Jik7Ci0gICAgdm9pZCBoaWRl
Q29udGV4dE1lbnUoKTsKLQotICAgIHZvaWQgY29udGV4dE1lbnVJdGVtU2VsZWN0ZWQoY29uc3Qg
V2ViQ29udGV4dE1lbnVJdGVtRGF0YSYpOwotCi1wcml2YXRlOgotICAgIFdlYkNvbnRleHRNZW51
UHJveHlFZmwoRXdrVmlldyosIFdlYlBhZ2VQcm94eSopOwotCi0gICAgRXdrVmlldyogbV92aWV3
OwotICAgIFdlYlBhZ2VQcm94eSogbV9wYWdlOwotfTsKLQotCi19IC8vIG5hbWVzcGFjZSBXZWJL
aXQKLQotI2VuZGlmIC8vIEVOQUJMRShDT05URVhUX01FTlVTKQotI2VuZGlmIC8vIFdlYkNvbnRl
eHRNZW51UHJveHlFZmxfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2Vm
bC9XZWJWaWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvV2ViVmlldy5jcHAK
aW5kZXggZjBmYmJmNy4uNTIyZTFlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL2VmbC9XZWJWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1dl
YlZpZXcuY3BwCkBAIC0zNSw3ICszNSw2IEBACiAjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIK
ICNpbmNsdWRlICJQYWdlVmlld3BvcnRDb250cm9sbGVyLmgiCiAjaW5jbHVkZSAiUGFnZVZpZXdw
b3J0Q29udHJvbGxlckNsaWVudEVmbC5oIgotI2luY2x1ZGUgIldlYkNvbnRleHRNZW51UHJveHlF
ZmwuaCIKICNpbmNsdWRlICJXZWJQYWdlUHJveHkuaCIKICNpbmNsdWRlICJXZWJQb3B1cE1lbnVM
aXN0ZW5lckVmbC5oIgogI2luY2x1ZGUgImV3a19jb250ZXh0X3ByaXZhdGUuaCIKQEAgLTM5Mywx
MSArMzkyLDYgQEAgUGFzc1JlZlB0cjxXZWJQb3B1cE1lbnVQcm94eT4gV2ViVmlldzo6Y3JlYXRl
UG9wdXBNZW51UHJveHkoV2ViUGFnZVByb3h5KiBwYWdlKQogICAgIHJldHVybiBXZWJQb3B1cE1l
bnVMaXN0ZW5lckVmbDo6Y3JlYXRlKHBhZ2UpOwogfQogCi1QYXNzUmVmUHRyPFdlYkNvbnRleHRN
ZW51UHJveHk+IFdlYlZpZXc6OmNyZWF0ZUNvbnRleHRNZW51UHJveHkoV2ViUGFnZVByb3h5KiBw
YWdlKQotewotICAgIHJldHVybiBXZWJDb250ZXh0TWVudVByb3h5RWZsOjpjcmVhdGUobV9ld2tW
aWV3LCBwYWdlKTsKLX0KLQogI2lmIEVOQUJMRShJTlBVVF9UWVBFX0NPTE9SKQogUGFzc1JlZlB0
cjxXZWJDb2xvckNob29zZXJQcm94eT4gV2ViVmlldzo6Y3JlYXRlQ29sb3JDaG9vc2VyUHJveHko
V2ViUGFnZVByb3h5KiwgY29uc3QgV2ViQ29yZTo6Q29sb3ImLCBjb25zdCBXZWJDb3JlOjpJbnRS
ZWN0JikKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvV2ViVmll
dy5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9XZWJWaWV3LmgKaW5kZXggNDJjOGQx
My4uM2M3Y2U5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9XZWJW
aWV3LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9XZWJWaWV3LmgKQEAgLTE1
MCw3ICsxNTAsNiBAQCBwcml2YXRlOgogI2VuZGlmCiAKICAgICBQYXNzUmVmUHRyPFdlYlBvcHVw
TWVudVByb3h5PiBjcmVhdGVQb3B1cE1lbnVQcm94eShXZWJQYWdlUHJveHkqKSBPVkVSUklERTsK
LSAgICBQYXNzUmVmUHRyPFdlYkNvbnRleHRNZW51UHJveHk+IGNyZWF0ZUNvbnRleHRNZW51UHJv
eHkoV2ViUGFnZVByb3h5KikgT1ZFUlJJREU7CiAjaWYgRU5BQkxFKElOUFVUX1RZUEVfQ09MT1Ip
CiAgICAgUGFzc1JlZlB0cjxXZWJDb2xvckNob29zZXJQcm94eT4gY3JlYXRlQ29sb3JDaG9vc2Vy
UHJveHkoV2ViUGFnZVByb3h5KiwgY29uc3QgV2ViQ29yZTo6Q29sb3ImIGluaXRpYWxDb2xvciwg
Y29uc3QgV2ViQ29yZTo6SW50UmVjdCYpIE9WRVJSSURFOwogI2VuZGlmCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>190708</attachid>
            <date>2013-02-28 05:02:25 -0800</date>
            <delta_ts>2013-03-06 05:15:38 -0800</delta_ts>
            <desc>fixes</desc>
            <filename>c-api-ewk-contextmenu6.diff</filename>
            <type>text/plain</type>
            <size>58415</size>
            <attacher name="Michal Pakula vel Rutka">mpakulavelrutka</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCAzZGZjZGI2Li5mZTNlNThlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNjgg
QEAKKzIwMTMtMDItMjggIE1pY2hhxYIgUGFrdcWCYSB2ZWwgUnV0a2EgIDxtLnBha3VsYUBzYW1z
dW5nLmNvbT4KKworICAgICAgICBbRUZMXVtXSzJdIFVzZSBDIEFQSSBpbiBld2tfY29udGV4dF9t
ZW51CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDk2
OTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBFRkwg
cG9ydCB1bmxpa2Ugb3RoZXJzIGRvZXMgbm90IGhhbmRsZSBjb250ZXh0IG1lbnVzIGluc2lkZSBX
ZWJLaXQgYnV0IGV4cG9zZXMgYW4gQVBJOgorICAgICAgICBld2tfY29udGV4dF9tZW51IGFuZCBl
d2tfY29udGV4dF9tZW51X2l0ZW0sIGFuZCBsZWF2ZXMgY29udGV4dCBtZW51IHRvIGFwcGxpY2F0
aW9uLgorICAgICAgICBDdXJyZW50bHkgRUZMIHBvcnQncyBjb250ZXh0IG1lbnUgQVBJIHVzZXMg
aW50ZXJuYWwgQysrIGNsYXNzZXMsIHdoaWxlIGl0IHNob3VsZCB1c2UgV0syIEMgQVBJLAorICAg
ICAgICB0byBhdm9pZCB2aW9sYXRpbmcgbGF5ZXJpbmcuCisgICAgICAgIFRoaXMgcGF0Y2ggY2hh
bmdlcyBFRkwgY29udGV4dCBtZW51IEFQSSB0byB1c2Ugb25seSBXSzIgQyBBUEksIGFsc28gYWRk
cyB0d28gZnVuY3Rpb25zIHRvIFdLUGFnZUNvbnRleHRNZW51Q2xpZW50LgorCisgICAgICAgICog
UGxhdGZvcm1FZmwuY21ha2U6CisgICAgICAgICogU2hhcmVkL0FQSUNsaWVudFRyYWl0cy5jcHA6
CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAqIFNoYXJlZC9BUElDbGllbnRUcmFpdHMuaDoK
KyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNwcDoKKyAgICAgICAgKFdLUGFnZUNv
bnRleHRNZW51SXRlbVNlbGVjdGVkKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQYWdl
Lmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlldy5jcHA6CisgICAgICAgIChF
d2tWaWV3OjpzaG93Q29udGV4dE1lbnUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL0V3
a1ZpZXcuaDoKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChFd2tWaWV3KToKKyAgICAgICAg
KiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dF9tZW51LmNwcDoKKyAgICAgICAgKEV3a0Nv
bnRleHRNZW51OjpFd2tDb250ZXh0TWVudSk6CisgICAgICAgIChFd2tDb250ZXh0TWVudTo6Y29u
dGV4dE1lbnVJdGVtU2VsZWN0ZWQpOgorICAgICAgICAoZXdrX2NvbnRleHRfbWVudV9pdGVtX3Nl
bGVjdCk6CisgICAgICAgIChnZXRXS1RhZ0Zyb21Fd2tBY3Rpb24pOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0X21lbnVfaXRlbS5jcHA6CisgICAgICAgIChFd2tDb250
ZXh0TWVudUl0ZW06OkV3a0NvbnRleHRNZW51SXRlbSk6CisgICAgICAgIChnZXRFd2tBY3Rpb25G
cm9tV0tUYWcpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0X21lbnVf
aXRlbS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0X21lbnVfaXRl
bV9wcml2YXRlLmg6CisgICAgICAgIChFd2tDb250ZXh0TWVudUl0ZW06OmNyZWF0ZSk6CisgICAg
ICAgIChFd2tDb250ZXh0TWVudUl0ZW0pOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL2V3
a19jb250ZXh0X21lbnVfcHJpdmF0ZS5oOgorICAgICAgICAoRXdrQ29udGV4dE1lbnU6OmNyZWF0
ZSk6CisgICAgICAgIChFd2tDb250ZXh0TWVudSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9n
dGsvV2ViS2l0Q29udGV4dE1lbnVDbGllbnQuY3BwOgorICAgICAgICAoYXR0YWNoQ29udGV4dE1l
bnVDbGllbnRUb1ZpZXcpOgorICAgICAgICAqIFVJUHJvY2Vzcy9QYWdlQ2xpZW50Lmg6CisgICAg
ICAgIChQYWdlQ2xpZW50KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZUNvbnRleHRNZW51
Q2xpZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZUNvbnRleHRNZW51Q2xpZW50Ojpz
aG93Q29udGV4dE1lbnUpOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKFdlYktpdDo6V2Vi
UGFnZUNvbnRleHRNZW51Q2xpZW50OjpoaWRlQ29udGV4dE1lbnUpOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9XZWJQYWdlQ29udGV4dE1lbnVDbGllbnQuaDoKKyAgICAgICAgKFdlYlBhZ2VDb250ZXh0
TWVudUNsaWVudCk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6aW50ZXJuYWxTaG93Q29udGV4dE1lbnUpOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKFdlYlBhZ2VQcm94eSk6
CisgICAgICAgICogVUlQcm9jZXNzL2VmbC9Db250ZXh0TWVudUNsaWVudEVmbC5jcHA6CisgICAg
ICAgIChzaG93Q29udGV4dE1lbnUpOgorICAgICAgICAoaGlkZUNvbnRleHRNZW51KToKKyAgICAg
ICAgKENvbnRleHRNZW51Q2xpZW50RWZsOjpDb250ZXh0TWVudUNsaWVudEVmbCk6CisgICAgICAg
ICogVUlQcm9jZXNzL2VmbC9Db250ZXh0TWVudUNsaWVudEVmbC5oOgorICAgICAgICAoV2ViS2l0
OjpDb250ZXh0TWVudUNsaWVudEVmbDo6dmlldyk6CisgICAgICAgICogVUlQcm9jZXNzL2VmbC9X
ZWJDb250ZXh0TWVudVByb3h5RWZsLmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBVSVByb2Nlc3Mv
ZWZsL1dlYkNvbnRleHRNZW51UHJveHlFZmwuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBVSVByb2Nl
c3MvZWZsL1dlYlZpZXcuY3BwOgorICAgICAgICAqIFVJUHJvY2Vzcy9lZmwvV2ViVmlldy5oOgor
CiAyMDEzLTAyLTI3ICBDc2FiYSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+CiAKICAg
ICAgICAgW1dLMl0gT25lIG1vcmUgdW5yZXZpZXdlZCBidWlsZGZpeCBmb3IgRUZMLCBHVEsgYW5k
IFF0IGFmdGVyIHIxNDQyMTguCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUVm
bC5jbWFrZSBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtlCmluZGV4IDdmYTRlYzku
LjNhNmNlYjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtlCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtlCkBAIC0xMDEsNyArMTAxLDYgQEAg
bGlzdChBUFBFTkQgV2ViS2l0Ml9TT1VSQ0VTCiAgICAgVUlQcm9jZXNzL2VmbC9WaWJyYXRpb25D
bGllbnRFZmwuY3BwCiAgICAgVUlQcm9jZXNzL2VmbC9WaWV3Q2xpZW50RWZsLmNwcAogICAgIFVJ
UHJvY2Vzcy9lZmwvV2ViQ29udGV4dEVmbC5jcHAKLSAgICBVSVByb2Nlc3MvZWZsL1dlYkNvbnRl
eHRNZW51UHJveHlFZmwuY3BwCiAgICAgVUlQcm9jZXNzL2VmbC9XZWJGdWxsU2NyZWVuTWFuYWdl
clByb3h5RWZsLmNwcAogICAgIFVJUHJvY2Vzcy9lZmwvV2ViSW5zcGVjdG9yUHJveHlFZmwuY3Bw
CiAgICAgVUlQcm9jZXNzL2VmbC9XZWJQYWdlUHJveHlFZmwuY3BwCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvQVBJQ2xpZW50VHJhaXRzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9BUElDbGllbnRUcmFpdHMuY3BwCmluZGV4IDVlY2RhYjMuLjQ0NjU2NGQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUElDbGllbnRUcmFpdHMuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9BUElDbGllbnRUcmFpdHMuY3BwCkBAIC01Nyw2ICs1Nyw3IEBAIGNv
bnN0IHNpemVfdCBBUElDbGllbnRUcmFpdHM8V0tCdW5kbGVQYWdlRnVsbFNjcmVlbkNsaWVudD46
OmludGVyZmFjZVNpemVzQnlWZXJzCiBjb25zdCBzaXplX3QgQVBJQ2xpZW50VHJhaXRzPFdLUGFn
ZUNvbnRleHRNZW51Q2xpZW50Pjo6aW50ZXJmYWNlU2l6ZXNCeVZlcnNpb25bXSA9IHsKICAgICBv
ZmZzZXRvZihXS1BhZ2VDb250ZXh0TWVudUNsaWVudCwgY29udGV4dE1lbnVEaXNtaXNzZWQpLAog
ICAgIG9mZnNldG9mKFdLUGFnZUNvbnRleHRNZW51Q2xpZW50LCBnZXRDb250ZXh0TWVudUZyb21Q
cm9wb3NlZE1lbnUpLAorICAgIG9mZnNldG9mKFdLUGFnZUNvbnRleHRNZW51Q2xpZW50LCBzaG93
Q29udGV4dE1lbnUpLAogICAgIHNpemVvZihXS1BhZ2VDb250ZXh0TWVudUNsaWVudCkKIH07CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUElDbGllbnRUcmFpdHMuaCBiL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9BUElDbGllbnRUcmFpdHMuaAppbmRleCBhMDYyOTU2Li5hZWQ4
MmY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJQ2xpZW50VHJhaXRzLmgK
KysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSUNsaWVudFRyYWl0cy5oCkBAIC02MCw3ICs2
MCw3IEBAIHRlbXBsYXRlPD4gc3RydWN0IEFQSUNsaWVudFRyYWl0czxXS0J1bmRsZVBhZ2VVSUNs
aWVudD4gewogfTsKIAogdGVtcGxhdGU8PiBzdHJ1Y3QgQVBJQ2xpZW50VHJhaXRzPFdLUGFnZUNv
bnRleHRNZW51Q2xpZW50PiB7Ci0gICAgc3RhdGljIGNvbnN0IHNpemVfdCBpbnRlcmZhY2VTaXpl
c0J5VmVyc2lvblszXTsKKyAgICBzdGF0aWMgY29uc3Qgc2l6ZV90IGludGVyZmFjZVNpemVzQnlW
ZXJzaW9uWzRdOwogfTsKIAogdGVtcGxhdGU8PiBzdHJ1Y3QgQVBJQ2xpZW50VHJhaXRzPFdLUGFn
ZUxvYWRlckNsaWVudD4gewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9DL1dLUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNw
cAppbmRleCBlZjI3YmU1Li40YjEwMzg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL0MvV0tQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0MvV0tQYWdlLmNwcApAQCAtNDAsNiArNDAsMTAgQEAKICNpbmNsdWRlIDxCbG9jay5oPgogI2Vu
ZGlmCiAKKyNpZiBFTkFCTEUoQ09OVEVYVF9NRU5VUykKKyNpbmNsdWRlICJXZWJDb250ZXh0TWVu
dUl0ZW0uaCIKKyNlbmRpZgorCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIHVzaW5nIG5hbWVz
cGFjZSBXZWJLaXQ7CiAKQEAgLTg2MywzICs4NjcsMTAgQEAgV0tTdHJpbmdSZWYgV0tQYWdlR2V0
UGx1Z2luSW5mb3JtYXRpb25QbHVnaW5VUkxLZXkoKQogICAgIHN0YXRpYyBXZWJTdHJpbmcqIGtl
eSA9IFdlYlN0cmluZzo6Y3JlYXRlKFdlYlBhZ2VQcm94eTo6cGx1Z2luSW5mb3JtYXRpb25QbHVn
aW5VUkxLZXkoKSkubGVha1JlZigpOwogICAgIHJldHVybiB0b0FQSShrZXkpOwogfQorCit2b2lk
IFdLUGFnZUNvbnRleHRNZW51SXRlbVNlbGVjdGVkKFdLUGFnZVJlZiBwYWdlLCBXS0NvbnRleHRN
ZW51SXRlbVJlZiBpdGVtKQoreworI2lmIEVOQUJMRShDT05URVhUX01FTlVTKQorICAgIHRvSW1w
bChwYWdlKS0+Y29udGV4dE1lbnVJdGVtU2VsZWN0ZWQoKih0b0ltcGwoaXRlbSktPmRhdGEoKSkp
OworI2VuZGlmCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0Mv
V0tQYWdlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmgKaW5kZXgg
YjEzM2UxOC4uNGE2YjU0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9DL1dLUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2Uu
aApAQCAtMzI0LDYgKzMyNCw4IEBAIGVudW0geyBrV0tQYWdlRmluZE1hdGNoZXNDbGllbnRDdXJy
ZW50VmVyc2lvbiA9IDAgfTsKIHR5cGVkZWYgdm9pZCAoKldLUGFnZUdldENvbnRleHRNZW51RnJv
bVByb3Bvc2VkQ29udGV4dE1lbnVDYWxsYmFjaykoV0tQYWdlUmVmIHBhZ2UsIFdLQXJyYXlSZWYg
cHJvcG9zZWRNZW51LCBXS0FycmF5UmVmKiBuZXdNZW51LCBXS0hpdFRlc3RSZXN1bHRSZWYgaGl0
VGVzdFJlc3VsdCwgV0tUeXBlUmVmIHVzZXJEYXRhLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsK
IHR5cGVkZWYgdm9pZCAoKldLUGFnZUN1c3RvbUNvbnRleHRNZW51SXRlbVNlbGVjdGVkQ2FsbGJh
Y2spKFdLUGFnZVJlZiBwYWdlLCBXS0NvbnRleHRNZW51SXRlbVJlZiBjb250ZXh0TWVudUl0ZW0s
IGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwogdHlwZWRlZiB2b2lkICgqV0tQYWdlQ29udGV4dE1l
bnVEaXNtaXNzZWRDYWxsYmFjaykoV0tQYWdlUmVmIHBhZ2UsIGNvbnN0IHZvaWQqIGNsaWVudElu
Zm8pOwordHlwZWRlZiB2b2lkICgqV0tQYWdlU2hvd0NvbnRleHRNZW51Q2FsbGJhY2spKFdLUGFn
ZVJlZiBwYWdlLCBXS1BvaW50IG1lbnVMb2NhdGlvbiwgV0tBcnJheVJlZiBtZW51SXRlbXMsIGNv
bnN0IHZvaWQqIGNsaWVudEluZm8pOwordHlwZWRlZiB2b2lkICgqV0tQYWdlSGlkZUNvbnRleHRN
ZW51Q2FsbGJhY2spKFdLUGFnZVJlZiBwYWdlLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKIAog
Ly8gRGVwcmVjYXRlZAogdHlwZWRlZiB2b2lkICgqV0tQYWdlR2V0Q29udGV4dE1lbnVGcm9tUHJv
cG9zZWRDb250ZXh0TWVudUNhbGxiYWNrX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjApKFdLUGFnZVJl
ZiBwYWdlLCBXS0FycmF5UmVmIHByb3Bvc2VkTWVudSwgV0tBcnJheVJlZiogbmV3TWVudSwgV0tU
eXBlUmVmIHVzZXJEYXRhLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKQEAgLTM0MCwxMCArMzQy
LDE0IEBAIHN0cnVjdCBXS1BhZ2VDb250ZXh0TWVudUNsaWVudCB7CiAKICAgICAvLyBWZXJzaW9u
IDIKICAgICBXS1BhZ2VHZXRDb250ZXh0TWVudUZyb21Qcm9wb3NlZENvbnRleHRNZW51Q2FsbGJh
Y2sgICAgICAgICAgICAgICAgICAgICAgICAgIGdldENvbnRleHRNZW51RnJvbVByb3Bvc2VkTWVu
dTsKKworICAgIC8vIFZlcnNpb24gMworICAgIFdLUGFnZVNob3dDb250ZXh0TWVudUNhbGxiYWNr
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd0NvbnRl
eHRNZW51OworICAgIFdLUGFnZUhpZGVDb250ZXh0TWVudUNhbGxiYWNrICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGlkZUNvbnRleHRNZW51OwogfTsKIHR5
cGVkZWYgc3RydWN0IFdLUGFnZUNvbnRleHRNZW51Q2xpZW50IFdLUGFnZUNvbnRleHRNZW51Q2xp
ZW50OwogCi1lbnVtIHsga1dLUGFnZUNvbnRleHRNZW51Q2xpZW50Q3VycmVudFZlcnNpb24gPSAy
IH07CitlbnVtIHsga1dLUGFnZUNvbnRleHRNZW51Q2xpZW50Q3VycmVudFZlcnNpb24gPSAzIH07
CiAKIFdLX0VYUE9SVCBXS1R5cGVJRCBXS1BhZ2VHZXRUeXBlSUQoKTsKIApAQCAtNTQ3LDYgKzU1
Myw3IEBAIFdLX0VYUE9SVCBXS1N0cmluZ1JlZiBXS1BhZ2VHZXRQbHVnaW5JbmZvcm1hdGlvblBs
dWdpbnNwYWdlQXR0cmlidXRlVVJMS2V5KCk7CiAvKiBWYWx1ZSB0eXBlOiBXS1VSTFJlZiAqLwog
V0tfRVhQT1JUIFdLU3RyaW5nUmVmIFdLUGFnZUdldFBsdWdpbkluZm9ybWF0aW9uUGx1Z2luVVJM
S2V5KCk7CiAKK1dLX0VYUE9SVCB2b2lkIFdLUGFnZUNvbnRleHRNZW51SXRlbVNlbGVjdGVkKFdL
UGFnZVJlZiBwYWdlLCBXS0NvbnRleHRNZW51SXRlbVJlZiBpdGVtKTsKIAogI2lmZGVmIF9fY3Bs
dXNwbHVzCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9F
d2tWaWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuY3Bw
CmluZGV4IDhmMzQzOWIuLmY4ZTI2NWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvZWZsL0V3a1ZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvZWZsL0V3a1ZpZXcuY3BwCkBAIC04MDMsNyArODAzLDcgQEAgdm9pZCBFd2tWaWV3OjpkaXNt
aXNzQ29sb3JQaWNrZXIoKQogQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfVEVYVF9E
SVJFQ1RJT05fUklHSFRfVE9fTEVGVCwgUlRMKTsKIENPTVBJTEVfQVNTRVJUX01BVENISU5HX0VO
VU0oRVdLX1RFWFRfRElSRUNUSU9OX0xFRlRfVE9fUklHSFQsIExUUik7CiAKLXZvaWQgRXdrVmll
dzo6c2hvd0NvbnRleHRNZW51KFdlYkNvbnRleHRNZW51UHJveHlFZmwqIGNvbnRleHRNZW51UHJv
eHksIGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBwb3NpdGlvbiwgY29uc3QgVmVjdG9yPFdlYkNv
bnRleHRNZW51SXRlbURhdGE+JiBpdGVtcykKK3ZvaWQgRXdrVmlldzo6c2hvd0NvbnRleHRNZW51
KFdLUG9pbnQgcG9zaXRpb24sIFdLQXJyYXlSZWYgaXRlbXMpCiB7CiAgICAgRXdrX1ZpZXdfU21h
cnRfRGF0YSogc2QgPSBzbWFydERhdGEoKTsKICAgICBBU1NFUlQoc2QtPmFwaSk7CkBAIC04MTYs
OSArODE2LDkgQEAgdm9pZCBFd2tWaWV3OjpzaG93Q29udGV4dE1lbnUoV2ViQ29udGV4dE1lbnVQ
cm94eUVmbCogY29udGV4dE1lbnVQcm94eSwgY29uc3QgV2UKICAgICBpZiAobV9jb250ZXh0TWVu
dSkKICAgICAgICAgaGlkZUNvbnRleHRNZW51KCk7CiAKLSAgICBtX2NvbnRleHRNZW51ID0gRXdr
X0NvbnRleHRfTWVudTo6Y3JlYXRlKHRoaXMsIGNvbnRleHRNZW51UHJveHksIGl0ZW1zKTsKKyAg
ICBtX2NvbnRleHRNZW51ID0gRXdrX0NvbnRleHRfTWVudTo6Y3JlYXRlKHRoaXMsIGl0ZW1zKTsK
IAotICAgIHNkLT5hcGktPmNvbnRleHRfbWVudV9zaG93KHNkLCBwb3NpdGlvbi54KCksIHBvc2l0
aW9uLnkoKSwgbV9jb250ZXh0TWVudS5nZXQoKSk7CisgICAgc2QtPmFwaS0+Y29udGV4dF9tZW51
X3Nob3coc2QsIHBvc2l0aW9uLngsIHBvc2l0aW9uLnksIG1fY29udGV4dE1lbnUuZ2V0KCkpOwog
fQogCiB2b2lkIEV3a1ZpZXc6OmhpZGVDb250ZXh0TWVudSgpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL2VmbC9Fd2tWaWV3LmgKaW5kZXggNzFkYWQyZC4uZTI0NWI2YiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlldy5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuaApAQCAtNjQsOCArNjQsNiBAQCBj
bGFzcyBQYWdlVUlDbGllbnRFZmw7CiBjbGFzcyBWaWV3Q2xpZW50RWZsOwogY2xhc3MgUGFnZVZp
ZXdwb3J0Q29udHJvbGxlcjsKIGNsYXNzIFBhZ2VWaWV3cG9ydENvbnRyb2xsZXJDbGllbnRFZmw7
Ci1jbGFzcyBXZWJDb250ZXh0TWVudUl0ZW1EYXRhOwotY2xhc3MgV2ViQ29udGV4dE1lbnVQcm94
eUVmbDsKIGNsYXNzIFdlYlBhZ2VHcm91cDsKIGNsYXNzIFdlYlBhZ2VQcm94eTsKIApAQCAtMTgx
LDcgKzE3OSw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHJlcXVlc3RQb3B1cE1lbnUoV0tQb3B1cE1l
bnVMaXN0ZW5lclJlZiwgY29uc3QgV0tSZWN0JiwgV0tQb3B1cEl0ZW1UZXh0RGlyZWN0aW9uLCBk
b3VibGUgcGFnZVNjYWxlRmFjdG9yLCBXS0FycmF5UmVmIGl0ZW1zLCBpbnQzMl90IHNlbGVjdGVk
SW5kZXgpOwogICAgIHZvaWQgY2xvc2VQb3B1cE1lbnUoKTsKIAotICAgIHZvaWQgc2hvd0NvbnRl
eHRNZW51KFdlYktpdDo6V2ViQ29udGV4dE1lbnVQcm94eUVmbCosIGNvbnN0IFdlYkNvcmU6Oklu
dFBvaW50JiBwb3NpdGlvbiwgY29uc3QgVmVjdG9yPFdlYktpdDo6V2ViQ29udGV4dE1lbnVJdGVt
RGF0YT4mIGl0ZW1zKTsKKyAgICB2b2lkIHNob3dDb250ZXh0TWVudShXS1BvaW50IHBvc2l0aW9u
LCBXS0FycmF5UmVmIGl0ZW1zKTsKICAgICB2b2lkIGhpZGVDb250ZXh0TWVudSgpOwogCiAgICAg
dm9pZCB1cGRhdGVUZXh0SW5wdXRTdGF0ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHRfbWVudS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dF9tZW51LmNwcAppbmRleCA5OGE0MzFhLi4xYTcy
NmQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29u
dGV4dF9tZW51LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tf
Y29udGV4dF9tZW51LmNwcApAQCAtMjgsMzQgKzI4LDM0IEBACiAKICNpbmNsdWRlICJBUElPYmpl
Y3QuaCIKICNpbmNsdWRlICJFd2tWaWV3LmgiCi0jaW5jbHVkZSAiV2ViQ29udGV4dE1lbnVJdGVt
RGF0YS5oIgotI2luY2x1ZGUgIldlYkNvbnRleHRNZW51UHJveHlFZmwuaCIKKyNpbmNsdWRlICJX
S0FycmF5LmgiCisjaW5jbHVkZSAiV0tDb250ZXh0TWVudUl0ZW0uaCIKKyNpbmNsdWRlICJXS1N0
cmluZy5oIgogI2luY2x1ZGUgImV3a19jb250ZXh0X21lbnVfaXRlbS5oIgogI2luY2x1ZGUgImV3
a19jb250ZXh0X21lbnVfaXRlbV9wcml2YXRlLmgiCiAjaW5jbHVkZSAiZXdrX2NvbnRleHRfbWVu
dV9wcml2YXRlLmgiCiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CiAKLUV3a0NvbnRleHRNZW51
OjpFd2tDb250ZXh0TWVudShFd2tWaWV3KiB2aWV3LCBXZWJDb250ZXh0TWVudVByb3h5RWZsKiBj
b250ZXh0TWVudVByb3h5LCBjb25zdCBWZWN0b3I8V2ViS2l0OjpXZWJDb250ZXh0TWVudUl0ZW1E
YXRhPiYgaXRlbXMpCitzdGF0aWMgV0tDb250ZXh0TWVudUl0ZW1UYWcgZ2V0V0tUYWdGcm9tRXdr
QWN0aW9uKEV3a19Db250ZXh0X01lbnVfSXRlbV9BY3Rpb24gYWN0aW9uKTsKKworRXdrQ29udGV4
dE1lbnU6OkV3a0NvbnRleHRNZW51KEV3a1ZpZXcqIHZpZXcsIFdLQXJyYXlSZWYgaXRlbXMpCiAg
ICAgOiBtX3ZpZXdJbXBsKHZpZXcpCi0gICAgLCBtX2NvbnRleHRNZW51UHJveHkoY29udGV4dE1l
bnVQcm94eSkKICAgICAsIG1fY29udGV4dE1lbnVJdGVtcygwKQogewotICAgIGNvbnN0IHNpemVf
dCBzaXplID0gaXRlbXMuc2l6ZSgpOworICAgIHNpemVfdCBzaXplID0gV0tBcnJheUdldFNpemUo
aXRlbXMpOwogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgc2l6ZTsgKytpKQotICAgICAgICBt
X2NvbnRleHRNZW51SXRlbXMgPSBlaW5hX2xpc3RfYXBwZW5kKG1fY29udGV4dE1lbnVJdGVtcywg
RXdrX0NvbnRleHRfTWVudV9JdGVtOjpjcmVhdGUoaXRlbXNbaV0pLmxlYWtQdHIoKSk7CisgICAg
ICAgIG1fY29udGV4dE1lbnVJdGVtcyA9IGVpbmFfbGlzdF9hcHBlbmQobV9jb250ZXh0TWVudUl0
ZW1zLCBFd2tfQ29udGV4dF9NZW51X0l0ZW06OmNyZWF0ZShzdGF0aWNfY2FzdDxXS0NvbnRleHRN
ZW51SXRlbVJlZj4oV0tBcnJheUdldEl0ZW1BdEluZGV4KGl0ZW1zLCBpKSkpLmxlYWtQdHIoKSk7
CiB9CiAKIEV3a0NvbnRleHRNZW51OjpFd2tDb250ZXh0TWVudSgpCiAgICAgOiBtX3ZpZXdJbXBs
KDApCi0gICAgLCBtX2NvbnRleHRNZW51UHJveHkoMCkKICAgICAsIG1fY29udGV4dE1lbnVJdGVt
cygwKQogewogfQogCiBFd2tDb250ZXh0TWVudTo6RXdrQ29udGV4dE1lbnUoRWluYV9MaXN0KiBp
dGVtcykKICAgICA6IG1fdmlld0ltcGwoMCkKLSAgICAsIG1fY29udGV4dE1lbnVQcm94eSgwKQog
ICAgICwgbV9jb250ZXh0TWVudUl0ZW1zKDApCiB7CiAgICAgRWluYV9MaXN0KiBsOwpAQCAtODYs
OSArODYsOSBAQCB2b2lkIEV3a19Db250ZXh0X01lbnU6OnJlbW92ZUl0ZW0oRXdrQ29udGV4dE1l
bnVJdGVtKiBpdGVtKQogICAgIG1fY29udGV4dE1lbnVJdGVtcyA9IGVpbmFfbGlzdF9yZW1vdmUo
bV9jb250ZXh0TWVudUl0ZW1zLCBpdGVtKTsKIH0KIAotdm9pZCBFd2tDb250ZXh0TWVudTo6Y29u
dGV4dE1lbnVJdGVtU2VsZWN0ZWQoY29uc3QgV2ViS2l0OjpXZWJDb250ZXh0TWVudUl0ZW1EYXRh
JiBpdGVtKQordm9pZCBFd2tDb250ZXh0TWVudTo6Y29udGV4dE1lbnVJdGVtU2VsZWN0ZWQoV0tD
b250ZXh0TWVudUl0ZW1SZWYgaXRlbSkKIHsKLSAgICBtX2NvbnRleHRNZW51UHJveHktPmNvbnRl
eHRNZW51SXRlbVNlbGVjdGVkKGl0ZW0pOyAKKyAgICBXS1BhZ2VDb250ZXh0TWVudUl0ZW1TZWxl
Y3RlZChtX3ZpZXdJbXBsLT53a1BhZ2UoKSwgaXRlbSk7CiB9IAogCiBFd2tfQ29udGV4dF9NZW51
KiBld2tfY29udGV4dF9tZW51X25ldygpCkBAIC0xNDAsMTAgKzE0MCwxNzMgQEAgRWluYV9Cb29s
IGV3a19jb250ZXh0X21lbnVfaXRlbV9zZWxlY3QoRXdrX0NvbnRleHRfTWVudSogbWVudSwgRXdr
X0NvbnRleHRfTWVudV8KICAgICBFSU5BX1NBRkVUWV9PTl9OVUxMX1JFVFVSTl9WQUwobWVudSwg
ZmFsc2UpOwogICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJOX1ZBTChpdGVtLCBmYWxzZSk7
CiAKLSAgICBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UeXBlIHR5cGUgPSBzdGF0aWNfY2FzdDxX
ZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UeXBlPihpdGVtLT50eXBlKCkpOwotICAgIFdlYkNvcmU6
OkNvbnRleHRNZW51QWN0aW9uIGFjdGlvbiA9IHN0YXRpY19jYXN0PFdlYkNvcmU6OkNvbnRleHRN
ZW51QWN0aW9uPihpdGVtLT5hY3Rpb24oKSk7CisgICAgV0tDb250ZXh0TWVudUl0ZW1SZWYgd2tJ
dGVtOworCisgICAgc3dpdGNoIChpdGVtLT50eXBlKCkpIHsKKyAgICBjYXNlIEVXS19BQ1RJT05f
VFlQRToKKyAgICAgICAgd2tJdGVtID0gV0tDb250ZXh0TWVudUl0ZW1DcmVhdGVBc0FjdGlvbihn
ZXRXS1RhZ0Zyb21Fd2tBY3Rpb24oaXRlbS0+YWN0aW9uKCkpLCBhZG9wdFdLKFdLU3RyaW5nQ3Jl
YXRlV2l0aFVURjhDU3RyaW5nKGl0ZW0tPnRpdGxlKCkpKS5nZXQoKSwgaXRlbS0+ZW5hYmxlZCgp
KTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBFV0tfQ0hFQ0tBQkxFX0FDVElPTl9UWVBFOgor
ICAgICAgICB3a0l0ZW0gPSBXS0NvbnRleHRNZW51SXRlbUNyZWF0ZUFzQ2hlY2thYmxlQWN0aW9u
KGdldFdLVGFnRnJvbUV3a0FjdGlvbihpdGVtLT5hY3Rpb24oKSksIGFkb3B0V0soV0tTdHJpbmdD
cmVhdGVXaXRoVVRGOENTdHJpbmcoaXRlbS0+dGl0bGUoKSkpLmdldCgpLCBpdGVtLT5lbmFibGVk
KCksIGl0ZW0tPmNoZWNrZWQoKSk7CisgICAgICAgIGJyZWFrOworICAgIGRlZmF1bHQ6CisgICAg
ICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQog
Ci0gICAgbWVudS0+Y29udGV4dE1lbnVJdGVtU2VsZWN0ZWQoV2ViQ29udGV4dE1lbnVJdGVtRGF0
YSh0eXBlLCBhY3Rpb24sIGl0ZW0tPnRpdGxlKCksIGl0ZW0tPmVuYWJsZWQoKSwgaXRlbS0+Y2hl
Y2tlZCgpKSk7CisgICAgbWVudS0+Y29udGV4dE1lbnVJdGVtU2VsZWN0ZWQod2tJdGVtKTsKIAog
ICAgIHJldHVybiB0cnVlOwogfQorCitzdGF0aWMgV0tDb250ZXh0TWVudUl0ZW1UYWcgZ2V0V0tU
YWdGcm9tRXdrQWN0aW9uKEV3a19Db250ZXh0X01lbnVfSXRlbV9BY3Rpb24gYWN0aW9uKQorewor
ICAgIHN3aXRjaCAoYWN0aW9uKSB7CisgICAgY2FzZSBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFH
X05PX0FDVElPTjoKKyAgICAgICAgcmV0dXJuIGtXS0NvbnRleHRNZW51SXRlbVRhZ05vQWN0aW9u
OworICAgIGNhc2UgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19PUEVOX0xJTktfSU5fTkVXX1dJ
TkRPVzoKKyAgICAgICAgcmV0dXJuIGtXS0NvbnRleHRNZW51SXRlbVRhZ09wZW5MaW5rSW5OZXdX
aW5kb3c7CisgICAgY2FzZSBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0RPV05MT0FEX0xJTktf
VE9fRElTSzoKKyAgICAgICAgcmV0dXJuIGtXS0NvbnRleHRNZW51SXRlbVRhZ0Rvd25sb2FkTGlu
a1RvRGlzazsKKyAgICBjYXNlIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfQ09QWV9MSU5LX1RP
X0NMSVBCT0FSRDoKKyAgICAgICAgcmV0dXJuIGtXS0NvbnRleHRNZW51SXRlbVRhZ0NvcHlMaW5r
VG9DbGlwYm9hcmQ7CisgICAgY2FzZSBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX09QRU5fSU1B
R0VfSU5fTkVXX1dJTkRPVzoKKyAgICAgICAgcmV0dXJuIGtXS0NvbnRleHRNZW51SXRlbVRhZ09w
ZW5JbWFnZUluTmV3V2luZG93OworICAgIGNhc2UgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19E
T1dOTE9BRF9JTUFHRV9UT19ESVNLOgorICAgICAgICByZXR1cm4ga1dLQ29udGV4dE1lbnVJdGVt
VGFnRG93bmxvYWRJbWFnZVRvRGlzazsKKyAgICBjYXNlIEVXS19DT05URVhUX01FTlVfSVRFTV9U
QUdfQ09QWV9JTUFHRV9UT19DTElQQk9BUkQ6CisgICAgICAgIHJldHVybiBrV0tDb250ZXh0TWVu
dUl0ZW1UYWdDb3B5SW1hZ2VUb0NsaXBib2FyZDsKKyAgICBjYXNlIEVXS19DT05URVhUX01FTlVf
SVRFTV9UQUdfQ09QWV9JTUFHRV9VUkxfVE9fQ0xJUEJPQVJEOgorICAgICAgICByZXR1cm4ga1dL
Q29udGV4dE1lbnVJdGVtVGFnQ29weUltYWdlVXJsVG9DbGlwYm9hcmQ7CisgICAgY2FzZSBFV0tf
Q09OVEVYVF9NRU5VX0lURU1fVEFHX09QRU5fRlJBTUVfSU5fTkVXX1dJTkRPVzoKKyAgICAgICAg
cmV0dXJuIGtXS0NvbnRleHRNZW51SXRlbVRhZ09wZW5GcmFtZUluTmV3V2luZG93OworICAgIGNh
c2UgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19DT1BZOgorICAgICAgICByZXR1cm4ga1dLQ29u
dGV4dE1lbnVJdGVtVGFnQ29weTsKKyAgICBjYXNlIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdf
R09fQkFDSzoKKyAgICAgICAgcmV0dXJuIGtXS0NvbnRleHRNZW51SXRlbVRhZ0dvQmFjazsKKyAg
ICBjYXNlIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfR09fRk9SV0FSRDoKKyAgICAgICAgcmV0
dXJuIGtXS0NvbnRleHRNZW51SXRlbVRhZ0dvRm9yd2FyZDsKKyAgICBjYXNlIEVXS19DT05URVhU
X01FTlVfSVRFTV9UQUdfU1RPUDoKKyAgICAgICAgcmV0dXJuIGtXS0NvbnRleHRNZW51SXRlbVRh
Z1N0b3A7CisgICAgY2FzZSBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1JFTE9BRDoKKyAgICAg
ICAgcmV0dXJuIGtXS0NvbnRleHRNZW51SXRlbVRhZ1JlbG9hZDsKKyAgICBjYXNlIEVXS19DT05U
RVhUX01FTlVfSVRFTV9UQUdfQ1VUOgorICAgICAgICByZXR1cm4ga1dLQ29udGV4dE1lbnVJdGVt
VGFnQ3V0OworICAgIGNhc2UgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19QQVNURToKKyAgICAg
ICAgcmV0dXJuIGtXS0NvbnRleHRNZW51SXRlbVRhZ1Bhc3RlOworICAgIGNhc2UgRVdLX0NPTlRF
WFRfTUVOVV9JVEVNX1RBR19TRUxFQ1RfQUxMOgorICAgICAgICByZXR1cm4ga1dLQ29udGV4dE1l
bnVJdGVtVGFnU2VsZWN0QWxsOworICAgIGNhc2UgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19T
UEVMTElOR19HVUVTUzoKKyAgICAgICAgcmV0dXJuIGtXS0NvbnRleHRNZW51SXRlbVRhZ1NwZWxs
aW5nR3Vlc3M7CisgICAgY2FzZSBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX05PX0dVRVNTRVNf
Rk9VTkQ6CisgICAgICAgIHJldHVybiBrV0tDb250ZXh0TWVudUl0ZW1UYWdOb0d1ZXNzZXNGb3Vu
ZDsKKyAgICBjYXNlIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfSUdOT1JFX1NQRUxMSU5HOgor
ICAgICAgICByZXR1cm4ga1dLQ29udGV4dE1lbnVJdGVtVGFnSWdub3JlU3BlbGxpbmc7CisgICAg
Y2FzZSBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0xFQVJOX1NQRUxMSU5HOgorICAgICAgICBy
ZXR1cm4ga1dLQ29udGV4dE1lbnVJdGVtVGFnTGVhcm5TcGVsbGluZzsKKyAgICBjYXNlIEVXS19D
T05URVhUX01FTlVfSVRFTV9UQUdfT1RIRVI6CisgICAgICAgIHJldHVybiBrV0tDb250ZXh0TWVu
dUl0ZW1UYWdPdGhlcjsKKyAgICBjYXNlIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfU0VBUkNI
X0lOX1NQT1RMSUdIVDoKKyAgICAgICAgcmV0dXJuIGtXS0NvbnRleHRNZW51SXRlbVRhZ1NlYXJj
aEluU3BvdGxpZ2h0OworICAgIGNhc2UgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19TRUFSQ0hf
V0VCOgorICAgICAgICByZXR1cm4ga1dLQ29udGV4dE1lbnVJdGVtVGFnU2VhcmNoV2ViOworICAg
IGNhc2UgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19MT09LX1VQX0lOX0RJQ1RJT05BUlk6Cisg
ICAgICAgIHJldHVybiBrV0tDb250ZXh0TWVudUl0ZW1UYWdMb29rVXBJbkRpY3Rpb25hcnk7Cisg
ICAgY2FzZSBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX09QRU5fV0lUSF9ERUZBVUxUX0FQUExJ
Q0FUSU9OOgorICAgICAgICByZXR1cm4ga1dLQ29udGV4dE1lbnVJdGVtVGFnT3BlbldpdGhEZWZh
dWx0QXBwbGljYXRpb247CisgICAgY2FzZSBFV0tfQ09OVEVYVF9NRU5VX0lURU1fUERGQUNUVUFM
X1NJWkU6CisgICAgICAgIHJldHVybiBrV0tDb250ZXh0TWVudUl0ZW1UYWdQREZBY3R1YWxTaXpl
OworICAgIGNhc2UgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1BERlpPT01fSU46CisgICAgICAgIHJl
dHVybiBrV0tDb250ZXh0TWVudUl0ZW1UYWdQREZab29tSW47CisgICAgY2FzZSBFV0tfQ09OVEVY
VF9NRU5VX0lURU1fUERGWk9PTV9PVVQ6CisgICAgICAgIHJldHVybiBrV0tDb250ZXh0TWVudUl0
ZW1UYWdQREZab29tT3V0OworICAgIGNhc2UgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1BERkFVVE9f
U0laRToKKyAgICAgICAgcmV0dXJuIGtXS0NvbnRleHRNZW51SXRlbVRhZ1BERkF1dG9TaXplOwor
ICAgIGNhc2UgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1BERlNJTkdMRV9QQUdFOgorICAgICAgICBy
ZXR1cm4ga1dLQ29udGV4dE1lbnVJdGVtVGFnUERGU2luZ2xlUGFnZTsKKyAgICBjYXNlIEVXS19D
T05URVhUX01FTlVfSVRFTV9QREZGQUNJTkdfUEFHRVM6CisgICAgICAgIHJldHVybiBrV0tDb250
ZXh0TWVudUl0ZW1UYWdQREZGYWNpbmdQYWdlczsKKyAgICBjYXNlIEVXS19DT05URVhUX01FTlVf
SVRFTV9QREZDT05USU5VT1VTOgorICAgICAgICByZXR1cm4ga1dLQ29udGV4dE1lbnVJdGVtVGFn
UERGQ29udGludW91czsKKyAgICBjYXNlIEVXS19DT05URVhUX01FTlVfSVRFTV9QREZORVhUX1BB
R0U6CisgICAgICAgIHJldHVybiBrV0tDb250ZXh0TWVudUl0ZW1UYWdQREZOZXh0UGFnZTsKKyAg
ICBjYXNlIEVXS19DT05URVhUX01FTlVfSVRFTV9QREZQUkVWSU9VU19QQUdFOgorICAgICAgICBy
ZXR1cm4ga1dLQ29udGV4dE1lbnVJdGVtVGFnUERGUHJldmlvdXNQYWdlOworICAgIGNhc2UgRVdL
X0NPTlRFWFRfTUVOVV9JVEVNX1RBR19PUEVOX0xJTks6CisgICAgICAgIHJldHVybiBrV0tDb250
ZXh0TWVudUl0ZW1UYWdPcGVuTGluazsKKyAgICBjYXNlIEVXS19DT05URVhUX01FTlVfSVRFTV9U
QUdfSUdOT1JFX0dSQU1NQVI6CisgICAgICAgIHJldHVybiBrV0tDb250ZXh0TWVudUl0ZW1UYWdJ
Z25vcmVHcmFtbWFyOworICAgIGNhc2UgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19TUEVMTElO
R19NRU5VOgorICAgICAgICByZXR1cm4ga1dLQ29udGV4dE1lbnVJdGVtVGFnU3BlbGxpbmdNZW51
OworICAgIGNhc2UgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19TSE9XX1NQRUxMSU5HX1BBTkVM
OgorICAgICAgICByZXR1cm4ga1dLQ29udGV4dE1lbnVJdGVtVGFnU2hvd1NwZWxsaW5nUGFuZWw7
CisgICAgY2FzZSBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0NIRUNLX1NQRUxMSU5HOgorICAg
ICAgICByZXR1cm4ga1dLQ29udGV4dE1lbnVJdGVtVGFnQ2hlY2tTcGVsbGluZzsKKyAgICBjYXNl
IEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfQ0hFQ0tfU1BFTExJTkdfV0hJTEVfVFlQSU5HOgor
ICAgICAgICByZXR1cm4ga1dLQ29udGV4dE1lbnVJdGVtVGFnQ2hlY2tTcGVsbGluZ1doaWxlVHlw
aW5nOworICAgIGNhc2UgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19DSEVDS19HUkFNTUFSX1dJ
VEhfU1BFTExJTkc6CisgICAgICAgIHJldHVybiBrV0tDb250ZXh0TWVudUl0ZW1UYWdDaGVja0dy
YW1tYXJXaXRoU3BlbGxpbmc7CisgICAgY2FzZSBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0ZP
TlRfTUVOVToKKyAgICAgICAgcmV0dXJuIGtXS0NvbnRleHRNZW51SXRlbVRhZ0ZvbnRNZW51Owor
ICAgIGNhc2UgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19TSE9XX0ZPTlRTOgorICAgICAgICBy
ZXR1cm4ga1dLQ29udGV4dE1lbnVJdGVtVGFnU2hvd0ZvbnRzOworICAgIGNhc2UgRVdLX0NPTlRF
WFRfTUVOVV9JVEVNX1RBR19CT0xEOgorICAgICAgICByZXR1cm4ga1dLQ29udGV4dE1lbnVJdGVt
VGFnQm9sZDsKKyAgICBjYXNlIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfSVRBTElDOgorICAg
ICAgICByZXR1cm4ga1dLQ29udGV4dE1lbnVJdGVtVGFnSXRhbGljOworICAgIGNhc2UgRVdLX0NP
TlRFWFRfTUVOVV9JVEVNX1RBR19VTkRFUkxJTkU6CisgICAgICAgIHJldHVybiBrV0tDb250ZXh0
TWVudUl0ZW1UYWdVbmRlcmxpbmU7CisgICAgY2FzZSBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFH
X09VVExJTkU6CisgICAgICAgIHJldHVybiBrV0tDb250ZXh0TWVudUl0ZW1UYWdPdXRsaW5lOwor
ICAgIGNhc2UgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19TVFlMRVM6CisgICAgICAgIHJldHVy
biBrV0tDb250ZXh0TWVudUl0ZW1UYWdTdHlsZXM7CisgICAgY2FzZSBFV0tfQ09OVEVYVF9NRU5V
X0lURU1fVEFHX1NIT1dfQ09MT1JTOgorICAgICAgICByZXR1cm4ga1dLQ29udGV4dE1lbnVJdGVt
VGFnU2hvd0NvbG9yczsKKyAgICBjYXNlIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfU1BFRUNI
X01FTlU6CisgICAgICAgIHJldHVybiBrV0tDb250ZXh0TWVudUl0ZW1UYWdTcGVlY2hNZW51Owor
ICAgIGNhc2UgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19TVEFSVF9TUEVBS0lORzoKKyAgICAg
ICAgcmV0dXJuIGtXS0NvbnRleHRNZW51SXRlbVRhZ1N0YXJ0U3BlYWtpbmc7CisgICAgY2FzZSBF
V0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1NUT1BfU1BFQUtJTkc6CisgICAgICAgIHJldHVybiBr
V0tDb250ZXh0TWVudUl0ZW1UYWdTdG9wU3BlYWtpbmc7CisgICAgY2FzZSBFV0tfQ09OVEVYVF9N
RU5VX0lURU1fVEFHX1dSSVRJTkdfRElSRUNUSU9OX01FTlU6CisgICAgICAgIHJldHVybiBrV0tD
b250ZXh0TWVudUl0ZW1UYWdXcml0aW5nRGlyZWN0aW9uTWVudTsKKyAgICBjYXNlIEVXS19DT05U
RVhUX01FTlVfSVRFTV9UQUdfREVGQVVMVF9ESVJFQ1RJT046CisgICAgICAgIHJldHVybiBrV0tD
b250ZXh0TWVudUl0ZW1UYWdEZWZhdWx0RGlyZWN0aW9uOworICAgIGNhc2UgRVdLX0NPTlRFWFRf
TUVOVV9JVEVNX1RBR19MRUZUX1RPX1JJR0hUOgorICAgICAgICByZXR1cm4ga1dLQ29udGV4dE1l
bnVJdGVtVGFnTGVmdFRvUmlnaHQ7CisgICAgY2FzZSBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFH
X1JJR0hUX1RPX0xFRlQ6CisgICAgICAgIHJldHVybiBrV0tDb250ZXh0TWVudUl0ZW1UYWdSaWdo
dFRvTGVmdDsKKyAgICBjYXNlIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfUERGU0lOR0xFX1BB
R0VfU0NST0xMSU5HOgorICAgICAgICByZXR1cm4ga1dLQ29udGV4dE1lbnVJdGVtVGFnUERGU2lu
Z2xlUGFnZVNjcm9sbGluZzsKKyAgICBjYXNlIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfUERG
RkFDSU5HX1BBR0VTX1NDUk9MTElORzoKKyAgICAgICAgcmV0dXJuIGtXS0NvbnRleHRNZW51SXRl
bVRhZ1BERkZhY2luZ1BhZ2VzU2Nyb2xsaW5nOworICAgIGNhc2UgRVdLX0NPTlRFWFRfTUVOVV9J
VEVNX1RBR19JTlNQRUNUX0VMRU1FTlQ6CisgICAgICAgIHJldHVybiBrV0tDb250ZXh0TWVudUl0
ZW1UYWdJbnNwZWN0RWxlbWVudDsKKyAgICBjYXNlIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdf
VEVYVF9ESVJFQ1RJT05fTUVOVToKKyAgICAgICAgcmV0dXJuIGtXS0NvbnRleHRNZW51SXRlbVRh
Z1RleHREaXJlY3Rpb25NZW51OworICAgIGNhc2UgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19U
RVhUX0RJUkVDVElPTl9ERUZBVUxUOgorICAgICAgICByZXR1cm4ga1dLQ29udGV4dE1lbnVJdGVt
VGFnVGV4dERpcmVjdGlvbkRlZmF1bHQ7CisgICAgY2FzZSBFV0tfQ09OVEVYVF9NRU5VX0lURU1f
VEFHX1RFWFRfRElSRUNUSU9OX0xFRlRfVE9fUklHSFQ6CisgICAgICAgIHJldHVybiBrV0tDb250
ZXh0TWVudUl0ZW1UYWdUZXh0RGlyZWN0aW9uTGVmdFRvUmlnaHQ7CisgICAgY2FzZSBFV0tfQ09O
VEVYVF9NRU5VX0lURU1fVEFHX1RFWFRfRElSRUNUSU9OX1JJR0hUX1RPX0xFRlQ6CisgICAgICAg
IHJldHVybiBrV0tDb250ZXh0TWVudUl0ZW1UYWdUZXh0RGlyZWN0aW9uUmlnaHRUb0xlZnQ7Cisg
ICAgY2FzZSBFV0tfQ09OVEVYVF9NRU5VX0lURU1fT1BFTl9NRURJQV9JTl9ORVdfV0lORE9XOgor
ICAgICAgICByZXR1cm4ga1dLQ29udGV4dE1lbnVJdGVtVGFnT3Blbk1lZGlhSW5OZXdXaW5kb3c7
CisgICAgY2FzZSBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0NPUFlfTUVESUFfTElOS19UT19D
TElQQk9BUkQ6CisgICAgICAgIHJldHVybiBrV0tDb250ZXh0TWVudUl0ZW1UYWdDb3B5TWVkaWFM
aW5rVG9DbGlwYm9hcmQ7CisgICAgY2FzZSBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1RPR0dM
RV9NRURJQV9DT05UUk9MUzoKKyAgICAgICAgcmV0dXJuIGtXS0NvbnRleHRNZW51SXRlbVRhZ1Rv
Z2dsZU1lZGlhQ29udHJvbHM7CisgICAgY2FzZSBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1RP
R0dMRV9NRURJQV9MT09QOgorICAgICAgICByZXR1cm4ga1dLQ29udGV4dE1lbnVJdGVtVGFnVG9n
Z2xlTWVkaWFMb29wOworICAgIGNhc2UgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19FTlRFUl9W
SURFT19GVUxMU0NSRUVOOgorICAgICAgICByZXR1cm4ga1dLQ29udGV4dE1lbnVJdGVtVGFnRW50
ZXJWaWRlb0Z1bGxzY3JlZW47CisgICAgY2FzZSBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX01F
RElBX1BMQVlfUEFVU0U6CisgICAgICAgIHJldHVybiBrV0tDb250ZXh0TWVudUl0ZW1UYWdNZWRp
YVBsYXlQYXVzZTsKKyAgICBjYXNlIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfTUVESUFfTVVU
RToKKyAgICAgICAgcmV0dXJuIGtXS0NvbnRleHRNZW51SXRlbVRhZ01lZGlhTXV0ZTsKKyAgICBj
YXNlIEVXS19DT05URVhUX01FTlVfSVRFTV9CQVNFX0FQUExJQ0FUSU9OX1RBRzoKKyAgICAgICAg
cmV0dXJuIGtXS0NvbnRleHRNZW51SXRlbUJhc2VBcHBsaWNhdGlvblRhZzsKKyAgICBkZWZhdWx0
OgorICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8V0tDb250ZXh0TWVudUl0ZW1UYWc+KGFjdGlv
bik7CisgICAgfQorfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9l
ZmwvZXdrX2NvbnRleHRfbWVudV9pdGVtLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvZWZsL2V3a19jb250ZXh0X21lbnVfaXRlbS5jcHAKaW5kZXggMWZmODY1Mi4uZWRiOWY0NiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHRf
bWVudV9pdGVtLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tf
Y29udGV4dF9tZW51X2l0ZW0uY3BwCkBAIC0yOCwxNyArMjgsMTkgQEAKIAogI2luY2x1ZGUgImV3
a19jb250ZXh0X21lbnVfaXRlbV9wcml2YXRlLmgiCiAjaW5jbHVkZSAiZXdrX3ByaXZhdGUuaCIK
KyNpbmNsdWRlIDxXZWJLaXQyL1dLQ29udGV4dE1lbnVJdGVtVHlwZXMuaD4KICNpbmNsdWRlIDx3
dGYvdGV4dC9DU3RyaW5nLmg+CiAKLXVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogdXNpbmcgbmFt
ZXNwYWNlIFdlYktpdDsKIAotRXdrQ29udGV4dE1lbnVJdGVtOjpFd2tDb250ZXh0TWVudUl0ZW0o
Y29uc3QgV2ViQ29udGV4dE1lbnVJdGVtRGF0YSYgaXRlbSkKLSAgICA6IG1fdHlwZShzdGF0aWNf
Y2FzdDxFd2tfQ29udGV4dF9NZW51X0l0ZW1fVHlwZT4oaXRlbS50eXBlKCkpKQotICAgICwgbV9h
Y3Rpb24oc3RhdGljX2Nhc3Q8RXdrX0NvbnRleHRfTWVudV9JdGVtX0FjdGlvbj4oaXRlbS5hY3Rp
b24oKSkpCi0gICAgLCBtX3RpdGxlKGl0ZW0udGl0bGUoKS51dGY4KCkuZGF0YSgpKQotICAgICwg
bV9pc0NoZWNrZWQoaXRlbS5jaGVja2VkKCkpCi0gICAgLCBtX2lzRW5hYmxlZChpdGVtLmVuYWJs
ZWQoKSkKK3N0YXRpYyBFd2tfQ29udGV4dF9NZW51X0l0ZW1fQWN0aW9uIGdldEV3a0FjdGlvbkZy
b21XS1RhZyhXS0NvbnRleHRNZW51SXRlbVRhZyBhY3Rpb24pOworCitFd2tDb250ZXh0TWVudUl0
ZW06OkV3a0NvbnRleHRNZW51SXRlbShXS0NvbnRleHRNZW51SXRlbVJlZiBpdGVtKQorICAgIDog
bV90eXBlKHN0YXRpY19jYXN0PEV3a19Db250ZXh0X01lbnVfSXRlbV9UeXBlPihXS0NvbnRleHRN
ZW51SXRlbUdldFR5cGUoaXRlbSkpKQorICAgICwgbV9hY3Rpb24oZ2V0RXdrQWN0aW9uRnJvbVdL
VGFnKChXS0NvbnRleHRNZW51SXRlbUdldFRhZyhpdGVtKSkpKQorICAgICwgbV90aXRsZShXS0Vp
bmFTaGFyZWRTdHJpbmcoQWRvcHRXSywgV0tDb250ZXh0TWVudUl0ZW1Db3B5VGl0bGUoaXRlbSkp
KQorICAgICwgbV9pc0NoZWNrZWQoV0tDb250ZXh0TWVudUl0ZW1HZXRDaGVja2VkKGl0ZW0pKQor
ICAgICwgbV9pc0VuYWJsZWQoV0tDb250ZXh0TWVudUl0ZW1HZXRFbmFibGVkKGl0ZW0pKQogICAg
ICwgbV9wYXJlbnRNZW51KDApCiAgICAgLCBtX3N1Yk1lbnUoMCkKIHsKQEAgLTE0NSw4MCArMTQ3
LDE1NCBAQCBFaW5hX0Jvb2wgZXdrX2NvbnRleHRfbWVudV9pdGVtX2VuYWJsZWRfc2V0KEV3a19D
b250ZXh0X01lbnVfSXRlbSogaXRlbSwgRWluYV9CbwogICAgIHJldHVybiB0cnVlOwogfQogCi1D
T01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfTk9f
QUNUSU9OLCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdOb0FjdGlvbik7Ci1DT01QSUxFX0FT
U0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfT1BFTl9MSU5LX0lO
X05FV19XSU5ET1csIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ09wZW5MaW5rSW5OZXdXaW5k
b3cpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1f
VEFHX0RPV05MT0FEX0xJTktfVE9fRElTSywgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnRG93
bmxvYWRMaW5rVG9EaXNrKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRF
WFRfTUVOVV9JVEVNX1RBR19DT1BZX0xJTktfVE9fQ0xJUEJPQVJELCBXZWJDb3JlOjpDb250ZXh0
TWVudUl0ZW1UYWdDb3B5TGlua1RvQ2xpcGJvYXJkKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5H
X0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19PUEVOX0lNQUdFX0lOX05FV19XSU5ET1cs
IFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ09wZW5JbWFnZUluTmV3V2luZG93KTsKLUNPTVBJ
TEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19ET1dOTE9B
RF9JTUFHRV9UT19ESVNLLCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdEb3dubG9hZEltYWdl
VG9EaXNrKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9J
VEVNX1RBR19DT1BZX0lNQUdFX1RPX0NMSVBCT0FSRCwgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVt
VGFnQ29weUltYWdlVG9DbGlwYm9hcmQpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShF
V0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0NPUFlfSU1BR0VfVVJMX1RPX0NMSVBCT0FSRCwgV2Vi
Q29yZTo6Q29udGV4dE1lbnVJdGVtVGFnQ29weUltYWdlVXJsVG9DbGlwYm9hcmQpOwotQ09NUElM
RV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX09QRU5fRlJB
TUVfSU5fTkVXX1dJTkRPVywgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnT3BlbkZyYW1lSW5O
ZXdXaW5kb3cpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5V
X0lURU1fVEFHX0NPUFksIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ0NvcHkpOwotQ09NUElM
RV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0dPX0JBQ0ss
IFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ0dvQmFjayk7Ci1DT01QSUxFX0FTU0VSVF9NQVRD
SElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfR09fRk9SV0FSRCwgV2ViQ29yZTo6
Q29udGV4dE1lbnVJdGVtVGFnR29Gb3J3YXJkKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VO
VU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19TVE9QLCBXZWJDb3JlOjpDb250ZXh0TWVudUl0
ZW1UYWdTdG9wKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVO
VV9JVEVNX1RBR19SRUxPQUQsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ1JlbG9hZCk7Ci1D
T01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfQ1VU
LCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdDdXQpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJ
TkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1BBU1RFLCBXZWJDb3JlOjpDb250ZXh0
TWVudUl0ZW1UYWdQYXN0ZSk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05U
RVhUX01FTlVfSVRFTV9UQUdfU0VMRUNUX0FMTCwgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFn
U2VsZWN0QWxsKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVO
VV9JVEVNX1RBR19TUEVMTElOR19HVUVTUywgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnU3Bl
bGxpbmdHdWVzcyk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01F
TlVfSVRFTV9UQUdfTk9fR1VFU1NFU19GT1VORCwgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFn
Tm9HdWVzc2VzRm91bmQpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVY
VF9NRU5VX0lURU1fVEFHX0lHTk9SRV9TUEVMTElORywgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVt
VGFnSWdub3JlU3BlbGxpbmcpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09O
VEVYVF9NRU5VX0lURU1fVEFHX0xFQVJOX1NQRUxMSU5HLCBXZWJDb3JlOjpDb250ZXh0TWVudUl0
ZW1UYWdMZWFyblNwZWxsaW5nKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NP
TlRFWFRfTUVOVV9JVEVNX1RBR19PVEhFUiwgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnT3Ro
ZXIpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1f
VEFHX1NFQVJDSF9JTl9TUE9UTElHSFQsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ1NlYXJj
aEluU3BvdGxpZ2h0KTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRf
TUVOVV9JVEVNX1RBR19TRUFSQ0hfV0VCLCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdTZWFy
Y2hXZWIpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lU
RU1fVEFHX0xPT0tfVVBfSU5fRElDVElPTkFSWSwgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFn
TG9va1VwSW5EaWN0aW9uYXJ5KTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NP
TlRFWFRfTUVOVV9JVEVNX1RBR19PUEVOX1dJVEhfREVGQVVMVF9BUFBMSUNBVElPTiwgV2ViQ29y
ZTo6Q29udGV4dE1lbnVJdGVtVGFnT3BlbldpdGhEZWZhdWx0QXBwbGljYXRpb24pOwotQ09NUElM
RV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fUERGQUNUVUFMX1NJ
WkUsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVBERkFjdHVhbFNpemUpOwotQ09NUElMRV9BU1NF
UlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fUERGWk9PTV9JTiwgV2ViQ29y
ZTo6Q29udGV4dE1lbnVJdGVtUERGWm9vbUluKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VO
VU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1BERlpPT01fT1VULCBXZWJDb3JlOjpDb250ZXh0TWVu
dUl0ZW1QREZab29tT3V0KTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRF
WFRfTUVOVV9JVEVNX1BERkFVVE9fU0laRSwgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtUERGQXV0
b1NpemUpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lU
RU1fUERGU0lOR0xFX1BBR0UsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVBERlNpbmdsZVBhZ2Up
OwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fUERG
RkFDSU5HX1BBR0VTLCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1QREZGYWNpbmdQYWdlcyk7Ci1D
T01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9QREZDT05U
SU5VT1VTLCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1QREZDb250aW51b3VzKTsKLUNPTVBJTEVf
QVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1BERk5FWFRfUEFHRSwg
V2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtUERGTmV4dFBhZ2UpOwotQ09NUElMRV9BU1NFUlRfTUFU
Q0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fUERGUFJFVklPVVNfUEFHRSwgV2ViQ29y
ZTo6Q29udGV4dE1lbnVJdGVtUERGUHJldmlvdXNQYWdlKTsKLUNPTVBJTEVfQVNTRVJUX01BVENI
SU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19PUEVOX0xJTkssIFdlYkNvcmU6OkNv
bnRleHRNZW51SXRlbVRhZ09wZW5MaW5rKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0o
RVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19JR05PUkVfR1JBTU1BUiwgV2ViQ29yZTo6Q29udGV4
dE1lbnVJdGVtVGFnSWdub3JlR3JhbW1hcik7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVN
KEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfU1BFTExJTkdfTUVOVSwgV2ViQ29yZTo6Q29udGV4
dE1lbnVJdGVtVGFnU3BlbGxpbmdNZW51KTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0o
RVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19TSE9XX1NQRUxMSU5HX1BBTkVMLCBXZWJDb3JlOjpD
b250ZXh0TWVudUl0ZW1UYWdTaG93U3BlbGxpbmdQYW5lbCk7Ci1DT01QSUxFX0FTU0VSVF9NQVRD
SElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfQ0hFQ0tfU1BFTExJTkcsIFdlYkNv
cmU6OkNvbnRleHRNZW51SXRlbVRhZ0NoZWNrU3BlbGxpbmcpOwotQ09NUElMRV9BU1NFUlRfTUFU
Q0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0NIRUNLX1NQRUxMSU5HX1dISUxF
X1RZUElORywgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnQ2hlY2tTcGVsbGluZ1doaWxlVHlw
aW5nKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVN
X1RBR19DSEVDS19HUkFNTUFSX1dJVEhfU1BFTExJTkcsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRl
bVRhZ0NoZWNrR3JhbW1hcldpdGhTcGVsbGluZyk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19F
TlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfRk9OVF9NRU5VLCBXZWJDb3JlOjpDb250ZXh0
TWVudUl0ZW1UYWdGb250TWVudSk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19D
T05URVhUX01FTlVfSVRFTV9UQUdfU0hPV19GT05UUywgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVt
VGFnU2hvd0ZvbnRzKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRf
TUVOVV9JVEVNX1RBR19CT0xELCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdCb2xkKTsKLUNP
TVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19JVEFM
SUMsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ0l0YWxpYyk7Ci1DT01QSUxFX0FTU0VSVF9N
QVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfVU5ERVJMSU5FLCBXZWJDb3Jl
OjpDb250ZXh0TWVudUl0ZW1UYWdVbmRlcmxpbmUpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdf
RU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX09VVExJTkUsIFdlYkNvcmU6OkNvbnRleHRN
ZW51SXRlbVRhZ091dGxpbmUpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09O
VEVYVF9NRU5VX0lURU1fVEFHX1NUWUxFUywgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnU3R5
bGVzKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVN
X1RBR19TSE9XX0NPTE9SUywgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnU2hvd0NvbG9ycyk7
Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdf
U1BFRUNIX01FTlUsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ1NwZWVjaE1lbnUpOwotQ09N
UElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1NUQVJU
X1NQRUFLSU5HLCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdTdGFydFNwZWFraW5nKTsKLUNP
TVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19TVE9Q
X1NQRUFLSU5HLCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdTdG9wU3BlYWtpbmcpOwotQ09N
UElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1dSSVRJ
TkdfRElSRUNUSU9OX01FTlUsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ1dyaXRpbmdEaXJl
Y3Rpb25NZW51KTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVO
VV9JVEVNX1RBR19ERUZBVUxUX0RJUkVDVElPTiwgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFn
RGVmYXVsdERpcmVjdGlvbik7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05U
RVhUX01FTlVfSVRFTV9UQUdfTEVGVF9UT19SSUdIVCwgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVt
VGFnTGVmdFRvUmlnaHQpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVY
VF9NRU5VX0lURU1fVEFHX1JJR0hUX1RPX0xFRlQsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRh
Z1JpZ2h0VG9MZWZ0KTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRf
TUVOVV9JVEVNX1RBR19QREZTSU5HTEVfUEFHRV9TQ1JPTExJTkcsIFdlYkNvcmU6OkNvbnRleHRN
ZW51SXRlbVRhZ1BERlNpbmdsZVBhZ2VTY3JvbGxpbmcpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJ
TkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1BERkZBQ0lOR19QQUdFU19TQ1JPTExJ
TkcsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ1BERkZhY2luZ1BhZ2VzU2Nyb2xsaW5nKTsK
LSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tf
Q09OVEVYVF9NRU5VX0lURU1fVEFHX0lOU1BFQ1RfRUxFTUVOVCwgV2ViQ29yZTo6Q29udGV4dE1l
bnVJdGVtVGFnSW5zcGVjdEVsZW1lbnQpOwotI2VuZGlmCi1DT01QSUxFX0FTU0VSVF9NQVRDSElO
R19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfVEVYVF9ESVJFQ1RJT05fTUVOVSwgV2Vi
Q29yZTo6Q29udGV4dE1lbnVJdGVtVGFnVGV4dERpcmVjdGlvbk1lbnUpOwotQ09NUElMRV9BU1NF
UlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1RFWFRfRElSRUNUSU9O
X0RFRkFVTFQsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ1RleHREaXJlY3Rpb25EZWZhdWx0
KTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RB
R19URVhUX0RJUkVDVElPTl9MRUZUX1RPX1JJR0hULCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1U
YWdUZXh0RGlyZWN0aW9uTGVmdFRvUmlnaHQpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5V
TShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1RFWFRfRElSRUNUSU9OX1JJR0hUX1RPX0xFRlQs
IFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ1RleHREaXJlY3Rpb25SaWdodFRvTGVmdCk7Ci1D
T01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9PUEVOX01F
RElBX0lOX05FV19XSU5ET1csIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ09wZW5NZWRpYUlu
TmV3V2luZG93KTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVO
VV9JVEVNX1RBR19DT1BZX01FRElBX0xJTktfVE9fQ0xJUEJPQVJELCBXZWJDb3JlOjpDb250ZXh0
TWVudUl0ZW1UYWdDb3B5TWVkaWFMaW5rVG9DbGlwYm9hcmQpOwotQ09NUElMRV9BU1NFUlRfTUFU
Q0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1RPR0dMRV9NRURJQV9DT05UUk9M
UywgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlTWVkaWFDb250cm9scyk7Ci1DT01Q
SUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfVE9HR0xF
X01FRElBX0xPT1AsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ1RvZ2dsZU1lZGlhTG9vcCk7
Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdf
RU5URVJfVklERU9fRlVMTFNDUkVFTiwgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnRW50ZXJW
aWRlb0Z1bGxzY3JlZW4pOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVY
VF9NRU5VX0lURU1fVEFHX01FRElBX1BMQVlfUEFVU0UsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRl
bVRhZ01lZGlhUGxheVBhdXNlKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NP
TlRFWFRfTUVOVV9JVEVNX1RBR19NRURJQV9NVVRFLCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1U
YWdNZWRpYU11dGUpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9N
RU5VX0lURU1fQkFTRV9DVVNUT01fVEFHLCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1CYXNlQ3Vz
dG9tVGFnKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9J
VEVNX0NVU1RPTV9UQUdfTk9fQUNUSU9OLCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1DdXN0b21U
YWdOb0FjdGlvbik7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01F
TlVfSVRFTV9MQVNUX0NVU1RPTV9UQUcsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbUxhc3RDdXN0
b21UYWcpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lU
RU1fQkFTRV9BUFBMSUNBVElPTl9UQUcsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbUJhc2VBcHBs
aWNhdGlvblRhZyk7CitzdGF0aWMgRXdrX0NvbnRleHRfTWVudV9JdGVtX0FjdGlvbiBnZXRFd2tB
Y3Rpb25Gcm9tV0tUYWcoV0tDb250ZXh0TWVudUl0ZW1UYWcgYWN0aW9uKQoreworICAgIHN3aXRj
aCAoYWN0aW9uKSB7CisgICAgY2FzZSBrV0tDb250ZXh0TWVudUl0ZW1UYWdOb0FjdGlvbjoKKyAg
ICAgICAgcmV0dXJuIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfTk9fQUNUSU9OOworICAgIGNh
c2Uga1dLQ29udGV4dE1lbnVJdGVtVGFnT3BlbkxpbmtJbk5ld1dpbmRvdzoKKyAgICAgICAgcmV0
dXJuIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfT1BFTl9MSU5LX0lOX05FV19XSU5ET1c7Cisg
ICAgY2FzZSBrV0tDb250ZXh0TWVudUl0ZW1UYWdEb3dubG9hZExpbmtUb0Rpc2s6CisgICAgICAg
IHJldHVybiBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0RPV05MT0FEX0xJTktfVE9fRElTSzsK
KyAgICBjYXNlIGtXS0NvbnRleHRNZW51SXRlbVRhZ0NvcHlMaW5rVG9DbGlwYm9hcmQ6CisgICAg
ICAgIHJldHVybiBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0NPUFlfTElOS19UT19DTElQQk9B
UkQ7CisgICAgY2FzZSBrV0tDb250ZXh0TWVudUl0ZW1UYWdPcGVuSW1hZ2VJbk5ld1dpbmRvdzoK
KyAgICAgICAgcmV0dXJuIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfT1BFTl9JTUFHRV9JTl9O
RVdfV0lORE9XOworICAgIGNhc2Uga1dLQ29udGV4dE1lbnVJdGVtVGFnRG93bmxvYWRJbWFnZVRv
RGlzazoKKyAgICAgICAgcmV0dXJuIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfRE9XTkxPQURf
SU1BR0VfVE9fRElTSzsKKyAgICBjYXNlIGtXS0NvbnRleHRNZW51SXRlbVRhZ0NvcHlJbWFnZVRv
Q2xpcGJvYXJkOgorICAgICAgICByZXR1cm4gRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19DT1BZ
X0lNQUdFX1RPX0NMSVBCT0FSRDsKKyAgICBjYXNlIGtXS0NvbnRleHRNZW51SXRlbVRhZ0NvcHlJ
bWFnZVVybFRvQ2xpcGJvYXJkOgorICAgICAgICByZXR1cm4gRVdLX0NPTlRFWFRfTUVOVV9JVEVN
X1RBR19DT1BZX0lNQUdFX1VSTF9UT19DTElQQk9BUkQ7CisgICAgY2FzZSBrV0tDb250ZXh0TWVu
dUl0ZW1UYWdPcGVuRnJhbWVJbk5ld1dpbmRvdzoKKyAgICAgICAgcmV0dXJuIEVXS19DT05URVhU
X01FTlVfSVRFTV9UQUdfT1BFTl9GUkFNRV9JTl9ORVdfV0lORE9XOworICAgIGNhc2Uga1dLQ29u
dGV4dE1lbnVJdGVtVGFnQ29weToKKyAgICAgICAgcmV0dXJuIEVXS19DT05URVhUX01FTlVfSVRF
TV9UQUdfQ09QWTsKKyAgICBjYXNlIGtXS0NvbnRleHRNZW51SXRlbVRhZ0dvQmFjazoKKyAgICAg
ICAgcmV0dXJuIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfR09fQkFDSzsKKyAgICBjYXNlIGtX
S0NvbnRleHRNZW51SXRlbVRhZ0dvRm9yd2FyZDoKKyAgICAgICAgcmV0dXJuIEVXS19DT05URVhU
X01FTlVfSVRFTV9UQUdfR09fRk9SV0FSRDsKKyAgICBjYXNlIGtXS0NvbnRleHRNZW51SXRlbVRh
Z1N0b3A6CisgICAgICAgIHJldHVybiBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1NUT1A7Cisg
ICAgY2FzZSBrV0tDb250ZXh0TWVudUl0ZW1UYWdSZWxvYWQ6CisgICAgICAgIHJldHVybiBFV0tf
Q09OVEVYVF9NRU5VX0lURU1fVEFHX1JFTE9BRDsKKyAgICBjYXNlIGtXS0NvbnRleHRNZW51SXRl
bVRhZ0N1dDoKKyAgICAgICAgcmV0dXJuIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfQ1VUOwor
ICAgIGNhc2Uga1dLQ29udGV4dE1lbnVJdGVtVGFnUGFzdGU6CisgICAgICAgIHJldHVybiBFV0tf
Q09OVEVYVF9NRU5VX0lURU1fVEFHX1BBU1RFOworICAgIGNhc2Uga1dLQ29udGV4dE1lbnVJdGVt
VGFnU2VsZWN0QWxsOgorICAgICAgICByZXR1cm4gRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19T
RUxFQ1RfQUxMOworICAgIGNhc2Uga1dLQ29udGV4dE1lbnVJdGVtVGFnU3BlbGxpbmdHdWVzczoK
KyAgICAgICAgcmV0dXJuIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfU1BFTExJTkdfR1VFU1M7
CisgICAgY2FzZSBrV0tDb250ZXh0TWVudUl0ZW1UYWdOb0d1ZXNzZXNGb3VuZDoKKyAgICAgICAg
cmV0dXJuIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfTk9fR1VFU1NFU19GT1VORDsKKyAgICBj
YXNlIGtXS0NvbnRleHRNZW51SXRlbVRhZ0lnbm9yZVNwZWxsaW5nOgorICAgICAgICByZXR1cm4g
RVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19JR05PUkVfU1BFTExJTkc7CisgICAgY2FzZSBrV0tD
b250ZXh0TWVudUl0ZW1UYWdMZWFyblNwZWxsaW5nOgorICAgICAgICByZXR1cm4gRVdLX0NPTlRF
WFRfTUVOVV9JVEVNX1RBR19MRUFSTl9TUEVMTElORzsKKyAgICBjYXNlIGtXS0NvbnRleHRNZW51
SXRlbVRhZ090aGVyOgorICAgICAgICByZXR1cm4gRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19P
VEhFUjsKKyAgICBjYXNlIGtXS0NvbnRleHRNZW51SXRlbVRhZ1NlYXJjaEluU3BvdGxpZ2h0Ogor
ICAgICAgICByZXR1cm4gRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19TRUFSQ0hfSU5fU1BPVExJ
R0hUOworICAgIGNhc2Uga1dLQ29udGV4dE1lbnVJdGVtVGFnU2VhcmNoV2ViOgorICAgICAgICBy
ZXR1cm4gRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19TRUFSQ0hfV0VCOworICAgIGNhc2Uga1dL
Q29udGV4dE1lbnVJdGVtVGFnTG9va1VwSW5EaWN0aW9uYXJ5OgorICAgICAgICByZXR1cm4gRVdL
X0NPTlRFWFRfTUVOVV9JVEVNX1RBR19MT09LX1VQX0lOX0RJQ1RJT05BUlk7CisgICAgY2FzZSBr
V0tDb250ZXh0TWVudUl0ZW1UYWdPcGVuV2l0aERlZmF1bHRBcHBsaWNhdGlvbjoKKyAgICAgICAg
cmV0dXJuIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfT1BFTl9XSVRIX0RFRkFVTFRfQVBQTElD
QVRJT047CisgICAgY2FzZSBrV0tDb250ZXh0TWVudUl0ZW1UYWdQREZBY3R1YWxTaXplOgorICAg
ICAgICByZXR1cm4gRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1BERkFDVFVBTF9TSVpFOworICAgIGNh
c2Uga1dLQ29udGV4dE1lbnVJdGVtVGFnUERGWm9vbUluOgorICAgICAgICByZXR1cm4gRVdLX0NP
TlRFWFRfTUVOVV9JVEVNX1BERlpPT01fSU47CisgICAgY2FzZSBrV0tDb250ZXh0TWVudUl0ZW1U
YWdQREZab29tT3V0OgorICAgICAgICByZXR1cm4gRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1BERlpP
T01fT1VUOworICAgIGNhc2Uga1dLQ29udGV4dE1lbnVJdGVtVGFnUERGQXV0b1NpemU6CisgICAg
ICAgIHJldHVybiBFV0tfQ09OVEVYVF9NRU5VX0lURU1fUERGQVVUT19TSVpFOworICAgIGNhc2Ug
a1dLQ29udGV4dE1lbnVJdGVtVGFnUERGU2luZ2xlUGFnZToKKyAgICAgICAgcmV0dXJuIEVXS19D
T05URVhUX01FTlVfSVRFTV9QREZTSU5HTEVfUEFHRTsKKyAgICBjYXNlIGtXS0NvbnRleHRNZW51
SXRlbVRhZ1BERkZhY2luZ1BhZ2VzOgorICAgICAgICByZXR1cm4gRVdLX0NPTlRFWFRfTUVOVV9J
VEVNX1BERkZBQ0lOR19QQUdFUzsKKyAgICBjYXNlIGtXS0NvbnRleHRNZW51SXRlbVRhZ1BERkNv
bnRpbnVvdXM6CisgICAgICAgIHJldHVybiBFV0tfQ09OVEVYVF9NRU5VX0lURU1fUERGQ09OVElO
VU9VUzsKKyAgICBjYXNlIGtXS0NvbnRleHRNZW51SXRlbVRhZ1BERk5leHRQYWdlOgorICAgICAg
ICByZXR1cm4gRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1BERk5FWFRfUEFHRTsKKyAgICBjYXNlIGtX
S0NvbnRleHRNZW51SXRlbVRhZ1BERlByZXZpb3VzUGFnZToKKyAgICAgICAgcmV0dXJuIEVXS19D
T05URVhUX01FTlVfSVRFTV9QREZQUkVWSU9VU19QQUdFOworICAgIGNhc2Uga1dLQ29udGV4dE1l
bnVJdGVtVGFnT3Blbkxpbms6CisgICAgICAgIHJldHVybiBFV0tfQ09OVEVYVF9NRU5VX0lURU1f
VEFHX09QRU5fTElOSzsKKyAgICBjYXNlIGtXS0NvbnRleHRNZW51SXRlbVRhZ0lnbm9yZUdyYW1t
YXI6CisgICAgICAgIHJldHVybiBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0lHTk9SRV9HUkFN
TUFSOworICAgIGNhc2Uga1dLQ29udGV4dE1lbnVJdGVtVGFnU3BlbGxpbmdNZW51OgorICAgICAg
ICByZXR1cm4gRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19TUEVMTElOR19NRU5VOworICAgIGNh
c2Uga1dLQ29udGV4dE1lbnVJdGVtVGFnU2hvd1NwZWxsaW5nUGFuZWw6CisgICAgICAgIHJldHVy
biBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1NIT1dfU1BFTExJTkdfUEFORUw7CisgICAgY2Fz
ZSBrV0tDb250ZXh0TWVudUl0ZW1UYWdDaGVja1NwZWxsaW5nOgorICAgICAgICByZXR1cm4gRVdL
X0NPTlRFWFRfTUVOVV9JVEVNX1RBR19DSEVDS19TUEVMTElORzsKKyAgICBjYXNlIGtXS0NvbnRl
eHRNZW51SXRlbVRhZ0NoZWNrU3BlbGxpbmdXaGlsZVR5cGluZzoKKyAgICAgICAgcmV0dXJuIEVX
S19DT05URVhUX01FTlVfSVRFTV9UQUdfQ0hFQ0tfU1BFTExJTkdfV0hJTEVfVFlQSU5HOworICAg
IGNhc2Uga1dLQ29udGV4dE1lbnVJdGVtVGFnQ2hlY2tHcmFtbWFyV2l0aFNwZWxsaW5nOgorICAg
ICAgICByZXR1cm4gRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19DSEVDS19HUkFNTUFSX1dJVEhf
U1BFTExJTkc7CisgICAgY2FzZSBrV0tDb250ZXh0TWVudUl0ZW1UYWdGb250TWVudToKKyAgICAg
ICAgcmV0dXJuIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfRk9OVF9NRU5VOworICAgIGNhc2Ug
a1dLQ29udGV4dE1lbnVJdGVtVGFnU2hvd0ZvbnRzOgorICAgICAgICByZXR1cm4gRVdLX0NPTlRF
WFRfTUVOVV9JVEVNX1RBR19TSE9XX0ZPTlRTOworICAgIGNhc2Uga1dLQ29udGV4dE1lbnVJdGVt
VGFnQm9sZDoKKyAgICAgICAgcmV0dXJuIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfQk9MRDsK
KyAgICBjYXNlIGtXS0NvbnRleHRNZW51SXRlbVRhZ0l0YWxpYzoKKyAgICAgICAgcmV0dXJuIEVX
S19DT05URVhUX01FTlVfSVRFTV9UQUdfSVRBTElDOworICAgIGNhc2Uga1dLQ29udGV4dE1lbnVJ
dGVtVGFnVW5kZXJsaW5lOgorICAgICAgICByZXR1cm4gRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RB
R19VTkRFUkxJTkU7CisgICAgY2FzZSBrV0tDb250ZXh0TWVudUl0ZW1UYWdPdXRsaW5lOgorICAg
ICAgICByZXR1cm4gRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19PVVRMSU5FOworICAgIGNhc2Ug
a1dLQ29udGV4dE1lbnVJdGVtVGFnU3R5bGVzOgorICAgICAgICByZXR1cm4gRVdLX0NPTlRFWFRf
TUVOVV9JVEVNX1RBR19TVFlMRVM7CisgICAgY2FzZSBrV0tDb250ZXh0TWVudUl0ZW1UYWdTaG93
Q29sb3JzOgorICAgICAgICByZXR1cm4gRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19TSE9XX0NP
TE9SUzsKKyAgICBjYXNlIGtXS0NvbnRleHRNZW51SXRlbVRhZ1NwZWVjaE1lbnU6CisgICAgICAg
IHJldHVybiBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1NQRUVDSF9NRU5VOworICAgIGNhc2Ug
a1dLQ29udGV4dE1lbnVJdGVtVGFnU3RhcnRTcGVha2luZzoKKyAgICAgICAgcmV0dXJuIEVXS19D
T05URVhUX01FTlVfSVRFTV9UQUdfU1RBUlRfU1BFQUtJTkc7CisgICAgY2FzZSBrV0tDb250ZXh0
TWVudUl0ZW1UYWdTdG9wU3BlYWtpbmc6CisgICAgICAgIHJldHVybiBFV0tfQ09OVEVYVF9NRU5V
X0lURU1fVEFHX1NUT1BfU1BFQUtJTkc7CisgICAgY2FzZSBrV0tDb250ZXh0TWVudUl0ZW1UYWdX
cml0aW5nRGlyZWN0aW9uTWVudToKKyAgICAgICAgcmV0dXJuIEVXS19DT05URVhUX01FTlVfSVRF
TV9UQUdfV1JJVElOR19ESVJFQ1RJT05fTUVOVTsKKyAgICBjYXNlIGtXS0NvbnRleHRNZW51SXRl
bVRhZ0RlZmF1bHREaXJlY3Rpb246CisgICAgICAgIHJldHVybiBFV0tfQ09OVEVYVF9NRU5VX0lU
RU1fVEFHX0RFRkFVTFRfRElSRUNUSU9OOworICAgIGNhc2Uga1dLQ29udGV4dE1lbnVJdGVtVGFn
TGVmdFRvUmlnaHQ6CisgICAgICAgIHJldHVybiBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0xF
RlRfVE9fUklHSFQ7CisgICAgY2FzZSBrV0tDb250ZXh0TWVudUl0ZW1UYWdSaWdodFRvTGVmdDoK
KyAgICAgICAgcmV0dXJuIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfUklHSFRfVE9fTEVGVDsK
KyAgICBjYXNlIGtXS0NvbnRleHRNZW51SXRlbVRhZ1BERlNpbmdsZVBhZ2VTY3JvbGxpbmc6Cisg
ICAgICAgIHJldHVybiBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1BERlNJTkdMRV9QQUdFX1ND
Uk9MTElORzsKKyAgICBjYXNlIGtXS0NvbnRleHRNZW51SXRlbVRhZ1BERkZhY2luZ1BhZ2VzU2Ny
b2xsaW5nOgorICAgICAgICByZXR1cm4gRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19QREZGQUNJ
TkdfUEFHRVNfU0NST0xMSU5HOworICAgIGNhc2Uga1dLQ29udGV4dE1lbnVJdGVtVGFnSW5zcGVj
dEVsZW1lbnQ6CisgICAgICAgIHJldHVybiBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0lOU1BF
Q1RfRUxFTUVOVDsKKyAgICBjYXNlIGtXS0NvbnRleHRNZW51SXRlbVRhZ1RleHREaXJlY3Rpb25N
ZW51OgorICAgICAgICByZXR1cm4gRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19URVhUX0RJUkVD
VElPTl9NRU5VOworICAgIGNhc2Uga1dLQ29udGV4dE1lbnVJdGVtVGFnVGV4dERpcmVjdGlvbkRl
ZmF1bHQ6CisgICAgICAgIHJldHVybiBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1RFWFRfRElS
RUNUSU9OX0RFRkFVTFQ7CisgICAgY2FzZSBrV0tDb250ZXh0TWVudUl0ZW1UYWdUZXh0RGlyZWN0
aW9uTGVmdFRvUmlnaHQ6CisgICAgICAgIHJldHVybiBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFH
X1RFWFRfRElSRUNUSU9OX0xFRlRfVE9fUklHSFQ7CisgICAgY2FzZSBrV0tDb250ZXh0TWVudUl0
ZW1UYWdUZXh0RGlyZWN0aW9uUmlnaHRUb0xlZnQ6CisgICAgICAgIHJldHVybiBFV0tfQ09OVEVY
VF9NRU5VX0lURU1fVEFHX1RFWFRfRElSRUNUSU9OX1JJR0hUX1RPX0xFRlQ7CisgICAgY2FzZSBr
V0tDb250ZXh0TWVudUl0ZW1UYWdPcGVuTWVkaWFJbk5ld1dpbmRvdzoKKyAgICAgICAgcmV0dXJu
IEVXS19DT05URVhUX01FTlVfSVRFTV9PUEVOX01FRElBX0lOX05FV19XSU5ET1c7CisgICAgY2Fz
ZSBrV0tDb250ZXh0TWVudUl0ZW1UYWdDb3B5TWVkaWFMaW5rVG9DbGlwYm9hcmQ6CisgICAgICAg
IHJldHVybiBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0NPUFlfTUVESUFfTElOS19UT19DTElQ
Qk9BUkQ7CisgICAgY2FzZSBrV0tDb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVNZWRpYUNvbnRyb2xz
OgorICAgICAgICByZXR1cm4gRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19UT0dHTEVfTUVESUFf
Q09OVFJPTFM7CisgICAgY2FzZSBrV0tDb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVNZWRpYUxvb3A6
CisgICAgICAgIHJldHVybiBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1RPR0dMRV9NRURJQV9M
T09QOworICAgIGNhc2Uga1dLQ29udGV4dE1lbnVJdGVtVGFnRW50ZXJWaWRlb0Z1bGxzY3JlZW46
CisgICAgICAgIHJldHVybiBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0VOVEVSX1ZJREVPX0ZV
TExTQ1JFRU47CisgICAgY2FzZSBrV0tDb250ZXh0TWVudUl0ZW1UYWdNZWRpYVBsYXlQYXVzZToK
KyAgICAgICAgcmV0dXJuIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfTUVESUFfUExBWV9QQVVT
RTsKKyAgICBjYXNlIGtXS0NvbnRleHRNZW51SXRlbVRhZ01lZGlhTXV0ZToKKyAgICAgICAgcmV0
dXJuIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfTUVESUFfTVVURTsKKyAgICBjYXNlIGtXS0Nv
bnRleHRNZW51SXRlbUJhc2VBcHBsaWNhdGlvblRhZzoKKyAgICAgICAgcmV0dXJuIEVXS19DT05U
RVhUX01FTlVfSVRFTV9CQVNFX0FQUExJQ0FUSU9OX1RBRzsKKyAgICBkZWZhdWx0OgorICAgICAg
ICByZXR1cm4gc3RhdGljX2Nhc3Q8RXdrX0NvbnRleHRfTWVudV9JdGVtX0FjdGlvbj4oYWN0aW9u
KTsKKyAgICB9Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2Vm
bC9ld2tfY29udGV4dF9tZW51X2l0ZW0uaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
ZWZsL2V3a19jb250ZXh0X21lbnVfaXRlbS5oCmluZGV4IDk2MTJhMjEuLjE2ZTdkZWYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0X21lbnVf
aXRlbS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0
X21lbnVfaXRlbS5oCkBAIC0xMjcsOSArMTI3LDYgQEAgdHlwZWRlZiBlbnVtIHsKICAgICBFV0tf
Q09OVEVYVF9NRU5VX0lURU1fVEFHX0VOVEVSX1ZJREVPX0ZVTExTQ1JFRU4sCiAgICAgRVdLX0NP
TlRFWFRfTUVOVV9JVEVNX1RBR19NRURJQV9QTEFZX1BBVVNFLAogICAgIEVXS19DT05URVhUX01F
TlVfSVRFTV9UQUdfTUVESUFfTVVURSwKLSAgICBFV0tfQ09OVEVYVF9NRU5VX0lURU1fQkFTRV9D
VVNUT01fVEFHID0gNTAwMCwKLSAgICBFV0tfQ09OVEVYVF9NRU5VX0lURU1fQ1VTVE9NX1RBR19O
T19BQ1RJT04gPSA1OTk4LAotICAgIEVXS19DT05URVhUX01FTlVfSVRFTV9MQVNUX0NVU1RPTV9U
QUcgPSA1OTk5LAogICAgIEVXS19DT05URVhUX01FTlVfSVRFTV9CQVNFX0FQUExJQ0FUSU9OX1RB
RyA9IDEwMDAwCiB9IEV3a19Db250ZXh0X01lbnVfSXRlbV9BY3Rpb247CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0X21lbnVfaXRlbV9w
cml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dF9t
ZW51X2l0ZW1fcHJpdmF0ZS5oCmluZGV4IDYyZjI3OTAuLjlmNzc4M2IgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0X21lbnVfaXRlbV9wcml2
YXRlLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHRf
bWVudV9pdGVtX3ByaXZhdGUuaApAQCAtMjYsOCArMjYsOCBAQAogI2lmbmRlZiBld2tfY29udGV4
dF9tZW51X2l0ZW1fcHJpdmF0ZV9oCiAjZGVmaW5lIGV3a19jb250ZXh0X21lbnVfaXRlbV9wcml2
YXRlX2gKIAorI2luY2x1ZGUgIldLQ29udGV4dE1lbnVJdGVtLmgiCiAjaW5jbHVkZSAiV0tFaW5h
U2hhcmVkU3RyaW5nLmgiCi0jaW5jbHVkZSAiV2ViQ29udGV4dE1lbnVJdGVtRGF0YS5oIgogI2lu
Y2x1ZGUgImV3a19jb250ZXh0X21lbnUuaCIKICNpbmNsdWRlICJld2tfY29udGV4dF9tZW51X2l0
ZW0uaCIKICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgpAQCAtMzgsNyArMzgsNyBAQAogICov
CiBjbGFzcyBFd2tDb250ZXh0TWVudUl0ZW0gewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzT3du
UHRyPEV3a0NvbnRleHRNZW51SXRlbT4gY3JlYXRlKGNvbnN0IFdlYktpdDo6V2ViQ29udGV4dE1l
bnVJdGVtRGF0YSYgaXRlbSkKKyAgICBzdGF0aWMgUGFzc093blB0cjxFd2tDb250ZXh0TWVudUl0
ZW0+IGNyZWF0ZShXS0NvbnRleHRNZW51SXRlbVJlZiBpdGVtKQogICAgIHsKICAgICAgICAgcmV0
dXJuIGFkb3B0UHRyKG5ldyBFd2tDb250ZXh0TWVudUl0ZW0oaXRlbSkpOwogICAgIH0KQEAgLTY0
LDcgKzY0LDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0RW5hYmxlZChib29sIGVuYWJsZWQpIHsg
bV9pc0VuYWJsZWQgPSBlbmFibGVkOyB9CiAKIHByaXZhdGU6Ci0gICAgZXhwbGljaXQgRXdrQ29u
dGV4dE1lbnVJdGVtKGNvbnN0IFdlYktpdDo6V2ViQ29udGV4dE1lbnVJdGVtRGF0YSYpOworICAg
IGV4cGxpY2l0IEV3a0NvbnRleHRNZW51SXRlbShXS0NvbnRleHRNZW51SXRlbVJlZik7CiAgICAg
RXdrQ29udGV4dE1lbnVJdGVtKEV3a19Db250ZXh0X01lbnVfSXRlbV9UeXBlIHR5cGUsIEV3a19D
b250ZXh0X01lbnVfSXRlbV9BY3Rpb24gYWN0aW9uLCBjb25zdCBjaGFyKiB0aXRsZSwgRWluYV9C
b29sIGNoZWNrZWQsIEVpbmFfQm9vbCBlbmFibGVkLCBFd2tDb250ZXh0TWVudSogc3ViTWVudSk7
CiAKICAgICBFd2tfQ29udGV4dF9NZW51X0l0ZW1fVHlwZSBtX3R5cGU7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dF9tZW51X3ByaXZhdGUu
aCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0X21lbnVfcHJp
dmF0ZS5oCmluZGV4IGI5ZTExM2QuLmE2Y2VhMmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0X21lbnVfcHJpdmF0ZS5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0X21lbnVfcHJpdmF0ZS5oCkBA
IC0yNiwyNCArMjYsMTcgQEAKICNpZm5kZWYgZXdrX2NvbnRleHRfbWVudV9wcml2YXRlX2gKICNk
ZWZpbmUgZXdrX2NvbnRleHRfbWVudV9wcml2YXRlX2gKIAotI2luY2x1ZGUgIldlYkNvbnRleHRN
ZW51SXRlbURhdGEuaCIKICNpbmNsdWRlICJld2tfY29udGV4dF9tZW51X2l0ZW0uaCIKICNpbmNs
dWRlIDxFaW5hLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KLSNpbmNsdWRlIDx3dGYv
VmVjdG9yLmg+Ci0KLW5hbWVzcGFjZSBXZWJLaXQgewotY2xhc3MgV2ViQ29udGV4dE1lbnVJdGVt
RGF0YTsKLWNsYXNzIFdlYkNvbnRleHRNZW51UHJveHlFZmw7Ci19CiAKIGNsYXNzIEV3a1ZpZXc7
CiAKIGNsYXNzIEV3a0NvbnRleHRNZW51IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc093blB0
cjxFd2tDb250ZXh0TWVudT4gY3JlYXRlKEV3a1ZpZXcqIHZpZXdJbXBsLCBXZWJLaXQ6OldlYkNv
bnRleHRNZW51UHJveHlFZmwqIGNvbnRleHRNZW51UHJveHksIGNvbnN0IFZlY3RvcjxXZWJLaXQ6
OldlYkNvbnRleHRNZW51SXRlbURhdGE+JiBpdGVtcykKKyAgICBzdGF0aWMgUGFzc093blB0cjxF
d2tDb250ZXh0TWVudT4gY3JlYXRlKEV3a1ZpZXcqIHZpZXdJbXBsLCBXS0FycmF5UmVmIGl0ZW1z
KQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBFd2tDb250ZXh0TWVudSh2aWV3
SW1wbCwgY29udGV4dE1lbnVQcm94eSwgaXRlbXMpKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UHRy
KG5ldyBFd2tDb250ZXh0TWVudSh2aWV3SW1wbCwgaXRlbXMpKTsKICAgICB9CiAKICAgICBzdGF0
aWMgUGFzc093blB0cjxFd2tDb250ZXh0TWVudT4gY3JlYXRlKCkKQEAgLTYzLDE1ICs1NiwxNCBA
QCBwdWJsaWM6CiAgICAgdm9pZCByZW1vdmVJdGVtKEV3a0NvbnRleHRNZW51SXRlbSopOwogCiAg
ICAgY29uc3QgRWluYV9MaXN0KiBpdGVtcygpIGNvbnN0IHsgcmV0dXJuIG1fY29udGV4dE1lbnVJ
dGVtczsgfQotICAgIHZvaWQgY29udGV4dE1lbnVJdGVtU2VsZWN0ZWQoY29uc3QgV2ViS2l0OjpX
ZWJDb250ZXh0TWVudUl0ZW1EYXRhJiBpdGVtKTsKKyAgICB2b2lkIGNvbnRleHRNZW51SXRlbVNl
bGVjdGVkKFdLQ29udGV4dE1lbnVJdGVtUmVmIGl0ZW0pOwogCiBwcml2YXRlOgogICAgIEV3a0Nv
bnRleHRNZW51KCk7CiAgICAgRXdrQ29udGV4dE1lbnUoRWluYV9MaXN0KiBpdGVtcyk7Ci0gICAg
RXdrQ29udGV4dE1lbnUoRXdrVmlldyogdmlld0ltcGwsIFdlYktpdDo6V2ViQ29udGV4dE1lbnVQ
cm94eUVmbCosIGNvbnN0IFZlY3RvcjxXZWJLaXQ6OldlYkNvbnRleHRNZW51SXRlbURhdGE+JiBp
dGVtcyk7CisgICAgRXdrQ29udGV4dE1lbnUoRXdrVmlldyogdmlld0ltcGwsIFdLQXJyYXlSZWYg
aXRlbXMpOwogCiAgICAgRXdrVmlldyogbV92aWV3SW1wbDsKLSAgICBXZWJLaXQ6OldlYkNvbnRl
eHRNZW51UHJveHlFZmwqIG1fY29udGV4dE1lbnVQcm94eTsKICAgICBFaW5hX0xpc3QqIG1fY29u
dGV4dE1lbnVJdGVtczsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZ3RrL1dlYktpdENvbnRleHRNZW51Q2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvZ3RrL1dlYktpdENvbnRleHRNZW51Q2xpZW50LmNwcAppbmRleCA0MmY5MGI4
Li5mNTBjNTJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9X
ZWJLaXRDb250ZXh0TWVudUNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9ndGsvV2ViS2l0Q29udGV4dE1lbnVDbGllbnQuY3BwCkBAIC00MCw2ICs0MCw4IEBAIHZv
aWQgYXR0YWNoQ29udGV4dE1lbnVDbGllbnRUb1ZpZXcoV2ViS2l0V2ViVmlldyogd2ViVmlldykK
ICAgICAgICAgMCwgLy8gY3VzdG9tQ29udGV4dE1lbnVJdGVtU2VsZWN0ZWQKICAgICAgICAgMCwg
Ly8gY29udGV4dE1lbnVEaXNtaXNzZWQKICAgICAgICAgZ2V0Q29udGV4dE1lbnVGcm9tUHJvcG9z
ZWRNZW51LAorICAgICAgICAwLCAvLyBzaG93Q29udGV4dE1lbnUKKyAgICAgICAgMCwgLy8gaGlk
ZUNvbnRleHRNZW51CiAgICAgfTsKICAgICBXS1BhZ2VSZWYgd2tQYWdlID0gdG9BUEkod2Via2l0
V2ViVmlld0Jhc2VHZXRQYWdlKFdFQktJVF9XRUJfVklFV19CQVNFKHdlYlZpZXcpKSk7CiAgICAg
V0tQYWdlU2V0UGFnZUNvbnRleHRNZW51Q2xpZW50KHdrUGFnZSwgJndrQ29udGV4dE1lbnVDbGll
bnQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaCBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgKaW5kZXggZDA4Y2M5MS4uODJh
YzU2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCkBAIC0xODAsNyArMTgw
LDkgQEAgcHVibGljOgogI2VuZGlmCiAKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8V2ViUG9wdXBN
ZW51UHJveHk+IGNyZWF0ZVBvcHVwTWVudVByb3h5KFdlYlBhZ2VQcm94eSopID0gMDsKKyNpZiAh
UExBVEZPUk0oRUZMKQogICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxXZWJDb250ZXh0TWVudVByb3h5
PiBjcmVhdGVDb250ZXh0TWVudVByb3h5KFdlYlBhZ2VQcm94eSopID0gMDsKKyNlbmRpZgogCiAj
aWYgRU5BQkxFKElOUFVUX1RZUEVfQ09MT1IpCiAgICAgdmlydHVhbCBQYXNzUmVmUHRyPFdlYkNv
bG9yQ2hvb3NlclByb3h5PiBjcmVhdGVDb2xvckNob29zZXJQcm94eShXZWJQYWdlUHJveHkqLCBj
b25zdCBXZWJDb3JlOjpDb2xvciYgaW5pdGlhbENvbG9yLCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0
JikgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VDb250
ZXh0TWVudUNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZUNvbnRl
eHRNZW51Q2xpZW50LmNwcAppbmRleCA4YTExZWJiLi5lYjM2ZWQxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZUNvbnRleHRNZW51Q2xpZW50LmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZUNvbnRleHRNZW51Q2xpZW50LmNwcApAQCAt
OTMsNSArOTMsMjkgQEAgdm9pZCBXZWJQYWdlQ29udGV4dE1lbnVDbGllbnQ6OmNvbnRleHRNZW51
RGlzbWlzc2VkKFdlYlBhZ2VQcm94eSogcGFnZSkKICAgICBtX2NsaWVudC5jb250ZXh0TWVudURp
c21pc3NlZCh0b0FQSShwYWdlKSwgbV9jbGllbnQuY2xpZW50SW5mbyk7CiB9CiAKK3ZvaWQgV2Vi
UGFnZUNvbnRleHRNZW51Q2xpZW50OjpzaG93Q29udGV4dE1lbnUoV2ViUGFnZVByb3h5KiBwYWdl
LCBjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgbWVudUxvY2F0aW9uLCBjb25zdCBWZWN0b3I8V2Vi
Q29udGV4dE1lbnVJdGVtRGF0YT4mIG1lbnVJdGVtc1ZlY3RvcikKK3sKKyAgICBpZiAoIW1fY2xp
ZW50LnNob3dDb250ZXh0TWVudSkKKyAgICAgICAgcmV0dXJuOworCisgICAgdW5zaWduZWQgc2l6
ZSA9IG1lbnVJdGVtc1ZlY3Rvci5zaXplKCk7CisKKyAgICBWZWN0b3I8UmVmUHRyPEFQSU9iamVj
dD4gPiBtZW51SXRlbXM7CisgICAgbWVudUl0ZW1zLnJlc2VydmVDYXBhY2l0eShzaXplKTsKKwor
ICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBzaXplOyArK2kpCisgICAgICAgIG1lbnVJdGVt
cy5hcHBlbmQoV2ViQ29udGV4dE1lbnVJdGVtOjpjcmVhdGUobWVudUl0ZW1zVmVjdG9yW2ldKS5n
ZXQoKSk7CisKKyAgICBtX2NsaWVudC5zaG93Q29udGV4dE1lbnUodG9BUEkocGFnZSksIHRvQVBJ
KG1lbnVMb2NhdGlvbiksIHRvQVBJKEltbXV0YWJsZUFycmF5OjphZG9wdChtZW51SXRlbXMpLmdl
dCgpKSwgbV9jbGllbnQuY2xpZW50SW5mbyk7Cit9CisKK3ZvaWQgV2ViUGFnZUNvbnRleHRNZW51
Q2xpZW50OjpoaWRlQ29udGV4dE1lbnUoV2ViUGFnZVByb3h5KiBwYWdlKQoreworICAgIGlmICgh
bV9jbGllbnQuaGlkZUNvbnRleHRNZW51KQorICAgICAgICByZXR1cm47CisKKyAgICBtX2NsaWVu
dC5oaWRlQ29udGV4dE1lbnUodG9BUEkocGFnZSksIG1fY2xpZW50LmNsaWVudEluZm8pOworfQor
CiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKICNlbmRpZiAvLyBFTkFCTEUoQ09OVEVYVF9NRU5VUykK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlQ29udGV4dE1lbnVD
bGllbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlQ29udGV4dE1lbnVDbGll
bnQuaAppbmRleCBkZmY5MDE5Li5mN2M5NjkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViUGFnZUNvbnRleHRNZW51Q2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1dlYlBhZ2VDb250ZXh0TWVudUNsaWVudC5oCkBAIC0zMSw2ICszMSw3IEBACiAj
aW5jbHVkZSAiQVBJQ2xpZW50LmgiCiAjaW5jbHVkZSAiV2ViSGl0VGVzdFJlc3VsdC5oIgogI2lu
Y2x1ZGUgIldLUGFnZS5oIgorI2luY2x1ZGUgPFdlYkNvcmUvSW50UG9pbnQuaD4KICNpbmNsdWRl
IDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewpAQCAtNDQsNiArNDUsOCBAQCBw
dWJsaWM6CiAgICAgYm9vbCBnZXRDb250ZXh0TWVudUZyb21Qcm9wb3NlZE1lbnUoV2ViUGFnZVBy
b3h5KiwgY29uc3QgVmVjdG9yPFdlYkNvbnRleHRNZW51SXRlbURhdGE+JiBwcm9wb3NlZE1lbnUs
IFZlY3RvcjxXZWJDb250ZXh0TWVudUl0ZW1EYXRhPiYgY3VzdG9tTWVudSwgY29uc3QgV2ViSGl0
VGVzdFJlc3VsdDo6RGF0YSYsIEFQSU9iamVjdCogdXNlckRhdGEpOwogICAgIHZvaWQgY3VzdG9t
Q29udGV4dE1lbnVJdGVtU2VsZWN0ZWQoV2ViUGFnZVByb3h5KiwgY29uc3QgV2ViQ29udGV4dE1l
bnVJdGVtRGF0YSYpOwogICAgIHZvaWQgY29udGV4dE1lbnVEaXNtaXNzZWQoV2ViUGFnZVByb3h5
Kik7CisgICAgdm9pZCBzaG93Q29udGV4dE1lbnUoV2ViUGFnZVByb3h5KiwgY29uc3QgV2ViQ29y
ZTo6SW50UG9pbnQmLCBjb25zdCBWZWN0b3I8V2ViQ29udGV4dE1lbnVJdGVtRGF0YT4mKTsKKyAg
ICB2b2lkIGhpZGVDb250ZXh0TWVudShXZWJQYWdlUHJveHkqKTsKIH07CiAKIH0gLy8gbmFtZXNw
YWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAppbmRl
eCBiODAxZDU1Li5iZmMyNjcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVBy
b3h5LmNwcApAQCAtMzE0OCw2ICszMTQ4LDkgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmludGVybmFs
U2hvd0NvbnRleHRNZW51KGNvbnN0IEludFBvaW50JiBtZW51TG9jYXRpb24sIGNvbnN0IFcKIAog
ICAgIG1fYWN0aXZlQ29udGV4dE1lbnVIaXRUZXN0UmVzdWx0RGF0YSA9IGhpdFRlc3RSZXN1bHRE
YXRhOwogCisjaWYgUExBVEZPUk0oRUZMKQorICAgIG1fY29udGV4dE1lbnVDbGllbnQuaGlkZUNv
bnRleHRNZW51KHRoaXMpOworI2Vsc2UKICAgICBpZiAobV9hY3RpdmVDb250ZXh0TWVudSkgewog
ICAgICAgICBtX2FjdGl2ZUNvbnRleHRNZW51LT5oaWRlQ29udGV4dE1lbnUoKTsKICAgICAgICAg
bV9hY3RpdmVDb250ZXh0TWVudSA9IDA7CkBAIC0zMTU2LDE2ICszMTU5LDI0IEBAIHZvaWQgV2Vi
UGFnZVByb3h5OjppbnRlcm5hbFNob3dDb250ZXh0TWVudShjb25zdCBJbnRQb2ludCYgbWVudUxv
Y2F0aW9uLCBjb25zdCBXCiAgICAgbV9hY3RpdmVDb250ZXh0TWVudSA9IG1fcGFnZUNsaWVudC0+
Y3JlYXRlQ29udGV4dE1lbnVQcm94eSh0aGlzKTsKICAgICBpZiAoIW1fYWN0aXZlQ29udGV4dE1l
bnUpCiAgICAgICAgIHJldHVybjsKKyNlbmRpZgogCiAgICAgLy8gU2luY2Ugc2hvd0NvbnRleHRN
ZW51KCkgY2FuIHNwaW4gYSBuZXN0ZWQgcnVuIGxvb3Agd2UgbmVlZCB0byB0dXJuIG9mZiB0aGUg
cmVzcG9uc2l2ZW5lc3MgdGltZXIuCiAgICAgbV9wcm9jZXNzLT5yZXNwb25zaXZlbmVzc1RpbWVy
KCktPnN0b3AoKTsKIAogICAgIC8vIEdpdmUgdGhlIFBhZ2VDb250ZXh0TWVudUNsaWVudCBvbmUg
bGFzdCBzd2lwZSBhdCBjaGFuZ2luZyB0aGUgbWVudS4KICAgICBWZWN0b3I8V2ViQ29udGV4dE1l
bnVJdGVtRGF0YT4gaXRlbXM7CisjaWYgUExBVEZPUk0oRUZMKQorICAgIGlmICghbV9jb250ZXh0
TWVudUNsaWVudC5nZXRDb250ZXh0TWVudUZyb21Qcm9wb3NlZE1lbnUodGhpcywgcHJvcG9zZWRJ
dGVtcywgaXRlbXMsIGhpdFRlc3RSZXN1bHREYXRhLCB1c2VyRGF0YS5nZXQoKSkpCisgICAgICAg
IG1fY29udGV4dE1lbnVDbGllbnQuc2hvd0NvbnRleHRNZW51KHRoaXMsIG1lbnVMb2NhdGlvbiwg
cHJvcG9zZWRJdGVtcyk7CisgICAgZWxzZQorICAgICAgICBtX2NvbnRleHRNZW51Q2xpZW50LnNo
b3dDb250ZXh0TWVudSh0aGlzLCBtZW51TG9jYXRpb24sIGl0ZW1zKTsKKyNlbHNlCiAgICAgaWYg
KCFtX2NvbnRleHRNZW51Q2xpZW50LmdldENvbnRleHRNZW51RnJvbVByb3Bvc2VkTWVudSh0aGlz
LCBwcm9wb3NlZEl0ZW1zLCBpdGVtcywgaGl0VGVzdFJlc3VsdERhdGEsIHVzZXJEYXRhLmdldCgp
KSkKICAgICAgICAgbV9hY3RpdmVDb250ZXh0TWVudS0+c2hvd0NvbnRleHRNZW51KG1lbnVMb2Nh
dGlvbiwgcHJvcG9zZWRJdGVtcyk7CiAgICAgZWxzZQogICAgICAgICBtX2FjdGl2ZUNvbnRleHRN
ZW51LT5zaG93Q29udGV4dE1lbnUobWVudUxvY2F0aW9uLCBpdGVtcyk7CisjZW5kaWYKICAgICAK
ICAgICBtX2NvbnRleHRNZW51Q2xpZW50LmNvbnRleHRNZW51RGlzbWlzc2VkKHRoaXMpOwogfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4IGYwZWM3ZGIuLjRkNzJl
MDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTEwOTUsNyAr
MTA5NSw5IEBAIHByaXZhdGU6CiAjZW5kaWYKIAogICAgIFJlZlB0cjxXZWJQb3B1cE1lbnVQcm94
eT4gbV9hY3RpdmVQb3B1cE1lbnU7CisjaWYgIVBMQVRGT1JNKEVGTCkKICAgICBSZWZQdHI8V2Vi
Q29udGV4dE1lbnVQcm94eT4gbV9hY3RpdmVDb250ZXh0TWVudTsKKyNlbmRpZgogICAgIFdlYkhp
dFRlc3RSZXN1bHQ6OkRhdGEgbV9hY3RpdmVDb250ZXh0TWVudUhpdFRlc3RSZXN1bHREYXRhOwog
ICAgIFJlZlB0cjxXZWJPcGVuUGFuZWxSZXN1bHRMaXN0ZW5lclByb3h5PiBtX29wZW5QYW5lbFJl
c3VsdExpc3RlbmVyOwogICAgIEdlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJv
eHkgbV9nZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlcjsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvQ29udGV4dE1lbnVDbGllbnRFZmwuY3BwIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9Db250ZXh0TWVudUNsaWVudEVmbC5jcHAKaW5kZXgg
OTEyM2QyOC4uYTM5NWMwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2Vm
bC9Db250ZXh0TWVudUNsaWVudEVmbC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L2VmbC9Db250ZXh0TWVudUNsaWVudEVmbC5jcHAKQEAgLTI3LDExICsyNyw4IEBACiAjaW5jbHVk
ZSAiQ29udGV4dE1lbnVDbGllbnRFZmwuaCIKIAogI2luY2x1ZGUgIkV3a1ZpZXcuaCIKLSNpbmNs
dWRlICJOb3RJbXBsZW1lbnRlZC5oIgogI2luY2x1ZGUgIldLQXJyYXkuaCIKICNpbmNsdWRlICJX
S1BhZ2UuaCIKLSNpbmNsdWRlICJXZWJDb250ZXh0TWVudUl0ZW0uaCIgICAKLSNpbmNsdWRlIDxF
dmFzLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CiAKQEAgLTQwLDYgKzM3LDE2IEBAIHN0
YXRpYyBpbmxpbmUgQ29udGV4dE1lbnVDbGllbnRFZmwqIHRvQ29udGV4dENsaWVudEVmbChjb25z
dCB2b2lkKiBjbGllbnRJbmZvKQogICAgIHJldHVybiBzdGF0aWNfY2FzdDxDb250ZXh0TWVudUNs
aWVudEVmbCo+KGNvbnN0X2Nhc3Q8dm9pZCo+KGNsaWVudEluZm8pKTsKIH0KIAorc3RhdGljIHZv
aWQgc2hvd0NvbnRleHRNZW51KFdLUGFnZVJlZiwgV0tQb2ludCBtZW51TG9jYXRpb24sIFdLQXJy
YXlSZWYgbWVudUl0ZW1zLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKQoreworICAgIHRvQ29udGV4
dENsaWVudEVmbChjbGllbnRJbmZvKS0+dmlldygpLT5zaG93Q29udGV4dE1lbnUobWVudUxvY2F0
aW9uLCBtZW51SXRlbXMpOworfQorCitzdGF0aWMgdm9pZCBoaWRlQ29udGV4dE1lbnUoV0tQYWdl
UmVmLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKQoreworICAgIHRvQ29udGV4dENsaWVudEVmbChj
bGllbnRJbmZvKS0+dmlldygpLT5oaWRlQ29udGV4dE1lbnUoKTsKK30KKwogQ29udGV4dE1lbnVD
bGllbnRFZmw6OkNvbnRleHRNZW51Q2xpZW50RWZsKEV3a1ZpZXcqIHZpZXcpCiAgICAgOiBtX3Zp
ZXcodmlldykKIHsKQEAgLTU0LDExICs2MSw4IEBAIENvbnRleHRNZW51Q2xpZW50RWZsOjpDb250
ZXh0TWVudUNsaWVudEVmbChFd2tWaWV3KiB2aWV3KQogICAgIGNvbnRleHRNZW51Q2xpZW50LmN1
c3RvbUNvbnRleHRNZW51SXRlbVNlbGVjdGVkID0gMDsKICAgICBjb250ZXh0TWVudUNsaWVudC5j
b250ZXh0TWVudURpc21pc3NlZCA9IDA7CiAgICAgY29udGV4dE1lbnVDbGllbnQuZ2V0Q29udGV4
dE1lbnVGcm9tUHJvcG9zZWRNZW51ID0gMDsKKyAgICBjb250ZXh0TWVudUNsaWVudC5zaG93Q29u
dGV4dE1lbnUgPSBzaG93Q29udGV4dE1lbnU7CisgICAgY29udGV4dE1lbnVDbGllbnQuaGlkZUNv
bnRleHRNZW51ID0gaGlkZUNvbnRleHRNZW51OwogCiAgICAgV0tQYWdlU2V0UGFnZUNvbnRleHRN
ZW51Q2xpZW50KHBhZ2VSZWYsICZjb250ZXh0TWVudUNsaWVudCk7CiB9Ci0KLXZvaWQgQ29udGV4
dE1lbnVDbGllbnRFZmw6OmdldENvbnRleHRNZW51RnJvbVByb3Bvc2VkTWVudShXS1BhZ2VSZWYs
IFdLQXJyYXlSZWYsIFdLQXJyYXlSZWYqLCBXS0hpdFRlc3RSZXN1bHRSZWYsIFdLVHlwZVJlZiwg
Y29uc3Qgdm9pZCopCi17Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKLX0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvQ29udGV4dE1lbnVDbGllbnRFZmwuaCBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvQ29udGV4dE1lbnVDbGllbnRFZmwuaAppbmRleCBiMjEy
ZTllLi5mMDM2YjNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL0Nv
bnRleHRNZW51Q2xpZW50RWZsLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9D
b250ZXh0TWVudUNsaWVudEVmbC5oCkBAIC0yNiwxMiArMjYsNyBAQAogI2lmbmRlZiBDb250ZXh0
TWVudUNsaWVudEVmbF9oCiAjZGVmaW5lIENvbnRleHRNZW51Q2xpZW50RWZsX2gKIAotI2luY2x1
ZGUgIldLUmV0YWluUHRyLmgiCi0jaW5jbHVkZSAiZXdrX2NvbnRleHQuaCIKLSNpbmNsdWRlIDxX
ZWJLaXQyL1dLQmFzZS5oPgotI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3Rm
L1Bhc3NPd25QdHIuaD4KLSNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogY2xhc3Mg
RXdrVmlldzsKIApAQCAtNDQsNyArMzksNyBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBhZG9w
dFB0cihuZXcgQ29udGV4dE1lbnVDbGllbnRFZmwodmlld0ltcGwpKTsKICAgICB9CiAKLSAgICBz
dGF0aWMgdm9pZCBnZXRDb250ZXh0TWVudUZyb21Qcm9wb3NlZE1lbnUoV0tQYWdlUmVmLCBXS0Fy
cmF5UmVmIHByb3Bvc2VkTWVudSwgV0tBcnJheVJlZiogbmV3TWVudSwgV0tIaXRUZXN0UmVzdWx0
UmVmLCBXS1R5cGVSZWYgdXNlckRhdGEsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOworICAgIEV3
a1ZpZXcqIHZpZXcoKSB7IHJldHVybiBtX3ZpZXc7IH0KIAogcHJpdmF0ZToKICAgICBleHBsaWNp
dCBDb250ZXh0TWVudUNsaWVudEVmbChFd2tWaWV3Kik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvZWZsL1dlYkNvbnRleHRNZW51UHJveHlFZmwuY3BwIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL2VmbC9XZWJDb250ZXh0TWVudVByb3h5RWZsLmNwcApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggNjhlNzViNC4uMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvZWZsL1dlYkNvbnRleHRNZW51UHJveHlFZmwuY3BwCisrKyAvZGV2L251bGwK
QEAgLTEsNjcgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMiBTYW1zdW5nIEVsZWN0
cm9uaWNzLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0g
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAq
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICog
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIldlYkNvbnRl
eHRNZW51UHJveHlFZmwuaCIKLQotI2lmIEVOQUJMRShDT05URVhUX01FTlVTKQotCi0jaW5jbHVk
ZSAiRXdrVmlldy5oIgotI2luY2x1ZGUgIldlYkNvbnRleHRNZW51SXRlbURhdGEuaCIKLSNpbmNs
dWRlICJXZWJQYWdlUHJveHkuaCIKLSNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+Ci0KLXVz
aW5nIG5hbWVzcGFjZSBXZWJDb3JlOwotCi1uYW1lc3BhY2UgV2ViS2l0IHsKLQotV2ViQ29udGV4
dE1lbnVQcm94eUVmbDo6V2ViQ29udGV4dE1lbnVQcm94eUVmbChFd2tWaWV3KiB2aWV3LCBXZWJQ
YWdlUHJveHkqIHBhZ2UpCi0gICAgOiBtX3ZpZXcodmlldykKLSAgICAsIG1fcGFnZShwYWdlKQot
ewotfQotCi1XZWJDb250ZXh0TWVudVByb3h5RWZsOjp+V2ViQ29udGV4dE1lbnVQcm94eUVmbCgp
Ci17Ci19Ci0KLXZvaWQgV2ViQ29udGV4dE1lbnVQcm94eUVmbDo6c2hvd0NvbnRleHRNZW51KGNv
bnN0IFdlYkNvcmU6OkludFBvaW50JiBwb3NpdGlvbiwgY29uc3QgVmVjdG9yPFdlYkNvbnRleHRN
ZW51SXRlbURhdGE+JiBpdGVtcykKLXsKLSAgICBtX3ZpZXctPnNob3dDb250ZXh0TWVudSh0aGlz
LCBwb3NpdGlvbiwgaXRlbXMpOwotfQotCi12b2lkIFdlYkNvbnRleHRNZW51UHJveHlFZmw6Omhp
ZGVDb250ZXh0TWVudSgpCi17Ci0gICAgbV92aWV3LT5oaWRlQ29udGV4dE1lbnUoKTsKLX0KLQot
dm9pZCBXZWJDb250ZXh0TWVudVByb3h5RWZsOjpjb250ZXh0TWVudUl0ZW1TZWxlY3RlZChjb25z
dCBXZWJDb250ZXh0TWVudUl0ZW1EYXRhJiBpdGVtKQotewotICAgIG1fcGFnZS0+Y29udGV4dE1l
bnVJdGVtU2VsZWN0ZWQoaXRlbSk7Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYktpdAotCi0jZW5k
aWYgLy8gRU5BQkxFKENPTlRFWFRfTUVOVVMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvZWZsL1dlYkNvbnRleHRNZW51UHJveHlFZmwuaCBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9lZmwvV2ViQ29udGV4dE1lbnVQcm94eUVmbC5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCBlYTQyYWYxLi4wMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9lZmwvV2ViQ29udGV4dE1lbnVQcm94eUVmbC5oCisrKyAvZGV2L251bGwKQEAgLTEsNjcgKzAs
MCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMiBTYW1zdW5nIEVsZWN0cm9uaWNzLgotICoK
LSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
LSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
Ci0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0g
Ki8KLQotI2lmbmRlZiBXZWJDb250ZXh0TWVudVByb3h5RWZsX2gKLSNkZWZpbmUgV2ViQ29udGV4
dE1lbnVQcm94eUVmbF9oCi0KLSNpZiBFTkFCTEUoQ09OVEVYVF9NRU5VUykKLQotI2luY2x1ZGUg
IldlYkNvbnRleHRNZW51UHJveHkuaCIKLSNpbmNsdWRlIDxXZWJDb3JlL0NvbnRleHRNZW51Lmg+
Ci0jaW5jbHVkZSA8V2ViQ29yZS9JbnRQb2ludC5oPgotCi1jbGFzcyBFd2tWaWV3OwotCi1uYW1l
c3BhY2UgV2ViS2l0IHsKLQotY2xhc3MgV2ViQ29udGV4dE1lbnVJdGVtRGF0YTsKLWNsYXNzIFdl
YlBhZ2VQcm94eTsKLQotY2xhc3MgV2ViQ29udGV4dE1lbnVQcm94eUVmbCA6IHB1YmxpYyBXZWJD
b250ZXh0TWVudVByb3h5IHsKLXB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxXZWJDb250
ZXh0TWVudVByb3h5RWZsPiBjcmVhdGUoRXdrVmlldyogdmlld0ltcGwsIFdlYlBhZ2VQcm94eSog
cGFnZSkKLSAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgV2ViQ29udGV4dE1lbnVQ
cm94eUVmbCh2aWV3SW1wbCwgcGFnZSkpOwotICAgIH0KLQotICAgIH5XZWJDb250ZXh0TWVudVBy
b3h5RWZsKCk7Ci0KLSAgICB2b2lkIHNob3dDb250ZXh0TWVudShjb25zdCBXZWJDb3JlOjpJbnRQ
b2ludCYsIGNvbnN0IFZlY3RvcjxXZWJDb250ZXh0TWVudUl0ZW1EYXRhPiYpOwotICAgIHZvaWQg
aGlkZUNvbnRleHRNZW51KCk7Ci0KLSAgICB2b2lkIGNvbnRleHRNZW51SXRlbVNlbGVjdGVkKGNv
bnN0IFdlYkNvbnRleHRNZW51SXRlbURhdGEmKTsKLQotcHJpdmF0ZToKLSAgICBXZWJDb250ZXh0
TWVudVByb3h5RWZsKEV3a1ZpZXcqLCBXZWJQYWdlUHJveHkqKTsKLQotICAgIEV3a1ZpZXcqIG1f
dmlldzsKLSAgICBXZWJQYWdlUHJveHkqIG1fcGFnZTsKLX07Ci0KLQotfSAvLyBuYW1lc3BhY2Ug
V2ViS2l0Ci0KLSNlbmRpZiAvLyBFTkFCTEUoQ09OVEVYVF9NRU5VUykKLSNlbmRpZiAvLyBXZWJD
b250ZXh0TWVudVByb3h5RWZsX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9lZmwvV2ViVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1dlYlZpZXcu
Y3BwCmluZGV4IDJhM2FhOWMuLjczMGM0MWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9lZmwvV2ViVmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2Vm
bC9XZWJWaWV3LmNwcApAQCAtMzUsNyArMzUsNiBAQAogI2luY2x1ZGUgIk5vdEltcGxlbWVudGVk
LmgiCiAjaW5jbHVkZSAiUGFnZVZpZXdwb3J0Q29udHJvbGxlci5oIgogI2luY2x1ZGUgIlBhZ2VW
aWV3cG9ydENvbnRyb2xsZXJDbGllbnRFZmwuaCIKLSNpbmNsdWRlICJXZWJDb250ZXh0TWVudVBy
b3h5RWZsLmgiCiAjaW5jbHVkZSAiV2ViUGFnZVByb3h5LmgiCiAjaW5jbHVkZSAiV2ViUG9wdXBN
ZW51TGlzdGVuZXJFZmwuaCIKICNpbmNsdWRlICJld2tfY29udGV4dF9wcml2YXRlLmgiCkBAIC0z
OTcsMTEgKzM5Niw2IEBAIFBhc3NSZWZQdHI8V2ViUG9wdXBNZW51UHJveHk+IFdlYlZpZXc6OmNy
ZWF0ZVBvcHVwTWVudVByb3h5KFdlYlBhZ2VQcm94eSogcGFnZSkKICAgICByZXR1cm4gV2ViUG9w
dXBNZW51TGlzdGVuZXJFZmw6OmNyZWF0ZShwYWdlKTsKIH0KIAotUGFzc1JlZlB0cjxXZWJDb250
ZXh0TWVudVByb3h5PiBXZWJWaWV3OjpjcmVhdGVDb250ZXh0TWVudVByb3h5KFdlYlBhZ2VQcm94
eSogcGFnZSkKLXsKLSAgICByZXR1cm4gV2ViQ29udGV4dE1lbnVQcm94eUVmbDo6Y3JlYXRlKG1f
ZXdrVmlldywgcGFnZSk7Ci19Ci0KICNpZiBFTkFCTEUoSU5QVVRfVFlQRV9DT0xPUikKIFBhc3NS
ZWZQdHI8V2ViQ29sb3JDaG9vc2VyUHJveHk+IFdlYlZpZXc6OmNyZWF0ZUNvbG9yQ2hvb3NlclBy
b3h5KFdlYlBhZ2VQcm94eSosIGNvbnN0IFdlYkNvcmU6OkNvbG9yJiwgY29uc3QgV2ViQ29yZTo6
SW50UmVjdCYpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1dl
YlZpZXcuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvV2ViVmlldy5oCmluZGV4IDQy
YzhkMTMuLjNjN2NlOWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwv
V2ViVmlldy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvV2ViVmlldy5oCkBA
IC0xNTAsNyArMTUwLDYgQEAgcHJpdmF0ZToKICNlbmRpZgogCiAgICAgUGFzc1JlZlB0cjxXZWJQ
b3B1cE1lbnVQcm94eT4gY3JlYXRlUG9wdXBNZW51UHJveHkoV2ViUGFnZVByb3h5KikgT1ZFUlJJ
REU7Ci0gICAgUGFzc1JlZlB0cjxXZWJDb250ZXh0TWVudVByb3h5PiBjcmVhdGVDb250ZXh0TWVu
dVByb3h5KFdlYlBhZ2VQcm94eSopIE9WRVJSSURFOwogI2lmIEVOQUJMRShJTlBVVF9UWVBFX0NP
TE9SKQogICAgIFBhc3NSZWZQdHI8V2ViQ29sb3JDaG9vc2VyUHJveHk+IGNyZWF0ZUNvbG9yQ2hv
b3NlclByb3h5KFdlYlBhZ2VQcm94eSosIGNvbnN0IFdlYkNvcmU6OkNvbG9yJiBpbml0aWFsQ29s
b3IsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmKSBPVkVSUklERTsKICNlbmRpZgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>191723</attachid>
            <date>2013-03-06 05:15:38 -0800</date>
            <delta_ts>2013-03-25 07:42:23 -0700</delta_ts>
            <desc>patch</desc>
            <filename>c-api-ewk-contextmenu7.diff</filename>
            <type>text/plain</type>
            <size>50836</size>
            <attacher name="Michal Pakula vel Rutka">mpakulavelrutka</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCBlZmUyZjE3Li4yYjg1ZDI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTQg
QEAKKzIwMTMtMDMtMDYgIE1pY2hhxYIgUGFrdcWCYSB2ZWwgUnV0a2EgIDxtLnBha3VsYUBzYW1z
dW5nLmNvbT4KKworICAgICAgICBbRUZMXVtXSzJdIFVzZSBDIEFQSSBpbiBld2tfY29udGV4dF9t
ZW51CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDk2
OTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBFRkwg
cG9ydCB1bmxpa2Ugb3RoZXJzIGRvZXMgbm90IGhhbmRsZSBjb250ZXh0IG1lbnVzIGluc2lkZSBX
ZWJLaXQgYnV0IGV4cG9zZXMgYW4gQVBJOgorICAgICAgICBld2tfY29udGV4dF9tZW51IGFuZCBl
d2tfY29udGV4dF9tZW51X2l0ZW0sIGFuZCBsZWF2ZXMgY29udGV4dCBtZW51IHRvIGFwcGxpY2F0
aW9uLgorICAgICAgICBDdXJyZW50bHkgRUZMIHBvcnQncyBjb250ZXh0IG1lbnUgQVBJIHVzZXMg
aW50ZXJuYWwgQysrIGNsYXNzZXMsIHdoaWxlIGl0IHNob3VsZCB1c2UgV0syIEMgQVBJLAorICAg
ICAgICB0byBhdm9pZCB2aW9sYXRpbmcgbGF5ZXJpbmcuCisgICAgICAgIFRoaXMgcGF0Y2ggY2hh
bmdlcyBFRkwgY29udGV4dCBtZW51IEFQSSB0byB1c2Ugb25seSBXSzIgQyBBUEksIGFsc28gYWRk
cyB0d28gZnVuY3Rpb25zIHRvIFdLUGFnZUNvbnRleHRNZW51Q2xpZW50LgorCisgICAgICAgICog
UGxhdGZvcm1FZmwuY21ha2U6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlldy5j
cHA6CisgICAgICAgIChFd2tWaWV3OjpzaG93Q29udGV4dE1lbnUpOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9BUEkvZWZsL0V3a1ZpZXcuaDoKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChFd2tW
aWV3KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dF9tZW51LmNwcDoK
KyAgICAgICAgKEV3a0NvbnRleHRNZW51OjpFd2tDb250ZXh0TWVudSk6CisgICAgICAgIChFd2tD
b250ZXh0TWVudTo6Y29udGV4dE1lbnVJdGVtU2VsZWN0ZWQpOgorICAgICAgICAoZXdrX2NvbnRl
eHRfbWVudV9pdGVtX3NlbGVjdCk6CisgICAgICAgIChnZXRXS1RhZ0Zyb21Fd2tBY3Rpb24pOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0X21lbnVfaXRlbS5jcHA6Cisg
ICAgICAgIChFd2tDb250ZXh0TWVudUl0ZW06OkV3a0NvbnRleHRNZW51SXRlbSk6CisgICAgICAg
IChnZXRFd2tBY3Rpb25Gcm9tV0tUYWcpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL2V3
a19jb250ZXh0X21lbnVfaXRlbS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL2V3a19j
b250ZXh0X21lbnVfaXRlbV9wcml2YXRlLmg6CisgICAgICAgIChFd2tDb250ZXh0TWVudUl0ZW06
OmNyZWF0ZSk6CisgICAgICAgIChFd2tDb250ZXh0TWVudUl0ZW0pOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0X21lbnVfcHJpdmF0ZS5oOgorICAgICAgICAoRXdrQ29u
dGV4dE1lbnU6OmNyZWF0ZSk6CisgICAgICAgIChFd2tDb250ZXh0TWVudSk6CisgICAgICAgICog
VUlQcm9jZXNzL1BhZ2VDbGllbnQuaDoKKyAgICAgICAgKFBhZ2VDbGllbnQpOgorICAgICAgICAq
IFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJv
eHk6OmludGVybmFsU2hvd0NvbnRleHRNZW51KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFn
ZVByb3h5Lmg6CisgICAgICAgIChXZWJQYWdlUHJveHkpOgorICAgICAgICAqIFVJUHJvY2Vzcy9l
ZmwvQ29udGV4dE1lbnVDbGllbnRFZmwuY3BwOgorICAgICAgICAoc2hvd0NvbnRleHRNZW51KToK
KyAgICAgICAgKGhpZGVDb250ZXh0TWVudSk6CisgICAgICAgIChDb250ZXh0TWVudUNsaWVudEVm
bDo6Q29udGV4dE1lbnVDbGllbnRFZmwpOgorICAgICAgICAqIFVJUHJvY2Vzcy9lZmwvQ29udGV4
dE1lbnVDbGllbnRFZmwuaDoKKyAgICAgICAgKFdlYktpdDo6Q29udGV4dE1lbnVDbGllbnRFZmw6
OnZpZXcpOgorICAgICAgICAqIFVJUHJvY2Vzcy9lZmwvV2ViQ29udGV4dE1lbnVQcm94eUVmbC5j
cHA6IFJlbW92ZWQuCisgICAgICAgICogVUlQcm9jZXNzL2VmbC9XZWJDb250ZXh0TWVudVByb3h5
RWZsLmg6IFJlbW92ZWQuCisgICAgICAgICogVUlQcm9jZXNzL2VmbC9XZWJWaWV3LmNwcDoKKyAg
ICAgICAgKiBVSVByb2Nlc3MvZWZsL1dlYlZpZXcuaDoKKwogMjAxMy0wMy0wNiAgSHVhbmcgRG9u
Z3N1bmcgIDxsdXh0ZWxsYUBjb21wYW55MTAwLm5ldD4KIAogICAgICAgICBbRUZMXVtXSzJdIENv
bnZlcnQgZnJvbSBkZXZpY2UgdmlldyBzaXplIHRvIFVJIHZpZXcgc2l6ZSBvbmx5IGluIEV3a1Zp
ZXcuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZSBiL1NvdXJj
ZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtlCmluZGV4IDhmNmI5YmEuLmZjZjdkNmUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1BsYXRmb3JtRWZsLmNtYWtlCkBAIC0xMDEsNyArMTAxLDYgQEAgbGlzdChBUFBFTkQgV2Vi
S2l0Ml9TT1VSQ0VTCiAgICAgVUlQcm9jZXNzL2VmbC9WaWJyYXRpb25DbGllbnRFZmwuY3BwCiAg
ICAgVUlQcm9jZXNzL2VmbC9WaWV3Q2xpZW50RWZsLmNwcAogICAgIFVJUHJvY2Vzcy9lZmwvV2Vi
Q29udGV4dEVmbC5jcHAKLSAgICBVSVByb2Nlc3MvZWZsL1dlYkNvbnRleHRNZW51UHJveHlFZmwu
Y3BwCiAgICAgVUlQcm9jZXNzL2VmbC9XZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5RWZsLmNwcAog
ICAgIFVJUHJvY2Vzcy9lZmwvV2ViSW5zcGVjdG9yUHJveHlFZmwuY3BwCiAgICAgVUlQcm9jZXNz
L2VmbC9XZWJQYWdlUHJveHlFZmwuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL2VmbC9Fd2tWaWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
ZWZsL0V3a1ZpZXcuY3BwCmluZGV4IGI1MmM1MmUuLjJjMDc0NWMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuY3BwCkBAIC04MjIsNyArODIyLDcgQEAgdm9p
ZCBFd2tWaWV3OjpkaXNtaXNzQ29sb3JQaWNrZXIoKQogQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdf
RU5VTShFV0tfVEVYVF9ESVJFQ1RJT05fUklHSFRfVE9fTEVGVCwgUlRMKTsKIENPTVBJTEVfQVNT
RVJUX01BVENISU5HX0VOVU0oRVdLX1RFWFRfRElSRUNUSU9OX0xFRlRfVE9fUklHSFQsIExUUik7
CiAKLXZvaWQgRXdrVmlldzo6c2hvd0NvbnRleHRNZW51KFdlYkNvbnRleHRNZW51UHJveHlFZmwq
IGNvbnRleHRNZW51UHJveHksIGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBwb3NpdGlvbiwgY29u
c3QgVmVjdG9yPFdlYkNvbnRleHRNZW51SXRlbURhdGE+JiBpdGVtcykKK3ZvaWQgRXdrVmlldzo6
c2hvd0NvbnRleHRNZW51KFdLUG9pbnQgcG9zaXRpb24sIFdLQXJyYXlSZWYgaXRlbXMpCiB7CiAg
ICAgRXdrX1ZpZXdfU21hcnRfRGF0YSogc2QgPSBzbWFydERhdGEoKTsKICAgICBBU1NFUlQoc2Qt
PmFwaSk7CkBAIC04MzUsOSArODM1LDkgQEAgdm9pZCBFd2tWaWV3OjpzaG93Q29udGV4dE1lbnUo
V2ViQ29udGV4dE1lbnVQcm94eUVmbCogY29udGV4dE1lbnVQcm94eSwgY29uc3QgV2UKICAgICBp
ZiAobV9jb250ZXh0TWVudSkKICAgICAgICAgaGlkZUNvbnRleHRNZW51KCk7CiAKLSAgICBtX2Nv
bnRleHRNZW51ID0gRXdrX0NvbnRleHRfTWVudTo6Y3JlYXRlKHRoaXMsIGNvbnRleHRNZW51UHJv
eHksIGl0ZW1zKTsKKyAgICBtX2NvbnRleHRNZW51ID0gRXdrX0NvbnRleHRfTWVudTo6Y3JlYXRl
KHRoaXMsIGl0ZW1zKTsKIAotICAgIHNkLT5hcGktPmNvbnRleHRfbWVudV9zaG93KHNkLCBwb3Np
dGlvbi54KCksIHBvc2l0aW9uLnkoKSwgbV9jb250ZXh0TWVudS5nZXQoKSk7CisgICAgc2QtPmFw
aS0+Y29udGV4dF9tZW51X3Nob3coc2QsIHBvc2l0aW9uLngsIHBvc2l0aW9uLnksIG1fY29udGV4
dE1lbnUuZ2V0KCkpOwogfQogCiB2b2lkIEV3a1ZpZXc6OmhpZGVDb250ZXh0TWVudSgpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3LmggYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3LmgKaW5kZXggMmNjNmUyNy4uZjdl
MTRmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmll
dy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuaApAQCAt
NjQsOCArNjQsNiBAQCBjbGFzcyBQYWdlVUlDbGllbnRFZmw7CiBjbGFzcyBWaWV3Q2xpZW50RWZs
OwogY2xhc3MgUGFnZVZpZXdwb3J0Q29udHJvbGxlcjsKIGNsYXNzIFBhZ2VWaWV3cG9ydENvbnRy
b2xsZXJDbGllbnRFZmw7Ci1jbGFzcyBXZWJDb250ZXh0TWVudUl0ZW1EYXRhOwotY2xhc3MgV2Vi
Q29udGV4dE1lbnVQcm94eUVmbDsKIGNsYXNzIFdlYlBhZ2VHcm91cDsKIGNsYXNzIFdlYlBhZ2VQ
cm94eTsKIApAQCAtMTgxLDcgKzE3OSw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHJlcXVlc3RQb3B1
cE1lbnUoV0tQb3B1cE1lbnVMaXN0ZW5lclJlZiwgY29uc3QgV0tSZWN0JiwgV0tQb3B1cEl0ZW1U
ZXh0RGlyZWN0aW9uLCBkb3VibGUgcGFnZVNjYWxlRmFjdG9yLCBXS0FycmF5UmVmIGl0ZW1zLCBp
bnQzMl90IHNlbGVjdGVkSW5kZXgpOwogICAgIHZvaWQgY2xvc2VQb3B1cE1lbnUoKTsKIAotICAg
IHZvaWQgc2hvd0NvbnRleHRNZW51KFdlYktpdDo6V2ViQ29udGV4dE1lbnVQcm94eUVmbCosIGNv
bnN0IFdlYkNvcmU6OkludFBvaW50JiBwb3NpdGlvbiwgY29uc3QgVmVjdG9yPFdlYktpdDo6V2Vi
Q29udGV4dE1lbnVJdGVtRGF0YT4mIGl0ZW1zKTsKKyAgICB2b2lkIHNob3dDb250ZXh0TWVudShX
S1BvaW50IHBvc2l0aW9uLCBXS0FycmF5UmVmIGl0ZW1zKTsKICAgICB2b2lkIGhpZGVDb250ZXh0
TWVudSgpOwogCiAgICAgdm9pZCB1cGRhdGVUZXh0SW5wdXRTdGF0ZSgpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHRfbWVudS5jcHAgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dF9tZW51LmNwcAppbmRl
eCA5OGE0MzFhLi4xYTcyNmQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL2VmbC9ld2tfY29udGV4dF9tZW51LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL2VmbC9ld2tfY29udGV4dF9tZW51LmNwcApAQCAtMjgsMzQgKzI4LDM0IEBACiAKICNp
bmNsdWRlICJBUElPYmplY3QuaCIKICNpbmNsdWRlICJFd2tWaWV3LmgiCi0jaW5jbHVkZSAiV2Vi
Q29udGV4dE1lbnVJdGVtRGF0YS5oIgotI2luY2x1ZGUgIldlYkNvbnRleHRNZW51UHJveHlFZmwu
aCIKKyNpbmNsdWRlICJXS0FycmF5LmgiCisjaW5jbHVkZSAiV0tDb250ZXh0TWVudUl0ZW0uaCIK
KyNpbmNsdWRlICJXS1N0cmluZy5oIgogI2luY2x1ZGUgImV3a19jb250ZXh0X21lbnVfaXRlbS5o
IgogI2luY2x1ZGUgImV3a19jb250ZXh0X21lbnVfaXRlbV9wcml2YXRlLmgiCiAjaW5jbHVkZSAi
ZXdrX2NvbnRleHRfbWVudV9wcml2YXRlLmgiCiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CiAK
LUV3a0NvbnRleHRNZW51OjpFd2tDb250ZXh0TWVudShFd2tWaWV3KiB2aWV3LCBXZWJDb250ZXh0
TWVudVByb3h5RWZsKiBjb250ZXh0TWVudVByb3h5LCBjb25zdCBWZWN0b3I8V2ViS2l0OjpXZWJD
b250ZXh0TWVudUl0ZW1EYXRhPiYgaXRlbXMpCitzdGF0aWMgV0tDb250ZXh0TWVudUl0ZW1UYWcg
Z2V0V0tUYWdGcm9tRXdrQWN0aW9uKEV3a19Db250ZXh0X01lbnVfSXRlbV9BY3Rpb24gYWN0aW9u
KTsKKworRXdrQ29udGV4dE1lbnU6OkV3a0NvbnRleHRNZW51KEV3a1ZpZXcqIHZpZXcsIFdLQXJy
YXlSZWYgaXRlbXMpCiAgICAgOiBtX3ZpZXdJbXBsKHZpZXcpCi0gICAgLCBtX2NvbnRleHRNZW51
UHJveHkoY29udGV4dE1lbnVQcm94eSkKICAgICAsIG1fY29udGV4dE1lbnVJdGVtcygwKQogewot
ICAgIGNvbnN0IHNpemVfdCBzaXplID0gaXRlbXMuc2l6ZSgpOworICAgIHNpemVfdCBzaXplID0g
V0tBcnJheUdldFNpemUoaXRlbXMpOwogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgc2l6ZTsg
KytpKQotICAgICAgICBtX2NvbnRleHRNZW51SXRlbXMgPSBlaW5hX2xpc3RfYXBwZW5kKG1fY29u
dGV4dE1lbnVJdGVtcywgRXdrX0NvbnRleHRfTWVudV9JdGVtOjpjcmVhdGUoaXRlbXNbaV0pLmxl
YWtQdHIoKSk7CisgICAgICAgIG1fY29udGV4dE1lbnVJdGVtcyA9IGVpbmFfbGlzdF9hcHBlbmQo
bV9jb250ZXh0TWVudUl0ZW1zLCBFd2tfQ29udGV4dF9NZW51X0l0ZW06OmNyZWF0ZShzdGF0aWNf
Y2FzdDxXS0NvbnRleHRNZW51SXRlbVJlZj4oV0tBcnJheUdldEl0ZW1BdEluZGV4KGl0ZW1zLCBp
KSkpLmxlYWtQdHIoKSk7CiB9CiAKIEV3a0NvbnRleHRNZW51OjpFd2tDb250ZXh0TWVudSgpCiAg
ICAgOiBtX3ZpZXdJbXBsKDApCi0gICAgLCBtX2NvbnRleHRNZW51UHJveHkoMCkKICAgICAsIG1f
Y29udGV4dE1lbnVJdGVtcygwKQogewogfQogCiBFd2tDb250ZXh0TWVudTo6RXdrQ29udGV4dE1l
bnUoRWluYV9MaXN0KiBpdGVtcykKICAgICA6IG1fdmlld0ltcGwoMCkKLSAgICAsIG1fY29udGV4
dE1lbnVQcm94eSgwKQogICAgICwgbV9jb250ZXh0TWVudUl0ZW1zKDApCiB7CiAgICAgRWluYV9M
aXN0KiBsOwpAQCAtODYsOSArODYsOSBAQCB2b2lkIEV3a19Db250ZXh0X01lbnU6OnJlbW92ZUl0
ZW0oRXdrQ29udGV4dE1lbnVJdGVtKiBpdGVtKQogICAgIG1fY29udGV4dE1lbnVJdGVtcyA9IGVp
bmFfbGlzdF9yZW1vdmUobV9jb250ZXh0TWVudUl0ZW1zLCBpdGVtKTsKIH0KIAotdm9pZCBFd2tD
b250ZXh0TWVudTo6Y29udGV4dE1lbnVJdGVtU2VsZWN0ZWQoY29uc3QgV2ViS2l0OjpXZWJDb250
ZXh0TWVudUl0ZW1EYXRhJiBpdGVtKQordm9pZCBFd2tDb250ZXh0TWVudTo6Y29udGV4dE1lbnVJ
dGVtU2VsZWN0ZWQoV0tDb250ZXh0TWVudUl0ZW1SZWYgaXRlbSkKIHsKLSAgICBtX2NvbnRleHRN
ZW51UHJveHktPmNvbnRleHRNZW51SXRlbVNlbGVjdGVkKGl0ZW0pOyAKKyAgICBXS1BhZ2VDb250
ZXh0TWVudUl0ZW1TZWxlY3RlZChtX3ZpZXdJbXBsLT53a1BhZ2UoKSwgaXRlbSk7CiB9IAogCiBF
d2tfQ29udGV4dF9NZW51KiBld2tfY29udGV4dF9tZW51X25ldygpCkBAIC0xNDAsMTAgKzE0MCwx
NzMgQEAgRWluYV9Cb29sIGV3a19jb250ZXh0X21lbnVfaXRlbV9zZWxlY3QoRXdrX0NvbnRleHRf
TWVudSogbWVudSwgRXdrX0NvbnRleHRfTWVudV8KICAgICBFSU5BX1NBRkVUWV9PTl9OVUxMX1JF
VFVSTl9WQUwobWVudSwgZmFsc2UpOwogICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJOX1ZB
TChpdGVtLCBmYWxzZSk7CiAKLSAgICBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UeXBlIHR5cGUg
PSBzdGF0aWNfY2FzdDxXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UeXBlPihpdGVtLT50eXBlKCkp
OwotICAgIFdlYkNvcmU6OkNvbnRleHRNZW51QWN0aW9uIGFjdGlvbiA9IHN0YXRpY19jYXN0PFdl
YkNvcmU6OkNvbnRleHRNZW51QWN0aW9uPihpdGVtLT5hY3Rpb24oKSk7CisgICAgV0tDb250ZXh0
TWVudUl0ZW1SZWYgd2tJdGVtOworCisgICAgc3dpdGNoIChpdGVtLT50eXBlKCkpIHsKKyAgICBj
YXNlIEVXS19BQ1RJT05fVFlQRToKKyAgICAgICAgd2tJdGVtID0gV0tDb250ZXh0TWVudUl0ZW1D
cmVhdGVBc0FjdGlvbihnZXRXS1RhZ0Zyb21Fd2tBY3Rpb24oaXRlbS0+YWN0aW9uKCkpLCBhZG9w
dFdLKFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKGl0ZW0tPnRpdGxlKCkpKS5nZXQoKSwg
aXRlbS0+ZW5hYmxlZCgpKTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBFV0tfQ0hFQ0tBQkxF
X0FDVElPTl9UWVBFOgorICAgICAgICB3a0l0ZW0gPSBXS0NvbnRleHRNZW51SXRlbUNyZWF0ZUFz
Q2hlY2thYmxlQWN0aW9uKGdldFdLVGFnRnJvbUV3a0FjdGlvbihpdGVtLT5hY3Rpb24oKSksIGFk
b3B0V0soV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoaXRlbS0+dGl0bGUoKSkpLmdldCgp
LCBpdGVtLT5lbmFibGVkKCksIGl0ZW0tPmNoZWNrZWQoKSk7CisgICAgICAgIGJyZWFrOworICAg
IGRlZmF1bHQ6CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICByZXR1cm4g
ZmFsc2U7CisgICAgfQogCi0gICAgbWVudS0+Y29udGV4dE1lbnVJdGVtU2VsZWN0ZWQoV2ViQ29u
dGV4dE1lbnVJdGVtRGF0YSh0eXBlLCBhY3Rpb24sIGl0ZW0tPnRpdGxlKCksIGl0ZW0tPmVuYWJs
ZWQoKSwgaXRlbS0+Y2hlY2tlZCgpKSk7CisgICAgbWVudS0+Y29udGV4dE1lbnVJdGVtU2VsZWN0
ZWQod2tJdGVtKTsKIAogICAgIHJldHVybiB0cnVlOwogfQorCitzdGF0aWMgV0tDb250ZXh0TWVu
dUl0ZW1UYWcgZ2V0V0tUYWdGcm9tRXdrQWN0aW9uKEV3a19Db250ZXh0X01lbnVfSXRlbV9BY3Rp
b24gYWN0aW9uKQoreworICAgIHN3aXRjaCAoYWN0aW9uKSB7CisgICAgY2FzZSBFV0tfQ09OVEVY
VF9NRU5VX0lURU1fVEFHX05PX0FDVElPTjoKKyAgICAgICAgcmV0dXJuIGtXS0NvbnRleHRNZW51
SXRlbVRhZ05vQWN0aW9uOworICAgIGNhc2UgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19PUEVO
X0xJTktfSU5fTkVXX1dJTkRPVzoKKyAgICAgICAgcmV0dXJuIGtXS0NvbnRleHRNZW51SXRlbVRh
Z09wZW5MaW5rSW5OZXdXaW5kb3c7CisgICAgY2FzZSBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFH
X0RPV05MT0FEX0xJTktfVE9fRElTSzoKKyAgICAgICAgcmV0dXJuIGtXS0NvbnRleHRNZW51SXRl
bVRhZ0Rvd25sb2FkTGlua1RvRGlzazsKKyAgICBjYXNlIEVXS19DT05URVhUX01FTlVfSVRFTV9U
QUdfQ09QWV9MSU5LX1RPX0NMSVBCT0FSRDoKKyAgICAgICAgcmV0dXJuIGtXS0NvbnRleHRNZW51
SXRlbVRhZ0NvcHlMaW5rVG9DbGlwYm9hcmQ7CisgICAgY2FzZSBFV0tfQ09OVEVYVF9NRU5VX0lU
RU1fVEFHX09QRU5fSU1BR0VfSU5fTkVXX1dJTkRPVzoKKyAgICAgICAgcmV0dXJuIGtXS0NvbnRl
eHRNZW51SXRlbVRhZ09wZW5JbWFnZUluTmV3V2luZG93OworICAgIGNhc2UgRVdLX0NPTlRFWFRf
TUVOVV9JVEVNX1RBR19ET1dOTE9BRF9JTUFHRV9UT19ESVNLOgorICAgICAgICByZXR1cm4ga1dL
Q29udGV4dE1lbnVJdGVtVGFnRG93bmxvYWRJbWFnZVRvRGlzazsKKyAgICBjYXNlIEVXS19DT05U
RVhUX01FTlVfSVRFTV9UQUdfQ09QWV9JTUFHRV9UT19DTElQQk9BUkQ6CisgICAgICAgIHJldHVy
biBrV0tDb250ZXh0TWVudUl0ZW1UYWdDb3B5SW1hZ2VUb0NsaXBib2FyZDsKKyAgICBjYXNlIEVX
S19DT05URVhUX01FTlVfSVRFTV9UQUdfQ09QWV9JTUFHRV9VUkxfVE9fQ0xJUEJPQVJEOgorICAg
ICAgICByZXR1cm4ga1dLQ29udGV4dE1lbnVJdGVtVGFnQ29weUltYWdlVXJsVG9DbGlwYm9hcmQ7
CisgICAgY2FzZSBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX09QRU5fRlJBTUVfSU5fTkVXX1dJ
TkRPVzoKKyAgICAgICAgcmV0dXJuIGtXS0NvbnRleHRNZW51SXRlbVRhZ09wZW5GcmFtZUluTmV3
V2luZG93OworICAgIGNhc2UgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19DT1BZOgorICAgICAg
ICByZXR1cm4ga1dLQ29udGV4dE1lbnVJdGVtVGFnQ29weTsKKyAgICBjYXNlIEVXS19DT05URVhU
X01FTlVfSVRFTV9UQUdfR09fQkFDSzoKKyAgICAgICAgcmV0dXJuIGtXS0NvbnRleHRNZW51SXRl
bVRhZ0dvQmFjazsKKyAgICBjYXNlIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfR09fRk9SV0FS
RDoKKyAgICAgICAgcmV0dXJuIGtXS0NvbnRleHRNZW51SXRlbVRhZ0dvRm9yd2FyZDsKKyAgICBj
YXNlIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfU1RPUDoKKyAgICAgICAgcmV0dXJuIGtXS0Nv
bnRleHRNZW51SXRlbVRhZ1N0b3A7CisgICAgY2FzZSBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFH
X1JFTE9BRDoKKyAgICAgICAgcmV0dXJuIGtXS0NvbnRleHRNZW51SXRlbVRhZ1JlbG9hZDsKKyAg
ICBjYXNlIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfQ1VUOgorICAgICAgICByZXR1cm4ga1dL
Q29udGV4dE1lbnVJdGVtVGFnQ3V0OworICAgIGNhc2UgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RB
R19QQVNURToKKyAgICAgICAgcmV0dXJuIGtXS0NvbnRleHRNZW51SXRlbVRhZ1Bhc3RlOworICAg
IGNhc2UgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19TRUxFQ1RfQUxMOgorICAgICAgICByZXR1
cm4ga1dLQ29udGV4dE1lbnVJdGVtVGFnU2VsZWN0QWxsOworICAgIGNhc2UgRVdLX0NPTlRFWFRf
TUVOVV9JVEVNX1RBR19TUEVMTElOR19HVUVTUzoKKyAgICAgICAgcmV0dXJuIGtXS0NvbnRleHRN
ZW51SXRlbVRhZ1NwZWxsaW5nR3Vlc3M7CisgICAgY2FzZSBFV0tfQ09OVEVYVF9NRU5VX0lURU1f
VEFHX05PX0dVRVNTRVNfRk9VTkQ6CisgICAgICAgIHJldHVybiBrV0tDb250ZXh0TWVudUl0ZW1U
YWdOb0d1ZXNzZXNGb3VuZDsKKyAgICBjYXNlIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfSUdO
T1JFX1NQRUxMSU5HOgorICAgICAgICByZXR1cm4ga1dLQ29udGV4dE1lbnVJdGVtVGFnSWdub3Jl
U3BlbGxpbmc7CisgICAgY2FzZSBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0xFQVJOX1NQRUxM
SU5HOgorICAgICAgICByZXR1cm4ga1dLQ29udGV4dE1lbnVJdGVtVGFnTGVhcm5TcGVsbGluZzsK
KyAgICBjYXNlIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfT1RIRVI6CisgICAgICAgIHJldHVy
biBrV0tDb250ZXh0TWVudUl0ZW1UYWdPdGhlcjsKKyAgICBjYXNlIEVXS19DT05URVhUX01FTlVf
SVRFTV9UQUdfU0VBUkNIX0lOX1NQT1RMSUdIVDoKKyAgICAgICAgcmV0dXJuIGtXS0NvbnRleHRN
ZW51SXRlbVRhZ1NlYXJjaEluU3BvdGxpZ2h0OworICAgIGNhc2UgRVdLX0NPTlRFWFRfTUVOVV9J
VEVNX1RBR19TRUFSQ0hfV0VCOgorICAgICAgICByZXR1cm4ga1dLQ29udGV4dE1lbnVJdGVtVGFn
U2VhcmNoV2ViOworICAgIGNhc2UgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19MT09LX1VQX0lO
X0RJQ1RJT05BUlk6CisgICAgICAgIHJldHVybiBrV0tDb250ZXh0TWVudUl0ZW1UYWdMb29rVXBJ
bkRpY3Rpb25hcnk7CisgICAgY2FzZSBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX09QRU5fV0lU
SF9ERUZBVUxUX0FQUExJQ0FUSU9OOgorICAgICAgICByZXR1cm4ga1dLQ29udGV4dE1lbnVJdGVt
VGFnT3BlbldpdGhEZWZhdWx0QXBwbGljYXRpb247CisgICAgY2FzZSBFV0tfQ09OVEVYVF9NRU5V
X0lURU1fUERGQUNUVUFMX1NJWkU6CisgICAgICAgIHJldHVybiBrV0tDb250ZXh0TWVudUl0ZW1U
YWdQREZBY3R1YWxTaXplOworICAgIGNhc2UgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1BERlpPT01f
SU46CisgICAgICAgIHJldHVybiBrV0tDb250ZXh0TWVudUl0ZW1UYWdQREZab29tSW47CisgICAg
Y2FzZSBFV0tfQ09OVEVYVF9NRU5VX0lURU1fUERGWk9PTV9PVVQ6CisgICAgICAgIHJldHVybiBr
V0tDb250ZXh0TWVudUl0ZW1UYWdQREZab29tT3V0OworICAgIGNhc2UgRVdLX0NPTlRFWFRfTUVO
VV9JVEVNX1BERkFVVE9fU0laRToKKyAgICAgICAgcmV0dXJuIGtXS0NvbnRleHRNZW51SXRlbVRh
Z1BERkF1dG9TaXplOworICAgIGNhc2UgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1BERlNJTkdMRV9Q
QUdFOgorICAgICAgICByZXR1cm4ga1dLQ29udGV4dE1lbnVJdGVtVGFnUERGU2luZ2xlUGFnZTsK
KyAgICBjYXNlIEVXS19DT05URVhUX01FTlVfSVRFTV9QREZGQUNJTkdfUEFHRVM6CisgICAgICAg
IHJldHVybiBrV0tDb250ZXh0TWVudUl0ZW1UYWdQREZGYWNpbmdQYWdlczsKKyAgICBjYXNlIEVX
S19DT05URVhUX01FTlVfSVRFTV9QREZDT05USU5VT1VTOgorICAgICAgICByZXR1cm4ga1dLQ29u
dGV4dE1lbnVJdGVtVGFnUERGQ29udGludW91czsKKyAgICBjYXNlIEVXS19DT05URVhUX01FTlVf
SVRFTV9QREZORVhUX1BBR0U6CisgICAgICAgIHJldHVybiBrV0tDb250ZXh0TWVudUl0ZW1UYWdQ
REZOZXh0UGFnZTsKKyAgICBjYXNlIEVXS19DT05URVhUX01FTlVfSVRFTV9QREZQUkVWSU9VU19Q
QUdFOgorICAgICAgICByZXR1cm4ga1dLQ29udGV4dE1lbnVJdGVtVGFnUERGUHJldmlvdXNQYWdl
OworICAgIGNhc2UgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19PUEVOX0xJTks6CisgICAgICAg
IHJldHVybiBrV0tDb250ZXh0TWVudUl0ZW1UYWdPcGVuTGluazsKKyAgICBjYXNlIEVXS19DT05U
RVhUX01FTlVfSVRFTV9UQUdfSUdOT1JFX0dSQU1NQVI6CisgICAgICAgIHJldHVybiBrV0tDb250
ZXh0TWVudUl0ZW1UYWdJZ25vcmVHcmFtbWFyOworICAgIGNhc2UgRVdLX0NPTlRFWFRfTUVOVV9J
VEVNX1RBR19TUEVMTElOR19NRU5VOgorICAgICAgICByZXR1cm4ga1dLQ29udGV4dE1lbnVJdGVt
VGFnU3BlbGxpbmdNZW51OworICAgIGNhc2UgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19TSE9X
X1NQRUxMSU5HX1BBTkVMOgorICAgICAgICByZXR1cm4ga1dLQ29udGV4dE1lbnVJdGVtVGFnU2hv
d1NwZWxsaW5nUGFuZWw7CisgICAgY2FzZSBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0NIRUNL
X1NQRUxMSU5HOgorICAgICAgICByZXR1cm4ga1dLQ29udGV4dE1lbnVJdGVtVGFnQ2hlY2tTcGVs
bGluZzsKKyAgICBjYXNlIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfQ0hFQ0tfU1BFTExJTkdf
V0hJTEVfVFlQSU5HOgorICAgICAgICByZXR1cm4ga1dLQ29udGV4dE1lbnVJdGVtVGFnQ2hlY2tT
cGVsbGluZ1doaWxlVHlwaW5nOworICAgIGNhc2UgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19D
SEVDS19HUkFNTUFSX1dJVEhfU1BFTExJTkc6CisgICAgICAgIHJldHVybiBrV0tDb250ZXh0TWVu
dUl0ZW1UYWdDaGVja0dyYW1tYXJXaXRoU3BlbGxpbmc7CisgICAgY2FzZSBFV0tfQ09OVEVYVF9N
RU5VX0lURU1fVEFHX0ZPTlRfTUVOVToKKyAgICAgICAgcmV0dXJuIGtXS0NvbnRleHRNZW51SXRl
bVRhZ0ZvbnRNZW51OworICAgIGNhc2UgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19TSE9XX0ZP
TlRTOgorICAgICAgICByZXR1cm4ga1dLQ29udGV4dE1lbnVJdGVtVGFnU2hvd0ZvbnRzOworICAg
IGNhc2UgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19CT0xEOgorICAgICAgICByZXR1cm4ga1dL
Q29udGV4dE1lbnVJdGVtVGFnQm9sZDsKKyAgICBjYXNlIEVXS19DT05URVhUX01FTlVfSVRFTV9U
QUdfSVRBTElDOgorICAgICAgICByZXR1cm4ga1dLQ29udGV4dE1lbnVJdGVtVGFnSXRhbGljOwor
ICAgIGNhc2UgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19VTkRFUkxJTkU6CisgICAgICAgIHJl
dHVybiBrV0tDb250ZXh0TWVudUl0ZW1UYWdVbmRlcmxpbmU7CisgICAgY2FzZSBFV0tfQ09OVEVY
VF9NRU5VX0lURU1fVEFHX09VVExJTkU6CisgICAgICAgIHJldHVybiBrV0tDb250ZXh0TWVudUl0
ZW1UYWdPdXRsaW5lOworICAgIGNhc2UgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19TVFlMRVM6
CisgICAgICAgIHJldHVybiBrV0tDb250ZXh0TWVudUl0ZW1UYWdTdHlsZXM7CisgICAgY2FzZSBF
V0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1NIT1dfQ09MT1JTOgorICAgICAgICByZXR1cm4ga1dL
Q29udGV4dE1lbnVJdGVtVGFnU2hvd0NvbG9yczsKKyAgICBjYXNlIEVXS19DT05URVhUX01FTlVf
SVRFTV9UQUdfU1BFRUNIX01FTlU6CisgICAgICAgIHJldHVybiBrV0tDb250ZXh0TWVudUl0ZW1U
YWdTcGVlY2hNZW51OworICAgIGNhc2UgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19TVEFSVF9T
UEVBS0lORzoKKyAgICAgICAgcmV0dXJuIGtXS0NvbnRleHRNZW51SXRlbVRhZ1N0YXJ0U3BlYWtp
bmc7CisgICAgY2FzZSBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1NUT1BfU1BFQUtJTkc6Cisg
ICAgICAgIHJldHVybiBrV0tDb250ZXh0TWVudUl0ZW1UYWdTdG9wU3BlYWtpbmc7CisgICAgY2Fz
ZSBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1dSSVRJTkdfRElSRUNUSU9OX01FTlU6CisgICAg
ICAgIHJldHVybiBrV0tDb250ZXh0TWVudUl0ZW1UYWdXcml0aW5nRGlyZWN0aW9uTWVudTsKKyAg
ICBjYXNlIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfREVGQVVMVF9ESVJFQ1RJT046CisgICAg
ICAgIHJldHVybiBrV0tDb250ZXh0TWVudUl0ZW1UYWdEZWZhdWx0RGlyZWN0aW9uOworICAgIGNh
c2UgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19MRUZUX1RPX1JJR0hUOgorICAgICAgICByZXR1
cm4ga1dLQ29udGV4dE1lbnVJdGVtVGFnTGVmdFRvUmlnaHQ7CisgICAgY2FzZSBFV0tfQ09OVEVY
VF9NRU5VX0lURU1fVEFHX1JJR0hUX1RPX0xFRlQ6CisgICAgICAgIHJldHVybiBrV0tDb250ZXh0
TWVudUl0ZW1UYWdSaWdodFRvTGVmdDsKKyAgICBjYXNlIEVXS19DT05URVhUX01FTlVfSVRFTV9U
QUdfUERGU0lOR0xFX1BBR0VfU0NST0xMSU5HOgorICAgICAgICByZXR1cm4ga1dLQ29udGV4dE1l
bnVJdGVtVGFnUERGU2luZ2xlUGFnZVNjcm9sbGluZzsKKyAgICBjYXNlIEVXS19DT05URVhUX01F
TlVfSVRFTV9UQUdfUERGRkFDSU5HX1BBR0VTX1NDUk9MTElORzoKKyAgICAgICAgcmV0dXJuIGtX
S0NvbnRleHRNZW51SXRlbVRhZ1BERkZhY2luZ1BhZ2VzU2Nyb2xsaW5nOworICAgIGNhc2UgRVdL
X0NPTlRFWFRfTUVOVV9JVEVNX1RBR19JTlNQRUNUX0VMRU1FTlQ6CisgICAgICAgIHJldHVybiBr
V0tDb250ZXh0TWVudUl0ZW1UYWdJbnNwZWN0RWxlbWVudDsKKyAgICBjYXNlIEVXS19DT05URVhU
X01FTlVfSVRFTV9UQUdfVEVYVF9ESVJFQ1RJT05fTUVOVToKKyAgICAgICAgcmV0dXJuIGtXS0Nv
bnRleHRNZW51SXRlbVRhZ1RleHREaXJlY3Rpb25NZW51OworICAgIGNhc2UgRVdLX0NPTlRFWFRf
TUVOVV9JVEVNX1RBR19URVhUX0RJUkVDVElPTl9ERUZBVUxUOgorICAgICAgICByZXR1cm4ga1dL
Q29udGV4dE1lbnVJdGVtVGFnVGV4dERpcmVjdGlvbkRlZmF1bHQ7CisgICAgY2FzZSBFV0tfQ09O
VEVYVF9NRU5VX0lURU1fVEFHX1RFWFRfRElSRUNUSU9OX0xFRlRfVE9fUklHSFQ6CisgICAgICAg
IHJldHVybiBrV0tDb250ZXh0TWVudUl0ZW1UYWdUZXh0RGlyZWN0aW9uTGVmdFRvUmlnaHQ7Cisg
ICAgY2FzZSBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1RFWFRfRElSRUNUSU9OX1JJR0hUX1RP
X0xFRlQ6CisgICAgICAgIHJldHVybiBrV0tDb250ZXh0TWVudUl0ZW1UYWdUZXh0RGlyZWN0aW9u
UmlnaHRUb0xlZnQ7CisgICAgY2FzZSBFV0tfQ09OVEVYVF9NRU5VX0lURU1fT1BFTl9NRURJQV9J
Tl9ORVdfV0lORE9XOgorICAgICAgICByZXR1cm4ga1dLQ29udGV4dE1lbnVJdGVtVGFnT3Blbk1l
ZGlhSW5OZXdXaW5kb3c7CisgICAgY2FzZSBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0NPUFlf
TUVESUFfTElOS19UT19DTElQQk9BUkQ6CisgICAgICAgIHJldHVybiBrV0tDb250ZXh0TWVudUl0
ZW1UYWdDb3B5TWVkaWFMaW5rVG9DbGlwYm9hcmQ7CisgICAgY2FzZSBFV0tfQ09OVEVYVF9NRU5V
X0lURU1fVEFHX1RPR0dMRV9NRURJQV9DT05UUk9MUzoKKyAgICAgICAgcmV0dXJuIGtXS0NvbnRl
eHRNZW51SXRlbVRhZ1RvZ2dsZU1lZGlhQ29udHJvbHM7CisgICAgY2FzZSBFV0tfQ09OVEVYVF9N
RU5VX0lURU1fVEFHX1RPR0dMRV9NRURJQV9MT09QOgorICAgICAgICByZXR1cm4ga1dLQ29udGV4
dE1lbnVJdGVtVGFnVG9nZ2xlTWVkaWFMb29wOworICAgIGNhc2UgRVdLX0NPTlRFWFRfTUVOVV9J
VEVNX1RBR19FTlRFUl9WSURFT19GVUxMU0NSRUVOOgorICAgICAgICByZXR1cm4ga1dLQ29udGV4
dE1lbnVJdGVtVGFnRW50ZXJWaWRlb0Z1bGxzY3JlZW47CisgICAgY2FzZSBFV0tfQ09OVEVYVF9N
RU5VX0lURU1fVEFHX01FRElBX1BMQVlfUEFVU0U6CisgICAgICAgIHJldHVybiBrV0tDb250ZXh0
TWVudUl0ZW1UYWdNZWRpYVBsYXlQYXVzZTsKKyAgICBjYXNlIEVXS19DT05URVhUX01FTlVfSVRF
TV9UQUdfTUVESUFfTVVURToKKyAgICAgICAgcmV0dXJuIGtXS0NvbnRleHRNZW51SXRlbVRhZ01l
ZGlhTXV0ZTsKKyAgICBjYXNlIEVXS19DT05URVhUX01FTlVfSVRFTV9CQVNFX0FQUExJQ0FUSU9O
X1RBRzoKKyAgICAgICAgcmV0dXJuIGtXS0NvbnRleHRNZW51SXRlbUJhc2VBcHBsaWNhdGlvblRh
ZzsKKyAgICBkZWZhdWx0OgorICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8V0tDb250ZXh0TWVu
dUl0ZW1UYWc+KGFjdGlvbik7CisgICAgfQorfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHRfbWVudV9pdGVtLmNwcCBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0X21lbnVfaXRlbS5jcHAKaW5kZXggMWZm
ODY1Mi4uZWRiOWY0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9l
ZmwvZXdrX2NvbnRleHRfbWVudV9pdGVtLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL2VmbC9ld2tfY29udGV4dF9tZW51X2l0ZW0uY3BwCkBAIC0yOCwxNyArMjgsMTkgQEAK
IAogI2luY2x1ZGUgImV3a19jb250ZXh0X21lbnVfaXRlbV9wcml2YXRlLmgiCiAjaW5jbHVkZSAi
ZXdrX3ByaXZhdGUuaCIKKyNpbmNsdWRlIDxXZWJLaXQyL1dLQ29udGV4dE1lbnVJdGVtVHlwZXMu
aD4KICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAKLXVzaW5nIG5hbWVzcGFjZSBXZWJD
b3JlOwogdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKIAotRXdrQ29udGV4dE1lbnVJdGVtOjpFd2tD
b250ZXh0TWVudUl0ZW0oY29uc3QgV2ViQ29udGV4dE1lbnVJdGVtRGF0YSYgaXRlbSkKLSAgICA6
IG1fdHlwZShzdGF0aWNfY2FzdDxFd2tfQ29udGV4dF9NZW51X0l0ZW1fVHlwZT4oaXRlbS50eXBl
KCkpKQotICAgICwgbV9hY3Rpb24oc3RhdGljX2Nhc3Q8RXdrX0NvbnRleHRfTWVudV9JdGVtX0Fj
dGlvbj4oaXRlbS5hY3Rpb24oKSkpCi0gICAgLCBtX3RpdGxlKGl0ZW0udGl0bGUoKS51dGY4KCku
ZGF0YSgpKQotICAgICwgbV9pc0NoZWNrZWQoaXRlbS5jaGVja2VkKCkpCi0gICAgLCBtX2lzRW5h
YmxlZChpdGVtLmVuYWJsZWQoKSkKK3N0YXRpYyBFd2tfQ29udGV4dF9NZW51X0l0ZW1fQWN0aW9u
IGdldEV3a0FjdGlvbkZyb21XS1RhZyhXS0NvbnRleHRNZW51SXRlbVRhZyBhY3Rpb24pOworCitF
d2tDb250ZXh0TWVudUl0ZW06OkV3a0NvbnRleHRNZW51SXRlbShXS0NvbnRleHRNZW51SXRlbVJl
ZiBpdGVtKQorICAgIDogbV90eXBlKHN0YXRpY19jYXN0PEV3a19Db250ZXh0X01lbnVfSXRlbV9U
eXBlPihXS0NvbnRleHRNZW51SXRlbUdldFR5cGUoaXRlbSkpKQorICAgICwgbV9hY3Rpb24oZ2V0
RXdrQWN0aW9uRnJvbVdLVGFnKChXS0NvbnRleHRNZW51SXRlbUdldFRhZyhpdGVtKSkpKQorICAg
ICwgbV90aXRsZShXS0VpbmFTaGFyZWRTdHJpbmcoQWRvcHRXSywgV0tDb250ZXh0TWVudUl0ZW1D
b3B5VGl0bGUoaXRlbSkpKQorICAgICwgbV9pc0NoZWNrZWQoV0tDb250ZXh0TWVudUl0ZW1HZXRD
aGVja2VkKGl0ZW0pKQorICAgICwgbV9pc0VuYWJsZWQoV0tDb250ZXh0TWVudUl0ZW1HZXRFbmFi
bGVkKGl0ZW0pKQogICAgICwgbV9wYXJlbnRNZW51KDApCiAgICAgLCBtX3N1Yk1lbnUoMCkKIHsK
QEAgLTE0NSw4MCArMTQ3LDE1NCBAQCBFaW5hX0Jvb2wgZXdrX2NvbnRleHRfbWVudV9pdGVtX2Vu
YWJsZWRfc2V0KEV3a19Db250ZXh0X01lbnVfSXRlbSogaXRlbSwgRWluYV9CbwogICAgIHJldHVy
biB0cnVlOwogfQogCi1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01F
TlVfSVRFTV9UQUdfTk9fQUNUSU9OLCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdOb0FjdGlv
bik7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9U
QUdfT1BFTl9MSU5LX0lOX05FV19XSU5ET1csIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ09w
ZW5MaW5rSW5OZXdXaW5kb3cpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09O
VEVYVF9NRU5VX0lURU1fVEFHX0RPV05MT0FEX0xJTktfVE9fRElTSywgV2ViQ29yZTo6Q29udGV4
dE1lbnVJdGVtVGFnRG93bmxvYWRMaW5rVG9EaXNrKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5H
X0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19DT1BZX0xJTktfVE9fQ0xJUEJPQVJELCBX
ZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdDb3B5TGlua1RvQ2xpcGJvYXJkKTsKLUNPTVBJTEVf
QVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19PUEVOX0lNQUdF
X0lOX05FV19XSU5ET1csIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ09wZW5JbWFnZUluTmV3
V2luZG93KTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9J
VEVNX1RBR19ET1dOTE9BRF9JTUFHRV9UT19ESVNLLCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1U
YWdEb3dubG9hZEltYWdlVG9EaXNrKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdL
X0NPTlRFWFRfTUVOVV9JVEVNX1RBR19DT1BZX0lNQUdFX1RPX0NMSVBCT0FSRCwgV2ViQ29yZTo6
Q29udGV4dE1lbnVJdGVtVGFnQ29weUltYWdlVG9DbGlwYm9hcmQpOwotQ09NUElMRV9BU1NFUlRf
TUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0NPUFlfSU1BR0VfVVJMX1RP
X0NMSVBCT0FSRCwgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnQ29weUltYWdlVXJsVG9DbGlw
Ym9hcmQpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lU
RU1fVEFHX09QRU5fRlJBTUVfSU5fTkVXX1dJTkRPVywgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVt
VGFnT3BlbkZyYW1lSW5OZXdXaW5kb3cpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShF
V0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0NPUFksIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRh
Z0NvcHkpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lU
RU1fVEFHX0dPX0JBQ0ssIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ0dvQmFjayk7Ci1DT01Q
SUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfR09fRk9S
V0FSRCwgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnR29Gb3J3YXJkKTsKLUNPTVBJTEVfQVNT
RVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19TVE9QLCBXZWJDb3Jl
OjpDb250ZXh0TWVudUl0ZW1UYWdTdG9wKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0o
RVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19SRUxPQUQsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRl
bVRhZ1JlbG9hZCk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01F
TlVfSVRFTV9UQUdfQ1VULCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdDdXQpOwotQ09NUElM
RV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1BBU1RFLCBX
ZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdQYXN0ZSk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElO
R19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfU0VMRUNUX0FMTCwgV2ViQ29yZTo6Q29u
dGV4dE1lbnVJdGVtVGFnU2VsZWN0QWxsKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0o
RVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19TUEVMTElOR19HVUVTUywgV2ViQ29yZTo6Q29udGV4
dE1lbnVJdGVtVGFnU3BlbGxpbmdHdWVzcyk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVN
KEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfTk9fR1VFU1NFU19GT1VORCwgV2ViQ29yZTo6Q29u
dGV4dE1lbnVJdGVtVGFnTm9HdWVzc2VzRm91bmQpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdf
RU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0lHTk9SRV9TUEVMTElORywgV2ViQ29yZTo6
Q29udGV4dE1lbnVJdGVtVGFnSWdub3JlU3BlbGxpbmcpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJ
TkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0xFQVJOX1NQRUxMSU5HLCBXZWJDb3Jl
OjpDb250ZXh0TWVudUl0ZW1UYWdMZWFyblNwZWxsaW5nKTsKLUNPTVBJTEVfQVNTRVJUX01BVENI
SU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19PVEhFUiwgV2ViQ29yZTo6Q29udGV4
dE1lbnVJdGVtVGFnT3RoZXIpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09O
VEVYVF9NRU5VX0lURU1fVEFHX1NFQVJDSF9JTl9TUE9UTElHSFQsIFdlYkNvcmU6OkNvbnRleHRN
ZW51SXRlbVRhZ1NlYXJjaEluU3BvdGxpZ2h0KTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VO
VU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19TRUFSQ0hfV0VCLCBXZWJDb3JlOjpDb250ZXh0
TWVudUl0ZW1UYWdTZWFyY2hXZWIpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tf
Q09OVEVYVF9NRU5VX0lURU1fVEFHX0xPT0tfVVBfSU5fRElDVElPTkFSWSwgV2ViQ29yZTo6Q29u
dGV4dE1lbnVJdGVtVGFnTG9va1VwSW5EaWN0aW9uYXJ5KTsKLUNPTVBJTEVfQVNTRVJUX01BVENI
SU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19PUEVOX1dJVEhfREVGQVVMVF9BUFBM
SUNBVElPTiwgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnT3BlbldpdGhEZWZhdWx0QXBwbGlj
YXRpb24pOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lU
RU1fUERGQUNUVUFMX1NJWkUsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVBERkFjdHVhbFNpemUp
OwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fUERG
Wk9PTV9JTiwgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtUERGWm9vbUluKTsKLUNPTVBJTEVfQVNT
RVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1BERlpPT01fT1VULCBXZWJD
b3JlOjpDb250ZXh0TWVudUl0ZW1QREZab29tT3V0KTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5H
X0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1BERkFVVE9fU0laRSwgV2ViQ29yZTo6Q29udGV4
dE1lbnVJdGVtUERGQXV0b1NpemUpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tf
Q09OVEVYVF9NRU5VX0lURU1fUERGU0lOR0xFX1BBR0UsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRl
bVBERlNpbmdsZVBhZ2UpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVY
VF9NRU5VX0lURU1fUERGRkFDSU5HX1BBR0VTLCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1QREZG
YWNpbmdQYWdlcyk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01F
TlVfSVRFTV9QREZDT05USU5VT1VTLCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1QREZDb250aW51
b3VzKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVN
X1BERk5FWFRfUEFHRSwgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtUERGTmV4dFBhZ2UpOwotQ09N
UElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fUERGUFJFVklP
VVNfUEFHRSwgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtUERGUHJldmlvdXNQYWdlKTsKLUNPTVBJ
TEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19PUEVOX0xJ
TkssIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ09wZW5MaW5rKTsKLUNPTVBJTEVfQVNTRVJU
X01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19JR05PUkVfR1JBTU1BUiwg
V2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnSWdub3JlR3JhbW1hcik7Ci1DT01QSUxFX0FTU0VS
VF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfU1BFTExJTkdfTUVOVSwg
V2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnU3BlbGxpbmdNZW51KTsKLUNPTVBJTEVfQVNTRVJU
X01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19TSE9XX1NQRUxMSU5HX1BB
TkVMLCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdTaG93U3BlbGxpbmdQYW5lbCk7Ci1DT01Q
SUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfQ0hFQ0tf
U1BFTExJTkcsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ0NoZWNrU3BlbGxpbmcpOwotQ09N
UElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0NIRUNL
X1NQRUxMSU5HX1dISUxFX1RZUElORywgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnQ2hlY2tT
cGVsbGluZ1doaWxlVHlwaW5nKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NP
TlRFWFRfTUVOVV9JVEVNX1RBR19DSEVDS19HUkFNTUFSX1dJVEhfU1BFTExJTkcsIFdlYkNvcmU6
OkNvbnRleHRNZW51SXRlbVRhZ0NoZWNrR3JhbW1hcldpdGhTcGVsbGluZyk7Ci1DT01QSUxFX0FT
U0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfRk9OVF9NRU5VLCBX
ZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdGb250TWVudSk7Ci1DT01QSUxFX0FTU0VSVF9NQVRD
SElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfU0hPV19GT05UUywgV2ViQ29yZTo6
Q29udGV4dE1lbnVJdGVtVGFnU2hvd0ZvbnRzKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VO
VU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19CT0xELCBXZWJDb3JlOjpDb250ZXh0TWVudUl0
ZW1UYWdCb2xkKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVO
VV9JVEVNX1RBR19JVEFMSUMsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ0l0YWxpYyk7Ci1D
T01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfVU5E
RVJMSU5FLCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdVbmRlcmxpbmUpOwotQ09NUElMRV9B
U1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX09VVExJTkUsIFdl
YkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ091dGxpbmUpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJ
TkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1NUWUxFUywgV2ViQ29yZTo6Q29udGV4
dE1lbnVJdGVtVGFnU3R5bGVzKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NP
TlRFWFRfTUVOVV9JVEVNX1RBR19TSE9XX0NPTE9SUywgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVt
VGFnU2hvd0NvbG9ycyk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhU
X01FTlVfSVRFTV9UQUdfU1BFRUNIX01FTlUsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ1Nw
ZWVjaE1lbnUpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5V
X0lURU1fVEFHX1NUQVJUX1NQRUFLSU5HLCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdTdGFy
dFNwZWFraW5nKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVO
VV9JVEVNX1RBR19TVE9QX1NQRUFLSU5HLCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdTdG9w
U3BlYWtpbmcpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5V
X0lURU1fVEFHX1dSSVRJTkdfRElSRUNUSU9OX01FTlUsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRl
bVRhZ1dyaXRpbmdEaXJlY3Rpb25NZW51KTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0o
RVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19ERUZBVUxUX0RJUkVDVElPTiwgV2ViQ29yZTo6Q29u
dGV4dE1lbnVJdGVtVGFnRGVmYXVsdERpcmVjdGlvbik7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElO
R19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfTEVGVF9UT19SSUdIVCwgV2ViQ29yZTo6
Q29udGV4dE1lbnVJdGVtVGFnTGVmdFRvUmlnaHQpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdf
RU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1JJR0hUX1RPX0xFRlQsIFdlYkNvcmU6OkNv
bnRleHRNZW51SXRlbVRhZ1JpZ2h0VG9MZWZ0KTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VO
VU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19QREZTSU5HTEVfUEFHRV9TQ1JPTExJTkcsIFdl
YkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ1BERlNpbmdsZVBhZ2VTY3JvbGxpbmcpOwotQ09NUElM
RV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1BERkZBQ0lO
R19QQUdFU19TQ1JPTExJTkcsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ1BERkZhY2luZ1Bh
Z2VzU2Nyb2xsaW5nKTsKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotQ09NUElMRV9BU1NFUlRfTUFU
Q0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0lOU1BFQ1RfRUxFTUVOVCwgV2Vi
Q29yZTo6Q29udGV4dE1lbnVJdGVtVGFnSW5zcGVjdEVsZW1lbnQpOwotI2VuZGlmCi1DT01QSUxF
X0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfVEVYVF9ESVJF
Q1RJT05fTUVOVSwgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnVGV4dERpcmVjdGlvbk1lbnUp
OwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFH
X1RFWFRfRElSRUNUSU9OX0RFRkFVTFQsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ1RleHRE
aXJlY3Rpb25EZWZhdWx0KTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRF
WFRfTUVOVV9JVEVNX1RBR19URVhUX0RJUkVDVElPTl9MRUZUX1RPX1JJR0hULCBXZWJDb3JlOjpD
b250ZXh0TWVudUl0ZW1UYWdUZXh0RGlyZWN0aW9uTGVmdFRvUmlnaHQpOwotQ09NUElMRV9BU1NF
UlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1RFWFRfRElSRUNUSU9O
X1JJR0hUX1RPX0xFRlQsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ1RleHREaXJlY3Rpb25S
aWdodFRvTGVmdCk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01F
TlVfSVRFTV9PUEVOX01FRElBX0lOX05FV19XSU5ET1csIFdlYkNvcmU6OkNvbnRleHRNZW51SXRl
bVRhZ09wZW5NZWRpYUluTmV3V2luZG93KTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0o
RVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19DT1BZX01FRElBX0xJTktfVE9fQ0xJUEJPQVJELCBX
ZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdDb3B5TWVkaWFMaW5rVG9DbGlwYm9hcmQpOwotQ09N
UElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1RPR0dM
RV9NRURJQV9DT05UUk9MUywgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlTWVkaWFD
b250cm9scyk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVf
SVRFTV9UQUdfVE9HR0xFX01FRElBX0xPT1AsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ1Rv
Z2dsZU1lZGlhTG9vcCk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhU
X01FTlVfSVRFTV9UQUdfRU5URVJfVklERU9fRlVMTFNDUkVFTiwgV2ViQ29yZTo6Q29udGV4dE1l
bnVJdGVtVGFnRW50ZXJWaWRlb0Z1bGxzY3JlZW4pOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdf
RU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX01FRElBX1BMQVlfUEFVU0UsIFdlYkNvcmU6
OkNvbnRleHRNZW51SXRlbVRhZ01lZGlhUGxheVBhdXNlKTsKLUNPTVBJTEVfQVNTRVJUX01BVENI
SU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19NRURJQV9NVVRFLCBXZWJDb3JlOjpD
b250ZXh0TWVudUl0ZW1UYWdNZWRpYU11dGUpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5V
TShFV0tfQ09OVEVYVF9NRU5VX0lURU1fQkFTRV9DVVNUT01fVEFHLCBXZWJDb3JlOjpDb250ZXh0
TWVudUl0ZW1CYXNlQ3VzdG9tVGFnKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdL
X0NPTlRFWFRfTUVOVV9JVEVNX0NVU1RPTV9UQUdfTk9fQUNUSU9OLCBXZWJDb3JlOjpDb250ZXh0
TWVudUl0ZW1DdXN0b21UYWdOb0FjdGlvbik7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVN
KEVXS19DT05URVhUX01FTlVfSVRFTV9MQVNUX0NVU1RPTV9UQUcsIFdlYkNvcmU6OkNvbnRleHRN
ZW51SXRlbUxhc3RDdXN0b21UYWcpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tf
Q09OVEVYVF9NRU5VX0lURU1fQkFTRV9BUFBMSUNBVElPTl9UQUcsIFdlYkNvcmU6OkNvbnRleHRN
ZW51SXRlbUJhc2VBcHBsaWNhdGlvblRhZyk7CitzdGF0aWMgRXdrX0NvbnRleHRfTWVudV9JdGVt
X0FjdGlvbiBnZXRFd2tBY3Rpb25Gcm9tV0tUYWcoV0tDb250ZXh0TWVudUl0ZW1UYWcgYWN0aW9u
KQoreworICAgIHN3aXRjaCAoYWN0aW9uKSB7CisgICAgY2FzZSBrV0tDb250ZXh0TWVudUl0ZW1U
YWdOb0FjdGlvbjoKKyAgICAgICAgcmV0dXJuIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfTk9f
QUNUSU9OOworICAgIGNhc2Uga1dLQ29udGV4dE1lbnVJdGVtVGFnT3BlbkxpbmtJbk5ld1dpbmRv
dzoKKyAgICAgICAgcmV0dXJuIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfT1BFTl9MSU5LX0lO
X05FV19XSU5ET1c7CisgICAgY2FzZSBrV0tDb250ZXh0TWVudUl0ZW1UYWdEb3dubG9hZExpbmtU
b0Rpc2s6CisgICAgICAgIHJldHVybiBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0RPV05MT0FE
X0xJTktfVE9fRElTSzsKKyAgICBjYXNlIGtXS0NvbnRleHRNZW51SXRlbVRhZ0NvcHlMaW5rVG9D
bGlwYm9hcmQ6CisgICAgICAgIHJldHVybiBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0NPUFlf
TElOS19UT19DTElQQk9BUkQ7CisgICAgY2FzZSBrV0tDb250ZXh0TWVudUl0ZW1UYWdPcGVuSW1h
Z2VJbk5ld1dpbmRvdzoKKyAgICAgICAgcmV0dXJuIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdf
T1BFTl9JTUFHRV9JTl9ORVdfV0lORE9XOworICAgIGNhc2Uga1dLQ29udGV4dE1lbnVJdGVtVGFn
RG93bmxvYWRJbWFnZVRvRGlzazoKKyAgICAgICAgcmV0dXJuIEVXS19DT05URVhUX01FTlVfSVRF
TV9UQUdfRE9XTkxPQURfSU1BR0VfVE9fRElTSzsKKyAgICBjYXNlIGtXS0NvbnRleHRNZW51SXRl
bVRhZ0NvcHlJbWFnZVRvQ2xpcGJvYXJkOgorICAgICAgICByZXR1cm4gRVdLX0NPTlRFWFRfTUVO
VV9JVEVNX1RBR19DT1BZX0lNQUdFX1RPX0NMSVBCT0FSRDsKKyAgICBjYXNlIGtXS0NvbnRleHRN
ZW51SXRlbVRhZ0NvcHlJbWFnZVVybFRvQ2xpcGJvYXJkOgorICAgICAgICByZXR1cm4gRVdLX0NP
TlRFWFRfTUVOVV9JVEVNX1RBR19DT1BZX0lNQUdFX1VSTF9UT19DTElQQk9BUkQ7CisgICAgY2Fz
ZSBrV0tDb250ZXh0TWVudUl0ZW1UYWdPcGVuRnJhbWVJbk5ld1dpbmRvdzoKKyAgICAgICAgcmV0
dXJuIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfT1BFTl9GUkFNRV9JTl9ORVdfV0lORE9XOwor
ICAgIGNhc2Uga1dLQ29udGV4dE1lbnVJdGVtVGFnQ29weToKKyAgICAgICAgcmV0dXJuIEVXS19D
T05URVhUX01FTlVfSVRFTV9UQUdfQ09QWTsKKyAgICBjYXNlIGtXS0NvbnRleHRNZW51SXRlbVRh
Z0dvQmFjazoKKyAgICAgICAgcmV0dXJuIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfR09fQkFD
SzsKKyAgICBjYXNlIGtXS0NvbnRleHRNZW51SXRlbVRhZ0dvRm9yd2FyZDoKKyAgICAgICAgcmV0
dXJuIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfR09fRk9SV0FSRDsKKyAgICBjYXNlIGtXS0Nv
bnRleHRNZW51SXRlbVRhZ1N0b3A6CisgICAgICAgIHJldHVybiBFV0tfQ09OVEVYVF9NRU5VX0lU
RU1fVEFHX1NUT1A7CisgICAgY2FzZSBrV0tDb250ZXh0TWVudUl0ZW1UYWdSZWxvYWQ6CisgICAg
ICAgIHJldHVybiBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1JFTE9BRDsKKyAgICBjYXNlIGtX
S0NvbnRleHRNZW51SXRlbVRhZ0N1dDoKKyAgICAgICAgcmV0dXJuIEVXS19DT05URVhUX01FTlVf
SVRFTV9UQUdfQ1VUOworICAgIGNhc2Uga1dLQ29udGV4dE1lbnVJdGVtVGFnUGFzdGU6CisgICAg
ICAgIHJldHVybiBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1BBU1RFOworICAgIGNhc2Uga1dL
Q29udGV4dE1lbnVJdGVtVGFnU2VsZWN0QWxsOgorICAgICAgICByZXR1cm4gRVdLX0NPTlRFWFRf
TUVOVV9JVEVNX1RBR19TRUxFQ1RfQUxMOworICAgIGNhc2Uga1dLQ29udGV4dE1lbnVJdGVtVGFn
U3BlbGxpbmdHdWVzczoKKyAgICAgICAgcmV0dXJuIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdf
U1BFTExJTkdfR1VFU1M7CisgICAgY2FzZSBrV0tDb250ZXh0TWVudUl0ZW1UYWdOb0d1ZXNzZXNG
b3VuZDoKKyAgICAgICAgcmV0dXJuIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfTk9fR1VFU1NF
U19GT1VORDsKKyAgICBjYXNlIGtXS0NvbnRleHRNZW51SXRlbVRhZ0lnbm9yZVNwZWxsaW5nOgor
ICAgICAgICByZXR1cm4gRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19JR05PUkVfU1BFTExJTkc7
CisgICAgY2FzZSBrV0tDb250ZXh0TWVudUl0ZW1UYWdMZWFyblNwZWxsaW5nOgorICAgICAgICBy
ZXR1cm4gRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19MRUFSTl9TUEVMTElORzsKKyAgICBjYXNl
IGtXS0NvbnRleHRNZW51SXRlbVRhZ090aGVyOgorICAgICAgICByZXR1cm4gRVdLX0NPTlRFWFRf
TUVOVV9JVEVNX1RBR19PVEhFUjsKKyAgICBjYXNlIGtXS0NvbnRleHRNZW51SXRlbVRhZ1NlYXJj
aEluU3BvdGxpZ2h0OgorICAgICAgICByZXR1cm4gRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19T
RUFSQ0hfSU5fU1BPVExJR0hUOworICAgIGNhc2Uga1dLQ29udGV4dE1lbnVJdGVtVGFnU2VhcmNo
V2ViOgorICAgICAgICByZXR1cm4gRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19TRUFSQ0hfV0VC
OworICAgIGNhc2Uga1dLQ29udGV4dE1lbnVJdGVtVGFnTG9va1VwSW5EaWN0aW9uYXJ5OgorICAg
ICAgICByZXR1cm4gRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19MT09LX1VQX0lOX0RJQ1RJT05B
Ulk7CisgICAgY2FzZSBrV0tDb250ZXh0TWVudUl0ZW1UYWdPcGVuV2l0aERlZmF1bHRBcHBsaWNh
dGlvbjoKKyAgICAgICAgcmV0dXJuIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfT1BFTl9XSVRI
X0RFRkFVTFRfQVBQTElDQVRJT047CisgICAgY2FzZSBrV0tDb250ZXh0TWVudUl0ZW1UYWdQREZB
Y3R1YWxTaXplOgorICAgICAgICByZXR1cm4gRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1BERkFDVFVB
TF9TSVpFOworICAgIGNhc2Uga1dLQ29udGV4dE1lbnVJdGVtVGFnUERGWm9vbUluOgorICAgICAg
ICByZXR1cm4gRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1BERlpPT01fSU47CisgICAgY2FzZSBrV0tD
b250ZXh0TWVudUl0ZW1UYWdQREZab29tT3V0OgorICAgICAgICByZXR1cm4gRVdLX0NPTlRFWFRf
TUVOVV9JVEVNX1BERlpPT01fT1VUOworICAgIGNhc2Uga1dLQ29udGV4dE1lbnVJdGVtVGFnUERG
QXV0b1NpemU6CisgICAgICAgIHJldHVybiBFV0tfQ09OVEVYVF9NRU5VX0lURU1fUERGQVVUT19T
SVpFOworICAgIGNhc2Uga1dLQ29udGV4dE1lbnVJdGVtVGFnUERGU2luZ2xlUGFnZToKKyAgICAg
ICAgcmV0dXJuIEVXS19DT05URVhUX01FTlVfSVRFTV9QREZTSU5HTEVfUEFHRTsKKyAgICBjYXNl
IGtXS0NvbnRleHRNZW51SXRlbVRhZ1BERkZhY2luZ1BhZ2VzOgorICAgICAgICByZXR1cm4gRVdL
X0NPTlRFWFRfTUVOVV9JVEVNX1BERkZBQ0lOR19QQUdFUzsKKyAgICBjYXNlIGtXS0NvbnRleHRN
ZW51SXRlbVRhZ1BERkNvbnRpbnVvdXM6CisgICAgICAgIHJldHVybiBFV0tfQ09OVEVYVF9NRU5V
X0lURU1fUERGQ09OVElOVU9VUzsKKyAgICBjYXNlIGtXS0NvbnRleHRNZW51SXRlbVRhZ1BERk5l
eHRQYWdlOgorICAgICAgICByZXR1cm4gRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1BERk5FWFRfUEFH
RTsKKyAgICBjYXNlIGtXS0NvbnRleHRNZW51SXRlbVRhZ1BERlByZXZpb3VzUGFnZToKKyAgICAg
ICAgcmV0dXJuIEVXS19DT05URVhUX01FTlVfSVRFTV9QREZQUkVWSU9VU19QQUdFOworICAgIGNh
c2Uga1dLQ29udGV4dE1lbnVJdGVtVGFnT3Blbkxpbms6CisgICAgICAgIHJldHVybiBFV0tfQ09O
VEVYVF9NRU5VX0lURU1fVEFHX09QRU5fTElOSzsKKyAgICBjYXNlIGtXS0NvbnRleHRNZW51SXRl
bVRhZ0lnbm9yZUdyYW1tYXI6CisgICAgICAgIHJldHVybiBFV0tfQ09OVEVYVF9NRU5VX0lURU1f
VEFHX0lHTk9SRV9HUkFNTUFSOworICAgIGNhc2Uga1dLQ29udGV4dE1lbnVJdGVtVGFnU3BlbGxp
bmdNZW51OgorICAgICAgICByZXR1cm4gRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19TUEVMTElO
R19NRU5VOworICAgIGNhc2Uga1dLQ29udGV4dE1lbnVJdGVtVGFnU2hvd1NwZWxsaW5nUGFuZWw6
CisgICAgICAgIHJldHVybiBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1NIT1dfU1BFTExJTkdf
UEFORUw7CisgICAgY2FzZSBrV0tDb250ZXh0TWVudUl0ZW1UYWdDaGVja1NwZWxsaW5nOgorICAg
ICAgICByZXR1cm4gRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19DSEVDS19TUEVMTElORzsKKyAg
ICBjYXNlIGtXS0NvbnRleHRNZW51SXRlbVRhZ0NoZWNrU3BlbGxpbmdXaGlsZVR5cGluZzoKKyAg
ICAgICAgcmV0dXJuIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfQ0hFQ0tfU1BFTExJTkdfV0hJ
TEVfVFlQSU5HOworICAgIGNhc2Uga1dLQ29udGV4dE1lbnVJdGVtVGFnQ2hlY2tHcmFtbWFyV2l0
aFNwZWxsaW5nOgorICAgICAgICByZXR1cm4gRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19DSEVD
S19HUkFNTUFSX1dJVEhfU1BFTExJTkc7CisgICAgY2FzZSBrV0tDb250ZXh0TWVudUl0ZW1UYWdG
b250TWVudToKKyAgICAgICAgcmV0dXJuIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfRk9OVF9N
RU5VOworICAgIGNhc2Uga1dLQ29udGV4dE1lbnVJdGVtVGFnU2hvd0ZvbnRzOgorICAgICAgICBy
ZXR1cm4gRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19TSE9XX0ZPTlRTOworICAgIGNhc2Uga1dL
Q29udGV4dE1lbnVJdGVtVGFnQm9sZDoKKyAgICAgICAgcmV0dXJuIEVXS19DT05URVhUX01FTlVf
SVRFTV9UQUdfQk9MRDsKKyAgICBjYXNlIGtXS0NvbnRleHRNZW51SXRlbVRhZ0l0YWxpYzoKKyAg
ICAgICAgcmV0dXJuIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfSVRBTElDOworICAgIGNhc2Ug
a1dLQ29udGV4dE1lbnVJdGVtVGFnVW5kZXJsaW5lOgorICAgICAgICByZXR1cm4gRVdLX0NPTlRF
WFRfTUVOVV9JVEVNX1RBR19VTkRFUkxJTkU7CisgICAgY2FzZSBrV0tDb250ZXh0TWVudUl0ZW1U
YWdPdXRsaW5lOgorICAgICAgICByZXR1cm4gRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19PVVRM
SU5FOworICAgIGNhc2Uga1dLQ29udGV4dE1lbnVJdGVtVGFnU3R5bGVzOgorICAgICAgICByZXR1
cm4gRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19TVFlMRVM7CisgICAgY2FzZSBrV0tDb250ZXh0
TWVudUl0ZW1UYWdTaG93Q29sb3JzOgorICAgICAgICByZXR1cm4gRVdLX0NPTlRFWFRfTUVOVV9J
VEVNX1RBR19TSE9XX0NPTE9SUzsKKyAgICBjYXNlIGtXS0NvbnRleHRNZW51SXRlbVRhZ1NwZWVj
aE1lbnU6CisgICAgICAgIHJldHVybiBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1NQRUVDSF9N
RU5VOworICAgIGNhc2Uga1dLQ29udGV4dE1lbnVJdGVtVGFnU3RhcnRTcGVha2luZzoKKyAgICAg
ICAgcmV0dXJuIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfU1RBUlRfU1BFQUtJTkc7CisgICAg
Y2FzZSBrV0tDb250ZXh0TWVudUl0ZW1UYWdTdG9wU3BlYWtpbmc6CisgICAgICAgIHJldHVybiBF
V0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1NUT1BfU1BFQUtJTkc7CisgICAgY2FzZSBrV0tDb250
ZXh0TWVudUl0ZW1UYWdXcml0aW5nRGlyZWN0aW9uTWVudToKKyAgICAgICAgcmV0dXJuIEVXS19D
T05URVhUX01FTlVfSVRFTV9UQUdfV1JJVElOR19ESVJFQ1RJT05fTUVOVTsKKyAgICBjYXNlIGtX
S0NvbnRleHRNZW51SXRlbVRhZ0RlZmF1bHREaXJlY3Rpb246CisgICAgICAgIHJldHVybiBFV0tf
Q09OVEVYVF9NRU5VX0lURU1fVEFHX0RFRkFVTFRfRElSRUNUSU9OOworICAgIGNhc2Uga1dLQ29u
dGV4dE1lbnVJdGVtVGFnTGVmdFRvUmlnaHQ6CisgICAgICAgIHJldHVybiBFV0tfQ09OVEVYVF9N
RU5VX0lURU1fVEFHX0xFRlRfVE9fUklHSFQ7CisgICAgY2FzZSBrV0tDb250ZXh0TWVudUl0ZW1U
YWdSaWdodFRvTGVmdDoKKyAgICAgICAgcmV0dXJuIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdf
UklHSFRfVE9fTEVGVDsKKyAgICBjYXNlIGtXS0NvbnRleHRNZW51SXRlbVRhZ1BERlNpbmdsZVBh
Z2VTY3JvbGxpbmc6CisgICAgICAgIHJldHVybiBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1BE
RlNJTkdMRV9QQUdFX1NDUk9MTElORzsKKyAgICBjYXNlIGtXS0NvbnRleHRNZW51SXRlbVRhZ1BE
RkZhY2luZ1BhZ2VzU2Nyb2xsaW5nOgorICAgICAgICByZXR1cm4gRVdLX0NPTlRFWFRfTUVOVV9J
VEVNX1RBR19QREZGQUNJTkdfUEFHRVNfU0NST0xMSU5HOworICAgIGNhc2Uga1dLQ29udGV4dE1l
bnVJdGVtVGFnSW5zcGVjdEVsZW1lbnQ6CisgICAgICAgIHJldHVybiBFV0tfQ09OVEVYVF9NRU5V
X0lURU1fVEFHX0lOU1BFQ1RfRUxFTUVOVDsKKyAgICBjYXNlIGtXS0NvbnRleHRNZW51SXRlbVRh
Z1RleHREaXJlY3Rpb25NZW51OgorICAgICAgICByZXR1cm4gRVdLX0NPTlRFWFRfTUVOVV9JVEVN
X1RBR19URVhUX0RJUkVDVElPTl9NRU5VOworICAgIGNhc2Uga1dLQ29udGV4dE1lbnVJdGVtVGFn
VGV4dERpcmVjdGlvbkRlZmF1bHQ6CisgICAgICAgIHJldHVybiBFV0tfQ09OVEVYVF9NRU5VX0lU
RU1fVEFHX1RFWFRfRElSRUNUSU9OX0RFRkFVTFQ7CisgICAgY2FzZSBrV0tDb250ZXh0TWVudUl0
ZW1UYWdUZXh0RGlyZWN0aW9uTGVmdFRvUmlnaHQ6CisgICAgICAgIHJldHVybiBFV0tfQ09OVEVY
VF9NRU5VX0lURU1fVEFHX1RFWFRfRElSRUNUSU9OX0xFRlRfVE9fUklHSFQ7CisgICAgY2FzZSBr
V0tDb250ZXh0TWVudUl0ZW1UYWdUZXh0RGlyZWN0aW9uUmlnaHRUb0xlZnQ6CisgICAgICAgIHJl
dHVybiBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1RFWFRfRElSRUNUSU9OX1JJR0hUX1RPX0xF
RlQ7CisgICAgY2FzZSBrV0tDb250ZXh0TWVudUl0ZW1UYWdPcGVuTWVkaWFJbk5ld1dpbmRvdzoK
KyAgICAgICAgcmV0dXJuIEVXS19DT05URVhUX01FTlVfSVRFTV9PUEVOX01FRElBX0lOX05FV19X
SU5ET1c7CisgICAgY2FzZSBrV0tDb250ZXh0TWVudUl0ZW1UYWdDb3B5TWVkaWFMaW5rVG9DbGlw
Ym9hcmQ6CisgICAgICAgIHJldHVybiBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0NPUFlfTUVE
SUFfTElOS19UT19DTElQQk9BUkQ7CisgICAgY2FzZSBrV0tDb250ZXh0TWVudUl0ZW1UYWdUb2dn
bGVNZWRpYUNvbnRyb2xzOgorICAgICAgICByZXR1cm4gRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RB
R19UT0dHTEVfTUVESUFfQ09OVFJPTFM7CisgICAgY2FzZSBrV0tDb250ZXh0TWVudUl0ZW1UYWdU
b2dnbGVNZWRpYUxvb3A6CisgICAgICAgIHJldHVybiBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFH
X1RPR0dMRV9NRURJQV9MT09QOworICAgIGNhc2Uga1dLQ29udGV4dE1lbnVJdGVtVGFnRW50ZXJW
aWRlb0Z1bGxzY3JlZW46CisgICAgICAgIHJldHVybiBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFH
X0VOVEVSX1ZJREVPX0ZVTExTQ1JFRU47CisgICAgY2FzZSBrV0tDb250ZXh0TWVudUl0ZW1UYWdN
ZWRpYVBsYXlQYXVzZToKKyAgICAgICAgcmV0dXJuIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdf
TUVESUFfUExBWV9QQVVTRTsKKyAgICBjYXNlIGtXS0NvbnRleHRNZW51SXRlbVRhZ01lZGlhTXV0
ZToKKyAgICAgICAgcmV0dXJuIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfTUVESUFfTVVURTsK
KyAgICBjYXNlIGtXS0NvbnRleHRNZW51SXRlbUJhc2VBcHBsaWNhdGlvblRhZzoKKyAgICAgICAg
cmV0dXJuIEVXS19DT05URVhUX01FTlVfSVRFTV9CQVNFX0FQUExJQ0FUSU9OX1RBRzsKKyAgICBk
ZWZhdWx0OgorICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8RXdrX0NvbnRleHRfTWVudV9JdGVt
X0FjdGlvbj4oYWN0aW9uKTsKKyAgICB9Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dF9tZW51X2l0ZW0uaCBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0X21lbnVfaXRlbS5oCmluZGV4IDk2MTJhMjEu
LjE2ZTdkZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3
a19jb250ZXh0X21lbnVfaXRlbS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
ZWZsL2V3a19jb250ZXh0X21lbnVfaXRlbS5oCkBAIC0xMjcsOSArMTI3LDYgQEAgdHlwZWRlZiBl
bnVtIHsKICAgICBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0VOVEVSX1ZJREVPX0ZVTExTQ1JF
RU4sCiAgICAgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19NRURJQV9QTEFZX1BBVVNFLAogICAg
IEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfTUVESUFfTVVURSwKLSAgICBFV0tfQ09OVEVYVF9N
RU5VX0lURU1fQkFTRV9DVVNUT01fVEFHID0gNTAwMCwKLSAgICBFV0tfQ09OVEVYVF9NRU5VX0lU
RU1fQ1VTVE9NX1RBR19OT19BQ1RJT04gPSA1OTk4LAotICAgIEVXS19DT05URVhUX01FTlVfSVRF
TV9MQVNUX0NVU1RPTV9UQUcgPSA1OTk5LAogICAgIEVXS19DT05URVhUX01FTlVfSVRFTV9CQVNF
X0FQUExJQ0FUSU9OX1RBRyA9IDEwMDAwCiB9IEV3a19Db250ZXh0X01lbnVfSXRlbV9BY3Rpb247
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250
ZXh0X21lbnVfaXRlbV9wcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2Vm
bC9ld2tfY29udGV4dF9tZW51X2l0ZW1fcHJpdmF0ZS5oCmluZGV4IDYyZjI3OTAuLjlmNzc4M2Ig
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0
X21lbnVfaXRlbV9wcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9l
ZmwvZXdrX2NvbnRleHRfbWVudV9pdGVtX3ByaXZhdGUuaApAQCAtMjYsOCArMjYsOCBAQAogI2lm
bmRlZiBld2tfY29udGV4dF9tZW51X2l0ZW1fcHJpdmF0ZV9oCiAjZGVmaW5lIGV3a19jb250ZXh0
X21lbnVfaXRlbV9wcml2YXRlX2gKIAorI2luY2x1ZGUgIldLQ29udGV4dE1lbnVJdGVtLmgiCiAj
aW5jbHVkZSAiV0tFaW5hU2hhcmVkU3RyaW5nLmgiCi0jaW5jbHVkZSAiV2ViQ29udGV4dE1lbnVJ
dGVtRGF0YS5oIgogI2luY2x1ZGUgImV3a19jb250ZXh0X21lbnUuaCIKICNpbmNsdWRlICJld2tf
Y29udGV4dF9tZW51X2l0ZW0uaCIKICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgpAQCAtMzgs
NyArMzgsNyBAQAogICovCiBjbGFzcyBFd2tDb250ZXh0TWVudUl0ZW0gewogcHVibGljOgotICAg
IHN0YXRpYyBQYXNzT3duUHRyPEV3a0NvbnRleHRNZW51SXRlbT4gY3JlYXRlKGNvbnN0IFdlYktp
dDo6V2ViQ29udGV4dE1lbnVJdGVtRGF0YSYgaXRlbSkKKyAgICBzdGF0aWMgUGFzc093blB0cjxF
d2tDb250ZXh0TWVudUl0ZW0+IGNyZWF0ZShXS0NvbnRleHRNZW51SXRlbVJlZiBpdGVtKQogICAg
IHsKICAgICAgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBFd2tDb250ZXh0TWVudUl0ZW0oaXRlbSkp
OwogICAgIH0KQEAgLTY0LDcgKzY0LDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0RW5hYmxlZChi
b29sIGVuYWJsZWQpIHsgbV9pc0VuYWJsZWQgPSBlbmFibGVkOyB9CiAKIHByaXZhdGU6Ci0gICAg
ZXhwbGljaXQgRXdrQ29udGV4dE1lbnVJdGVtKGNvbnN0IFdlYktpdDo6V2ViQ29udGV4dE1lbnVJ
dGVtRGF0YSYpOworICAgIGV4cGxpY2l0IEV3a0NvbnRleHRNZW51SXRlbShXS0NvbnRleHRNZW51
SXRlbVJlZik7CiAgICAgRXdrQ29udGV4dE1lbnVJdGVtKEV3a19Db250ZXh0X01lbnVfSXRlbV9U
eXBlIHR5cGUsIEV3a19Db250ZXh0X01lbnVfSXRlbV9BY3Rpb24gYWN0aW9uLCBjb25zdCBjaGFy
KiB0aXRsZSwgRWluYV9Cb29sIGNoZWNrZWQsIEVpbmFfQm9vbCBlbmFibGVkLCBFd2tDb250ZXh0
TWVudSogc3ViTWVudSk7CiAKICAgICBFd2tfQ29udGV4dF9NZW51X0l0ZW1fVHlwZSBtX3R5cGU7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4
dF9tZW51X3ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19j
b250ZXh0X21lbnVfcHJpdmF0ZS5oCmluZGV4IGI5ZTExM2QuLmE2Y2VhMmQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0X21lbnVfcHJpdmF0
ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0X21l
bnVfcHJpdmF0ZS5oCkBAIC0yNiwyNCArMjYsMTcgQEAKICNpZm5kZWYgZXdrX2NvbnRleHRfbWVu
dV9wcml2YXRlX2gKICNkZWZpbmUgZXdrX2NvbnRleHRfbWVudV9wcml2YXRlX2gKIAotI2luY2x1
ZGUgIldlYkNvbnRleHRNZW51SXRlbURhdGEuaCIKICNpbmNsdWRlICJld2tfY29udGV4dF9tZW51
X2l0ZW0uaCIKICNpbmNsdWRlIDxFaW5hLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4K
LSNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+Ci0KLW5hbWVzcGFjZSBXZWJLaXQgewotY2xhc3MgV2Vi
Q29udGV4dE1lbnVJdGVtRGF0YTsKLWNsYXNzIFdlYkNvbnRleHRNZW51UHJveHlFZmw7Ci19CiAK
IGNsYXNzIEV3a1ZpZXc7CiAKIGNsYXNzIEV3a0NvbnRleHRNZW51IHsKIHB1YmxpYzoKLSAgICBz
dGF0aWMgUGFzc093blB0cjxFd2tDb250ZXh0TWVudT4gY3JlYXRlKEV3a1ZpZXcqIHZpZXdJbXBs
LCBXZWJLaXQ6OldlYkNvbnRleHRNZW51UHJveHlFZmwqIGNvbnRleHRNZW51UHJveHksIGNvbnN0
IFZlY3RvcjxXZWJLaXQ6OldlYkNvbnRleHRNZW51SXRlbURhdGE+JiBpdGVtcykKKyAgICBzdGF0
aWMgUGFzc093blB0cjxFd2tDb250ZXh0TWVudT4gY3JlYXRlKEV3a1ZpZXcqIHZpZXdJbXBsLCBX
S0FycmF5UmVmIGl0ZW1zKQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBFd2tD
b250ZXh0TWVudSh2aWV3SW1wbCwgY29udGV4dE1lbnVQcm94eSwgaXRlbXMpKTsKKyAgICAgICAg
cmV0dXJuIGFkb3B0UHRyKG5ldyBFd2tDb250ZXh0TWVudSh2aWV3SW1wbCwgaXRlbXMpKTsKICAg
ICB9CiAKICAgICBzdGF0aWMgUGFzc093blB0cjxFd2tDb250ZXh0TWVudT4gY3JlYXRlKCkKQEAg
LTYzLDE1ICs1NiwxNCBAQCBwdWJsaWM6CiAgICAgdm9pZCByZW1vdmVJdGVtKEV3a0NvbnRleHRN
ZW51SXRlbSopOwogCiAgICAgY29uc3QgRWluYV9MaXN0KiBpdGVtcygpIGNvbnN0IHsgcmV0dXJu
IG1fY29udGV4dE1lbnVJdGVtczsgfQotICAgIHZvaWQgY29udGV4dE1lbnVJdGVtU2VsZWN0ZWQo
Y29uc3QgV2ViS2l0OjpXZWJDb250ZXh0TWVudUl0ZW1EYXRhJiBpdGVtKTsKKyAgICB2b2lkIGNv
bnRleHRNZW51SXRlbVNlbGVjdGVkKFdLQ29udGV4dE1lbnVJdGVtUmVmIGl0ZW0pOwogCiBwcml2
YXRlOgogICAgIEV3a0NvbnRleHRNZW51KCk7CiAgICAgRXdrQ29udGV4dE1lbnUoRWluYV9MaXN0
KiBpdGVtcyk7Ci0gICAgRXdrQ29udGV4dE1lbnUoRXdrVmlldyogdmlld0ltcGwsIFdlYktpdDo6
V2ViQ29udGV4dE1lbnVQcm94eUVmbCosIGNvbnN0IFZlY3RvcjxXZWJLaXQ6OldlYkNvbnRleHRN
ZW51SXRlbURhdGE+JiBpdGVtcyk7CisgICAgRXdrQ29udGV4dE1lbnUoRXdrVmlldyogdmlld0lt
cGwsIFdLQXJyYXlSZWYgaXRlbXMpOwogCiAgICAgRXdrVmlldyogbV92aWV3SW1wbDsKLSAgICBX
ZWJLaXQ6OldlYkNvbnRleHRNZW51UHJveHlFZmwqIG1fY29udGV4dE1lbnVQcm94eTsKICAgICBF
aW5hX0xpc3QqIG1fY29udGV4dE1lbnVJdGVtczsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
UGFnZUNsaWVudC5oCmluZGV4IGQwOGNjOTEuLjgyYWM1NjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1BhZ2VDbGllbnQuaApAQCAtMTgwLDcgKzE4MCw5IEBAIHB1YmxpYzoKICNlbmRpZgogCiAg
ICAgdmlydHVhbCBQYXNzUmVmUHRyPFdlYlBvcHVwTWVudVByb3h5PiBjcmVhdGVQb3B1cE1lbnVQ
cm94eShXZWJQYWdlUHJveHkqKSA9IDA7CisjaWYgIVBMQVRGT1JNKEVGTCkKICAgICB2aXJ0dWFs
IFBhc3NSZWZQdHI8V2ViQ29udGV4dE1lbnVQcm94eT4gY3JlYXRlQ29udGV4dE1lbnVQcm94eShX
ZWJQYWdlUHJveHkqKSA9IDA7CisjZW5kaWYKIAogI2lmIEVOQUJMRShJTlBVVF9UWVBFX0NPTE9S
KQogICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxXZWJDb2xvckNob29zZXJQcm94eT4gY3JlYXRlQ29s
b3JDaG9vc2VyUHJveHkoV2ViUGFnZVByb3h5KiwgY29uc3QgV2ViQ29yZTo6Q29sb3ImIGluaXRp
YWxDb2xvciwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYpID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggMjU3OTZjZC4uOTBmMjJmNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTMxNzUsNiArMzE3NSw5IEBA
IHZvaWQgV2ViUGFnZVByb3h5OjppbnRlcm5hbFNob3dDb250ZXh0TWVudShjb25zdCBJbnRQb2lu
dCYgbWVudUxvY2F0aW9uLCBjb25zdCBXCiAKICAgICBtX2FjdGl2ZUNvbnRleHRNZW51SGl0VGVz
dFJlc3VsdERhdGEgPSBoaXRUZXN0UmVzdWx0RGF0YTsKIAorI2lmIFBMQVRGT1JNKEVGTCkKKyAg
ICBtX2NvbnRleHRNZW51Q2xpZW50LmhpZGVDb250ZXh0TWVudSh0aGlzKTsKKyNlbHNlCiAgICAg
aWYgKG1fYWN0aXZlQ29udGV4dE1lbnUpIHsKICAgICAgICAgbV9hY3RpdmVDb250ZXh0TWVudS0+
aGlkZUNvbnRleHRNZW51KCk7CiAgICAgICAgIG1fYWN0aXZlQ29udGV4dE1lbnUgPSAwOwpAQCAt
MzE4MywxNiArMzE4NiwyNCBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6aW50ZXJuYWxTaG93Q29udGV4
dE1lbnUoY29uc3QgSW50UG9pbnQmIG1lbnVMb2NhdGlvbiwgY29uc3QgVwogICAgIG1fYWN0aXZl
Q29udGV4dE1lbnUgPSBtX3BhZ2VDbGllbnQtPmNyZWF0ZUNvbnRleHRNZW51UHJveHkodGhpcyk7
CiAgICAgaWYgKCFtX2FjdGl2ZUNvbnRleHRNZW51KQogICAgICAgICByZXR1cm47CisjZW5kaWYK
IAogICAgIC8vIFNpbmNlIHNob3dDb250ZXh0TWVudSgpIGNhbiBzcGluIGEgbmVzdGVkIHJ1biBs
b29wIHdlIG5lZWQgdG8gdHVybiBvZmYgdGhlIHJlc3BvbnNpdmVuZXNzIHRpbWVyLgogICAgIG1f
cHJvY2Vzcy0+cmVzcG9uc2l2ZW5lc3NUaW1lcigpLT5zdG9wKCk7CiAKICAgICAvLyBHaXZlIHRo
ZSBQYWdlQ29udGV4dE1lbnVDbGllbnQgb25lIGxhc3Qgc3dpcGUgYXQgY2hhbmdpbmcgdGhlIG1l
bnUuCiAgICAgVmVjdG9yPFdlYkNvbnRleHRNZW51SXRlbURhdGE+IGl0ZW1zOworI2lmIFBMQVRG
T1JNKEVGTCkKKyAgICBpZiAoIW1fY29udGV4dE1lbnVDbGllbnQuZ2V0Q29udGV4dE1lbnVGcm9t
UHJvcG9zZWRNZW51KHRoaXMsIHByb3Bvc2VkSXRlbXMsIGl0ZW1zLCBoaXRUZXN0UmVzdWx0RGF0
YSwgdXNlckRhdGEuZ2V0KCkpKQorICAgICAgICBtX2NvbnRleHRNZW51Q2xpZW50LnNob3dDb250
ZXh0TWVudSh0aGlzLCBtZW51TG9jYXRpb24sIHByb3Bvc2VkSXRlbXMpOworICAgIGVsc2UKKyAg
ICAgICAgbV9jb250ZXh0TWVudUNsaWVudC5zaG93Q29udGV4dE1lbnUodGhpcywgbWVudUxvY2F0
aW9uLCBpdGVtcyk7CisjZWxzZQogICAgIGlmICghbV9jb250ZXh0TWVudUNsaWVudC5nZXRDb250
ZXh0TWVudUZyb21Qcm9wb3NlZE1lbnUodGhpcywgcHJvcG9zZWRJdGVtcywgaXRlbXMsIGhpdFRl
c3RSZXN1bHREYXRhLCB1c2VyRGF0YS5nZXQoKSkpCiAgICAgICAgIG1fYWN0aXZlQ29udGV4dE1l
bnUtPnNob3dDb250ZXh0TWVudShtZW51TG9jYXRpb24sIHByb3Bvc2VkSXRlbXMpOwogICAgIGVs
c2UKICAgICAgICAgbV9hY3RpdmVDb250ZXh0TWVudS0+c2hvd0NvbnRleHRNZW51KG1lbnVMb2Nh
dGlvbiwgaXRlbXMpOworI2VuZGlmCiAgICAgCiAgICAgbV9jb250ZXh0TWVudUNsaWVudC5jb250
ZXh0TWVudURpc21pc3NlZCh0aGlzKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuaAppbmRleCBkODUzMWUyLi4xOTkxODYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5oCkBAIC0xMTA1LDcgKzExMDUsOSBAQCBwcml2YXRlOgogI2VuZGlmCiAK
ICAgICBSZWZQdHI8V2ViUG9wdXBNZW51UHJveHk+IG1fYWN0aXZlUG9wdXBNZW51OworI2lmICFQ
TEFURk9STShFRkwpCiAgICAgUmVmUHRyPFdlYkNvbnRleHRNZW51UHJveHk+IG1fYWN0aXZlQ29u
dGV4dE1lbnU7CisjZW5kaWYKICAgICBXZWJIaXRUZXN0UmVzdWx0OjpEYXRhIG1fYWN0aXZlQ29u
dGV4dE1lbnVIaXRUZXN0UmVzdWx0RGF0YTsKICAgICBSZWZQdHI8V2ViT3BlblBhbmVsUmVzdWx0
TGlzdGVuZXJQcm94eT4gbV9vcGVuUGFuZWxSZXN1bHRMaXN0ZW5lcjsKICAgICBHZW9sb2NhdGlv
blBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5IG1fZ2VvbG9jYXRpb25QZXJtaXNzaW9uUmVx
dWVzdE1hbmFnZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL0Nv
bnRleHRNZW51Q2xpZW50RWZsLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvQ29u
dGV4dE1lbnVDbGllbnRFZmwuY3BwCmluZGV4IGNjNTNhY2MuLmFjNGZkY2IgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvQ29udGV4dE1lbnVDbGllbnRFZmwuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvQ29udGV4dE1lbnVDbGllbnRFZmwuY3Bw
CkBAIC0yNywxMSArMjcsOCBAQAogI2luY2x1ZGUgIkNvbnRleHRNZW51Q2xpZW50RWZsLmgiCiAK
ICNpbmNsdWRlICJFd2tWaWV3LmgiCi0jaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKICNpbmNs
dWRlICJXS0FycmF5LmgiCiAjaW5jbHVkZSAiV0tQYWdlLmgiCi0jaW5jbHVkZSAiV2ViQ29udGV4
dE1lbnVJdGVtLmgiICAgCi0jaW5jbHVkZSA8RXZhcy5oPgogCiB1c2luZyBuYW1lc3BhY2UgV2Vi
S2l0OwogCkBAIC00MCw2ICszNywxNiBAQCBzdGF0aWMgaW5saW5lIENvbnRleHRNZW51Q2xpZW50
RWZsKiB0b0NvbnRleHRDbGllbnRFZmwoY29uc3Qgdm9pZCogY2xpZW50SW5mbykKICAgICByZXR1
cm4gc3RhdGljX2Nhc3Q8Q29udGV4dE1lbnVDbGllbnRFZmwqPihjb25zdF9jYXN0PHZvaWQqPihj
bGllbnRJbmZvKSk7CiB9CiAKK3N0YXRpYyB2b2lkIHNob3dDb250ZXh0TWVudShXS1BhZ2VSZWYs
IFdLUG9pbnQgbWVudUxvY2F0aW9uLCBXS0FycmF5UmVmIG1lbnVJdGVtcywgY29uc3Qgdm9pZCog
Y2xpZW50SW5mbykKK3sKKyAgICB0b0NvbnRleHRDbGllbnRFZmwoY2xpZW50SW5mbyktPnZpZXco
KS0+c2hvd0NvbnRleHRNZW51KG1lbnVMb2NhdGlvbiwgbWVudUl0ZW1zKTsKK30KKworc3RhdGlj
IHZvaWQgaGlkZUNvbnRleHRNZW51KFdLUGFnZVJlZiwgY29uc3Qgdm9pZCogY2xpZW50SW5mbykK
K3sKKyAgICB0b0NvbnRleHRDbGllbnRFZmwoY2xpZW50SW5mbyktPnZpZXcoKS0+aGlkZUNvbnRl
eHRNZW51KCk7Cit9CisKIENvbnRleHRNZW51Q2xpZW50RWZsOjpDb250ZXh0TWVudUNsaWVudEVm
bChFd2tWaWV3KiB2aWV3KQogICAgIDogbV92aWV3KHZpZXcpCiB7CkBAIC01NCwxMyArNjEsOSBA
QCBDb250ZXh0TWVudUNsaWVudEVmbDo6Q29udGV4dE1lbnVDbGllbnRFZmwoRXdrVmlldyogdmll
dykKICAgICBjb250ZXh0TWVudUNsaWVudC5jdXN0b21Db250ZXh0TWVudUl0ZW1TZWxlY3RlZCA9
IDA7CiAgICAgY29udGV4dE1lbnVDbGllbnQuY29udGV4dE1lbnVEaXNtaXNzZWQgPSAwOwogICAg
IGNvbnRleHRNZW51Q2xpZW50LmdldENvbnRleHRNZW51RnJvbVByb3Bvc2VkTWVudSA9IDA7Ci0g
ICAgY29udGV4dE1lbnVDbGllbnQuc2hvd0NvbnRleHRNZW51ID0gMDsKLSAgICBjb250ZXh0TWVu
dUNsaWVudC5oaWRlQ29udGV4dE1lbnUgPSAwOworICAgIGNvbnRleHRNZW51Q2xpZW50LnNob3dD
b250ZXh0TWVudSA9IHNob3dDb250ZXh0TWVudTsKKyAgICBjb250ZXh0TWVudUNsaWVudC5oaWRl
Q29udGV4dE1lbnUgPSBoaWRlQ29udGV4dE1lbnU7CiAKICAgICBXS1BhZ2VTZXRQYWdlQ29udGV4
dE1lbnVDbGllbnQocGFnZVJlZiwgJmNvbnRleHRNZW51Q2xpZW50KTsKIH0KIAotdm9pZCBDb250
ZXh0TWVudUNsaWVudEVmbDo6Z2V0Q29udGV4dE1lbnVGcm9tUHJvcG9zZWRNZW51KFdLUGFnZVJl
ZiwgV0tBcnJheVJlZiwgV0tBcnJheVJlZiosIFdLSGl0VGVzdFJlc3VsdFJlZiwgV0tUeXBlUmVm
LCBjb25zdCB2b2lkKikKLXsKLSAgICBub3RJbXBsZW1lbnRlZCgpOwotfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9Db250ZXh0TWVudUNsaWVudEVmbC5oIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9Db250ZXh0TWVudUNsaWVudEVmbC5oCmluZGV4IGIy
MTJlOWUuLmYwMzZiM2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwv
Q29udGV4dE1lbnVDbGllbnRFZmwuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZs
L0NvbnRleHRNZW51Q2xpZW50RWZsLmgKQEAgLTI2LDEyICsyNiw3IEBACiAjaWZuZGVmIENvbnRl
eHRNZW51Q2xpZW50RWZsX2gKICNkZWZpbmUgQ29udGV4dE1lbnVDbGllbnRFZmxfaAogCi0jaW5j
bHVkZSAiV0tSZXRhaW5QdHIuaCIKLSNpbmNsdWRlICJld2tfY29udGV4dC5oIgotI2luY2x1ZGUg
PFdlYktpdDIvV0tCYXNlLmg+Ci0jaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3
dGYvUGFzc093blB0ci5oPgotI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiBjbGFz
cyBFd2tWaWV3OwogCkBAIC00NCw3ICszOSw3IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIGFk
b3B0UHRyKG5ldyBDb250ZXh0TWVudUNsaWVudEVmbCh2aWV3SW1wbCkpOwogICAgIH0KIAotICAg
IHN0YXRpYyB2b2lkIGdldENvbnRleHRNZW51RnJvbVByb3Bvc2VkTWVudShXS1BhZ2VSZWYsIFdL
QXJyYXlSZWYgcHJvcG9zZWRNZW51LCBXS0FycmF5UmVmKiBuZXdNZW51LCBXS0hpdFRlc3RSZXN1
bHRSZWYsIFdLVHlwZVJlZiB1c2VyRGF0YSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7CisgICAg
RXdrVmlldyogdmlldygpIHsgcmV0dXJuIG1fdmlldzsgfQogCiBwcml2YXRlOgogICAgIGV4cGxp
Y2l0IENvbnRleHRNZW51Q2xpZW50RWZsKEV3a1ZpZXcqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9lZmwvV2ViQ29udGV4dE1lbnVQcm94eUVmbC5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1dlYkNvbnRleHRNZW51UHJveHlFZmwuY3BwCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2OGU3NWI0Li4wMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9lZmwvV2ViQ29udGV4dE1lbnVQcm94eUVmbC5jcHAKKysrIC9kZXYvbnVs
bApAQCAtMSw2NyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEyIFNhbXN1bmcgRWxl
Y3Ryb25pY3MuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0g
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
LSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAot
ICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0g
KiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICog
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiV2ViQ29u
dGV4dE1lbnVQcm94eUVmbC5oIgotCi0jaWYgRU5BQkxFKENPTlRFWFRfTUVOVVMpCi0KLSNpbmNs
dWRlICJFd2tWaWV3LmgiCi0jaW5jbHVkZSAiV2ViQ29udGV4dE1lbnVJdGVtRGF0YS5oIgotI2lu
Y2x1ZGUgIldlYlBhZ2VQcm94eS5oIgotI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KLQot
dXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci0KLW5hbWVzcGFjZSBXZWJLaXQgewotCi1XZWJDb250
ZXh0TWVudVByb3h5RWZsOjpXZWJDb250ZXh0TWVudVByb3h5RWZsKEV3a1ZpZXcqIHZpZXcsIFdl
YlBhZ2VQcm94eSogcGFnZSkKLSAgICA6IG1fdmlldyh2aWV3KQotICAgICwgbV9wYWdlKHBhZ2Up
Ci17Ci19Ci0KLVdlYkNvbnRleHRNZW51UHJveHlFZmw6On5XZWJDb250ZXh0TWVudVByb3h5RWZs
KCkKLXsKLX0KLQotdm9pZCBXZWJDb250ZXh0TWVudVByb3h5RWZsOjpzaG93Q29udGV4dE1lbnUo
Y29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIHBvc2l0aW9uLCBjb25zdCBWZWN0b3I8V2ViQ29udGV4
dE1lbnVJdGVtRGF0YT4mIGl0ZW1zKQotewotICAgIG1fdmlldy0+c2hvd0NvbnRleHRNZW51KHRo
aXMsIHBvc2l0aW9uLCBpdGVtcyk7Ci19Ci0KLXZvaWQgV2ViQ29udGV4dE1lbnVQcm94eUVmbDo6
aGlkZUNvbnRleHRNZW51KCkKLXsKLSAgICBtX3ZpZXctPmhpZGVDb250ZXh0TWVudSgpOwotfQot
Ci12b2lkIFdlYkNvbnRleHRNZW51UHJveHlFZmw6OmNvbnRleHRNZW51SXRlbVNlbGVjdGVkKGNv
bnN0IFdlYkNvbnRleHRNZW51SXRlbURhdGEmIGl0ZW0pCi17Ci0gICAgbV9wYWdlLT5jb250ZXh0
TWVudUl0ZW1TZWxlY3RlZChpdGVtKTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViS2l0Ci0KLSNl
bmRpZiAvLyBFTkFCTEUoQ09OVEVYVF9NRU5VUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9lZmwvV2ViQ29udGV4dE1lbnVQcm94eUVmbC5oIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL2VmbC9XZWJDb250ZXh0TWVudVByb3h5RWZsLmgKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IGVhNDJhZjEuLjAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL2VmbC9XZWJDb250ZXh0TWVudVByb3h5RWZsLmgKKysrIC9kZXYvbnVsbApAQCAtMSw2NyAr
MCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEyIFNhbXN1bmcgRWxlY3Ryb25pY3MuCi0g
KgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAot
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
LSAqLwotCi0jaWZuZGVmIFdlYkNvbnRleHRNZW51UHJveHlFZmxfaAotI2RlZmluZSBXZWJDb250
ZXh0TWVudVByb3h5RWZsX2gKLQotI2lmIEVOQUJMRShDT05URVhUX01FTlVTKQotCi0jaW5jbHVk
ZSAiV2ViQ29udGV4dE1lbnVQcm94eS5oIgotI2luY2x1ZGUgPFdlYkNvcmUvQ29udGV4dE1lbnUu
aD4KLSNpbmNsdWRlIDxXZWJDb3JlL0ludFBvaW50Lmg+Ci0KLWNsYXNzIEV3a1ZpZXc7Ci0KLW5h
bWVzcGFjZSBXZWJLaXQgewotCi1jbGFzcyBXZWJDb250ZXh0TWVudUl0ZW1EYXRhOwotY2xhc3Mg
V2ViUGFnZVByb3h5OwotCi1jbGFzcyBXZWJDb250ZXh0TWVudVByb3h5RWZsIDogcHVibGljIFdl
YkNvbnRleHRNZW51UHJveHkgewotcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFdlYkNv
bnRleHRNZW51UHJveHlFZmw+IGNyZWF0ZShFd2tWaWV3KiB2aWV3SW1wbCwgV2ViUGFnZVByb3h5
KiBwYWdlKQotICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBXZWJDb250ZXh0TWVu
dVByb3h5RWZsKHZpZXdJbXBsLCBwYWdlKSk7Ci0gICAgfQotCi0gICAgfldlYkNvbnRleHRNZW51
UHJveHlFZmwoKTsKLQotICAgIHZvaWQgc2hvd0NvbnRleHRNZW51KGNvbnN0IFdlYkNvcmU6Oklu
dFBvaW50JiwgY29uc3QgVmVjdG9yPFdlYkNvbnRleHRNZW51SXRlbURhdGE+Jik7Ci0gICAgdm9p
ZCBoaWRlQ29udGV4dE1lbnUoKTsKLQotICAgIHZvaWQgY29udGV4dE1lbnVJdGVtU2VsZWN0ZWQo
Y29uc3QgV2ViQ29udGV4dE1lbnVJdGVtRGF0YSYpOwotCi1wcml2YXRlOgotICAgIFdlYkNvbnRl
eHRNZW51UHJveHlFZmwoRXdrVmlldyosIFdlYlBhZ2VQcm94eSopOwotCi0gICAgRXdrVmlldyog
bV92aWV3OwotICAgIFdlYlBhZ2VQcm94eSogbV9wYWdlOwotfTsKLQotCi19IC8vIG5hbWVzcGFj
ZSBXZWJLaXQKLQotI2VuZGlmIC8vIEVOQUJMRShDT05URVhUX01FTlVTKQotI2VuZGlmIC8vIFdl
YkNvbnRleHRNZW51UHJveHlFZmxfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL2VmbC9XZWJWaWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvV2ViVmll
dy5jcHAKaW5kZXggMzNmZGI1ZC4uMGM1OWUwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL2VmbC9XZWJWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
ZWZsL1dlYlZpZXcuY3BwCkBAIC0zNSw3ICszNSw2IEBACiAjaW5jbHVkZSAiTm90SW1wbGVtZW50
ZWQuaCIKICNpbmNsdWRlICJQYWdlVmlld3BvcnRDb250cm9sbGVyLmgiCiAjaW5jbHVkZSAiUGFn
ZVZpZXdwb3J0Q29udHJvbGxlckNsaWVudEVmbC5oIgotI2luY2x1ZGUgIldlYkNvbnRleHRNZW51
UHJveHlFZmwuaCIKICNpbmNsdWRlICJXZWJQYWdlUHJveHkuaCIKICNpbmNsdWRlICJXZWJQb3B1
cE1lbnVMaXN0ZW5lckVmbC5oIgogI2luY2x1ZGUgImV3a19jb250ZXh0X3ByaXZhdGUuaCIKQEAg
LTM3NCwxMSArMzczLDYgQEAgUGFzc1JlZlB0cjxXZWJQb3B1cE1lbnVQcm94eT4gV2ViVmlldzo6
Y3JlYXRlUG9wdXBNZW51UHJveHkoV2ViUGFnZVByb3h5KiBwYWdlKQogICAgIHJldHVybiBXZWJQ
b3B1cE1lbnVMaXN0ZW5lckVmbDo6Y3JlYXRlKHBhZ2UpOwogfQogCi1QYXNzUmVmUHRyPFdlYkNv
bnRleHRNZW51UHJveHk+IFdlYlZpZXc6OmNyZWF0ZUNvbnRleHRNZW51UHJveHkoV2ViUGFnZVBy
b3h5KiBwYWdlKQotewotICAgIHJldHVybiBXZWJDb250ZXh0TWVudVByb3h5RWZsOjpjcmVhdGUo
bV9ld2tWaWV3LCBwYWdlKTsKLX0KLQogI2lmIEVOQUJMRShJTlBVVF9UWVBFX0NPTE9SKQogUGFz
c1JlZlB0cjxXZWJDb2xvckNob29zZXJQcm94eT4gV2ViVmlldzo6Y3JlYXRlQ29sb3JDaG9vc2Vy
UHJveHkoV2ViUGFnZVByb3h5KiwgY29uc3QgV2ViQ29yZTo6Q29sb3ImLCBjb25zdCBXZWJDb3Jl
OjpJbnRSZWN0JikKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwv
V2ViVmlldy5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9XZWJWaWV3LmgKaW5kZXgg
OWY1ZjZmNC4uY2YwYWY4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2Vm
bC9XZWJWaWV3LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9XZWJWaWV3LmgK
QEAgLTE1MCw3ICsxNTAsNiBAQCBwcml2YXRlOgogI2VuZGlmCiAKICAgICBQYXNzUmVmUHRyPFdl
YlBvcHVwTWVudVByb3h5PiBjcmVhdGVQb3B1cE1lbnVQcm94eShXZWJQYWdlUHJveHkqKSBPVkVS
UklERTsKLSAgICBQYXNzUmVmUHRyPFdlYkNvbnRleHRNZW51UHJveHk+IGNyZWF0ZUNvbnRleHRN
ZW51UHJveHkoV2ViUGFnZVByb3h5KikgT1ZFUlJJREU7CiAjaWYgRU5BQkxFKElOUFVUX1RZUEVf
Q09MT1IpCiAgICAgUGFzc1JlZlB0cjxXZWJDb2xvckNob29zZXJQcm94eT4gY3JlYXRlQ29sb3JD
aG9vc2VyUHJveHkoV2ViUGFnZVByb3h5KiwgY29uc3QgV2ViQ29yZTo6Q29sb3ImIGluaXRpYWxD
b2xvciwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYpIE9WRVJSSURFOwogI2VuZGlmCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>194852</attachid>
            <date>2013-03-25 07:42:23 -0700</date>
            <delta_ts>2013-04-15 03:16:27 -0700</delta_ts>
            <desc>rebased after 111552 changes</desc>
            <filename>c-api-ewk-contextmenu8.diff</filename>
            <type>text/plain</type>
            <size>42576</size>
            <attacher name="Michal Pakula vel Rutka">mpakulavelrutka</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCBlNDZmZTYyLi4yMzdiZGQwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ4
IEBACisyMDEzLTAzLTI1ICBNaWNoYcWCIFBha3XFgmEgdmVsIFJ1dGthICA8bS5wYWt1bGFAc2Ft
c3VuZy5jb20+CisKKyAgICAgICAgW0VGTF1bV0syXSBVc2UgQyBBUEkgaW4gZXdrX2NvbnRleHRf
bWVudQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA5
Njk4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRUZM
IHBvcnQgdW5saWtlIG90aGVycyBkb2VzIG5vdCBoYW5kbGUgY29udGV4dCBtZW51cyBpbnNpZGUg
V2ViS2l0IGJ1dCBleHBvc2VzIGFuIEFQSToKKyAgICAgICAgZXdrX2NvbnRleHRfbWVudSBhbmQg
ZXdrX2NvbnRleHRfbWVudV9pdGVtLCBhbmQgbGVhdmVzIGNvbnRleHQgbWVudSB0byBhcHBsaWNh
dGlvbi4KKyAgICAgICAgQ3VycmVudGx5IEVGTCBwb3J0J3MgY29udGV4dCBtZW51IEFQSSB1c2Vz
IGludGVybmFsIEMrKyBjbGFzc2VzLCB3aGlsZSBpdCBzaG91bGQgdXNlIFdLMiBDIEFQSSwKKyAg
ICAgICAgdG8gYXZvaWQgdmlvbGF0aW5nIGxheWVyaW5nLgorICAgICAgICBUaGlzIHBhdGNoIGNo
YW5nZXMgRUZMIGNvbnRleHQgbWVudSBBUEkgdG8gdXNlIG9ubHkgV0syIEMgQVBJLiAKKworICAg
ICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuY3BwOgorICAgICAgICAoRXdrVmlldzo6
c2hvd0NvbnRleHRNZW51KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3Lmg6
CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAoRXdrVmlldyk6CisgICAgICAgICogVUlQcm9j
ZXNzL0FQSS9lZmwvZXdrX2NvbnRleHRfbWVudS5jcHA6CisgICAgICAgIChFd2tDb250ZXh0TWVu
dTo6RXdrQ29udGV4dE1lbnUpOgorICAgICAgICAoRXdrQ29udGV4dE1lbnU6OmNvbnRleHRNZW51
SXRlbVNlbGVjdGVkKToKKyAgICAgICAgKGV3a19jb250ZXh0X21lbnVfaXRlbV9zZWxlY3QpOgor
ICAgICAgICAoZ2V0V0tUYWdGcm9tRXdrQWN0aW9uKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L2VmbC9ld2tfY29udGV4dF9tZW51X2l0ZW0uY3BwOgorICAgICAgICAoRXdrQ29udGV4dE1lbnVJ
dGVtOjpFd2tDb250ZXh0TWVudUl0ZW0pOgorICAgICAgICAoZ2V0RXdrQWN0aW9uRnJvbVdLVGFn
KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dF9tZW51X2l0ZW0uaDoK
KyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dF9tZW51X2l0ZW1fcHJpdmF0
ZS5oOgorICAgICAgICAoRXdrQ29udGV4dE1lbnVJdGVtOjpjcmVhdGUpOgorICAgICAgICAoRXdr
Q29udGV4dE1lbnVJdGVtKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4
dF9tZW51X3ByaXZhdGUuaDoKKyAgICAgICAgKEV3a0NvbnRleHRNZW51OjpjcmVhdGUpOgorICAg
ICAgICAoRXdrQ29udGV4dE1lbnUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9lZmwvQ29udGV4dE1l
bnVDbGllbnRFZmwuY3BwOgorICAgICAgICAoc2hvd0NvbnRleHRNZW51KToKKyAgICAgICAgKGhp
ZGVDb250ZXh0TWVudSk6CisgICAgICAgIChDb250ZXh0TWVudUNsaWVudEVmbDo6Q29udGV4dE1l
bnVDbGllbnRFZmwpOgorICAgICAgICAqIFVJUHJvY2Vzcy9lZmwvQ29udGV4dE1lbnVDbGllbnRF
ZmwuaDoKKyAgICAgICAgKFdlYktpdDo6Q29udGV4dE1lbnVDbGllbnRFZmw6OnZpZXcpOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9lZmwvV2ViQ29udGV4dE1lbnVQcm94eUVmbC5jcHA6CisgICAgICAg
IChXZWJLaXQ6OldlYkNvbnRleHRNZW51UHJveHlFZmw6OnNob3dDb250ZXh0TWVudSk6CisgICAg
ICAgIChXZWJLaXQ6OldlYkNvbnRleHRNZW51UHJveHlFZmw6OmhpZGVDb250ZXh0TWVudSk6Cisg
ICAgICAgICogVUlQcm9jZXNzL2VmbC9XZWJDb250ZXh0TWVudVByb3h5RWZsLmg6CisgICAgICAg
IChXZWJDb250ZXh0TWVudVByb3h5RWZsKToKKwogMjAxMy0wMy0yMyAgR2VvZmZyZXkgR2FyZW4g
IDxnZ2FyZW5AYXBwbGUuY29tPgogCiAgICAgICAgIEFkZGVkIGEgc2V0dGluZyBmb3Igd2hldGhl
ciBKYXZhU2NyaXB0IG1hcmt1cCBpcyBlbmFibGVkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZWZsL0V3a1ZpZXcuY3BwCmluZGV4IDA2MmEzOTIuLjdkNzU3YzkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuY3BwCkBAIC04MjEsNyArODIxLDcg
QEAgdm9pZCBFd2tWaWV3OjpkaXNtaXNzQ29sb3JQaWNrZXIoKQogQ09NUElMRV9BU1NFUlRfTUFU
Q0hJTkdfRU5VTShFV0tfVEVYVF9ESVJFQ1RJT05fUklHSFRfVE9fTEVGVCwgUlRMKTsKIENPTVBJ
TEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX1RFWFRfRElSRUNUSU9OX0xFRlRfVE9fUklHSFQs
IExUUik7CiAKLXZvaWQgRXdrVmlldzo6c2hvd0NvbnRleHRNZW51KFdlYkNvbnRleHRNZW51UHJv
eHlFZmwqIGNvbnRleHRNZW51UHJveHksIGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBwb3NpdGlv
biwgY29uc3QgVmVjdG9yPFdlYkNvbnRleHRNZW51SXRlbURhdGE+JiBpdGVtcykKK3ZvaWQgRXdr
Vmlldzo6c2hvd0NvbnRleHRNZW51KFdLUG9pbnQgcG9zaXRpb24sIFdLQXJyYXlSZWYgaXRlbXMp
CiB7CiAgICAgRXdrX1ZpZXdfU21hcnRfRGF0YSogc2QgPSBzbWFydERhdGEoKTsKICAgICBBU1NF
UlQoc2QtPmFwaSk7CkBAIC04MzQsOSArODM0LDkgQEAgdm9pZCBFd2tWaWV3OjpzaG93Q29udGV4
dE1lbnUoV2ViQ29udGV4dE1lbnVQcm94eUVmbCogY29udGV4dE1lbnVQcm94eSwgY29uc3QgV2UK
ICAgICBpZiAobV9jb250ZXh0TWVudSkKICAgICAgICAgaGlkZUNvbnRleHRNZW51KCk7CiAKLSAg
ICBtX2NvbnRleHRNZW51ID0gRXdrX0NvbnRleHRfTWVudTo6Y3JlYXRlKHRoaXMsIGNvbnRleHRN
ZW51UHJveHksIGl0ZW1zKTsKKyAgICBtX2NvbnRleHRNZW51ID0gRXdrX0NvbnRleHRfTWVudTo6
Y3JlYXRlKHRoaXMsIGl0ZW1zKTsKIAotICAgIHNkLT5hcGktPmNvbnRleHRfbWVudV9zaG93KHNk
LCBwb3NpdGlvbi54KCksIHBvc2l0aW9uLnkoKSwgbV9jb250ZXh0TWVudS5nZXQoKSk7CisgICAg
c2QtPmFwaS0+Y29udGV4dF9tZW51X3Nob3coc2QsIHBvc2l0aW9uLngsIHBvc2l0aW9uLnksIG1f
Y29udGV4dE1lbnUuZ2V0KCkpOwogfQogCiB2b2lkIEV3a1ZpZXc6OmhpZGVDb250ZXh0TWVudSgp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3Lmgg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3LmgKaW5kZXggMDFlYzU0
OC4uY2U4MjdkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwv
RXdrVmlldy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcu
aApAQCAtNjQsOCArNjQsNiBAQCBjbGFzcyBQYWdlVUlDbGllbnRFZmw7CiBjbGFzcyBWaWV3Q2xp
ZW50RWZsOwogY2xhc3MgUGFnZVZpZXdwb3J0Q29udHJvbGxlcjsKIGNsYXNzIFBhZ2VWaWV3cG9y
dENvbnRyb2xsZXJDbGllbnRFZmw7Ci1jbGFzcyBXZWJDb250ZXh0TWVudUl0ZW1EYXRhOwotY2xh
c3MgV2ViQ29udGV4dE1lbnVQcm94eUVmbDsKIGNsYXNzIFdlYlBhZ2VHcm91cDsKIGNsYXNzIFdl
YlBhZ2VQcm94eTsKIApAQCAtMTc0LDcgKzE3Miw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHJlcXVl
c3RQb3B1cE1lbnUoV0tQb3B1cE1lbnVMaXN0ZW5lclJlZiwgY29uc3QgV0tSZWN0JiwgV0tQb3B1
cEl0ZW1UZXh0RGlyZWN0aW9uLCBkb3VibGUgcGFnZVNjYWxlRmFjdG9yLCBXS0FycmF5UmVmIGl0
ZW1zLCBpbnQzMl90IHNlbGVjdGVkSW5kZXgpOwogICAgIHZvaWQgY2xvc2VQb3B1cE1lbnUoKTsK
IAotICAgIHZvaWQgc2hvd0NvbnRleHRNZW51KFdlYktpdDo6V2ViQ29udGV4dE1lbnVQcm94eUVm
bCosIGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBwb3NpdGlvbiwgY29uc3QgVmVjdG9yPFdlYktp
dDo6V2ViQ29udGV4dE1lbnVJdGVtRGF0YT4mIGl0ZW1zKTsKKyAgICB2b2lkIHNob3dDb250ZXh0
TWVudShXS1BvaW50IHBvc2l0aW9uLCBXS0FycmF5UmVmIGl0ZW1zKTsKICAgICB2b2lkIGhpZGVD
b250ZXh0TWVudSgpOwogCiAgICAgdm9pZCB1cGRhdGVUZXh0SW5wdXRTdGF0ZSgpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHRfbWVudS5j
cHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dF9tZW51LmNw
cAppbmRleCA5OGE0MzFhLi5hNTRjYmJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dF9tZW51LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dF9tZW51LmNwcApAQCAtMjgsMzQgKzI4LDM0IEBA
CiAKICNpbmNsdWRlICJBUElPYmplY3QuaCIKICNpbmNsdWRlICJFd2tWaWV3LmgiCi0jaW5jbHVk
ZSAiV2ViQ29udGV4dE1lbnVJdGVtRGF0YS5oIgotI2luY2x1ZGUgIldlYkNvbnRleHRNZW51UHJv
eHlFZmwuaCIKKyNpbmNsdWRlICJXS0FycmF5LmgiCisjaW5jbHVkZSAiV0tDb250ZXh0TWVudUl0
ZW0uaCIKKyNpbmNsdWRlICJXS1N0cmluZy5oIgogI2luY2x1ZGUgImV3a19jb250ZXh0X21lbnVf
aXRlbS5oIgogI2luY2x1ZGUgImV3a19jb250ZXh0X21lbnVfaXRlbV9wcml2YXRlLmgiCiAjaW5j
bHVkZSAiZXdrX2NvbnRleHRfbWVudV9wcml2YXRlLmgiCiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJL
aXQ7CiAKLUV3a0NvbnRleHRNZW51OjpFd2tDb250ZXh0TWVudShFd2tWaWV3KiB2aWV3LCBXZWJD
b250ZXh0TWVudVByb3h5RWZsKiBjb250ZXh0TWVudVByb3h5LCBjb25zdCBWZWN0b3I8V2ViS2l0
OjpXZWJDb250ZXh0TWVudUl0ZW1EYXRhPiYgaXRlbXMpCitzdGF0aWMgV0tDb250ZXh0TWVudUl0
ZW1UYWcgZ2V0V0tUYWdGcm9tRXdrQWN0aW9uKEV3a19Db250ZXh0X01lbnVfSXRlbV9BY3Rpb24g
YWN0aW9uKTsKKworRXdrQ29udGV4dE1lbnU6OkV3a0NvbnRleHRNZW51KEV3a1ZpZXcqIHZpZXcs
IFdLQXJyYXlSZWYgaXRlbXMpCiAgICAgOiBtX3ZpZXdJbXBsKHZpZXcpCi0gICAgLCBtX2NvbnRl
eHRNZW51UHJveHkoY29udGV4dE1lbnVQcm94eSkKICAgICAsIG1fY29udGV4dE1lbnVJdGVtcygw
KQogewotICAgIGNvbnN0IHNpemVfdCBzaXplID0gaXRlbXMuc2l6ZSgpOworICAgIHNpemVfdCBz
aXplID0gV0tBcnJheUdldFNpemUoaXRlbXMpOwogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwg
c2l6ZTsgKytpKQotICAgICAgICBtX2NvbnRleHRNZW51SXRlbXMgPSBlaW5hX2xpc3RfYXBwZW5k
KG1fY29udGV4dE1lbnVJdGVtcywgRXdrX0NvbnRleHRfTWVudV9JdGVtOjpjcmVhdGUoaXRlbXNb
aV0pLmxlYWtQdHIoKSk7CisgICAgICAgIG1fY29udGV4dE1lbnVJdGVtcyA9IGVpbmFfbGlzdF9h
cHBlbmQobV9jb250ZXh0TWVudUl0ZW1zLCBFd2tfQ29udGV4dF9NZW51X0l0ZW06OmNyZWF0ZShz
dGF0aWNfY2FzdDxXS0NvbnRleHRNZW51SXRlbVJlZj4oV0tBcnJheUdldEl0ZW1BdEluZGV4KGl0
ZW1zLCBpKSkpLmxlYWtQdHIoKSk7CiB9CiAKIEV3a0NvbnRleHRNZW51OjpFd2tDb250ZXh0TWVu
dSgpCiAgICAgOiBtX3ZpZXdJbXBsKDApCi0gICAgLCBtX2NvbnRleHRNZW51UHJveHkoMCkKICAg
ICAsIG1fY29udGV4dE1lbnVJdGVtcygwKQogewogfQogCiBFd2tDb250ZXh0TWVudTo6RXdrQ29u
dGV4dE1lbnUoRWluYV9MaXN0KiBpdGVtcykKICAgICA6IG1fdmlld0ltcGwoMCkKLSAgICAsIG1f
Y29udGV4dE1lbnVQcm94eSgwKQogICAgICwgbV9jb250ZXh0TWVudUl0ZW1zKDApCiB7CiAgICAg
RWluYV9MaXN0KiBsOwpAQCAtODYsOSArODYsOSBAQCB2b2lkIEV3a19Db250ZXh0X01lbnU6OnJl
bW92ZUl0ZW0oRXdrQ29udGV4dE1lbnVJdGVtKiBpdGVtKQogICAgIG1fY29udGV4dE1lbnVJdGVt
cyA9IGVpbmFfbGlzdF9yZW1vdmUobV9jb250ZXh0TWVudUl0ZW1zLCBpdGVtKTsKIH0KIAotdm9p
ZCBFd2tDb250ZXh0TWVudTo6Y29udGV4dE1lbnVJdGVtU2VsZWN0ZWQoY29uc3QgV2ViS2l0OjpX
ZWJDb250ZXh0TWVudUl0ZW1EYXRhJiBpdGVtKQordm9pZCBFd2tDb250ZXh0TWVudTo6Y29udGV4
dE1lbnVJdGVtU2VsZWN0ZWQoV0tDb250ZXh0TWVudUl0ZW1SZWYgaXRlbSkKIHsKLSAgICBtX2Nv
bnRleHRNZW51UHJveHktPmNvbnRleHRNZW51SXRlbVNlbGVjdGVkKGl0ZW0pOyAKKyAgICBXS1Bh
Z2VTZWxlY3RDb250ZXh0TWVudUl0ZW0obV92aWV3SW1wbC0+d2tQYWdlKCksIGl0ZW0pOwogfSAK
IAogRXdrX0NvbnRleHRfTWVudSogZXdrX2NvbnRleHRfbWVudV9uZXcoKQpAQCAtMTQwLDEwICsx
NDAsMTczIEBAIEVpbmFfQm9vbCBld2tfY29udGV4dF9tZW51X2l0ZW1fc2VsZWN0KEV3a19Db250
ZXh0X01lbnUqIG1lbnUsIEV3a19Db250ZXh0X01lbnVfCiAgICAgRUlOQV9TQUZFVFlfT05fTlVM
TF9SRVRVUk5fVkFMKG1lbnUsIGZhbHNlKTsKICAgICBFSU5BX1NBRkVUWV9PTl9OVUxMX1JFVFVS
Tl9WQUwoaXRlbSwgZmFsc2UpOwogCi0gICAgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVHlwZSB0
eXBlID0gc3RhdGljX2Nhc3Q8V2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVHlwZT4oaXRlbS0+dHlw
ZSgpKTsKLSAgICBXZWJDb3JlOjpDb250ZXh0TWVudUFjdGlvbiBhY3Rpb24gPSBzdGF0aWNfY2Fz
dDxXZWJDb3JlOjpDb250ZXh0TWVudUFjdGlvbj4oaXRlbS0+YWN0aW9uKCkpOworICAgIFdLQ29u
dGV4dE1lbnVJdGVtUmVmIHdrSXRlbTsKKworICAgIHN3aXRjaCAoaXRlbS0+dHlwZSgpKSB7Cisg
ICAgY2FzZSBFV0tfQUNUSU9OX1RZUEU6CisgICAgICAgIHdrSXRlbSA9IFdLQ29udGV4dE1lbnVJ
dGVtQ3JlYXRlQXNBY3Rpb24oZ2V0V0tUYWdGcm9tRXdrQWN0aW9uKGl0ZW0tPmFjdGlvbigpKSwg
YWRvcHRXSyhXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZyhpdGVtLT50aXRsZSgpKSkuZ2V0
KCksIGl0ZW0tPmVuYWJsZWQoKSk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgRVdLX0NIRUNL
QUJMRV9BQ1RJT05fVFlQRToKKyAgICAgICAgd2tJdGVtID0gV0tDb250ZXh0TWVudUl0ZW1DcmVh
dGVBc0NoZWNrYWJsZUFjdGlvbihnZXRXS1RhZ0Zyb21Fd2tBY3Rpb24oaXRlbS0+YWN0aW9uKCkp
LCBhZG9wdFdLKFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKGl0ZW0tPnRpdGxlKCkpKS5n
ZXQoKSwgaXRlbS0+ZW5hYmxlZCgpLCBpdGVtLT5jaGVja2VkKCkpOworICAgICAgICBicmVhazsK
KyAgICBkZWZhdWx0OgorICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgcmV0
dXJuIGZhbHNlOworICAgIH0KIAotICAgIG1lbnUtPmNvbnRleHRNZW51SXRlbVNlbGVjdGVkKFdl
YkNvbnRleHRNZW51SXRlbURhdGEodHlwZSwgYWN0aW9uLCBpdGVtLT50aXRsZSgpLCBpdGVtLT5l
bmFibGVkKCksIGl0ZW0tPmNoZWNrZWQoKSkpOworICAgIG1lbnUtPmNvbnRleHRNZW51SXRlbVNl
bGVjdGVkKHdrSXRlbSk7CiAKICAgICByZXR1cm4gdHJ1ZTsKIH0KKworc3RhdGljIFdLQ29udGV4
dE1lbnVJdGVtVGFnIGdldFdLVGFnRnJvbUV3a0FjdGlvbihFd2tfQ29udGV4dF9NZW51X0l0ZW1f
QWN0aW9uIGFjdGlvbikKK3sKKyAgICBzd2l0Y2ggKGFjdGlvbikgeworICAgIGNhc2UgRVdLX0NP
TlRFWFRfTUVOVV9JVEVNX1RBR19OT19BQ1RJT046CisgICAgICAgIHJldHVybiBrV0tDb250ZXh0
TWVudUl0ZW1UYWdOb0FjdGlvbjsKKyAgICBjYXNlIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdf
T1BFTl9MSU5LX0lOX05FV19XSU5ET1c6CisgICAgICAgIHJldHVybiBrV0tDb250ZXh0TWVudUl0
ZW1UYWdPcGVuTGlua0luTmV3V2luZG93OworICAgIGNhc2UgRVdLX0NPTlRFWFRfTUVOVV9JVEVN
X1RBR19ET1dOTE9BRF9MSU5LX1RPX0RJU0s6CisgICAgICAgIHJldHVybiBrV0tDb250ZXh0TWVu
dUl0ZW1UYWdEb3dubG9hZExpbmtUb0Rpc2s7CisgICAgY2FzZSBFV0tfQ09OVEVYVF9NRU5VX0lU
RU1fVEFHX0NPUFlfTElOS19UT19DTElQQk9BUkQ6CisgICAgICAgIHJldHVybiBrV0tDb250ZXh0
TWVudUl0ZW1UYWdDb3B5TGlua1RvQ2xpcGJvYXJkOworICAgIGNhc2UgRVdLX0NPTlRFWFRfTUVO
VV9JVEVNX1RBR19PUEVOX0lNQUdFX0lOX05FV19XSU5ET1c6CisgICAgICAgIHJldHVybiBrV0tD
b250ZXh0TWVudUl0ZW1UYWdPcGVuSW1hZ2VJbk5ld1dpbmRvdzsKKyAgICBjYXNlIEVXS19DT05U
RVhUX01FTlVfSVRFTV9UQUdfRE9XTkxPQURfSU1BR0VfVE9fRElTSzoKKyAgICAgICAgcmV0dXJu
IGtXS0NvbnRleHRNZW51SXRlbVRhZ0Rvd25sb2FkSW1hZ2VUb0Rpc2s7CisgICAgY2FzZSBFV0tf
Q09OVEVYVF9NRU5VX0lURU1fVEFHX0NPUFlfSU1BR0VfVE9fQ0xJUEJPQVJEOgorICAgICAgICBy
ZXR1cm4ga1dLQ29udGV4dE1lbnVJdGVtVGFnQ29weUltYWdlVG9DbGlwYm9hcmQ7CisgICAgY2Fz
ZSBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0NPUFlfSU1BR0VfVVJMX1RPX0NMSVBCT0FSRDoK
KyAgICAgICAgcmV0dXJuIGtXS0NvbnRleHRNZW51SXRlbVRhZ0NvcHlJbWFnZVVybFRvQ2xpcGJv
YXJkOworICAgIGNhc2UgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19PUEVOX0ZSQU1FX0lOX05F
V19XSU5ET1c6CisgICAgICAgIHJldHVybiBrV0tDb250ZXh0TWVudUl0ZW1UYWdPcGVuRnJhbWVJ
bk5ld1dpbmRvdzsKKyAgICBjYXNlIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfQ09QWToKKyAg
ICAgICAgcmV0dXJuIGtXS0NvbnRleHRNZW51SXRlbVRhZ0NvcHk7CisgICAgY2FzZSBFV0tfQ09O
VEVYVF9NRU5VX0lURU1fVEFHX0dPX0JBQ0s6CisgICAgICAgIHJldHVybiBrV0tDb250ZXh0TWVu
dUl0ZW1UYWdHb0JhY2s7CisgICAgY2FzZSBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0dPX0ZP
UldBUkQ6CisgICAgICAgIHJldHVybiBrV0tDb250ZXh0TWVudUl0ZW1UYWdHb0ZvcndhcmQ7Cisg
ICAgY2FzZSBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1NUT1A6CisgICAgICAgIHJldHVybiBr
V0tDb250ZXh0TWVudUl0ZW1UYWdTdG9wOworICAgIGNhc2UgRVdLX0NPTlRFWFRfTUVOVV9JVEVN
X1RBR19SRUxPQUQ6CisgICAgICAgIHJldHVybiBrV0tDb250ZXh0TWVudUl0ZW1UYWdSZWxvYWQ7
CisgICAgY2FzZSBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0NVVDoKKyAgICAgICAgcmV0dXJu
IGtXS0NvbnRleHRNZW51SXRlbVRhZ0N1dDsKKyAgICBjYXNlIEVXS19DT05URVhUX01FTlVfSVRF
TV9UQUdfUEFTVEU6CisgICAgICAgIHJldHVybiBrV0tDb250ZXh0TWVudUl0ZW1UYWdQYXN0ZTsK
KyAgICBjYXNlIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfU0VMRUNUX0FMTDoKKyAgICAgICAg
cmV0dXJuIGtXS0NvbnRleHRNZW51SXRlbVRhZ1NlbGVjdEFsbDsKKyAgICBjYXNlIEVXS19DT05U
RVhUX01FTlVfSVRFTV9UQUdfU1BFTExJTkdfR1VFU1M6CisgICAgICAgIHJldHVybiBrV0tDb250
ZXh0TWVudUl0ZW1UYWdTcGVsbGluZ0d1ZXNzOworICAgIGNhc2UgRVdLX0NPTlRFWFRfTUVOVV9J
VEVNX1RBR19OT19HVUVTU0VTX0ZPVU5EOgorICAgICAgICByZXR1cm4ga1dLQ29udGV4dE1lbnVJ
dGVtVGFnTm9HdWVzc2VzRm91bmQ7CisgICAgY2FzZSBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFH
X0lHTk9SRV9TUEVMTElORzoKKyAgICAgICAgcmV0dXJuIGtXS0NvbnRleHRNZW51SXRlbVRhZ0ln
bm9yZVNwZWxsaW5nOworICAgIGNhc2UgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19MRUFSTl9T
UEVMTElORzoKKyAgICAgICAgcmV0dXJuIGtXS0NvbnRleHRNZW51SXRlbVRhZ0xlYXJuU3BlbGxp
bmc7CisgICAgY2FzZSBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX09USEVSOgorICAgICAgICBy
ZXR1cm4ga1dLQ29udGV4dE1lbnVJdGVtVGFnT3RoZXI7CisgICAgY2FzZSBFV0tfQ09OVEVYVF9N
RU5VX0lURU1fVEFHX1NFQVJDSF9JTl9TUE9UTElHSFQ6CisgICAgICAgIHJldHVybiBrV0tDb250
ZXh0TWVudUl0ZW1UYWdTZWFyY2hJblNwb3RsaWdodDsKKyAgICBjYXNlIEVXS19DT05URVhUX01F
TlVfSVRFTV9UQUdfU0VBUkNIX1dFQjoKKyAgICAgICAgcmV0dXJuIGtXS0NvbnRleHRNZW51SXRl
bVRhZ1NlYXJjaFdlYjsKKyAgICBjYXNlIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfTE9PS19V
UF9JTl9ESUNUSU9OQVJZOgorICAgICAgICByZXR1cm4ga1dLQ29udGV4dE1lbnVJdGVtVGFnTG9v
a1VwSW5EaWN0aW9uYXJ5OworICAgIGNhc2UgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19PUEVO
X1dJVEhfREVGQVVMVF9BUFBMSUNBVElPTjoKKyAgICAgICAgcmV0dXJuIGtXS0NvbnRleHRNZW51
SXRlbVRhZ09wZW5XaXRoRGVmYXVsdEFwcGxpY2F0aW9uOworICAgIGNhc2UgRVdLX0NPTlRFWFRf
TUVOVV9JVEVNX1BERkFDVFVBTF9TSVpFOgorICAgICAgICByZXR1cm4ga1dLQ29udGV4dE1lbnVJ
dGVtVGFnUERGQWN0dWFsU2l6ZTsKKyAgICBjYXNlIEVXS19DT05URVhUX01FTlVfSVRFTV9QREZa
T09NX0lOOgorICAgICAgICByZXR1cm4ga1dLQ29udGV4dE1lbnVJdGVtVGFnUERGWm9vbUluOwor
ICAgIGNhc2UgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1BERlpPT01fT1VUOgorICAgICAgICByZXR1
cm4ga1dLQ29udGV4dE1lbnVJdGVtVGFnUERGWm9vbU91dDsKKyAgICBjYXNlIEVXS19DT05URVhU
X01FTlVfSVRFTV9QREZBVVRPX1NJWkU6CisgICAgICAgIHJldHVybiBrV0tDb250ZXh0TWVudUl0
ZW1UYWdQREZBdXRvU2l6ZTsKKyAgICBjYXNlIEVXS19DT05URVhUX01FTlVfSVRFTV9QREZTSU5H
TEVfUEFHRToKKyAgICAgICAgcmV0dXJuIGtXS0NvbnRleHRNZW51SXRlbVRhZ1BERlNpbmdsZVBh
Z2U7CisgICAgY2FzZSBFV0tfQ09OVEVYVF9NRU5VX0lURU1fUERGRkFDSU5HX1BBR0VTOgorICAg
ICAgICByZXR1cm4ga1dLQ29udGV4dE1lbnVJdGVtVGFnUERGRmFjaW5nUGFnZXM7CisgICAgY2Fz
ZSBFV0tfQ09OVEVYVF9NRU5VX0lURU1fUERGQ09OVElOVU9VUzoKKyAgICAgICAgcmV0dXJuIGtX
S0NvbnRleHRNZW51SXRlbVRhZ1BERkNvbnRpbnVvdXM7CisgICAgY2FzZSBFV0tfQ09OVEVYVF9N
RU5VX0lURU1fUERGTkVYVF9QQUdFOgorICAgICAgICByZXR1cm4ga1dLQ29udGV4dE1lbnVJdGVt
VGFnUERGTmV4dFBhZ2U7CisgICAgY2FzZSBFV0tfQ09OVEVYVF9NRU5VX0lURU1fUERGUFJFVklP
VVNfUEFHRToKKyAgICAgICAgcmV0dXJuIGtXS0NvbnRleHRNZW51SXRlbVRhZ1BERlByZXZpb3Vz
UGFnZTsKKyAgICBjYXNlIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfT1BFTl9MSU5LOgorICAg
ICAgICByZXR1cm4ga1dLQ29udGV4dE1lbnVJdGVtVGFnT3Blbkxpbms7CisgICAgY2FzZSBFV0tf
Q09OVEVYVF9NRU5VX0lURU1fVEFHX0lHTk9SRV9HUkFNTUFSOgorICAgICAgICByZXR1cm4ga1dL
Q29udGV4dE1lbnVJdGVtVGFnSWdub3JlR3JhbW1hcjsKKyAgICBjYXNlIEVXS19DT05URVhUX01F
TlVfSVRFTV9UQUdfU1BFTExJTkdfTUVOVToKKyAgICAgICAgcmV0dXJuIGtXS0NvbnRleHRNZW51
SXRlbVRhZ1NwZWxsaW5nTWVudTsKKyAgICBjYXNlIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdf
U0hPV19TUEVMTElOR19QQU5FTDoKKyAgICAgICAgcmV0dXJuIGtXS0NvbnRleHRNZW51SXRlbVRh
Z1Nob3dTcGVsbGluZ1BhbmVsOworICAgIGNhc2UgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19D
SEVDS19TUEVMTElORzoKKyAgICAgICAgcmV0dXJuIGtXS0NvbnRleHRNZW51SXRlbVRhZ0NoZWNr
U3BlbGxpbmc7CisgICAgY2FzZSBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0NIRUNLX1NQRUxM
SU5HX1dISUxFX1RZUElORzoKKyAgICAgICAgcmV0dXJuIGtXS0NvbnRleHRNZW51SXRlbVRhZ0No
ZWNrU3BlbGxpbmdXaGlsZVR5cGluZzsKKyAgICBjYXNlIEVXS19DT05URVhUX01FTlVfSVRFTV9U
QUdfQ0hFQ0tfR1JBTU1BUl9XSVRIX1NQRUxMSU5HOgorICAgICAgICByZXR1cm4ga1dLQ29udGV4
dE1lbnVJdGVtVGFnQ2hlY2tHcmFtbWFyV2l0aFNwZWxsaW5nOworICAgIGNhc2UgRVdLX0NPTlRF
WFRfTUVOVV9JVEVNX1RBR19GT05UX01FTlU6CisgICAgICAgIHJldHVybiBrV0tDb250ZXh0TWVu
dUl0ZW1UYWdGb250TWVudTsKKyAgICBjYXNlIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfU0hP
V19GT05UUzoKKyAgICAgICAgcmV0dXJuIGtXS0NvbnRleHRNZW51SXRlbVRhZ1Nob3dGb250czsK
KyAgICBjYXNlIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfQk9MRDoKKyAgICAgICAgcmV0dXJu
IGtXS0NvbnRleHRNZW51SXRlbVRhZ0JvbGQ7CisgICAgY2FzZSBFV0tfQ09OVEVYVF9NRU5VX0lU
RU1fVEFHX0lUQUxJQzoKKyAgICAgICAgcmV0dXJuIGtXS0NvbnRleHRNZW51SXRlbVRhZ0l0YWxp
YzsKKyAgICBjYXNlIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfVU5ERVJMSU5FOgorICAgICAg
ICByZXR1cm4ga1dLQ29udGV4dE1lbnVJdGVtVGFnVW5kZXJsaW5lOworICAgIGNhc2UgRVdLX0NP
TlRFWFRfTUVOVV9JVEVNX1RBR19PVVRMSU5FOgorICAgICAgICByZXR1cm4ga1dLQ29udGV4dE1l
bnVJdGVtVGFnT3V0bGluZTsKKyAgICBjYXNlIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfU1RZ
TEVTOgorICAgICAgICByZXR1cm4ga1dLQ29udGV4dE1lbnVJdGVtVGFnU3R5bGVzOworICAgIGNh
c2UgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19TSE9XX0NPTE9SUzoKKyAgICAgICAgcmV0dXJu
IGtXS0NvbnRleHRNZW51SXRlbVRhZ1Nob3dDb2xvcnM7CisgICAgY2FzZSBFV0tfQ09OVEVYVF9N
RU5VX0lURU1fVEFHX1NQRUVDSF9NRU5VOgorICAgICAgICByZXR1cm4ga1dLQ29udGV4dE1lbnVJ
dGVtVGFnU3BlZWNoTWVudTsKKyAgICBjYXNlIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfU1RB
UlRfU1BFQUtJTkc6CisgICAgICAgIHJldHVybiBrV0tDb250ZXh0TWVudUl0ZW1UYWdTdGFydFNw
ZWFraW5nOworICAgIGNhc2UgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19TVE9QX1NQRUFLSU5H
OgorICAgICAgICByZXR1cm4ga1dLQ29udGV4dE1lbnVJdGVtVGFnU3RvcFNwZWFraW5nOworICAg
IGNhc2UgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19XUklUSU5HX0RJUkVDVElPTl9NRU5VOgor
ICAgICAgICByZXR1cm4ga1dLQ29udGV4dE1lbnVJdGVtVGFnV3JpdGluZ0RpcmVjdGlvbk1lbnU7
CisgICAgY2FzZSBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0RFRkFVTFRfRElSRUNUSU9OOgor
ICAgICAgICByZXR1cm4ga1dLQ29udGV4dE1lbnVJdGVtVGFnRGVmYXVsdERpcmVjdGlvbjsKKyAg
ICBjYXNlIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfTEVGVF9UT19SSUdIVDoKKyAgICAgICAg
cmV0dXJuIGtXS0NvbnRleHRNZW51SXRlbVRhZ0xlZnRUb1JpZ2h0OworICAgIGNhc2UgRVdLX0NP
TlRFWFRfTUVOVV9JVEVNX1RBR19SSUdIVF9UT19MRUZUOgorICAgICAgICByZXR1cm4ga1dLQ29u
dGV4dE1lbnVJdGVtVGFnUmlnaHRUb0xlZnQ7CisgICAgY2FzZSBFV0tfQ09OVEVYVF9NRU5VX0lU
RU1fVEFHX1BERlNJTkdMRV9QQUdFX1NDUk9MTElORzoKKyAgICAgICAgcmV0dXJuIGtXS0NvbnRl
eHRNZW51SXRlbVRhZ1BERlNpbmdsZVBhZ2VTY3JvbGxpbmc7CisgICAgY2FzZSBFV0tfQ09OVEVY
VF9NRU5VX0lURU1fVEFHX1BERkZBQ0lOR19QQUdFU19TQ1JPTExJTkc6CisgICAgICAgIHJldHVy
biBrV0tDb250ZXh0TWVudUl0ZW1UYWdQREZGYWNpbmdQYWdlc1Njcm9sbGluZzsKKyAgICBjYXNl
IEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfSU5TUEVDVF9FTEVNRU5UOgorICAgICAgICByZXR1
cm4ga1dLQ29udGV4dE1lbnVJdGVtVGFnSW5zcGVjdEVsZW1lbnQ7CisgICAgY2FzZSBFV0tfQ09O
VEVYVF9NRU5VX0lURU1fVEFHX1RFWFRfRElSRUNUSU9OX01FTlU6CisgICAgICAgIHJldHVybiBr
V0tDb250ZXh0TWVudUl0ZW1UYWdUZXh0RGlyZWN0aW9uTWVudTsKKyAgICBjYXNlIEVXS19DT05U
RVhUX01FTlVfSVRFTV9UQUdfVEVYVF9ESVJFQ1RJT05fREVGQVVMVDoKKyAgICAgICAgcmV0dXJu
IGtXS0NvbnRleHRNZW51SXRlbVRhZ1RleHREaXJlY3Rpb25EZWZhdWx0OworICAgIGNhc2UgRVdL
X0NPTlRFWFRfTUVOVV9JVEVNX1RBR19URVhUX0RJUkVDVElPTl9MRUZUX1RPX1JJR0hUOgorICAg
ICAgICByZXR1cm4ga1dLQ29udGV4dE1lbnVJdGVtVGFnVGV4dERpcmVjdGlvbkxlZnRUb1JpZ2h0
OworICAgIGNhc2UgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19URVhUX0RJUkVDVElPTl9SSUdI
VF9UT19MRUZUOgorICAgICAgICByZXR1cm4ga1dLQ29udGV4dE1lbnVJdGVtVGFnVGV4dERpcmVj
dGlvblJpZ2h0VG9MZWZ0OworICAgIGNhc2UgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX09QRU5fTUVE
SUFfSU5fTkVXX1dJTkRPVzoKKyAgICAgICAgcmV0dXJuIGtXS0NvbnRleHRNZW51SXRlbVRhZ09w
ZW5NZWRpYUluTmV3V2luZG93OworICAgIGNhc2UgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19D
T1BZX01FRElBX0xJTktfVE9fQ0xJUEJPQVJEOgorICAgICAgICByZXR1cm4ga1dLQ29udGV4dE1l
bnVJdGVtVGFnQ29weU1lZGlhTGlua1RvQ2xpcGJvYXJkOworICAgIGNhc2UgRVdLX0NPTlRFWFRf
TUVOVV9JVEVNX1RBR19UT0dHTEVfTUVESUFfQ09OVFJPTFM6CisgICAgICAgIHJldHVybiBrV0tD
b250ZXh0TWVudUl0ZW1UYWdUb2dnbGVNZWRpYUNvbnRyb2xzOworICAgIGNhc2UgRVdLX0NPTlRF
WFRfTUVOVV9JVEVNX1RBR19UT0dHTEVfTUVESUFfTE9PUDoKKyAgICAgICAgcmV0dXJuIGtXS0Nv
bnRleHRNZW51SXRlbVRhZ1RvZ2dsZU1lZGlhTG9vcDsKKyAgICBjYXNlIEVXS19DT05URVhUX01F
TlVfSVRFTV9UQUdfRU5URVJfVklERU9fRlVMTFNDUkVFTjoKKyAgICAgICAgcmV0dXJuIGtXS0Nv
bnRleHRNZW51SXRlbVRhZ0VudGVyVmlkZW9GdWxsc2NyZWVuOworICAgIGNhc2UgRVdLX0NPTlRF
WFRfTUVOVV9JVEVNX1RBR19NRURJQV9QTEFZX1BBVVNFOgorICAgICAgICByZXR1cm4ga1dLQ29u
dGV4dE1lbnVJdGVtVGFnTWVkaWFQbGF5UGF1c2U7CisgICAgY2FzZSBFV0tfQ09OVEVYVF9NRU5V
X0lURU1fVEFHX01FRElBX01VVEU6CisgICAgICAgIHJldHVybiBrV0tDb250ZXh0TWVudUl0ZW1U
YWdNZWRpYU11dGU7CisgICAgY2FzZSBFV0tfQ09OVEVYVF9NRU5VX0lURU1fQkFTRV9BUFBMSUNB
VElPTl9UQUc6CisgICAgICAgIHJldHVybiBrV0tDb250ZXh0TWVudUl0ZW1CYXNlQXBwbGljYXRp
b25UYWc7CisgICAgZGVmYXVsdDoKKyAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PFdLQ29udGV4
dE1lbnVJdGVtVGFnPihhY3Rpb24pOworICAgIH0KK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0X21lbnVfaXRlbS5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dF9tZW51X2l0ZW0uY3BwCmluZGV4
IDFmZjg2NTIuLmVkYjlmNDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvZWZsL2V3a19jb250ZXh0X21lbnVfaXRlbS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHRfbWVudV9pdGVtLmNwcApAQCAtMjgsMTcgKzI4LDE5
IEBACiAKICNpbmNsdWRlICJld2tfY29udGV4dF9tZW51X2l0ZW1fcHJpdmF0ZS5oIgogI2luY2x1
ZGUgImV3a19wcml2YXRlLmgiCisjaW5jbHVkZSA8V2ViS2l0Mi9XS0NvbnRleHRNZW51SXRlbVR5
cGVzLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgogCi11c2luZyBuYW1lc3BhY2Ug
V2ViQ29yZTsKIHVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CiAKLUV3a0NvbnRleHRNZW51SXRlbTo6
RXdrQ29udGV4dE1lbnVJdGVtKGNvbnN0IFdlYkNvbnRleHRNZW51SXRlbURhdGEmIGl0ZW0pCi0g
ICAgOiBtX3R5cGUoc3RhdGljX2Nhc3Q8RXdrX0NvbnRleHRfTWVudV9JdGVtX1R5cGU+KGl0ZW0u
dHlwZSgpKSkKLSAgICAsIG1fYWN0aW9uKHN0YXRpY19jYXN0PEV3a19Db250ZXh0X01lbnVfSXRl
bV9BY3Rpb24+KGl0ZW0uYWN0aW9uKCkpKQotICAgICwgbV90aXRsZShpdGVtLnRpdGxlKCkudXRm
OCgpLmRhdGEoKSkKLSAgICAsIG1faXNDaGVja2VkKGl0ZW0uY2hlY2tlZCgpKQotICAgICwgbV9p
c0VuYWJsZWQoaXRlbS5lbmFibGVkKCkpCitzdGF0aWMgRXdrX0NvbnRleHRfTWVudV9JdGVtX0Fj
dGlvbiBnZXRFd2tBY3Rpb25Gcm9tV0tUYWcoV0tDb250ZXh0TWVudUl0ZW1UYWcgYWN0aW9uKTsK
KworRXdrQ29udGV4dE1lbnVJdGVtOjpFd2tDb250ZXh0TWVudUl0ZW0oV0tDb250ZXh0TWVudUl0
ZW1SZWYgaXRlbSkKKyAgICA6IG1fdHlwZShzdGF0aWNfY2FzdDxFd2tfQ29udGV4dF9NZW51X0l0
ZW1fVHlwZT4oV0tDb250ZXh0TWVudUl0ZW1HZXRUeXBlKGl0ZW0pKSkKKyAgICAsIG1fYWN0aW9u
KGdldEV3a0FjdGlvbkZyb21XS1RhZygoV0tDb250ZXh0TWVudUl0ZW1HZXRUYWcoaXRlbSkpKSkK
KyAgICAsIG1fdGl0bGUoV0tFaW5hU2hhcmVkU3RyaW5nKEFkb3B0V0ssIFdLQ29udGV4dE1lbnVJ
dGVtQ29weVRpdGxlKGl0ZW0pKSkKKyAgICAsIG1faXNDaGVja2VkKFdLQ29udGV4dE1lbnVJdGVt
R2V0Q2hlY2tlZChpdGVtKSkKKyAgICAsIG1faXNFbmFibGVkKFdLQ29udGV4dE1lbnVJdGVtR2V0
RW5hYmxlZChpdGVtKSkKICAgICAsIG1fcGFyZW50TWVudSgwKQogICAgICwgbV9zdWJNZW51KDAp
CiB7CkBAIC0xNDUsODAgKzE0NywxNTQgQEAgRWluYV9Cb29sIGV3a19jb250ZXh0X21lbnVfaXRl
bV9lbmFibGVkX3NldChFd2tfQ29udGV4dF9NZW51X0l0ZW0qIGl0ZW0sIEVpbmFfQm8KICAgICBy
ZXR1cm4gdHJ1ZTsKIH0KIAotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVY
VF9NRU5VX0lURU1fVEFHX05PX0FDVElPTiwgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnTm9B
Y3Rpb24pOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lU
RU1fVEFHX09QRU5fTElOS19JTl9ORVdfV0lORE9XLCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1U
YWdPcGVuTGlua0luTmV3V2luZG93KTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdL
X0NPTlRFWFRfTUVOVV9JVEVNX1RBR19ET1dOTE9BRF9MSU5LX1RPX0RJU0ssIFdlYkNvcmU6OkNv
bnRleHRNZW51SXRlbVRhZ0Rvd25sb2FkTGlua1RvRGlzayk7Ci1DT01QSUxFX0FTU0VSVF9NQVRD
SElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfQ09QWV9MSU5LX1RPX0NMSVBCT0FS
RCwgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnQ29weUxpbmtUb0NsaXBib2FyZCk7Ci1DT01Q
SUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfT1BFTl9J
TUFHRV9JTl9ORVdfV0lORE9XLCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdPcGVuSW1hZ2VJ
bk5ld1dpbmRvdyk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01F
TlVfSVRFTV9UQUdfRE9XTkxPQURfSU1BR0VfVE9fRElTSywgV2ViQ29yZTo6Q29udGV4dE1lbnVJ
dGVtVGFnRG93bmxvYWRJbWFnZVRvRGlzayk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVN
KEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfQ09QWV9JTUFHRV9UT19DTElQQk9BUkQsIFdlYkNv
cmU6OkNvbnRleHRNZW51SXRlbVRhZ0NvcHlJbWFnZVRvQ2xpcGJvYXJkKTsKLUNPTVBJTEVfQVNT
RVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19DT1BZX0lNQUdFX1VS
TF9UT19DTElQQk9BUkQsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ0NvcHlJbWFnZVVybFRv
Q2xpcGJvYXJkKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVO
VV9JVEVNX1RBR19PUEVOX0ZSQU1FX0lOX05FV19XSU5ET1csIFdlYkNvcmU6OkNvbnRleHRNZW51
SXRlbVRhZ09wZW5GcmFtZUluTmV3V2luZG93KTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VO
VU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19DT1BZLCBXZWJDb3JlOjpDb250ZXh0TWVudUl0
ZW1UYWdDb3B5KTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVO
VV9JVEVNX1RBR19HT19CQUNLLCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdHb0JhY2spOwot
Q09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0dP
X0ZPUldBUkQsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ0dvRm9yd2FyZCk7Ci1DT01QSUxF
X0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfU1RPUCwgV2Vi
Q29yZTo6Q29udGV4dE1lbnVJdGVtVGFnU3RvcCk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19F
TlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfUkVMT0FELCBXZWJDb3JlOjpDb250ZXh0TWVu
dUl0ZW1UYWdSZWxvYWQpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVY
VF9NRU5VX0lURU1fVEFHX0NVVCwgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnQ3V0KTsKLUNP
TVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19QQVNU
RSwgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnUGFzdGUpOwotQ09NUElMRV9BU1NFUlRfTUFU
Q0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1NFTEVDVF9BTEwsIFdlYkNvcmU6
OkNvbnRleHRNZW51SXRlbVRhZ1NlbGVjdEFsbCk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19F
TlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfU1BFTExJTkdfR1VFU1MsIFdlYkNvcmU6OkNv
bnRleHRNZW51SXRlbVRhZ1NwZWxsaW5nR3Vlc3MpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdf
RU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX05PX0dVRVNTRVNfRk9VTkQsIFdlYkNvcmU6
OkNvbnRleHRNZW51SXRlbVRhZ05vR3Vlc3Nlc0ZvdW5kKTsKLUNPTVBJTEVfQVNTRVJUX01BVENI
SU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19JR05PUkVfU1BFTExJTkcsIFdlYkNv
cmU6OkNvbnRleHRNZW51SXRlbVRhZ0lnbm9yZVNwZWxsaW5nKTsKLUNPTVBJTEVfQVNTRVJUX01B
VENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19MRUFSTl9TUEVMTElORywgV2Vi
Q29yZTo6Q29udGV4dE1lbnVJdGVtVGFnTGVhcm5TcGVsbGluZyk7Ci1DT01QSUxFX0FTU0VSVF9N
QVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfT1RIRVIsIFdlYkNvcmU6OkNv
bnRleHRNZW51SXRlbVRhZ090aGVyKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdL
X0NPTlRFWFRfTUVOVV9JVEVNX1RBR19TRUFSQ0hfSU5fU1BPVExJR0hULCBXZWJDb3JlOjpDb250
ZXh0TWVudUl0ZW1UYWdTZWFyY2hJblNwb3RsaWdodCk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElO
R19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfU0VBUkNIX1dFQiwgV2ViQ29yZTo6Q29u
dGV4dE1lbnVJdGVtVGFnU2VhcmNoV2ViKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0o
RVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19MT09LX1VQX0lOX0RJQ1RJT05BUlksIFdlYkNvcmU6
OkNvbnRleHRNZW51SXRlbVRhZ0xvb2tVcEluRGljdGlvbmFyeSk7Ci1DT01QSUxFX0FTU0VSVF9N
QVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfT1BFTl9XSVRIX0RFRkFVTFRf
QVBQTElDQVRJT04sIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ09wZW5XaXRoRGVmYXVsdEFw
cGxpY2F0aW9uKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVO
VV9JVEVNX1BERkFDVFVBTF9TSVpFLCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1QREZBY3R1YWxT
aXplKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVN
X1BERlpPT01fSU4sIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVBERlpvb21Jbik7Ci1DT01QSUxF
X0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9QREZaT09NX09VVCwg
V2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtUERGWm9vbU91dCk7Ci1DT01QSUxFX0FTU0VSVF9NQVRD
SElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9QREZBVVRPX1NJWkUsIFdlYkNvcmU6OkNv
bnRleHRNZW51SXRlbVBERkF1dG9TaXplKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0o
RVdLX0NPTlRFWFRfTUVOVV9JVEVNX1BERlNJTkdMRV9QQUdFLCBXZWJDb3JlOjpDb250ZXh0TWVu
dUl0ZW1QREZTaW5nbGVQYWdlKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NP
TlRFWFRfTUVOVV9JVEVNX1BERkZBQ0lOR19QQUdFUywgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVt
UERGRmFjaW5nUGFnZXMpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVY
VF9NRU5VX0lURU1fUERGQ09OVElOVU9VUywgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtUERGQ29u
dGludW91cyk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVf
SVRFTV9QREZORVhUX1BBR0UsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVBERk5leHRQYWdlKTsK
LUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1BERlBS
RVZJT1VTX1BBR0UsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVBERlByZXZpb3VzUGFnZSk7Ci1D
T01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfT1BF
Tl9MSU5LLCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdPcGVuTGluayk7Ci1DT01QSUxFX0FT
U0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfSUdOT1JFX0dSQU1N
QVIsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ0lnbm9yZUdyYW1tYXIpOwotQ09NUElMRV9B
U1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1NQRUxMSU5HX01F
TlUsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ1NwZWxsaW5nTWVudSk7Ci1DT01QSUxFX0FT
U0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfU0hPV19TUEVMTElO
R19QQU5FTCwgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnU2hvd1NwZWxsaW5nUGFuZWwpOwot
Q09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0NI
RUNLX1NQRUxMSU5HLCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdDaGVja1NwZWxsaW5nKTsK
LUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19D
SEVDS19TUEVMTElOR19XSElMRV9UWVBJTkcsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ0No
ZWNrU3BlbGxpbmdXaGlsZVR5cGluZyk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVX
S19DT05URVhUX01FTlVfSVRFTV9UQUdfQ0hFQ0tfR1JBTU1BUl9XSVRIX1NQRUxMSU5HLCBXZWJD
b3JlOjpDb250ZXh0TWVudUl0ZW1UYWdDaGVja0dyYW1tYXJXaXRoU3BlbGxpbmcpOwotQ09NUElM
RV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0ZPTlRfTUVO
VSwgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnRm9udE1lbnUpOwotQ09NUElMRV9BU1NFUlRf
TUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1NIT1dfRk9OVFMsIFdlYkNv
cmU6OkNvbnRleHRNZW51SXRlbVRhZ1Nob3dGb250cyk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElO
R19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfQk9MRCwgV2ViQ29yZTo6Q29udGV4dE1l
bnVJdGVtVGFnQm9sZCk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhU
X01FTlVfSVRFTV9UQUdfSVRBTElDLCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdJdGFsaWMp
OwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFH
X1VOREVSTElORSwgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnVW5kZXJsaW5lKTsKLUNPTVBJ
TEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19PVVRMSU5F
LCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdPdXRsaW5lKTsKLUNPTVBJTEVfQVNTRVJUX01B
VENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19TVFlMRVMsIFdlYkNvcmU6OkNv
bnRleHRNZW51SXRlbVRhZ1N0eWxlcyk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVX
S19DT05URVhUX01FTlVfSVRFTV9UQUdfU0hPV19DT0xPUlMsIFdlYkNvcmU6OkNvbnRleHRNZW51
SXRlbVRhZ1Nob3dDb2xvcnMpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09O
VEVYVF9NRU5VX0lURU1fVEFHX1NQRUVDSF9NRU5VLCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1U
YWdTcGVlY2hNZW51KTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRf
TUVOVV9JVEVNX1RBR19TVEFSVF9TUEVBS0lORywgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFn
U3RhcnRTcGVha2luZyk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhU
X01FTlVfSVRFTV9UQUdfU1RPUF9TUEVBS0lORywgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFn
U3RvcFNwZWFraW5nKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRf
TUVOVV9JVEVNX1RBR19XUklUSU5HX0RJUkVDVElPTl9NRU5VLCBXZWJDb3JlOjpDb250ZXh0TWVu
dUl0ZW1UYWdXcml0aW5nRGlyZWN0aW9uTWVudSk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19F
TlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfREVGQVVMVF9ESVJFQ1RJT04sIFdlYkNvcmU6
OkNvbnRleHRNZW51SXRlbVRhZ0RlZmF1bHREaXJlY3Rpb24pOwotQ09NUElMRV9BU1NFUlRfTUFU
Q0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0xFRlRfVE9fUklHSFQsIFdlYkNv
cmU6OkNvbnRleHRNZW51SXRlbVRhZ0xlZnRUb1JpZ2h0KTsKLUNPTVBJTEVfQVNTRVJUX01BVENI
SU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19SSUdIVF9UT19MRUZULCBXZWJDb3Jl
OjpDb250ZXh0TWVudUl0ZW1UYWdSaWdodFRvTGVmdCk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElO
R19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfUERGU0lOR0xFX1BBR0VfU0NST0xMSU5H
LCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdQREZTaW5nbGVQYWdlU2Nyb2xsaW5nKTsKLUNP
TVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19QREZG
QUNJTkdfUEFHRVNfU0NST0xMSU5HLCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdQREZGYWNp
bmdQYWdlc1Njcm9sbGluZyk7Ci0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLUNPTVBJTEVfQVNTRVJU
X01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19JTlNQRUNUX0VMRU1FTlQs
IFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ0luc3BlY3RFbGVtZW50KTsKLSNlbmRpZgotQ09N
UElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1RFWFRf
RElSRUNUSU9OX01FTlUsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ1RleHREaXJlY3Rpb25N
ZW51KTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVN
X1RBR19URVhUX0RJUkVDVElPTl9ERUZBVUxULCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdU
ZXh0RGlyZWN0aW9uRGVmYXVsdCk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19D
T05URVhUX01FTlVfSVRFTV9UQUdfVEVYVF9ESVJFQ1RJT05fTEVGVF9UT19SSUdIVCwgV2ViQ29y
ZTo6Q29udGV4dE1lbnVJdGVtVGFnVGV4dERpcmVjdGlvbkxlZnRUb1JpZ2h0KTsKLUNPTVBJTEVf
QVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19URVhUX0RJUkVD
VElPTl9SSUdIVF9UT19MRUZULCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdUZXh0RGlyZWN0
aW9uUmlnaHRUb0xlZnQpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVY
VF9NRU5VX0lURU1fT1BFTl9NRURJQV9JTl9ORVdfV0lORE9XLCBXZWJDb3JlOjpDb250ZXh0TWVu
dUl0ZW1UYWdPcGVuTWVkaWFJbk5ld1dpbmRvdyk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19F
TlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfQ09QWV9NRURJQV9MSU5LX1RPX0NMSVBCT0FS
RCwgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnQ29weU1lZGlhTGlua1RvQ2xpcGJvYXJkKTsK
LUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19U
T0dHTEVfTUVESUFfQ09OVFJPTFMsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ1RvZ2dsZU1l
ZGlhQ29udHJvbHMpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9N
RU5VX0lURU1fVEFHX1RPR0dMRV9NRURJQV9MT09QLCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1U
YWdUb2dnbGVNZWRpYUxvb3ApOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09O
VEVYVF9NRU5VX0lURU1fVEFHX0VOVEVSX1ZJREVPX0ZVTExTQ1JFRU4sIFdlYkNvcmU6OkNvbnRl
eHRNZW51SXRlbVRhZ0VudGVyVmlkZW9GdWxsc2NyZWVuKTsKLUNPTVBJTEVfQVNTRVJUX01BVENI
SU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19NRURJQV9QTEFZX1BBVVNFLCBXZWJD
b3JlOjpDb250ZXh0TWVudUl0ZW1UYWdNZWRpYVBsYXlQYXVzZSk7Ci1DT01QSUxFX0FTU0VSVF9N
QVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfTUVESUFfTVVURSwgV2ViQ29y
ZTo6Q29udGV4dE1lbnVJdGVtVGFnTWVkaWFNdXRlKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5H
X0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX0JBU0VfQ1VTVE9NX1RBRywgV2ViQ29yZTo6Q29u
dGV4dE1lbnVJdGVtQmFzZUN1c3RvbVRhZyk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVN
KEVXS19DT05URVhUX01FTlVfSVRFTV9DVVNUT01fVEFHX05PX0FDVElPTiwgV2ViQ29yZTo6Q29u
dGV4dE1lbnVJdGVtQ3VzdG9tVGFnTm9BY3Rpb24pOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdf
RU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fTEFTVF9DVVNUT01fVEFHLCBXZWJDb3JlOjpDb250
ZXh0TWVudUl0ZW1MYXN0Q3VzdG9tVGFnKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0o
RVdLX0NPTlRFWFRfTUVOVV9JVEVNX0JBU0VfQVBQTElDQVRJT05fVEFHLCBXZWJDb3JlOjpDb250
ZXh0TWVudUl0ZW1CYXNlQXBwbGljYXRpb25UYWcpOworc3RhdGljIEV3a19Db250ZXh0X01lbnVf
SXRlbV9BY3Rpb24gZ2V0RXdrQWN0aW9uRnJvbVdLVGFnKFdLQ29udGV4dE1lbnVJdGVtVGFnIGFj
dGlvbikKK3sKKyAgICBzd2l0Y2ggKGFjdGlvbikgeworICAgIGNhc2Uga1dLQ29udGV4dE1lbnVJ
dGVtVGFnTm9BY3Rpb246CisgICAgICAgIHJldHVybiBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFH
X05PX0FDVElPTjsKKyAgICBjYXNlIGtXS0NvbnRleHRNZW51SXRlbVRhZ09wZW5MaW5rSW5OZXdX
aW5kb3c6CisgICAgICAgIHJldHVybiBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX09QRU5fTElO
S19JTl9ORVdfV0lORE9XOworICAgIGNhc2Uga1dLQ29udGV4dE1lbnVJdGVtVGFnRG93bmxvYWRM
aW5rVG9EaXNrOgorICAgICAgICByZXR1cm4gRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19ET1dO
TE9BRF9MSU5LX1RPX0RJU0s7CisgICAgY2FzZSBrV0tDb250ZXh0TWVudUl0ZW1UYWdDb3B5TGlu
a1RvQ2xpcGJvYXJkOgorICAgICAgICByZXR1cm4gRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19D
T1BZX0xJTktfVE9fQ0xJUEJPQVJEOworICAgIGNhc2Uga1dLQ29udGV4dE1lbnVJdGVtVGFnT3Bl
bkltYWdlSW5OZXdXaW5kb3c6CisgICAgICAgIHJldHVybiBFV0tfQ09OVEVYVF9NRU5VX0lURU1f
VEFHX09QRU5fSU1BR0VfSU5fTkVXX1dJTkRPVzsKKyAgICBjYXNlIGtXS0NvbnRleHRNZW51SXRl
bVRhZ0Rvd25sb2FkSW1hZ2VUb0Rpc2s6CisgICAgICAgIHJldHVybiBFV0tfQ09OVEVYVF9NRU5V
X0lURU1fVEFHX0RPV05MT0FEX0lNQUdFX1RPX0RJU0s7CisgICAgY2FzZSBrV0tDb250ZXh0TWVu
dUl0ZW1UYWdDb3B5SW1hZ2VUb0NsaXBib2FyZDoKKyAgICAgICAgcmV0dXJuIEVXS19DT05URVhU
X01FTlVfSVRFTV9UQUdfQ09QWV9JTUFHRV9UT19DTElQQk9BUkQ7CisgICAgY2FzZSBrV0tDb250
ZXh0TWVudUl0ZW1UYWdDb3B5SW1hZ2VVcmxUb0NsaXBib2FyZDoKKyAgICAgICAgcmV0dXJuIEVX
S19DT05URVhUX01FTlVfSVRFTV9UQUdfQ09QWV9JTUFHRV9VUkxfVE9fQ0xJUEJPQVJEOworICAg
IGNhc2Uga1dLQ29udGV4dE1lbnVJdGVtVGFnT3BlbkZyYW1lSW5OZXdXaW5kb3c6CisgICAgICAg
IHJldHVybiBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX09QRU5fRlJBTUVfSU5fTkVXX1dJTkRP
VzsKKyAgICBjYXNlIGtXS0NvbnRleHRNZW51SXRlbVRhZ0NvcHk6CisgICAgICAgIHJldHVybiBF
V0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0NPUFk7CisgICAgY2FzZSBrV0tDb250ZXh0TWVudUl0
ZW1UYWdHb0JhY2s6CisgICAgICAgIHJldHVybiBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0dP
X0JBQ0s7CisgICAgY2FzZSBrV0tDb250ZXh0TWVudUl0ZW1UYWdHb0ZvcndhcmQ6CisgICAgICAg
IHJldHVybiBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0dPX0ZPUldBUkQ7CisgICAgY2FzZSBr
V0tDb250ZXh0TWVudUl0ZW1UYWdTdG9wOgorICAgICAgICByZXR1cm4gRVdLX0NPTlRFWFRfTUVO
VV9JVEVNX1RBR19TVE9QOworICAgIGNhc2Uga1dLQ29udGV4dE1lbnVJdGVtVGFnUmVsb2FkOgor
ICAgICAgICByZXR1cm4gRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19SRUxPQUQ7CisgICAgY2Fz
ZSBrV0tDb250ZXh0TWVudUl0ZW1UYWdDdXQ6CisgICAgICAgIHJldHVybiBFV0tfQ09OVEVYVF9N
RU5VX0lURU1fVEFHX0NVVDsKKyAgICBjYXNlIGtXS0NvbnRleHRNZW51SXRlbVRhZ1Bhc3RlOgor
ICAgICAgICByZXR1cm4gRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19QQVNURTsKKyAgICBjYXNl
IGtXS0NvbnRleHRNZW51SXRlbVRhZ1NlbGVjdEFsbDoKKyAgICAgICAgcmV0dXJuIEVXS19DT05U
RVhUX01FTlVfSVRFTV9UQUdfU0VMRUNUX0FMTDsKKyAgICBjYXNlIGtXS0NvbnRleHRNZW51SXRl
bVRhZ1NwZWxsaW5nR3Vlc3M6CisgICAgICAgIHJldHVybiBFV0tfQ09OVEVYVF9NRU5VX0lURU1f
VEFHX1NQRUxMSU5HX0dVRVNTOworICAgIGNhc2Uga1dLQ29udGV4dE1lbnVJdGVtVGFnTm9HdWVz
c2VzRm91bmQ6CisgICAgICAgIHJldHVybiBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX05PX0dV
RVNTRVNfRk9VTkQ7CisgICAgY2FzZSBrV0tDb250ZXh0TWVudUl0ZW1UYWdJZ25vcmVTcGVsbGlu
ZzoKKyAgICAgICAgcmV0dXJuIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfSUdOT1JFX1NQRUxM
SU5HOworICAgIGNhc2Uga1dLQ29udGV4dE1lbnVJdGVtVGFnTGVhcm5TcGVsbGluZzoKKyAgICAg
ICAgcmV0dXJuIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfTEVBUk5fU1BFTExJTkc7CisgICAg
Y2FzZSBrV0tDb250ZXh0TWVudUl0ZW1UYWdPdGhlcjoKKyAgICAgICAgcmV0dXJuIEVXS19DT05U
RVhUX01FTlVfSVRFTV9UQUdfT1RIRVI7CisgICAgY2FzZSBrV0tDb250ZXh0TWVudUl0ZW1UYWdT
ZWFyY2hJblNwb3RsaWdodDoKKyAgICAgICAgcmV0dXJuIEVXS19DT05URVhUX01FTlVfSVRFTV9U
QUdfU0VBUkNIX0lOX1NQT1RMSUdIVDsKKyAgICBjYXNlIGtXS0NvbnRleHRNZW51SXRlbVRhZ1Nl
YXJjaFdlYjoKKyAgICAgICAgcmV0dXJuIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfU0VBUkNI
X1dFQjsKKyAgICBjYXNlIGtXS0NvbnRleHRNZW51SXRlbVRhZ0xvb2tVcEluRGljdGlvbmFyeToK
KyAgICAgICAgcmV0dXJuIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfTE9PS19VUF9JTl9ESUNU
SU9OQVJZOworICAgIGNhc2Uga1dLQ29udGV4dE1lbnVJdGVtVGFnT3BlbldpdGhEZWZhdWx0QXBw
bGljYXRpb246CisgICAgICAgIHJldHVybiBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX09QRU5f
V0lUSF9ERUZBVUxUX0FQUExJQ0FUSU9OOworICAgIGNhc2Uga1dLQ29udGV4dE1lbnVJdGVtVGFn
UERGQWN0dWFsU2l6ZToKKyAgICAgICAgcmV0dXJuIEVXS19DT05URVhUX01FTlVfSVRFTV9QREZB
Q1RVQUxfU0laRTsKKyAgICBjYXNlIGtXS0NvbnRleHRNZW51SXRlbVRhZ1BERlpvb21JbjoKKyAg
ICAgICAgcmV0dXJuIEVXS19DT05URVhUX01FTlVfSVRFTV9QREZaT09NX0lOOworICAgIGNhc2Ug
a1dLQ29udGV4dE1lbnVJdGVtVGFnUERGWm9vbU91dDoKKyAgICAgICAgcmV0dXJuIEVXS19DT05U
RVhUX01FTlVfSVRFTV9QREZaT09NX09VVDsKKyAgICBjYXNlIGtXS0NvbnRleHRNZW51SXRlbVRh
Z1BERkF1dG9TaXplOgorICAgICAgICByZXR1cm4gRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1BERkFV
VE9fU0laRTsKKyAgICBjYXNlIGtXS0NvbnRleHRNZW51SXRlbVRhZ1BERlNpbmdsZVBhZ2U6Cisg
ICAgICAgIHJldHVybiBFV0tfQ09OVEVYVF9NRU5VX0lURU1fUERGU0lOR0xFX1BBR0U7CisgICAg
Y2FzZSBrV0tDb250ZXh0TWVudUl0ZW1UYWdQREZGYWNpbmdQYWdlczoKKyAgICAgICAgcmV0dXJu
IEVXS19DT05URVhUX01FTlVfSVRFTV9QREZGQUNJTkdfUEFHRVM7CisgICAgY2FzZSBrV0tDb250
ZXh0TWVudUl0ZW1UYWdQREZDb250aW51b3VzOgorICAgICAgICByZXR1cm4gRVdLX0NPTlRFWFRf
TUVOVV9JVEVNX1BERkNPTlRJTlVPVVM7CisgICAgY2FzZSBrV0tDb250ZXh0TWVudUl0ZW1UYWdQ
REZOZXh0UGFnZToKKyAgICAgICAgcmV0dXJuIEVXS19DT05URVhUX01FTlVfSVRFTV9QREZORVhU
X1BBR0U7CisgICAgY2FzZSBrV0tDb250ZXh0TWVudUl0ZW1UYWdQREZQcmV2aW91c1BhZ2U6Cisg
ICAgICAgIHJldHVybiBFV0tfQ09OVEVYVF9NRU5VX0lURU1fUERGUFJFVklPVVNfUEFHRTsKKyAg
ICBjYXNlIGtXS0NvbnRleHRNZW51SXRlbVRhZ09wZW5MaW5rOgorICAgICAgICByZXR1cm4gRVdL
X0NPTlRFWFRfTUVOVV9JVEVNX1RBR19PUEVOX0xJTks7CisgICAgY2FzZSBrV0tDb250ZXh0TWVu
dUl0ZW1UYWdJZ25vcmVHcmFtbWFyOgorICAgICAgICByZXR1cm4gRVdLX0NPTlRFWFRfTUVOVV9J
VEVNX1RBR19JR05PUkVfR1JBTU1BUjsKKyAgICBjYXNlIGtXS0NvbnRleHRNZW51SXRlbVRhZ1Nw
ZWxsaW5nTWVudToKKyAgICAgICAgcmV0dXJuIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfU1BF
TExJTkdfTUVOVTsKKyAgICBjYXNlIGtXS0NvbnRleHRNZW51SXRlbVRhZ1Nob3dTcGVsbGluZ1Bh
bmVsOgorICAgICAgICByZXR1cm4gRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19TSE9XX1NQRUxM
SU5HX1BBTkVMOworICAgIGNhc2Uga1dLQ29udGV4dE1lbnVJdGVtVGFnQ2hlY2tTcGVsbGluZzoK
KyAgICAgICAgcmV0dXJuIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfQ0hFQ0tfU1BFTExJTkc7
CisgICAgY2FzZSBrV0tDb250ZXh0TWVudUl0ZW1UYWdDaGVja1NwZWxsaW5nV2hpbGVUeXBpbmc6
CisgICAgICAgIHJldHVybiBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0NIRUNLX1NQRUxMSU5H
X1dISUxFX1RZUElORzsKKyAgICBjYXNlIGtXS0NvbnRleHRNZW51SXRlbVRhZ0NoZWNrR3JhbW1h
cldpdGhTcGVsbGluZzoKKyAgICAgICAgcmV0dXJuIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdf
Q0hFQ0tfR1JBTU1BUl9XSVRIX1NQRUxMSU5HOworICAgIGNhc2Uga1dLQ29udGV4dE1lbnVJdGVt
VGFnRm9udE1lbnU6CisgICAgICAgIHJldHVybiBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0ZP
TlRfTUVOVTsKKyAgICBjYXNlIGtXS0NvbnRleHRNZW51SXRlbVRhZ1Nob3dGb250czoKKyAgICAg
ICAgcmV0dXJuIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfU0hPV19GT05UUzsKKyAgICBjYXNl
IGtXS0NvbnRleHRNZW51SXRlbVRhZ0JvbGQ6CisgICAgICAgIHJldHVybiBFV0tfQ09OVEVYVF9N
RU5VX0lURU1fVEFHX0JPTEQ7CisgICAgY2FzZSBrV0tDb250ZXh0TWVudUl0ZW1UYWdJdGFsaWM6
CisgICAgICAgIHJldHVybiBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0lUQUxJQzsKKyAgICBj
YXNlIGtXS0NvbnRleHRNZW51SXRlbVRhZ1VuZGVybGluZToKKyAgICAgICAgcmV0dXJuIEVXS19D
T05URVhUX01FTlVfSVRFTV9UQUdfVU5ERVJMSU5FOworICAgIGNhc2Uga1dLQ29udGV4dE1lbnVJ
dGVtVGFnT3V0bGluZToKKyAgICAgICAgcmV0dXJuIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdf
T1VUTElORTsKKyAgICBjYXNlIGtXS0NvbnRleHRNZW51SXRlbVRhZ1N0eWxlczoKKyAgICAgICAg
cmV0dXJuIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfU1RZTEVTOworICAgIGNhc2Uga1dLQ29u
dGV4dE1lbnVJdGVtVGFnU2hvd0NvbG9yczoKKyAgICAgICAgcmV0dXJuIEVXS19DT05URVhUX01F
TlVfSVRFTV9UQUdfU0hPV19DT0xPUlM7CisgICAgY2FzZSBrV0tDb250ZXh0TWVudUl0ZW1UYWdT
cGVlY2hNZW51OgorICAgICAgICByZXR1cm4gRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19TUEVF
Q0hfTUVOVTsKKyAgICBjYXNlIGtXS0NvbnRleHRNZW51SXRlbVRhZ1N0YXJ0U3BlYWtpbmc6Cisg
ICAgICAgIHJldHVybiBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1NUQVJUX1NQRUFLSU5HOwor
ICAgIGNhc2Uga1dLQ29udGV4dE1lbnVJdGVtVGFnU3RvcFNwZWFraW5nOgorICAgICAgICByZXR1
cm4gRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19TVE9QX1NQRUFLSU5HOworICAgIGNhc2Uga1dL
Q29udGV4dE1lbnVJdGVtVGFnV3JpdGluZ0RpcmVjdGlvbk1lbnU6CisgICAgICAgIHJldHVybiBF
V0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1dSSVRJTkdfRElSRUNUSU9OX01FTlU7CisgICAgY2Fz
ZSBrV0tDb250ZXh0TWVudUl0ZW1UYWdEZWZhdWx0RGlyZWN0aW9uOgorICAgICAgICByZXR1cm4g
RVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19ERUZBVUxUX0RJUkVDVElPTjsKKyAgICBjYXNlIGtX
S0NvbnRleHRNZW51SXRlbVRhZ0xlZnRUb1JpZ2h0OgorICAgICAgICByZXR1cm4gRVdLX0NPTlRF
WFRfTUVOVV9JVEVNX1RBR19MRUZUX1RPX1JJR0hUOworICAgIGNhc2Uga1dLQ29udGV4dE1lbnVJ
dGVtVGFnUmlnaHRUb0xlZnQ6CisgICAgICAgIHJldHVybiBFV0tfQ09OVEVYVF9NRU5VX0lURU1f
VEFHX1JJR0hUX1RPX0xFRlQ7CisgICAgY2FzZSBrV0tDb250ZXh0TWVudUl0ZW1UYWdQREZTaW5n
bGVQYWdlU2Nyb2xsaW5nOgorICAgICAgICByZXR1cm4gRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RB
R19QREZTSU5HTEVfUEFHRV9TQ1JPTExJTkc7CisgICAgY2FzZSBrV0tDb250ZXh0TWVudUl0ZW1U
YWdQREZGYWNpbmdQYWdlc1Njcm9sbGluZzoKKyAgICAgICAgcmV0dXJuIEVXS19DT05URVhUX01F
TlVfSVRFTV9UQUdfUERGRkFDSU5HX1BBR0VTX1NDUk9MTElORzsKKyAgICBjYXNlIGtXS0NvbnRl
eHRNZW51SXRlbVRhZ0luc3BlY3RFbGVtZW50OgorICAgICAgICByZXR1cm4gRVdLX0NPTlRFWFRf
TUVOVV9JVEVNX1RBR19JTlNQRUNUX0VMRU1FTlQ7CisgICAgY2FzZSBrV0tDb250ZXh0TWVudUl0
ZW1UYWdUZXh0RGlyZWN0aW9uTWVudToKKyAgICAgICAgcmV0dXJuIEVXS19DT05URVhUX01FTlVf
SVRFTV9UQUdfVEVYVF9ESVJFQ1RJT05fTUVOVTsKKyAgICBjYXNlIGtXS0NvbnRleHRNZW51SXRl
bVRhZ1RleHREaXJlY3Rpb25EZWZhdWx0OgorICAgICAgICByZXR1cm4gRVdLX0NPTlRFWFRfTUVO
VV9JVEVNX1RBR19URVhUX0RJUkVDVElPTl9ERUZBVUxUOworICAgIGNhc2Uga1dLQ29udGV4dE1l
bnVJdGVtVGFnVGV4dERpcmVjdGlvbkxlZnRUb1JpZ2h0OgorICAgICAgICByZXR1cm4gRVdLX0NP
TlRFWFRfTUVOVV9JVEVNX1RBR19URVhUX0RJUkVDVElPTl9MRUZUX1RPX1JJR0hUOworICAgIGNh
c2Uga1dLQ29udGV4dE1lbnVJdGVtVGFnVGV4dERpcmVjdGlvblJpZ2h0VG9MZWZ0OgorICAgICAg
ICByZXR1cm4gRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19URVhUX0RJUkVDVElPTl9SSUdIVF9U
T19MRUZUOworICAgIGNhc2Uga1dLQ29udGV4dE1lbnVJdGVtVGFnT3Blbk1lZGlhSW5OZXdXaW5k
b3c6CisgICAgICAgIHJldHVybiBFV0tfQ09OVEVYVF9NRU5VX0lURU1fT1BFTl9NRURJQV9JTl9O
RVdfV0lORE9XOworICAgIGNhc2Uga1dLQ29udGV4dE1lbnVJdGVtVGFnQ29weU1lZGlhTGlua1Rv
Q2xpcGJvYXJkOgorICAgICAgICByZXR1cm4gRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19DT1BZ
X01FRElBX0xJTktfVE9fQ0xJUEJPQVJEOworICAgIGNhc2Uga1dLQ29udGV4dE1lbnVJdGVtVGFn
VG9nZ2xlTWVkaWFDb250cm9sczoKKyAgICAgICAgcmV0dXJuIEVXS19DT05URVhUX01FTlVfSVRF
TV9UQUdfVE9HR0xFX01FRElBX0NPTlRST0xTOworICAgIGNhc2Uga1dLQ29udGV4dE1lbnVJdGVt
VGFnVG9nZ2xlTWVkaWFMb29wOgorICAgICAgICByZXR1cm4gRVdLX0NPTlRFWFRfTUVOVV9JVEVN
X1RBR19UT0dHTEVfTUVESUFfTE9PUDsKKyAgICBjYXNlIGtXS0NvbnRleHRNZW51SXRlbVRhZ0Vu
dGVyVmlkZW9GdWxsc2NyZWVuOgorICAgICAgICByZXR1cm4gRVdLX0NPTlRFWFRfTUVOVV9JVEVN
X1RBR19FTlRFUl9WSURFT19GVUxMU0NSRUVOOworICAgIGNhc2Uga1dLQ29udGV4dE1lbnVJdGVt
VGFnTWVkaWFQbGF5UGF1c2U6CisgICAgICAgIHJldHVybiBFV0tfQ09OVEVYVF9NRU5VX0lURU1f
VEFHX01FRElBX1BMQVlfUEFVU0U7CisgICAgY2FzZSBrV0tDb250ZXh0TWVudUl0ZW1UYWdNZWRp
YU11dGU6CisgICAgICAgIHJldHVybiBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX01FRElBX01V
VEU7CisgICAgY2FzZSBrV0tDb250ZXh0TWVudUl0ZW1CYXNlQXBwbGljYXRpb25UYWc6CisgICAg
ICAgIHJldHVybiBFV0tfQ09OVEVYVF9NRU5VX0lURU1fQkFTRV9BUFBMSUNBVElPTl9UQUc7Cisg
ICAgZGVmYXVsdDoKKyAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PEV3a19Db250ZXh0X01lbnVf
SXRlbV9BY3Rpb24+KGFjdGlvbik7CisgICAgfQorfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHRfbWVudV9pdGVtLmggYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dF9tZW51X2l0ZW0uaAppbmRleCA5NjEy
YTIxLi4xMWE5MjgyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2Vm
bC9ld2tfY29udGV4dF9tZW51X2l0ZW0uaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL2VmbC9ld2tfY29udGV4dF9tZW51X2l0ZW0uaApAQCAtNDEsNyArNDEsNyBAQCBleHRlcm4g
IkMiIHsKIC8qKgogICogXGVudW0gICAgRXdrX0NvbnRleHRfTWVudV9JdGVtX1R5cGUKICAqIEBi
cmllZiAgIERlZmluZXMgdGhlIHR5cGVzIG9mIHRoZSBpdGVtcyBmb3IgdGhlIGNvbnRleHQgbWVu
dS4KLSAqIEBpbmZvICAgIEtlZXAgdGhpcyBpbiBzeW5jIHdpdGggQ29udGV4dE1lbnVJdGVtLmgK
KyAqIEBpbmZvICAgIEtlZXAgdGhpcyBpbiBzeW5jIHdpdGggV0tDb250ZXh0TWVudUl0ZW1UeXBl
cy5oCiAgKi8KIHR5cGVkZWYgZW51bSB7CiAgICAgRVdLX0FDVElPTl9UWVBFLApAQCAtNTMsNyAr
NTMsNiBAQCB0eXBlZGVmIGVudW0gewogLyoqCiAgKiBcZW51bSAgICBFd2tfQ29udGV4dF9NZW51
X0FjdGlvbgogICogQGJyaWVmICAgUHJvdmlkZXMgdGhlIGFjdGlvbnMgb2YgaXRlbXMgZm9yIHRo
ZSBjb250ZXh0IG1lbnUuCi0gKiBAaW5mbyAgICBLZWVwIHRoaXMgaW4gc3luYyB3aXRoIENvbnRl
eHRNZW51SXRlbS5oCiAgKi8KIHR5cGVkZWYgZW51bSB7CiAgICAgRVdLX0NPTlRFWFRfTUVOVV9J
VEVNX1RBR19OT19BQ1RJT04sCkBAIC0xMjcsOSArMTI2LDYgQEAgdHlwZWRlZiBlbnVtIHsKICAg
ICBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0VOVEVSX1ZJREVPX0ZVTExTQ1JFRU4sCiAgICAg
RVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19NRURJQV9QTEFZX1BBVVNFLAogICAgIEVXS19DT05U
RVhUX01FTlVfSVRFTV9UQUdfTUVESUFfTVVURSwKLSAgICBFV0tfQ09OVEVYVF9NRU5VX0lURU1f
QkFTRV9DVVNUT01fVEFHID0gNTAwMCwKLSAgICBFV0tfQ09OVEVYVF9NRU5VX0lURU1fQ1VTVE9N
X1RBR19OT19BQ1RJT04gPSA1OTk4LAotICAgIEVXS19DT05URVhUX01FTlVfSVRFTV9MQVNUX0NV
U1RPTV9UQUcgPSA1OTk5LAogICAgIEVXS19DT05URVhUX01FTlVfSVRFTV9CQVNFX0FQUExJQ0FU
SU9OX1RBRyA9IDEwMDAwCiB9IEV3a19Db250ZXh0X01lbnVfSXRlbV9BY3Rpb247CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0X21lbnVf
aXRlbV9wcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29u
dGV4dF9tZW51X2l0ZW1fcHJpdmF0ZS5oCmluZGV4IDYyZjI3OTAuLjlmNzc4M2IgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0X21lbnVfaXRl
bV9wcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2Nv
bnRleHRfbWVudV9pdGVtX3ByaXZhdGUuaApAQCAtMjYsOCArMjYsOCBAQAogI2lmbmRlZiBld2tf
Y29udGV4dF9tZW51X2l0ZW1fcHJpdmF0ZV9oCiAjZGVmaW5lIGV3a19jb250ZXh0X21lbnVfaXRl
bV9wcml2YXRlX2gKIAorI2luY2x1ZGUgIldLQ29udGV4dE1lbnVJdGVtLmgiCiAjaW5jbHVkZSAi
V0tFaW5hU2hhcmVkU3RyaW5nLmgiCi0jaW5jbHVkZSAiV2ViQ29udGV4dE1lbnVJdGVtRGF0YS5o
IgogI2luY2x1ZGUgImV3a19jb250ZXh0X21lbnUuaCIKICNpbmNsdWRlICJld2tfY29udGV4dF9t
ZW51X2l0ZW0uaCIKICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgpAQCAtMzgsNyArMzgsNyBA
QAogICovCiBjbGFzcyBFd2tDb250ZXh0TWVudUl0ZW0gewogcHVibGljOgotICAgIHN0YXRpYyBQ
YXNzT3duUHRyPEV3a0NvbnRleHRNZW51SXRlbT4gY3JlYXRlKGNvbnN0IFdlYktpdDo6V2ViQ29u
dGV4dE1lbnVJdGVtRGF0YSYgaXRlbSkKKyAgICBzdGF0aWMgUGFzc093blB0cjxFd2tDb250ZXh0
TWVudUl0ZW0+IGNyZWF0ZShXS0NvbnRleHRNZW51SXRlbVJlZiBpdGVtKQogICAgIHsKICAgICAg
ICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBFd2tDb250ZXh0TWVudUl0ZW0oaXRlbSkpOwogICAgIH0K
QEAgLTY0LDcgKzY0LDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0RW5hYmxlZChib29sIGVuYWJs
ZWQpIHsgbV9pc0VuYWJsZWQgPSBlbmFibGVkOyB9CiAKIHByaXZhdGU6Ci0gICAgZXhwbGljaXQg
RXdrQ29udGV4dE1lbnVJdGVtKGNvbnN0IFdlYktpdDo6V2ViQ29udGV4dE1lbnVJdGVtRGF0YSYp
OworICAgIGV4cGxpY2l0IEV3a0NvbnRleHRNZW51SXRlbShXS0NvbnRleHRNZW51SXRlbVJlZik7
CiAgICAgRXdrQ29udGV4dE1lbnVJdGVtKEV3a19Db250ZXh0X01lbnVfSXRlbV9UeXBlIHR5cGUs
IEV3a19Db250ZXh0X01lbnVfSXRlbV9BY3Rpb24gYWN0aW9uLCBjb25zdCBjaGFyKiB0aXRsZSwg
RWluYV9Cb29sIGNoZWNrZWQsIEVpbmFfQm9vbCBlbmFibGVkLCBFd2tDb250ZXh0TWVudSogc3Vi
TWVudSk7CiAKICAgICBFd2tfQ29udGV4dF9NZW51X0l0ZW1fVHlwZSBtX3R5cGU7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dF9tZW51X3By
aXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0X21l
bnVfcHJpdmF0ZS5oCmluZGV4IGI5ZTExM2QuLmE2Y2VhMmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0X21lbnVfcHJpdmF0ZS5oCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0X21lbnVfcHJpdmF0
ZS5oCkBAIC0yNiwyNCArMjYsMTcgQEAKICNpZm5kZWYgZXdrX2NvbnRleHRfbWVudV9wcml2YXRl
X2gKICNkZWZpbmUgZXdrX2NvbnRleHRfbWVudV9wcml2YXRlX2gKIAotI2luY2x1ZGUgIldlYkNv
bnRleHRNZW51SXRlbURhdGEuaCIKICNpbmNsdWRlICJld2tfY29udGV4dF9tZW51X2l0ZW0uaCIK
ICNpbmNsdWRlIDxFaW5hLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KLSNpbmNsdWRl
IDx3dGYvVmVjdG9yLmg+Ci0KLW5hbWVzcGFjZSBXZWJLaXQgewotY2xhc3MgV2ViQ29udGV4dE1l
bnVJdGVtRGF0YTsKLWNsYXNzIFdlYkNvbnRleHRNZW51UHJveHlFZmw7Ci19CiAKIGNsYXNzIEV3
a1ZpZXc7CiAKIGNsYXNzIEV3a0NvbnRleHRNZW51IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFz
c093blB0cjxFd2tDb250ZXh0TWVudT4gY3JlYXRlKEV3a1ZpZXcqIHZpZXdJbXBsLCBXZWJLaXQ6
OldlYkNvbnRleHRNZW51UHJveHlFZmwqIGNvbnRleHRNZW51UHJveHksIGNvbnN0IFZlY3RvcjxX
ZWJLaXQ6OldlYkNvbnRleHRNZW51SXRlbURhdGE+JiBpdGVtcykKKyAgICBzdGF0aWMgUGFzc093
blB0cjxFd2tDb250ZXh0TWVudT4gY3JlYXRlKEV3a1ZpZXcqIHZpZXdJbXBsLCBXS0FycmF5UmVm
IGl0ZW1zKQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBFd2tDb250ZXh0TWVu
dSh2aWV3SW1wbCwgY29udGV4dE1lbnVQcm94eSwgaXRlbXMpKTsKKyAgICAgICAgcmV0dXJuIGFk
b3B0UHRyKG5ldyBFd2tDb250ZXh0TWVudSh2aWV3SW1wbCwgaXRlbXMpKTsKICAgICB9CiAKICAg
ICBzdGF0aWMgUGFzc093blB0cjxFd2tDb250ZXh0TWVudT4gY3JlYXRlKCkKQEAgLTYzLDE1ICs1
NiwxNCBAQCBwdWJsaWM6CiAgICAgdm9pZCByZW1vdmVJdGVtKEV3a0NvbnRleHRNZW51SXRlbSop
OwogCiAgICAgY29uc3QgRWluYV9MaXN0KiBpdGVtcygpIGNvbnN0IHsgcmV0dXJuIG1fY29udGV4
dE1lbnVJdGVtczsgfQotICAgIHZvaWQgY29udGV4dE1lbnVJdGVtU2VsZWN0ZWQoY29uc3QgV2Vi
S2l0OjpXZWJDb250ZXh0TWVudUl0ZW1EYXRhJiBpdGVtKTsKKyAgICB2b2lkIGNvbnRleHRNZW51
SXRlbVNlbGVjdGVkKFdLQ29udGV4dE1lbnVJdGVtUmVmIGl0ZW0pOwogCiBwcml2YXRlOgogICAg
IEV3a0NvbnRleHRNZW51KCk7CiAgICAgRXdrQ29udGV4dE1lbnUoRWluYV9MaXN0KiBpdGVtcyk7
Ci0gICAgRXdrQ29udGV4dE1lbnUoRXdrVmlldyogdmlld0ltcGwsIFdlYktpdDo6V2ViQ29udGV4
dE1lbnVQcm94eUVmbCosIGNvbnN0IFZlY3RvcjxXZWJLaXQ6OldlYkNvbnRleHRNZW51SXRlbURh
dGE+JiBpdGVtcyk7CisgICAgRXdrQ29udGV4dE1lbnUoRXdrVmlldyogdmlld0ltcGwsIFdLQXJy
YXlSZWYgaXRlbXMpOwogCiAgICAgRXdrVmlldyogbV92aWV3SW1wbDsKLSAgICBXZWJLaXQ6Oldl
YkNvbnRleHRNZW51UHJveHlFZmwqIG1fY29udGV4dE1lbnVQcm94eTsKICAgICBFaW5hX0xpc3Qq
IG1fY29udGV4dE1lbnVJdGVtczsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9lZmwvQ29udGV4dE1lbnVDbGllbnRFZmwuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL2VmbC9Db250ZXh0TWVudUNsaWVudEVmbC5jcHAKaW5kZXggY2M1M2FjYy4uYWM0ZmRj
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9Db250ZXh0TWVudUNs
aWVudEVmbC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9Db250ZXh0TWVu
dUNsaWVudEVmbC5jcHAKQEAgLTI3LDExICsyNyw4IEBACiAjaW5jbHVkZSAiQ29udGV4dE1lbnVD
bGllbnRFZmwuaCIKIAogI2luY2x1ZGUgIkV3a1ZpZXcuaCIKLSNpbmNsdWRlICJOb3RJbXBsZW1l
bnRlZC5oIgogI2luY2x1ZGUgIldLQXJyYXkuaCIKICNpbmNsdWRlICJXS1BhZ2UuaCIKLSNpbmNs
dWRlICJXZWJDb250ZXh0TWVudUl0ZW0uaCIgICAKLSNpbmNsdWRlIDxFdmFzLmg+CiAKIHVzaW5n
IG5hbWVzcGFjZSBXZWJLaXQ7CiAKQEAgLTQwLDYgKzM3LDE2IEBAIHN0YXRpYyBpbmxpbmUgQ29u
dGV4dE1lbnVDbGllbnRFZmwqIHRvQ29udGV4dENsaWVudEVmbChjb25zdCB2b2lkKiBjbGllbnRJ
bmZvKQogICAgIHJldHVybiBzdGF0aWNfY2FzdDxDb250ZXh0TWVudUNsaWVudEVmbCo+KGNvbnN0
X2Nhc3Q8dm9pZCo+KGNsaWVudEluZm8pKTsKIH0KIAorc3RhdGljIHZvaWQgc2hvd0NvbnRleHRN
ZW51KFdLUGFnZVJlZiwgV0tQb2ludCBtZW51TG9jYXRpb24sIFdLQXJyYXlSZWYgbWVudUl0ZW1z
LCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKQoreworICAgIHRvQ29udGV4dENsaWVudEVmbChjbGll
bnRJbmZvKS0+dmlldygpLT5zaG93Q29udGV4dE1lbnUobWVudUxvY2F0aW9uLCBtZW51SXRlbXMp
OworfQorCitzdGF0aWMgdm9pZCBoaWRlQ29udGV4dE1lbnUoV0tQYWdlUmVmLCBjb25zdCB2b2lk
KiBjbGllbnRJbmZvKQoreworICAgIHRvQ29udGV4dENsaWVudEVmbChjbGllbnRJbmZvKS0+dmll
dygpLT5oaWRlQ29udGV4dE1lbnUoKTsKK30KKwogQ29udGV4dE1lbnVDbGllbnRFZmw6OkNvbnRl
eHRNZW51Q2xpZW50RWZsKEV3a1ZpZXcqIHZpZXcpCiAgICAgOiBtX3ZpZXcodmlldykKIHsKQEAg
LTU0LDEzICs2MSw5IEBAIENvbnRleHRNZW51Q2xpZW50RWZsOjpDb250ZXh0TWVudUNsaWVudEVm
bChFd2tWaWV3KiB2aWV3KQogICAgIGNvbnRleHRNZW51Q2xpZW50LmN1c3RvbUNvbnRleHRNZW51
SXRlbVNlbGVjdGVkID0gMDsKICAgICBjb250ZXh0TWVudUNsaWVudC5jb250ZXh0TWVudURpc21p
c3NlZCA9IDA7CiAgICAgY29udGV4dE1lbnVDbGllbnQuZ2V0Q29udGV4dE1lbnVGcm9tUHJvcG9z
ZWRNZW51ID0gMDsKLSAgICBjb250ZXh0TWVudUNsaWVudC5zaG93Q29udGV4dE1lbnUgPSAwOwot
ICAgIGNvbnRleHRNZW51Q2xpZW50LmhpZGVDb250ZXh0TWVudSA9IDA7CisgICAgY29udGV4dE1l
bnVDbGllbnQuc2hvd0NvbnRleHRNZW51ID0gc2hvd0NvbnRleHRNZW51OworICAgIGNvbnRleHRN
ZW51Q2xpZW50LmhpZGVDb250ZXh0TWVudSA9IGhpZGVDb250ZXh0TWVudTsKIAogICAgIFdLUGFn
ZVNldFBhZ2VDb250ZXh0TWVudUNsaWVudChwYWdlUmVmLCAmY29udGV4dE1lbnVDbGllbnQpOwog
fQogCi12b2lkIENvbnRleHRNZW51Q2xpZW50RWZsOjpnZXRDb250ZXh0TWVudUZyb21Qcm9wb3Nl
ZE1lbnUoV0tQYWdlUmVmLCBXS0FycmF5UmVmLCBXS0FycmF5UmVmKiwgV0tIaXRUZXN0UmVzdWx0
UmVmLCBXS1R5cGVSZWYsIGNvbnN0IHZvaWQqKQotewotICAgIG5vdEltcGxlbWVudGVkKCk7Ci19
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL0NvbnRleHRNZW51Q2xp
ZW50RWZsLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL0NvbnRleHRNZW51Q2xpZW50
RWZsLmgKaW5kZXggYjIxMmU5ZS4uZjAzNmIzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL2VmbC9Db250ZXh0TWVudUNsaWVudEVmbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9lZmwvQ29udGV4dE1lbnVDbGllbnRFZmwuaApAQCAtMjYsMTIgKzI2LDcgQEAK
ICNpZm5kZWYgQ29udGV4dE1lbnVDbGllbnRFZmxfaAogI2RlZmluZSBDb250ZXh0TWVudUNsaWVu
dEVmbF9oCiAKLSNpbmNsdWRlICJXS1JldGFpblB0ci5oIgotI2luY2x1ZGUgImV3a19jb250ZXh0
LmgiCi0jaW5jbHVkZSA8V2ViS2l0Mi9XS0Jhc2UuaD4KLSNpbmNsdWRlIDx3dGYvSGFzaE1hcC5o
PgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+Ci0jaW5jbHVkZSA8d3RmL3RleHQvV1RGU3Ry
aW5nLmg+CiAKIGNsYXNzIEV3a1ZpZXc7CiAKQEAgLTQ0LDcgKzM5LDcgQEAgcHVibGljOgogICAg
ICAgICByZXR1cm4gYWRvcHRQdHIobmV3IENvbnRleHRNZW51Q2xpZW50RWZsKHZpZXdJbXBsKSk7
CiAgICAgfQogCi0gICAgc3RhdGljIHZvaWQgZ2V0Q29udGV4dE1lbnVGcm9tUHJvcG9zZWRNZW51
KFdLUGFnZVJlZiwgV0tBcnJheVJlZiBwcm9wb3NlZE1lbnUsIFdLQXJyYXlSZWYqIG5ld01lbnUs
IFdLSGl0VGVzdFJlc3VsdFJlZiwgV0tUeXBlUmVmIHVzZXJEYXRhLCBjb25zdCB2b2lkKiBjbGll
bnRJbmZvKTsKKyAgICBFd2tWaWV3KiB2aWV3KCkgeyByZXR1cm4gbV92aWV3OyB9CiAKIHByaXZh
dGU6CiAgICAgZXhwbGljaXQgQ29udGV4dE1lbnVDbGllbnRFZmwoRXdrVmlldyopOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9XZWJDb250ZXh0TWVudVByb3h5RWZs
LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvV2ViQ29udGV4dE1lbnVQcm94eUVm
bC5jcHAKaW5kZXggNjhlNzViNC4uODMwZDkxOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL2VmbC9XZWJDb250ZXh0TWVudVByb3h5RWZsLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvZWZsL1dlYkNvbnRleHRNZW51UHJveHlFZmwuY3BwCkBAIC0zMSw3ICsz
MSw3IEBACiAjaW5jbHVkZSAiRXdrVmlldy5oIgogI2luY2x1ZGUgIldlYkNvbnRleHRNZW51SXRl
bURhdGEuaCIKICNpbmNsdWRlICJXZWJQYWdlUHJveHkuaCIKLSNpbmNsdWRlIDx3dGYvdGV4dC9D
U3RyaW5nLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9Ob3RJbXBsZW1lbnRlZC5oPgogCiB1c2luZyBu
YW1lc3BhY2UgV2ViQ29yZTsKIApAQCAtNDcsMTkgKzQ3LDE0IEBAIFdlYkNvbnRleHRNZW51UHJv
eHlFZmw6On5XZWJDb250ZXh0TWVudVByb3h5RWZsKCkKIHsKIH0KIAotdm9pZCBXZWJDb250ZXh0
TWVudVByb3h5RWZsOjpzaG93Q29udGV4dE1lbnUoY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIHBv
c2l0aW9uLCBjb25zdCBWZWN0b3I8V2ViQ29udGV4dE1lbnVJdGVtRGF0YT4mIGl0ZW1zKQordm9p
ZCBXZWJDb250ZXh0TWVudVByb3h5RWZsOjpzaG93Q29udGV4dE1lbnUoY29uc3QgV2ViQ29yZTo6
SW50UG9pbnQmLCBjb25zdCBWZWN0b3I8V2ViQ29udGV4dE1lbnVJdGVtRGF0YT4mKQogewotICAg
IG1fdmlldy0+c2hvd0NvbnRleHRNZW51KHRoaXMsIHBvc2l0aW9uLCBpdGVtcyk7CisgICAgbm90
SW1wbGVtZW50ZWQoKTsKIH0KIAogdm9pZCBXZWJDb250ZXh0TWVudVByb3h5RWZsOjpoaWRlQ29u
dGV4dE1lbnUoKQogewotICAgIG1fdmlldy0+aGlkZUNvbnRleHRNZW51KCk7Ci19Ci0KLXZvaWQg
V2ViQ29udGV4dE1lbnVQcm94eUVmbDo6Y29udGV4dE1lbnVJdGVtU2VsZWN0ZWQoY29uc3QgV2Vi
Q29udGV4dE1lbnVJdGVtRGF0YSYgaXRlbSkKLXsKLSAgICBtX3BhZ2UtPmNvbnRleHRNZW51SXRl
bVNlbGVjdGVkKGl0ZW0pOworICAgIG5vdEltcGxlbWVudGVkKCk7CiB9CiAKIH0gLy8gbmFtZXNw
YWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9XZWJD
b250ZXh0TWVudVByb3h5RWZsLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1dlYkNv
bnRleHRNZW51UHJveHlFZmwuaAppbmRleCBlYTQyYWYxLi5iNzRhNTRmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1dlYkNvbnRleHRNZW51UHJveHlFZmwuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1dlYkNvbnRleHRNZW51UHJveHlFZmwuaApA
QCAtNTEsOCArNTEsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCBzaG93Q29udGV4dE1lbnUoY29uc3Qg
V2ViQ29yZTo6SW50UG9pbnQmLCBjb25zdCBWZWN0b3I8V2ViQ29udGV4dE1lbnVJdGVtRGF0YT4m
KTsKICAgICB2b2lkIGhpZGVDb250ZXh0TWVudSgpOwogCi0gICAgdm9pZCBjb250ZXh0TWVudUl0
ZW1TZWxlY3RlZChjb25zdCBXZWJDb250ZXh0TWVudUl0ZW1EYXRhJik7Ci0KIHByaXZhdGU6CiAg
ICAgV2ViQ29udGV4dE1lbnVQcm94eUVmbChFd2tWaWV3KiwgV2ViUGFnZVByb3h5Kik7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>198046</attachid>
            <date>2013-04-15 03:16:27 -0700</date>
            <delta_ts>2013-04-15 06:42:05 -0700</delta_ts>
            <desc>rebased</desc>
            <filename>c-api-ewk-contextmenu9.diff</filename>
            <type>text/plain</type>
            <size>42642</size>
            <attacher name="Michal Pakula vel Rutka">mpakulavelrutka</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA5OTM0MjhiLi4yMjc0YThjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsNTAg
QEAKIDIwMTMtMDQtMTUgIE1pY2hhxYIgUGFrdcWCYSB2ZWwgUnV0a2EgIDxtLnBha3VsYUBzYW1z
dW5nLmNvbT4KIAorICAgICAgICBbRUZMXVtXSzJdIFVzZSBDIEFQSSBpbiBld2tfY29udGV4dF9t
ZW51CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDk2
OTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBFRkwg
cG9ydCB1bmxpa2Ugb3RoZXJzIGRvZXMgbm90IGhhbmRsZSBjb250ZXh0IG1lbnVzIGluc2lkZSBX
ZWJLaXQgYnV0IGV4cG9zZXMgYW4gQVBJOgorICAgICAgICBld2tfY29udGV4dF9tZW51IGFuZCBl
d2tfY29udGV4dF9tZW51X2l0ZW0sIGFuZCBsZWF2ZXMgY29udGV4dCBtZW51IHRvIGFwcGxpY2F0
aW9uLgorICAgICAgICBDdXJyZW50bHkgRUZMIHBvcnQncyBjb250ZXh0IG1lbnUgQVBJIHVzZXMg
aW50ZXJuYWwgQysrIGNsYXNzZXMsIHdoaWxlIGl0IHNob3VsZCB1c2UgV0syIEMgQVBJLAorICAg
ICAgICB0byBhdm9pZCB2aW9sYXRpbmcgbGF5ZXJpbmcuCisgICAgICAgIFRoaXMgcGF0Y2ggY2hh
bmdlcyBFRkwgY29udGV4dCBtZW51IEFQSSB0byB1c2Ugb25seSBXSzIgQyBBUEkuCisKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3LmNwcDoKKyAgICAgICAgKEV3a1ZpZXc6OnNo
b3dDb250ZXh0TWVudSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlldy5oOgor
ICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKEV3a1ZpZXcpOgorICAgICAgICAqIFVJUHJvY2Vz
cy9BUEkvZWZsL2V3a19jb250ZXh0X21lbnUuY3BwOgorICAgICAgICAoRXdrQ29udGV4dE1lbnU6
OkV3a0NvbnRleHRNZW51KToKKyAgICAgICAgKEV3a0NvbnRleHRNZW51Ojpjb250ZXh0TWVudUl0
ZW1TZWxlY3RlZCk6CisgICAgICAgIChld2tfY29udGV4dF9tZW51X2l0ZW1fc2VsZWN0KToKKyAg
ICAgICAgKGdldFdLVGFnRnJvbUV3a0FjdGlvbik6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9l
ZmwvZXdrX2NvbnRleHRfbWVudV9pdGVtLmNwcDoKKyAgICAgICAgKEV3a0NvbnRleHRNZW51SXRl
bTo6RXdrQ29udGV4dE1lbnVJdGVtKToKKyAgICAgICAgKGdldEV3a0FjdGlvbkZyb21XS1RhZyk6
CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHRfbWVudV9pdGVtLmg6Cisg
ICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHRfbWVudV9pdGVtX3ByaXZhdGUu
aDoKKyAgICAgICAgKEV3a0NvbnRleHRNZW51SXRlbTo6Y3JlYXRlKToKKyAgICAgICAgKEV3a0Nv
bnRleHRNZW51SXRlbSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHRf
bWVudV9wcml2YXRlLmg6CisgICAgICAgIChFd2tDb250ZXh0TWVudTo6Y3JlYXRlKToKKyAgICAg
ICAgKEV3a0NvbnRleHRNZW51KToKKyAgICAgICAgKiBVSVByb2Nlc3MvZWZsL0NvbnRleHRNZW51
Q2xpZW50RWZsLmNwcDoKKyAgICAgICAgKHNob3dDb250ZXh0TWVudSk6CisgICAgICAgIChoaWRl
Q29udGV4dE1lbnUpOgorICAgICAgICAoQ29udGV4dE1lbnVDbGllbnRFZmw6OkNvbnRleHRNZW51
Q2xpZW50RWZsKToKKyAgICAgICAgKiBVSVByb2Nlc3MvZWZsL0NvbnRleHRNZW51Q2xpZW50RWZs
Lmg6CisgICAgICAgIChXZWJLaXQ6OkNvbnRleHRNZW51Q2xpZW50RWZsOjp2aWV3KToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvZWZsL1dlYkNvbnRleHRNZW51UHJveHlFZmwuY3BwOgorICAgICAgICAo
V2ViS2l0OjpXZWJDb250ZXh0TWVudVByb3h5RWZsOjpzaG93Q29udGV4dE1lbnUpOgorICAgICAg
ICAoV2ViS2l0OjpXZWJDb250ZXh0TWVudVByb3h5RWZsOjpoaWRlQ29udGV4dE1lbnUpOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9lZmwvV2ViQ29udGV4dE1lbnVQcm94eUVmbC5oOgorICAgICAgICAo
V2ViQ29udGV4dE1lbnVQcm94eUVmbCk6CisKKzIwMTMtMDQtMTUgIE1pY2hhxYIgUGFrdcWCYSB2
ZWwgUnV0a2EgIDxtLnBha3VsYUBzYW1zdW5nLmNvbT4KKwogICAgICAgICBbV0syXSBBZGQgbmV3
IGNhbGxiYWNrcyBhbmQgYSBmdW5jdGlvbiBmb3IgV2ViS2l0MiBjb250ZXh0IG1lbnUgQVBJCiAg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTE1NTIKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlldy5jcHAg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3LmNwcAppbmRleCAzMzE2
N2Q5Li4zMTViMmI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2Vm
bC9Fd2tWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tW
aWV3LmNwcApAQCAtODA0LDcgKzgwNCw3IEBAIHZvaWQgRXdrVmlldzo6ZGlzbWlzc0NvbG9yUGlj
a2VyKCkKIENPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX1RFWFRfRElSRUNUSU9OX1JJ
R0hUX1RPX0xFRlQsIFJUTCk7CiBDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19URVhU
X0RJUkVDVElPTl9MRUZUX1RPX1JJR0hULCBMVFIpOwogCi12b2lkIEV3a1ZpZXc6OnNob3dDb250
ZXh0TWVudShXZWJDb250ZXh0TWVudVByb3h5RWZsKiBjb250ZXh0TWVudVByb3h5LCBjb25zdCBX
ZWJDb3JlOjpJbnRQb2ludCYgcG9zaXRpb24sIGNvbnN0IFZlY3RvcjxXZWJDb250ZXh0TWVudUl0
ZW1EYXRhPiYgaXRlbXMpCit2b2lkIEV3a1ZpZXc6OnNob3dDb250ZXh0TWVudShXS1BvaW50IHBv
c2l0aW9uLCBXS0FycmF5UmVmIGl0ZW1zKQogewogICAgIEV3a19WaWV3X1NtYXJ0X0RhdGEqIHNk
ID0gc21hcnREYXRhKCk7CiAgICAgQVNTRVJUKHNkLT5hcGkpOwpAQCAtODE3LDkgKzgxNyw5IEBA
IHZvaWQgRXdrVmlldzo6c2hvd0NvbnRleHRNZW51KFdlYkNvbnRleHRNZW51UHJveHlFZmwqIGNv
bnRleHRNZW51UHJveHksIGNvbnN0IFdlCiAgICAgaWYgKG1fY29udGV4dE1lbnUpCiAgICAgICAg
IGhpZGVDb250ZXh0TWVudSgpOwogCi0gICAgbV9jb250ZXh0TWVudSA9IEV3a19Db250ZXh0X01l
bnU6OmNyZWF0ZSh0aGlzLCBjb250ZXh0TWVudVByb3h5LCBpdGVtcyk7CisgICAgbV9jb250ZXh0
TWVudSA9IEV3a19Db250ZXh0X01lbnU6OmNyZWF0ZSh0aGlzLCBpdGVtcyk7CiAKLSAgICBzZC0+
YXBpLT5jb250ZXh0X21lbnVfc2hvdyhzZCwgcG9zaXRpb24ueCgpLCBwb3NpdGlvbi55KCksIG1f
Y29udGV4dE1lbnUuZ2V0KCkpOworICAgIHNkLT5hcGktPmNvbnRleHRfbWVudV9zaG93KHNkLCBw
b3NpdGlvbi54LCBwb3NpdGlvbi55LCBtX2NvbnRleHRNZW51LmdldCgpKTsKIH0KIAogdm9pZCBF
d2tWaWV3OjpoaWRlQ29udGV4dE1lbnUoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9lZmwvRXdrVmlldy5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9l
ZmwvRXdrVmlldy5oCmluZGV4IGE1OGI2ZGMuLmZiYzgzNGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3LmgKQEAgLTY2LDggKzY2LDYgQEAgY2xhc3MgVmlld0Ns
aWVudEVmbDsKIGNsYXNzIFBhZ2VWaWV3cG9ydENvbnRyb2xsZXI7CiBjbGFzcyBQYWdlVmlld3Bv
cnRDb250cm9sbGVyQ2xpZW50RWZsOwogI2VuZGlmCi1jbGFzcyBXZWJDb250ZXh0TWVudUl0ZW1E
YXRhOwotY2xhc3MgV2ViQ29udGV4dE1lbnVQcm94eUVmbDsKIGNsYXNzIFdlYlBhZ2VHcm91cDsK
IGNsYXNzIFdlYlBhZ2VQcm94eTsKIApAQCAtMTc2LDcgKzE3NCw3IEBAIHB1YmxpYzoKICAgICB2
b2lkIHJlcXVlc3RQb3B1cE1lbnUoV0tQb3B1cE1lbnVMaXN0ZW5lclJlZiwgY29uc3QgV0tSZWN0
JiwgV0tQb3B1cEl0ZW1UZXh0RGlyZWN0aW9uLCBkb3VibGUgcGFnZVNjYWxlRmFjdG9yLCBXS0Fy
cmF5UmVmIGl0ZW1zLCBpbnQzMl90IHNlbGVjdGVkSW5kZXgpOwogICAgIHZvaWQgY2xvc2VQb3B1
cE1lbnUoKTsKIAotICAgIHZvaWQgc2hvd0NvbnRleHRNZW51KFdlYktpdDo6V2ViQ29udGV4dE1l
bnVQcm94eUVmbCosIGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBwb3NpdGlvbiwgY29uc3QgVmVj
dG9yPFdlYktpdDo6V2ViQ29udGV4dE1lbnVJdGVtRGF0YT4mIGl0ZW1zKTsKKyAgICB2b2lkIHNo
b3dDb250ZXh0TWVudShXS1BvaW50IHBvc2l0aW9uLCBXS0FycmF5UmVmIGl0ZW1zKTsKICAgICB2
b2lkIGhpZGVDb250ZXh0TWVudSgpOwogCiAgICAgdm9pZCB1cGRhdGVUZXh0SW5wdXRTdGF0ZSgp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRl
eHRfbWVudS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4
dF9tZW51LmNwcAppbmRleCA5OGE0MzFhLi5hNTRjYmJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dF9tZW51LmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dF9tZW51LmNwcApAQCAtMjgsMzQg
KzI4LDM0IEBACiAKICNpbmNsdWRlICJBUElPYmplY3QuaCIKICNpbmNsdWRlICJFd2tWaWV3Lmgi
Ci0jaW5jbHVkZSAiV2ViQ29udGV4dE1lbnVJdGVtRGF0YS5oIgotI2luY2x1ZGUgIldlYkNvbnRl
eHRNZW51UHJveHlFZmwuaCIKKyNpbmNsdWRlICJXS0FycmF5LmgiCisjaW5jbHVkZSAiV0tDb250
ZXh0TWVudUl0ZW0uaCIKKyNpbmNsdWRlICJXS1N0cmluZy5oIgogI2luY2x1ZGUgImV3a19jb250
ZXh0X21lbnVfaXRlbS5oIgogI2luY2x1ZGUgImV3a19jb250ZXh0X21lbnVfaXRlbV9wcml2YXRl
LmgiCiAjaW5jbHVkZSAiZXdrX2NvbnRleHRfbWVudV9wcml2YXRlLmgiCiAKIHVzaW5nIG5hbWVz
cGFjZSBXZWJLaXQ7CiAKLUV3a0NvbnRleHRNZW51OjpFd2tDb250ZXh0TWVudShFd2tWaWV3KiB2
aWV3LCBXZWJDb250ZXh0TWVudVByb3h5RWZsKiBjb250ZXh0TWVudVByb3h5LCBjb25zdCBWZWN0
b3I8V2ViS2l0OjpXZWJDb250ZXh0TWVudUl0ZW1EYXRhPiYgaXRlbXMpCitzdGF0aWMgV0tDb250
ZXh0TWVudUl0ZW1UYWcgZ2V0V0tUYWdGcm9tRXdrQWN0aW9uKEV3a19Db250ZXh0X01lbnVfSXRl
bV9BY3Rpb24gYWN0aW9uKTsKKworRXdrQ29udGV4dE1lbnU6OkV3a0NvbnRleHRNZW51KEV3a1Zp
ZXcqIHZpZXcsIFdLQXJyYXlSZWYgaXRlbXMpCiAgICAgOiBtX3ZpZXdJbXBsKHZpZXcpCi0gICAg
LCBtX2NvbnRleHRNZW51UHJveHkoY29udGV4dE1lbnVQcm94eSkKICAgICAsIG1fY29udGV4dE1l
bnVJdGVtcygwKQogewotICAgIGNvbnN0IHNpemVfdCBzaXplID0gaXRlbXMuc2l6ZSgpOworICAg
IHNpemVfdCBzaXplID0gV0tBcnJheUdldFNpemUoaXRlbXMpOwogICAgIGZvciAoc2l6ZV90IGkg
PSAwOyBpIDwgc2l6ZTsgKytpKQotICAgICAgICBtX2NvbnRleHRNZW51SXRlbXMgPSBlaW5hX2xp
c3RfYXBwZW5kKG1fY29udGV4dE1lbnVJdGVtcywgRXdrX0NvbnRleHRfTWVudV9JdGVtOjpjcmVh
dGUoaXRlbXNbaV0pLmxlYWtQdHIoKSk7CisgICAgICAgIG1fY29udGV4dE1lbnVJdGVtcyA9IGVp
bmFfbGlzdF9hcHBlbmQobV9jb250ZXh0TWVudUl0ZW1zLCBFd2tfQ29udGV4dF9NZW51X0l0ZW06
OmNyZWF0ZShzdGF0aWNfY2FzdDxXS0NvbnRleHRNZW51SXRlbVJlZj4oV0tBcnJheUdldEl0ZW1B
dEluZGV4KGl0ZW1zLCBpKSkpLmxlYWtQdHIoKSk7CiB9CiAKIEV3a0NvbnRleHRNZW51OjpFd2tD
b250ZXh0TWVudSgpCiAgICAgOiBtX3ZpZXdJbXBsKDApCi0gICAgLCBtX2NvbnRleHRNZW51UHJv
eHkoMCkKICAgICAsIG1fY29udGV4dE1lbnVJdGVtcygwKQogewogfQogCiBFd2tDb250ZXh0TWVu
dTo6RXdrQ29udGV4dE1lbnUoRWluYV9MaXN0KiBpdGVtcykKICAgICA6IG1fdmlld0ltcGwoMCkK
LSAgICAsIG1fY29udGV4dE1lbnVQcm94eSgwKQogICAgICwgbV9jb250ZXh0TWVudUl0ZW1zKDAp
CiB7CiAgICAgRWluYV9MaXN0KiBsOwpAQCAtODYsOSArODYsOSBAQCB2b2lkIEV3a19Db250ZXh0
X01lbnU6OnJlbW92ZUl0ZW0oRXdrQ29udGV4dE1lbnVJdGVtKiBpdGVtKQogICAgIG1fY29udGV4
dE1lbnVJdGVtcyA9IGVpbmFfbGlzdF9yZW1vdmUobV9jb250ZXh0TWVudUl0ZW1zLCBpdGVtKTsK
IH0KIAotdm9pZCBFd2tDb250ZXh0TWVudTo6Y29udGV4dE1lbnVJdGVtU2VsZWN0ZWQoY29uc3Qg
V2ViS2l0OjpXZWJDb250ZXh0TWVudUl0ZW1EYXRhJiBpdGVtKQordm9pZCBFd2tDb250ZXh0TWVu
dTo6Y29udGV4dE1lbnVJdGVtU2VsZWN0ZWQoV0tDb250ZXh0TWVudUl0ZW1SZWYgaXRlbSkKIHsK
LSAgICBtX2NvbnRleHRNZW51UHJveHktPmNvbnRleHRNZW51SXRlbVNlbGVjdGVkKGl0ZW0pOyAK
KyAgICBXS1BhZ2VTZWxlY3RDb250ZXh0TWVudUl0ZW0obV92aWV3SW1wbC0+d2tQYWdlKCksIGl0
ZW0pOwogfSAKIAogRXdrX0NvbnRleHRfTWVudSogZXdrX2NvbnRleHRfbWVudV9uZXcoKQpAQCAt
MTQwLDEwICsxNDAsMTczIEBAIEVpbmFfQm9vbCBld2tfY29udGV4dF9tZW51X2l0ZW1fc2VsZWN0
KEV3a19Db250ZXh0X01lbnUqIG1lbnUsIEV3a19Db250ZXh0X01lbnVfCiAgICAgRUlOQV9TQUZF
VFlfT05fTlVMTF9SRVRVUk5fVkFMKG1lbnUsIGZhbHNlKTsKICAgICBFSU5BX1NBRkVUWV9PTl9O
VUxMX1JFVFVSTl9WQUwoaXRlbSwgZmFsc2UpOwogCi0gICAgV2ViQ29yZTo6Q29udGV4dE1lbnVJ
dGVtVHlwZSB0eXBlID0gc3RhdGljX2Nhc3Q8V2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVHlwZT4o
aXRlbS0+dHlwZSgpKTsKLSAgICBXZWJDb3JlOjpDb250ZXh0TWVudUFjdGlvbiBhY3Rpb24gPSBz
dGF0aWNfY2FzdDxXZWJDb3JlOjpDb250ZXh0TWVudUFjdGlvbj4oaXRlbS0+YWN0aW9uKCkpOwor
ICAgIFdLQ29udGV4dE1lbnVJdGVtUmVmIHdrSXRlbTsKKworICAgIHN3aXRjaCAoaXRlbS0+dHlw
ZSgpKSB7CisgICAgY2FzZSBFV0tfQUNUSU9OX1RZUEU6CisgICAgICAgIHdrSXRlbSA9IFdLQ29u
dGV4dE1lbnVJdGVtQ3JlYXRlQXNBY3Rpb24oZ2V0V0tUYWdGcm9tRXdrQWN0aW9uKGl0ZW0tPmFj
dGlvbigpKSwgYWRvcHRXSyhXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZyhpdGVtLT50aXRs
ZSgpKSkuZ2V0KCksIGl0ZW0tPmVuYWJsZWQoKSk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2Ug
RVdLX0NIRUNLQUJMRV9BQ1RJT05fVFlQRToKKyAgICAgICAgd2tJdGVtID0gV0tDb250ZXh0TWVu
dUl0ZW1DcmVhdGVBc0NoZWNrYWJsZUFjdGlvbihnZXRXS1RhZ0Zyb21Fd2tBY3Rpb24oaXRlbS0+
YWN0aW9uKCkpLCBhZG9wdFdLKFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKGl0ZW0tPnRp
dGxlKCkpKS5nZXQoKSwgaXRlbS0+ZW5hYmxlZCgpLCBpdGVtLT5jaGVja2VkKCkpOworICAgICAg
ICBicmVhazsKKyAgICBkZWZhdWx0OgorICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAg
ICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KIAotICAgIG1lbnUtPmNvbnRleHRNZW51SXRlbVNl
bGVjdGVkKFdlYkNvbnRleHRNZW51SXRlbURhdGEodHlwZSwgYWN0aW9uLCBpdGVtLT50aXRsZSgp
LCBpdGVtLT5lbmFibGVkKCksIGl0ZW0tPmNoZWNrZWQoKSkpOworICAgIG1lbnUtPmNvbnRleHRN
ZW51SXRlbVNlbGVjdGVkKHdrSXRlbSk7CiAKICAgICByZXR1cm4gdHJ1ZTsKIH0KKworc3RhdGlj
IFdLQ29udGV4dE1lbnVJdGVtVGFnIGdldFdLVGFnRnJvbUV3a0FjdGlvbihFd2tfQ29udGV4dF9N
ZW51X0l0ZW1fQWN0aW9uIGFjdGlvbikKK3sKKyAgICBzd2l0Y2ggKGFjdGlvbikgeworICAgIGNh
c2UgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19OT19BQ1RJT046CisgICAgICAgIHJldHVybiBr
V0tDb250ZXh0TWVudUl0ZW1UYWdOb0FjdGlvbjsKKyAgICBjYXNlIEVXS19DT05URVhUX01FTlVf
SVRFTV9UQUdfT1BFTl9MSU5LX0lOX05FV19XSU5ET1c6CisgICAgICAgIHJldHVybiBrV0tDb250
ZXh0TWVudUl0ZW1UYWdPcGVuTGlua0luTmV3V2luZG93OworICAgIGNhc2UgRVdLX0NPTlRFWFRf
TUVOVV9JVEVNX1RBR19ET1dOTE9BRF9MSU5LX1RPX0RJU0s6CisgICAgICAgIHJldHVybiBrV0tD
b250ZXh0TWVudUl0ZW1UYWdEb3dubG9hZExpbmtUb0Rpc2s7CisgICAgY2FzZSBFV0tfQ09OVEVY
VF9NRU5VX0lURU1fVEFHX0NPUFlfTElOS19UT19DTElQQk9BUkQ6CisgICAgICAgIHJldHVybiBr
V0tDb250ZXh0TWVudUl0ZW1UYWdDb3B5TGlua1RvQ2xpcGJvYXJkOworICAgIGNhc2UgRVdLX0NP
TlRFWFRfTUVOVV9JVEVNX1RBR19PUEVOX0lNQUdFX0lOX05FV19XSU5ET1c6CisgICAgICAgIHJl
dHVybiBrV0tDb250ZXh0TWVudUl0ZW1UYWdPcGVuSW1hZ2VJbk5ld1dpbmRvdzsKKyAgICBjYXNl
IEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfRE9XTkxPQURfSU1BR0VfVE9fRElTSzoKKyAgICAg
ICAgcmV0dXJuIGtXS0NvbnRleHRNZW51SXRlbVRhZ0Rvd25sb2FkSW1hZ2VUb0Rpc2s7CisgICAg
Y2FzZSBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0NPUFlfSU1BR0VfVE9fQ0xJUEJPQVJEOgor
ICAgICAgICByZXR1cm4ga1dLQ29udGV4dE1lbnVJdGVtVGFnQ29weUltYWdlVG9DbGlwYm9hcmQ7
CisgICAgY2FzZSBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0NPUFlfSU1BR0VfVVJMX1RPX0NM
SVBCT0FSRDoKKyAgICAgICAgcmV0dXJuIGtXS0NvbnRleHRNZW51SXRlbVRhZ0NvcHlJbWFnZVVy
bFRvQ2xpcGJvYXJkOworICAgIGNhc2UgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19PUEVOX0ZS
QU1FX0lOX05FV19XSU5ET1c6CisgICAgICAgIHJldHVybiBrV0tDb250ZXh0TWVudUl0ZW1UYWdP
cGVuRnJhbWVJbk5ld1dpbmRvdzsKKyAgICBjYXNlIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdf
Q09QWToKKyAgICAgICAgcmV0dXJuIGtXS0NvbnRleHRNZW51SXRlbVRhZ0NvcHk7CisgICAgY2Fz
ZSBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0dPX0JBQ0s6CisgICAgICAgIHJldHVybiBrV0tD
b250ZXh0TWVudUl0ZW1UYWdHb0JhY2s7CisgICAgY2FzZSBFV0tfQ09OVEVYVF9NRU5VX0lURU1f
VEFHX0dPX0ZPUldBUkQ6CisgICAgICAgIHJldHVybiBrV0tDb250ZXh0TWVudUl0ZW1UYWdHb0Zv
cndhcmQ7CisgICAgY2FzZSBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1NUT1A6CisgICAgICAg
IHJldHVybiBrV0tDb250ZXh0TWVudUl0ZW1UYWdTdG9wOworICAgIGNhc2UgRVdLX0NPTlRFWFRf
TUVOVV9JVEVNX1RBR19SRUxPQUQ6CisgICAgICAgIHJldHVybiBrV0tDb250ZXh0TWVudUl0ZW1U
YWdSZWxvYWQ7CisgICAgY2FzZSBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0NVVDoKKyAgICAg
ICAgcmV0dXJuIGtXS0NvbnRleHRNZW51SXRlbVRhZ0N1dDsKKyAgICBjYXNlIEVXS19DT05URVhU
X01FTlVfSVRFTV9UQUdfUEFTVEU6CisgICAgICAgIHJldHVybiBrV0tDb250ZXh0TWVudUl0ZW1U
YWdQYXN0ZTsKKyAgICBjYXNlIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfU0VMRUNUX0FMTDoK
KyAgICAgICAgcmV0dXJuIGtXS0NvbnRleHRNZW51SXRlbVRhZ1NlbGVjdEFsbDsKKyAgICBjYXNl
IEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfU1BFTExJTkdfR1VFU1M6CisgICAgICAgIHJldHVy
biBrV0tDb250ZXh0TWVudUl0ZW1UYWdTcGVsbGluZ0d1ZXNzOworICAgIGNhc2UgRVdLX0NPTlRF
WFRfTUVOVV9JVEVNX1RBR19OT19HVUVTU0VTX0ZPVU5EOgorICAgICAgICByZXR1cm4ga1dLQ29u
dGV4dE1lbnVJdGVtVGFnTm9HdWVzc2VzRm91bmQ7CisgICAgY2FzZSBFV0tfQ09OVEVYVF9NRU5V
X0lURU1fVEFHX0lHTk9SRV9TUEVMTElORzoKKyAgICAgICAgcmV0dXJuIGtXS0NvbnRleHRNZW51
SXRlbVRhZ0lnbm9yZVNwZWxsaW5nOworICAgIGNhc2UgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RB
R19MRUFSTl9TUEVMTElORzoKKyAgICAgICAgcmV0dXJuIGtXS0NvbnRleHRNZW51SXRlbVRhZ0xl
YXJuU3BlbGxpbmc7CisgICAgY2FzZSBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX09USEVSOgor
ICAgICAgICByZXR1cm4ga1dLQ29udGV4dE1lbnVJdGVtVGFnT3RoZXI7CisgICAgY2FzZSBFV0tf
Q09OVEVYVF9NRU5VX0lURU1fVEFHX1NFQVJDSF9JTl9TUE9UTElHSFQ6CisgICAgICAgIHJldHVy
biBrV0tDb250ZXh0TWVudUl0ZW1UYWdTZWFyY2hJblNwb3RsaWdodDsKKyAgICBjYXNlIEVXS19D
T05URVhUX01FTlVfSVRFTV9UQUdfU0VBUkNIX1dFQjoKKyAgICAgICAgcmV0dXJuIGtXS0NvbnRl
eHRNZW51SXRlbVRhZ1NlYXJjaFdlYjsKKyAgICBjYXNlIEVXS19DT05URVhUX01FTlVfSVRFTV9U
QUdfTE9PS19VUF9JTl9ESUNUSU9OQVJZOgorICAgICAgICByZXR1cm4ga1dLQ29udGV4dE1lbnVJ
dGVtVGFnTG9va1VwSW5EaWN0aW9uYXJ5OworICAgIGNhc2UgRVdLX0NPTlRFWFRfTUVOVV9JVEVN
X1RBR19PUEVOX1dJVEhfREVGQVVMVF9BUFBMSUNBVElPTjoKKyAgICAgICAgcmV0dXJuIGtXS0Nv
bnRleHRNZW51SXRlbVRhZ09wZW5XaXRoRGVmYXVsdEFwcGxpY2F0aW9uOworICAgIGNhc2UgRVdL
X0NPTlRFWFRfTUVOVV9JVEVNX1BERkFDVFVBTF9TSVpFOgorICAgICAgICByZXR1cm4ga1dLQ29u
dGV4dE1lbnVJdGVtVGFnUERGQWN0dWFsU2l6ZTsKKyAgICBjYXNlIEVXS19DT05URVhUX01FTlVf
SVRFTV9QREZaT09NX0lOOgorICAgICAgICByZXR1cm4ga1dLQ29udGV4dE1lbnVJdGVtVGFnUERG
Wm9vbUluOworICAgIGNhc2UgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1BERlpPT01fT1VUOgorICAg
ICAgICByZXR1cm4ga1dLQ29udGV4dE1lbnVJdGVtVGFnUERGWm9vbU91dDsKKyAgICBjYXNlIEVX
S19DT05URVhUX01FTlVfSVRFTV9QREZBVVRPX1NJWkU6CisgICAgICAgIHJldHVybiBrV0tDb250
ZXh0TWVudUl0ZW1UYWdQREZBdXRvU2l6ZTsKKyAgICBjYXNlIEVXS19DT05URVhUX01FTlVfSVRF
TV9QREZTSU5HTEVfUEFHRToKKyAgICAgICAgcmV0dXJuIGtXS0NvbnRleHRNZW51SXRlbVRhZ1BE
RlNpbmdsZVBhZ2U7CisgICAgY2FzZSBFV0tfQ09OVEVYVF9NRU5VX0lURU1fUERGRkFDSU5HX1BB
R0VTOgorICAgICAgICByZXR1cm4ga1dLQ29udGV4dE1lbnVJdGVtVGFnUERGRmFjaW5nUGFnZXM7
CisgICAgY2FzZSBFV0tfQ09OVEVYVF9NRU5VX0lURU1fUERGQ09OVElOVU9VUzoKKyAgICAgICAg
cmV0dXJuIGtXS0NvbnRleHRNZW51SXRlbVRhZ1BERkNvbnRpbnVvdXM7CisgICAgY2FzZSBFV0tf
Q09OVEVYVF9NRU5VX0lURU1fUERGTkVYVF9QQUdFOgorICAgICAgICByZXR1cm4ga1dLQ29udGV4
dE1lbnVJdGVtVGFnUERGTmV4dFBhZ2U7CisgICAgY2FzZSBFV0tfQ09OVEVYVF9NRU5VX0lURU1f
UERGUFJFVklPVVNfUEFHRToKKyAgICAgICAgcmV0dXJuIGtXS0NvbnRleHRNZW51SXRlbVRhZ1BE
RlByZXZpb3VzUGFnZTsKKyAgICBjYXNlIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfT1BFTl9M
SU5LOgorICAgICAgICByZXR1cm4ga1dLQ29udGV4dE1lbnVJdGVtVGFnT3Blbkxpbms7CisgICAg
Y2FzZSBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0lHTk9SRV9HUkFNTUFSOgorICAgICAgICBy
ZXR1cm4ga1dLQ29udGV4dE1lbnVJdGVtVGFnSWdub3JlR3JhbW1hcjsKKyAgICBjYXNlIEVXS19D
T05URVhUX01FTlVfSVRFTV9UQUdfU1BFTExJTkdfTUVOVToKKyAgICAgICAgcmV0dXJuIGtXS0Nv
bnRleHRNZW51SXRlbVRhZ1NwZWxsaW5nTWVudTsKKyAgICBjYXNlIEVXS19DT05URVhUX01FTlVf
SVRFTV9UQUdfU0hPV19TUEVMTElOR19QQU5FTDoKKyAgICAgICAgcmV0dXJuIGtXS0NvbnRleHRN
ZW51SXRlbVRhZ1Nob3dTcGVsbGluZ1BhbmVsOworICAgIGNhc2UgRVdLX0NPTlRFWFRfTUVOVV9J
VEVNX1RBR19DSEVDS19TUEVMTElORzoKKyAgICAgICAgcmV0dXJuIGtXS0NvbnRleHRNZW51SXRl
bVRhZ0NoZWNrU3BlbGxpbmc7CisgICAgY2FzZSBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0NI
RUNLX1NQRUxMSU5HX1dISUxFX1RZUElORzoKKyAgICAgICAgcmV0dXJuIGtXS0NvbnRleHRNZW51
SXRlbVRhZ0NoZWNrU3BlbGxpbmdXaGlsZVR5cGluZzsKKyAgICBjYXNlIEVXS19DT05URVhUX01F
TlVfSVRFTV9UQUdfQ0hFQ0tfR1JBTU1BUl9XSVRIX1NQRUxMSU5HOgorICAgICAgICByZXR1cm4g
a1dLQ29udGV4dE1lbnVJdGVtVGFnQ2hlY2tHcmFtbWFyV2l0aFNwZWxsaW5nOworICAgIGNhc2Ug
RVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19GT05UX01FTlU6CisgICAgICAgIHJldHVybiBrV0tD
b250ZXh0TWVudUl0ZW1UYWdGb250TWVudTsKKyAgICBjYXNlIEVXS19DT05URVhUX01FTlVfSVRF
TV9UQUdfU0hPV19GT05UUzoKKyAgICAgICAgcmV0dXJuIGtXS0NvbnRleHRNZW51SXRlbVRhZ1No
b3dGb250czsKKyAgICBjYXNlIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfQk9MRDoKKyAgICAg
ICAgcmV0dXJuIGtXS0NvbnRleHRNZW51SXRlbVRhZ0JvbGQ7CisgICAgY2FzZSBFV0tfQ09OVEVY
VF9NRU5VX0lURU1fVEFHX0lUQUxJQzoKKyAgICAgICAgcmV0dXJuIGtXS0NvbnRleHRNZW51SXRl
bVRhZ0l0YWxpYzsKKyAgICBjYXNlIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfVU5ERVJMSU5F
OgorICAgICAgICByZXR1cm4ga1dLQ29udGV4dE1lbnVJdGVtVGFnVW5kZXJsaW5lOworICAgIGNh
c2UgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19PVVRMSU5FOgorICAgICAgICByZXR1cm4ga1dL
Q29udGV4dE1lbnVJdGVtVGFnT3V0bGluZTsKKyAgICBjYXNlIEVXS19DT05URVhUX01FTlVfSVRF
TV9UQUdfU1RZTEVTOgorICAgICAgICByZXR1cm4ga1dLQ29udGV4dE1lbnVJdGVtVGFnU3R5bGVz
OworICAgIGNhc2UgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19TSE9XX0NPTE9SUzoKKyAgICAg
ICAgcmV0dXJuIGtXS0NvbnRleHRNZW51SXRlbVRhZ1Nob3dDb2xvcnM7CisgICAgY2FzZSBFV0tf
Q09OVEVYVF9NRU5VX0lURU1fVEFHX1NQRUVDSF9NRU5VOgorICAgICAgICByZXR1cm4ga1dLQ29u
dGV4dE1lbnVJdGVtVGFnU3BlZWNoTWVudTsKKyAgICBjYXNlIEVXS19DT05URVhUX01FTlVfSVRF
TV9UQUdfU1RBUlRfU1BFQUtJTkc6CisgICAgICAgIHJldHVybiBrV0tDb250ZXh0TWVudUl0ZW1U
YWdTdGFydFNwZWFraW5nOworICAgIGNhc2UgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19TVE9Q
X1NQRUFLSU5HOgorICAgICAgICByZXR1cm4ga1dLQ29udGV4dE1lbnVJdGVtVGFnU3RvcFNwZWFr
aW5nOworICAgIGNhc2UgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19XUklUSU5HX0RJUkVDVElP
Tl9NRU5VOgorICAgICAgICByZXR1cm4ga1dLQ29udGV4dE1lbnVJdGVtVGFnV3JpdGluZ0RpcmVj
dGlvbk1lbnU7CisgICAgY2FzZSBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0RFRkFVTFRfRElS
RUNUSU9OOgorICAgICAgICByZXR1cm4ga1dLQ29udGV4dE1lbnVJdGVtVGFnRGVmYXVsdERpcmVj
dGlvbjsKKyAgICBjYXNlIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfTEVGVF9UT19SSUdIVDoK
KyAgICAgICAgcmV0dXJuIGtXS0NvbnRleHRNZW51SXRlbVRhZ0xlZnRUb1JpZ2h0OworICAgIGNh
c2UgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19SSUdIVF9UT19MRUZUOgorICAgICAgICByZXR1
cm4ga1dLQ29udGV4dE1lbnVJdGVtVGFnUmlnaHRUb0xlZnQ7CisgICAgY2FzZSBFV0tfQ09OVEVY
VF9NRU5VX0lURU1fVEFHX1BERlNJTkdMRV9QQUdFX1NDUk9MTElORzoKKyAgICAgICAgcmV0dXJu
IGtXS0NvbnRleHRNZW51SXRlbVRhZ1BERlNpbmdsZVBhZ2VTY3JvbGxpbmc7CisgICAgY2FzZSBF
V0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1BERkZBQ0lOR19QQUdFU19TQ1JPTExJTkc6CisgICAg
ICAgIHJldHVybiBrV0tDb250ZXh0TWVudUl0ZW1UYWdQREZGYWNpbmdQYWdlc1Njcm9sbGluZzsK
KyAgICBjYXNlIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfSU5TUEVDVF9FTEVNRU5UOgorICAg
ICAgICByZXR1cm4ga1dLQ29udGV4dE1lbnVJdGVtVGFnSW5zcGVjdEVsZW1lbnQ7CisgICAgY2Fz
ZSBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1RFWFRfRElSRUNUSU9OX01FTlU6CisgICAgICAg
IHJldHVybiBrV0tDb250ZXh0TWVudUl0ZW1UYWdUZXh0RGlyZWN0aW9uTWVudTsKKyAgICBjYXNl
IEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfVEVYVF9ESVJFQ1RJT05fREVGQVVMVDoKKyAgICAg
ICAgcmV0dXJuIGtXS0NvbnRleHRNZW51SXRlbVRhZ1RleHREaXJlY3Rpb25EZWZhdWx0OworICAg
IGNhc2UgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19URVhUX0RJUkVDVElPTl9MRUZUX1RPX1JJ
R0hUOgorICAgICAgICByZXR1cm4ga1dLQ29udGV4dE1lbnVJdGVtVGFnVGV4dERpcmVjdGlvbkxl
ZnRUb1JpZ2h0OworICAgIGNhc2UgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19URVhUX0RJUkVD
VElPTl9SSUdIVF9UT19MRUZUOgorICAgICAgICByZXR1cm4ga1dLQ29udGV4dE1lbnVJdGVtVGFn
VGV4dERpcmVjdGlvblJpZ2h0VG9MZWZ0OworICAgIGNhc2UgRVdLX0NPTlRFWFRfTUVOVV9JVEVN
X09QRU5fTUVESUFfSU5fTkVXX1dJTkRPVzoKKyAgICAgICAgcmV0dXJuIGtXS0NvbnRleHRNZW51
SXRlbVRhZ09wZW5NZWRpYUluTmV3V2luZG93OworICAgIGNhc2UgRVdLX0NPTlRFWFRfTUVOVV9J
VEVNX1RBR19DT1BZX01FRElBX0xJTktfVE9fQ0xJUEJPQVJEOgorICAgICAgICByZXR1cm4ga1dL
Q29udGV4dE1lbnVJdGVtVGFnQ29weU1lZGlhTGlua1RvQ2xpcGJvYXJkOworICAgIGNhc2UgRVdL
X0NPTlRFWFRfTUVOVV9JVEVNX1RBR19UT0dHTEVfTUVESUFfQ09OVFJPTFM6CisgICAgICAgIHJl
dHVybiBrV0tDb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVNZWRpYUNvbnRyb2xzOworICAgIGNhc2Ug
RVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19UT0dHTEVfTUVESUFfTE9PUDoKKyAgICAgICAgcmV0
dXJuIGtXS0NvbnRleHRNZW51SXRlbVRhZ1RvZ2dsZU1lZGlhTG9vcDsKKyAgICBjYXNlIEVXS19D
T05URVhUX01FTlVfSVRFTV9UQUdfRU5URVJfVklERU9fRlVMTFNDUkVFTjoKKyAgICAgICAgcmV0
dXJuIGtXS0NvbnRleHRNZW51SXRlbVRhZ0VudGVyVmlkZW9GdWxsc2NyZWVuOworICAgIGNhc2Ug
RVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19NRURJQV9QTEFZX1BBVVNFOgorICAgICAgICByZXR1
cm4ga1dLQ29udGV4dE1lbnVJdGVtVGFnTWVkaWFQbGF5UGF1c2U7CisgICAgY2FzZSBFV0tfQ09O
VEVYVF9NRU5VX0lURU1fVEFHX01FRElBX01VVEU6CisgICAgICAgIHJldHVybiBrV0tDb250ZXh0
TWVudUl0ZW1UYWdNZWRpYU11dGU7CisgICAgY2FzZSBFV0tfQ09OVEVYVF9NRU5VX0lURU1fQkFT
RV9BUFBMSUNBVElPTl9UQUc6CisgICAgICAgIHJldHVybiBrV0tDb250ZXh0TWVudUl0ZW1CYXNl
QXBwbGljYXRpb25UYWc7CisgICAgZGVmYXVsdDoKKyAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0
PFdLQ29udGV4dE1lbnVJdGVtVGFnPihhY3Rpb24pOworICAgIH0KK30KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0X21lbnVfaXRlbS5jcHAg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dF9tZW51X2l0ZW0u
Y3BwCmluZGV4IDFmZjg2NTIuLmVkYjlmNDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0X21lbnVfaXRlbS5jcHAKKysrIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHRfbWVudV9pdGVtLmNwcApAQCAtMjgs
MTcgKzI4LDE5IEBACiAKICNpbmNsdWRlICJld2tfY29udGV4dF9tZW51X2l0ZW1fcHJpdmF0ZS5o
IgogI2luY2x1ZGUgImV3a19wcml2YXRlLmgiCisjaW5jbHVkZSA8V2ViS2l0Mi9XS0NvbnRleHRN
ZW51SXRlbVR5cGVzLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgogCi11c2luZyBu
YW1lc3BhY2UgV2ViQ29yZTsKIHVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CiAKLUV3a0NvbnRleHRN
ZW51SXRlbTo6RXdrQ29udGV4dE1lbnVJdGVtKGNvbnN0IFdlYkNvbnRleHRNZW51SXRlbURhdGEm
IGl0ZW0pCi0gICAgOiBtX3R5cGUoc3RhdGljX2Nhc3Q8RXdrX0NvbnRleHRfTWVudV9JdGVtX1R5
cGU+KGl0ZW0udHlwZSgpKSkKLSAgICAsIG1fYWN0aW9uKHN0YXRpY19jYXN0PEV3a19Db250ZXh0
X01lbnVfSXRlbV9BY3Rpb24+KGl0ZW0uYWN0aW9uKCkpKQotICAgICwgbV90aXRsZShpdGVtLnRp
dGxlKCkudXRmOCgpLmRhdGEoKSkKLSAgICAsIG1faXNDaGVja2VkKGl0ZW0uY2hlY2tlZCgpKQot
ICAgICwgbV9pc0VuYWJsZWQoaXRlbS5lbmFibGVkKCkpCitzdGF0aWMgRXdrX0NvbnRleHRfTWVu
dV9JdGVtX0FjdGlvbiBnZXRFd2tBY3Rpb25Gcm9tV0tUYWcoV0tDb250ZXh0TWVudUl0ZW1UYWcg
YWN0aW9uKTsKKworRXdrQ29udGV4dE1lbnVJdGVtOjpFd2tDb250ZXh0TWVudUl0ZW0oV0tDb250
ZXh0TWVudUl0ZW1SZWYgaXRlbSkKKyAgICA6IG1fdHlwZShzdGF0aWNfY2FzdDxFd2tfQ29udGV4
dF9NZW51X0l0ZW1fVHlwZT4oV0tDb250ZXh0TWVudUl0ZW1HZXRUeXBlKGl0ZW0pKSkKKyAgICAs
IG1fYWN0aW9uKGdldEV3a0FjdGlvbkZyb21XS1RhZygoV0tDb250ZXh0TWVudUl0ZW1HZXRUYWco
aXRlbSkpKSkKKyAgICAsIG1fdGl0bGUoV0tFaW5hU2hhcmVkU3RyaW5nKEFkb3B0V0ssIFdLQ29u
dGV4dE1lbnVJdGVtQ29weVRpdGxlKGl0ZW0pKSkKKyAgICAsIG1faXNDaGVja2VkKFdLQ29udGV4
dE1lbnVJdGVtR2V0Q2hlY2tlZChpdGVtKSkKKyAgICAsIG1faXNFbmFibGVkKFdLQ29udGV4dE1l
bnVJdGVtR2V0RW5hYmxlZChpdGVtKSkKICAgICAsIG1fcGFyZW50TWVudSgwKQogICAgICwgbV9z
dWJNZW51KDApCiB7CkBAIC0xNDUsODAgKzE0NywxNTQgQEAgRWluYV9Cb29sIGV3a19jb250ZXh0
X21lbnVfaXRlbV9lbmFibGVkX3NldChFd2tfQ29udGV4dF9NZW51X0l0ZW0qIGl0ZW0sIEVpbmFf
Qm8KICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShF
V0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX05PX0FDVElPTiwgV2ViQ29yZTo6Q29udGV4dE1lbnVJ
dGVtVGFnTm9BY3Rpb24pOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVY
VF9NRU5VX0lURU1fVEFHX09QRU5fTElOS19JTl9ORVdfV0lORE9XLCBXZWJDb3JlOjpDb250ZXh0
TWVudUl0ZW1UYWdPcGVuTGlua0luTmV3V2luZG93KTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5H
X0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19ET1dOTE9BRF9MSU5LX1RPX0RJU0ssIFdl
YkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ0Rvd25sb2FkTGlua1RvRGlzayk7Ci1DT01QSUxFX0FT
U0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfQ09QWV9MSU5LX1RP
X0NMSVBCT0FSRCwgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnQ29weUxpbmtUb0NsaXBib2Fy
ZCk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9U
QUdfT1BFTl9JTUFHRV9JTl9ORVdfV0lORE9XLCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdP
cGVuSW1hZ2VJbk5ld1dpbmRvdyk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19D
T05URVhUX01FTlVfSVRFTV9UQUdfRE9XTkxPQURfSU1BR0VfVE9fRElTSywgV2ViQ29yZTo6Q29u
dGV4dE1lbnVJdGVtVGFnRG93bmxvYWRJbWFnZVRvRGlzayk7Ci1DT01QSUxFX0FTU0VSVF9NQVRD
SElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfQ09QWV9JTUFHRV9UT19DTElQQk9B
UkQsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ0NvcHlJbWFnZVRvQ2xpcGJvYXJkKTsKLUNP
TVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19DT1BZ
X0lNQUdFX1VSTF9UT19DTElQQk9BUkQsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ0NvcHlJ
bWFnZVVybFRvQ2xpcGJvYXJkKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NP
TlRFWFRfTUVOVV9JVEVNX1RBR19PUEVOX0ZSQU1FX0lOX05FV19XSU5ET1csIFdlYkNvcmU6OkNv
bnRleHRNZW51SXRlbVRhZ09wZW5GcmFtZUluTmV3V2luZG93KTsKLUNPTVBJTEVfQVNTRVJUX01B
VENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19DT1BZLCBXZWJDb3JlOjpDb250
ZXh0TWVudUl0ZW1UYWdDb3B5KTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NP
TlRFWFRfTUVOVV9JVEVNX1RBR19HT19CQUNLLCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdH
b0JhY2spOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lU
RU1fVEFHX0dPX0ZPUldBUkQsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ0dvRm9yd2FyZCk7
Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdf
U1RPUCwgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnU3RvcCk7Ci1DT01QSUxFX0FTU0VSVF9N
QVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfUkVMT0FELCBXZWJDb3JlOjpD
b250ZXh0TWVudUl0ZW1UYWdSZWxvYWQpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShF
V0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0NVVCwgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFn
Q3V0KTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVN
X1RBR19QQVNURSwgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnUGFzdGUpOwotQ09NUElMRV9B
U1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1NFTEVDVF9BTEws
IFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ1NlbGVjdEFsbCk7Ci1DT01QSUxFX0FTU0VSVF9N
QVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfU1BFTExJTkdfR1VFU1MsIFdl
YkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ1NwZWxsaW5nR3Vlc3MpOwotQ09NUElMRV9BU1NFUlRf
TUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX05PX0dVRVNTRVNfRk9VTkQs
IFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ05vR3Vlc3Nlc0ZvdW5kKTsKLUNPTVBJTEVfQVNT
RVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19JR05PUkVfU1BFTExJ
TkcsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ0lnbm9yZVNwZWxsaW5nKTsKLUNPTVBJTEVf
QVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19MRUFSTl9TUEVM
TElORywgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnTGVhcm5TcGVsbGluZyk7Ci1DT01QSUxF
X0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfT1RIRVIsIFdl
YkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ090aGVyKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5H
X0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19TRUFSQ0hfSU5fU1BPVExJR0hULCBXZWJD
b3JlOjpDb250ZXh0TWVudUl0ZW1UYWdTZWFyY2hJblNwb3RsaWdodCk7Ci1DT01QSUxFX0FTU0VS
VF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfU0VBUkNIX1dFQiwgV2Vi
Q29yZTo6Q29udGV4dE1lbnVJdGVtVGFnU2VhcmNoV2ViKTsKLUNPTVBJTEVfQVNTRVJUX01BVENI
SU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19MT09LX1VQX0lOX0RJQ1RJT05BUlks
IFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ0xvb2tVcEluRGljdGlvbmFyeSk7Ci1DT01QSUxF
X0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfT1BFTl9XSVRI
X0RFRkFVTFRfQVBQTElDQVRJT04sIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ09wZW5XaXRo
RGVmYXVsdEFwcGxpY2F0aW9uKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NP
TlRFWFRfTUVOVV9JVEVNX1BERkFDVFVBTF9TSVpFLCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1Q
REZBY3R1YWxTaXplKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRf
TUVOVV9JVEVNX1BERlpPT01fSU4sIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVBERlpvb21Jbik7
Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9QREZa
T09NX09VVCwgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtUERGWm9vbU91dCk7Ci1DT01QSUxFX0FT
U0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9QREZBVVRPX1NJWkUsIFdl
YkNvcmU6OkNvbnRleHRNZW51SXRlbVBERkF1dG9TaXplKTsKLUNPTVBJTEVfQVNTRVJUX01BVENI
SU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1BERlNJTkdMRV9QQUdFLCBXZWJDb3JlOjpD
b250ZXh0TWVudUl0ZW1QREZTaW5nbGVQYWdlKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VO
VU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1BERkZBQ0lOR19QQUdFUywgV2ViQ29yZTo6Q29udGV4
dE1lbnVJdGVtUERGRmFjaW5nUGFnZXMpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShF
V0tfQ09OVEVYVF9NRU5VX0lURU1fUERGQ09OVElOVU9VUywgV2ViQ29yZTo6Q29udGV4dE1lbnVJ
dGVtUERGQ29udGludW91cyk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05U
RVhUX01FTlVfSVRFTV9QREZORVhUX1BBR0UsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVBERk5l
eHRQYWdlKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9J
VEVNX1BERlBSRVZJT1VTX1BBR0UsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVBERlByZXZpb3Vz
UGFnZSk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRF
TV9UQUdfT1BFTl9MSU5LLCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdPcGVuTGluayk7Ci1D
T01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfSUdO
T1JFX0dSQU1NQVIsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ0lnbm9yZUdyYW1tYXIpOwot
Q09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1NQ
RUxMSU5HX01FTlUsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ1NwZWxsaW5nTWVudSk7Ci1D
T01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfU0hP
V19TUEVMTElOR19QQU5FTCwgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnU2hvd1NwZWxsaW5n
UGFuZWwpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lU
RU1fVEFHX0NIRUNLX1NQRUxMSU5HLCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdDaGVja1Nw
ZWxsaW5nKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9J
VEVNX1RBR19DSEVDS19TUEVMTElOR19XSElMRV9UWVBJTkcsIFdlYkNvcmU6OkNvbnRleHRNZW51
SXRlbVRhZ0NoZWNrU3BlbGxpbmdXaGlsZVR5cGluZyk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElO
R19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfQ0hFQ0tfR1JBTU1BUl9XSVRIX1NQRUxM
SU5HLCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdDaGVja0dyYW1tYXJXaXRoU3BlbGxpbmcp
OwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFH
X0ZPTlRfTUVOVSwgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnRm9udE1lbnUpOwotQ09NUElM
RV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1NIT1dfRk9O
VFMsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ1Nob3dGb250cyk7Ci1DT01QSUxFX0FTU0VS
VF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfQk9MRCwgV2ViQ29yZTo6
Q29udGV4dE1lbnVJdGVtVGFnQm9sZCk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVX
S19DT05URVhUX01FTlVfSVRFTV9UQUdfSVRBTElDLCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1U
YWdJdGFsaWMpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5V
X0lURU1fVEFHX1VOREVSTElORSwgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnVW5kZXJsaW5l
KTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RB
R19PVVRMSU5FLCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdPdXRsaW5lKTsKLUNPTVBJTEVf
QVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19TVFlMRVMsIFdl
YkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ1N0eWxlcyk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElO
R19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfU0hPV19DT0xPUlMsIFdlYkNvcmU6OkNv
bnRleHRNZW51SXRlbVRhZ1Nob3dDb2xvcnMpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5V
TShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1NQRUVDSF9NRU5VLCBXZWJDb3JlOjpDb250ZXh0
TWVudUl0ZW1UYWdTcGVlY2hNZW51KTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdL
X0NPTlRFWFRfTUVOVV9JVEVNX1RBR19TVEFSVF9TUEVBS0lORywgV2ViQ29yZTo6Q29udGV4dE1l
bnVJdGVtVGFnU3RhcnRTcGVha2luZyk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVX
S19DT05URVhUX01FTlVfSVRFTV9UQUdfU1RPUF9TUEVBS0lORywgV2ViQ29yZTo6Q29udGV4dE1l
bnVJdGVtVGFnU3RvcFNwZWFraW5nKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdL
X0NPTlRFWFRfTUVOVV9JVEVNX1RBR19XUklUSU5HX0RJUkVDVElPTl9NRU5VLCBXZWJDb3JlOjpD
b250ZXh0TWVudUl0ZW1UYWdXcml0aW5nRGlyZWN0aW9uTWVudSk7Ci1DT01QSUxFX0FTU0VSVF9N
QVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfREVGQVVMVF9ESVJFQ1RJT04s
IFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ0RlZmF1bHREaXJlY3Rpb24pOwotQ09NUElMRV9B
U1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0xFRlRfVE9fUklH
SFQsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ0xlZnRUb1JpZ2h0KTsKLUNPTVBJTEVfQVNT
RVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19SSUdIVF9UT19MRUZU
LCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdSaWdodFRvTGVmdCk7Ci1DT01QSUxFX0FTU0VS
VF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfUERGU0lOR0xFX1BBR0Vf
U0NST0xMSU5HLCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdQREZTaW5nbGVQYWdlU2Nyb2xs
aW5nKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVN
X1RBR19QREZGQUNJTkdfUEFHRVNfU0NST0xMSU5HLCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1U
YWdQREZGYWNpbmdQYWdlc1Njcm9sbGluZyk7Ci0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLUNPTVBJ
TEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19JTlNQRUNU
X0VMRU1FTlQsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ0luc3BlY3RFbGVtZW50KTsKLSNl
bmRpZgotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1f
VEFHX1RFWFRfRElSRUNUSU9OX01FTlUsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ1RleHRE
aXJlY3Rpb25NZW51KTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRf
TUVOVV9JVEVNX1RBR19URVhUX0RJUkVDVElPTl9ERUZBVUxULCBXZWJDb3JlOjpDb250ZXh0TWVu
dUl0ZW1UYWdUZXh0RGlyZWN0aW9uRGVmYXVsdCk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19F
TlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfVEVYVF9ESVJFQ1RJT05fTEVGVF9UT19SSUdI
VCwgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnVGV4dERpcmVjdGlvbkxlZnRUb1JpZ2h0KTsK
LUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19U
RVhUX0RJUkVDVElPTl9SSUdIVF9UT19MRUZULCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdU
ZXh0RGlyZWN0aW9uUmlnaHRUb0xlZnQpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShF
V0tfQ09OVEVYVF9NRU5VX0lURU1fT1BFTl9NRURJQV9JTl9ORVdfV0lORE9XLCBXZWJDb3JlOjpD
b250ZXh0TWVudUl0ZW1UYWdPcGVuTWVkaWFJbk5ld1dpbmRvdyk7Ci1DT01QSUxFX0FTU0VSVF9N
QVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfQ09QWV9NRURJQV9MSU5LX1RP
X0NMSVBCT0FSRCwgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnQ29weU1lZGlhTGlua1RvQ2xp
cGJvYXJkKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9J
VEVNX1RBR19UT0dHTEVfTUVESUFfQ09OVFJPTFMsIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRh
Z1RvZ2dsZU1lZGlhQ29udHJvbHMpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tf
Q09OVEVYVF9NRU5VX0lURU1fVEFHX1RPR0dMRV9NRURJQV9MT09QLCBXZWJDb3JlOjpDb250ZXh0
TWVudUl0ZW1UYWdUb2dnbGVNZWRpYUxvb3ApOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5V
TShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0VOVEVSX1ZJREVPX0ZVTExTQ1JFRU4sIFdlYkNv
cmU6OkNvbnRleHRNZW51SXRlbVRhZ0VudGVyVmlkZW9GdWxsc2NyZWVuKTsKLUNPTVBJTEVfQVNT
RVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19NRURJQV9QTEFZX1BB
VVNFLCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdNZWRpYVBsYXlQYXVzZSk7Ci1DT01QSUxF
X0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfTUVESUFfTVVU
RSwgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnTWVkaWFNdXRlKTsKLUNPTVBJTEVfQVNTRVJU
X01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX0JBU0VfQ1VTVE9NX1RBRywgV2Vi
Q29yZTo6Q29udGV4dE1lbnVJdGVtQmFzZUN1c3RvbVRhZyk7Ci1DT01QSUxFX0FTU0VSVF9NQVRD
SElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9DVVNUT01fVEFHX05PX0FDVElPTiwgV2Vi
Q29yZTo6Q29udGV4dE1lbnVJdGVtQ3VzdG9tVGFnTm9BY3Rpb24pOwotQ09NUElMRV9BU1NFUlRf
TUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fTEFTVF9DVVNUT01fVEFHLCBXZWJD
b3JlOjpDb250ZXh0TWVudUl0ZW1MYXN0Q3VzdG9tVGFnKTsKLUNPTVBJTEVfQVNTRVJUX01BVENI
SU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX0JBU0VfQVBQTElDQVRJT05fVEFHLCBXZWJD
b3JlOjpDb250ZXh0TWVudUl0ZW1CYXNlQXBwbGljYXRpb25UYWcpOworc3RhdGljIEV3a19Db250
ZXh0X01lbnVfSXRlbV9BY3Rpb24gZ2V0RXdrQWN0aW9uRnJvbVdLVGFnKFdLQ29udGV4dE1lbnVJ
dGVtVGFnIGFjdGlvbikKK3sKKyAgICBzd2l0Y2ggKGFjdGlvbikgeworICAgIGNhc2Uga1dLQ29u
dGV4dE1lbnVJdGVtVGFnTm9BY3Rpb246CisgICAgICAgIHJldHVybiBFV0tfQ09OVEVYVF9NRU5V
X0lURU1fVEFHX05PX0FDVElPTjsKKyAgICBjYXNlIGtXS0NvbnRleHRNZW51SXRlbVRhZ09wZW5M
aW5rSW5OZXdXaW5kb3c6CisgICAgICAgIHJldHVybiBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFH
X09QRU5fTElOS19JTl9ORVdfV0lORE9XOworICAgIGNhc2Uga1dLQ29udGV4dE1lbnVJdGVtVGFn
RG93bmxvYWRMaW5rVG9EaXNrOgorICAgICAgICByZXR1cm4gRVdLX0NPTlRFWFRfTUVOVV9JVEVN
X1RBR19ET1dOTE9BRF9MSU5LX1RPX0RJU0s7CisgICAgY2FzZSBrV0tDb250ZXh0TWVudUl0ZW1U
YWdDb3B5TGlua1RvQ2xpcGJvYXJkOgorICAgICAgICByZXR1cm4gRVdLX0NPTlRFWFRfTUVOVV9J
VEVNX1RBR19DT1BZX0xJTktfVE9fQ0xJUEJPQVJEOworICAgIGNhc2Uga1dLQ29udGV4dE1lbnVJ
dGVtVGFnT3BlbkltYWdlSW5OZXdXaW5kb3c6CisgICAgICAgIHJldHVybiBFV0tfQ09OVEVYVF9N
RU5VX0lURU1fVEFHX09QRU5fSU1BR0VfSU5fTkVXX1dJTkRPVzsKKyAgICBjYXNlIGtXS0NvbnRl
eHRNZW51SXRlbVRhZ0Rvd25sb2FkSW1hZ2VUb0Rpc2s6CisgICAgICAgIHJldHVybiBFV0tfQ09O
VEVYVF9NRU5VX0lURU1fVEFHX0RPV05MT0FEX0lNQUdFX1RPX0RJU0s7CisgICAgY2FzZSBrV0tD
b250ZXh0TWVudUl0ZW1UYWdDb3B5SW1hZ2VUb0NsaXBib2FyZDoKKyAgICAgICAgcmV0dXJuIEVX
S19DT05URVhUX01FTlVfSVRFTV9UQUdfQ09QWV9JTUFHRV9UT19DTElQQk9BUkQ7CisgICAgY2Fz
ZSBrV0tDb250ZXh0TWVudUl0ZW1UYWdDb3B5SW1hZ2VVcmxUb0NsaXBib2FyZDoKKyAgICAgICAg
cmV0dXJuIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfQ09QWV9JTUFHRV9VUkxfVE9fQ0xJUEJP
QVJEOworICAgIGNhc2Uga1dLQ29udGV4dE1lbnVJdGVtVGFnT3BlbkZyYW1lSW5OZXdXaW5kb3c6
CisgICAgICAgIHJldHVybiBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX09QRU5fRlJBTUVfSU5f
TkVXX1dJTkRPVzsKKyAgICBjYXNlIGtXS0NvbnRleHRNZW51SXRlbVRhZ0NvcHk6CisgICAgICAg
IHJldHVybiBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0NPUFk7CisgICAgY2FzZSBrV0tDb250
ZXh0TWVudUl0ZW1UYWdHb0JhY2s6CisgICAgICAgIHJldHVybiBFV0tfQ09OVEVYVF9NRU5VX0lU
RU1fVEFHX0dPX0JBQ0s7CisgICAgY2FzZSBrV0tDb250ZXh0TWVudUl0ZW1UYWdHb0ZvcndhcmQ6
CisgICAgICAgIHJldHVybiBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0dPX0ZPUldBUkQ7Cisg
ICAgY2FzZSBrV0tDb250ZXh0TWVudUl0ZW1UYWdTdG9wOgorICAgICAgICByZXR1cm4gRVdLX0NP
TlRFWFRfTUVOVV9JVEVNX1RBR19TVE9QOworICAgIGNhc2Uga1dLQ29udGV4dE1lbnVJdGVtVGFn
UmVsb2FkOgorICAgICAgICByZXR1cm4gRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19SRUxPQUQ7
CisgICAgY2FzZSBrV0tDb250ZXh0TWVudUl0ZW1UYWdDdXQ6CisgICAgICAgIHJldHVybiBFV0tf
Q09OVEVYVF9NRU5VX0lURU1fVEFHX0NVVDsKKyAgICBjYXNlIGtXS0NvbnRleHRNZW51SXRlbVRh
Z1Bhc3RlOgorICAgICAgICByZXR1cm4gRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19QQVNURTsK
KyAgICBjYXNlIGtXS0NvbnRleHRNZW51SXRlbVRhZ1NlbGVjdEFsbDoKKyAgICAgICAgcmV0dXJu
IEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfU0VMRUNUX0FMTDsKKyAgICBjYXNlIGtXS0NvbnRl
eHRNZW51SXRlbVRhZ1NwZWxsaW5nR3Vlc3M6CisgICAgICAgIHJldHVybiBFV0tfQ09OVEVYVF9N
RU5VX0lURU1fVEFHX1NQRUxMSU5HX0dVRVNTOworICAgIGNhc2Uga1dLQ29udGV4dE1lbnVJdGVt
VGFnTm9HdWVzc2VzRm91bmQ6CisgICAgICAgIHJldHVybiBFV0tfQ09OVEVYVF9NRU5VX0lURU1f
VEFHX05PX0dVRVNTRVNfRk9VTkQ7CisgICAgY2FzZSBrV0tDb250ZXh0TWVudUl0ZW1UYWdJZ25v
cmVTcGVsbGluZzoKKyAgICAgICAgcmV0dXJuIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfSUdO
T1JFX1NQRUxMSU5HOworICAgIGNhc2Uga1dLQ29udGV4dE1lbnVJdGVtVGFnTGVhcm5TcGVsbGlu
ZzoKKyAgICAgICAgcmV0dXJuIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfTEVBUk5fU1BFTExJ
Tkc7CisgICAgY2FzZSBrV0tDb250ZXh0TWVudUl0ZW1UYWdPdGhlcjoKKyAgICAgICAgcmV0dXJu
IEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfT1RIRVI7CisgICAgY2FzZSBrV0tDb250ZXh0TWVu
dUl0ZW1UYWdTZWFyY2hJblNwb3RsaWdodDoKKyAgICAgICAgcmV0dXJuIEVXS19DT05URVhUX01F
TlVfSVRFTV9UQUdfU0VBUkNIX0lOX1NQT1RMSUdIVDsKKyAgICBjYXNlIGtXS0NvbnRleHRNZW51
SXRlbVRhZ1NlYXJjaFdlYjoKKyAgICAgICAgcmV0dXJuIEVXS19DT05URVhUX01FTlVfSVRFTV9U
QUdfU0VBUkNIX1dFQjsKKyAgICBjYXNlIGtXS0NvbnRleHRNZW51SXRlbVRhZ0xvb2tVcEluRGlj
dGlvbmFyeToKKyAgICAgICAgcmV0dXJuIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfTE9PS19V
UF9JTl9ESUNUSU9OQVJZOworICAgIGNhc2Uga1dLQ29udGV4dE1lbnVJdGVtVGFnT3BlbldpdGhE
ZWZhdWx0QXBwbGljYXRpb246CisgICAgICAgIHJldHVybiBFV0tfQ09OVEVYVF9NRU5VX0lURU1f
VEFHX09QRU5fV0lUSF9ERUZBVUxUX0FQUExJQ0FUSU9OOworICAgIGNhc2Uga1dLQ29udGV4dE1l
bnVJdGVtVGFnUERGQWN0dWFsU2l6ZToKKyAgICAgICAgcmV0dXJuIEVXS19DT05URVhUX01FTlVf
SVRFTV9QREZBQ1RVQUxfU0laRTsKKyAgICBjYXNlIGtXS0NvbnRleHRNZW51SXRlbVRhZ1BERlpv
b21JbjoKKyAgICAgICAgcmV0dXJuIEVXS19DT05URVhUX01FTlVfSVRFTV9QREZaT09NX0lOOwor
ICAgIGNhc2Uga1dLQ29udGV4dE1lbnVJdGVtVGFnUERGWm9vbU91dDoKKyAgICAgICAgcmV0dXJu
IEVXS19DT05URVhUX01FTlVfSVRFTV9QREZaT09NX09VVDsKKyAgICBjYXNlIGtXS0NvbnRleHRN
ZW51SXRlbVRhZ1BERkF1dG9TaXplOgorICAgICAgICByZXR1cm4gRVdLX0NPTlRFWFRfTUVOVV9J
VEVNX1BERkFVVE9fU0laRTsKKyAgICBjYXNlIGtXS0NvbnRleHRNZW51SXRlbVRhZ1BERlNpbmds
ZVBhZ2U6CisgICAgICAgIHJldHVybiBFV0tfQ09OVEVYVF9NRU5VX0lURU1fUERGU0lOR0xFX1BB
R0U7CisgICAgY2FzZSBrV0tDb250ZXh0TWVudUl0ZW1UYWdQREZGYWNpbmdQYWdlczoKKyAgICAg
ICAgcmV0dXJuIEVXS19DT05URVhUX01FTlVfSVRFTV9QREZGQUNJTkdfUEFHRVM7CisgICAgY2Fz
ZSBrV0tDb250ZXh0TWVudUl0ZW1UYWdQREZDb250aW51b3VzOgorICAgICAgICByZXR1cm4gRVdL
X0NPTlRFWFRfTUVOVV9JVEVNX1BERkNPTlRJTlVPVVM7CisgICAgY2FzZSBrV0tDb250ZXh0TWVu
dUl0ZW1UYWdQREZOZXh0UGFnZToKKyAgICAgICAgcmV0dXJuIEVXS19DT05URVhUX01FTlVfSVRF
TV9QREZORVhUX1BBR0U7CisgICAgY2FzZSBrV0tDb250ZXh0TWVudUl0ZW1UYWdQREZQcmV2aW91
c1BhZ2U6CisgICAgICAgIHJldHVybiBFV0tfQ09OVEVYVF9NRU5VX0lURU1fUERGUFJFVklPVVNf
UEFHRTsKKyAgICBjYXNlIGtXS0NvbnRleHRNZW51SXRlbVRhZ09wZW5MaW5rOgorICAgICAgICBy
ZXR1cm4gRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19PUEVOX0xJTks7CisgICAgY2FzZSBrV0tD
b250ZXh0TWVudUl0ZW1UYWdJZ25vcmVHcmFtbWFyOgorICAgICAgICByZXR1cm4gRVdLX0NPTlRF
WFRfTUVOVV9JVEVNX1RBR19JR05PUkVfR1JBTU1BUjsKKyAgICBjYXNlIGtXS0NvbnRleHRNZW51
SXRlbVRhZ1NwZWxsaW5nTWVudToKKyAgICAgICAgcmV0dXJuIEVXS19DT05URVhUX01FTlVfSVRF
TV9UQUdfU1BFTExJTkdfTUVOVTsKKyAgICBjYXNlIGtXS0NvbnRleHRNZW51SXRlbVRhZ1Nob3dT
cGVsbGluZ1BhbmVsOgorICAgICAgICByZXR1cm4gRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19T
SE9XX1NQRUxMSU5HX1BBTkVMOworICAgIGNhc2Uga1dLQ29udGV4dE1lbnVJdGVtVGFnQ2hlY2tT
cGVsbGluZzoKKyAgICAgICAgcmV0dXJuIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfQ0hFQ0tf
U1BFTExJTkc7CisgICAgY2FzZSBrV0tDb250ZXh0TWVudUl0ZW1UYWdDaGVja1NwZWxsaW5nV2hp
bGVUeXBpbmc6CisgICAgICAgIHJldHVybiBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0NIRUNL
X1NQRUxMSU5HX1dISUxFX1RZUElORzsKKyAgICBjYXNlIGtXS0NvbnRleHRNZW51SXRlbVRhZ0No
ZWNrR3JhbW1hcldpdGhTcGVsbGluZzoKKyAgICAgICAgcmV0dXJuIEVXS19DT05URVhUX01FTlVf
SVRFTV9UQUdfQ0hFQ0tfR1JBTU1BUl9XSVRIX1NQRUxMSU5HOworICAgIGNhc2Uga1dLQ29udGV4
dE1lbnVJdGVtVGFnRm9udE1lbnU6CisgICAgICAgIHJldHVybiBFV0tfQ09OVEVYVF9NRU5VX0lU
RU1fVEFHX0ZPTlRfTUVOVTsKKyAgICBjYXNlIGtXS0NvbnRleHRNZW51SXRlbVRhZ1Nob3dGb250
czoKKyAgICAgICAgcmV0dXJuIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfU0hPV19GT05UUzsK
KyAgICBjYXNlIGtXS0NvbnRleHRNZW51SXRlbVRhZ0JvbGQ6CisgICAgICAgIHJldHVybiBFV0tf
Q09OVEVYVF9NRU5VX0lURU1fVEFHX0JPTEQ7CisgICAgY2FzZSBrV0tDb250ZXh0TWVudUl0ZW1U
YWdJdGFsaWM6CisgICAgICAgIHJldHVybiBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0lUQUxJ
QzsKKyAgICBjYXNlIGtXS0NvbnRleHRNZW51SXRlbVRhZ1VuZGVybGluZToKKyAgICAgICAgcmV0
dXJuIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfVU5ERVJMSU5FOworICAgIGNhc2Uga1dLQ29u
dGV4dE1lbnVJdGVtVGFnT3V0bGluZToKKyAgICAgICAgcmV0dXJuIEVXS19DT05URVhUX01FTlVf
SVRFTV9UQUdfT1VUTElORTsKKyAgICBjYXNlIGtXS0NvbnRleHRNZW51SXRlbVRhZ1N0eWxlczoK
KyAgICAgICAgcmV0dXJuIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfU1RZTEVTOworICAgIGNh
c2Uga1dLQ29udGV4dE1lbnVJdGVtVGFnU2hvd0NvbG9yczoKKyAgICAgICAgcmV0dXJuIEVXS19D
T05URVhUX01FTlVfSVRFTV9UQUdfU0hPV19DT0xPUlM7CisgICAgY2FzZSBrV0tDb250ZXh0TWVu
dUl0ZW1UYWdTcGVlY2hNZW51OgorICAgICAgICByZXR1cm4gRVdLX0NPTlRFWFRfTUVOVV9JVEVN
X1RBR19TUEVFQ0hfTUVOVTsKKyAgICBjYXNlIGtXS0NvbnRleHRNZW51SXRlbVRhZ1N0YXJ0U3Bl
YWtpbmc6CisgICAgICAgIHJldHVybiBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1NUQVJUX1NQ
RUFLSU5HOworICAgIGNhc2Uga1dLQ29udGV4dE1lbnVJdGVtVGFnU3RvcFNwZWFraW5nOgorICAg
ICAgICByZXR1cm4gRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19TVE9QX1NQRUFLSU5HOworICAg
IGNhc2Uga1dLQ29udGV4dE1lbnVJdGVtVGFnV3JpdGluZ0RpcmVjdGlvbk1lbnU6CisgICAgICAg
IHJldHVybiBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1dSSVRJTkdfRElSRUNUSU9OX01FTlU7
CisgICAgY2FzZSBrV0tDb250ZXh0TWVudUl0ZW1UYWdEZWZhdWx0RGlyZWN0aW9uOgorICAgICAg
ICByZXR1cm4gRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19ERUZBVUxUX0RJUkVDVElPTjsKKyAg
ICBjYXNlIGtXS0NvbnRleHRNZW51SXRlbVRhZ0xlZnRUb1JpZ2h0OgorICAgICAgICByZXR1cm4g
RVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19MRUZUX1RPX1JJR0hUOworICAgIGNhc2Uga1dLQ29u
dGV4dE1lbnVJdGVtVGFnUmlnaHRUb0xlZnQ6CisgICAgICAgIHJldHVybiBFV0tfQ09OVEVYVF9N
RU5VX0lURU1fVEFHX1JJR0hUX1RPX0xFRlQ7CisgICAgY2FzZSBrV0tDb250ZXh0TWVudUl0ZW1U
YWdQREZTaW5nbGVQYWdlU2Nyb2xsaW5nOgorICAgICAgICByZXR1cm4gRVdLX0NPTlRFWFRfTUVO
VV9JVEVNX1RBR19QREZTSU5HTEVfUEFHRV9TQ1JPTExJTkc7CisgICAgY2FzZSBrV0tDb250ZXh0
TWVudUl0ZW1UYWdQREZGYWNpbmdQYWdlc1Njcm9sbGluZzoKKyAgICAgICAgcmV0dXJuIEVXS19D
T05URVhUX01FTlVfSVRFTV9UQUdfUERGRkFDSU5HX1BBR0VTX1NDUk9MTElORzsKKyAgICBjYXNl
IGtXS0NvbnRleHRNZW51SXRlbVRhZ0luc3BlY3RFbGVtZW50OgorICAgICAgICByZXR1cm4gRVdL
X0NPTlRFWFRfTUVOVV9JVEVNX1RBR19JTlNQRUNUX0VMRU1FTlQ7CisgICAgY2FzZSBrV0tDb250
ZXh0TWVudUl0ZW1UYWdUZXh0RGlyZWN0aW9uTWVudToKKyAgICAgICAgcmV0dXJuIEVXS19DT05U
RVhUX01FTlVfSVRFTV9UQUdfVEVYVF9ESVJFQ1RJT05fTUVOVTsKKyAgICBjYXNlIGtXS0NvbnRl
eHRNZW51SXRlbVRhZ1RleHREaXJlY3Rpb25EZWZhdWx0OgorICAgICAgICByZXR1cm4gRVdLX0NP
TlRFWFRfTUVOVV9JVEVNX1RBR19URVhUX0RJUkVDVElPTl9ERUZBVUxUOworICAgIGNhc2Uga1dL
Q29udGV4dE1lbnVJdGVtVGFnVGV4dERpcmVjdGlvbkxlZnRUb1JpZ2h0OgorICAgICAgICByZXR1
cm4gRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19URVhUX0RJUkVDVElPTl9MRUZUX1RPX1JJR0hU
OworICAgIGNhc2Uga1dLQ29udGV4dE1lbnVJdGVtVGFnVGV4dERpcmVjdGlvblJpZ2h0VG9MZWZ0
OgorICAgICAgICByZXR1cm4gRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19URVhUX0RJUkVDVElP
Tl9SSUdIVF9UT19MRUZUOworICAgIGNhc2Uga1dLQ29udGV4dE1lbnVJdGVtVGFnT3Blbk1lZGlh
SW5OZXdXaW5kb3c6CisgICAgICAgIHJldHVybiBFV0tfQ09OVEVYVF9NRU5VX0lURU1fT1BFTl9N
RURJQV9JTl9ORVdfV0lORE9XOworICAgIGNhc2Uga1dLQ29udGV4dE1lbnVJdGVtVGFnQ29weU1l
ZGlhTGlua1RvQ2xpcGJvYXJkOgorICAgICAgICByZXR1cm4gRVdLX0NPTlRFWFRfTUVOVV9JVEVN
X1RBR19DT1BZX01FRElBX0xJTktfVE9fQ0xJUEJPQVJEOworICAgIGNhc2Uga1dLQ29udGV4dE1l
bnVJdGVtVGFnVG9nZ2xlTWVkaWFDb250cm9sczoKKyAgICAgICAgcmV0dXJuIEVXS19DT05URVhU
X01FTlVfSVRFTV9UQUdfVE9HR0xFX01FRElBX0NPTlRST0xTOworICAgIGNhc2Uga1dLQ29udGV4
dE1lbnVJdGVtVGFnVG9nZ2xlTWVkaWFMb29wOgorICAgICAgICByZXR1cm4gRVdLX0NPTlRFWFRf
TUVOVV9JVEVNX1RBR19UT0dHTEVfTUVESUFfTE9PUDsKKyAgICBjYXNlIGtXS0NvbnRleHRNZW51
SXRlbVRhZ0VudGVyVmlkZW9GdWxsc2NyZWVuOgorICAgICAgICByZXR1cm4gRVdLX0NPTlRFWFRf
TUVOVV9JVEVNX1RBR19FTlRFUl9WSURFT19GVUxMU0NSRUVOOworICAgIGNhc2Uga1dLQ29udGV4
dE1lbnVJdGVtVGFnTWVkaWFQbGF5UGF1c2U6CisgICAgICAgIHJldHVybiBFV0tfQ09OVEVYVF9N
RU5VX0lURU1fVEFHX01FRElBX1BMQVlfUEFVU0U7CisgICAgY2FzZSBrV0tDb250ZXh0TWVudUl0
ZW1UYWdNZWRpYU11dGU6CisgICAgICAgIHJldHVybiBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFH
X01FRElBX01VVEU7CisgICAgY2FzZSBrV0tDb250ZXh0TWVudUl0ZW1CYXNlQXBwbGljYXRpb25U
YWc6CisgICAgICAgIHJldHVybiBFV0tfQ09OVEVYVF9NRU5VX0lURU1fQkFTRV9BUFBMSUNBVElP
Tl9UQUc7CisgICAgZGVmYXVsdDoKKyAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PEV3a19Db250
ZXh0X01lbnVfSXRlbV9BY3Rpb24+KGFjdGlvbik7CisgICAgfQorfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHRfbWVudV9pdGVtLmggYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dF9tZW51X2l0ZW0uaApp
bmRleCA5NjEyYTIxLi4xMWE5MjgyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL2VmbC9ld2tfY29udGV4dF9tZW51X2l0ZW0uaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dF9tZW51X2l0ZW0uaApAQCAtNDEsNyArNDEsNyBA
QCBleHRlcm4gIkMiIHsKIC8qKgogICogXGVudW0gICAgRXdrX0NvbnRleHRfTWVudV9JdGVtX1R5
cGUKICAqIEBicmllZiAgIERlZmluZXMgdGhlIHR5cGVzIG9mIHRoZSBpdGVtcyBmb3IgdGhlIGNv
bnRleHQgbWVudS4KLSAqIEBpbmZvICAgIEtlZXAgdGhpcyBpbiBzeW5jIHdpdGggQ29udGV4dE1l
bnVJdGVtLmgKKyAqIEBpbmZvICAgIEtlZXAgdGhpcyBpbiBzeW5jIHdpdGggV0tDb250ZXh0TWVu
dUl0ZW1UeXBlcy5oCiAgKi8KIHR5cGVkZWYgZW51bSB7CiAgICAgRVdLX0FDVElPTl9UWVBFLApA
QCAtNTMsNyArNTMsNiBAQCB0eXBlZGVmIGVudW0gewogLyoqCiAgKiBcZW51bSAgICBFd2tfQ29u
dGV4dF9NZW51X0FjdGlvbgogICogQGJyaWVmICAgUHJvdmlkZXMgdGhlIGFjdGlvbnMgb2YgaXRl
bXMgZm9yIHRoZSBjb250ZXh0IG1lbnUuCi0gKiBAaW5mbyAgICBLZWVwIHRoaXMgaW4gc3luYyB3
aXRoIENvbnRleHRNZW51SXRlbS5oCiAgKi8KIHR5cGVkZWYgZW51bSB7CiAgICAgRVdLX0NPTlRF
WFRfTUVOVV9JVEVNX1RBR19OT19BQ1RJT04sCkBAIC0xMjcsOSArMTI2LDYgQEAgdHlwZWRlZiBl
bnVtIHsKICAgICBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0VOVEVSX1ZJREVPX0ZVTExTQ1JF
RU4sCiAgICAgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19NRURJQV9QTEFZX1BBVVNFLAogICAg
IEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfTUVESUFfTVVURSwKLSAgICBFV0tfQ09OVEVYVF9N
RU5VX0lURU1fQkFTRV9DVVNUT01fVEFHID0gNTAwMCwKLSAgICBFV0tfQ09OVEVYVF9NRU5VX0lU
RU1fQ1VTVE9NX1RBR19OT19BQ1RJT04gPSA1OTk4LAotICAgIEVXS19DT05URVhUX01FTlVfSVRF
TV9MQVNUX0NVU1RPTV9UQUcgPSA1OTk5LAogICAgIEVXS19DT05URVhUX01FTlVfSVRFTV9CQVNF
X0FQUExJQ0FUSU9OX1RBRyA9IDEwMDAwCiB9IEV3a19Db250ZXh0X01lbnVfSXRlbV9BY3Rpb247
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250
ZXh0X21lbnVfaXRlbV9wcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2Vm
bC9ld2tfY29udGV4dF9tZW51X2l0ZW1fcHJpdmF0ZS5oCmluZGV4IDYyZjI3OTAuLjlmNzc4M2Ig
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0
X21lbnVfaXRlbV9wcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9l
ZmwvZXdrX2NvbnRleHRfbWVudV9pdGVtX3ByaXZhdGUuaApAQCAtMjYsOCArMjYsOCBAQAogI2lm
bmRlZiBld2tfY29udGV4dF9tZW51X2l0ZW1fcHJpdmF0ZV9oCiAjZGVmaW5lIGV3a19jb250ZXh0
X21lbnVfaXRlbV9wcml2YXRlX2gKIAorI2luY2x1ZGUgIldLQ29udGV4dE1lbnVJdGVtLmgiCiAj
aW5jbHVkZSAiV0tFaW5hU2hhcmVkU3RyaW5nLmgiCi0jaW5jbHVkZSAiV2ViQ29udGV4dE1lbnVJ
dGVtRGF0YS5oIgogI2luY2x1ZGUgImV3a19jb250ZXh0X21lbnUuaCIKICNpbmNsdWRlICJld2tf
Y29udGV4dF9tZW51X2l0ZW0uaCIKICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgpAQCAtMzgs
NyArMzgsNyBAQAogICovCiBjbGFzcyBFd2tDb250ZXh0TWVudUl0ZW0gewogcHVibGljOgotICAg
IHN0YXRpYyBQYXNzT3duUHRyPEV3a0NvbnRleHRNZW51SXRlbT4gY3JlYXRlKGNvbnN0IFdlYktp
dDo6V2ViQ29udGV4dE1lbnVJdGVtRGF0YSYgaXRlbSkKKyAgICBzdGF0aWMgUGFzc093blB0cjxF
d2tDb250ZXh0TWVudUl0ZW0+IGNyZWF0ZShXS0NvbnRleHRNZW51SXRlbVJlZiBpdGVtKQogICAg
IHsKICAgICAgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBFd2tDb250ZXh0TWVudUl0ZW0oaXRlbSkp
OwogICAgIH0KQEAgLTY0LDcgKzY0LDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0RW5hYmxlZChi
b29sIGVuYWJsZWQpIHsgbV9pc0VuYWJsZWQgPSBlbmFibGVkOyB9CiAKIHByaXZhdGU6Ci0gICAg
ZXhwbGljaXQgRXdrQ29udGV4dE1lbnVJdGVtKGNvbnN0IFdlYktpdDo6V2ViQ29udGV4dE1lbnVJ
dGVtRGF0YSYpOworICAgIGV4cGxpY2l0IEV3a0NvbnRleHRNZW51SXRlbShXS0NvbnRleHRNZW51
SXRlbVJlZik7CiAgICAgRXdrQ29udGV4dE1lbnVJdGVtKEV3a19Db250ZXh0X01lbnVfSXRlbV9U
eXBlIHR5cGUsIEV3a19Db250ZXh0X01lbnVfSXRlbV9BY3Rpb24gYWN0aW9uLCBjb25zdCBjaGFy
KiB0aXRsZSwgRWluYV9Cb29sIGNoZWNrZWQsIEVpbmFfQm9vbCBlbmFibGVkLCBFd2tDb250ZXh0
TWVudSogc3ViTWVudSk7CiAKICAgICBFd2tfQ29udGV4dF9NZW51X0l0ZW1fVHlwZSBtX3R5cGU7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4
dF9tZW51X3ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19j
b250ZXh0X21lbnVfcHJpdmF0ZS5oCmluZGV4IGI5ZTExM2QuLmE2Y2VhMmQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0X21lbnVfcHJpdmF0
ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0X21l
bnVfcHJpdmF0ZS5oCkBAIC0yNiwyNCArMjYsMTcgQEAKICNpZm5kZWYgZXdrX2NvbnRleHRfbWVu
dV9wcml2YXRlX2gKICNkZWZpbmUgZXdrX2NvbnRleHRfbWVudV9wcml2YXRlX2gKIAotI2luY2x1
ZGUgIldlYkNvbnRleHRNZW51SXRlbURhdGEuaCIKICNpbmNsdWRlICJld2tfY29udGV4dF9tZW51
X2l0ZW0uaCIKICNpbmNsdWRlIDxFaW5hLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4K
LSNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+Ci0KLW5hbWVzcGFjZSBXZWJLaXQgewotY2xhc3MgV2Vi
Q29udGV4dE1lbnVJdGVtRGF0YTsKLWNsYXNzIFdlYkNvbnRleHRNZW51UHJveHlFZmw7Ci19CiAK
IGNsYXNzIEV3a1ZpZXc7CiAKIGNsYXNzIEV3a0NvbnRleHRNZW51IHsKIHB1YmxpYzoKLSAgICBz
dGF0aWMgUGFzc093blB0cjxFd2tDb250ZXh0TWVudT4gY3JlYXRlKEV3a1ZpZXcqIHZpZXdJbXBs
LCBXZWJLaXQ6OldlYkNvbnRleHRNZW51UHJveHlFZmwqIGNvbnRleHRNZW51UHJveHksIGNvbnN0
IFZlY3RvcjxXZWJLaXQ6OldlYkNvbnRleHRNZW51SXRlbURhdGE+JiBpdGVtcykKKyAgICBzdGF0
aWMgUGFzc093blB0cjxFd2tDb250ZXh0TWVudT4gY3JlYXRlKEV3a1ZpZXcqIHZpZXdJbXBsLCBX
S0FycmF5UmVmIGl0ZW1zKQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBFd2tD
b250ZXh0TWVudSh2aWV3SW1wbCwgY29udGV4dE1lbnVQcm94eSwgaXRlbXMpKTsKKyAgICAgICAg
cmV0dXJuIGFkb3B0UHRyKG5ldyBFd2tDb250ZXh0TWVudSh2aWV3SW1wbCwgaXRlbXMpKTsKICAg
ICB9CiAKICAgICBzdGF0aWMgUGFzc093blB0cjxFd2tDb250ZXh0TWVudT4gY3JlYXRlKCkKQEAg
LTYzLDE1ICs1NiwxNCBAQCBwdWJsaWM6CiAgICAgdm9pZCByZW1vdmVJdGVtKEV3a0NvbnRleHRN
ZW51SXRlbSopOwogCiAgICAgY29uc3QgRWluYV9MaXN0KiBpdGVtcygpIGNvbnN0IHsgcmV0dXJu
IG1fY29udGV4dE1lbnVJdGVtczsgfQotICAgIHZvaWQgY29udGV4dE1lbnVJdGVtU2VsZWN0ZWQo
Y29uc3QgV2ViS2l0OjpXZWJDb250ZXh0TWVudUl0ZW1EYXRhJiBpdGVtKTsKKyAgICB2b2lkIGNv
bnRleHRNZW51SXRlbVNlbGVjdGVkKFdLQ29udGV4dE1lbnVJdGVtUmVmIGl0ZW0pOwogCiBwcml2
YXRlOgogICAgIEV3a0NvbnRleHRNZW51KCk7CiAgICAgRXdrQ29udGV4dE1lbnUoRWluYV9MaXN0
KiBpdGVtcyk7Ci0gICAgRXdrQ29udGV4dE1lbnUoRXdrVmlldyogdmlld0ltcGwsIFdlYktpdDo6
V2ViQ29udGV4dE1lbnVQcm94eUVmbCosIGNvbnN0IFZlY3RvcjxXZWJLaXQ6OldlYkNvbnRleHRN
ZW51SXRlbURhdGE+JiBpdGVtcyk7CisgICAgRXdrQ29udGV4dE1lbnUoRXdrVmlldyogdmlld0lt
cGwsIFdLQXJyYXlSZWYgaXRlbXMpOwogCiAgICAgRXdrVmlldyogbV92aWV3SW1wbDsKLSAgICBX
ZWJLaXQ6OldlYkNvbnRleHRNZW51UHJveHlFZmwqIG1fY29udGV4dE1lbnVQcm94eTsKICAgICBF
aW5hX0xpc3QqIG1fY29udGV4dE1lbnVJdGVtczsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9lZmwvQ29udGV4dE1lbnVDbGllbnRFZmwuY3BwIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL2VmbC9Db250ZXh0TWVudUNsaWVudEVmbC5jcHAKaW5kZXggY2M1M2Fj
Yy4uYWM0ZmRjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9Db250
ZXh0TWVudUNsaWVudEVmbC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9D
b250ZXh0TWVudUNsaWVudEVmbC5jcHAKQEAgLTI3LDExICsyNyw4IEBACiAjaW5jbHVkZSAiQ29u
dGV4dE1lbnVDbGllbnRFZmwuaCIKIAogI2luY2x1ZGUgIkV3a1ZpZXcuaCIKLSNpbmNsdWRlICJO
b3RJbXBsZW1lbnRlZC5oIgogI2luY2x1ZGUgIldLQXJyYXkuaCIKICNpbmNsdWRlICJXS1BhZ2Uu
aCIKLSNpbmNsdWRlICJXZWJDb250ZXh0TWVudUl0ZW0uaCIgICAKLSNpbmNsdWRlIDxFdmFzLmg+
CiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CiAKQEAgLTQwLDYgKzM3LDE2IEBAIHN0YXRpYyBp
bmxpbmUgQ29udGV4dE1lbnVDbGllbnRFZmwqIHRvQ29udGV4dENsaWVudEVmbChjb25zdCB2b2lk
KiBjbGllbnRJbmZvKQogICAgIHJldHVybiBzdGF0aWNfY2FzdDxDb250ZXh0TWVudUNsaWVudEVm
bCo+KGNvbnN0X2Nhc3Q8dm9pZCo+KGNsaWVudEluZm8pKTsKIH0KIAorc3RhdGljIHZvaWQgc2hv
d0NvbnRleHRNZW51KFdLUGFnZVJlZiwgV0tQb2ludCBtZW51TG9jYXRpb24sIFdLQXJyYXlSZWYg
bWVudUl0ZW1zLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKQoreworICAgIHRvQ29udGV4dENsaWVu
dEVmbChjbGllbnRJbmZvKS0+dmlldygpLT5zaG93Q29udGV4dE1lbnUobWVudUxvY2F0aW9uLCBt
ZW51SXRlbXMpOworfQorCitzdGF0aWMgdm9pZCBoaWRlQ29udGV4dE1lbnUoV0tQYWdlUmVmLCBj
b25zdCB2b2lkKiBjbGllbnRJbmZvKQoreworICAgIHRvQ29udGV4dENsaWVudEVmbChjbGllbnRJ
bmZvKS0+dmlldygpLT5oaWRlQ29udGV4dE1lbnUoKTsKK30KKwogQ29udGV4dE1lbnVDbGllbnRF
Zmw6OkNvbnRleHRNZW51Q2xpZW50RWZsKEV3a1ZpZXcqIHZpZXcpCiAgICAgOiBtX3ZpZXcodmll
dykKIHsKQEAgLTU0LDEzICs2MSw5IEBAIENvbnRleHRNZW51Q2xpZW50RWZsOjpDb250ZXh0TWVu
dUNsaWVudEVmbChFd2tWaWV3KiB2aWV3KQogICAgIGNvbnRleHRNZW51Q2xpZW50LmN1c3RvbUNv
bnRleHRNZW51SXRlbVNlbGVjdGVkID0gMDsKICAgICBjb250ZXh0TWVudUNsaWVudC5jb250ZXh0
TWVudURpc21pc3NlZCA9IDA7CiAgICAgY29udGV4dE1lbnVDbGllbnQuZ2V0Q29udGV4dE1lbnVG
cm9tUHJvcG9zZWRNZW51ID0gMDsKLSAgICBjb250ZXh0TWVudUNsaWVudC5zaG93Q29udGV4dE1l
bnUgPSAwOwotICAgIGNvbnRleHRNZW51Q2xpZW50LmhpZGVDb250ZXh0TWVudSA9IDA7CisgICAg
Y29udGV4dE1lbnVDbGllbnQuc2hvd0NvbnRleHRNZW51ID0gc2hvd0NvbnRleHRNZW51OworICAg
IGNvbnRleHRNZW51Q2xpZW50LmhpZGVDb250ZXh0TWVudSA9IGhpZGVDb250ZXh0TWVudTsKIAog
ICAgIFdLUGFnZVNldFBhZ2VDb250ZXh0TWVudUNsaWVudChwYWdlUmVmLCAmY29udGV4dE1lbnVD
bGllbnQpOwogfQogCi12b2lkIENvbnRleHRNZW51Q2xpZW50RWZsOjpnZXRDb250ZXh0TWVudUZy
b21Qcm9wb3NlZE1lbnUoV0tQYWdlUmVmLCBXS0FycmF5UmVmLCBXS0FycmF5UmVmKiwgV0tIaXRU
ZXN0UmVzdWx0UmVmLCBXS1R5cGVSZWYsIGNvbnN0IHZvaWQqKQotewotICAgIG5vdEltcGxlbWVu
dGVkKCk7Ci19CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL0NvbnRl
eHRNZW51Q2xpZW50RWZsLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL0NvbnRleHRN
ZW51Q2xpZW50RWZsLmgKaW5kZXggYjIxMmU5ZS4uZjAzNmIzZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL2VmbC9Db250ZXh0TWVudUNsaWVudEVmbC5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvQ29udGV4dE1lbnVDbGllbnRFZmwuaApAQCAtMjYsMTIg
KzI2LDcgQEAKICNpZm5kZWYgQ29udGV4dE1lbnVDbGllbnRFZmxfaAogI2RlZmluZSBDb250ZXh0
TWVudUNsaWVudEVmbF9oCiAKLSNpbmNsdWRlICJXS1JldGFpblB0ci5oIgotI2luY2x1ZGUgImV3
a19jb250ZXh0LmgiCi0jaW5jbHVkZSA8V2ViS2l0Mi9XS0Jhc2UuaD4KLSNpbmNsdWRlIDx3dGYv
SGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+Ci0jaW5jbHVkZSA8d3RmL3Rl
eHQvV1RGU3RyaW5nLmg+CiAKIGNsYXNzIEV3a1ZpZXc7CiAKQEAgLTQ0LDcgKzM5LDcgQEAgcHVi
bGljOgogICAgICAgICByZXR1cm4gYWRvcHRQdHIobmV3IENvbnRleHRNZW51Q2xpZW50RWZsKHZp
ZXdJbXBsKSk7CiAgICAgfQogCi0gICAgc3RhdGljIHZvaWQgZ2V0Q29udGV4dE1lbnVGcm9tUHJv
cG9zZWRNZW51KFdLUGFnZVJlZiwgV0tBcnJheVJlZiBwcm9wb3NlZE1lbnUsIFdLQXJyYXlSZWYq
IG5ld01lbnUsIFdLSGl0VGVzdFJlc3VsdFJlZiwgV0tUeXBlUmVmIHVzZXJEYXRhLCBjb25zdCB2
b2lkKiBjbGllbnRJbmZvKTsKKyAgICBFd2tWaWV3KiB2aWV3KCkgeyByZXR1cm4gbV92aWV3OyB9
CiAKIHByaXZhdGU6CiAgICAgZXhwbGljaXQgQ29udGV4dE1lbnVDbGllbnRFZmwoRXdrVmlldyop
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9XZWJDb250ZXh0TWVu
dVByb3h5RWZsLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvV2ViQ29udGV4dE1l
bnVQcm94eUVmbC5jcHAKaW5kZXggNjhlNzViNC4uODMwZDkxOSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL2VmbC9XZWJDb250ZXh0TWVudVByb3h5RWZsLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1dlYkNvbnRleHRNZW51UHJveHlFZmwuY3BwCkBA
IC0zMSw3ICszMSw3IEBACiAjaW5jbHVkZSAiRXdrVmlldy5oIgogI2luY2x1ZGUgIldlYkNvbnRl
eHRNZW51SXRlbURhdGEuaCIKICNpbmNsdWRlICJXZWJQYWdlUHJveHkuaCIKLSNpbmNsdWRlIDx3
dGYvdGV4dC9DU3RyaW5nLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9Ob3RJbXBsZW1lbnRlZC5oPgog
CiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIApAQCAtNDcsMTkgKzQ3LDE0IEBAIFdlYkNvbnRl
eHRNZW51UHJveHlFZmw6On5XZWJDb250ZXh0TWVudVByb3h5RWZsKCkKIHsKIH0KIAotdm9pZCBX
ZWJDb250ZXh0TWVudVByb3h5RWZsOjpzaG93Q29udGV4dE1lbnUoY29uc3QgV2ViQ29yZTo6SW50
UG9pbnQmIHBvc2l0aW9uLCBjb25zdCBWZWN0b3I8V2ViQ29udGV4dE1lbnVJdGVtRGF0YT4mIGl0
ZW1zKQordm9pZCBXZWJDb250ZXh0TWVudVByb3h5RWZsOjpzaG93Q29udGV4dE1lbnUoY29uc3Qg
V2ViQ29yZTo6SW50UG9pbnQmLCBjb25zdCBWZWN0b3I8V2ViQ29udGV4dE1lbnVJdGVtRGF0YT4m
KQogewotICAgIG1fdmlldy0+c2hvd0NvbnRleHRNZW51KHRoaXMsIHBvc2l0aW9uLCBpdGVtcyk7
CisgICAgbm90SW1wbGVtZW50ZWQoKTsKIH0KIAogdm9pZCBXZWJDb250ZXh0TWVudVByb3h5RWZs
OjpoaWRlQ29udGV4dE1lbnUoKQogewotICAgIG1fdmlldy0+aGlkZUNvbnRleHRNZW51KCk7Ci19
Ci0KLXZvaWQgV2ViQ29udGV4dE1lbnVQcm94eUVmbDo6Y29udGV4dE1lbnVJdGVtU2VsZWN0ZWQo
Y29uc3QgV2ViQ29udGV4dE1lbnVJdGVtRGF0YSYgaXRlbSkKLXsKLSAgICBtX3BhZ2UtPmNvbnRl
eHRNZW51SXRlbVNlbGVjdGVkKGl0ZW0pOworICAgIG5vdEltcGxlbWVudGVkKCk7CiB9CiAKIH0g
Ly8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L2VmbC9XZWJDb250ZXh0TWVudVByb3h5RWZsLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
ZWZsL1dlYkNvbnRleHRNZW51UHJveHlFZmwuaAppbmRleCBlYTQyYWYxLi5iNzRhNTRmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1dlYkNvbnRleHRNZW51UHJveHlF
ZmwuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1dlYkNvbnRleHRNZW51UHJv
eHlFZmwuaApAQCAtNTEsOCArNTEsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCBzaG93Q29udGV4dE1l
bnUoY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmLCBjb25zdCBWZWN0b3I8V2ViQ29udGV4dE1lbnVJ
dGVtRGF0YT4mKTsKICAgICB2b2lkIGhpZGVDb250ZXh0TWVudSgpOwogCi0gICAgdm9pZCBjb250
ZXh0TWVudUl0ZW1TZWxlY3RlZChjb25zdCBXZWJDb250ZXh0TWVudUl0ZW1EYXRhJik7Ci0KIHBy
aXZhdGU6CiAgICAgV2ViQ29udGV4dE1lbnVQcm94eUVmbChFd2tWaWV3KiwgV2ViUGFnZVByb3h5
Kik7CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>