<?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>183197</bug_id>
          
          <creation_ts>2018-02-27 22:34:36 -0800</creation_ts>
          <short_desc>Another crash in SecurityOrigin::shouldTreatAsPotentiallyTrustworthy</short_desc>
          <delta_ts>2018-04-10 18:17:23 -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>WebKitGTK</component>
          <version>Other</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=183066</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=184024</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=184468</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Cédric Bellegarde">cedric.bellegarde</reporter>
          <assigned_to name="Michael Catanzaro">mcatanzaro</assigned_to>
          <cc>bugs-noreply</cc>
    
    <cc>cdumez</cc>
    
    <cc>cgarcia</cc>
    
    <cc>cturner</cc>
    
    <cc>dbates</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>mkwst</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1402530</commentid>
    <comment_count>0</comment_count>
      <attachid>334729</attachid>
    <who name="Cédric Bellegarde">cedric.bellegarde</who>
    <bug_when>2018-02-27 22:34:36 -0800</bug_when>
    <thetext>Created attachment 334729
Backtrace

Backtrace as attachment. Happened while browsing webkitgtk.org!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1402531</commentid>
    <comment_count>1</comment_count>
    <who name="Cédric Bellegarde">cedric.bellegarde</who>
    <bug_when>2018-02-27 22:35:19 -0800</bug_when>
    <thetext>Version: 2.19.91</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1404019</commentid>
    <comment_count>2</comment_count>
    <who name="Cédric Bellegarde">cedric.bellegarde</who>
    <bug_when>2018-03-06 09:16:48 -0800</bug_when>
    <thetext>WebKitGTK is crashing 3 or 4 times a day due to this one.

Not happening on another computer with 2.18.6.

So seems related to current beta.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1404075</commentid>
    <comment_count>3</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2018-03-06 11:20:00 -0800</bug_when>
    <thetext>I see you&apos;re building WebKit manually. Since it&apos;s happening a lot, any chance you could try to catching this one in a debug build? Having a backtrace without optimization might help here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1404278</commentid>
    <comment_count>4</comment_count>
    <who name="Cédric Bellegarde">cedric.bellegarde</who>
    <bug_when>2018-03-06 23:48:48 -0800</bug_when>
    <thetext>What to I need to pass to cmake?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1404279</commentid>
    <comment_count>5</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2018-03-06 23:53:38 -0800</bug_when>
    <thetext>This might be fixed by r228972, which was merged in 2.19.92, could you try with the new release, please?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1404282</commentid>
    <comment_count>6</comment_count>
    <who name="Cédric Bellegarde">cedric.bellegarde</who>
    <bug_when>2018-03-07 00:06:29 -0800</bug_when>
    <thetext>Ok, build launched ;)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1404373</commentid>
    <comment_count>7</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2018-03-07 09:42:44 -0800</bug_when>
    <thetext>(In reply to Cédric Bellegarde from comment #4)
&gt; What to I need to pass to cmake?

For future reference: -DCMAKE_BUILD_TYPE=Debug</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1405148</commentid>
    <comment_count>8</comment_count>
    <who name="Cédric Bellegarde">cedric.bellegarde</who>
    <bug_when>2018-03-09 04:46:07 -0800</bug_when>
    <thetext>Does not happen with 2.19.92</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1406090</commentid>
    <comment_count>9</comment_count>
    <who name="Cédric Bellegarde">cedric.bellegarde</who>
    <bug_when>2018-03-13 03:39:55 -0700</bug_when>
    <thetext>Just happened with 2.20.

Will build in debug mode and post backtrace here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1406728</commentid>
    <comment_count>10</comment_count>
    <who name="Cédric Bellegarde">cedric.bellegarde</who>
    <bug_when>2018-03-15 11:24:09 -0700</bug_when>
    <thetext>Just happened on Fedora, building a package in Debug mode now:
https://copr.fedorainfracloud.org/coprs/gnumdk/gnumdk/build/728357/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1406743</commentid>
    <comment_count>11</comment_count>
    <who name="Cédric Bellegarde">cedric.bellegarde</who>
    <bug_when>2018-03-15 11:43:26 -0700</bug_when>
    <thetext>Seems Copr is unable to build webkitgtk in Debug mode, any idea?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1406891</commentid>
    <comment_count>12</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2018-03-15 17:33:55 -0700</bug_when>
    <thetext>(In reply to Cédric Bellegarde from comment #11)
&gt; Seems Copr is unable to build webkitgtk in Debug mode, any idea?

It&apos;s a GCC crash, so I would report it to the GCC developers. Maybe try using Fedora 27 which has GCC 7 instead of GCC 8, or building it yourself.

I&apos;m surprised we haven&apos;t gotten other reports of this, but I guess they&apos;ll start coming in soon enough....</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1406893</commentid>
    <comment_count>13</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2018-03-15 17:41:23 -0700</bug_when>
    <thetext>(In reply to Carlos Garcia Campos from comment #5)
&gt; This might be fixed by r228972, which was merged in 2.19.92, could you try
&gt; with the new release, please?

I just independently rediscovered this... Cedric, an updated backtrace, even with optimization, would be useful. The issue in the backtrace you posted first should, in theory, be fixed by Chris in r228972, which was not present in 2.19.91. I assume a newer backtrace will be slightly different.

CC Chris since he worked on this last.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1406951</commentid>
    <comment_count>14</comment_count>
      <attachid>335925</attachid>
    <who name="Cédric Bellegarde">cedric.bellegarde</who>
    <bug_when>2018-03-16 02:46:47 -0700</bug_when>
    <thetext>Created attachment 335925
New backtrace

Fedora 28 with WebKitGTK 2.20</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1406955</commentid>
    <comment_count>15</comment_count>
    <who name="Cédric Bellegarde">cedric.bellegarde</who>
    <bug_when>2018-03-16 03:05:11 -0700</bug_when>
    <thetext>Ok, previous backtrace was not useful. Finnaly get 2.20 symbols but gdb segfaults and fails to log to file, here what I get:

Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x00007fa2081e1d14 in WTF::equalIgnoringASCIICaseCommon&lt;WTF::StringImpl, WTF::StringImpl&gt; (a=..., b=...)
    at /usr/src/debug/webkit2gtk3-2.20.0-2.fc28.x86_64/x86_64-redhat-linux-gnu/DerivedSources/ForwardingHeaders/wtf/text/StringCommon.h:360
360	bool equalIgnoringASCIICaseCommon(const StringClassA&amp; a, const StringClassB&amp; b)
[Current thread is 1 (Thread 0x7fa225211540 (LWP 11417))]
Missing separate debuginfos, use: dnf debuginfo-install python3-3.6.4-17.fc28.x86_64
(gdb) set logging file plop.txt
(gdb) set logging on
Copying output to plop.txt.
(gdb) bt full
#0  0x00007fa2081e1d14 in WTF::equalIgnoringASCIICaseCommon&lt;WTF::StringImpl, WTF::StringImpl&gt;(WTF::StringImpl const&amp;, WTF::StringImpl const&amp;) (a=..., b=...)
    at /usr/src/debug/webkit2gtk3-2.20.0-2.fc28.x86_64/x86_64-redhat-linux-gnu/DerivedSources/ForwardingHeaders/wtf/text/StringCommon.h:360
        length = &lt;optimized out&gt;
#1  0x00007fa209169044 in WTF::equalIgnoringASCIICase(WTF::StringImpl const&amp;, WTF::StringImpl const&amp;) (b=..., a=...)
    at /usr/src/debug/webkit2gtk3-2.20.0-2.fc28.x86_64/x86_64-redhat-linux-gnu/DerivedSources/ForwardingHeaders/wtf/text/StringImpl.h:1187
        entry = 0x7fa1fd5e00a8
        k = 0
        i = 5
        sizeMask = 7
        table = 0x7fa1fd5e0080
        h = 370
#2  0x00007fa209169044 in WTF::ASCIICaseInsensitiveHash::equal(WTF::StringImpl const&amp;, WTF::StringImpl const&amp;) (b=..., a=...)
    at /usr/src/debug/webkit2gtk3-2.20.0-2.fc28.x86_64/x86_64-redhat-linux-gnu/DerivedSources/ForwardingHeaders/wtf/text/StringHash.h:120
        entry = 0x7fa1fd5e00a8
        k = 0
        i = 5
        sizeMask = 7
        table = 0x7fa1fd5e0080
        h = 370
#3  0x00007fa209169044 in WTF::ASCIICaseInsensitiveHash::equal(WTF::StringImpl const*, WTF::StringImpl const*) (b=0x7f8c004bb0e0, a=0x1)
    at /usr/src/debug/webkit2gtk3-2.20.0-2.fc28.x86_64/x86_64-redhat-linux-gnu/DerivedSources/ForwardingHeaders/wtf/text/StringHash.h:126
        entry = 0x7fa1fd5e00a8
        k = 0
        i = 5
        sizeMask = 7
        table = 0x7fa1fd5e0080
        h = 370
#4  0x00007fa209169044 in WTF::ASCIICaseInsensitiveHash::equal(WTF::String const&amp;, WTF::String const&amp;) (b=..., a=...)
---Type &lt;return&gt; to continue, or q &lt;return&gt; to quit---
    at /usr/src/debug/webkit2gtk3-2.20.0-2.fc28.x86_64/x86_64-redhat-linux-gnu/DerivedSources/ForwardingHeaders/wtf/text/StringHash.h:149
        entry = 0x7fa1fd5e00a8
        k = 0
        i = 5
        sizeMask = 7
        table = 0x7fa1fd5e0080
        h = 370
#5  0x00007fa209169044 in WTF::IdentityHashTranslator&lt;WTF::HashTraits&lt;WTF::String&gt;, WTF::ASCIICaseInsensitiveHash&gt;::equal&lt;WTF::String, WTF::String&gt;(WTF::String const&amp;, WTF::String const&amp;) (b=..., a=...)
    at /usr/src/debug/webkit2gtk3-2.20.0-2.fc28.x86_64/x86_64-redhat-linux-gnu/DerivedSources/ForwardingHeaders/wtf/HashTable.h:284
        entry = 0x7fa1fd5e00a8
        k = 0
        i = 5
        sizeMask = 7
        table = 0x7fa1fd5e0080
        h = 370
#6  0x00007fa209169044 in WTF::HashTable&lt;WTF::String, WTF::String, WTF::IdentityExtractor, WTF::ASCIICaseInsensitiveHash, WTF::HashTraits&lt;WTF::String&gt;, WTF::HashTraits&lt;WTF::String&gt; &gt;::inlineLookup&lt;WTF::IdentityHashTranslator&lt;WTF::HashTraits&lt;WTF::String&gt;, WTF::ASCIICaseInsensitiveHash&gt;, WTF::String&gt;(WTF::String const&amp;) (key=..., this=&lt;optimized out&gt;)
    at /usr/src/debug/webkit2gtk3-2.20.0-2.fc28.x86_64/x86_64-redhat-linux-gnu/DerivedSources/ForwardingHeaders/wtf/HashTable.h:642
        entry = 0x7fa1fd5e00a8
        k = 0
        i = 5
        sizeMask = 7
        table = 0x7fa1fd5e0080
        h = 370
#7  0x00007fa209169044 in WTF::HashTable&lt;WTF::String, WTF::String, WTF::IdentityExtractor, WTF::ASCIICaseInsensitiveHash, WTF::HashTraits&lt;WTF::String&gt;, WTF::HashTraits&lt;WTF::String&gt; &gt;::lookup&lt;WTF::IdentityHashTranslator&lt;WTF::HashTraits&lt;WTF::String&gt;, WTF::ASCIICaseInsensitiveHash&gt;, WTF::String&gt;(WTF::String const&amp;) (this=&lt;optimized out&gt;, key=...)
    at /usr/src/debug/webkit2gtk3-2.20.0-2.fc28.x86_64/x86_64-redhat-linux-gnu/DerivedSources/ForwardingHeaders/wtf/HashTable.h:601
---Type &lt;return&gt; to continue, or q &lt;return&gt; to quit---
#8  0x00007fa2092f8392 in WTF::HashTable&lt;WTF::String, WTF::String, WTF::IdentityExtractor, WTF::ASCIICaseInsensitiveHash, WTF::HashTraits&lt;WTF::String&gt;, WTF::HashTraits&lt;WTF::String&gt; &gt;::contains&lt;WTF::IdentityHashTranslator&lt;WTF::HashTraits&lt;WTF::String&gt;, WTF::ASCIICaseInsensitiveHash&gt;, WTF::String&gt;(WTF::String const&amp;) const (key=..., this=0x172)
    at /usr/src/debug/webkit2gtk3-2.20.0-2.fc28.x86_64/Source/WebCore/platform/SchemeRegistry.cpp:296
        locker = 
          {&lt;WTF::AbstractLocker&gt; = {&lt;No data fields&gt;}, m_lockable = 0x7fa20a5b3df0 &lt;WebCore::localURLSchemesLock()::lock&gt;}
#9  0x00007fa2092f8392 in WTF::HashTable&lt;WTF::String, WTF::String, WTF::IdentityExtractor, WTF::ASCIICaseInsensitiveHash, WTF::HashTraits&lt;WTF::String&gt;, WTF::HashTraits&lt;WTF::String&gt; &gt;::contains(WTF::String const&amp;) const (key=..., this=0x172)
    at /usr/src/debug/webkit2gtk3-2.20.0-2.fc28.x86_64/x86_64-redhat-linux-gnu/DerivedSources/ForwardingHeaders/wtf/HashTable.h:397
        locker = 
          {&lt;WTF::AbstractLocker&gt; = {&lt;No data fields&gt;}, m_lockable = 0x7fa20a5b3df0 &lt;WebCore::localURLSchemesLock()::lock&gt;}
#10 0x00007fa2092f8392 in WTF::HashSet&lt;WTF::String, WTF::ASCIICaseInsensitiveHash, WTF::HashTraits&lt;WTF::String&gt; &gt;::contains(WTF::String const&amp;) const (value=..., this=0x172)
    at /usr/src/debug/webkit2gtk3-2.20.0-2.fc28.x86_64/x86_64-redhat-linux-gnu/DerivedSources/ForwardingHeaders/wtf/HashSet.h:202
        locker = 
          {&lt;WTF::AbstractLocker&gt; = {&lt;No data fields&gt;}, m_lockable = 0x7fa20a5b3df0 &lt;WebCore::localURLSchemesLock()::lock&gt;}
#11 0x00007fa2092f8392 in WebCore::SchemeRegistry::shouldTreatURLSchemeAsLocal(WTF::String const&amp;) (scheme=...)
    at /usr/src/debug/webkit2gtk3-2.20.0-2.fc28.x86_64/Source/WebCore/platform/SchemeRegistry.cpp:296
        locker = 
          {&lt;WTF::AbstractLocker&gt; = {&lt;No data fields&gt;}, m_lockable = 0x7fa20a5b3df0 &lt;WebCore::localURLSchemesLock()::lock&gt;}
#12 0x00007fa20928befd in WebCore::SecurityOrigin::isLocal() const (this=this@entry=0x7fa1fd5ddd90)
    at /usr/src/debug/webkit2gtk3-2.20.0-2.fc28.x86_64/Source/WebCore/page/SecurityOrigin.cpp:478
#13 0x00007fa20928c166 in WebCore::SecurityOrigin::SecurityOrigin(WebCore::URL const&amp;) (this=0x7fa1fd5ddd90, url=...)
---Type &lt;return&gt; to continue, or q &lt;return&gt; to quit---
    at /usr/src/debug/webkit2gtk3-2.20.0-2.fc28.x86_64/Source/WebCore/page/SecurityOrigin.cpp:159
#14 0x00007fa20928c5e0 in WebCore::SecurityOrigin::create(WebCore::URL const&amp;) (url=...)
    at /usr/src/debug/webkit2gtk3-2.20.0-2.fc28.x86_64/x86_64-redhat-linux-gnu/DerivedSources/ForwardingHeaders/wtf/ThreadSafeRefCounted.h:36
#15 0x00007fa2092918d5 in WebCore::SecurityOrigin::create(WTF::String const&amp;, WTF::String const&amp;, std::optional&lt;unsigned short&gt;) (protocol=..., host=..., port=Python Exception &lt;class &apos;gdb.error&apos;&gt; There is no member or method named _M_payload.: 
...) at /usr/src/debug/webkit2gtk3-2.20.0-2.fc28.x86_64/Source/WebCore/platform/URL.h:58
        decodedHost = 
            {m_impl = {static isRefPtr = &lt;optimized out&gt;, m_ptr = 0x7f8c004ba910}}
        origin = {static isRef = &lt;optimized out&gt;, m_ptr = 0x0}
#16 0x00007fa209291cf6 in WebCore::SecurityOriginData::securityOrigin() const (this=0x7ffee2d04a78) at /usr/include/c++/8/new:169
#17 0x00007fa2082b3856 in WebKit::WebPageProxy::decidePolicyForNavigationAction(unsigned long, WebCore::SecurityOriginData const&amp;, unsigned long, WebKit::NavigationActionData&amp;&amp;, WebKit::FrameInfoData const&amp;, unsigned long, WebCore::ResourceRequest const&amp;, WebCore::ResourceRequest&amp;&amp;, unsigned long, WebKit::UserData const&amp;, bool&amp;, unsigned long&amp;, WebCore::PolicyAction&amp;, WebKit::DownloadID&amp;, std::optional&lt;WebKit::WebsitePoliciesData&gt;&amp;) (this=0x7fa1b4ded900, frameID=&lt;optimized out&gt;, frameSecurityOrigin=..., navigationID=&lt;optimized out&gt;, navigationActionData=..., originatingFrameInfoData=..., originatingPageID=4, originalRequest=..., request=..., listenerID=15, userData=..., receivedPolicyAction=@0x7ffee2d04708: false, newNavigationID=@0x7ffee2d04700: 8, policyAction=@0x7ffee2d046f8: WebCore::PolicyAction::Use, downloadID=..., websitePolicies=Python Exception &lt;class &apos;gdb.error&apos;&gt; There is no member or method named _M_payload.: 
...)
    at /usr/src/debug/webkit2gtk3-2.20.0-2.fc28.x86_64/Source/WebKit/UIProcess/WebPageProxy.cpp:3768
        protector = {m_pageClient = @0x55ad5d7771b0}
        transaction = 
          {m_webPageProxy = {static isRefPtr = &lt;optimized out&gt;, m_ptr = 0x7fa1b4ded900}, m_pageLoadState = 0x7fa1b4dedf48}
        fromAPI = false
        frame = 0x7fa1fd59a330
        listener = {static isRef = &lt;optimized out&gt;, m_ptr = 0x7fa1426c2938}
        originatingFrame = 0x7fa1fd59a330
#18 0x00007fa2084902f9 in IPC::callMemberFunctionImpl&lt;WebKit::WebPageProxy, void (WebKit::---Type &lt;return&gt; to continue, or q &lt;return&gt; to quit---
WebPageProxy::*)(unsigned long, WebCore::SecurityOriginData const&amp;, unsigned long, WebKit::NavigationActionData&amp;&amp;, WebKit::FrameInfoData const&amp;, unsigned long, WebCore::ResourceRequest const&amp;, WebCore::ResourceRequest&amp;&amp;, unsigned long, WebKit::UserData const&amp;, bool&amp;, unsigned long&amp;, WebCore::PolicyAction&amp;, WebKit::DownloadID&amp;, std::optional&lt;WebKit::WebsitePoliciesData&gt;&amp;), std::tuple&lt;unsigned long, WebCore::SecurityOriginData, unsigned long, WebKit::NavigationActionData, WebKit::FrameInfoData, unsigned long, WebCore::ResourceRequest, WebCore::ResourceRequest, unsigned long, WebKit::UserData&gt;, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul, 9ul, std::tuple&lt;bool, unsigned long, WebCore::PolicyAction, WebKit::DownloadID, std::optional&lt;WebKit::WebsitePoliciesData&gt; &gt;, 0ul, 1ul, 2ul, 3ul, 4ul&gt;(WebKit::WebPageProxy*, void (WebKit::WebPageProxy::*)(unsigned long, WebCore::SecurityOriginData const&amp;, unsigned long, WebKit::NavigationActionData&amp;&amp;, WebKit::FrameInfoData const&amp;, unsigned long, WebCore::ResourceRequest const&amp;, WebCore::ResourceRequest&amp;&amp;, unsigned long, WebKit::UserData const&amp;, bool&amp;, unsigned long&amp;, WebCore::PolicyAction&amp;, WebKit::DownloadID&amp;, std::optional&lt;WebKit::WebsitePoliciesData&gt;&amp;), std::tuple&lt;unsigned long, WebCore::SecurityOriginData, unsigned long, WebKit::NavigationActionData, WebKit::FrameInfoData, unsigned long, WebCore::ResourceRequest, WebCore::ResourceRequest, unsigned long, WebKit::UserData&gt;&amp;&amp;, std::tuple&lt;bool, unsigned long, WebCore::PolicyAction, WebKit::DownloadID, std::optional&lt;WebKit::WebsitePoliciesData&gt; &gt;&amp;, std::integer_sequence&lt;unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul, 9ul&gt;, std::integer_sequence&lt;unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul&gt;) (replyArgs=std::tuple containing = {...}, args=..., function=&lt;optimized out&gt;, object=0x7fa1b4ded900)
    at /usr/src/debug/webkit2gtk3-2.20.0-2.fc28.x86_64/x86_64-redhat-linux-gnu/DerivedSources/ForwardingHeaders/wtf/text/StringImpl.h:1058
        arguments = 
../../gdb/dictionary.c:690: internal-error: void insert_symbol_hashed(dictionary*, symbol*): Assertion `SYMBOL_LANGUAGE (sym) == DICT_LANGUAGE (dict)-&gt;la_language&apos; failed.
A problem internal to GDB has been detected,</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1406957</commentid>
    <comment_count>16</comment_count>
    <who name="Charlie Turner">cturner</who>
    <bug_when>2018-03-16 03:31:37 -0700</bug_when>
    <thetext>(In reply to Cédric Bellegarde from comment #15)
&gt; Ok, previous backtrace was not useful. Finnaly get 2.20 symbols but gdb
&gt; segfaults and fails to log to file, here what I get:

Sigh, yet more GDB sadness. I&apos;ve not seen that particular flavor of error, but can you try turning off the demangler?

set demangle-style none

Before running the bt commands.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1406958</commentid>
    <comment_count>17</comment_count>
      <attachid>335927</attachid>
    <who name="Cédric Bellegarde">cedric.bellegarde</who>
    <bug_when>2018-03-16 03:40:25 -0700</bug_when>
    <thetext>Created attachment 335927
Backtrace with demangle off</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1407008</commentid>
    <comment_count>18</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2018-03-16 09:45:36 -0700</bug_when>
    <thetext>It might be helpful to use &apos;thread apply all bt full&apos;, because this is a thread-safety issue</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1407009</commentid>
    <comment_count>19</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-03-16 09:48:34 -0700</bug_when>
    <thetext>The issue is this:
m_canLoadLocalResources = isLocal();

in the SecurityOrigin constructor. isLocal() queries a global static map but SecurityOrigin objects get constructed on various threads.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1407010</commentid>
    <comment_count>20</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-03-16 09:49:42 -0700</bug_when>
    <thetext>(In reply to Chris Dumez from comment #19)
&gt; The issue is this:
&gt; m_canLoadLocalResources = isLocal();
&gt; 
&gt; in the SecurityOrigin constructor. isLocal() queries a global static map but
&gt; SecurityOrigin objects get constructed on various threads.

Although it looks like we have locks in SchemeRegistry::shouldTreatURLSchemeAsLocal()..</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1407013</commentid>
    <comment_count>21</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2018-03-16 09:54:08 -0700</bug_when>
    <thetext>Yeah, there are locks there, so I assume the problem is a missing lock somewhere else. I see is SchemeRegistry::allBuiltinSchemes can be called without a lock. That&apos;s my only guess.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1407015</commentid>
    <comment_count>22</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-03-16 09:57:22 -0700</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #21)
&gt; Yeah, there are locks there, so I assume the problem is a missing lock
&gt; somewhere else. I see is SchemeRegistry::allBuiltinSchemes can be called
&gt; without a lock. That&apos;s my only guess.

It does look like builtinLocalURLSchemes() can be called from multiple thread and we&apos;re not locking from SchemeRegistry::allBuiltinSchemes().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1407019</commentid>
    <comment_count>23</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2018-03-16 10:04:40 -0700</bug_when>
    <thetext>Looks like allBuiltinSchemes() needs to lock the secureSchemesLock() as well.

Also, this assert:

    ASSERT(localURLSchemesLock().isHeld());

should probably be added to builtinLocalURLSchemes(). Or we could compress builtinLocalURLSchemes() and localURLSchemes() together... I don&apos;t think we need both.

Lastly, it&apos;s rather confusing that only about half of this class is threadsafe. This will likely be the source of more bugs in the future if we don&apos;t change it. My inclination would be to add locking everywhere.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1407027</commentid>
    <comment_count>24</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-03-16 10:08:55 -0700</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #23)
&gt; Looks like allBuiltinSchemes() needs to lock the secureSchemesLock() as well.
&gt; 
&gt; Also, this assert:
&gt; 
&gt;     ASSERT(localURLSchemesLock().isHeld());
&gt; 
&gt; should probably be added to builtinLocalURLSchemes(). Or we could compress
&gt; builtinLocalURLSchemes() and localURLSchemes() together... I don&apos;t think we
&gt; need both.
&gt; 
&gt; Lastly, it&apos;s rather confusing that only about half of this class is
&gt; threadsafe. This will likely be the source of more bugs in the future if we
&gt; don&apos;t change it. My inclination would be to add locking everywhere.

I think we need both maps because it is possible to register new local schemes. However, we do not want SchemeRegistry::allBuiltinSchemes() to start returning those newly registered ones.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1407077</commentid>
    <comment_count>25</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2018-03-16 12:55:34 -0700</bug_when>
    <thetext>(In reply to Chris Dumez from comment #24)
&gt; I think we need both maps because it is possible to register new local
&gt; schemes. However, we do not want SchemeRegistry::allBuiltinSchemes() to
&gt; start returning those newly registered ones.

Hmmm... I have not tested, but looks like localURLSchemes() is not making a copy of builtinLocalURLSchemes(), so that might be broken currently?

If this line is a copy, it&apos;s not obvious:

    static NeverDestroyed&lt;URLSchemesMap&gt; localSchemes = builtinLocalURLSchemes();</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1407078</commentid>
    <comment_count>26</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-03-16 12:56:38 -0700</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #25)
&gt; (In reply to Chris Dumez from comment #24)
&gt; &gt; I think we need both maps because it is possible to register new local
&gt; &gt; schemes. However, we do not want SchemeRegistry::allBuiltinSchemes() to
&gt; &gt; start returning those newly registered ones.
&gt; 
&gt; Hmmm... I have not tested, but looks like localURLSchemes() is not making a
&gt; copy of builtinLocalURLSchemes(), so that might be broken currently?
&gt; 
&gt; If this line is a copy, it&apos;s not obvious:
&gt; 
&gt;     static NeverDestroyed&lt;URLSchemesMap&gt; localSchemes =
&gt; builtinLocalURLSchemes();

Looks like a copy to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1407088</commentid>
    <comment_count>27</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2018-03-16 13:21:35 -0700</bug_when>
    <thetext>Indeed... today I learned how the assignment operator works....</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1407239</commentid>
    <comment_count>28</comment_count>
      <attachid>336006</attachid>
    <who name="Cédric Bellegarde">cedric.bellegarde</who>
    <bug_when>2018-03-17 04:19:44 -0700</bug_when>
    <thetext>Created attachment 336006
thread apply all bt full</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1407247</commentid>
    <comment_count>29</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2018-03-17 10:56:41 -0700</bug_when>
    <thetext>(In reply to Cédric Bellegarde from comment #28)
&gt; Created attachment 336006 [details]
&gt; thread apply all bt full

It&apos;s useless, due to the gdb crash. :(

It&apos;s OK... I think we have a good idea what still needs to be tightened up here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1408789</commentid>
    <comment_count>30</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2018-03-23 11:30:58 -0700</bug_when>
    <thetext>I went through and added locking all throughout SchemeRegistry.cpp. I&apos;m going to upload a patch, but without r? because it is not good enough.

Problem #1 is SchemeRegistry::isBuiltinScheme, which calls URLParser::isSpecialScheme. After examining the implementation of that function, I think it&apos;s actually currently safe, but that&apos;s too fragile: it could change in the future, and threadsafe functions should not be calling class static functions, as a rule, unless they&apos;re also intended to be threadsafe. Adding locks in SchemeRegistry is fairly easy, but I don&apos;t think we want to do so in URLParser, and I&apos;m not sure how to handle this well.

Next problem is that I think our hypothesis in comment #22 is not the only problem here. There is this FIXME you added in SecurityOrigin::shouldTreatAsPotentiallyTrustworthy:

    // FIXME: despite the following SchemeRegistry functions using locks internally, we still
    // have a potential thread-safety issue with the strings being passed in. This is because
    // String::hash() will be called during lookup and it potentially modifies the String for
    // caching the hash.

Looking at the backtrace, I&apos;m fairly confident that is, in fact, the crash we are seeing here. Should we change all of SchemeRegistry to use AtomicString instead of normal String?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1408791</commentid>
    <comment_count>31</comment_count>
      <attachid>336396</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2018-03-23 11:32:15 -0700</bug_when>
    <thetext>Created attachment 336396
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1408792</commentid>
    <comment_count>32</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2018-03-23 11:34:26 -0700</bug_when>
    <thetext>Attachment 336396 did not pass style-queue:


ERROR: Source/WebCore/ChangeLog:8:  You should remove the &apos;No new tests&apos; and either add and list tests, or explain why no new tests were possible.  [changelog/nonewtests] [5]
Total errors found: 1 in 2 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1408795</commentid>
    <comment_count>33</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2018-03-23 11:42:49 -0700</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #30)
&gt; Looking at the backtrace, I&apos;m fairly confident that is, in fact, the crash
&gt; we are seeing here. Should we change all of SchemeRegistry to use
&gt; AtomicString instead of normal String?

Nope:

bool String::isSafeToSendToAnotherThread() const
{
    // AtomicStrings are not safe to send between threads as ~StringImpl()
    // will try to remove them from the wrong AtomicStringTable.
    return isEmpty() || (m_impl-&gt;hasOneRef() &amp;&amp; !m_impl-&gt;isAtomic());
}

There is String::isolatedCopy(), though. We could ensure that all user-provided strings get copied with that before adding them to the SchemeRegistry&apos;s URLSchemesMaps, localURLSchemes() and secureSchemes(). We should probably also use isolatedCopy() before adding them to the Vectors as well, to be properly thorough, or we could assume that Vector will never mutate its contained Strings.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1408802</commentid>
    <comment_count>34</comment_count>
      <attachid>336396</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-03-23 11:50:07 -0700</bug_when>
    <thetext>Comment on attachment 336396
Patch

I think this patch is over-eager. I do not think we want to make ALL of these functions thread safe. We had to make 1 or 2 thread safe but there is a performance cost. We do not want to make ALL of them thread safe when it is not needed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1408821</commentid>
    <comment_count>35</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2018-03-23 12:20:21 -0700</bug_when>
    <thetext>OK, maybe we can move the local schemes and service worker schemes out to a separate class, then? E.g. ThreadSafeSchemeRegistry. You shouldn&apos;t have to look at the implementation to figure out which functions are safe and which aren&apos;t. Not a big deal: the patch doesn&apos;t address the real issue anyway.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1408823</commentid>
    <comment_count>36</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-03-23 12:21:16 -0700</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #35)
&gt; OK, maybe we can move the local schemes and service worker schemes out to a
&gt; separate class, then? E.g. ThreadSafeSchemeRegistry. You shouldn&apos;t have to
&gt; look at the implementation to figure out which functions are safe and which
&gt; aren&apos;t. Not a big deal: the patch doesn&apos;t address the real issue anyway.

Not sure this is needed. How about comments in the header stating these 2 are thread safe.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1408982</commentid>
    <comment_count>37</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2018-03-23 17:19:03 -0700</bug_when>
    <thetext>(In reply to Chris Dumez from comment #36)
&gt; Not sure this is needed. How about comments in the header stating these 2
&gt; are thread safe.

OK

(In reply to Michael Catanzaro from comment #33)
&gt; There is String::isolatedCopy(), though. We could ensure that all
&gt; user-provided strings get copied with that before adding them to the
&gt; SchemeRegistry&apos;s URLSchemesMaps, localURLSchemes() and secureSchemes(). We
&gt; should probably also use isolatedCopy() before adding them to the Vectors as
&gt; well, to be properly thorough, or we could assume that Vector will never
&gt; mutate its contained Strings.

Nope, that&apos;s what https://lists.webkit.org/pipermail/webkit-dev/2018-February/029895.html warns against. Hm...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1408984</commentid>
    <comment_count>38</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2018-03-23 17:20:19 -0700</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #37)
&gt; Nope, that&apos;s what
&gt; https://lists.webkit.org/pipermail/webkit-dev/2018-February/029895.html
&gt; warns against. Hm...

Nope, your very next mail in the thread explains it&apos;s OK. All right then....</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1408993</commentid>
    <comment_count>39</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2018-03-23 18:08:50 -0700</bug_when>
    <thetext>(In reply to Chris Dumez from comment #34)
&gt; I think this patch is over-eager. I do not think we want to make ALL of
&gt; these functions thread safe. We had to make 1 or 2 thread safe but there is
&gt; a performance cost. We do not want to make ALL of them thread safe when it
&gt; is not needed.

An updated patch is forthcoming... again, without r? because it&apos;s again not good enough. I discovered that SecurityOrigin also uses SchemeRegistry::shouldTreatURLSchemeAsNoAccess, SchemeRegistry::canDisplayOnlyIfCanRequest, SchemeRegistry::shouldTreatURLSchemeAsDisplayIsolated, and SchemeRegistry::shouldPartitionCacheForURLScheme, none of which are currently protected. We&apos;ve already established that SecurityOrigin objects can be used off the main thread, so either we make all these SchemeRegistry functions threadsafe, or we need to add assertions to ensure several SecurityOrigin functions are only ever used on the main thread.

It&apos;s really starting to look like protecting all of SchemeRegistry is a good idea, unless you think it&apos;s likely to appear in perf results?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1408995</commentid>
    <comment_count>40</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2018-03-23 18:14:31 -0700</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #39)
&gt; so either we make all these SchemeRegistry
&gt; functions threadsafe, or we need to add assertions to ensure several
&gt; SecurityOrigin functions are only ever used on the main thread.

And the latter seems really awkward to me....</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1408999</commentid>
    <comment_count>41</comment_count>
      <attachid>336450</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2018-03-23 18:18:39 -0700</bug_when>
    <thetext>Created attachment 336450
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1409409</commentid>
    <comment_count>42</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-03-26 14:10:07 -0700</bug_when>
    <thetext>Note that I talked about this with Daniel Bates today and it seems I went in the wrong direction trying to make this thread safe. I am currently working on updating existing code to stop constructing SecurityOrigin objects from background thread.

Once this is done, we can add an ASSERT(isMainThread()) assertion in the SecurityOrigin constructor and drop the locks in the SchemeRegistry.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1409436</commentid>
    <comment_count>43</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2018-03-26 15:50:14 -0700</bug_when>
    <thetext>(In reply to Chris Dumez from comment #42)
&gt; Note that I talked about this with Daniel Bates today and it seems I went in
&gt; the wrong direction trying to make this thread safe. I am currently working
&gt; on updating existing code to stop constructing SecurityOrigin objects from
&gt; background thread.

Yeah, I like your patch in bug #184024 better than what I was trying to do here. Please close this one once you&apos;ve landed that!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1409749</commentid>
    <comment_count>44</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2018-03-27 18:42:01 -0700</bug_when>
    <thetext>Oops, looks like it&apos;s not fully solved yet.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1412125</commentid>
    <comment_count>45</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2018-04-05 12:02:51 -0700</bug_when>
    <thetext>Probably fixed by r230205</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>334729</attachid>
            <date>2018-02-27 22:34:36 -0800</date>
            <delta_ts>2018-02-27 22:34:36 -0800</delta_ts>
            <desc>Backtrace</desc>
            <filename>crash.txt</filename>
            <type>text/plain</type>
            <size>52176</size>
            <attacher name="Cédric Bellegarde">cedric.bellegarde</attacher>
            
              <data encoding="base64">QWxyZWFkeSBsb2dnaW5nIHRvIG15bG9nLnR4dC4KIzAgIDB4MDAwMDdmOWQ2M2RhMWZkMCBpbiBX
VEY6OmVxdWFsSWdub3JpbmdBU0NJSUNhc2VDb21tb248V1RGOjpTdHJpbmdJbXBsLCBXVEY6OlN0
cmluZ0ltcGw+KFdURjo6U3RyaW5nSW1wbCBjb25zdCYsIFdURjo6U3RyaW5nSW1wbCBjb25zdCYp
IChhPS4uLiwgYj0uLi4pCiAgICBhdCBEZXJpdmVkU291cmNlcy9Gb3J3YXJkaW5nSGVhZGVycy93
dGYvdGV4dC9TdHJpbmdDb21tb24uaDozNjAKIzEgIDB4MDAwMDdmOWQ2M2ZjZDg4ZiBpbiBXVEY6
OmVxdWFsSWdub3JpbmdBU0NJSUNhc2UoV1RGOjpTdHJpbmdJbXBsIGNvbnN0JiwgV1RGOjpTdHJp
bmdJbXBsIGNvbnN0JikgKGI9Li4uLCBhPS4uLikgYXQgRGVyaXZlZFNvdXJjZXMvRm9yd2FyZGlu
Z0hlYWRlcnMvd3RmL3RleHQvU3RyaW5nSW1wbC5oOjExODcKICAgICAgICBlbnRyeSA9IDB4N2Y5
ZDU4ZWUwMGE4CiAgICAgICAgayA9IDAKICAgICAgICBpID0gNQogICAgICAgIHNpemVNYXNrID0g
NwogICAgICAgIHRhYmxlID0gMHg3ZjlkNThlZTAwODAKIzIgIDB4MDAwMDdmOWQ2M2ZjZDg4ZiBp
biBXVEY6OkFTQ0lJQ2FzZUluc2Vuc2l0aXZlSGFzaDo6ZXF1YWwoV1RGOjpTdHJpbmdJbXBsIGNv
bnN0JiwgV1RGOjpTdHJpbmdJbXBsIGNvbnN0JikgKGI9Li4uLCBhPS4uLikKICAgIGF0IERlcml2
ZWRTb3VyY2VzL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi90ZXh0L1N0cmluZ0hhc2guaDoxMjAKICAg
ICAgICBlbnRyeSA9IDB4N2Y5ZDU4ZWUwMGE4CiAgICAgICAgayA9IDAKICAgICAgICBpID0gNQog
ICAgICAgIHNpemVNYXNrID0gNwogICAgICAgIHRhYmxlID0gMHg3ZjlkNThlZTAwODAKIzMgIDB4
MDAwMDdmOWQ2M2ZjZDg4ZiBpbiBXVEY6OkFTQ0lJQ2FzZUluc2Vuc2l0aXZlSGFzaDo6ZXF1YWwo
V1RGOjpTdHJpbmdJbXBsIGNvbnN0KiwgV1RGOjpTdHJpbmdJbXBsIGNvbnN0KikgKGI9PG9wdGlt
aXplZCBvdXQ+LCBhPTxvcHRpbWl6ZWQgb3V0PikKICAgIGF0IERlcml2ZWRTb3VyY2VzL0Zvcndh
cmRpbmdIZWFkZXJzL3d0Zi90ZXh0L1N0cmluZ0hhc2guaDoxMjYKICAgICAgICBlbnRyeSA9IDB4
N2Y5ZDU4ZWUwMGE4CiAgICAgICAgayA9IDAKICAgICAgICBpID0gNQogICAgICAgIHNpemVNYXNr
ID0gNwogICAgICAgIHRhYmxlID0gMHg3ZjlkNThlZTAwODAKIzQgIDB4MDAwMDdmOWQ2M2ZjZDg4
ZiBpbiBXVEY6OkFTQ0lJQ2FzZUluc2Vuc2l0aXZlSGFzaDo6ZXF1YWwoV1RGOjpTdHJpbmcgY29u
c3QmLCBXVEY6OlN0cmluZyBjb25zdCYpIChiPS4uLiwgYT0uLi4pIGF0IERlcml2ZWRTb3VyY2Vz
L0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi90ZXh0L1N0cmluZ0hhc2guaDoxNDkKICAgICAgICBlbnRy
eSA9IDB4N2Y5ZDU4ZWUwMGE4CiAgICAgICAgayA9IDAKICAgICAgICBpID0gNQogICAgICAgIHNp
emVNYXNrID0gNwogICAgICAgIHRhYmxlID0gMHg3ZjlkNThlZTAwODAKIzUgIDB4MDAwMDdmOWQ2
M2ZjZDg4ZiBpbiBXVEY6OklkZW50aXR5SGFzaFRyYW5zbGF0b3I8V1RGOjpIYXNoVHJhaXRzPFdU
Rjo6U3RyaW5nPiwgV1RGOjpBU0NJSUNhc2VJbnNlbnNpdGl2ZUhhc2g+OjplcXVhbDxXVEY6OlN0
cmluZywgV1RGOjpTdHJpbmc+KFdURjo6U3RyaW5nIGNvbnN0JiwgV1RGOjpTdHJpbmcgY29uc3Qm
KSAoYj0uLi4sIGE9Li4uKSBhdCBEZXJpdmVkU291cmNlcy9Gb3J3YXJkaW5nSGVhZGVycy93dGYv
SGFzaFRhYmxlLmg6Mjg0CiAgICAgICAgZW50cnkgPSAweDdmOWQ1OGVlMDBhOAogICAgICAgIGsg
PSAwCiAgICAgICAgaSA9IDUKICAgICAgICBzaXplTWFzayA9IDcKICAgICAgICB0YWJsZSA9IDB4
N2Y5ZDU4ZWUwMDgwCiM2ICAweDAwMDA3ZjlkNjNmY2Q4OGYgaW4gV1RGOjpIYXNoVGFibGU8V1RG
OjpTdHJpbmcsIFdURjo6U3RyaW5nLCBXVEY6OklkZW50aXR5RXh0cmFjdG9yLCBXVEY6OkFTQ0lJ
Q2FzZUluc2Vuc2l0aXZlSGFzaCwgV1RGOjpIYXNoVHJhaXRzPFdURjo6U3RyaW5nPiwgV1RGOjpI
YXNoVHJhaXRzPFdURjo6U3RyaW5nPiA+OjppbmxpbmVMb29rdXA8V1RGOjpJZGVudGl0eUhhc2hU
cmFuc2xhdG9yPFdURjo6SGFzaFRyYWl0czxXVEY6OlN0cmluZz4sIFdURjo6QVNDSUlDYXNlSW5z
ZW5zaXRpdmVIYXNoPiwgV1RGOjpTdHJpbmc+KFdURjo6U3RyaW5nIGNvbnN0JikgKGtleT0uLi4s
IHRoaXM9PG9wdGltaXplZCBvdXQ+KQogICAgYXQgRGVyaXZlZFNvdXJjZXMvRm9yd2FyZGluZ0hl
YWRlcnMvd3RmL0hhc2hUYWJsZS5oOjY0MgogICAgICAgIGVudHJ5ID0gMHg3ZjlkNThlZTAwYTgK
ICAgICAgICBrID0gMAogICAgICAgIGkgPSA1CiAgICAgICAgc2l6ZU1hc2sgPSA3CiAgICAgICAg
dGFibGUgPSAweDdmOWQ1OGVlMDA4MAojNyAgMHgwMDAwN2Y5ZDYzZmNkODhmIGluIFdURjo6SGFz
aFRhYmxlPFdURjo6U3RyaW5nLCBXVEY6OlN0cmluZywgV1RGOjpJZGVudGl0eUV4dHJhY3Rvciwg
V1RGOjpBU0NJSUNhc2VJbnNlbnNpdGl2ZUhhc2gsIFdURjo6SGFzaFRyYWl0czxXVEY6OlN0cmlu
Zz4sIFdURjo6SGFzaFRyYWl0czxXVEY6OlN0cmluZz4gPjo6bG9va3VwPFdURjo6SWRlbnRpdHlI
YXNoVHJhbnNsYXRvcjxXVEY6Okhhc2hUcmFpdHM8V1RGOjpTdHJpbmc+LCBXVEY6OkFTQ0lJQ2Fz
ZUluc2Vuc2l0aXZlSGFzaD4sIFdURjo6U3RyaW5nPihXVEY6OlN0cmluZyBjb25zdCYpICh0aGlz
PTxvcHRpbWl6ZWQgb3V0Piwga2V5PS4uLikKICAgIGF0IERlcml2ZWRTb3VyY2VzL0ZvcndhcmRp
bmdIZWFkZXJzL3d0Zi9IYXNoVGFibGUuaDo2MDEKIzggIDB4MDAwMDdmOWQ2NGY2MjEzMSBpbiBX
VEY6Okhhc2hUYWJsZTxXVEY6OlN0cmluZywgV1RGOjpTdHJpbmcsIFdURjo6SWRlbnRpdHlFeHRy
YWN0b3IsIFdURjo6QVNDSUlDYXNlSW5zZW5zaXRpdmVIYXNoLCBXVEY6Okhhc2hUcmFpdHM8V1RG
OjpTdHJpbmc+LCBXVEY6Okhhc2hUcmFpdHM8V1RGOjpTdHJpbmc+ID46OmNvbnRhaW5zPFdURjo6
SWRlbnRpdHlIYXNoVHJhbnNsYXRvcjxXVEY6Okhhc2hUcmFpdHM8V1RGOjpTdHJpbmc+LCBXVEY6
OkFTQ0lJQ2FzZUluc2Vuc2l0aXZlSGFzaD4sIFdURjo6U3RyaW5nPihXVEY6OlN0cmluZyBjb25z
dCYpIGNvbnN0IChrZXk9Li4uLCB0aGlzPTB4N2Y5ZDY2MjYzZDQwIDxXZWJDb3JlOjpsb2NhbFVS
TFNjaGVtZXMoKTo6bG9jYWxTY2hlbWVzPikKICAgIGF0IERlcml2ZWRTb3VyY2VzL0ZvcndhcmRp
bmdIZWFkZXJzL3d0Zi9IYXNoVGFibGUuaDoxMDM4CiM5ICAweDAwMDA3ZjlkNjRmNjIxMzEgaW4g
V1RGOjpIYXNoVGFibGU8V1RGOjpTdHJpbmcsIFdURjo6U3RyaW5nLCBXVEY6OklkZW50aXR5RXh0
cmFjdG9yLCBXVEY6OkFTQ0lJQ2FzZUluc2Vuc2l0aXZlSGFzaCwgV1RGOjpIYXNoVHJhaXRzPFdU
Rjo6U3RyaW5nPiwgV1RGOjpIYXNoVHJhaXRzPFdURjo6U3RyaW5nPiA+Ojpjb250YWlucyhXVEY6
OlN0cmluZyBjb25zdCYpIGNvbnN0IChrZXk9Li4uLCB0aGlzPTB4N2Y5ZDY2MjYzZDQwIDxXZWJD
b3JlOjpsb2NhbFVSTFNjaGVtZXMoKTo6bG9jYWxTY2hlbWVzPikgYXQgRGVyaXZlZFNvdXJjZXMv
Rm9yd2FyZGluZ0hlYWRlcnMvd3RmL0hhc2hUYWJsZS5oOjM5NwojMTAgMHgwMDAwN2Y5ZDY0ZjYy
MTMxIGluIFdURjo6SGFzaFNldDxXVEY6OlN0cmluZywgV1RGOjpBU0NJSUNhc2VJbnNlbnNpdGl2
ZUhhc2gsIFdURjo6SGFzaFRyYWl0czxXVEY6OlN0cmluZz4gPjo6Y29udGFpbnMoV1RGOjpTdHJp
bmcgY29uc3QmKSBjb25zdCAodmFsdWU9Li4uLCB0aGlzPTxvcHRpbWl6ZWQgb3V0PikgYXQgRGVy
aXZlZFNvdXJjZXMvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL0hhc2hTZXQuaDoyMDIKIzExIDB4MDAw
MDdmOWQ2NGY2MjEzMSBpbiBXZWJDb3JlOjpTY2hlbWVSZWdpc3RyeTo6c2hvdWxkVHJlYXRVUkxT
Y2hlbWVBc0xvY2FsKFdURjo6U3RyaW5nIGNvbnN0JikgKHNjaGVtZT0uLi4pCiAgICBhdCAvaG9t
ZS9nbnVtZGsvcGVyc28vd2Via2l0Mmd0ay9zcmMvd2Via2l0Z3RrLTIuMTkuOTEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vU2NoZW1lUmVnaXN0cnkuY3BwOjI3OAojMTIgMHgwMDAwN2Y5ZDY0ZWU3
YzZhIGluIFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luOjppc0xvY2FsKCkgY29uc3QgKHRoaXM9dGhp
c0BlbnRyeT0weDdmOWQwMDFiOTMxMCkKICAgIGF0IC9ob21lL2dudW1kay9wZXJzby93ZWJraXQy
Z3RrL3NyYy93ZWJraXRndGstMi4xOS45MS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NlY3VyaXR5T3Jp
Z2luLmNwcDo0NjQKIzEzIDB4MDAwMDdmOWQ2NGVlOGJhYyBpbiBXZWJDb3JlOjpTZWN1cml0eU9y
aWdpbjo6U2VjdXJpdHlPcmlnaW4oV2ViQ29yZTo6VVJMIGNvbnN0JikgKHRoaXM9MHg3ZjlkMDAx
YjkzMTAsIHVybD0uLi4pCiAgICBhdCAvaG9tZS9nbnVtZGsvcGVyc28vd2Via2l0Mmd0ay9zcmMv
d2Via2l0Z3RrLTIuMTkuOTEvU291cmNlL1dlYkNvcmUvcGFnZS9TZWN1cml0eU9yaWdpbi5jcHA6
MTU1CiMxNCAweDAwMDA3ZjlkNjRlZThmOGYgaW4gV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW46OmNy
ZWF0ZShXZWJDb3JlOjpVUkwgY29uc3QmKSAodXJsPS4uLikKICAgIGF0IC9ob21lL2dudW1kay9w
ZXJzby93ZWJraXQyZ3RrL3NyYy93ZWJraXRndGstMi4xOS45MS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1NlY3VyaXR5T3JpZ2luLmNwcDoyMDAKIzE1IDB4MDAwMDdmOWQ2NGVlZjY0MSBpbiBXZWJDb3Jl
OjpTZWN1cml0eU9yaWdpbjo6Y3JlYXRlKFdURjo6U3RyaW5nIGNvbnN0JiwgV1RGOjpTdHJpbmcg
Y29uc3QmLCBzdGQ6Om9wdGlvbmFsPHVuc2lnbmVkIHNob3J0PikgKHByb3RvY29sPS4uLiwgaG9z
dD0uLi4sIHBvcnQ9UHl0aG9uIEV4Y2VwdGlvbiA8Y2xhc3MgJ2dkYi5lcnJvcic+IFRoZXJlIGlz
IG5vIG1lbWJlciBvciBtZXRob2QgbmFtZWQgX01fcGF5bG9hZC46IAouLi4pCiAgICBhdCAvaG9t
ZS9nbnVtZGsvcGVyc28vd2Via2l0Mmd0ay9zcmMvd2Via2l0Z3RrLTIuMTkuOTEvU291cmNlL1dl
YkNvcmUvcGFnZS9TZWN1cml0eU9yaWdpbi5jcHA6NTM5CiAgICAgICAgZGVjb2RlZEhvc3QgPSAK
ICAgICAgICAgICAge21faW1wbCA9IHtzdGF0aWMgaXNSZWZQdHIgPSA8b3B0aW1pemVkIG91dD4s
IG1fcHRyID0gMHg3ZjkwMDA1YzE5ZTB9fQogICAgICAgIG9yaWdpbiA9IHtzdGF0aWMgaXNSZWYg
PSA8b3B0aW1pemVkIG91dD4sIG1fcHRyID0gMHgwfQojMTYgMHgwMDAwN2Y5ZDY0ZWVmYTY1IGlu
IFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YTo6c2VjdXJpdHlPcmlnaW4oKSBjb25zdCAodGhp
cz10aGlzQGVudHJ5PTB4N2ZmYzE2Y2E3ZDQ4KQogICAgYXQgL2hvbWUvZ251bWRrL3BlcnNvL3dl
YmtpdDJndGsvc3JjL3dlYmtpdGd0ay0yLjE5LjkxL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2VjdXJp
dHlPcmlnaW5EYXRhLmNwcDo3MAojMTcgMHgwMDAwN2Y5ZDYzZTM3NTE4IGluIFdlYktpdDo6V2Vi
UGFnZVByb3h5OjpkZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uKHVuc2lnbmVkIGxvbmcs
IFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YSBjb25zdCYsIHVuc2lnbmVkIGxvbmcsIFdlYktp
dDo6TmF2aWdhdGlvbkFjdGlvbkRhdGEmJiwgV2ViS2l0OjpGcmFtZUluZm9EYXRhIGNvbnN0Jiwg
dW5zaWduZWQgbG9uZywgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0IGNvbnN0JiwgV2ViQ29yZTo6
UmVzb3VyY2VSZXF1ZXN0JiYsIHVuc2lnbmVkIGxvbmcsIFdlYktpdDo6VXNlckRhdGEgY29uc3Qm
LCBib29sJiwgdW5zaWduZWQgbG9uZyYsIFdlYkNvcmU6OlBvbGljeUFjdGlvbiYsIFdlYktpdDo6
RG93bmxvYWRJRCYsIHN0ZDo6b3B0aW9uYWw8V2ViS2l0OjpXZWJzaXRlUG9saWNpZXNEYXRhPiYp
ICh0aGlzPTB4N2Y5ZDEwZGRiMDAwLCBmcmFtZUlEPTxvcHRpbWl6ZWQgb3V0PiwgZnJhbWVTZWN1
cml0eU9yaWdpbj0uLi4sIG5hdmlnYXRpb25JRD08b3B0aW1pemVkIG91dD4sIG5hdmlnYXRpb25B
Y3Rpb25EYXRhPS4uLiwgb3JpZ2luYXRpbmdGcmFtZUluZm9EYXRhPS4uLiwgb3JpZ2luYXRpbmdQ
YWdlSUQ9NCwgb3JpZ2luYWxSZXF1ZXN0PS4uLiwgcmVxdWVzdD0uLi4sIGxpc3RlbmVySUQ9NSwg
dXNlckRhdGE9Li4uLCByZWNlaXZlZFBvbGljeUFjdGlvbj1AMHg3ZmZjMTZjYTc5ZDg6IGZhbHNl
LCBuZXdOYXZpZ2F0aW9uSUQ9QDB4N2ZmYzE2Y2E3OWQwOiAzLCBwb2xpY3lBY3Rpb249QDB4N2Zm
YzE2Y2E3OWM4OiBXZWJDb3JlOjpQb2xpY3lBY3Rpb246OlVzZSwgZG93bmxvYWRJRD0uLi4sIHdl
YnNpdGVQb2xpY2llcz1QeXRob24gRXhjZXB0aW9uIDxjbGFzcyAnZ2RiLmVycm9yJz4gVGhlcmUg
aXMgbm8gbWVtYmVyIG9yIG1ldGhvZCBuYW1lZCBfTV9wYXlsb2FkLjogCi4uLikKICAgIGF0IC9o
b21lL2dudW1kay9wZXJzby93ZWJraXQyZ3RrL3NyYy93ZWJraXRndGstMi4xOS45MS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOjM3NjMKICAgICAgICB1c2VySW5pdGlh
dGVkQWN0aXZpdHkgPSB7c3RhdGljIGlzUmVmUHRyID0gPG9wdGltaXplZCBvdXQ+LCBtX3B0ciA9
IDB4MX0KICAgICAgICBuYXZpZ2F0aW9uQWN0aW9uID0ge3N0YXRpYyBpc1JlZiA9IDxvcHRpbWl6
ZWQgb3V0PiwgbV9wdHIgPSAweDdmOWQwMDFhNjRmOH0KICAgICAgICBkZXN0aW5hdGlvbkZyYW1l
SW5mbyA9IHtzdGF0aWMgaXNSZWYgPSA8b3B0aW1pemVkIG91dD4sIG1fcHRyID0gMHgzfQogICAg
ICAgIHNvdXJjZUZyYW1lSW5mbyA9IHtzdGF0aWMgaXNSZWZQdHIgPSA8b3B0aW1pemVkIG91dD4s
IG1fcHRyID0gMHgwfQogICAgICAgIHByb3RlY3RvciA9IHttX3BhZ2VDbGllbnQgPSBAMHg1NTg1
N2E3ZjVlNjB9CiAgICAgICAgdHJhbnNhY3Rpb24gPSAKICAgICAgICAgIHttX3dlYlBhZ2VQcm94
eSA9IHtzdGF0aWMgaXNSZWZQdHIgPSA8b3B0aW1pemVkIG91dD4sIG1fcHRyID0gMHg3ZjlkMTBk
ZGIwMDB9LCBtX3BhZ2VMb2FkU3RhdGUgPSAweDdmOWQxMGRkYjY0OH0KICAgICAgICBmcmFtZSA9
IDB4N2Y5ZDU4ZWE2YmIwCiAgICAgICAgbGlzdGVuZXIgPSB7c3RhdGljIGlzUmVmID0gPG9wdGlt
aXplZCBvdXQ+LCBtX3B0ciA9IDB4N2Y5ZDAwMWE4OTM4fQogICAgICAgIG9yaWdpbmF0aW5nRnJh
bWUgPSAweDdmOWQ1OGVhNmJiMAojMTggMHgwMDAwN2Y5ZDY0MDM3ZDliIGluIElQQzo6Y2FsbE1l
bWJlckZ1bmN0aW9uSW1wbDxXZWJLaXQ6OldlYlBhZ2VQcm94eSwgdm9pZCAoV2ViS2l0OjpXZWJQ
YWdlUHJveHk6OiopKHVuc2lnbmVkIGxvbmcsIFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YSBj
b25zdCYsIHVuc2lnbmVkIGxvbmcsIFdlYktpdDo6TmF2aWdhdGlvbkFjdGlvbkRhdGEmJiwgV2Vi
S2l0OjpGcmFtZUluZm9EYXRhIGNvbnN0JiwgdW5zaWduZWQgbG9uZywgV2ViQ29yZTo6UmVzb3Vy
Y2VSZXF1ZXN0IGNvbnN0JiwgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiYsIHVuc2lnbmVkIGxv
bmcsIFdlYktpdDo6VXNlckRhdGEgY29uc3QmLCBib29sJiwgdW5zaWduZWQgbG9uZyYsIFdlYkNv
cmU6OlBvbGljeUFjdGlvbiYsIFdlYktpdDo6RG93bmxvYWRJRCYsIHN0ZDo6b3B0aW9uYWw8V2Vi
S2l0OjpXZWJzaXRlUG9saWNpZXNEYXRhPiYpLCBzdGQ6OnR1cGxlPHVuc2lnbmVkIGxvbmcsIFdl
YkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YSwgdW5zaWduZWQgbG9uZywgV2ViS2l0OjpOYXZpZ2F0
aW9uQWN0aW9uRGF0YSwgV2ViS2l0OjpGcmFtZUluZm9EYXRhLCB1bnNpZ25lZCBsb25nLCBXZWJD
b3JlOjpSZXNvdXJjZVJlcXVlc3QsIFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCwgdW5zaWduZWQg
bG9uZywgV2ViS2l0OjpVc2VyRGF0YT4sIDB1bCwgMXVsLCAydWwsIDN1bCwgNHVsLCA1dWwsIDZ1
bCwgN3VsLCA4dWwsIDl1bCwgc3RkOjp0dXBsZTxib29sLCB1bnNpZ25lZCBsb25nLCBXZWJDb3Jl
OjpQb2xpY3lBY3Rpb24sIFdlYktpdDo6RG93bmxvYWRJRCwgc3RkOjpvcHRpb25hbDxXZWJLaXQ6
OldlYnNpdGVQb2xpY2llc0RhdGE+ID4sIDB1bCwgMXVsLCAydWwsIDN1bCwgNHVsPihXZWJLaXQ6
OldlYlBhZ2VQcm94eSosIHZvaWQgKFdlYktpdDo6V2ViUGFnZVByb3h5OjoqKSh1bnNpZ25lZCBs
b25nLCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGEgY29uc3QmLCB1bnNpZ25lZCBsb25nLCBX
ZWJLaXQ6Ok5hdmlnYXRpb25BY3Rpb25EYXRhJiYsIFdlYktpdDo6RnJhbWVJbmZvRGF0YSBjb25z
dCYsIHVuc2lnbmVkIGxvbmcsIFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCBjb25zdCYsIFdlYkNv
cmU6OlJlc291cmNlUmVxdWVzdCYmLCB1bnNpZ25lZCBsb25nLCBXZWJLaXQ6OlVzZXJEYXRhIGNv
bnN0JiwgYm9vbCYsIHVuc2lnbmVkIGxvbmcmLCBXZWJDb3JlOjpQb2xpY3lBY3Rpb24mLCBXZWJL
aXQ6OkRvd25sb2FkSUQmLCBzdGQ6Om9wdGlvbmFsPFdlYktpdDo6V2Vic2l0ZVBvbGljaWVzRGF0
YT4mKSwgc3RkOjp0dXBsZTx1bnNpZ25lZCBsb25nLCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRh
dGEsIHVuc2lnbmVkIGxvbmcsIFdlYktpdDo6TmF2aWdhdGlvbkFjdGlvbkRhdGEsIFdlYktpdDo6
RnJhbWVJbmZvRGF0YSwgdW5zaWduZWQgbG9uZywgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0LCBX
ZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QsIHVuc2lnbmVkIGxvbmcsIFdlYktpdDo6VXNlckRhdGE+
JiYsIHN0ZDo6dHVwbGU8Ym9vbCwgdW5zaWduZWQgbG9uZywgV2ViQ29yZTo6UG9saWN5QWN0aW9u
LCBXZWJLaXQ6OkRvd25sb2FkSUQsIHN0ZDo6b3B0aW9uYWw8V2ViS2l0OjpXZWJzaXRlUG9saWNp
ZXNEYXRhPiA+Jiwgc3RkOjppbnRlZ2VyX3NlcXVlbmNlPHVuc2lnbmVkIGxvbmcsIDB1bCwgMXVs
LCAydWwsIDN1bCwgNHVsLCA1dWwsIDZ1bCwgN3VsLCA4dWwsIDl1bD4sIHN0ZDo6aW50ZWdlcl9z
ZXF1ZW5jZTx1bnNpZ25lZCBsb25nLCAwdWwsIDF1bCwgMnVsLCAzdWwsIDR1bD4pIChyZXBseUFy
Z3M9c3RkOjp0dXBsZSBjb250YWluaW5nID0gey4uLn0sIGFyZ3M9Li4uLCBmdW5jdGlvbj0KICAg
ICh2b2lkIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6KikoV2ViS2l0OjpXZWJQYWdlUHJveHkgKiBj
b25zdCwgdW5zaWduZWQgbG9uZywgY29uc3QgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhICYs
IHVuc2lnbmVkIGxvbmcsIFdlYktpdDo6TmF2aWdhdGlvbkFjdGlvbkRhdGEgJiYsIGNvbnN0IFdl
YktpdDo6RnJhbWVJbmZvRGF0YSAmLCB1bnNpZ25lZCBsb25nLCBjb25zdCBXZWJDb3JlOjpSZXNv
dXJjZVJlcXVlc3QgJiwgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0ICYmLCB1bnNpZ25lZCBsb25n
LCBjb25zdCBXZWJLaXQ6OlVzZXJEYXRhICYsIGJvb2wgJiwgdW5zaWduZWQgbG9uZyAmLCBXZWJD
b3JlOjpQb2xpY3lBY3Rpb24gJiwgV2ViS2l0OjpEb3dubG9hZElEICYsIHN0ZDo6b3B0aW9uYWw8
V2ViS2l0OjpXZWJzaXRlUG9saWNpZXNEYXRhPiAmKSkgMHg3ZjlkNjNlMzcyMjAgPFdlYktpdDo6
V2ViUGFnZVByb3h5OjpkZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uKHVuc2lnbmVkIGxv
bmcsIFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YSBjb25zdCYsIHVuc2lnbmVkIGxvbmcsIFdl
YktpdDo6TmF2aWdhdGlvbkFjdGlvbkRhdGEmJiwgV2ViS2l0OjpGcmFtZUluZm9EYXRhIGNvbnN0
JiwgdW5zaWduZWQgbG9uZywgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0IGNvbnN0JiwgV2ViQ29y
ZTo6UmVzb3VyY2VSZXF1ZXN0JiYsIHVuc2lnbmVkIGxvbmcsIFdlYktpdDo6VXNlckRhdGEgY29u
c3QmLCBib29sJiwgdW5zaWduZWQgbG9uZyYsIFdlYkNvcmU6OlBvbGljeUFjdGlvbiYsIFdlYktp
dDo6RG93bmxvYWRJRCYsIHN0ZDo6b3B0aW9uYWw8V2ViS2l0OjpXZWJzaXRlUG9saWNpZXNEYXRh
PiYpPiwgb2JqZWN0PTB4N2Y5ZDEwZGRiMDAwKQogICAgYXQgL2hvbWUvZ251bWRrL3BlcnNvL3dl
YmtpdDJndGsvc3JjL3dlYmtpdGd0ay0yLjE5LjkxL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBD
L0hhbmRsZU1lc3NhZ2UuaDo1NAogICAgICAgIGFyZ3VtZW50cyA9IAogICAgICAgICAgICBQeXRo
b24gRXhjZXB0aW9uIDxjbGFzcyAnZ2RiLmVycm9yJz4gVGhlcmUgaXMgbm8gbWVtYmVyIG9yIG1l
dGhvZCBuYW1lZCBfTV9wYXlsb2FkLjogClB5dGhvbiBFeGNlcHRpb24gPGNsYXNzICdnZGIuZXJy
b3InPiBUaGVyZSBpcyBubyBtZW1iZXIgb3IgbWV0aG9kIG5hbWVkIF9NX3BheWxvYWQuOiAKc3Rk
Ojp0dXBsZSBjb250YWluaW5nID0ge1sxXSA9IDEsIFsyXSA9IHtwcm90b2NvbCA9IHttX2ltcGwg
PSB7c3RhdGljIGlzUmVmUHRyID0gPG9wdGltaXplZCBvdXQ+LCBtX3B0ciA9IDB4N2Y5MDAwNWMx
MmEwfX0sIGhvc3QgPSB7bV9pbXBsID0ge3N0YXRpYyBpc1JlZlB0ciA9IDxvcHRpbWl6ZWQgb3V0
PiwgbV9wdHIgPSAweDdmOTAwMDVjMGNmOH19LCBwb3J0ID0gezxzdGQ6OmNvbnN0ZXhwcl9vcHRp
b25hbF9iYXNlPHVuc2lnbmVkIHNob3J0Pj4gPSB7aW5pdF8gPSBmYWxzZSwgc3RvcmFnZV8gPSB7
ZHVtbXlfID0gMCAnXDAwMCcsIHZhbHVlXyA9IDIwMjI0fX0sIDxObyBkYXRhIGZpZWxkcz59fSwg
WzNdID0gMCwgWzRdID0ge25hdmlnYXRpb25UeXBlID0gV2ViQ29yZTo6TmF2aWdhdGlvblR5cGU6
OkxpbmtDbGlja2VkLCBtb2RpZmllcnMgPSAodW5rbm93bjogMCksIG1vdXNlQnV0dG9uID0gV2Vi
S2l0OjpXZWJNb3VzZUV2ZW50OjpMZWZ0QnV0dG9uLCBzeW50aGV0aWNDbGlja1R5cGUgPSBXZWJL
aXQ6OldlYk1vdXNlRXZlbnQ6Ok5vVGFwLCB1c2VyR2VzdHVyZVRva2VuSWRlbnRpZmllciA9IDEs
IGNhbkhhbmRsZVJlcXVlc3QgPSBmYWxzZSwgc2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeSA9
IFdlYkNvcmU6OlNob3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3k6OlNob3VsZEFsbG93LCBkb3du
bG9hZEF0dHJpYnV0ZSA9IHttX2ltcGwgPSB7c3RhdGljIGlzUmVmUHRyID0gPG9wdGltaXplZCBv
dXQ+LCBtX3B0ciA9IDB4MH19LCBjbGlja0xvY2F0aW9uSW5Sb290Vmlld0Nvb3JkaW5hdGVzID0g
e21feCA9IDEzMjQsIG1feSA9IDcxM30sIGlzUmVkaXJlY3QgPSBmYWxzZX0sIFs1XSA9IHtpc01h
aW5GcmFtZSA9IGZhbHNlLCByZXF1ZXN0ID0gezxXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3RCYXNl
PiA9IHttX3VybCA9IHttX3N0cmluZyA9IHttX2ltcGwgPSB7c3RhdGljIGlzUmVmUHRyID0gPG9w
dGltaXplZCBvdXQ+LCBtX3B0ciA9IDB4N2Y5MDAwNWM0YzAwfX0sIG1faXNWYWxpZCA9IHRydWUs
IG1fcHJvdG9jb2xJc0luSFRUUEZhbWlseSA9IHRydWUsIG1fY2Fubm90QmVBQmFzZVVSTCA9IGZh
bHNlLCBtX3NjaGVtZUVuZCA9IDUsIG1fdXNlclN0YXJ0ID0gOCwgbV91c2VyRW5kID0gOCwgbV9w
YXNzd29yZEVuZCA9IDgsIG1faG9zdEVuZCA9IDIxLCBtX3BvcnRFbmQgPSAyMSwgbV9wYXRoQWZ0
ZXJMYXN0U2xhc2ggPSAyMiwgbV9wYXRoRW5kID0gMjIsIG1fcXVlcnlFbmQgPSAyMn0sIG1fdGlt
ZW91dEludGVydmFsID0gMCwgbV9maXJzdFBhcnR5Rm9yQ29va2llcyA9IHttX3N0cmluZyA9IHtt
X2ltcGwgPSB7c3RhdGljIGlzUmVmUHRyID0gPG9wdGltaXplZCBvdXQ+LCBtX3B0ciA9IDB4MH19
LCBtX2lzVmFsaWQgPSBmYWxzZSwgbV9wcm90b2NvbElzSW5IVFRQRmFtaWx5ID0gZmFsc2UsIG1f
Y2Fubm90QmVBQmFzZVVSTCA9IGZhbHNlLCBtX3NjaGVtZUVuZCA9IDAsIG1fdXNlclN0YXJ0ID0g
MCwgbV91c2VyRW5kID0gMCwgbV9wYXNzd29yZEVuZCA9IDAsIG1faG9zdEVuZCA9IDAsIG1fcG9y
dEVuZCA9IDAsIG1fcGF0aEFmdGVyTGFzdFNsYXNoID0gMCwgbV9wYXRoRW5kID0gMCwgbV9xdWVy
eUVuZCA9IDB9LCBtX2h0dHBNZXRob2QgPSB7bV9pbXBsID0ge3N0YXRpYyBpc1JlZlB0ciA9IDxv
cHRpbWl6ZWQgb3V0PiwgbV9wdHIgPSAweDdmOTAwMDVjMTJjMH19LCBtX2h0dHBIZWFkZXJGaWVs
ZHMgPSB7bV9jb21tb25IZWFkZXJzID0ge21faW1wbCA9IHtzdGF0aWMgbV9tYXhMb2FkID0gMiwg
c3RhdGljIG1fbWluTG9hZCA9IDYsIG1fdGFibGUgPSAweDAsIG1fdGFibGVTaXplID0gMCwgbV90
YWJsZVNpemVNYXNrID0gMCwgbV9rZXlDb3VudCA9IDAsIG1fZGVsZXRlZENvdW50ID0gMH19LCBt
X3VuY29tbW9uSGVhZGVycyA9IHttX2ltcGwgPSB7c3RhdGljIG1fbWF4TG9hZCA9IDIsIHN0YXRp
YyBtX21pbkxvYWQgPSA2LCBtX3RhYmxlID0gMHgwLCBtX3RhYmxlU2l6ZSA9IDAsIG1fdGFibGVT
aXplTWFzayA9IDAsIG1fa2V5Q291bnQgPSAwLCBtX2RlbGV0ZWRDb3VudCA9IDB9fX0sIG1fcmVz
cG9uc2VDb250ZW50RGlzcG9zaXRpb25FbmNvZGluZ0ZhbGxiYWNrQXJyYXkgPSB7PFdURjo6VmVj
dG9yQnVmZmVyPFdURjo6U3RyaW5nLCAwLCBXVEY6OkZhc3RNYWxsb2M+PiA9IHs8V1RGOjpWZWN0
b3JCdWZmZXJCYXNlPFdURjo6U3RyaW5nLCBXVEY6OkZhc3RNYWxsb2M+PiA9IHttX2J1ZmZlciA9
IDB4MCwgbV9jYXBhY2l0eSA9IDAsIG1fc2l6ZSA9IDAsIG1fbWFzayA9IDB9LCA8Tm8gZGF0YSBm
aWVsZHM+fSwgPE5vIGRhdGEgZmllbGRzPn0sIG1faHR0cEJvZHkgPSB7c3RhdGljIGlzUmVmUHRy
ID0gPG9wdGltaXplZCBvdXQ+LCBtX3B0ciA9IDB4MH0sIG1fY2FjaGVQb2xpY3kgPSBXZWJDb3Jl
OjpVc2VQcm90b2NvbENhY2hlUG9saWN5LCBtX2FsbG93Q29va2llcyA9IHRydWUsIG1fcmVzb3Vy
Y2VSZXF1ZXN0VXBkYXRlZCA9IHRydWUsIG1fcGxhdGZvcm1SZXF1ZXN0VXBkYXRlZCA9IGZhbHNl
LCBtX3Jlc291cmNlUmVxdWVzdEJvZHlVcGRhdGVkID0gdHJ1ZSwgbV9wbGF0Zm9ybVJlcXVlc3RC
b2R5VXBkYXRlZCA9IGZhbHNlLCBtX2hpZGRlbkZyb21JbnNwZWN0b3IgPSBmYWxzZSwgbV9wcmlv
cml0eSA9IFdlYkNvcmU6OlJlc291cmNlTG9hZFByaW9yaXR5OjpMb3csIG1fcmVxdWVzdGVyID0g
V2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0QmFzZTo6UmVxdWVzdGVyOjpVbnNwZWNpZmllZCwgbV9p
bml0aWF0b3JJZGVudGlmaWVyID0ge21faW1wbCA9IHtzdGF0aWMgaXNSZWZQdHIgPSA8b3B0aW1p
emVkIG91dD4sIG1fcHRyID0gMHgwfX0sIG1fY2FjaGVQYXJ0aXRpb24gPSB7bV9pbXBsID0ge3N0
YXRpYyBpc1JlZlB0ciA9IDxvcHRpbWl6ZWQgb3V0PiwgbV9wdHIgPSAweDdmOWQ2MjgxMThkMCA8
V1RGOjpTdHJpbmdJbXBsOjpzX2F0b21pY0VtcHR5U3RyaW5nPn19LCBzdGF0aWMgc19kZWZhdWx0
VGltZW91dEludGVydmFsID0gMH0sIG1fYWNjZXB0RW5jb2RpbmcgPSB0cnVlLCBtX3NvdXBGbGFn
cyA9ICh1bmtub3duOiAwKSwgbV9pbml0aWF0aW5nUGFnZUlEID0gMH0sIHNlY3VyaXR5T3JpZ2lu
ID0ge3Byb3RvY29sID0ge21faW1wbCA9IHtzdGF0aWMgaXNSZWZQdHIgPSA8b3B0aW1pemVkIG91
dD4sIG1fcHRyID0gMHg3ZjkwMDA1YzEyZTB9fSwgaG9zdCA9IHttX2ltcGwgPSB7c3RhdGljIGlz
UmVmUHRyID0gPG9wdGltaXplZCBvdXQ+LCBtX3B0ciA9IDB4N2Y5MDAwNWMwZDIwfX0sIHBvcnQg
PSB7PHN0ZDo6Y29uc3RleHByX29wdGlvbmFsX2Jhc2U8dW5zaWduZWQgc2hvcnQ+PiA9IHtpbml0
XyA9IGZhbHNlLCBzdG9yYWdlXyA9IHtkdW1teV8gPSAwICdcMDAwJywgdmFsdWVfID0gMH19LCA8
Tm8gZGF0YSBmaWVsZHM+fX0sIGZyYW1lSUQgPSAxfSwgWzZdID0gNCwgWzddID0gezxXZWJDb3Jl
OjpSZXNvdXJjZVJlcXVlc3RCYXNlPiA9IHttX3VybCA9IHttX3N0cmluZyA9IHttX2ltcGwgPSB7
c3RhdGljIGlzUmVmUHRyID0gPG9wdGltaXplZCBvdXQ+LCBtX3B0ciA9IDB4N2Y5MDAwMGY1YmUw
fX0sIG1faXNWYWxpZCA9IHRydWUsIG1fcHJvdG9jb2xJc0luSFRUUEZhbWlseSA9IHRydWUsIG1f
Y2Fubm90QmVBQmFzZVVSTCA9IGZhbHNlLCBtX3NjaGVtZUVuZCA9IDQsIG1fdXNlclN0YXJ0ID0g
NywgbV91c2VyRW5kID0gNywgbV9wYXNzd29yZEVuZCA9IDcsIG1faG9zdEVuZCA9IDIzLCBtX3Bv
cnRFbmQgPSAyMywgbV9wYXRoQWZ0ZXJMYXN0U2xhc2ggPSA0MSwgbV9wYXRoRW5kID0gNTIsIG1f
cXVlcnlFbmQgPSA1Mn0sIG1fdGltZW91dEludGVydmFsID0gMCwgbV9maXJzdFBhcnR5Rm9yQ29v
a2llcyA9IHttX3N0cmluZyA9IHttX2ltcGwgPSB7c3RhdGljIGlzUmVmUHRyID0gPG9wdGltaXpl
ZCBvdXQ+LCBtX3B0ciA9IDB4N2Y5MDAwMGY1NTAwfX0sIG1faXNWYWxpZCA9IHRydWUsIG1fcHJv
dG9jb2xJc0luSFRUUEZhbWlseSA9IHRydWUsIG1fY2Fubm90QmVBQmFzZVVSTCA9IGZhbHNlLCBt
X3NjaGVtZUVuZCA9IDQsIG1fdXNlclN0YXJ0ID0gNywgbV91c2VyRW5kID0gNywgbV9wYXNzd29y
ZEVuZCA9IDcsIG1faG9zdEVuZCA9IDIzLCBtX3BvcnRFbmQgPSAyMywgbV9wYXRoQWZ0ZXJMYXN0
U2xhc2ggPSA0MSwgbV9wYXRoRW5kID0gNTIsIG1fcXVlcnlFbmQgPSA1Mn0sIG1faHR0cE1ldGhv
ZCA9IHttX2ltcGwgPSB7c3RhdGljIGlzUmVmUHRyID0gPG9wdGltaXplZCBvdXQ+LCBtX3B0ciA9
IDB4N2Y5MDAwNWMxOTAwfX0sIG1faHR0cEhlYWRlckZpZWxkcyA9IHttX2NvbW1vbkhlYWRlcnMg
PSB7bV9pbXBsID0ge3N0YXRpYyBtX21heExvYWQgPSAyLCBzdGF0aWMgbV9taW5Mb2FkID0gNiwg
bV90YWJsZSA9IDB4N2Y5ZDAwMWE5ODgwLCBtX3RhYmxlU2l6ZSA9IDgsIG1fdGFibGVTaXplTWFz
ayA9IDcsIG1fa2V5Q291bnQgPSAyLCBtX2RlbGV0ZWRDb3VudCA9IDB9fSwgbV91bmNvbW1vbkhl
YWRlcnMgPSB7bV9pbXBsID0ge3N0YXRpYyBtX21heExvYWQgPSAyLCBzdGF0aWMgbV9taW5Mb2Fk
ID0gNiwgbV90YWJsZSA9IDB4MCwgbV90YWJsZVNpemUgPSAwLCBtX3RhYmxlU2l6ZU1hc2sgPSAw
LCBtX2tleUNvdW50ID0gMCwgbV9kZWxldGVkQ291bnQgPSAwfX19LCBtX3Jlc3BvbnNlQ29udGVu
dERpc3Bvc2l0aW9uRW5jb2RpbmdGYWxsYmFja0FycmF5ID0gezxXVEY6OlZlY3RvckJ1ZmZlcjxX
VEY6OlN0cmluZywgMCwgV1RGOjpGYXN0TWFsbG9jPj4gPSB7PFdURjo6VmVjdG9yQnVmZmVyQmFz
ZTxXVEY6OlN0cmluZywgV1RGOjpGYXN0TWFsbG9jPj4gPSB7bV9idWZmZXIgPSAweDdmOWQwMDFh
NjRlMCwgbV9jYXBhY2l0eSA9IDMsIG1fc2l6ZSA9IDMsIG1fbWFzayA9IDN9LCA8Tm8gZGF0YSBm
aWVsZHM+fSwgPE5vIGRhdGEgZmllbGRzPn0sIG1faHR0cEJvZHkgPSB7c3RhdGljIGlzUmVmUHRy
ID0gPG9wdGltaXplZCBvdXQ+LCBtX3B0ciA9IDB4MH0sIG1fY2FjaGVQb2xpY3kgPSBXZWJDb3Jl
OjpVc2VQcm90b2NvbENhY2hlUG9saWN5LCBtX2FsbG93Q29va2llcyA9IHRydWUsIG1fcmVzb3Vy
Y2VSZXF1ZXN0VXBkYXRlZCA9IHRydWUsIG1fcGxhdGZvcm1SZXF1ZXN0VXBkYXRlZCA9IGZhbHNl
LCBtX3Jlc291cmNlUmVxdWVzdEJvZHlVcGRhdGVkID0gdHJ1ZSwgbV9wbGF0Zm9ybVJlcXVlc3RC
b2R5VXBkYXRlZCA9IGZhbHNlLCBtX2hpZGRlbkZyb21JbnNwZWN0b3IgPSBmYWxzZSwgbV9wcmlv
cml0eSA9IFdlYkNvcmU6OlJlc291cmNlTG9hZFByaW9yaXR5OjpMb3csIG1fcmVxdWVzdGVyID0g
V2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0QmFzZTo6UmVxdWVzdGVyOjpVbnNwZWNpZmllZCwgbV9p
bml0aWF0b3JJZGVudGlmaWVyID0ge21faW1wbCA9IHtzdGF0aWMgaXNSZWZQdHIgPSA8b3B0aW1p
emVkIG91dD4sIG1fcHRyID0gMHgwfX0sIG1fY2FjaGVQYXJ0aXRpb24gPSB7bV9pbXBsID0ge3N0
YXRpYyBpc1JlZlB0ciA9IDxvcHRpbWl6ZWQgb3V0PiwgbV9wdHIgPSAweDdmOWQ2MjgxMThkMCA8
V1RGOjpTdHJpbmdJbXBsOjpzX2F0b21pY0VtcHR5U3RyaW5nPn19LCBzdGF0aWMgc19kZWZhdWx0
VGltZW91dEludGVydmFsID0gMH0sIG1fYWNjZXB0RW5jb2RpbmcgPSB0cnVlLCBtX3NvdXBGbGFn
cyA9ICh1bmtub3duOiAwKSwgbV9pbml0aWF0aW5nUGFnZUlEID0gMH0sIFs4XSA9IHs8V2ViQ29y
ZTo6UmVzb3VyY2VSZXF1ZXN0QmFzZT4gPSB7bV91cmwgPSB7bV9zdHJpbmcgPSB7bV9pbXBsID0g
e3N0YXRpYyBpc1JlZlB0ciA9IDxvcHRpbWl6ZWQgb3V0PiwgbV9wdHIgPSAweDdmOTAwMDBmNTU1
MH19LCBtX2lzVmFsaWQgPSB0cnVlLCBtX3Byb3RvY29sSXNJbkhUVFBGYW1pbHkgPSB0cnVlLCBt
X2Nhbm5vdEJlQUJhc2VVUkwgPSBmYWxzZSwgbV9zY2hlbWVFbmQgPSA0LCBtX3VzZXJTdGFydCA9
IDcsIG1fdXNlckVuZCA9IDcsIG1fcGFzc3dvcmRFbmQgPSA3LCBtX2hvc3RFbmQgPSAyMywgbV9w
b3J0RW5kID0gMjMsIG1fcGF0aEFmdGVyTGFzdFNsYXNoID0gNDEsIG1fcGF0aEVuZCA9IDUyLCBt
X3F1ZXJ5RW5kID0gNTJ9LCBtX3RpbWVvdXRJbnRlcnZhbCA9IDAsIG1fZmlyc3RQYXJ0eUZvckNv
b2tpZXMgPSB7bV9zdHJpbmcgPSB7bV9pbXBsID0ge3N0YXRpYyBpc1JlZlB0ciA9IDxvcHRpbWl6
ZWQgb3V0PiwgbV9wdHIgPSAweDdmOTAwMDBmNTVhMH19LCBtX2lzVmFsaWQgPSB0cnVlLCBtX3By
b3RvY29sSXNJbkhUVFBGYW1pbHkgPSB0cnVlLCBtX2Nhbm5vdEJlQUJhc2VVUkwgPSBmYWxzZSwg
bV9zY2hlbWVFbmQgPSA0LCBtX3VzZXJTdGFydCA9IDcsIG1fdXNlckVuZCA9IDcsIG1fcGFzc3dv
cmRFbmQgPSA3LCBtX2hvc3RFbmQgPSAyMywgbV9wb3J0RW5kID0gMjMsIG1fcGF0aEFmdGVyTGFz
dFNsYXNoID0gNDEsIG1fcGF0aEVuZCA9IDUyLCBtX3F1ZXJ5RW5kID0gNTJ9LCBtX2h0dHBNZXRo
b2QgPSB7bV9pbXBsID0ge3N0YXRpYyBpc1JlZlB0ciA9IDxvcHRpbWl6ZWQgb3V0PiwgbV9wdHIg
PSAweDdmOTAwMDVjMTk2MH19LCBtX2h0dHBIZWFkZXJGaWVsZHMgPSB7bV9jb21tb25IZWFkZXJz
ID0ge21faW1wbCA9IHtzdGF0aWMgbV9tYXhMb2FkID0gMiwgc3RhdGljIG1fbWluTG9hZCA9IDYs
IG1fdGFibGUgPSAweDdmOWQwMDFhOTk4MCwgbV90YWJsZVNpemUgPSA4LCBtX3RhYmxlU2l6ZU1h
c2sgPSA3LCBtX2tleUNvdW50ID0gMiwgbV9kZWxldGVkQ291bnQgPSAwfX0sIG1fdW5jb21tb25I
ZWFkZXJzID0ge21faW1wbCA9IHtzdGF0aWMgbV9tYXhMb2FkID0gMiwgc3RhdGljIG1fbWluTG9h
ZCA9IDYsIG1fdGFibGUgPSAweDAsIG1fdGFibGVTaXplID0gMCwgbV90YWJsZVNpemVNYXNrID0g
MCwgbV9rZXlDb3VudCA9IDAsIG1fZGVsZXRlZENvdW50ID0gMH19fSwgbV9yZXNwb25zZUNvbnRl
bnREaXNwb3NpdGlvbkVuY29kaW5nRmFsbGJhY2tBcnJheSA9IHs8V1RGOjpWZWN0b3JCdWZmZXI8
V1RGOjpTdHJpbmcsIDAsIFdURjo6RmFzdE1hbGxvYz4+ID0gezxXVEY6OlZlY3RvckJ1ZmZlckJh
c2U8V1RGOjpTdHJpbmcsIFdURjo6RmFzdE1hbGxvYz4+ID0ge21fYnVmZmVyID0gMHg3ZjlkMDAx
YTY0ZjgsIG1fY2FwYWNpdHkgPSAzLCBtX3NpemUgPSAzLCBtX21hc2sgPSAzfSwgPE5vIGRhdGEg
ZmllbGRzPn0sIDxObyBkYXRhIGZpZWxkcz59LCBtX2h0dHBCb2R5ID0ge3N0YXRpYyBpc1JlZlB0
ciA9IDxvcHRpbWl6ZWQgb3V0PiwgbV9wdHIgPSAweDB9LCBtX2NhY2hlUG9saWN5ID0gV2ViQ29y
ZTo6VXNlUHJvdG9jb2xDYWNoZVBvbGljeSwgbV9hbGxvd0Nvb2tpZXMgPSB0cnVlLCBtX3Jlc291
cmNlUmVxdWVzdFVwZGF0ZWQgPSB0cnVlLCBtX3BsYXRmb3JtUmVxdWVzdFVwZGF0ZWQgPSBmYWxz
ZSwgbV9yZXNvdXJjZVJlcXVlc3RCb2R5VXBkYXRlZCA9IHRydWUsIG1fcGxhdGZvcm1SZXF1ZXN0
Qm9keVVwZGF0ZWQgPSBmYWxzZSwgbV9oaWRkZW5Gcm9tSW5zcGVjdG9yID0gZmFsc2UsIG1fcHJp
b3JpdHkgPSBXZWJDb3JlOjpSZXNvdXJjZUxvYWRQcmlvcml0eTo6TG93LCBtX3JlcXVlc3RlciA9
IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdEJhc2U6OlJlcXVlc3Rlcjo6VW5zcGVjaWZpZWQsIG1f
aW5pdGlhdG9ySWRlbnRpZmllciA9IHttX2ltcGwgPSB7c3RhdGljIGlzUmVmUHRyID0gPG9wdGlt
aXplZCBvdXQ+LCBtX3B0ciA9IDB4MH19LCBtX2NhY2hlUGFydGl0aW9uID0ge21faW1wbCA9IHtz
dGF0aWMgaXNSZWZQdHIgPSA8b3B0aW1pemVkIG91dD4sIG1fcHRyID0gMHg3ZjlkNjI4MTE4ZDAg
PFdURjo6U3RyaW5nSW1wbDo6c19hdG9taWNFbXB0eVN0cmluZz59fSwgc3RhdGljIHNfZGVmYXVs
dFRpbWVvdXRJbnRlcnZhbCA9IDB9LCBtX2FjY2VwdEVuY29kaW5nID0gdHJ1ZSwgbV9zb3VwRmxh
Z3MgPSAodW5rbm93bjogMCksIG1faW5pdGlhdGluZ1BhZ2VJRCA9IDB9LCBbOV0gPSA1LCBbMTBd
ID0ge21fb2JqZWN0ID0ge3N0YXRpYyBpc1JlZlB0ciA9IDxvcHRpbWl6ZWQgb3V0PiwgbV9wdHIg
PSAweDB9fX0KICAgICAgICByZXBseUFyZ3VtZW50cyA9IAogICAgICAgICAgUHl0aG9uIEV4Y2Vw
dGlvbiA8Y2xhc3MgJ2dkYi5lcnJvcic+IFRoZXJlIGlzIG5vIG1lbWJlciBvciBtZXRob2QgbmFt
ZWQgX01fcGF5bG9hZC46IApQeXRob24gRXhjZXB0aW9uIDxjbGFzcyAnZ2RiLmVycm9yJz4gVGhl
cmUgaXMgbm8gbWVtYmVyIG9yIG1ldGhvZCBuYW1lZCBfTV9wYXlsb2FkLjogCnN0ZDo6dHVwbGUg
Y29udGFpbmluZyA9IHtbMV0gPSBmYWxzZSwgWzJdID0gMywgWzNdID0gV2ViQ29yZTo6UG9saWN5
QWN0aW9uOjpVc2UsIFs0XSA9IHttX2Rvd25sb2FkSUQgPSAwfSwgWzVdID0gezxzdGQ6Om9wdGlv
bmFsX2Jhc2U8V2ViS2l0OjpXZWJzaXRlUG9saWNpZXNEYXRhPj4gPSB7aW5pdF8gPSBmYWxzZSwg
c3RvcmFnZV8gPSB7ZHVtbXlfID0gMCAnXDAwMCcsIHZhbHVlXyA9IHtjb250ZW50QmxvY2tlcnNF
bmFibGVkID0gZmFsc2UsIGFsbG93ZWRBdXRvcGxheVF1aXJrcyA9IHttX3N0b3JhZ2UgPSAwfSwg
YXV0b3BsYXlQb2xpY3kgPSBXZWJLaXQ6OldlYnNpdGVBdXRvcGxheVBvbGljeTo6RGVmYXVsdCwg
Y3VzdG9tSGVhZGVyRmllbGRzID0gezxXVEY6OlZlY3RvckJ1ZmZlcjxXZWJDb3JlOjpIVFRQSGVh
ZGVyRmllbGQsIDAsIFdURjo6RmFzdE1hbGxvYz4+ID0gezxXVEY6OlZlY3RvckJ1ZmZlckJhc2U8
V2ViQ29yZTo6SFRUUEhlYWRlckZpZWxkLCBXVEY6OkZhc3RNYWxsb2M+PiA9IHttX2J1ZmZlciA9
IDB4MSwgbV9jYXBhY2l0eSA9IDAsIG1fc2l6ZSA9IDIsIG1fbWFzayA9IDB9LCA8Tm8gZGF0YSBm
aWVsZHM+fSwgPE5vIGRhdGEgZmllbGRzPn0sIHBvcFVwUG9saWN5ID0gKHVua25vd246IDExNTE2
OTY4OTYpLCB3ZWJzaXRlRGF0YVN0b3JlUGFyYW1ldGVycyA9IHs8c3RkOjpvcHRpb25hbF9iYXNl
PFdlYktpdDo6V2Vic2l0ZURhdGFTdG9yZVBhcmFtZXRlcnM+PiA9IHtpbml0XyA9IGZhbHNlLCBz
dG9yYWdlXyA9IHtkdW1teV8gPSAxNDQgJ1wyMjAnLCB2YWx1ZV8gPSB7dWlQcm9jZXNzQ29va2ll
U3RvcmFnZUlkZW50aWZpZXIgPSB7PFdURjo6VmVjdG9yQnVmZmVyPHVuc2lnbmVkIGNoYXIsIDAs
IFdURjo6RmFzdE1hbGxvYz4+ID0gezxXVEY6OlZlY3RvckJ1ZmZlckJhc2U8dW5zaWduZWQgY2hh
ciwgV1RGOjpGYXN0TWFsbG9jPj4gPSB7bV9idWZmZXIgPSAweDdmZmMxNmNhNzk5MCAiXDI0MHlc
MzEyXDAyNlwzNzRcMTc3IiwgbV9jYXBhY2l0eSA9IDM4MzM4NTYsIG1fc2l6ZSA9IDMyNjY5LCBt
X21hc2sgPSAxNjQ5Nzc0MTEyfSwgPE5vIGRhdGEgZmllbGRzPn0sIDxObyBkYXRhIGZpZWxkcz59
LCBjb29raWVTdG9yYWdlUGF0aEV4dGVuc2lvbkhhbmRsZSA9IHs8Tm8gZGF0YSBmaWVsZHM+fSwg
cGVuZGluZ0Nvb2tpZXMgPSB7PFdURjo6VmVjdG9yQnVmZmVyPFdlYkNvcmU6OkNvb2tpZSwgMCwg
V1RGOjpGYXN0TWFsbG9jPj4gPSB7PFdURjo6VmVjdG9yQnVmZmVyQmFzZTxXZWJDb3JlOjpDb29r
aWUsIFdURjo6RmFzdE1hbGxvYz4+ID0ge21fYnVmZmVyID0gMHg3ZmZjMTZjYTc5YjAsIG1fY2Fw
YWNpdHkgPSA4LCBtX3NpemUgPSAwLCBtX21hc2sgPSAwfSwgPE5vIGRhdGEgZmllbGRzPn0sIDxO
byBkYXRhIGZpZWxkcz59LCBjYWNoZVN0b3JhZ2VEaXJlY3RvcnkgPSB7bV9pbXBsID0ge3N0YXRp
YyBpc1JlZlB0ciA9IDxvcHRpbWl6ZWQgb3V0PiwgbV9wdHIgPSAweDU1ODU3YWFkZjE1MH19LCBj
YWNoZVN0b3JhZ2VQZXJPcmlnaW5RdW90YSA9IDE0MDcyMDY5MDg1NDMwNCwgY2FjaGVTdG9yYWdl
RGlyZWN0b3J5RXh0ZW5zaW9uSGFuZGxlID0gezxObyBkYXRhIGZpZWxkcz59LCBuZXR3b3JrU2Vz
c2lvblBhcmFtZXRlcnMgPSB7c2Vzc2lvbklEID0ge21fc2Vzc2lvbklEID0gMX0sIGxlZ2FjeUN1
c3RvbVByb3RvY29sTWFuYWdlciA9IDB4NDFjNzI3ZmU0ZjE4YTMwMCwgYm91bmRJbnRlcmZhY2VJ
ZGVudGlmaWVyID0ge21faW1wbCA9IHtzdGF0aWMgaXNSZWZQdHIgPSA8b3B0aW1pemVkIG91dD4s
IG1fcHRyID0gMHg1ZGN9fSwgYWxsb3dzQ2VsbHVsYXJBY2Nlc3MgPSAodW5rbm93bjogLTY3MTA4
MjE0NCl9fX19LCA8Tm8gZGF0YSBmaWVsZHM+fX19fSwgPE5vIGRhdGEgZmllbGRzPn19CiMxOSAw
eDAwMDA3ZjlkNjQwMzdkOWIgaW4gSVBDOjpjYWxsTWVtYmVyRnVuY3Rpb248V2ViS2l0OjpXZWJQ
YWdlUHJveHksIHZvaWQgKFdlYktpdDo6V2ViUGFnZVByb3h5OjoqKSh1bnNpZ25lZCBsb25nLCBX
ZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGEgY29uc3QmLCB1bnNpZ25lZCBsb25nLCBXZWJLaXQ6
Ok5hdmlnYXRpb25BY3Rpb25EYXRhJiYsIFdlYktpdDo6RnJhbWVJbmZvRGF0YSBjb25zdCYsIHVu
c2lnbmVkIGxvbmcsIFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCBjb25zdCYsIFdlYkNvcmU6OlJl
c291cmNlUmVxdWVzdCYmLCB1bnNpZ25lZCBsb25nLCBXZWJLaXQ6OlVzZXJEYXRhIGNvbnN0Jiwg
Ym9vbCYsIHVuc2lnbmVkIGxvbmcmLCBXZWJDb3JlOjpQb2xpY3lBY3Rpb24mLCBXZWJLaXQ6OkRv
d25sb2FkSUQmLCBzdGQ6Om9wdGlvbmFsPFdlYktpdDo6V2Vic2l0ZVBvbGljaWVzRGF0YT4mKSwg
c3RkOjp0dXBsZTx1bnNpZ25lZCBsb25nLCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGEsIHVu
c2lnbmVkIGxvbmcsIFdlYktpdDo6TmF2aWdhdGlvbkFjdGlvbkRhdGEsIFdlYktpdDo6RnJhbWVJ
bmZvRGF0YSwgdW5zaWduZWQgbG9uZywgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0LCBXZWJDb3Jl
OjpSZXNvdXJjZVJlcXVlc3QsIHVuc2lnbmVkIGxvbmcsIFdlYktpdDo6VXNlckRhdGE+LCBzdGQ6
OmludGVnZXJfc2VxdWVuY2U8dW5zaWduZWQgbG9uZywgMHVsLCAxdWwsIDJ1bCwgM3VsLCA0dWws
IDV1bCwgNnVsLCA3dWwsIDh1bCwgOXVsPiwgc3RkOjp0dXBsZTxib29sLCB1bnNpZ25lZCBsb25n
LCBXZWJDb3JlOjpQb2xpY3lBY3Rpb24sIFdlYktpdDo6RG93bmxvYWRJRCwgc3RkOjpvcHRpb25h
bDxXZWJLaXQ6OldlYnNpdGVQb2xpY2llc0RhdGE+ID4sIHN0ZDo6aW50ZWdlcl9zZXF1ZW5jZTx1
bnNpZ25lZCBsb25nLCAwdWwsIDF1bCwgMnVsLCAzdWwsIDR1bD4gPihzdGQ6OnR1cGxlPHVuc2ln
bmVkIGxvbmcsIFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YSwgdW5zaWduZWQgbG9uZywgV2Vi
S2l0OjpOYXZpZ2F0aW9uQWN0aW9uRGF0YSwgV2ViS2l0OjpGcmFtZUluZm9EYXRhLCB1bnNpZ25l
ZCBsb25nLCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QsIFdlYkNvcmU6OlJlc291cmNlUmVxdWVz
dCwgdW5zaWduZWQgbG9uZywgV2ViS2l0OjpVc2VyRGF0YT4mJiwgc3RkOjp0dXBsZTxib29sLCB1
bnNpZ25lZCBsb25nLCBXZWJDb3JlOjpQb2xpY3lBY3Rpb24sIFdlYktpdDo6RG93bmxvYWRJRCwg
c3RkOjpvcHRpb25hbDxXZWJLaXQ6OldlYnNpdGVQb2xpY2llc0RhdGE+ID4mLCBXZWJLaXQ6Oldl
YlBhZ2VQcm94eSosIHZvaWQgKFdlYktpdDo6V2ViUGFnZVByb3h5OjoqKSh1bnNpZ25lZCBsb25n
LCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGEgY29uc3QmLCB1bnNpZ25lZCBsb25nLCBXZWJL
aXQ6Ok5hdmlnYXRpb25BY3Rpb25EYXRhJiYsIFdlYktpdDo6RnJhbWVJbmZvRGF0YSBjb25zdCYs
IHVuc2lnbmVkIGxvbmcsIFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCBjb25zdCYsIFdlYkNvcmU6
OlJlc291cmNlUmVxdWVzdCYmLCB1bnNpZ25lZCBsb25nLCBXZWJLaXQ6OlVzZXJEYXRhIGNvbnN0
JiwgYm9vbCYsIHVuc2lnbmVkIGxvbmcmLCBXZWJDb3JlOjpQb2xpY3lBY3Rpb24mLCBXZWJLaXQ6
OkRvd25sb2FkSUQmLCBzdGQ6Om9wdGlvbmFsPFdlYktpdDo6V2Vic2l0ZVBvbGljaWVzRGF0YT4m
KSkgKGZ1bmN0aW9uPQogICAgKHZvaWQgKFdlYktpdDo6V2ViUGFnZVByb3h5OjoqKShXZWJLaXQ6
OldlYlBhZ2VQcm94eSAqIGNvbnN0LCB1bnNpZ25lZCBsb25nLCBjb25zdCBXZWJDb3JlOjpTZWN1
cml0eU9yaWdpbkRhdGEgJiwgdW5zaWduZWQgbG9uZywgV2ViS2l0OjpOYXZpZ2F0aW9uQWN0aW9u
RGF0YSAmJiwgY29uc3QgV2ViS2l0OjpGcmFtZUluZm9EYXRhICYsIHVuc2lnbmVkIGxvbmcsIGNv
bnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCAmLCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3Qg
JiYsIHVuc2lnbmVkIGxvbmcsIGNvbnN0IFdlYktpdDo6VXNlckRhdGEgJiwgYm9vbCAmLCB1bnNp
Z25lZCBsb25nICYsIFdlYkNvcmU6OlBvbGljeUFjdGlvbiAmLCBXZWJLaXQ6OkRvd25sb2FkSUQg
Jiwgc3RkOjpvcHRpb25hbDxXZWJLaXQ6OldlYnNpdGVQb2xpY2llc0RhdGE+ICYpKSAweDdmOWQ2
M2UzNzIyMCA8V2ViS2l0OjpXZWJQYWdlUHJveHk6OmRlY2lkZVBvbGljeUZvck5hdmlnYXRpb25B
Y3Rpb24odW5zaWduZWQgbG9uZywgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhIGNvbnN0Jiwg
dW5zaWduZWQgbG9uZywgV2ViS2l0OjpOYXZpZ2F0aW9uQWN0aW9uRGF0YSYmLCBXZWJLaXQ6OkZy
YW1lSW5mb0RhdGEgY29uc3QmLCB1bnNpZ25lZCBsb25nLCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVl
c3QgY29uc3QmLCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmJiwgdW5zaWduZWQgbG9uZywgV2Vi
S2l0OjpVc2VyRGF0YSBjb25zdCYsIGJvb2wmLCB1bnNpZ25lZCBsb25nJiwgV2ViQ29yZTo6UG9s
aWN5QWN0aW9uJiwgV2ViS2l0OjpEb3dubG9hZElEJiwgc3RkOjpvcHRpb25hbDxXZWJLaXQ6Oldl
YnNpdGVQb2xpY2llc0RhdGE+Jik+LCBvYmplY3Q9MHg3ZjlkMTBkZGIwMDAsIHJlcGx5QXJncz1z
dGQ6OnR1cGxlIGNvbnRhaW5pbmcgPSB7Li4ufSwgYXJncz0uLi4pCiAgICBhdCAvaG9tZS9nbnVt
ZGsvcGVyc28vd2Via2l0Mmd0ay9zcmMvd2Via2l0Z3RrLTIuMTkuOTEvU291cmNlL1dlYktpdC9Q
bGF0Zm9ybS9JUEMvSGFuZGxlTWVzc2FnZS5oOjYwCiAgICAgICAgYXJndW1lbnRzID0gCiAgICAg
ICAgICAgIFB5dGhvbiBFeGNlcHRpb24gPGNsYXNzICdnZGIuZXJyb3InPiBUaGVyZSBpcyBubyBt
ZW1iZXIgb3IgbWV0aG9kIG5hbWVkIF9NX3BheWxvYWQuOiAKUHl0aG9uIEV4Y2VwdGlvbiA8Y2xh
c3MgJ2dkYi5lcnJvcic+IFRoZXJlIGlzIG5vIG1lbWJlciBvciBtZXRob2QgbmFtZWQgX01fcGF5
bG9hZC46IApzdGQ6OnR1cGxlIGNvbnRhaW5pbmcgPSB7WzFdID0gMSwgWzJdID0ge3Byb3RvY29s
ID0ge21faW1wbCA9IHtzdGF0aWMgaXNSZWZQdHIgPSA8b3B0aW1pemVkIG91dD4sIG1fcHRyID0g
MHg3ZjkwMDA1YzEyYTB9fSwgaG9zdCA9IHttX2ltcGwgPSB7c3RhdGljIGlzUmVmUHRyID0gPG9w
dGltaXplZCBvdXQ+LCBtX3B0ciA9IDB4N2Y5MDAwNWMwY2Y4fX0sIHBvcnQgPSB7PHN0ZDo6Y29u
c3RleHByX29wdGlvbmFsX2Jhc2U8dW5zaWduZWQgc2hvcnQ+PiA9IHtpbml0XyA9IGZhbHNlLCBz
dG9yYWdlXyA9IHtkdW1teV8gPSAwICdcMDAwJywgdmFsdWVfID0gMjAyMjR9fSwgPE5vIGRhdGEg
ZmllbGRzPn19LCBbM10gPSAwLCBbNF0gPSB7bmF2aWdhdGlvblR5cGUgPSBXZWJDb3JlOjpOYXZp
Z2F0aW9uVHlwZTo6TGlua0NsaWNrZWQsIG1vZGlmaWVycyA9ICh1bmtub3duOiAwKSwgbW91c2VC
dXR0b24gPSBXZWJLaXQ6OldlYk1vdXNlRXZlbnQ6OkxlZnRCdXR0b24sIHN5bnRoZXRpY0NsaWNr
VHlwZSA9IFdlYktpdDo6V2ViTW91c2VFdmVudDo6Tm9UYXAsIHVzZXJHZXN0dXJlVG9rZW5JZGVu
dGlmaWVyID0gMSwgY2FuSGFuZGxlUmVxdWVzdCA9IGZhbHNlLCBzaG91bGRPcGVuRXh0ZXJuYWxV
UkxzUG9saWN5ID0gV2ViQ29yZTo6U2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeTo6U2hvdWxk
QWxsb3csIGRvd25sb2FkQXR0cmlidXRlID0ge21faW1wbCA9IHtzdGF0aWMgaXNSZWZQdHIgPSA8
b3B0aW1pemVkIG91dD4sIG1fcHRyID0gMHgwfX0sIGNsaWNrTG9jYXRpb25JblJvb3RWaWV3Q29v
cmRpbmF0ZXMgPSB7bV94ID0gMTMyNCwgbV95ID0gNzEzfSwgaXNSZWRpcmVjdCA9IGZhbHNlfSwg
WzVdID0ge2lzTWFpbkZyYW1lID0gZmFsc2UsIHJlcXVlc3QgPSB7PFdlYkNvcmU6OlJlc291cmNl
UmVxdWVzdEJhc2U+ID0ge21fdXJsID0ge21fc3RyaW5nID0ge21faW1wbCA9IHtzdGF0aWMgaXNS
ZWZQdHIgPSA8b3B0aW1pemVkIG91dD4sIG1fcHRyID0gMHg3ZjkwMDA1YzRjMDB9fSwgbV9pc1Zh
bGlkID0gdHJ1ZSwgbV9wcm90b2NvbElzSW5IVFRQRmFtaWx5ID0gdHJ1ZSwgbV9jYW5ub3RCZUFC
YXNlVVJMID0gZmFsc2UsIG1fc2NoZW1lRW5kID0gNSwgbV91c2VyU3RhcnQgPSA4LCBtX3VzZXJF
bmQgPSA4LCBtX3Bhc3N3b3JkRW5kID0gOCwgbV9ob3N0RW5kID0gMjEsIG1fcG9ydEVuZCA9IDIx
LCBtX3BhdGhBZnRlckxhc3RTbGFzaCA9IDIyLCBtX3BhdGhFbmQgPSAyMiwgbV9xdWVyeUVuZCA9
IDIyfSwgbV90aW1lb3V0SW50ZXJ2YWwgPSAwLCBtX2ZpcnN0UGFydHlGb3JDb29raWVzID0ge21f
c3RyaW5nID0ge21faW1wbCA9IHtzdGF0aWMgaXNSZWZQdHIgPSA8b3B0aW1pemVkIG91dD4sIG1f
cHRyID0gMHgwfX0sIG1faXNWYWxpZCA9IGZhbHNlLCBtX3Byb3RvY29sSXNJbkhUVFBGYW1pbHkg
PSBmYWxzZSwgbV9jYW5ub3RCZUFCYXNlVVJMID0gZmFsc2UsIG1fc2NoZW1lRW5kID0gMCwgbV91
c2VyU3RhcnQgPSAwLCBtX3VzZXJFbmQgPSAwLCBtX3Bhc3N3b3JkRW5kID0gMCwgbV9ob3N0RW5k
ID0gMCwgbV9wb3J0RW5kID0gMCwgbV9wYXRoQWZ0ZXJMYXN0U2xhc2ggPSAwLCBtX3BhdGhFbmQg
PSAwLCBtX3F1ZXJ5RW5kID0gMH0sIG1faHR0cE1ldGhvZCA9IHttX2ltcGwgPSB7c3RhdGljIGlz
UmVmUHRyID0gPG9wdGltaXplZCBvdXQ+LCBtX3B0ciA9IDB4N2Y5MDAwNWMxMmMwfX0sIG1faHR0
cEhlYWRlckZpZWxkcyA9IHttX2NvbW1vbkhlYWRlcnMgPSB7bV9pbXBsID0ge3N0YXRpYyBtX21h
eExvYWQgPSAyLCBzdGF0aWMgbV9taW5Mb2FkID0gNiwgbV90YWJsZSA9IDB4MCwgbV90YWJsZVNp
emUgPSAwLCBtX3RhYmxlU2l6ZU1hc2sgPSAwLCBtX2tleUNvdW50ID0gMCwgbV9kZWxldGVkQ291
bnQgPSAwfX0sIG1fdW5jb21tb25IZWFkZXJzID0ge21faW1wbCA9IHtzdGF0aWMgbV9tYXhMb2Fk
ID0gMiwgc3RhdGljIG1fbWluTG9hZCA9IDYsIG1fdGFibGUgPSAweDAsIG1fdGFibGVTaXplID0g
MCwgbV90YWJsZVNpemVNYXNrID0gMCwgbV9rZXlDb3VudCA9IDAsIG1fZGVsZXRlZENvdW50ID0g
MH19fSwgbV9yZXNwb25zZUNvbnRlbnREaXNwb3NpdGlvbkVuY29kaW5nRmFsbGJhY2tBcnJheSA9
IHs8V1RGOjpWZWN0b3JCdWZmZXI8V1RGOjpTdHJpbmcsIDAsIFdURjo6RmFzdE1hbGxvYz4+ID0g
ezxXVEY6OlZlY3RvckJ1ZmZlckJhc2U8V1RGOjpTdHJpbmcsIFdURjo6RmFzdE1hbGxvYz4+ID0g
e21fYnVmZmVyID0gMHgwLCBtX2NhcGFjaXR5ID0gMCwgbV9zaXplID0gMCwgbV9tYXNrID0gMH0s
IDxObyBkYXRhIGZpZWxkcz59LCA8Tm8gZGF0YSBmaWVsZHM+fSwgbV9odHRwQm9keSA9IHtzdGF0
aWMgaXNSZWZQdHIgPSA8b3B0aW1pemVkIG91dD4sIG1fcHRyID0gMHgwfSwgbV9jYWNoZVBvbGlj
eSA9IFdlYkNvcmU6OlVzZVByb3RvY29sQ2FjaGVQb2xpY3ksIG1fYWxsb3dDb29raWVzID0gdHJ1
ZSwgbV9yZXNvdXJjZVJlcXVlc3RVcGRhdGVkID0gdHJ1ZSwgbV9wbGF0Zm9ybVJlcXVlc3RVcGRh
dGVkID0gZmFsc2UsIG1fcmVzb3VyY2VSZXF1ZXN0Qm9keVVwZGF0ZWQgPSB0cnVlLCBtX3BsYXRm
b3JtUmVxdWVzdEJvZHlVcGRhdGVkID0gZmFsc2UsIG1faGlkZGVuRnJvbUluc3BlY3RvciA9IGZh
bHNlLCBtX3ByaW9yaXR5ID0gV2ViQ29yZTo6UmVzb3VyY2VMb2FkUHJpb3JpdHk6OkxvdywgbV9y
ZXF1ZXN0ZXIgPSBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3RCYXNlOjpSZXF1ZXN0ZXI6OlVuc3Bl
Y2lmaWVkLCBtX2luaXRpYXRvcklkZW50aWZpZXIgPSB7bV9pbXBsID0ge3N0YXRpYyBpc1JlZlB0
ciA9IDxvcHRpbWl6ZWQgb3V0PiwgbV9wdHIgPSAweDB9fSwgbV9jYWNoZVBhcnRpdGlvbiA9IHtt
X2ltcGwgPSB7c3RhdGljIGlzUmVmUHRyID0gPG9wdGltaXplZCBvdXQ+LCBtX3B0ciA9IDB4N2Y5
ZDYyODExOGQwIDxXVEY6OlN0cmluZ0ltcGw6OnNfYXRvbWljRW1wdHlTdHJpbmc+fX0sIHN0YXRp
YyBzX2RlZmF1bHRUaW1lb3V0SW50ZXJ2YWwgPSAwfSwgbV9hY2NlcHRFbmNvZGluZyA9IHRydWUs
IG1fc291cEZsYWdzID0gKHVua25vd246IDApLCBtX2luaXRpYXRpbmdQYWdlSUQgPSAwfSwgc2Vj
dXJpdHlPcmlnaW4gPSB7cHJvdG9jb2wgPSB7bV9pbXBsID0ge3N0YXRpYyBpc1JlZlB0ciA9IDxv
cHRpbWl6ZWQgb3V0PiwgbV9wdHIgPSAweDdmOTAwMDVjMTJlMH19LCBob3N0ID0ge21faW1wbCA9
IHtzdGF0aWMgaXNSZWZQdHIgPSA8b3B0aW1pemVkIG91dD4sIG1fcHRyID0gMHg3ZjkwMDA1YzBk
MjB9fSwgcG9ydCA9IHs8c3RkOjpjb25zdGV4cHJfb3B0aW9uYWxfYmFzZTx1bnNpZ25lZCBzaG9y
dD4+ID0ge2luaXRfID0gZmFsc2UsIHN0b3JhZ2VfID0ge2R1bW15XyA9IDAgJ1wwMDAnLCB2YWx1
ZV8gPSAwfX0sIDxObyBkYXRhIGZpZWxkcz59fSwgZnJhbWVJRCA9IDF9LCBbNl0gPSA0LCBbN10g
PSB7PFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdEJhc2U+ID0ge21fdXJsID0ge21fc3RyaW5nID0g
e21faW1wbCA9IHtzdGF0aWMgaXNSZWZQdHIgPSA8b3B0aW1pemVkIG91dD4sIG1fcHRyID0gMHg3
ZjkwMDAwZjViZTB9fSwgbV9pc1ZhbGlkID0gdHJ1ZSwgbV9wcm90b2NvbElzSW5IVFRQRmFtaWx5
ID0gdHJ1ZSwgbV9jYW5ub3RCZUFCYXNlVVJMID0gZmFsc2UsIG1fc2NoZW1lRW5kID0gNCwgbV91
c2VyU3RhcnQgPSA3LCBtX3VzZXJFbmQgPSA3LCBtX3Bhc3N3b3JkRW5kID0gNywgbV9ob3N0RW5k
ID0gMjMsIG1fcG9ydEVuZCA9IDIzLCBtX3BhdGhBZnRlckxhc3RTbGFzaCA9IDQxLCBtX3BhdGhF
bmQgPSA1MiwgbV9xdWVyeUVuZCA9IDUyfSwgbV90aW1lb3V0SW50ZXJ2YWwgPSAwLCBtX2ZpcnN0
UGFydHlGb3JDb29raWVzID0ge21fc3RyaW5nID0ge21faW1wbCA9IHtzdGF0aWMgaXNSZWZQdHIg
PSA8b3B0aW1pemVkIG91dD4sIG1fcHRyID0gMHg3ZjkwMDAwZjU1MDB9fSwgbV9pc1ZhbGlkID0g
dHJ1ZSwgbV9wcm90b2NvbElzSW5IVFRQRmFtaWx5ID0gdHJ1ZSwgbV9jYW5ub3RCZUFCYXNlVVJM
ID0gZmFsc2UsIG1fc2NoZW1lRW5kID0gNCwgbV91c2VyU3RhcnQgPSA3LCBtX3VzZXJFbmQgPSA3
LCBtX3Bhc3N3b3JkRW5kID0gNywgbV9ob3N0RW5kID0gMjMsIG1fcG9ydEVuZCA9IDIzLCBtX3Bh
dGhBZnRlckxhc3RTbGFzaCA9IDQxLCBtX3BhdGhFbmQgPSA1MiwgbV9xdWVyeUVuZCA9IDUyfSwg
bV9odHRwTWV0aG9kID0ge21faW1wbCA9IHtzdGF0aWMgaXNSZWZQdHIgPSA8b3B0aW1pemVkIG91
dD4sIG1fcHRyID0gMHg3ZjkwMDA1YzE5MDB9fSwgbV9odHRwSGVhZGVyRmllbGRzID0ge21fY29t
bW9uSGVhZGVycyA9IHttX2ltcGwgPSB7c3RhdGljIG1fbWF4TG9hZCA9IDIsIHN0YXRpYyBtX21p
bkxvYWQgPSA2LCBtX3RhYmxlID0gMHg3ZjlkMDAxYTk4ODAsIG1fdGFibGVTaXplID0gOCwgbV90
YWJsZVNpemVNYXNrID0gNywgbV9rZXlDb3VudCA9IDIsIG1fZGVsZXRlZENvdW50ID0gMH19LCBt
X3VuY29tbW9uSGVhZGVycyA9IHttX2ltcGwgPSB7c3RhdGljIG1fbWF4TG9hZCA9IDIsIHN0YXRp
YyBtX21pbkxvYWQgPSA2LCBtX3RhYmxlID0gMHgwLCBtX3RhYmxlU2l6ZSA9IDAsIG1fdGFibGVT
aXplTWFzayA9IDAsIG1fa2V5Q291bnQgPSAwLCBtX2RlbGV0ZWRDb3VudCA9IDB9fX0sIG1fcmVz
cG9uc2VDb250ZW50RGlzcG9zaXRpb25FbmNvZGluZ0ZhbGxiYWNrQXJyYXkgPSB7PFdURjo6VmVj
dG9yQnVmZmVyPFdURjo6U3RyaW5nLCAwLCBXVEY6OkZhc3RNYWxsb2M+PiA9IHs8V1RGOjpWZWN0
b3JCdWZmZXJCYXNlPFdURjo6U3RyaW5nLCBXVEY6OkZhc3RNYWxsb2M+PiA9IHttX2J1ZmZlciA9
IDB4N2Y5ZDAwMWE2NGUwLCBtX2NhcGFjaXR5ID0gMywgbV9zaXplID0gMywgbV9tYXNrID0gM30s
IDxObyBkYXRhIGZpZWxkcz59LCA8Tm8gZGF0YSBmaWVsZHM+fSwgbV9odHRwQm9keSA9IHtzdGF0
aWMgaXNSZWZQdHIgPSA8b3B0aW1pemVkIG91dD4sIG1fcHRyID0gMHgwfSwgbV9jYWNoZVBvbGlj
eSA9IFdlYkNvcmU6OlVzZVByb3RvY29sQ2FjaGVQb2xpY3ksIG1fYWxsb3dDb29raWVzID0gdHJ1
ZSwgbV9yZXNvdXJjZVJlcXVlc3RVcGRhdGVkID0gdHJ1ZSwgbV9wbGF0Zm9ybVJlcXVlc3RVcGRh
dGVkID0gZmFsc2UsIG1fcmVzb3VyY2VSZXF1ZXN0Qm9keVVwZGF0ZWQgPSB0cnVlLCBtX3BsYXRm
b3JtUmVxdWVzdEJvZHlVcGRhdGVkID0gZmFsc2UsIG1faGlkZGVuRnJvbUluc3BlY3RvciA9IGZh
bHNlLCBtX3ByaW9yaXR5ID0gV2ViQ29yZTo6UmVzb3VyY2VMb2FkUHJpb3JpdHk6OkxvdywgbV9y
ZXF1ZXN0ZXIgPSBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3RCYXNlOjpSZXF1ZXN0ZXI6OlVuc3Bl
Y2lmaWVkLCBtX2luaXRpYXRvcklkZW50aWZpZXIgPSB7bV9pbXBsID0ge3N0YXRpYyBpc1JlZlB0
ciA9IDxvcHRpbWl6ZWQgb3V0PiwgbV9wdHIgPSAweDB9fSwgbV9jYWNoZVBhcnRpdGlvbiA9IHtt
X2ltcGwgPSB7c3RhdGljIGlzUmVmUHRyID0gPG9wdGltaXplZCBvdXQ+LCBtX3B0ciA9IDB4N2Y5
ZDYyODExOGQwIDxXVEY6OlN0cmluZ0ltcGw6OnNfYXRvbWljRW1wdHlTdHJpbmc+fX0sIHN0YXRp
YyBzX2RlZmF1bHRUaW1lb3V0SW50ZXJ2YWwgPSAwfSwgbV9hY2NlcHRFbmNvZGluZyA9IHRydWUs
IG1fc291cEZsYWdzID0gKHVua25vd246IDApLCBtX2luaXRpYXRpbmdQYWdlSUQgPSAwfSwgWzhd
ID0gezxXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3RCYXNlPiA9IHttX3VybCA9IHttX3N0cmluZyA9
IHttX2ltcGwgPSB7c3RhdGljIGlzUmVmUHRyID0gPG9wdGltaXplZCBvdXQ+LCBtX3B0ciA9IDB4
N2Y5MDAwMGY1NTUwfX0sIG1faXNWYWxpZCA9IHRydWUsIG1fcHJvdG9jb2xJc0luSFRUUEZhbWls
eSA9IHRydWUsIG1fY2Fubm90QmVBQmFzZVVSTCA9IGZhbHNlLCBtX3NjaGVtZUVuZCA9IDQsIG1f
dXNlclN0YXJ0ID0gNywgbV91c2VyRW5kID0gNywgbV9wYXNzd29yZEVuZCA9IDcsIG1faG9zdEVu
ZCA9IDIzLCBtX3BvcnRFbmQgPSAyMywgbV9wYXRoQWZ0ZXJMYXN0U2xhc2ggPSA0MSwgbV9wYXRo
RW5kID0gNTIsIG1fcXVlcnlFbmQgPSA1Mn0sIG1fdGltZW91dEludGVydmFsID0gMCwgbV9maXJz
dFBhcnR5Rm9yQ29va2llcyA9IHttX3N0cmluZyA9IHttX2ltcGwgPSB7c3RhdGljIGlzUmVmUHRy
ID0gPG9wdGltaXplZCBvdXQ+LCBtX3B0ciA9IDB4N2Y5MDAwMGY1NWEwfX0sIG1faXNWYWxpZCA9
IHRydWUsIG1fcHJvdG9jb2xJc0luSFRUUEZhbWlseSA9IHRydWUsIG1fY2Fubm90QmVBQmFzZVVS
TCA9IGZhbHNlLCBtX3NjaGVtZUVuZCA9IDQsIG1fdXNlclN0YXJ0ID0gNywgbV91c2VyRW5kID0g
NywgbV9wYXNzd29yZEVuZCA9IDcsIG1faG9zdEVuZCA9IDIzLCBtX3BvcnRFbmQgPSAyMywgbV9w
YXRoQWZ0ZXJMYXN0U2xhc2ggPSA0MSwgbV9wYXRoRW5kID0gNTIsIG1fcXVlcnlFbmQgPSA1Mn0s
IG1faHR0cE1ldGhvZCA9IHttX2ltcGwgPSB7c3RhdGljIGlzUmVmUHRyID0gPG9wdGltaXplZCBv
dXQ+LCBtX3B0ciA9IDB4N2Y5MDAwNWMxOTYwfX0sIG1faHR0cEhlYWRlckZpZWxkcyA9IHttX2Nv
bW1vbkhlYWRlcnMgPSB7bV9pbXBsID0ge3N0YXRpYyBtX21heExvYWQgPSAyLCBzdGF0aWMgbV9t
aW5Mb2FkID0gNiwgbV90YWJsZSA9IDB4N2Y5ZDAwMWE5OTgwLCBtX3RhYmxlU2l6ZSA9IDgsIG1f
dGFibGVTaXplTWFzayA9IDcsIG1fa2V5Q291bnQgPSAyLCBtX2RlbGV0ZWRDb3VudCA9IDB9fSwg
bV91bmNvbW1vbkhlYWRlcnMgPSB7bV9pbXBsID0ge3N0YXRpYyBtX21heExvYWQgPSAyLCBzdGF0
aWMgbV9taW5Mb2FkID0gNiwgbV90YWJsZSA9IDB4MCwgbV90YWJsZVNpemUgPSAwLCBtX3RhYmxl
U2l6ZU1hc2sgPSAwLCBtX2tleUNvdW50ID0gMCwgbV9kZWxldGVkQ291bnQgPSAwfX19LCBtX3Jl
c3BvbnNlQ29udGVudERpc3Bvc2l0aW9uRW5jb2RpbmdGYWxsYmFja0FycmF5ID0gezxXVEY6OlZl
Y3RvckJ1ZmZlcjxXVEY6OlN0cmluZywgMCwgV1RGOjpGYXN0TWFsbG9jPj4gPSB7PFdURjo6VmVj
dG9yQnVmZmVyQmFzZTxXVEY6OlN0cmluZywgV1RGOjpGYXN0TWFsbG9jPj4gPSB7bV9idWZmZXIg
PSAweDdmOWQwMDFhNjRmOCwgbV9jYXBhY2l0eSA9IDMsIG1fc2l6ZSA9IDMsIG1fbWFzayA9IDN9
LCA8Tm8gZGF0YSBmaWVsZHM+fSwgPE5vIGRhdGEgZmllbGRzPn0sIG1faHR0cEJvZHkgPSB7c3Rh
dGljIGlzUmVmUHRyID0gPG9wdGltaXplZCBvdXQ+LCBtX3B0ciA9IDB4MH0sIG1fY2FjaGVQb2xp
Y3kgPSBXZWJDb3JlOjpVc2VQcm90b2NvbENhY2hlUG9saWN5LCBtX2FsbG93Q29va2llcyA9IHRy
dWUsIG1fcmVzb3VyY2VSZXF1ZXN0VXBkYXRlZCA9IHRydWUsIG1fcGxhdGZvcm1SZXF1ZXN0VXBk
YXRlZCA9IGZhbHNlLCBtX3Jlc291cmNlUmVxdWVzdEJvZHlVcGRhdGVkID0gdHJ1ZSwgbV9wbGF0
Zm9ybVJlcXVlc3RCb2R5VXBkYXRlZCA9IGZhbHNlLCBtX2hpZGRlbkZyb21JbnNwZWN0b3IgPSBm
YWxzZSwgbV9wcmlvcml0eSA9IFdlYkNvcmU6OlJlc291cmNlTG9hZFByaW9yaXR5OjpMb3csIG1f
cmVxdWVzdGVyID0gV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0QmFzZTo6UmVxdWVzdGVyOjpVbnNw
ZWNpZmllZCwgbV9pbml0aWF0b3JJZGVudGlmaWVyID0ge21faW1wbCA9IHtzdGF0aWMgaXNSZWZQ
dHIgPSA8b3B0aW1pemVkIG91dD4sIG1fcHRyID0gMHgwfX0sIG1fY2FjaGVQYXJ0aXRpb24gPSB7
bV9pbXBsID0ge3N0YXRpYyBpc1JlZlB0ciA9IDxvcHRpbWl6ZWQgb3V0PiwgbV9wdHIgPSAweDdm
OWQ2MjgxMThkMCA8V1RGOjpTdHJpbmdJbXBsOjpzX2F0b21pY0VtcHR5U3RyaW5nPn19LCBzdGF0
aWMgc19kZWZhdWx0VGltZW91dEludGVydmFsID0gMH0sIG1fYWNjZXB0RW5jb2RpbmcgPSB0cnVl
LCBtX3NvdXBGbGFncyA9ICh1bmtub3duOiAwKSwgbV9pbml0aWF0aW5nUGFnZUlEID0gMH0sIFs5
XSA9IDUsIFsxMF0gPSB7bV9vYmplY3QgPSB7c3RhdGljIGlzUmVmUHRyID0gPG9wdGltaXplZCBv
dXQ+LCBtX3B0ciA9IDB4MH19fQogICAgICAgIHJlcGx5QXJndW1lbnRzID0gCiAgICAgICAgICBQ
eXRob24gRXhjZXB0aW9uIDxjbGFzcyAnZ2RiLmVycm9yJz4gVGhlcmUgaXMgbm8gbWVtYmVyIG9y
IG1ldGhvZCBuYW1lZCBfTV9wYXlsb2FkLjogClB5dGhvbiBFeGNlcHRpb24gPGNsYXNzICdnZGIu
ZXJyb3InPiBUaGVyZSBpcyBubyBtZW1iZXIgb3IgbWV0aG9kIG5hbWVkIF9NX3BheWxvYWQuOiAK
c3RkOjp0dXBsZSBjb250YWluaW5nID0ge1sxXSA9IGZhbHNlLCBbMl0gPSAzLCBbM10gPSBXZWJD
b3JlOjpQb2xpY3lBY3Rpb246OlVzZSwgWzRdID0ge21fZG93bmxvYWRJRCA9IDB9LCBbNV0gPSB7
PHN0ZDo6b3B0aW9uYWxfYmFzZTxXZWJLaXQ6OldlYnNpdGVQb2xpY2llc0RhdGE+PiA9IHtpbml0
XyA9IGZhbHNlLCBzdG9yYWdlXyA9IHtkdW1teV8gPSAwICdcMDAwJywgdmFsdWVfID0ge2NvbnRl
bnRCbG9ja2Vyc0VuYWJsZWQgPSBmYWxzZSwgYWxsb3dlZEF1dG9wbGF5UXVpcmtzID0ge21fc3Rv
cmFnZSA9IDB9LCBhdXRvcGxheVBvbGljeSA9IFdlYktpdDo6V2Vic2l0ZUF1dG9wbGF5UG9saWN5
OjpEZWZhdWx0LCBjdXN0b21IZWFkZXJGaWVsZHMgPSB7PFdURjo6VmVjdG9yQnVmZmVyPFdlYkNv
cmU6OkhUVFBIZWFkZXJGaWVsZCwgMCwgV1RGOjpGYXN0TWFsbG9jPj4gPSB7PFdURjo6VmVjdG9y
QnVmZmVyQmFzZTxXZWJDb3JlOjpIVFRQSGVhZGVyRmllbGQsIFdURjo6RmFzdE1hbGxvYz4+ID0g
e21fYnVmZmVyID0gMHgxLCBtX2NhcGFjaXR5ID0gMCwgbV9zaXplID0gMiwgbV9tYXNrID0gMH0s
IDxObyBkYXRhIGZpZWxkcz59LCA8Tm8gZGF0YSBmaWVsZHM+fSwgcG9wVXBQb2xpY3kgPSAodW5r
bm93bjogMTE1MTY5Njg5NiksIHdlYnNpdGVEYXRhU3RvcmVQYXJhbWV0ZXJzID0gezxzdGQ6Om9w
dGlvbmFsX2Jhc2U8V2ViS2l0OjpXZWJzaXRlRGF0YVN0b3JlUGFyYW1ldGVycz4+ID0ge2luaXRf
ID0gZmFsc2UsIHN0b3JhZ2VfID0ge2R1bW15XyA9IDE0NCAnXDIyMCcsIHZhbHVlXyA9IHt1aVBy
b2Nlc3NDb29raWVTdG9yYWdlSWRlbnRpZmllciA9IHs8V1RGOjpWZWN0b3JCdWZmZXI8dW5zaWdu
ZWQgY2hhciwgMCwgV1RGOjpGYXN0TWFsbG9jPj4gPSB7PFdURjo6VmVjdG9yQnVmZmVyQmFzZTx1
bnNpZ25lZCBjaGFyLCBXVEY6OkZhc3RNYWxsb2M+PiA9IHttX2J1ZmZlciA9IDB4N2ZmYzE2Y2E3
OTkwICJcMjQweVwzMTJcMDI2XDM3NFwxNzciLCBtX2NhcGFjaXR5ID0gMzgzMzg1NiwgbV9zaXpl
ID0gMzI2NjksIG1fbWFzayA9IDE2NDk3NzQxMTJ9LCA8Tm8gZGF0YSBmaWVsZHM+fSwgPE5vIGRh
dGEgZmllbGRzPn0sIGNvb2tpZVN0b3JhZ2VQYXRoRXh0ZW5zaW9uSGFuZGxlID0gezxObyBkYXRh
IGZpZWxkcz59LCBwZW5kaW5nQ29va2llcyA9IHs8V1RGOjpWZWN0b3JCdWZmZXI8V2ViQ29yZTo6
Q29va2llLCAwLCBXVEY6OkZhc3RNYWxsb2M+PiA9IHs8V1RGOjpWZWN0b3JCdWZmZXJCYXNlPFdl
YkNvcmU6OkNvb2tpZSwgV1RGOjpGYXN0TWFsbG9jPj4gPSB7bV9idWZmZXIgPSAweDdmZmMxNmNh
NzliMCwgbV9jYXBhY2l0eSA9IDgsIG1fc2l6ZSA9IDAsIG1fbWFzayA9IDB9LCA8Tm8gZGF0YSBm
aWVsZHM+fSwgPE5vIGRhdGEgZmllbGRzPn0sIGNhY2hlU3RvcmFnZURpcmVjdG9yeSA9IHttX2lt
cGwgPSB7c3RhdGljIGlzUmVmUHRyID0gPG9wdGltaXplZCBvdXQ+LCBtX3B0ciA9IDB4NTU4NTdh
YWRmMTUwfX0sIGNhY2hlU3RvcmFnZVBlck9yaWdpblF1b3RhID0gMTQwNzIwNjkwODU0MzA0LCBj
YWNoZVN0b3JhZ2VEaXJlY3RvcnlFeHRlbnNpb25IYW5kbGUgPSB7PE5vIGRhdGEgZmllbGRzPn0s
IG5ldHdvcmtTZXNzaW9uUGFyYW1ldGVycyA9IHtzZXNzaW9uSUQgPSB7bV9zZXNzaW9uSUQgPSAx
fSwgbGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyID0gMHg0MWM3MjdmZTRmMThhMzAwLCBib3Vu
ZEludGVyZmFjZUlkZW50aWZpZXIgPSB7bV9pbXBsID0ge3N0YXRpYyBpc1JlZlB0ciA9IDxvcHRp
bWl6ZWQgb3V0PiwgbV9wdHIgPSAweDVkY319LCBhbGxvd3NDZWxsdWxhckFjY2VzcyA9ICh1bmtu
b3duOiAtNjcxMDgyMTQ0KX19fX0sIDxObyBkYXRhIGZpZWxkcz59fX19LCA8Tm8gZGF0YSBmaWVs
ZHM+fX0KIzIwIDB4MDAwMDdmOWQ2NDAzN2Q5YiBpbiBJUEM6OmhhbmRsZU1lc3NhZ2U8TWVzc2Fn
ZXM6OldlYlBhZ2VQcm94eTo6RGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbiwgV2ViS2l0
OjpXZWJQYWdlUHJveHksIHZvaWQgKFdlYktpdDo6V2ViUGFnZVByb3h5OjoqKSh1bnNpZ25lZCBs
b25nLCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGEgY29uc3QmLCB1bnNpZ25lZCBsb25nLCBX
ZWJLaXQ6Ok5hdmlnYXRpb25BY3Rpb25EYXRhJiYsIFdlYktpdDo6RnJhbWVJbmZvRGF0YSBjb25z
dCYsIHVuc2lnbmVkIGxvbmcsIFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCBjb25zdCYsIFdlYkNv
cmU6OlJlc291cmNlUmVxdWVzdCYmLCB1bnNpZ25lZCBsb25nLCBXZWJLaXQ6OlVzZXJEYXRhIGNv
bnN0JiwgYm9vbCYsIHVuc2lnbmVkIGxvbmcmLCBXZWJDb3JlOjpQb2xpY3lBY3Rpb24mLCBXZWJL
aXQ6OkRvd25sb2FkSUQmLCBzdGQ6Om9wdGlvbmFsPFdlYktpdDo6V2Vic2l0ZVBvbGljaWVzRGF0
YT4mKT4oSVBDOjpEZWNvZGVyJiwgSVBDOjpFbmNvZGVyJiwgV2ViS2l0OjpXZWJQYWdlUHJveHkq
LCB2b2lkIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6KikodW5zaWduZWQgbG9uZywgV2ViQ29yZTo6
U2VjdXJpdHlPcmlnaW5EYXRhIGNvbnN0JiwgdW5zaWduZWQgbG9uZywgV2ViS2l0OjpOYXZpZ2F0
aW9uQWN0aW9uRGF0YSYmLCBXZWJLaXQ6OkZyYW1lSW5mb0RhdGEgY29uc3QmLCB1bnNpZ25lZCBs
b25nLCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QgY29uc3QmLCBXZWJDb3JlOjpSZXNvdXJjZVJl
cXVlc3QmJiwgdW5zaWduZWQgbG9uZywgV2ViS2l0OjpVc2VyRGF0YSBjb25zdCYsIGJvb2wmLCB1
bnNpZ25lZCBsb25nJiwgV2ViQ29yZTo6UG9saWN5QWN0aW9uJiwgV2ViS2l0OjpEb3dubG9hZElE
Jiwgc3RkOjpvcHRpb25hbDxXZWJLaXQ6OldlYnNpdGVQb2xpY2llc0RhdGE+JikpIChkZWNvZGVy
PS4uLiwgcmVwbHlFbmNvZGVyPS4uLiwgb2JqZWN0PW9iamVjdEBlbnRyeT0weDdmOWQxMGRkYjAw
MCwgZnVuY3Rpb249PG9wdGltaXplZCBvdXQ+KQogICAgYXQgL2hvbWUvZ251bWRrL3BlcnNvL3dl
YmtpdDJndGsvc3JjL3dlYmtpdGd0ay0yLjE5LjkxL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBD
L0hhbmRsZU1lc3NhZ2UuaDoxMzkKICAgICAgICBhcmd1bWVudHMgPSAKICAgICAgICAgICAgUHl0
aG9uIEV4Y2VwdGlvbiA8Y2xhc3MgJ2dkYi5lcnJvcic+IFRoZXJlIGlzIG5vIG1lbWJlciBvciBt
ZXRob2QgbmFtZWQgX01fcGF5bG9hZC46IApQeXRob24gRXhjZXB0aW9uIDxjbGFzcyAnZ2RiLmVy
cm9yJz4gVGhlcmUgaXMgbm8gbWVtYmVyIG9yIG1ldGhvZCBuYW1lZCBfTV9wYXlsb2FkLjogCnN0
ZDo6dHVwbGUgY29udGFpbmluZyA9IHtbMV0gPSAxLCBbMl0gPSB7cHJvdG9jb2wgPSB7bV9pbXBs
ID0ge3N0YXRpYyBpc1JlZlB0ciA9IDxvcHRpbWl6ZWQgb3V0PiwgbV9wdHIgPSAweDdmOTAwMDVj
MTJhMH19LCBob3N0ID0ge21faW1wbCA9IHtzdGF0aWMgaXNSZWZQdHIgPSA8b3B0aW1pemVkIG91
dD4sIG1fcHRyID0gMHg3ZjkwMDA1YzBjZjh9fSwgcG9ydCA9IHs8c3RkOjpjb25zdGV4cHJfb3B0
aW9uYWxfYmFzZTx1bnNpZ25lZCBzaG9ydD4+ID0ge2luaXRfID0gZmFsc2UsIHN0b3JhZ2VfID0g
e2R1bW15XyA9IDAgJ1wwMDAnLCB2YWx1ZV8gPSAyMDIyNH19LCA8Tm8gZGF0YSBmaWVsZHM+fX0s
IFszXSA9IDAsIFs0XSA9IHtuYXZpZ2F0aW9uVHlwZSA9IFdlYkNvcmU6Ok5hdmlnYXRpb25UeXBl
OjpMaW5rQ2xpY2tlZCwgbW9kaWZpZXJzID0gKHVua25vd246IDApLCBtb3VzZUJ1dHRvbiA9IFdl
YktpdDo6V2ViTW91c2VFdmVudDo6TGVmdEJ1dHRvbiwgc3ludGhldGljQ2xpY2tUeXBlID0gV2Vi
S2l0OjpXZWJNb3VzZUV2ZW50OjpOb1RhcCwgdXNlckdlc3R1cmVUb2tlbklkZW50aWZpZXIgPSAx
LCBjYW5IYW5kbGVSZXF1ZXN0ID0gZmFsc2UsIHNob3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3kg
PSBXZWJDb3JlOjpTaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5OjpTaG91bGRBbGxvdywgZG93
bmxvYWRBdHRyaWJ1dGUgPSB7bV9pbXBsID0ge3N0YXRpYyBpc1JlZlB0ciA9IDxvcHRpbWl6ZWQg
b3V0PiwgbV9wdHIgPSAweDB9fSwgY2xpY2tMb2NhdGlvbkluUm9vdFZpZXdDb29yZGluYXRlcyA9
IHttX3ggPSAxMzI0LCBtX3kgPSA3MTN9LCBpc1JlZGlyZWN0ID0gZmFsc2V9LCBbNV0gPSB7aXNN
YWluRnJhbWUgPSBmYWxzZSwgcmVxdWVzdCA9IHs8V2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0QmFz
ZT4gPSB7bV91cmwgPSB7bV9zdHJpbmcgPSB7bV9pbXBsID0ge3N0YXRpYyBpc1JlZlB0ciA9IDxv
cHRpbWl6ZWQgb3V0PiwgbV9wdHIgPSAweDdmOTAwMDVjNGMwMH19LCBtX2lzVmFsaWQgPSB0cnVl
LCBtX3Byb3RvY29sSXNJbkhUVFBGYW1pbHkgPSB0cnVlLCBtX2Nhbm5vdEJlQUJhc2VVUkwgPSBm
YWxzZSwgbV9zY2hlbWVFbmQgPSA1LCBtX3VzZXJTdGFydCA9IDgsIG1fdXNlckVuZCA9IDgsIG1f
cGFzc3dvcmRFbmQgPSA4LCBtX2hvc3RFbmQgPSAyMSwgbV9wb3J0RW5kID0gMjEsIG1fcGF0aEFm
dGVyTGFzdFNsYXNoID0gMjIsIG1fcGF0aEVuZCA9IDIyLCBtX3F1ZXJ5RW5kID0gMjJ9LCBtX3Rp
bWVvdXRJbnRlcnZhbCA9IDAsIG1fZmlyc3RQYXJ0eUZvckNvb2tpZXMgPSB7bV9zdHJpbmcgPSB7
bV9pbXBsID0ge3N0YXRpYyBpc1JlZlB0ciA9IDxvcHRpbWl6ZWQgb3V0PiwgbV9wdHIgPSAweDB9
fSwgbV9pc1ZhbGlkID0gZmFsc2UsIG1fcHJvdG9jb2xJc0luSFRUUEZhbWlseSA9IGZhbHNlLCBt
X2Nhbm5vdEJlQUJhc2VVUkwgPSBmYWxzZSwgbV9zY2hlbWVFbmQgPSAwLCBtX3VzZXJTdGFydCA9
IDAsIG1fdXNlckVuZCA9IDAsIG1fcGFzc3dvcmRFbmQgPSAwLCBtX2hvc3RFbmQgPSAwLCBtX3Bv
cnRFbmQgPSAwLCBtX3BhdGhBZnRlckxhc3RTbGFzaCA9IDAsIG1fcGF0aEVuZCA9IDAsIG1fcXVl
cnlFbmQgPSAwfSwgbV9odHRwTWV0aG9kID0ge21faW1wbCA9IHtzdGF0aWMgaXNSZWZQdHIgPSA8
b3B0aW1pemVkIG91dD4sIG1fcHRyID0gMHg3ZjkwMDA1YzEyYzB9fSwgbV9odHRwSGVhZGVyRmll
bGRzID0ge21fY29tbW9uSGVhZGVycyA9IHttX2ltcGwgPSB7c3RhdGljIG1fbWF4TG9hZCA9IDIs
IHN0YXRpYyBtX21pbkxvYWQgPSA2LCBtX3RhYmxlID0gMHgwLCBtX3RhYmxlU2l6ZSA9IDAsIG1f
dGFibGVTaXplTWFzayA9IDAsIG1fa2V5Q291bnQgPSAwLCBtX2RlbGV0ZWRDb3VudCA9IDB9fSwg
bV91bmNvbW1vbkhlYWRlcnMgPSB7bV9pbXBsID0ge3N0YXRpYyBtX21heExvYWQgPSAyLCBzdGF0
aWMgbV9taW5Mb2FkID0gNiwgbV90YWJsZSA9IDB4MCwgbV90YWJsZVNpemUgPSAwLCBtX3RhYmxl
U2l6ZU1hc2sgPSAwLCBtX2tleUNvdW50ID0gMCwgbV9kZWxldGVkQ291bnQgPSAwfX19LCBtX3Jl
c3BvbnNlQ29udGVudERpc3Bvc2l0aW9uRW5jb2RpbmdGYWxsYmFja0FycmF5ID0gezxXVEY6OlZl
Y3RvckJ1ZmZlcjxXVEY6OlN0cmluZywgMCwgV1RGOjpGYXN0TWFsbG9jPj4gPSB7PFdURjo6VmVj
dG9yQnVmZmVyQmFzZTxXVEY6OlN0cmluZywgV1RGOjpGYXN0TWFsbG9jPj4gPSB7bV9idWZmZXIg
PSAweDAsIG1fY2FwYWNpdHkgPSAwLCBtX3NpemUgPSAwLCBtX21hc2sgPSAwfSwgPE5vIGRhdGEg
ZmllbGRzPn0sIDxObyBkYXRhIGZpZWxkcz59LCBtX2h0dHBCb2R5ID0ge3N0YXRpYyBpc1JlZlB0
ciA9IDxvcHRpbWl6ZWQgb3V0PiwgbV9wdHIgPSAweDB9LCBtX2NhY2hlUG9saWN5ID0gV2ViQ29y
ZTo6VXNlUHJvdG9jb2xDYWNoZVBvbGljeSwgbV9hbGxvd0Nvb2tpZXMgPSB0cnVlLCBtX3Jlc291
cmNlUmVxdWVzdFVwZGF0ZWQgPSB0cnVlLCBtX3BsYXRmb3JtUmVxdWVzdFVwZGF0ZWQgPSBmYWxz
ZSwgbV9yZXNvdXJjZVJlcXVlc3RCb2R5VXBkYXRlZCA9IHRydWUsIG1fcGxhdGZvcm1SZXF1ZXN0
Qm9keVVwZGF0ZWQgPSBmYWxzZSwgbV9oaWRkZW5Gcm9tSW5zcGVjdG9yID0gZmFsc2UsIG1fcHJp
b3JpdHkgPSBXZWJDb3JlOjpSZXNvdXJjZUxvYWRQcmlvcml0eTo6TG93LCBtX3JlcXVlc3RlciA9
IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdEJhc2U6OlJlcXVlc3Rlcjo6VW5zcGVjaWZpZWQsIG1f
aW5pdGlhdG9ySWRlbnRpZmllciA9IHttX2ltcGwgPSB7c3RhdGljIGlzUmVmUHRyID0gPG9wdGlt
aXplZCBvdXQ+LCBtX3B0ciA9IDB4MH19LCBtX2NhY2hlUGFydGl0aW9uID0ge21faW1wbCA9IHtz
dGF0aWMgaXNSZWZQdHIgPSA8b3B0aW1pemVkIG91dD4sIG1fcHRyID0gMHg3ZjlkNjI4MTE4ZDAg
PFdURjo6U3RyaW5nSW1wbDo6c19hdG9taWNFbXB0eVN0cmluZz59fSwgc3RhdGljIHNfZGVmYXVs
dFRpbWVvdXRJbnRlcnZhbCA9IDB9LCBtX2FjY2VwdEVuY29kaW5nID0gdHJ1ZSwgbV9zb3VwRmxh
Z3MgPSAodW5rbm93bjogMCksIG1faW5pdGlhdGluZ1BhZ2VJRCA9IDB9LCBzZWN1cml0eU9yaWdp
biA9IHtwcm90b2NvbCA9IHttX2ltcGwgPSB7c3RhdGljIGlzUmVmUHRyID0gPG9wdGltaXplZCBv
dXQ+LCBtX3B0ciA9IDB4N2Y5MDAwNWMxMmUwfX0sIGhvc3QgPSB7bV9pbXBsID0ge3N0YXRpYyBp
c1JlZlB0ciA9IDxvcHRpbWl6ZWQgb3V0PiwgbV9wdHIgPSAweDdmOTAwMDVjMGQyMH19LCBwb3J0
ID0gezxzdGQ6OmNvbnN0ZXhwcl9vcHRpb25hbF9iYXNlPHVuc2lnbmVkIHNob3J0Pj4gPSB7aW5p
dF8gPSBmYWxzZSwgc3RvcmFnZV8gPSB7ZHVtbXlfID0gMCAnXDAwMCcsIHZhbHVlXyA9IDB9fSwg
PE5vIGRhdGEgZmllbGRzPn19LCBmcmFtZUlEID0gMX0sIFs2XSA9IDQsIFs3XSA9IHs8V2ViQ29y
ZTo6UmVzb3VyY2VSZXF1ZXN0QmFzZT4gPSB7bV91cmwgPSB7bV9zdHJpbmcgPSB7bV9pbXBsID0g
e3N0YXRpYyBpc1JlZlB0ciA9IDxvcHRpbWl6ZWQgb3V0PiwgbV9wdHIgPSAweDdmOTAwMDBmNWJl
MH19LCBtX2lzVmFsaWQgPSB0cnVlLCBtX3Byb3RvY29sSXNJbkhUVFBGYW1pbHkgPSB0cnVlLCBt
X2Nhbm5vdEJlQUJhc2VVUkwgPSBmYWxzZSwgbV9zY2hlbWVFbmQgPSA0LCBtX3VzZXJTdGFydCA9
IDcsIG1fdXNlckVuZCA9IDcsIG1fcGFzc3dvcmRFbmQgPSA3LCBtX2hvc3RFbmQgPSAyMywgbV9w
b3J0RW5kID0gMjMsIG1fcGF0aEFmdGVyTGFzdFNsYXNoID0gNDEsIG1fcGF0aEVuZCA9IDUyLCBt
X3F1ZXJ5RW5kID0gNTJ9LCBtX3RpbWVvdXRJbnRlcnZhbCA9IDAsIG1fZmlyc3RQYXJ0eUZvckNv
b2tpZXMgPSB7bV9zdHJpbmcgPSB7bV9pbXBsID0ge3N0YXRpYyBpc1JlZlB0ciA9IDxvcHRpbWl6
ZWQgb3V0PiwgbV9wdHIgPSAweDdmOTAwMDBmNTUwMH19LCBtX2lzVmFsaWQgPSB0cnVlLCBtX3By
b3RvY29sSXNJbkhUVFBGYW1pbHkgPSB0cnVlLCBtX2Nhbm5vdEJlQUJhc2VVUkwgPSBmYWxzZSwg
bV9zY2hlbWVFbmQgPSA0LCBtX3VzZXJTdGFydCA9IDcsIG1fdXNlckVuZCA9IDcsIG1fcGFzc3dv
cmRFbmQgPSA3LCBtX2hvc3RFbmQgPSAyMywgbV9wb3J0RW5kID0gMjMsIG1fcGF0aEFmdGVyTGFz
dFNsYXNoID0gNDEsIG1fcGF0aEVuZCA9IDUyLCBtX3F1ZXJ5RW5kID0gNTJ9LCBtX2h0dHBNZXRo
b2QgPSB7bV9pbXBsID0ge3N0YXRpYyBpc1JlZlB0ciA9IDxvcHRpbWl6ZWQgb3V0PiwgbV9wdHIg
PSAweDdmOTAwMDVjMTkwMH19LCBtX2h0dHBIZWFkZXJGaWVsZHMgPSB7bV9jb21tb25IZWFkZXJz
ID0ge21faW1wbCA9IHtzdGF0aWMgbV9tYXhMb2FkID0gMiwgc3RhdGljIG1fbWluTG9hZCA9IDYs
IG1fdGFibGUgPSAweDdmOWQwMDFhOTg4MCwgbV90YWJsZVNpemUgPSA4LCBtX3RhYmxlU2l6ZU1h
c2sgPSA3LCBtX2tleUNvdW50ID0gMiwgbV9kZWxldGVkQ291bnQgPSAwfX0sIG1fdW5jb21tb25I
ZWFkZXJzID0ge21faW1wbCA9IHtzdGF0aWMgbV9tYXhMb2FkID0gMiwgc3RhdGljIG1fbWluTG9h
ZCA9IDYsIG1fdGFibGUgPSAweDAsIG1fdGFibGVTaXplID0gMCwgbV90YWJsZVNpemVNYXNrID0g
MCwgbV9rZXlDb3VudCA9IDAsIG1fZGVsZXRlZENvdW50ID0gMH19fSwgbV9yZXNwb25zZUNvbnRl
bnREaXNwb3NpdGlvbkVuY29kaW5nRmFsbGJhY2tBcnJheSA9IHs8V1RGOjpWZWN0b3JCdWZmZXI8
V1RGOjpTdHJpbmcsIDAsIFdURjo6RmFzdE1hbGxvYz4+ID0gezxXVEY6OlZlY3RvckJ1ZmZlckJh
c2U8V1RGOjpTdHJpbmcsIFdURjo6RmFzdE1hbGxvYz4+ID0ge21fYnVmZmVyID0gMHg3ZjlkMDAx
YTY0ZTAsIG1fY2FwYWNpdHkgPSAzLCBtX3NpemUgPSAzLCBtX21hc2sgPSAzfSwgPE5vIGRhdGEg
ZmllbGRzPn0sIDxObyBkYXRhIGZpZWxkcz59LCBtX2h0dHBCb2R5ID0ge3N0YXRpYyBpc1JlZlB0
ciA9IDxvcHRpbWl6ZWQgb3V0PiwgbV9wdHIgPSAweDB9LCBtX2NhY2hlUG9saWN5ID0gV2ViQ29y
ZTo6VXNlUHJvdG9jb2xDYWNoZVBvbGljeSwgbV9hbGxvd0Nvb2tpZXMgPSB0cnVlLCBtX3Jlc291
cmNlUmVxdWVzdFVwZGF0ZWQgPSB0cnVlLCBtX3BsYXRmb3JtUmVxdWVzdFVwZGF0ZWQgPSBmYWxz
ZSwgbV9yZXNvdXJjZVJlcXVlc3RCb2R5VXBkYXRlZCA9IHRydWUsIG1fcGxhdGZvcm1SZXF1ZXN0
Qm9keVVwZGF0ZWQgPSBmYWxzZSwgbV9oaWRkZW5Gcm9tSW5zcGVjdG9yID0gZmFsc2UsIG1fcHJp
b3JpdHkgPSBXZWJDb3JlOjpSZXNvdXJjZUxvYWRQcmlvcml0eTo6TG93LCBtX3JlcXVlc3RlciA9
IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdEJhc2U6OlJlcXVlc3Rlcjo6VW5zcGVjaWZpZWQsIG1f
aW5pdGlhdG9ySWRlbnRpZmllciA9IHttX2ltcGwgPSB7c3RhdGljIGlzUmVmUHRyID0gPG9wdGlt
aXplZCBvdXQ+LCBtX3B0ciA9IDB4MH19LCBtX2NhY2hlUGFydGl0aW9uID0ge21faW1wbCA9IHtz
dGF0aWMgaXNSZWZQdHIgPSA8b3B0aW1pemVkIG91dD4sIG1fcHRyID0gMHg3ZjlkNjI4MTE4ZDAg
PFdURjo6U3RyaW5nSW1wbDo6c19hdG9taWNFbXB0eVN0cmluZz59fSwgc3RhdGljIHNfZGVmYXVs
dFRpbWVvdXRJbnRlcnZhbCA9IDB9LCBtX2FjY2VwdEVuY29kaW5nID0gdHJ1ZSwgbV9zb3VwRmxh
Z3MgPSAodW5rbm93bjogMCksIG1faW5pdGlhdGluZ1BhZ2VJRCA9IDB9LCBbOF0gPSB7PFdlYkNv
cmU6OlJlc291cmNlUmVxdWVzdEJhc2U+ID0ge21fdXJsID0ge21fc3RyaW5nID0ge21faW1wbCA9
IHtzdGF0aWMgaXNSZWZQdHIgPSA8b3B0aW1pemVkIG91dD4sIG1fcHRyID0gMHg3ZjkwMDAwZjU1
NTB9fSwgbV9pc1ZhbGlkID0gdHJ1ZSwgbV9wcm90b2NvbElzSW5IVFRQRmFtaWx5ID0gdHJ1ZSwg
bV9jYW5ub3RCZUFCYXNlVVJMID0gZmFsc2UsIG1fc2NoZW1lRW5kID0gNCwgbV91c2VyU3RhcnQg
PSA3LCBtX3VzZXJFbmQgPSA3LCBtX3Bhc3N3b3JkRW5kID0gNywgbV9ob3N0RW5kID0gMjMsIG1f
cG9ydEVuZCA9IDIzLCBtX3BhdGhBZnRlckxhc3RTbGFzaCA9IDQxLCBtX3BhdGhFbmQgPSA1Miwg
bV9xdWVyeUVuZCA9IDUyfSwgbV90aW1lb3V0SW50ZXJ2YWwgPSAwLCBtX2ZpcnN0UGFydHlGb3JD
b29raWVzID0ge21fc3RyaW5nID0ge21faW1wbCA9IHtzdGF0aWMgaXNSZWZQdHIgPSA8b3B0aW1p
emVkIG91dD4sIG1fcHRyID0gMHg3ZjkwMDAwZjU1YTB9fSwgbV9pc1ZhbGlkID0gdHJ1ZSwgbV9w
cm90b2NvbElzSW5IVFRQRmFtaWx5ID0gdHJ1ZSwgbV9jYW5ub3RCZUFCYXNlVVJMID0gZmFsc2Us
IG1fc2NoZW1lRW5kID0gNCwgbV91c2VyU3RhcnQgPSA3LCBtX3VzZXJFbmQgPSA3LCBtX3Bhc3N3
b3JkRW5kID0gNywgbV9ob3N0RW5kID0gMjMsIG1fcG9ydEVuZCA9IDIzLCBtX3BhdGhBZnRlckxh
c3RTbGFzaCA9IDQxLCBtX3BhdGhFbmQgPSA1MiwgbV9xdWVyeUVuZCA9IDUyfSwgbV9odHRwTWV0
aG9kID0ge21faW1wbCA9IHtzdGF0aWMgaXNSZWZQdHIgPSA8b3B0aW1pemVkIG91dD4sIG1fcHRy
ID0gMHg3ZjkwMDA1YzE5NjB9fSwgbV9odHRwSGVhZGVyRmllbGRzID0ge21fY29tbW9uSGVhZGVy
cyA9IHttX2ltcGwgPSB7c3RhdGljIG1fbWF4TG9hZCA9IDIsIHN0YXRpYyBtX21pbkxvYWQgPSA2
LCBtX3RhYmxlID0gMHg3ZjlkMDAxYTk5ODAsIG1fdGFibGVTaXplID0gOCwgbV90YWJsZVNpemVN
YXNrID0gNywgbV9rZXlDb3VudCA9IDIsIG1fZGVsZXRlZENvdW50ID0gMH19LCBtX3VuY29tbW9u
SGVhZGVycyA9IHttX2ltcGwgPSB7c3RhdGljIG1fbWF4TG9hZCA9IDIsIHN0YXRpYyBtX21pbkxv
YWQgPSA2LCBtX3RhYmxlID0gMHgwLCBtX3RhYmxlU2l6ZSA9IDAsIG1fdGFibGVTaXplTWFzayA9
IDAsIG1fa2V5Q291bnQgPSAwLCBtX2RlbGV0ZWRDb3VudCA9IDB9fX0sIG1fcmVzcG9uc2VDb250
ZW50RGlzcG9zaXRpb25FbmNvZGluZ0ZhbGxiYWNrQXJyYXkgPSB7PFdURjo6VmVjdG9yQnVmZmVy
PFdURjo6U3RyaW5nLCAwLCBXVEY6OkZhc3RNYWxsb2M+PiA9IHs8V1RGOjpWZWN0b3JCdWZmZXJC
YXNlPFdURjo6U3RyaW5nLCBXVEY6OkZhc3RNYWxsb2M+PiA9IHttX2J1ZmZlciA9IDB4N2Y5ZDAw
MWE2NGY4LCBtX2NhcGFjaXR5ID0gMywgbV9zaXplID0gMywgbV9tYXNrID0gM30sIDxObyBkYXRh
IGZpZWxkcz59LCA8Tm8gZGF0YSBmaWVsZHM+fSwgbV9odHRwQm9keSA9IHtzdGF0aWMgaXNSZWZQ
dHIgPSA8b3B0aW1pemVkIG91dD4sIG1fcHRyID0gMHgwfSwgbV9jYWNoZVBvbGljeSA9IFdlYkNv
cmU6OlVzZVByb3RvY29sQ2FjaGVQb2xpY3ksIG1fYWxsb3dDb29raWVzID0gdHJ1ZSwgbV9yZXNv
dXJjZVJlcXVlc3RVcGRhdGVkID0gdHJ1ZSwgbV9wbGF0Zm9ybVJlcXVlc3RVcGRhdGVkID0gZmFs
c2UsIG1fcmVzb3VyY2VSZXF1ZXN0Qm9keVVwZGF0ZWQgPSB0cnVlLCBtX3BsYXRmb3JtUmVxdWVz
dEJvZHlVcGRhdGVkID0gZmFsc2UsIG1faGlkZGVuRnJvbUluc3BlY3RvciA9IGZhbHNlLCBtX3By
aW9yaXR5ID0gV2ViQ29yZTo6UmVzb3VyY2VMb2FkUHJpb3JpdHk6OkxvdywgbV9yZXF1ZXN0ZXIg
PSBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3RCYXNlOjpSZXF1ZXN0ZXI6OlVuc3BlY2lmaWVkLCBt
X2luaXRpYXRvcklkZW50aWZpZXIgPSB7bV9pbXBsID0ge3N0YXRpYyBpc1JlZlB0ciA9IDxvcHRp
bWl6ZWQgb3V0PiwgbV9wdHIgPSAweDB9fSwgbV9jYWNoZVBhcnRpdGlvbiA9IHttX2ltcGwgPSB7
c3RhdGljIGlzUmVmUHRyID0gPG9wdGltaXplZCBvdXQ+LCBtX3B0ciA9IDB4N2Y5ZDYyODExOGQw
IDxXVEY6OlN0cmluZ0ltcGw6OnNfYXRvbWljRW1wdHlTdHJpbmc+fX0sIHN0YXRpYyBzX2RlZmF1
bHRUaW1lb3V0SW50ZXJ2YWwgPSAwfSwgbV9hY2NlcHRFbmNvZGluZyA9IHRydWUsIG1fc291cEZs
YWdzID0gKHVua25vd246IDApLCBtX2luaXRpYXRpbmdQYWdlSUQgPSAwfSwgWzldID0gNSwgWzEw
XSA9IHttX29iamVjdCA9IHtzdGF0aWMgaXNSZWZQdHIgPSA8b3B0aW1pemVkIG91dD4sIG1fcHRy
ID0gMHgwfX19CiAgICAgICAgcmVwbHlBcmd1bWVudHMgPSAKICAgICAgICAgIFB5dGhvbiBFeGNl
cHRpb24gPGNsYXNzICdnZGIuZXJyb3InPiBUaGVyZSBpcyBubyBtZW1iZXIgb3IgbWV0aG9kIG5h
bWVkIF9NX3BheWxvYWQuOiAKUHl0aG9uIEV4Y2VwdGlvbiA8Y2xhc3MgJ2dkYi5lcnJvcic+IFRo
ZXJlIGlzIG5vIG1lbWJlciBvciBtZXRob2QgbmFtZWQgX01fcGF5bG9hZC46IApzdGQ6OnR1cGxl
IGNvbnRhaW5pbmcgPSB7WzFdID0gZmFsc2UsIFsyXSA9IDMsIFszXSA9IFdlYkNvcmU6OlBvbGlj
eUFjdGlvbjo6VXNlLCBbNF0gPSB7bV9kb3dubG9hZElEID0gMH0sIFs1XSA9IHs8c3RkOjpvcHRp
b25hbF9iYXNlPFdlYktpdDo6V2Vic2l0ZVBvbGljaWVzRGF0YT4+ID0ge2luaXRfID0gZmFsc2Us
IHN0b3JhZ2VfID0ge2R1bW15XyA9IDAgJ1wwMDAnLCB2YWx1ZV8gPSB7Y29udGVudEJsb2NrZXJz
RW5hYmxlZCA9IGZhbHNlLCBhbGxvd2VkQXV0b3BsYXlRdWlya3MgPSB7bV9zdG9yYWdlID0gMH0s
IGF1dG9wbGF5UG9saWN5ID0gV2ViS2l0OjpXZWJzaXRlQXV0b3BsYXlQb2xpY3k6OkRlZmF1bHQs
IGN1c3RvbUhlYWRlckZpZWxkcyA9IHs8V1RGOjpWZWN0b3JCdWZmZXI8V2ViQ29yZTo6SFRUUEhl
YWRlckZpZWxkLCAwLCBXVEY6OkZhc3RNYWxsb2M+PiA9IHs8V1RGOjpWZWN0b3JCdWZmZXJCYXNl
PFdlYkNvcmU6OkhUVFBIZWFkZXJGaWVsZCwgV1RGOjpGYXN0TWFsbG9jPj4gPSB7bV9idWZmZXIg
PSAweDEsIG1fY2FwYWNpdHkgPSAwLCBtX3NpemUgPSAyLCBtX21hc2sgPSAwfSwgPE5vIGRhdGEg
ZmllbGRzPn0sIDxObyBkYXRhIGZpZWxkcz59LCBwb3BVcFBvbGljeSA9ICh1bmtub3duOiAxMTUx
Njk2ODk2KSwgd2Vic2l0ZURhdGFTdG9yZVBhcmFtZXRlcnMgPSB7PHN0ZDo6b3B0aW9uYWxfYmFz
ZTxXZWJLaXQ6OldlYnNpdGVEYXRhU3RvcmVQYXJhbWV0ZXJzPj4gPSB7aW5pdF8gPSBmYWxzZSwg
c3RvcmFnZV8gPSB7ZHVtbXlfID0gMTQ0ICdcMjIwJywgdmFsdWVfID0ge3VpUHJvY2Vzc0Nvb2tp
ZVN0b3JhZ2VJZGVudGlmaWVyID0gezxXVEY6OlZlY3RvckJ1ZmZlcjx1bnNpZ25lZCBjaGFyLCAw
LCBXVEY6OkZhc3RNYWxsb2M+PiA9IHs8V1RGOjpWZWN0b3JCdWZmZXJCYXNlPHVuc2lnbmVkIGNo
YXIsIFdURjo6RmFzdE1hbGxvYz4+ID0ge21fYnVmZmVyID0gMHg3ZmZjMTZjYTc5OTAgIlwyNDB5
XDMxMlwwMjZcMzc0XDE3NyIsIG1fY2FwYWNpdHkgPSAzODMzODU2LCBtX3NpemUgPSAzMjY2OSwg
bV9tYXNrID0gMTY0OTc3NDExMn0sIDxObyBkYXRhIGZpZWxkcz59LCA8Tm8gZGF0YSBmaWVsZHM+
fSwgY29va2llU3RvcmFnZVBhdGhFeHRlbnNpb25IYW5kbGUgPSB7PE5vIGRhdGEgZmllbGRzPn0s
IHBlbmRpbmdDb29raWVzID0gezxXVEY6OlZlY3RvckJ1ZmZlcjxXZWJDb3JlOjpDb29raWUsIDAs
IFdURjo6RmFzdE1hbGxvYz4+ID0gezxXVEY6OlZlY3RvckJ1ZmZlckJhc2U8V2ViQ29yZTo6Q29v
a2llLCBXVEY6OkZhc3RNYWxsb2M+PiA9IHttX2J1ZmZlciA9IDB4N2ZmYzE2Y2E3OWIwLCBtX2Nh
cGFjaXR5ID0gOCwgbV9zaXplID0gMCwgbV9tYXNrID0gMH0sIDxObyBkYXRhIGZpZWxkcz59LCA8
Tm8gZGF0YSBmaWVsZHM+fSwgY2FjaGVTdG9yYWdlRGlyZWN0b3J5ID0ge21faW1wbCA9IHtzdGF0
aWMgaXNSZWZQdHIgPSA8b3B0aW1pemVkIG91dD4sIG1fcHRyID0gMHg1NTg1N2FhZGYxNTB9fSwg
Y2FjaGVTdG9yYWdlUGVyT3JpZ2luUXVvdGEgPSAxNDA3MjA2OTA4NTQzMDQsIGNhY2hlU3RvcmFn
ZURpcmVjdG9yeUV4dGVuc2lvbkhhbmRsZSA9IHs8Tm8gZGF0YSBmaWVsZHM+fSwgbmV0d29ya1Nl
c3Npb25QYXJhbWV0ZXJzID0ge3Nlc3Npb25JRCA9IHttX3Nlc3Npb25JRCA9IDF9LCBsZWdhY3lD
dXN0b21Qcm90b2NvbE1hbmFnZXIgPSAweDQxYzcyN2ZlNGYxOGEzMDAsIGJvdW5kSW50ZXJmYWNl
SWRlbnRpZmllciA9IHttX2ltcGwgPSB7c3RhdGljIGlzUmVmUHRyID0gPG9wdGltaXplZCBvdXQ+
LCBtX3B0ciA9IDB4NWRjfX0sIGFsbG93c0NlbGx1bGFyQWNjZXNzID0gKHVua25vd246IC02NzEw
ODIxNDQpfX19fSwgPE5vIGRhdGEgZmllbGRzPn19fX0sIDxObyBkYXRhIGZpZWxkcz59fQojMjEg
MHgwMDAwN2Y5ZDY0MDI5ZTczIGluIFdlYktpdDo6V2ViUGFnZVByb3h5OjpkaWRSZWNlaXZlU3lu
Y01lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpEZWNvZGVyJiwgc3RkOjp1bmlxdWVfcHRy
PElQQzo6RW5jb2Rlciwgc3RkOjpkZWZhdWx0X2RlbGV0ZTxJUEM6OkVuY29kZXI+ID4mKSAodGhp
cz0weDdmOWQxMGRkYjAwMCwgY29ubmVjdGlvbj0uLi4sIGRlY29kZXI9Li4uLCByZXBseUVuY29k
ZXI9c3RkOjp1bmlxdWVfcHRyPElQQzo6RW5jb2Rlcj4gY29udGFpbmluZyAweDdmOWQwMDFhMWEw
MCkgYXQgRGVyaXZlZFNvdXJjZXMvV2ViS2l0L1dlYlBhZ2VQcm94eU1lc3NhZ2VSZWNlaXZlci5j
cHA6MTc1NQojMjIgMHgwMDAwN2Y5ZDYzZDcxYTBmIGluIElQQzo6TWVzc2FnZVJlY2VpdmVyTWFw
OjpkaXNwYXRjaFN5bmNNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6RGVjb2RlciYsIHN0
ZDo6dW5pcXVlX3B0cjxJUEM6OkVuY29kZXIsIHN0ZDo6ZGVmYXVsdF9kZWxldGU8SVBDOjpFbmNv
ZGVyPiA+JikgKHRoaXM9MHg3ZjlkNThlYmMwNDAsIGNvbm5lY3Rpb249Li4uLCBkZWNvZGVyPS4u
LiwgcmVwbHlFbmNvZGVyPXN0ZDo6dW5pcXVlX3B0cjxJUEM6OkVuY29kZXI+IGNvbnRhaW5pbmcg
MHg3ZjlkMDAxYTFhMDApCiAgICBhdCAvaG9tZS9nbnVtZGsvcGVyc28vd2Via2l0Mmd0ay9zcmMv
d2Via2l0Z3RrLTIuMTkuOTEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvTWVzc2FnZVJlY2Vp
dmVyTWFwLmNwcDoxNDAKIzIzIDB4MDAwMDdmOWQ2M2U2OTk2MSBpbiBub24tdmlydHVhbCB0aHVu
ayB0byBXZWJLaXQ6OldlYlByb2Nlc3NQcm94eTo6ZGlkUmVjZWl2ZVN5bmNNZXNzYWdlKElQQzo6
Q29ubmVjdGlvbiYsIElQQzo6RGVjb2RlciYsIHN0ZDo6dW5pcXVlX3B0cjxJUEM6OkVuY29kZXIs
IHN0ZDo6ZGVmYXVsdF9kZWxldGU8SVBDOjpFbmNvZGVyPiA+JikgKCkKICAgIGF0IC9ob21lL2du
dW1kay9wZXJzby93ZWJraXQyZ3RrL3NyYy93ZWJraXRndGstMi4xOS45MS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaDoyNzEKIzI0IDB4MDAwMDdmOWQ2M2Q2ZDJjZCBp
biBJUEM6OkNvbm5lY3Rpb246OmRpc3BhdGNoU3luY01lc3NhZ2UoSVBDOjpEZWNvZGVyJikgKHRo
aXM9MHg3ZjlkNThlYWZjMDgsIGRlY29kZXI9Li4uKQogICAgYXQgL2hvbWUvZ251bWRrL3BlcnNv
L3dlYmtpdDJndGsvc3JjL3dlYmtpdGd0ay0yLjE5LjkxL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0v
SVBDL0Nvbm5lY3Rpb24uY3BwOjg2NQogICAgICAgIHN5bmNSZXF1ZXN0SUQgPSA4CiAgICAgICAg
cmVwbHlFbmNvZGVyID0gc3RkOjp1bmlxdWVfcHRyPElQQzo6RW5jb2Rlcj4gY29udGFpbmluZyAw
eDdmOWQwMDFhMWEwMAojMjUgMHgwMDAwN2Y5ZDYzZDZkNDNlIGluIElQQzo6Q29ubmVjdGlvbjo6
ZGlzcGF0Y2hNZXNzYWdlKHN0ZDo6dW5pcXVlX3B0cjxJUEM6OkRlY29kZXIsIHN0ZDo6ZGVmYXVs
dF9kZWxldGU8SVBDOjpEZWNvZGVyPiA+KSAodGhpcz0weDdmOWQ1OGVhZmMwOCwgbWVzc2FnZT1z
dGQ6OnVuaXF1ZV9wdHI8SVBDOjpEZWNvZGVyPiBjb250YWluaW5nIDB4N2Y5ZDAwMWEyYzk4KQog
ICAgYXQgL2hvbWUvZ251bWRrL3BlcnNvL3dlYmtpdDJndGsvc3JjL3dlYmtpdGd0ay0yLjE5Ljkx
L1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL0Nvbm5lY3Rpb24uY3BwOjkzMgogICAgICAgIG9s
ZERpZFJlY2VpdmVJbnZhbGlkTWVzc2FnZSA9IGZhbHNlCiMyNiAweDAwMDA3ZjlkNjNkNmRlN2Mg
aW4gSVBDOjpDb25uZWN0aW9uOjpkaXNwYXRjaE9uZU1lc3NhZ2UoKSAodGhpcz0weDdmOWQ1OGVh
ZmMwOCkKICAgIGF0IC9ob21lL2dudW1kay9wZXJzby93ZWJraXQyZ3RrL3NyYy93ZWJraXRndGst
Mi4xOS45MS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9Db25uZWN0aW9uLmNwcDo5NjUKICAg
ICAgICBtZXNzYWdlID0gc3RkOjp1bmlxdWVfcHRyPElQQzo6RGVjb2Rlcj4gY29udGFpbmluZyAw
eDAKIzI3IDB4MDAwMDdmOWQ2MjU1OGM5NyBpbiBXVEY6OkZ1bmN0aW9uPHZvaWQgKCk+OjpvcGVy
YXRvcigpKCkgY29uc3QgKHRoaXM9PHN5bnRoZXRpYyBwb2ludGVyPikgYXQgL2hvbWUvZ251bWRr
L3BlcnNvL3dlYmtpdDJndGsvc3JjL3dlYmtpdGd0ay0yLjE5LjkxL1NvdXJjZS9XVEYvd3RmL0Z1
bmN0aW9uLmg6NTYKICAgICAgICBmdW5jdGlvbiA9IAogICAgICAgICAge21fY2FsbGFibGVXcmFw
cGVyID0gc3RkOjp1bmlxdWVfcHRyPFdURjo6RnVuY3Rpb248dm9pZCgpPjo6Q2FsbGFibGVXcmFw
cGVyQmFzZT4gY29udGFpbmluZyAweDdmOWQwMDFhM2ZmMH0KICAgICAgICBmdW5jdGlvbnNUb0hh
bmRsZSA9IDxvcHRpbWl6ZWQgb3V0PgojMjggMHgwMDAwN2Y5ZDYyNTU4Yzk3IGluIFdURjo6UnVu
TG9vcDo6cGVyZm9ybVdvcmsoKSAodGhpcz0weDdmOWQ1OGVmOTAwMCkKICAgIGF0IC9ob21lL2du
dW1kay9wZXJzby93ZWJraXQyZ3RrL3NyYy93ZWJraXRndGstMi4xOS45MS9Tb3VyY2UvV1RGL3d0
Zi9SdW5Mb29wLmNwcDoxMDYKICAgICAgICBmdW5jdGlvbiA9IAogICAgICAgICAge21fY2FsbGFi
bGVXcmFwcGVyID0gc3RkOjp1bmlxdWVfcHRyPFdURjo6RnVuY3Rpb248dm9pZCgpPjo6Q2FsbGFi
bGVXcmFwcGVyQmFzZT4gY29udGFpbmluZyAweDdmOWQwMDFhM2ZmMH0KICAgICAgICBmdW5jdGlv
bnNUb0hhbmRsZSA9IDxvcHRpbWl6ZWQgb3V0PgojMjkgMHgwMDAwN2Y5ZDYyNTkwOWFhIGluIFdU
Rjo6UnVuTG9vcDo6PGxhbWJkYShncG9pbnRlcik+OjpvcGVyYXRvcigpIChfX2Nsb3N1cmU9MHgw
LCB1c2VyRGF0YT08b3B0aW1pemVkIG91dD4pCiAgICBhdCAvaG9tZS9nbnVtZGsvcGVyc28vd2Vi
a2l0Mmd0ay9zcmMvd2Via2l0Z3RrLTIuMTkuOTEvU291cmNlL1dURi93dGYvZ2xpYi9SdW5Mb29w
R0xpYi5jcHA6NjgKIzMwIDB4MDAwMDdmOWQ2MjU5MDlhYSBpbiBXVEY6OlJ1bkxvb3A6OjxsYW1i
ZGEoZ3BvaW50ZXIpPjo6X0ZVTihncG9pbnRlcikgKCkKICAgIGF0IC9ob21lL2dudW1kay9wZXJz
by93ZWJraXQyZ3RrL3NyYy93ZWJraXRndGstMi4xOS45MS9Tb3VyY2UvV1RGL3d0Zi9nbGliL1J1
bkxvb3BHTGliLmNwcDo3MAojMzEgMHgwMDAwN2Y5ZDcxNTNlY2M2IGluIGdfbWFpbl9kaXNwYXRj
aCAoY29udGV4dD0weDU1ODU3OGY5M2M2MCkgYXQgZ21haW4uYzozMTQyCiAgICAgICAgZGlzcGF0
Y2ggPSAKICAgIDB4N2Y5ZDYyNTkwOWMwIDxXVEY6OjxsYW1iZGEoR1NvdXJjZSosIEdTb3VyY2VG
dW5jLCBncG9pbnRlcik+OjpfRlVOKEdTb3VyY2UgKiwgR1NvdXJjZUZ1bmMsIGdwb2ludGVyKT4K
ICAgICAgICBwcmV2X3NvdXJjZSA9IDB4MAogICAgICAgIHdhc19pbl9jYWxsID0gMAogICAgICAg
IHVzZXJfZGF0YSA9IDB4N2Y5ZDU4ZWY5MDAwCiAgICAgICAgY2FsbGJhY2sgPSAweDdmOWQ2MjU5
MDlhMCA8V1RGOjpSdW5Mb29wOjo8bGFtYmRhKGdwb2ludGVyKT46Ol9GVU4oZ3BvaW50ZXIpPgog
ICAgICAgIGNiX2Z1bmNzID0gMHg3ZjlkNzE4MDcyODAgPGdfc291cmNlX2NhbGxiYWNrX2Z1bmNz
PgogICAgICAgIGNiX2RhdGEgPSAweDU1ODU3OTBjNjVmMAogICAgICAgIG5lZWRfZGVzdHJveSA9
IDxvcHRpbWl6ZWQgb3V0PgogICAgICAgIHNvdXJjZSA9IDB4NTU4NTc5MTM4MDIwCiAgICAgICAg
Y3VycmVudCA9IDB4NTU4NTc5MTg4ODQwCiAgICAgICAgaSA9IDAKIzMyIDB4MDAwMDdmOWQ3MTUz
ZWNjNiBpbiBnX21haW5fY29udGV4dF9kaXNwYXRjaCAoY29udGV4dD1jb250ZXh0QGVudHJ5PTB4
NTU4NTc4ZjkzYzYwKQogICAgYXQgZ21haW4uYzozNzk1CiMzMyAweDAwMDA3ZjlkNzE1M2YwYTEg
aW4gZ19tYWluX2NvbnRleHRfaXRlcmF0ZSAoY29udGV4dD1jb250ZXh0QGVudHJ5PTB4NTU4NTc4
ZjkzYzYwLCBibG9jaz1ibG9ja0BlbnRyeT0xLCBkaXNwYXRjaD1kaXNwYXRjaEBlbnRyeT0xLCBz
ZWxmPTxvcHRpbWl6ZWQgb3V0PikgYXQgZ21haW4uYzozODY4CiAgICAgICAgbWF4X3ByaW9yaXR5
ID0gMjE0NzQ4MzY0NwogICAgICAgIHRpbWVvdXQgPSAxMDUwCiAgICAgICAgc29tZV9yZWFkeSA9
IDEKICAgICAgICBuZmRzID0gPG9wdGltaXplZCBvdXQ+CiAgICAgICAgYWxsb2NhdGVkX25mZHMg
PSA1CiAgICAgICAgZmRzID0gMHg1NTg1NzkxZGEzNDAKIzM0IDB4MDAwMDdmOWQ3MTUzZjEyZSBp
biBnX21haW5fY29udGV4dF9pdGVyYXRpb24gKGNvbnRleHQ9Y29udGV4dEBlbnRyeT0weDU1ODU3
OGY5M2M2MCwgbWF5X2Jsb2NrPW1heV9ibG9ja0BlbnRyeT0xKSBhdCBnbWFpbi5jOjM5MjkKICAg
ICAgICByZXR2YWwgPSA8b3B0aW1pemVkIG91dD4KIzM1IDB4MDAwMDdmOWQ3MGRlMTkxZSBpbiBn
X2FwcGxpY2F0aW9uX3J1biAoYXBwbGljYXRpb249MHg1NTg1NzkwMjgxZjAgW2VvbGllK2FwcGxp
Y2F0aW9uK0FwcGxpY2F0aW9uXSwgYXJnYz08b3B0aW1pemVkIG91dD4sIGFyZ3Y9PG9wdGltaXpl
ZCBvdXQ+KSBhdCBnYXBwbGljYXRpb24uYzoyNDAxCiAgICAgICAgYXJndW1lbnRzID0gMHg1NTg1
NzkxYzBjNzAKICAgICAgICBzdGF0dXMgPSAwCiAgICAgICAgY29udGV4dCA9IDB4NTU4NTc4Zjkz
YzYwCiAgICAgICAgYWNxdWlyZWRfY29udGV4dCA9IDxvcHRpbWl6ZWQgb3V0PgogICAgICAgIF9f
ZnVuY19fID0gImdfYXBwbGljYXRpb25fcnVuIgojMzYgMHgwMDAwN2Y5ZDcxMmYxMWM4IGluIGZm
aV9jYWxsX3VuaXg2NCAoKSBhdCAvdXNyL2xpYi9saWJmZmkuc28uNgojMzcgMHgwMDAwN2Y5ZDcx
MmYwYzJhIGluIGZmaV9jYWxsICgpIGF0IC91c3IvbGliL2xpYmZmaS5zby42CiMzOCAweDAwMDA3
ZjlkNzFjYmRiMzQgaW4gcHlnaV9pbnZva2VfY19jYWxsYWJsZSAoZnVuY3Rpb25fY2FjaGU9MHg1
NTg1NzkxYjNhMTAsIHN0YXRlPTxvcHRpbWl6ZWQgb3V0PiwgcHlfYXJncz08b3B0aW1pemVkIG91
dD4sIHB5X2t3YXJncz08b3B0aW1pemVkIG91dD4pCiAgICBhdCAuLi8uLi9weWdvYmplY3QvZ2kv
cHlnaS1pbnZva2UuYzo2ODIKICAgICAgICBfc2F2ZSA9IDB4NTU4NTc4ZDkzNWIwCiAgICAgICAg
Y2FjaGUgPSAweDU1ODU3OTFiM2ExMAogICAgICAgIGZmaV9yZXR1cm5fdmFsdWUgPSAKICAgICAg
ICAgIHt2X2Jvb2xlYW4gPSAwLCB2X2ludDggPSAwICdcMDAwJywgdl91aW50OCA9IDAgJ1wwMDAn
LCB2X2ludDE2ID0gMCwgdl91aW50MTYgPSAwLCB2X2ludDMyID0gMCwgdl91aW50MzIgPSAwLCB2
X2ludDY0ID0gMCwgdl91aW50NjQgPSAwLCB2X2Zsb2F0ID0gMCwgdl9kb3VibGUgPSAwLCB2X3No
b3J0ID0gMCwgdl91c2hvcnQgPSAwLCB2X2ludCA9IDAsIHZfdWludCA9IDAsIHZfbG9uZyA9IDAs
IHZfdWxvbmcgPSAwLCB2X3NzaXplID0gMCwgdl9zaXplID0gMCwgdl9zdHJpbmcgPSAweDAsIHZf
cG9pbnRlciA9IDB4MH0KICAgICAgICByZXQgPSAweDAKIzM5IDB4MDAwMDdmOWQ3MWNiZjdiOCBp
biBweWdpX2Z1bmN0aW9uX2NhY2hlX2ludm9rZSAoZnVuY3Rpb25fY2FjaGU9PG9wdGltaXplZCBv
dXQ+LCBweV9hcmdzPXB5X2FyZ3NAZW50cnk9MHg3ZjlkNmY2YWUzNDgsIHB5X2t3YXJncz08b3B0
aW1pemVkIG91dD4pCiAgICBhdCAuLi8uLi9weWdvYmplY3QvZ2kvcHlnaS1jYWNoZS5jOjg2Mwog
ICAgICAgIHN0YXRlID0gCiAgICAgICAgICB7cHlfaW5fYXJncyA9IDB4N2Y5ZDZmNmFlMzQ4LCBu
X3B5X2luX2FyZ3MgPSAyLCBuX2FyZ3MgPSAzLCBmZmlfYXJncyA9IDB4NTU4NTc5MzA0N2E4LCBh
cmdzID0gMHg1NTg1NzkzMDQ3NjAsIHJldHVybl9hcmcgPSB7dl9ib29sZWFuID0gMCwgdl9pbnQ4
ID0gMCAnXDAwMCcsIHZfdWludDggPSAwICdcMDAwJywgdl9pbnQxNiA9IDAsIHZfdWludDE2ID0g
MCwgdl9pbnQzMiA9IDAsIHZfdWludDMyID0gMCwgdl9pbnQ2NCA9IDAsIHZfdWludDY0ID0gMCwg
dl9mbG9hdCA9IDAsIHZfZG91YmxlID0gMCwgdl9zaG9ydCA9IDAsIHZfdXNob3J0ID0gMCwgdl9p
bnQgPSAwLCB2X3VpbnQgPSAwLCB2X2xvbmcgPSAwLCB2X3Vsb25nID0gMCwgdl9zc2l6ZSA9IDAs
IHZfc2l6ZSA9IDAsIHZfc3RyaW5nID0gMHgwLCB2X3BvaW50ZXIgPSAweDB9LCBlcnJvciA9IDB4
MCwgZmFpbGVkID0gMCwgdXNlcl9kYXRhID0gMHgwLCBmdW5jdGlvbl9wdHIgPSAweDdmOWQ3MGRl
MTcxMCA8Z19hcHBsaWNhdGlvbl9ydW4+fQojNDAgMHgwMDAwN2Y5ZDcxY2JlM2M5IGluIHB5Z2lf
Y2FsbGFibGVfaW5mb19pbnZva2UgKGluZm89PG9wdGltaXplZCBvdXQ+LCBweV9hcmdzPXB5X2Fy
Z3NAZW50cnk9MHg3ZjlkNmY2YWUzNDgsIGt3YXJncz08b3B0aW1pemVkIG91dD4sIGNhY2hlPTxv
cHRpbWl6ZWQgb3V0PiwgdXNlcl9kYXRhPXVzZXJfZGF0YUBlbnRyeT0weDApIGF0IC4uLy4uL3B5
Z29iamVjdC9naS9weWdpLWludm9rZS5jOjcyNQojNDEgMHgwMDAwN2Y5ZDcxY2JlNDAwIGluIF93
cmFwX2dfY2FsbGFibGVfaW5mb19pbnZva2UgKHNlbGY9PG9wdGltaXplZCBvdXQ+LCBweV9hcmdz
PXB5X2FyZ3NAZW50cnk9MHg3ZjlkNmY2YWUzNDgsIGt3YXJncz08b3B0aW1pemVkIG91dD4pIGF0
IC4uLy4uL3B5Z29iamVjdC9naS9weWdpLWludm9rZS5jOjc2MgojNDIgMHgwMDAwN2Y5ZDcxY2Iz
NTRhIGluIF9jYWxsYWJsZV9pbmZvX2NhbGwgKHNlbGY9MHg3ZjlkNjY1NDBlYTAsIGFyZ3M9MHg3
ZjlkNmZkYmVlYjgsIGt3YXJncz0weDApIGF0IC4uLy4uL3B5Z29iamVjdC9naS9weWdpLWluZm8u
Yzo1NjEKICAgICAgICBpID0gPG9wdGltaXplZCBvdXQ+CiAgICAgICAgcmVzdWx0ID0gPG9wdGlt
aXplZCBvdXQ+CiAgICAgICAgYXJnY291bnQgPSAxCiAgICAgICAgbmV3YXJncyA9IDB4N2Y5ZDZm
NmFlMzQ4CiAgICAgICAga3dhcmdzID0gMHgwCiAgICAgICAgc2VsZiA9IDB4N2Y5ZDY2NTQwZWEw
CiAgICAgICAgYXJncyA9IDB4N2Y5ZDZmZGJlZWI4CiM0MyAweDAwMDA3ZjlkNzJlYjVlZTUgaW4g
X1B5T2JqZWN0X0Zhc3RDYWxsRGljdCAoKSBhdCAvdXNyL2xpYi9saWJweXRob24zLjZtLnNvLjEu
MAojNDQgMHgwMDAwN2Y5ZDcyZWQyZTRlIGluICAoKSBhdCAvdXNyL2xpYi9saWJweXRob24zLjZt
LnNvLjEuMAojNDUgMHgwMDAwN2Y5ZDcyZTY2YjVhIGluIF9QeUV2YWxfRXZhbEZyYW1lRGVmYXVs
dCAoKSBhdCAvdXNyL2xpYi9saWJweXRob24zLjZtLnNvLjEuMAojNDYgMHgwMDAwN2Y5ZDcyZWQz
MmM4IGluIFB5RXZhbF9FdmFsQ29kZUV4ICgpIGF0IC91c3IvbGliL2xpYnB5dGhvbjMuNm0uc28u
MS4wCiM0NyAweDAwMDA3ZjlkNzJlNjY2ZWMgaW4gUHlFdmFsX0V2YWxDb2RlICgpIGF0IC91c3Iv
bGliL2xpYnB5dGhvbjMuNm0uc28uMS4wCiM0OCAweDAwMDA3ZjlkNzJmMzhmODQgaW4gICgpIGF0
IC91c3IvbGliL2xpYnB5dGhvbjMuNm0uc28uMS4wCiM0OSAweDAwMDA3ZjlkNzJmM2I3NTEgaW4g
UHlSdW5fRmlsZUV4RmxhZ3MgKCkgYXQgL3Vzci9saWIvbGlicHl0aG9uMy42bS5zby4xLjAKIzUw
IDB4MDAwMDdmOWQ3MmYzYjk1NCBpbiBQeVJ1bl9TaW1wbGVGaWxlRXhGbGFncyAoKSBhdCAvdXNy
L2xpYi9saWJweXRob24zLjZtLnNvLjEuMAojNTEgMHgwMDAwN2Y5ZDcyZjMxNzBiIGluIFB5X01h
aW4gKCkgYXQgL3Vzci9saWIvbGlicHl0aG9uMy42bS5zby4xLjAKIzUyIDB4MDAwMDU1ODU3NzU3
YmMzOSBpbiBtYWluICgpCnF1aXQK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>335925</attachid>
            <date>2018-03-16 02:46:47 -0700</date>
            <delta_ts>2018-03-16 02:46:47 -0700</delta_ts>
            <desc>New backtrace</desc>
            <filename>new_backtrace.txt</filename>
            <type>text/plain</type>
            <size>6144</size>
            <attacher name="Cédric Bellegarde">cedric.bellegarde</attacher>
            
              <data encoding="base64">IzAgIDB4MDAwMDdmYTIwODFlMWQxNCBpbiBib29sIFdURjo6ZXF1YWxJZ25vcmluZ0FTQ0lJQ2Fz
ZUNvbW1vbjxXVEY6OlN0cmluZ0ltcGwsIFdURjo6U3RyaW5nSW1wbD4oV1RGOjpTdHJpbmdJbXBs
IGNvbnN0JiwgV1RGOjpTdHJpbmdJbXBsIGNvbnN0JikgKCkKICAgIGF0IC9saWI2NC9saWJ3ZWJr
aXQyZ3RrLTQuMC5zby4zNwojMSAgMHgwMDAwN2ZhMjA5MTY5MDQ0IGluIFdURjo6U3RyaW5nKiBX
VEY6Okhhc2hUYWJsZTxXVEY6OlN0cmluZywgV1RGOjpTdHJpbmcsIFdURjo6SWRlbnRpdHlFeHRy
YWN0b3IsIFdURjo6QVNDSUlDYXNlSW5zZW5zaXRpdmVIYXNoLCBXVEY6Okhhc2hUcmFpdHM8V1RG
OjpTdHJpbmc+LCBXVEY6Okhhc2hUcmFpdHM8V1RGOjpTdHJpbmc+ID46Omxvb2t1cDxXVEY6Oklk
ZW50aXR5SGFzaFRyYW5zbGF0b3I8V1RGOjpIYXNoVHJhaXRzPFdURjo6U3RyaW5nPiwgV1RGOjpB
U0NJSUNhc2VJbnNlbnNpdGl2ZUhhc2g+LCBXVEY6OlN0cmluZz4oV1RGOjpTdHJpbmcgY29uc3Qm
KSAoKQogICAgYXQgL2xpYjY0L2xpYndlYmtpdDJndGstNC4wLnNvLjM3CiMyICAweDAwMDA3ZmEy
MDkyZjgzOTIgaW4gV2ViQ29yZTo6U2NoZW1lUmVnaXN0cnk6OnNob3VsZFRyZWF0VVJMU2NoZW1l
QXNMb2NhbChXVEY6OlN0cmluZyBjb25zdCYpICgpIGF0IC9saWI2NC9saWJ3ZWJraXQyZ3RrLTQu
MC5zby4zNwojMyAgMHgwMDAwN2ZhMjA5MjhjMTY2IGluIFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2lu
OjpTZWN1cml0eU9yaWdpbihXZWJDb3JlOjpVUkwgY29uc3QmKSAoKQogICAgYXQgL2xpYjY0L2xp
YndlYmtpdDJndGstNC4wLnNvLjM3CiM0ICAweDAwMDA3ZmEyMDkyOGM1ZTAgaW4gV2ViQ29yZTo6
U2VjdXJpdHlPcmlnaW46OmNyZWF0ZShXZWJDb3JlOjpVUkwgY29uc3QmKSAoKQogICAgYXQgL2xp
YjY0L2xpYndlYmtpdDJndGstNC4wLnNvLjM3CiM1ICAweDAwMDA3ZmEyMDkyOTE4ZDUgaW4gV2Vi
Q29yZTo6U2VjdXJpdHlPcmlnaW46OmNyZWF0ZShXVEY6OlN0cmluZyBjb25zdCYsIFdURjo6U3Ry
aW5nIGNvbnN0Jiwgc3RkOjpvcHRpb25hbDx1bnNpZ25lZCBzaG9ydD4pICgpIGF0IC9saWI2NC9s
aWJ3ZWJraXQyZ3RrLTQuMC5zby4zNwojNiAgMHgwMDAwN2ZhMjA5MjkxY2Y2IGluIFdlYkNvcmU6
OlNlY3VyaXR5T3JpZ2luRGF0YTo6c2VjdXJpdHlPcmlnaW4oKSBjb25zdCAoKQogICAgYXQgL2xp
YjY0L2xpYndlYmtpdDJndGstNC4wLnNvLjM3CiM3ICAweDAwMDA3ZmEyMDgyYjM4NTYgaW4gV2Vi
S2l0OjpXZWJQYWdlUHJveHk6OmRlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb24odW5zaWdu
ZWQgbG9uZywgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhIGNvbnN0JiwgdW5zaWduZWQgbG9u
ZywgV2ViS2l0OjpOYXZpZ2F0aW9uQWN0aW9uRGF0YSYmLCBXZWJLaXQ6OkZyYW1lSW5mb0RhdGEg
Y29uc3QmLCB1bnNpZ25lZCBsb25nLCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QgY29uc3QmLCBX
ZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmJiwgdW5zaWduZWQgbG9uZywgV2ViS2l0OjpVc2VyRGF0
YSBjb25zdCYsIGJvb2wmLCB1bnNpZ25lZCBsb25nJiwgV2ViQ29yZTo6UG9saWN5QWN0aW9uJiwg
V2ViS2l0OjpEb3dubG9hZElEJiwgc3RkOjpvcHRpb25hbDxXZWJLaXQ6OldlYnNpdGVQb2xpY2ll
c0RhdGE+JikgKCkKICAgIGF0IC9saWI2NC9saWJ3ZWJraXQyZ3RrLTQuMC5zby4zNwojOCAgMHgw
MDAwN2ZhMjA4NDkwMmY5IGluIHZvaWQgSVBDOjpoYW5kbGVNZXNzYWdlPE1lc3NhZ2VzOjpXZWJQ
YWdlUHJveHk6OkRlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb24sIFdlYktpdDo6V2ViUGFn
ZVByb3h5LCB2b2lkIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6KikodW5zaWduZWQgbG9uZywgV2Vi
Q29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhIGNvbnN0JiwgdW5zaWduZWQgbG9uZywgV2ViS2l0OjpO
YXZpZ2F0aW9uQWN0aW9uRGF0YSYmLCBXZWJLaXQ6OkZyYW1lSW5mb0RhdGEgY29uc3QmLCB1bnNp
Z25lZCBsb25nLCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QgY29uc3QmLCBXZWJDb3JlOjpSZXNv
dXJjZVJlcXVlc3QmJiwgdW5zaWduZWQgbG9uZywgV2ViS2l0OjpVc2VyRGF0YSBjb25zdCYsIGJv
b2wmLCB1bnNpZ25lZCBsb25nJiwgV2ViQ29yZTo6UG9saWN5QWN0aW9uJiwgV2ViS2l0OjpEb3du
bG9hZElEJiwgc3RkOjpvcHRpb25hbDxXZWJLaXQ6OldlYnNpdGVQb2xpY2llc0RhdGE+Jik+KElQ
Qzo6RGVjb2RlciYsIElQQzo6RW5jb2RlciYsIFdlYktpdDo6V2ViUGFnZVByb3h5Kiwgdm9pZCAo
V2ViS2l0OjpXZWJQYWdlUHJveHk6OiopKHVuc2lnbmVkIGxvbmcsIFdlYkNvcmU6OlNlY3VyaXR5
T3JpZ2luRGF0YSBjb25zdCYsIHVuc2lnbmVkIGxvbmcsIFdlYktpdDo6TmF2aWdhdGlvbkFjdGlv
bkRhdGEmJiwgV2ViS2l0OjpGcmFtZUluZm9EYXRhIGNvbnN0JiwgdW5zaWduZWQgbG9uZywgV2Vi
Q29yZTo6UmVzb3VyY2VSZXF1ZXN0IGNvbnN0JiwgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiYs
IHVuc2lnbmVkIGxvbmcsIFdlYktpdDo6VXNlckRhdGEgY29uc3QmLCBib29sJiwgdW5zaWduZWQg
bG9uZyYsIFdlYkNvcmU6OlBvbGljeUFjdGlvbiYsIFdlYktpdDo6RG93bmxvYWRJRCYsIHN0ZDo6
b3B0aW9uYWw8V2ViS2l0OjpXZWJzaXRlUG9saWNpZXNEYXRhPiYpKSAoKQogICAgYXQgL2xpYjY0
L2xpYndlYmtpdDJndGstNC4wLnNvLjM3CiM5ICAweDAwMDA3ZmEyMDg0ODRlYWEgaW4gV2ViS2l0
OjpXZWJQYWdlUHJveHk6OmRpZFJlY2VpdmVTeW5jTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJ
UEM6OkRlY29kZXImLCBzdGQ6OnVuaXF1ZV9wdHI8SVBDOjpFbmNvZGVyLCBzdGQ6OmRlZmF1bHRf
ZGVsZXRlPElQQzo6RW5jb2Rlcj4gPiYpICgpCiAgICBhdCAvbGliNjQvbGlid2Via2l0Mmd0ay00
LjAuc28uMzcKIzEwIDB4MDAwMDdmYTIwODIwMjc2ZiBpbiBJUEM6Ok1lc3NhZ2VSZWNlaXZlck1h
cDo6ZGlzcGF0Y2hTeW5jTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6OkRlY29kZXImLCBz
dGQ6OnVuaXF1ZV9wdHI8SVBDOjpFbmNvZGVyLCBzdGQ6OmRlZmF1bHRfZGVsZXRlPElQQzo6RW5j
b2Rlcj4gPiYpICgpCiAgICBhdCAvbGliNjQvbGlid2Via2l0Mmd0ay00LjAuc28uMzcKIzExIDB4
MDAwMDdmYTIwODJlMzJlZiBpbiBXZWJLaXQ6OldlYlByb2Nlc3NQcm94eTo6ZGlkUmVjZWl2ZVN5
bmNNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6RGVjb2RlciYsIHN0ZDo6dW5pcXVlX3B0
cjxJUEM6OkVuY29kZXIsIHN0ZDo6ZGVmYXVsdF9kZWxldGU8SVBDOjpFbmNvZGVyPiA+JikgKCkK
ICAgIGF0IC9saWI2NC9saWJ3ZWJraXQyZ3RrLTQuMC5zby4zNwojMTIgMHgwMDAwN2ZhMjA4MWZk
Y2FkIGluIElQQzo6Q29ubmVjdGlvbjo6ZGlzcGF0Y2hTeW5jTWVzc2FnZShJUEM6OkRlY29kZXIm
KSAoKQogICAgYXQgL2xpYjY0L2xpYndlYmtpdDJndGstNC4wLnNvLjM3CiMxMyAweDAwMDA3ZmEy
MDgxZmRlMWQgaW4gSVBDOjpDb25uZWN0aW9uOjpkaXNwYXRjaE1lc3NhZ2Uoc3RkOjp1bmlxdWVf
cHRyPElQQzo6RGVjb2Rlciwgc3RkOjpkZWZhdWx0X2RlbGV0ZTxJUEM6OkRlY29kZXI+ID4pICgp
IGF0IC9saWI2NC9saWJ3ZWJraXQyZ3RrLTQuMC5zby4zNwojMTQgMHgwMDAwN2ZhMjA4MWZlNmEy
IGluIElQQzo6Q29ubmVjdGlvbjo6ZGlzcGF0Y2hPbmVNZXNzYWdlKCkgKCkKICAgIGF0IC9saWI2
NC9saWJ3ZWJraXQyZ3RrLTQuMC5zby4zNwojMTUgMHgwMDAwN2ZhMjA2OWQ5ZDgzIGluIFdURjo6
UnVuTG9vcDo6cGVyZm9ybVdvcmsoKSAoKQogICAgYXQgL2xpYjY0L2xpYmphdmFzY3JpcHRjb3Jl
Z3RrLTQuMC5zby4xOAojMTYgMHgwMDAwN2ZhMjA2YTAzNGNkIGluIFdURjo6UnVuTG9vcDo6UnVu
TG9vcCgpOjp7bGFtYmRhKHZvaWQqKSMxfTo6X0ZVTih2b2lkKikgKCkKICAgIGF0IC9saWI2NC9s
aWJqYXZhc2NyaXB0Y29yZWd0ay00LjAuc28uMTgKIzE3IDB4MDAwMDdmYTIxNjYxYjdkZCBpbiBn
X21haW5fY29udGV4dF9kaXNwYXRjaCAoKSBhdCAvbGliNjQvbGliZ2xpYi0yLjAuc28uMAojMTgg
MHgwMDAwN2ZhMjE2NjFiYmE4IGluIGdfbWFpbl9jb250ZXh0X2l0ZXJhdGUuaXNyYSAoKSBhdCAv
bGliNjQvbGliZ2xpYi0yLjAuc28uMAojMTkgMHgwMDAwN2ZhMjE2NjFiYzQwIGluIGdfbWFpbl9j
b250ZXh0X2l0ZXJhdGlvbiAoKSBhdCAvbGliNjQvbGliZ2xpYi0yLjAuc28uMAojMjAgMHgwMDAw
N2ZhMjE1ZWM0Njc1IGluIGdfYXBwbGljYXRpb25fcnVuICgpIGF0IC9saWI2NC9saWJnaW8tMi4w
LnNvLjAKIzIxIDB4MDAwMDdmYTIxNjNjYzAzZSBpbiBmZmlfY2FsbF91bml4NjQgKCkgYXQgLi4v
c3JjL3g4Ni91bml4NjQuUzo3NgojMjIgMHgwMDAwN2ZhMjE2M2NiOWZmIGluIGZmaV9jYWxsIChj
aWY9PG9wdGltaXplZCBvdXQ+LCBmbj08b3B0aW1pemVkIG91dD4sIHJ2YWx1ZT08b3B0aW1pemVk
IG91dD4sIGF2YWx1ZT08b3B0aW1pemVkIG91dD4pIGF0IC4uL3NyYy94ODYvZmZpNjQuYzo1MjUK
ICAgICAgICBjbGFzc2VzID0ge1g4Nl82NF9JTlRFR0VSX0NMQVNTLCAyMTkzMywgMzE3NjEwNzYw
OCwgMzI2NzN9CiAgICAgICAgc3RhY2sgPSA8b3B0aW1pemVkIG91dD4KICAgICAgICBhcmdwID0g
PG9wdGltaXplZCBvdXQ+CiAgICAgICAgYXJnX3R5cGVzID0gPG9wdGltaXplZCBvdXQ+CiAgICAg
ICAgZ3ByY291bnQgPSA8b3B0aW1pemVkIG91dD4KICAgICAgICBzc2Vjb3VudCA9IDxvcHRpbWl6
ZWQgb3V0PgogICAgICAgIG5ncHIgPSAxCiAgICAgICAgbnNzZSA9IDAKICAgICAgICBpID0gPG9w
dGltaXplZCBvdXQ+CiAgICAgICAgYXZuID0gPG9wdGltaXplZCBvdXQ+CiAgICAgICAgcmV0X2lu
X21lbW9yeSA9IDxvcHRpbWl6ZWQgb3V0PgogICAgICAgIHJlZ19hcmdzID0gPG9wdGltaXplZCBv
dXQ+CiMyMyAweDAwMDA3ZmEyMTZkOWJiM2QgaW4gcHlnaV9pbnZva2VfY19jYWxsYWJsZSAoKQog
ICAgYXQgL3Vzci9saWI2NC9weXRob24zLjYvc2l0ZS1wYWNrYWdlcy9naS9fZ2kuY3B5dGhvbi0z
Nm0teDg2XzY0LWxpbnV4LWdudS5zbwojMjQgMHgwMDAwN2ZhMjE2ZDlkNjhjIGluIHB5Z2lfZnVu
Y3Rpb25fY2FjaGVfaW52b2tlICgpCiAgICBhdCAvdXNyL2xpYjY0L3B5dGhvbjMuNi9zaXRlLXBh
Y2thZ2VzL2dpL19naS5jcHl0aG9uLTM2bS14ODZfNjQtbGludXgtZ251LnNvCiMyNSAweDAwMDA3
ZmEyMjRiYWY3ODMgaW4gUHlPYmplY3RfQ2FsbCAoKSBhdCAvbGliNjQvbGlicHl0aG9uMy42bS5z
by4xLjAKIzI2IDB4MDAwMDdmYTIyNGM2NmQ3MCBpbiBfUHlFdmFsX0V2YWxGcmFtZURlZmF1bHQg
KCkgYXQgL2xpYjY0L2xpYnB5dGhvbjMuNm0uc28uMS4wCiMyNyAweDAwMDA3ZmEyMjRjMWUxNjgg
aW4gX1B5RXZhbF9FdmFsQ29kZVdpdGhOYW1lICgpIGF0IC9saWI2NC9saWJweXRob24zLjZtLnNv
LjEuMAojMjggMHgwMDAwN2ZhMjI0YzFmMzkwIGluIGZhc3RfZnVuY3Rpb24gKCkgYXQgL2xpYjY0
L2xpYnB5dGhvbjMuNm0uc28uMS4wCiMyOSAweDAwMDA3ZmEyMjRjMjBlNTIgaW4gY2FsbF9mdW5j
dGlvbiAoKSBhdCAvbGliNjQvbGlicHl0aG9uMy42bS5zby4xLjAKIzMwIDB4MDAwMDdmYTIyNGM2
NTJiYSBpbiBfUHlFdmFsX0V2YWxGcmFtZURlZmF1bHQgKCkgYXQgL2xpYjY0L2xpYnB5dGhvbjMu
Nm0uc28uMS4wCiMzMSAweDAwMDA3ZmEyMjRjNGJkNDggaW4gUHlFdmFsX0V2YWxDb2RlRXggKCkg
YXQgL2xpYjY0L2xpYnB5dGhvbjMuNm0uc28uMS4wCiMzMiAweDAwMDA3ZmEyMjRjNGNjN2IgaW4g
UHlFdmFsX0V2YWxDb2RlICgpIGF0IC9saWI2NC9saWJweXRob24zLjZtLnNvLjEuMAojMzMgMHgw
MDAwN2ZhMjI0Y2NiNjUyIGluIHJ1bl9tb2QgKCkgYXQgL2xpYjY0L2xpYnB5dGhvbjMuNm0uc28u
MS4wCiMzNCAweDAwMDA3ZmEyMjRjY2I5ZmEgaW4gUHlSdW5fRmlsZUV4RmxhZ3MgKCkgYXQgL2xp
YjY0L2xpYnB5dGhvbjMuNm0uc28uMS4wCiMzNSAweDAwMDA3ZmEyMjRjY2Q3YjAgaW4gUHlSdW5f
U2ltcGxlRmlsZUV4RmxhZ3MgKCkgYXQgL2xpYjY0L2xpYnB5dGhvbjMuNm0uc28uMS4wCiMzNiAw
eDAwMDA3ZmEyMjRjY2U5MjUgaW4gUHlfTWFpbiAoKSBhdCAvbGliNjQvbGlicHl0aG9uMy42bS5z
by4xLjAKIzM3IDB4MDAwMDU1YWQ1OTFiOWNhOCBpbiBtYWluICgpCnF1aXQK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>335927</attachid>
            <date>2018-03-16 03:40:25 -0700</date>
            <delta_ts>2018-03-16 03:40:25 -0700</delta_ts>
            <desc>Backtrace with demangle off</desc>
            <filename>demangle-off.txt</filename>
            <type>text/plain</type>
            <size>8555</size>
            <attacher name="Cédric Bellegarde">cedric.bellegarde</attacher>
            
              <data encoding="base64">IzAgIDB4MDAwMDdmYTIwODFlMWQxNCBpbiBXVEY6OmVxdWFsSWdub3JpbmdBU0NJSUNhc2VDb21t
b248V1RGOjpTdHJpbmdJbXBsLCBXVEY6OlN0cmluZ0ltcGw+KFdURjo6U3RyaW5nSW1wbCBjb25z
dCYsIFdURjo6U3RyaW5nSW1wbCBjb25zdCYpIChhPS4uLiwgYj0uLi4pCiAgICBhdCAvdXNyL3Ny
Yy9kZWJ1Zy93ZWJraXQyZ3RrMy0yLjIwLjAtMi5mYzI4Lng4Nl82NC94ODZfNjQtcmVkaGF0LWxp
bnV4LWdudS9EZXJpdmVkU291cmNlcy9Gb3J3YXJkaW5nSGVhZGVycy93dGYvdGV4dC9TdHJpbmdD
b21tb24uaDozNjAKICAgICAgICBsZW5ndGggPSA8b3B0aW1pemVkIG91dD4KIzEgIDB4MDAwMDdm
YTIwOTE2OTA0NCBpbiBXVEY6OmVxdWFsSWdub3JpbmdBU0NJSUNhc2UoV1RGOjpTdHJpbmdJbXBs
IGNvbnN0JiwgV1RGOjpTdHJpbmdJbXBsIGNvbnN0JikgKGI9Li4uLCBhPS4uLikKICAgIGF0IC91
c3Ivc3JjL2RlYnVnL3dlYmtpdDJndGszLTIuMjAuMC0yLmZjMjgueDg2XzY0L3g4Nl82NC1yZWRo
YXQtbGludXgtZ251L0Rlcml2ZWRTb3VyY2VzL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi90ZXh0L1N0
cmluZ0ltcGwuaDoxMTg3CiAgICAgICAgZW50cnkgPSAweDdmYTFmZDVlMDBhOAogICAgICAgIGsg
PSAwCiAgICAgICAgaSA9IDUKICAgICAgICBzaXplTWFzayA9IDcKICAgICAgICB0YWJsZSA9IDB4
N2ZhMWZkNWUwMDgwCiAgICAgICAgaCA9IDM3MAojMiAgMHgwMDAwN2ZhMjA5MTY5MDQ0IGluIFdU
Rjo6QVNDSUlDYXNlSW5zZW5zaXRpdmVIYXNoOjplcXVhbChXVEY6OlN0cmluZ0ltcGwgY29uc3Qm
LCBXVEY6OlN0cmluZ0ltcGwgY29uc3QmKSAoYj0uLi4sIGE9Li4uKQogICAgYXQgL3Vzci9zcmMv
ZGVidWcvd2Via2l0Mmd0azMtMi4yMC4wLTIuZmMyOC54ODZfNjQveDg2XzY0LXJlZGhhdC1saW51
eC1nbnUvRGVyaXZlZFNvdXJjZXMvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL3RleHQvU3RyaW5nSGFz
aC5oOjEyMAogICAgICAgIGVudHJ5ID0gMHg3ZmExZmQ1ZTAwYTgKICAgICAgICBrID0gMAogICAg
ICAgIGkgPSA1CiAgICAgICAgc2l6ZU1hc2sgPSA3CiAgICAgICAgdGFibGUgPSAweDdmYTFmZDVl
MDA4MAogICAgICAgIGggPSAzNzAKIzMgIDB4MDAwMDdmYTIwOTE2OTA0NCBpbiBXVEY6OkFTQ0lJ
Q2FzZUluc2Vuc2l0aXZlSGFzaDo6ZXF1YWwoV1RGOjpTdHJpbmdJbXBsIGNvbnN0KiwgV1RGOjpT
dHJpbmdJbXBsIGNvbnN0KikgKGI9MHg3ZjhjMDA0YmIwZTAsIGE9MHgxKQogICAgYXQgL3Vzci9z
cmMvZGVidWcvd2Via2l0Mmd0azMtMi4yMC4wLTIuZmMyOC54ODZfNjQveDg2XzY0LXJlZGhhdC1s
aW51eC1nbnUvRGVyaXZlZFNvdXJjZXMvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL3RleHQvU3RyaW5n
SGFzaC5oOjEyNgogICAgICAgIGVudHJ5ID0gMHg3ZmExZmQ1ZTAwYTgKICAgICAgICBrID0gMAog
ICAgICAgIGkgPSA1CiAgICAgICAgc2l6ZU1hc2sgPSA3CiAgICAgICAgdGFibGUgPSAweDdmYTFm
ZDVlMDA4MAogICAgICAgIGggPSAzNzAKIzQgIDB4MDAwMDdmYTIwOTE2OTA0NCBpbiBXVEY6OkFT
Q0lJQ2FzZUluc2Vuc2l0aXZlSGFzaDo6ZXF1YWwoV1RGOjpTdHJpbmcgY29uc3QmLCBXVEY6OlN0
cmluZyBjb25zdCYpIChiPS4uLiwgYT0uLi4pCiAgICBhdCAvdXNyL3NyYy9kZWJ1Zy93ZWJraXQy
Z3RrMy0yLjIwLjAtMi5mYzI4Lng4Nl82NC94ODZfNjQtcmVkaGF0LWxpbnV4LWdudS9EZXJpdmVk
U291cmNlcy9Gb3J3YXJkaW5nSGVhZGVycy93dGYvdGV4dC9TdHJpbmdIYXNoLmg6MTQ5CiAgICAg
ICAgZW50cnkgPSAweDdmYTFmZDVlMDBhOAogICAgICAgIGsgPSAwCiAgICAgICAgaSA9IDUKICAg
ICAgICBzaXplTWFzayA9IDcKICAgICAgICB0YWJsZSA9IDB4N2ZhMWZkNWUwMDgwCiAgICAgICAg
aCA9IDM3MAojNSAgMHgwMDAwN2ZhMjA5MTY5MDQ0IGluIFdURjo6SWRlbnRpdHlIYXNoVHJhbnNs
YXRvcjxXVEY6Okhhc2hUcmFpdHM8V1RGOjpTdHJpbmc+LCBXVEY6OkFTQ0lJQ2FzZUluc2Vuc2l0
aXZlSGFzaD46OmVxdWFsPFdURjo6U3RyaW5nLCBXVEY6OlN0cmluZz4oV1RGOjpTdHJpbmcgY29u
c3QmLCBXVEY6OlN0cmluZyBjb25zdCYpIChiPS4uLiwgYT0uLi4pCiAgICBhdCAvdXNyL3NyYy9k
ZWJ1Zy93ZWJraXQyZ3RrMy0yLjIwLjAtMi5mYzI4Lng4Nl82NC94ODZfNjQtcmVkaGF0LWxpbnV4
LWdudS9EZXJpdmVkU291cmNlcy9Gb3J3YXJkaW5nSGVhZGVycy93dGYvSGFzaFRhYmxlLmg6Mjg0
CiAgICAgICAgZW50cnkgPSAweDdmYTFmZDVlMDBhOAogICAgICAgIGsgPSAwCiAgICAgICAgaSA9
IDUKICAgICAgICBzaXplTWFzayA9IDcKICAgICAgICB0YWJsZSA9IDB4N2ZhMWZkNWUwMDgwCiAg
ICAgICAgaCA9IDM3MAojNiAgMHgwMDAwN2ZhMjA5MTY5MDQ0IGluIFdURjo6SGFzaFRhYmxlPFdU
Rjo6U3RyaW5nLCBXVEY6OlN0cmluZywgV1RGOjpJZGVudGl0eUV4dHJhY3RvciwgV1RGOjpBU0NJ
SUNhc2VJbnNlbnNpdGl2ZUhhc2gsIFdURjo6SGFzaFRyYWl0czxXVEY6OlN0cmluZz4sIFdURjo6
SGFzaFRyYWl0czxXVEY6OlN0cmluZz4gPjo6aW5saW5lTG9va3VwPFdURjo6SWRlbnRpdHlIYXNo
VHJhbnNsYXRvcjxXVEY6Okhhc2hUcmFpdHM8V1RGOjpTdHJpbmc+LCBXVEY6OkFTQ0lJQ2FzZUlu
c2Vuc2l0aXZlSGFzaD4sIFdURjo6U3RyaW5nPihXVEY6OlN0cmluZyBjb25zdCYpIChrZXk9Li4u
LCB0aGlzPTxvcHRpbWl6ZWQgb3V0PikKICAgIGF0IC91c3Ivc3JjL2RlYnVnL3dlYmtpdDJndGsz
LTIuMjAuMC0yLmZjMjgueDg2XzY0L3g4Nl82NC1yZWRoYXQtbGludXgtZ251L0Rlcml2ZWRTb3Vy
Y2VzL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9IYXNoVGFibGUuaDo2NDIKICAgICAgICBlbnRyeSA9
IDB4N2ZhMWZkNWUwMGE4CiAgICAgICAgayA9IDAKICAgICAgICBpID0gNQogICAgICAgIHNpemVN
YXNrID0gNwogICAgICAgIHRhYmxlID0gMHg3ZmExZmQ1ZTAwODAKICAgICAgICBoID0gMzcwCiM3
ICAweDAwMDA3ZmEyMDkxNjkwNDQgaW4gV1RGOjpIYXNoVGFibGU8V1RGOjpTdHJpbmcsIFdURjo6
U3RyaW5nLCBXVEY6OklkZW50aXR5RXh0cmFjdG9yLCBXVEY6OkFTQ0lJQ2FzZUluc2Vuc2l0aXZl
SGFzaCwgV1RGOjpIYXNoVHJhaXRzPFdURjo6U3RyaW5nPiwgV1RGOjpIYXNoVHJhaXRzPFdURjo6
U3RyaW5nPiA+Ojpsb29rdXA8V1RGOjpJZGVudGl0eUhhc2hUcmFuc2xhdG9yPFdURjo6SGFzaFRy
YWl0czxXVEY6OlN0cmluZz4sIFdURjo6QVNDSUlDYXNlSW5zZW5zaXRpdmVIYXNoPiwgV1RGOjpT
dHJpbmc+KFdURjo6U3RyaW5nIGNvbnN0JikgKHRoaXM9PG9wdGltaXplZCBvdXQ+LCBrZXk9Li4u
KQogICAgYXQgL3Vzci9zcmMvZGVidWcvd2Via2l0Mmd0azMtMi4yMC4wLTIuZmMyOC54ODZfNjQv
eDg2XzY0LXJlZGhhdC1saW51eC1nbnUvRGVyaXZlZFNvdXJjZXMvRm9yd2FyZGluZ0hlYWRlcnMv
d3RmL0hhc2hUYWJsZS5oOjYwMQojOCAgMHgwMDAwN2ZhMjA5MmY4MzkyIGluIF9aTkszV1RGOUhh
c2hUYWJsZUlOU182U3RyaW5nRVMxX05TXzE3SWRlbnRpdHlFeHRyYWN0b3JFTlNfMjRBU0NJSUNh
c2VJbnNlbnNpdGl2ZUhhc2hFTlNfMTBIYXNoVHJhaXRzSVMxX0VFUzVfRThjb250YWluc0lOU18y
MklkZW50aXR5SGFzaFRyYW5zbGF0b3JJUzVfUzNfRUVTMV9FRWJSS1QwXyAoa2V5PS4uLiwgdGhp
cz0weDE3MikKICAgIGF0IC91c3Ivc3JjL2RlYnVnL3dlYmtpdDJndGszLTIuMjAuMC0yLmZjMjgu
eDg2XzY0L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1NjaGVtZVJlZ2lzdHJ5LmNwcDoyOTYKICAg
ICAgICBsb2NrZXIgPSAKICAgICAgICAgIHs8V1RGOjpBYnN0cmFjdExvY2tlcj4gPSB7PE5vIGRh
dGEgZmllbGRzPn0sIG1fbG9ja2FibGUgPSAweDdmYTIwYTViM2RmMCA8V2ViQ29yZTo6bG9jYWxV
UkxTY2hlbWVzTG9jaygpOjpsb2NrPn0KIzkgIDB4MDAwMDdmYTIwOTJmODM5MiBpbiBfWk5LM1dU
RjlIYXNoVGFibGVJTlNfNlN0cmluZ0VTMV9OU18xN0lkZW50aXR5RXh0cmFjdG9yRU5TXzI0QVND
SUlDYXNlSW5zZW5zaXRpdmVIYXNoRU5TXzEwSGFzaFRyYWl0c0lTMV9FRVM1X0U4Y29udGFpbnNF
UktTMV8gKGtleT0uLi4sIHRoaXM9MHgxNzIpCiAgICBhdCAvdXNyL3NyYy9kZWJ1Zy93ZWJraXQy
Z3RrMy0yLjIwLjAtMi5mYzI4Lng4Nl82NC94ODZfNjQtcmVkaGF0LWxpbnV4LWdudS9EZXJpdmVk
U291cmNlcy9Gb3J3YXJkaW5nSGVhZGVycy93dGYvSGFzaFRhYmxlLmg6Mzk3CiAgICAgICAgbG9j
a2VyID0gCiAgICAgICAgICB7PFdURjo6QWJzdHJhY3RMb2NrZXI+ID0gezxObyBkYXRhIGZpZWxk
cz59LCBtX2xvY2thYmxlID0gMHg3ZmEyMGE1YjNkZjAgPFdlYkNvcmU6OmxvY2FsVVJMU2NoZW1l
c0xvY2soKTo6bG9jaz59CiMxMCAweDAwMDA3ZmEyMDkyZjgzOTIgaW4gX1pOSzNXVEY3SGFzaFNl
dElOU182U3RyaW5nRU5TXzI0QVNDSUlDYXNlSW5zZW5zaXRpdmVIYXNoRU5TXzEwSGFzaFRyYWl0
c0lTMV9FRUU4Y29udGFpbnNFUktTMV8gKHZhbHVlPS4uLiwgdGhpcz0weDE3MikKICAgIGF0IC91
c3Ivc3JjL2RlYnVnL3dlYmtpdDJndGszLTIuMjAuMC0yLmZjMjgueDg2XzY0L3g4Nl82NC1yZWRo
YXQtbGludXgtZ251L0Rlcml2ZWRTb3VyY2VzL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9IYXNoU2V0
Lmg6MjAyCiAgICAgICAgbG9ja2VyID0gCiAgICAgICAgICB7PFdURjo6QWJzdHJhY3RMb2NrZXI+
ID0gezxObyBkYXRhIGZpZWxkcz59LCBtX2xvY2thYmxlID0gMHg3ZmEyMGE1YjNkZjAgPFdlYkNv
cmU6OmxvY2FsVVJMU2NoZW1lc0xvY2soKTo6bG9jaz59CiMxMSAweDAwMDA3ZmEyMDkyZjgzOTIg
aW4gV2ViQ29yZTo6U2NoZW1lUmVnaXN0cnk6OnNob3VsZFRyZWF0VVJMU2NoZW1lQXNMb2NhbChX
VEY6OlN0cmluZyBjb25zdCYpIChzY2hlbWU9Li4uKQogICAgYXQgL3Vzci9zcmMvZGVidWcvd2Vi
a2l0Mmd0azMtMi4yMC4wLTIuZmMyOC54ODZfNjQvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2No
ZW1lUmVnaXN0cnkuY3BwOjI5NgogICAgICAgIGxvY2tlciA9IAogICAgICAgICAgezxXVEY6OkFi
c3RyYWN0TG9ja2VyPiA9IHs8Tm8gZGF0YSBmaWVsZHM+fSwgbV9sb2NrYWJsZSA9IDB4N2ZhMjBh
NWIzZGYwIDxXZWJDb3JlOjpsb2NhbFVSTFNjaGVtZXNMb2NrKCk6OmxvY2s+fQojMTIgMHgwMDAw
N2ZhMjA5MjhiZWZkIGluIFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luOjppc0xvY2FsKCkgY29uc3Qg
KHRoaXM9dGhpc0BlbnRyeT0weDdmYTFmZDVkZGQ5MCkKICAgIGF0IC91c3Ivc3JjL2RlYnVnL3dl
YmtpdDJndGszLTIuMjAuMC0yLmZjMjgueDg2XzY0L1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2VjdXJp
dHlPcmlnaW4uY3BwOjQ3OAojMTMgMHgwMDAwN2ZhMjA5MjhjMTY2IGluIFdlYkNvcmU6OlNlY3Vy
aXR5T3JpZ2luOjpTZWN1cml0eU9yaWdpbihXZWJDb3JlOjpVUkwgY29uc3QmKSAodGhpcz0weDdm
YTFmZDVkZGQ5MCwgdXJsPS4uLikKICAgIGF0IC91c3Ivc3JjL2RlYnVnL3dlYmtpdDJndGszLTIu
MjAuMC0yLmZjMjgueDg2XzY0L1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2VjdXJpdHlPcmlnaW4uY3Bw
OjE1OQojMTQgMHgwMDAwN2ZhMjA5MjhjNWUwIGluIFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luOjpj
cmVhdGUoV2ViQ29yZTo6VVJMIGNvbnN0JikgKHVybD0uLi4pCiAgICBhdCAvdXNyL3NyYy9kZWJ1
Zy93ZWJraXQyZ3RrMy0yLjIwLjAtMi5mYzI4Lng4Nl82NC94ODZfNjQtcmVkaGF0LWxpbnV4LWdu
dS9EZXJpdmVkU291cmNlcy9Gb3J3YXJkaW5nSGVhZGVycy93dGYvVGhyZWFkU2FmZVJlZkNvdW50
ZWQuaDozNgojMTUgMHgwMDAwN2ZhMjA5MjkxOGQ1IGluIFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2lu
OjpjcmVhdGUoV1RGOjpTdHJpbmcgY29uc3QmLCBXVEY6OlN0cmluZyBjb25zdCYsIHN0ZDo6b3B0
aW9uYWw8dW5zaWduZWQgc2hvcnQ+KSAocHJvdG9jb2w9Li4uLCBob3N0PS4uLiwgcG9ydD1QeXRo
b24gRXhjZXB0aW9uIDxjbGFzcyAnZ2RiLmVycm9yJz4gVGhlcmUgaXMgbm8gbWVtYmVyIG9yIG1l
dGhvZCBuYW1lZCBfTV9wYXlsb2FkLjogCi4uLikgYXQgL3Vzci9zcmMvZGVidWcvd2Via2l0Mmd0
azMtMi4yMC4wLTIuZmMyOC54ODZfNjQvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVVJMLmg6NTgK
ICAgICAgICBkZWNvZGVkSG9zdCA9IAogICAgICAgICAgICB7bV9pbXBsID0ge3N0YXRpYyBpc1Jl
ZlB0ciA9IDxvcHRpbWl6ZWQgb3V0PiwgbV9wdHIgPSAweDdmOGMwMDRiYTkxMH19CiAgICAgICAg
b3JpZ2luID0ge3N0YXRpYyBpc1JlZiA9IDxvcHRpbWl6ZWQgb3V0PiwgbV9wdHIgPSAweDB9CiMx
NiAweDAwMDA3ZmEyMDkyOTFjZjYgaW4gV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhOjpzZWN1
cml0eU9yaWdpbigpIGNvbnN0ICh0aGlzPTB4N2ZmZWUyZDA0YTc4KSBhdCAvdXNyL2luY2x1ZGUv
YysrLzgvbmV3OjE2OQojMTcgMHgwMDAwN2ZhMjA4MmIzODU2IGluIFdlYktpdDo6V2ViUGFnZVBy
b3h5OjpkZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uKHVuc2lnbmVkIGxvbmcsIFdlYkNv
cmU6OlNlY3VyaXR5T3JpZ2luRGF0YSBjb25zdCYsIHVuc2lnbmVkIGxvbmcsIFdlYktpdDo6TmF2
aWdhdGlvbkFjdGlvbkRhdGEmJiwgV2ViS2l0OjpGcmFtZUluZm9EYXRhIGNvbnN0JiwgdW5zaWdu
ZWQgbG9uZywgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0IGNvbnN0JiwgV2ViQ29yZTo6UmVzb3Vy
Y2VSZXF1ZXN0JiYsIHVuc2lnbmVkIGxvbmcsIFdlYktpdDo6VXNlckRhdGEgY29uc3QmLCBib29s
JiwgdW5zaWduZWQgbG9uZyYsIFdlYkNvcmU6OlBvbGljeUFjdGlvbiYsIFdlYktpdDo6RG93bmxv
YWRJRCYsIHN0ZDo6b3B0aW9uYWw8V2ViS2l0OjpXZWJzaXRlUG9saWNpZXNEYXRhPiYpICh0aGlz
PTB4N2ZhMWI0ZGVkOTAwLCBmcmFtZUlEPTxvcHRpbWl6ZWQgb3V0PiwgZnJhbWVTZWN1cml0eU9y
aWdpbj0uLi4sIG5hdmlnYXRpb25JRD08b3B0aW1pemVkIG91dD4sIG5hdmlnYXRpb25BY3Rpb25E
YXRhPS4uLiwgb3JpZ2luYXRpbmdGcmFtZUluZm9EYXRhPS4uLiwgb3JpZ2luYXRpbmdQYWdlSUQ9
NCwgb3JpZ2luYWxSZXF1ZXN0PS4uLiwgcmVxdWVzdD0uLi4sIGxpc3RlbmVySUQ9MTUsIHVzZXJE
YXRhPS4uLiwgcmVjZWl2ZWRQb2xpY3lBY3Rpb249QDB4N2ZmZWUyZDA0NzA4OiBmYWxzZSwgbmV3
TmF2aWdhdGlvbklEPUAweDdmZmVlMmQwNDcwMDogOCwgcG9saWN5QWN0aW9uPUAweDdmZmVlMmQw
NDZmODogV2ViQ29yZTo6UG9saWN5QWN0aW9uOjpVc2UsIGRvd25sb2FkSUQ9Li4uLCB3ZWJzaXRl
UG9saWNpZXM9UHl0aG9uIEV4Y2VwdGlvbiA8Y2xhc3MgJ2dkYi5lcnJvcic+IFRoZXJlIGlzIG5v
IG1lbWJlciBvciBtZXRob2QgbmFtZWQgX01fcGF5bG9hZC46IAouLi4pCiAgICBhdCAvdXNyL3Ny
Yy9kZWJ1Zy93ZWJraXQyZ3RrMy0yLjIwLjAtMi5mYzI4Lng4Nl82NC9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOjM3NjgKICAgICAgICBwcm90ZWN0b3IgPSB7bV9wYWdl
Q2xpZW50ID0gQDB4NTVhZDVkNzc3MWIwfQogICAgICAgIHRyYW5zYWN0aW9uID0gCiAgICAgICAg
ICB7bV93ZWJQYWdlUHJveHkgPSB7c3RhdGljIGlzUmVmUHRyID0gPG9wdGltaXplZCBvdXQ+LCBt
X3B0ciA9IDB4N2ZhMWI0ZGVkOTAwfSwgbV9wYWdlTG9hZFN0YXRlID0gMHg3ZmExYjRkZWRmNDh9
CiAgICAgICAgZnJvbUFQSSA9IGZhbHNlCiAgICAgICAgZnJhbWUgPSAweDdmYTFmZDU5YTMzMAog
ICAgICAgIGxpc3RlbmVyID0ge3N0YXRpYyBpc1JlZiA9IDxvcHRpbWl6ZWQgb3V0PiwgbV9wdHIg
PSAweDdmYTE0MjZjMjkzOH0KICAgICAgICBvcmlnaW5hdGluZ0ZyYW1lID0gMHg3ZmExZmQ1OWEz
MzAKIzE4IDB4MDAwMDdmYTIwODQ5MDJmOSBpbiBfWk4zSVBDMjJjYWxsTWVtYmVyRnVuY3Rpb25J
bXBsSU42V2ViS2l0MTJXZWJQYWdlUHJveHlFTVMyX0Z2bVJLTjdXZWJDb3JlMThTZWN1cml0eU9y
aWdpbkRhdGFFbU9OUzFfMjBOYXZpZ2F0aW9uQWN0aW9uRGF0YUVSS05TMV8xM0ZyYW1lSW5mb0Rh
dGFFbVJLTlMzXzE1UmVzb3VyY2VSZXF1ZXN0RU9TQ19tUktOUzFfOFVzZXJEYXRhRVJiUm1STlMz
XzEyUG9saWN5QWN0aW9uRVJOUzFfMTBEb3dubG9hZElERVJTdDhvcHRpb25hbElOUzFfMTlXZWJz
aXRlUG9saWNpZXNEYXRhRUVFU3Q1dHVwbGVJSm1TNF9tUzdfUzlfbVNDX1NDX21TR19FRUpMbTBF
TG0xRUxtMkVMbTNFTG00RUxtNUVMbTZFTG03RUxtOEVMbTlFRVNWX0lKYm1TTF9TTl9TUl9FRUpM
bTBFTG0xRUxtMkVMbTNFTG00RUVFRXZQVF9UMF9PVDFfUlQzX1N0MTZpbnRlZ2VyX3NlcXVlbmNl
SW1KWHNwVDJfRUVFUzE1X0ltSlhzcFQ0X0VFRSAocmVwbHlBcmdzPXN0ZDo6dHVwbGUgY29udGFp
bmluZyA9IHsuLi59LCBhcmdzPS4uLiwgZnVuY3Rpb249PG9wdGltaXplZCBvdXQ+LCBvYmplY3Q9
MHg3ZmExYjRkZWQ5MDApCiAgICBhdCAvdXNyL3NyYy9kZWJ1Zy93ZWJraXQyZ3RrMy0yLjIwLjAt
Mi5mYzI4Lng4Nl82NC94ODZfNjQtcmVkaGF0LWxpbnV4LWdudS9EZXJpdmVkU291cmNlcy9Gb3J3
YXJkaW5nSGVhZGVycy93dGYvdGV4dC9TdHJpbmdJbXBsLmg6MTA1OAogICAgICAgIGFyZ3VtZW50
cyA9IAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>336006</attachid>
            <date>2018-03-17 04:19:44 -0700</date>
            <delta_ts>2018-03-17 04:19:44 -0700</delta_ts>
            <desc>thread apply all bt full</desc>
            <filename>thread_bt.txt</filename>
            <type>text/plain</type>
            <size>30311</size>
            <attacher name="Cédric Bellegarde">cedric.bellegarde</attacher>
            
              <data encoding="base64">ClRocmVhZCAyNCAoVGhyZWFkIDB4N2ZhMTYyOTY0NzAwIChMV1AgMTM2NTcpKToKIzAgIDB4MDAw
MDdmYTIyM2UxYTk0OSBpbiBfX0dJX19fcG9sbCAoZmRzPTB4N2ZhMTU4MDAxNWMwLCBuZmRzPTIs
IHRpbWVvdXQ9LTEpCiAgICBhdCAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb2xsLmM6MjkK
ICAgICAgICByZXN1bHR2YXIgPSAxODQ0Njc0NDA3MzcwOTU1MTEwMAogICAgICAgIHNjX2NhbmNl
bF9vbGR0eXBlID0gMAojMSAgMHgwMDAwN2ZhMjE2NjFiYjE2IGluIGdfbWFpbl9jb250ZXh0X2l0
ZXJhdGUuaXNyYSAoKSBhdCAvbGliNjQvbGliZ2xpYi0yLjAuc28uMAojMiAgMHgwMDAwN2ZhMjE2
NjFiZWQyIGluIGdfbWFpbl9sb29wX3J1biAoKSBhdCAvbGliNjQvbGliZ2xpYi0yLjAuc28uMAoj
MyAgMHgwMDAwN2ZhMjA2YTAzZjMwIGluIFdURjo6UnVuTG9vcDo6cnVuKCkgKCkKICAgIGF0IC91
c3Ivc3JjL2RlYnVnL3dlYmtpdDJndGszLTIuMjAuMC0yLmZjMjgueDg2XzY0L1NvdXJjZS9XVEYv
d3RmL2dsaWIvUnVuTG9vcEdMaWIuY3BwOjk2CiAgICAgICAgcnVuTG9vcCA9IAogICAgICAgICAg
ICBAMHg3ZmExODBlOTcwMDA6IHs8V1RGOjpGdW5jdGlvbkRpc3BhdGNoZXI+ID0gezxXVEY6OlRo
cmVhZFNhZmVSZWZDb3VudGVkPFdURjo6RnVuY3Rpb25EaXNwYXRjaGVyPj4gPSB7PFdURjo6VGhy
ZWFkU2FmZVJlZkNvdW50ZWRCYXNlPiA9IHttX3JlZkNvdW50ID0gezxzdGQ6Ol9fYXRvbWljX2Jh
c2U8dW5zaWduZWQgaW50Pj4gPSB7c3RhdGljIF9TX2FsaWdubWVudCA9IDQsIF9NX2kgPSAxfSwg
PE5vIGRhdGEgZmllbGRzPn19LCA8Tm8gZGF0YSBmaWVsZHM+fSwgX3ZwdHIuRnVuY3Rpb25EaXNw
YXRjaGVyID0gMHg3ZmEyMDZjNTgyYTggPHZ0YWJsZSBmb3IgV1RGOjpSdW5Mb29wKzE2Pn0sIG1f
ZnVuY3Rpb25RdWV1ZUxvY2sgPSB7c3RhdGljIGlzSGVsZEJpdCA9IDEgJ1wwMDEnLCBzdGF0aWMg
aGFzUGFya2VkQml0ID0gMiAnXDAwMicsIG1fYnl0ZSA9IHt2YWx1ZSA9IHs8c3RkOjpfX2F0b21p
Y19iYXNlPHVuc2lnbmVkIGNoYXI+PiA9IHtzdGF0aWMgX1NfYWxpZ25tZW50ID0gMSwgX01faSA9
IDAgJ1wwMDAnfSwgPE5vIGRhdGEgZmllbGRzPn19fSwgbV9mdW5jdGlvblF1ZXVlID0ge21fc3Rh
cnQgPSAzLCBtX2VuZCA9IDMsIG1fYnVmZmVyID0gezxXVEY6OlZlY3RvckJ1ZmZlckJhc2U8V1RG
OjpGdW5jdGlvbjx2b2lkKCk+LCBXVEY6OkZhc3RNYWxsb2M+PiA9IHttX2J1ZmZlciA9IDB4N2Zh
MTgwZWM0OTgwLCBtX2NhcGFjaXR5ID0gMTYsIG1fc2l6ZSA9IDAsIG1fbWFzayA9IDE1fSwgPE5v
IGRhdGEgZmllbGRzPn19LCBtX21haW5Db250ZXh0ID0ge21fcHRyID0gMHg3ZmExNTgwMDBiNTB9
LCBtX21haW5Mb29wcyA9IHs8V1RGOjpWZWN0b3JCdWZmZXI8V1RGOjpHUmVmUHRyPF9HTWFpbkxv
b3A+LCAwLCBXVEY6OkZhc3RNYWxsb2M+PiA9IHs8V1RGOjpWZWN0b3JCdWZmZXJCYXNlPFdURjo6
R1JlZlB0cjxfR01haW5Mb29wPiwgV1RGOjpGYXN0TWFsbG9jPj4gPSB7bV9idWZmZXIgPSAweDdm
YTE4MGU5NjAwMCwgbV9jYXBhY2l0eSA9IDE2LCBtX3NpemUgPSAxLCBtX21hc2sgPSAxNX0sIDxO
byBkYXRhIGZpZWxkcz59LCA8Tm8gZGF0YSBmaWVsZHM+fSwgbV9zb3VyY2UgPSB7bV9wdHIgPSAw
eDdmYTE1ODAwMTRiMH19CiAgICAgICAgbWFpbkNvbnRleHQgPSAweDdmYTE1ODAwMGI1MAogICAg
ICAgIGlubmVybW9zdExvb3AgPSAweDdmYTE1ODAwMTQ5MAogICAgICAgIG5lc3RlZE1haW5Mb29w
ID0gPG9wdGltaXplZCBvdXQ+CiM0ICAweDAwMDA3ZmEyMDY5ZGIwN2YgaW4gX1pOSzNXVEY4RnVu
Y3Rpb25JRnZ2RUVjbEV2ICh0aGlzPTxzeW50aGV0aWMgcG9pbnRlcj4pCiAgICBhdCAvdXNyL3Ny
Yy9kZWJ1Zy93ZWJraXQyZ3RrMy0yLjIwLjAtMi5mYzI4Lng4Nl82NC9Tb3VyY2UvV1RGL3d0Zi9U
aHJlYWRpbmcuY3BwOjEyOQogICAgICAgIGZ1bmN0aW9uID0gCiAgICAgICAgICAgIHttX2NhbGxh
YmxlV3JhcHBlciA9IHN0ZDo6dW5pcXVlX3B0cjxXVEY6OkZ1bmN0aW9uPHZvaWQoKT46OkNhbGxh
YmxlV3JhcHBlckJhc2U+ID0ge2dldCgpID0gMHg3ZmExODBlYmUyZDB9fQojNSAgMHgwMDAwN2Zh
MjA2OWRiMDdmIGluIFdURjo6VGhyZWFkOjplbnRyeVBvaW50KFdURjo6VGhyZWFkOjpOZXdUaHJl
YWRDb250ZXh0KikgKG5ld1RocmVhZENvbnRleHQ9MHg3ZmExZmQ1YTkyODApCiAgICBhdCAvdXNy
L3NyYy9kZWJ1Zy93ZWJraXQyZ3RrMy0yLjIwLjAtMi5mYzI4Lng4Nl82NC9Tb3VyY2UvV1RGL3d0
Zi9UaHJlYWRpbmcuY3BwOjEyOQogICAgICAgIGZ1bmN0aW9uID0gCiAgICAgICAgICAgIHttX2Nh
bGxhYmxlV3JhcHBlciA9IHN0ZDo6dW5pcXVlX3B0cjxXVEY6OkZ1bmN0aW9uPHZvaWQoKT46OkNh
bGxhYmxlV3JhcHBlckJhc2U+ID0ge2dldCgpID0gMHg3ZmExODBlYmUyZDB9fQojNiAgMHgwMDAw
N2ZhMjA2YTAxZmZkIGluIFdURjo6d3RmVGhyZWFkRW50cnlQb2ludCh2b2lkKikgKGNvbnRleHQ9
PG9wdGltaXplZCBvdXQ+KQogICAgYXQgL3Vzci9zcmMvZGVidWcvd2Via2l0Mmd0azMtMi4yMC4w
LTIuZmMyOC54ODZfNjQvU291cmNlL1dURi93dGYvVGhyZWFkaW5nUHRocmVhZHMuY3BwOjIyMwoj
NyAgMHgwMDAwN2ZhMjI0ODhjNTY0IGluIHN0YXJ0X3RocmVhZCAoYXJnPTxvcHRpbWl6ZWQgb3V0
PikgYXQgcHRocmVhZF9jcmVhdGUuYzo0NjMKICAgICAgICBwZCA9IDxvcHRpbWl6ZWQgb3V0Pgog
ICAgICAgIG5vdyA9IDE4NDQ2NzQ0MDczNzA5NTUxMTAwCiAgICAgICAgdW53aW5kX2J1ZiA9IAog
ICAgICAgICAgICAgIHtjYW5jZWxfam1wX2J1ZiA9IHt7am1wX2J1ZiA9IHsxNDAzMzExMjA0Nzc5
NTIsIC0yNTk1MDM3Mzg3MzY0Nzc4NTYsIDE0MDczMjcwMzcyMjI1NCwgMTQwNzMyNzAzNzIyMjU1
LCAxNDA3MzI3MDM3MjI0MDAsIDE0MDczMjcwMzcyMjQwMCwgMjI2NTI5NzIyMTY1MjI5OTIwLCAy
MjU4MjE3MjIyNDQyODI3MjB9LCBtYXNrX3dhc19zYXZlZCA9IDB9fSwgcHJpdiA9IHtwYWQgPSB7
MHgwLCAweDAsIDB4MCwgMHgwfSwgZGF0YSA9IHtwcmV2ID0gMHgwLCBjbGVhbnVwID0gMHgwLCBj
YW5jZWx0eXBlID0gMH19fQogICAgICAgIG5vdF9maXJzdF9jYWxsID0gPG9wdGltaXplZCBvdXQ+
CiM4ICAweDAwMDA3ZmEyMjNlMjUzM2YgaW4gY2xvbmUgKCkgYXQgLi4vc3lzZGVwcy91bml4L3N5
c3YvbGludXgveDg2XzY0L2Nsb25lLlM6OTUKClRocmVhZCAyMyAoVGhyZWFkIDB4N2ZhMTgzN2Zl
NzAwIChMV1AgMTE3OTApKToKIzAgIDB4MDAwMDdmYTIyM2UxYTk0OSBpbiBfX0dJX19fcG9sbCAo
ZmRzPTB4N2ZhMTY0MDI4NDkwLCBuZmRzPTEsIHRpbWVvdXQ9LTEpCiAgICBhdCAuLi9zeXNkZXBz
L3VuaXgvc3lzdi9saW51eC9wb2xsLmM6MjkKICAgICAgICByZXN1bHR2YXIgPSAxODQ0Njc0NDA3
MzcwOTU1MTEwMAogICAgICAgIHNjX2NhbmNlbF9vbGR0eXBlID0gMAojMSAgMHgwMDAwN2ZhMjE2
NjFiYjE2IGluIGdfbWFpbl9jb250ZXh0X2l0ZXJhdGUuaXNyYSAoKSBhdCAvbGliNjQvbGliZ2xp
Yi0yLjAuc28uMAojMiAgMHgwMDAwN2ZhMjE2NjFiZWQyIGluIGdfbWFpbl9sb29wX3J1biAoKSBh
dCAvbGliNjQvbGliZ2xpYi0yLjAuc28uMAojMyAgMHgwMDAwN2ZhMjA2YTAzZjMwIGluIFdURjo6
UnVuTG9vcDo6cnVuKCkgKCkKICAgIGF0IC91c3Ivc3JjL2RlYnVnL3dlYmtpdDJndGszLTIuMjAu
MC0yLmZjMjgueDg2XzY0L1NvdXJjZS9XVEYvd3RmL2dsaWIvUnVuTG9vcEdMaWIuY3BwOjk2CiAg
ICAgICAgcnVuTG9vcCA9IAogICAgICAgICAgICBAMHg3ZmExZmQ1NTUwMDA6IHs8V1RGOjpGdW5j
dGlvbkRpc3BhdGNoZXI+ID0gezxXVEY6OlRocmVhZFNhZmVSZWZDb3VudGVkPFdURjo6RnVuY3Rp
b25EaXNwYXRjaGVyPj4gPSB7PFdURjo6VGhyZWFkU2FmZVJlZkNvdW50ZWRCYXNlPiA9IHttX3Jl
ZkNvdW50ID0gezxzdGQ6Ol9fYXRvbWljX2Jhc2U8dW5zaWduZWQgaW50Pj4gPSB7c3RhdGljIF9T
X2FsaWdubWVudCA9IDQsIF9NX2kgPSAxfSwgPE5vIGRhdGEgZmllbGRzPn19LCA8Tm8gZGF0YSBm
aWVsZHM+fSwgX3ZwdHIuRnVuY3Rpb25EaXNwYXRjaGVyID0gMHg3ZmEyMDZjNTgyYTggPHZ0YWJs
ZSBmb3IgV1RGOjpSdW5Mb29wKzE2Pn0sIG1fZnVuY3Rpb25RdWV1ZUxvY2sgPSB7c3RhdGljIGlz
SGVsZEJpdCA9IDEgJ1wwMDEnLCBzdGF0aWMgaGFzUGFya2VkQml0ID0gMiAnXDAwMicsIG1fYnl0
ZSA9IHt2YWx1ZSA9IHs8c3RkOjpfX2F0b21pY19iYXNlPHVuc2lnbmVkIGNoYXI+PiA9IHtzdGF0
aWMgX1NfYWxpZ25tZW50ID0gMSwgX01faSA9IDAgJ1wwMDAnfSwgPE5vIGRhdGEgZmllbGRzPn19
fSwgbV9mdW5jdGlvblF1ZXVlID0ge21fc3RhcnQgPSA2LCBtX2VuZCA9IDYsIG1fYnVmZmVyID0g
ezxXVEY6OlZlY3RvckJ1ZmZlckJhc2U8V1RGOjpGdW5jdGlvbjx2b2lkKCk+LCBXVEY6OkZhc3RN
YWxsb2M+PiA9IHttX2J1ZmZlciA9IDB4N2ZhMWZkNTczYjAwLCBtX2NhcGFjaXR5ID0gMTYsIG1f
c2l6ZSA9IDAsIG1fbWFzayA9IDE1fSwgPE5vIGRhdGEgZmllbGRzPn19LCBtX21haW5Db250ZXh0
ID0ge21fcHRyID0gMHg3ZmExNjQwMDE0MDB9LCBtX21haW5Mb29wcyA9IHs8V1RGOjpWZWN0b3JC
dWZmZXI8V1RGOjpHUmVmUHRyPF9HTWFpbkxvb3A+LCAwLCBXVEY6OkZhc3RNYWxsb2M+PiA9IHs8
V1RGOjpWZWN0b3JCdWZmZXJCYXNlPFdURjo6R1JlZlB0cjxfR01haW5Mb29wPiwgV1RGOjpGYXN0
TWFsbG9jPj4gPSB7bV9idWZmZXIgPSAweDdmYTFmZDU3YjAwMCwgbV9jYXBhY2l0eSA9IDE2LCBt
X3NpemUgPSAxLCBtX21hc2sgPSAxNX0sIDxObyBkYXRhIGZpZWxkcz59LCA8Tm8gZGF0YSBmaWVs
ZHM+fSwgbV9zb3VyY2UgPSB7bV9wdHIgPSAweDdmYTE2NDAwMTUzMH19CiAgICAgICAgbWFpbkNv
bnRleHQgPSAweDdmYTE2NDAwMTQwMAogICAgICAgIGlubmVybW9zdExvb3AgPSAweDdmYTE2NDAw
NzJkMAogICAgICAgIG5lc3RlZE1haW5Mb29wID0gPG9wdGltaXplZCBvdXQ+CiM0ICAweDAwMDA3
ZmEyMDY5ZGIwN2YgaW4gX1pOSzNXVEY4RnVuY3Rpb25JRnZ2RUVjbEV2ICh0aGlzPTxzeW50aGV0
aWMgcG9pbnRlcj4pCiAgICBhdCAvdXNyL3NyYy9kZWJ1Zy93ZWJraXQyZ3RrMy0yLjIwLjAtMi5m
YzI4Lng4Nl82NC9Tb3VyY2UvV1RGL3d0Zi9UaHJlYWRpbmcuY3BwOjEyOQogICAgICAgIGZ1bmN0
aW9uID0gCiAgICAgICAgICAgIHttX2NhbGxhYmxlV3JhcHBlciA9IHN0ZDo6dW5pcXVlX3B0cjxX
VEY6OkZ1bmN0aW9uPHZvaWQoKT46OkNhbGxhYmxlV3JhcHBlckJhc2U+ID0ge2dldCgpID0gMHg3
ZmExZmQ1NjQwNzh9fQojNSAgMHgwMDAwN2ZhMjA2OWRiMDdmIGluIFdURjo6VGhyZWFkOjplbnRy
eVBvaW50KFdURjo6VGhyZWFkOjpOZXdUaHJlYWRDb250ZXh0KikgKG5ld1RocmVhZENvbnRleHQ9
MHg3ZmExZmQ1ZjUzMjApCiAgICBhdCAvdXNyL3NyYy9kZWJ1Zy93ZWJraXQyZ3RrMy0yLjIwLjAt
Mi5mYzI4Lng4Nl82NC9Tb3VyY2UvV1RGL3d0Zi9UaHJlYWRpbmcuY3BwOjEyOQogICAgICAgIGZ1
bmN0aW9uID0gCiAgICAgICAgICAgIHttX2NhbGxhYmxlV3JhcHBlciA9IHN0ZDo6dW5pcXVlX3B0
cjxXVEY6OkZ1bmN0aW9uPHZvaWQoKT46OkNhbGxhYmxlV3JhcHBlckJhc2U+ID0ge2dldCgpID0g
MHg3ZmExZmQ1NjQwNzh9fQojNiAgMHgwMDAwN2ZhMjA2YTAxZmZkIGluIFdURjo6d3RmVGhyZWFk
RW50cnlQb2ludCh2b2lkKikgKGNvbnRleHQ9PG9wdGltaXplZCBvdXQ+KQogICAgYXQgL3Vzci9z
cmMvZGVidWcvd2Via2l0Mmd0azMtMi4yMC4wLTIuZmMyOC54ODZfNjQvU291cmNlL1dURi93dGYv
VGhyZWFkaW5nUHRocmVhZHMuY3BwOjIyMwojNyAgMHgwMDAwN2ZhMjI0ODhjNTY0IGluIHN0YXJ0
X3RocmVhZCAoYXJnPTxvcHRpbWl6ZWQgb3V0PikgYXQgcHRocmVhZF9jcmVhdGUuYzo0NjMKICAg
ICAgICBwZCA9IDxvcHRpbWl6ZWQgb3V0PgogICAgICAgIG5vdyA9IDE4NDQ2NzQ0MDczNzA5NTUx
MTAwCiAgICAgICAgdW53aW5kX2J1ZiA9IAogICAgICAgICAgICAgIHtjYW5jZWxfam1wX2J1ZiA9
IHt7am1wX2J1ZiA9IHsxNDAzMzE2NzI2NTk3MTIsIC0yNTk1MDM3Mzg3MzY0Nzc4NTYsIDE0MDcz
MjcwMzcxNDc4MiwgMTQwNzMyNzAzNzE0NzgzLCAxNDA3MzI3MDM3MTQ5MjgsIDE0MDczMjcwMzcx
NDkyOCwgMjI2NTk2NDU2MjkzMzMzMzQ0LCAyMjU4MjE3MjIyNDQyODI3MjB9LCBtYXNrX3dhc19z
YXZlZCA9IDB9fSwgcHJpdiA9IHtwYWQgPSB7MHgwLCAweDAsIDB4MCwgMHgwfSwgZGF0YSA9IHtw
cmV2ID0gMHgwLCBjbGVhbnVwID0gMHgwLCBjYW5jZWx0eXBlID0gMH19fQogICAgICAgIG5vdF9m
aXJzdF9jYWxsID0gPG9wdGltaXplZCBvdXQ+CiM4ICAweDAwMDA3ZmEyMjNlMjUzM2YgaW4gY2xv
bmUgKCkgYXQgLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0L2Nsb25lLlM6OTUKClRo
cmVhZCAyMiAoVGhyZWFkIDB4N2ZhMWE5NTY4NzAwIChMV1AgMTE0MzgpKToKIzAgIDB4MDAwMDdm
YTIyM2UxYTk0OSBpbiBfX0dJX19fcG9sbCAoZmRzPTB4N2ZhMTg4MDAxNWMwLCBuZmRzPTIsIHRp
bWVvdXQ9LTEpCiAgICBhdCAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb2xsLmM6MjkKICAg
ICAgICByZXN1bHR2YXIgPSAxODQ0Njc0NDA3MzcwOTU1MTEwMAogICAgICAgIHNjX2NhbmNlbF9v
bGR0eXBlID0gMAojMSAgMHgwMDAwN2ZhMjE2NjFiYjE2IGluIGdfbWFpbl9jb250ZXh0X2l0ZXJh
dGUuaXNyYSAoKSBhdCAvbGliNjQvbGliZ2xpYi0yLjAuc28uMAojMiAgMHgwMDAwN2ZhMjE2NjFi
ZWQyIGluIGdfbWFpbl9sb29wX3J1biAoKSBhdCAvbGliNjQvbGliZ2xpYi0yLjAuc28uMAojMyAg
MHgwMDAwN2ZhMjA2YTAzZjMwIGluIFdURjo6UnVuTG9vcDo6cnVuKCkgKCkKICAgIGF0IC91c3Iv
c3JjL2RlYnVnL3dlYmtpdDJndGszLTIuMjAuMC0yLmZjMjgueDg2XzY0L1NvdXJjZS9XVEYvd3Rm
L2dsaWIvUnVuTG9vcEdMaWIuY3BwOjk2CiAgICAgICAgcnVuTG9vcCA9IAogICAgICAgICAgICBA
MHg3ZmExZmQ1OTYwMDA6IHs8V1RGOjpGdW5jdGlvbkRpc3BhdGNoZXI+ID0gezxXVEY6OlRocmVh
ZFNhZmVSZWZDb3VudGVkPFdURjo6RnVuY3Rpb25EaXNwYXRjaGVyPj4gPSB7PFdURjo6VGhyZWFk
U2FmZVJlZkNvdW50ZWRCYXNlPiA9IHttX3JlZkNvdW50ID0gezxzdGQ6Ol9fYXRvbWljX2Jhc2U8
dW5zaWduZWQgaW50Pj4gPSB7c3RhdGljIF9TX2FsaWdubWVudCA9IDQsIF9NX2kgPSAxfSwgPE5v
IGRhdGEgZmllbGRzPn19LCA8Tm8gZGF0YSBmaWVsZHM+fSwgX3ZwdHIuRnVuY3Rpb25EaXNwYXRj
aGVyID0gMHg3ZmEyMDZjNTgyYTggPHZ0YWJsZSBmb3IgV1RGOjpSdW5Mb29wKzE2Pn0sIG1fZnVu
Y3Rpb25RdWV1ZUxvY2sgPSB7c3RhdGljIGlzSGVsZEJpdCA9IDEgJ1wwMDEnLCBzdGF0aWMgaGFz
UGFya2VkQml0ID0gMiAnXDAwMicsIG1fYnl0ZSA9IHt2YWx1ZSA9IHs8c3RkOjpfX2F0b21pY19i
YXNlPHVuc2lnbmVkIGNoYXI+PiA9IHtzdGF0aWMgX1NfYWxpZ25tZW50ID0gMSwgX01faSA9IDAg
J1wwMDAnfSwgPE5vIGRhdGEgZmllbGRzPn19fSwgbV9mdW5jdGlvblF1ZXVlID0ge21fc3RhcnQg
PSAyMiwgbV9lbmQgPSAyMiwgbV9idWZmZXIgPSB7PFdURjo6VmVjdG9yQnVmZmVyQmFzZTxXVEY6
OkZ1bmN0aW9uPHZvaWQoKT4sIFdURjo6RmFzdE1hbGxvYz4+ID0ge21fYnVmZmVyID0gMHg3ZmEx
ZmQ1YjEwMDAsIG1fY2FwYWNpdHkgPSA2OCwgbV9zaXplID0gMCwgbV9tYXNrID0gMTI3fSwgPE5v
IGRhdGEgZmllbGRzPn19LCBtX21haW5Db250ZXh0ID0ge21fcHRyID0gMHg3ZmExODgwMDBiNTB9
LCBtX21haW5Mb29wcyA9IHs8V1RGOjpWZWN0b3JCdWZmZXI8V1RGOjpHUmVmUHRyPF9HTWFpbkxv
b3A+LCAwLCBXVEY6OkZhc3RNYWxsb2M+PiA9IHs8V1RGOjpWZWN0b3JCdWZmZXJCYXNlPFdURjo6
R1JlZlB0cjxfR01haW5Mb29wPiwgV1RGOjpGYXN0TWFsbG9jPj4gPSB7bV9idWZmZXIgPSAweDdm
YTFmZDU5NTAwMCwgbV9jYXBhY2l0eSA9IDE2LCBtX3NpemUgPSAxLCBtX21hc2sgPSAxNX0sIDxO
byBkYXRhIGZpZWxkcz59LCA8Tm8gZGF0YSBmaWVsZHM+fSwgbV9zb3VyY2UgPSB7bV9wdHIgPSAw
eDdmYTE4ODAwMTRiMH19CiAgICAgICAgbWFpbkNvbnRleHQgPSAweDdmYTE4ODAwMGI1MAogICAg
ICAgIGlubmVybW9zdExvb3AgPSAweDdmYTE4ODAwMTQ5MAogICAgICAgIG5lc3RlZE1haW5Mb29w
ID0gPG9wdGltaXplZCBvdXQ+CiM0ICAweDAwMDA3ZmEyMDY5ZGIwN2YgaW4gX1pOSzNXVEY4RnVu
Y3Rpb25JRnZ2RUVjbEV2ICh0aGlzPTxzeW50aGV0aWMgcG9pbnRlcj4pCiAgICBhdCAvdXNyL3Ny
Yy9kZWJ1Zy93ZWJraXQyZ3RrMy0yLjIwLjAtMi5mYzI4Lng4Nl82NC9Tb3VyY2UvV1RGL3d0Zi9U
aHJlYWRpbmcuY3BwOjEyOQogICAgICAgIGZ1bmN0aW9uID0gCiAgICAgICAgICAgIHttX2NhbGxh
YmxlV3JhcHBlciA9IHN0ZDo6dW5pcXVlX3B0cjxXVEY6OkZ1bmN0aW9uPHZvaWQoKT46OkNhbGxh
YmxlV3JhcHBlckJhc2U+ID0ge2dldCgpID0gMHg3ZmExZmQ1ZmIzZjB9fQojNSAgMHgwMDAwN2Zh
MjA2OWRiMDdmIGluIFdURjo6VGhyZWFkOjplbnRyeVBvaW50KFdURjo6VGhyZWFkOjpOZXdUaHJl
YWRDb250ZXh0KikgKG5ld1RocmVhZENvbnRleHQ9MHg3ZmExZmQ1ZjUyODApCiAgICBhdCAvdXNy
L3NyYy9kZWJ1Zy93ZWJraXQyZ3RrMy0yLjIwLjAtMi5mYzI4Lng4Nl82NC9Tb3VyY2UvV1RGL3d0
Zi9UaHJlYWRpbmcuY3BwOjEyOQogICAgICAgIGZ1bmN0aW9uID0gCiAgICAgICAgICAgIHttX2Nh
bGxhYmxlV3JhcHBlciA9IHN0ZDo6dW5pcXVlX3B0cjxXVEY6OkZ1bmN0aW9uPHZvaWQoKT46OkNh
bGxhYmxlV3JhcHBlckJhc2U+ID0ge2dldCgpID0gMHg3ZmExZmQ1ZmIzZjB9fQojNiAgMHgwMDAw
N2ZhMjA2YTAxZmZkIGluIFdURjo6d3RmVGhyZWFkRW50cnlQb2ludCh2b2lkKikgKGNvbnRleHQ9
PG9wdGltaXplZCBvdXQ+KQogICAgYXQgL3Vzci9zcmMvZGVidWcvd2Via2l0Mmd0azMtMi4yMC4w
LTIuZmMyOC54ODZfNjQvU291cmNlL1dURi93dGYvVGhyZWFkaW5nUHRocmVhZHMuY3BwOjIyMwoj
NyAgMHgwMDAwN2ZhMjI0ODhjNTY0IGluIHN0YXJ0X3RocmVhZCAoYXJnPTxvcHRpbWl6ZWQgb3V0
PikgYXQgcHRocmVhZF9jcmVhdGUuYzo0NjMKICAgICAgICBwZCA9IDxvcHRpbWl6ZWQgb3V0Pgog
ICAgICAgIG5vdyA9IDE4NDQ2NzQ0MDczNzA5NTUxMTAwCiAgICAgICAgdW53aW5kX2J1ZiA9IAog
ICAgICAgICAgICAgIHtjYW5jZWxfam1wX2J1ZiA9IHt7am1wX2J1ZiA9IHsxNDAzMzIzMDc0ODIz
NjgsIC0yNTk1MDM3Mzg3MzY0Nzc4NTYsIDE0MDczMjcwMzcyMjI1NCwgMTQwNzMyNzAzNzIyMjU1
LCAxNDA3MzI3MDM3MjI0MDAsIDE0MDczMjcwMzcyMjQwMCwgMjI2Njg4NjAzNzQyOTI3MjAwLCAy
MjU4MjE3MjIyNDQyODI3MjB9LCBtYXNrX3dhc19zYXZlZCA9IDB9fSwgcHJpdiA9IHtwYWQgPSB7
MHgwLCAweDAsIDB4MCwgMHgwfSwgZGF0YSA9IHtwcmV2ID0gMHgwLCBjbGVhbnVwID0gMHgwLCBj
YW5jZWx0eXBlID0gMH19fQogICAgICAgIG5vdF9maXJzdF9jYWxsID0gPG9wdGltaXplZCBvdXQ+
CiM4ICAweDAwMDA3ZmEyMjNlMjUzM2YgaW4gY2xvbmUgKCkgYXQgLi4vc3lzZGVwcy91bml4L3N5
c3YvbGludXgveDg2XzY0L2Nsb25lLlM6OTUKClRocmVhZCAyMSAoVGhyZWFkIDB4N2ZhMTY5OWYy
NzAwIChMV1AgMTQyNDQpKToKIzAgIDB4MDAwMDdmYTIyM2UxZmUxOSBpbiBzeXNjYWxsICgpIGF0
IC4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9zeXNjYWxsLlM6MzgKIzEgIDB4MDAw
MDdmYTIxNjY2MjQ2ZSBpbiBnX2NvbmRfd2FpdF91bnRpbCAoKSBhdCAvbGliNjQvbGliZ2xpYi0y
LjAuc28uMAojMiAgMHgwMDAwN2ZhMjE2NWVlMGUxIGluIGdfYXN5bmNfcXVldWVfcG9wX2ludGVy
bl91bmxvY2tlZCAoKSBhdCAvbGliNjQvbGliZ2xpYi0yLjAuc28uMAojMyAgMHgwMDAwN2ZhMjE2
NWVlNmQwIGluIGdfYXN5bmNfcXVldWVfdGltZW91dF9wb3AgKCkgYXQgL2xpYjY0L2xpYmdsaWIt
Mi4wLnNvLjAKIzQgIDB4MDAwMDdmYTIxNjY0NDc4MSBpbiBnX3RocmVhZF9wb29sX3RocmVhZF9w
cm94eSAoKSBhdCAvbGliNjQvbGliZ2xpYi0yLjAuc28uMAojNSAgMHgwMDAwN2ZhMjE2NjQzY2Rh
IGluIGdfdGhyZWFkX3Byb3h5ICgpIGF0IC9saWI2NC9saWJnbGliLTIuMC5zby4wCiM2ICAweDAw
MDA3ZmEyMjQ4OGM1NjQgaW4gc3RhcnRfdGhyZWFkIChhcmc9PG9wdGltaXplZCBvdXQ+KSBhdCBw
dGhyZWFkX2NyZWF0ZS5jOjQ2MwogICAgICAgIHBkID0gPG9wdGltaXplZCBvdXQ+CiAgICAgICAg
bm93ID0gNzczMDk0MTA4MTIKICAgICAgICB1bndpbmRfYnVmID0gCiAgICAgICAgICAgICAge2Nh
bmNlbF9qbXBfYnVmID0ge3tqbXBfYnVmID0gezE0MDMzMTIzODUwMDA5NiwgLTI1OTUwMzczODcz
NjQ3Nzg1NiwgMTQwNzMyNzAzNzIxMjk0LCAxNDA3MzI3MDM3MjEyOTUsIDE0MDczMjcwMzcyMTQy
NCwgMTQwNzMyNzAzNzIxNDI0LCAyMjY1NDk0NTQzMTg3Mjk1NjgsIDIyNTgyMTcyMjI0NDI4Mjcy
MH0sIG1hc2tfd2FzX3NhdmVkID0gMH19LCBwcml2ID0ge3BhZCA9IHsweDAsIDB4MCwgMHgwLCAw
eDB9LCBkYXRhID0ge3ByZXYgPSAweDAsIGNsZWFudXAgPSAweDAsIGNhbmNlbHR5cGUgPSAwfX19
CiAgICAgICAgbm90X2ZpcnN0X2NhbGwgPSA8b3B0aW1pemVkIG91dD4KIzcgIDB4MDAwMDdmYTIy
M2UyNTMzZiBpbiBjbG9uZSAoKSBhdCAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQv
Y2xvbmUuUzo5NQoKVGhyZWFkIDIwIChUaHJlYWQgMHg3ZmExNjExNjE3MDAgKExXUCAxNDIyMCkp
OgojMCAgMHgwMDAwN2ZhMjIzZTFhOTQ5IGluIF9fR0lfX19wb2xsIChmZHM9MHg3ZmExNDQwMDNh
ZjAsIG5mZHM9MiwgdGltZW91dD0tMSkKICAgIGF0IC4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4
L3BvbGwuYzoyOQogICAgICAgIHJlc3VsdHZhciA9IDE4NDQ2NzQ0MDczNzA5NTUxMTAwCiAgICAg
ICAgc2NfY2FuY2VsX29sZHR5cGUgPSAwCiMxICAweDAwMDA3ZmEyMTY2MWJiMTYgaW4gZ19tYWlu
X2NvbnRleHRfaXRlcmF0ZS5pc3JhICgpIGF0IC9saWI2NC9saWJnbGliLTIuMC5zby4wCiMyICAw
eDAwMDA3ZmEyMTY2MWJlZDIgaW4gZ19tYWluX2xvb3BfcnVuICgpIGF0IC9saWI2NC9saWJnbGli
LTIuMC5zby4wCiMzICAweDAwMDA3ZmEyMDZhMDNmMzAgaW4gV1RGOjpSdW5Mb29wOjpydW4oKSAo
KQogICAgYXQgL3Vzci9zcmMvZGVidWcvd2Via2l0Mmd0azMtMi4yMC4wLTIuZmMyOC54ODZfNjQv
U291cmNlL1dURi93dGYvZ2xpYi9SdW5Mb29wR0xpYi5jcHA6OTYKICAgICAgICBydW5Mb29wID0g
CiAgICAgICAgICAgIEAweDdmYTE4MGUyOTAwMDogezxXVEY6OkZ1bmN0aW9uRGlzcGF0Y2hlcj4g
PSB7PFdURjo6VGhyZWFkU2FmZVJlZkNvdW50ZWQ8V1RGOjpGdW5jdGlvbkRpc3BhdGNoZXI+PiA9
IHs8V1RGOjpUaHJlYWRTYWZlUmVmQ291bnRlZEJhc2U+ID0ge21fcmVmQ291bnQgPSB7PHN0ZDo6
X19hdG9taWNfYmFzZTx1bnNpZ25lZCBpbnQ+PiA9IHtzdGF0aWMgX1NfYWxpZ25tZW50ID0gNCwg
X01faSA9IDF9LCA8Tm8gZGF0YSBmaWVsZHM+fX0sIDxObyBkYXRhIGZpZWxkcz59LCBfdnB0ci5G
dW5jdGlvbkRpc3BhdGNoZXIgPSAweDdmYTIwNmM1ODJhOCA8dnRhYmxlIGZvciBXVEY6OlJ1bkxv
b3ArMTY+fSwgbV9mdW5jdGlvblF1ZXVlTG9jayA9IHtzdGF0aWMgaXNIZWxkQml0ID0gMSAnXDAw
MScsIHN0YXRpYyBoYXNQYXJrZWRCaXQgPSAyICdcMDAyJywgbV9ieXRlID0ge3ZhbHVlID0gezxz
dGQ6Ol9fYXRvbWljX2Jhc2U8dW5zaWduZWQgY2hhcj4+ID0ge3N0YXRpYyBfU19hbGlnbm1lbnQg
PSAxLCBfTV9pID0gMCAnXDAwMCd9LCA8Tm8gZGF0YSBmaWVsZHM+fX19LCBtX2Z1bmN0aW9uUXVl
dWUgPSB7bV9zdGFydCA9IDAsIG1fZW5kID0gMCwgbV9idWZmZXIgPSB7PFdURjo6VmVjdG9yQnVm
ZmVyQmFzZTxXVEY6OkZ1bmN0aW9uPHZvaWQoKT4sIFdURjo6RmFzdE1hbGxvYz4+ID0ge21fYnVm
ZmVyID0gMHg3ZmExZmQ1OWJiZDAsIG1fY2FwYWNpdHkgPSAyNywgbV9zaXplID0gMCwgbV9tYXNr
ID0gMzF9LCA8Tm8gZGF0YSBmaWVsZHM+fX0sIG1fbWFpbkNvbnRleHQgPSB7bV9wdHIgPSAweDdm
YTE0NDAwMmFiMH0sIG1fbWFpbkxvb3BzID0gezxXVEY6OlZlY3RvckJ1ZmZlcjxXVEY6OkdSZWZQ
dHI8X0dNYWluTG9vcD4sIDAsIFdURjo6RmFzdE1hbGxvYz4+ID0gezxXVEY6OlZlY3RvckJ1ZmZl
ckJhc2U8V1RGOjpHUmVmUHRyPF9HTWFpbkxvb3A+LCBXVEY6OkZhc3RNYWxsb2M+PiA9IHttX2J1
ZmZlciA9IDB4N2ZhMTgwZTI4MDAwLCBtX2NhcGFjaXR5ID0gMTYsIG1fc2l6ZSA9IDEsIG1fbWFz
ayA9IDE1fSwgPE5vIGRhdGEgZmllbGRzPn0sIDxObyBkYXRhIGZpZWxkcz59LCBtX3NvdXJjZSA9
IHttX3B0ciA9IDB4N2ZhMTQ0MDA2NzgwfX0KICAgICAgICBtYWluQ29udGV4dCA9IFB5dGhvbiBF
eGNlcHRpb24gPGNsYXNzICdLZXlib2FyZEludGVycnVwdCc+IDxjbGFzcyAnS2V5Ym9hcmRJbnRl
cnJ1cHQnPjogCjB4N2ZhMTQ0MDAyYWIwCiAgICAgICAgaW5uZXJtb3N0TG9vcCA9IDB4N2ZhMTQ0
MDA2NzYwCiAgICAgICAgbmVzdGVkTWFpbkxvb3AgPSA8b3B0aW1pemVkIG91dD4KIzQgIDB4MDAw
MDdmYTIwNjlkYjA3ZiBpbiBfWk5LM1dURjhGdW5jdGlvbklGdnZFRWNsRXYgKHRoaXM9PHN5bnRo
ZXRpYyBwb2ludGVyPikKICAgIGF0IC91c3Ivc3JjL2RlYnVnL3dlYmtpdDJndGszLTIuMjAuMC0y
LmZjMjgueDg2XzY0L1NvdXJjZS9XVEYvd3RmL1RocmVhZGluZy5jcHA6MTI5CiAgICAgICAgZnVu
Y3Rpb24gPSAKICAgICAgICAgICAge21fY2FsbGFibGVXcmFwcGVyID0gc3RkOjp1bmlxdWVfcHRy
PFdURjo6RnVuY3Rpb248dm9pZCgpPjo6Q2FsbGFibGVXcmFwcGVyQmFzZT4gPSB7Z2V0KCkgPSAw
eDdmYTE4MGU4OGUyOH19CiM1ICAweDAwMDA3ZmEyMDY5ZGIwN2YgaW4gV1RGOjpUaHJlYWQ6OmVu
dHJ5UG9pbnQoV1RGOjpUaHJlYWQ6Ok5ld1RocmVhZENvbnRleHQqKSAobmV3VGhyZWFkQ29udGV4
dD0weDdmYTFmZDVhOTVmMCkKICAgIGF0IC91c3Ivc3JjL2RlYnVnL3dlYmtpdDJndGszLTIuMjAu
MC0yLmZjMjgueDg2XzY0L1NvdXJjZS9XVEYvd3RmL1RocmVhZGluZy5jcHA6MTI5CiAgICAgICAg
ZnVuY3Rpb24gPSAKICAgICAgICAgICAge21fY2FsbGFibGVXcmFwcGVyID0gc3RkOjp1bmlxdWVf
cHRyPFdURjo6RnVuY3Rpb248dm9pZCgpPjo6Q2FsbGFibGVXcmFwcGVyQmFzZT4gPSB7Z2V0KCkg
PSAweDdmYTE4MGU4OGUyOH19CiM2ICAweDAwMDA3ZmEyMDZhMDFmZmQgaW4gV1RGOjp3dGZUaHJl
YWRFbnRyeVBvaW50KHZvaWQqKSAoY29udGV4dD08b3B0aW1pemVkIG91dD4pCiAgICBhdCAvdXNy
L3NyYy9kZWJ1Zy93ZWJraXQyZ3RrMy0yLjIwLjAtMi5mYzI4Lng4Nl82NC9Tb3VyY2UvV1RGL3d0
Zi9UaHJlYWRpbmdQdGhyZWFkcy5jcHA6MjIzCiM3ICAweDAwMDA3ZmEyMjQ4OGM1NjQgaW4gc3Rh
cnRfdGhyZWFkIChhcmc9PG9wdGltaXplZCBvdXQ+KSBhdCBwdGhyZWFkX2NyZWF0ZS5jOjQ2Mwog
ICAgICAgIHBkID0gPG9wdGltaXplZCBvdXQ+CiAgICAgICAgbm93ID0gMTg0NDY3NDQwNzM3MDk1
NTExMDAKICAgICAgICB1bndpbmRfYnVmID0gCiAgICAgICAgICAgICAge2NhbmNlbF9qbXBfYnVm
ID0ge3tqbXBfYnVmID0gezE0MDMzMTA5NTI5OTg0MCwgLTI1OTUwMzczODczNjQ3Nzg1NiwgMTQw
NzMyNzAzNzIyMjM4LCAxNDA3MzI3MDM3MjIyMzksIDE0MDczMjcwMzcyMjM4NCwgMTQwNzMyNzAz
NzIyMzg0LCAyMjY1MzA4MjMyODc0NzA0MzIsIDIyNTgyMTcyMjI0NDI4MjcyMH0sIG1hc2tfd2Fz
X3NhdmVkID0gMH19LCBwcml2ID0ge3BhZCA9IHsweDAsIDB4MCwgMHgwLCAweDB9LCBkYXRhID0g
e3ByZXYgPSAweDAsIGNsZWFudXAgPSAweDAsIGNhbmNlbHR5cGUgPSAwfX19CiAgICAgICAgbm90
X2ZpcnN0X2NhbGwgPSA8b3B0aW1pemVkIG91dD4KIzggIDB4MDAwMDdmYTIyM2UyNTMzZiBpbiBj
bG9uZSAoKSBhdCAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvY2xvbmUuUzo5NQoK
VGhyZWFkIDE5IChUaHJlYWQgMHg3ZmExODNmZmY3MDAgKExXUCAxNDIxMSkpOgojMCAgMHgwMDAw
N2ZhMjIzZTFhOTQ5IGluIF9fR0lfX19wb2xsIChmZHM9MHg3ZmExNzgwMDc3ZTAsIG5mZHM9MSwg
dGltZW91dD0tMSkKICAgIGF0IC4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3BvbGwuYzoyOQog
ICAgICAgIHJlc3VsdHZhciA9IDE4NDQ2NzQ0MDczNzA5NTUxMTAwCiAgICAgICAgc2NfY2FuY2Vs
X29sZHR5cGUgPSAwCiMxICAweDAwMDA3ZmEyMTY2MWJiMTYgaW4gZ19tYWluX2NvbnRleHRfaXRl
cmF0ZS5pc3JhICgpIGF0IC9saWI2NC9saWJnbGliLTIuMC5zby4wCiMyICAweDAwMDA3ZmEyMTY2
MWJlZDIgaW4gZ19tYWluX2xvb3BfcnVuICgpIGF0IC9saWI2NC9saWJnbGliLTIuMC5zby4wCiMz
ICAweDAwMDA3ZmEyMDZhMDNmMzAgaW4gV1RGOjpSdW5Mb29wOjpydW4oKSAoKQogICAgYXQgL3Vz
ci9zcmMvZGVidWcvd2Via2l0Mmd0azMtMi4yMC4wLTIuZmMyOC54ODZfNjQvU291cmNlL1dURi93
dGYvZ2xpYi9SdW5Mb29wR0xpYi5jcHA6OTYKICAgICAgICBydW5Mb29wID0gCiAgICAgICAgICAg
IEAweDdmYTE4MGU1OTAwMDogezxXVEY6OkZ1bmN0aW9uRGlzcGF0Y2hlcj4gPSB7PFdURjo6VGhy
ZWFkU2FmZVJlZkNvdW50ZWQ8V1RGOjpGdW5jdGlvbkRpc3BhdGNoZXI+PiA9IHs8V1RGOjpUaHJl
YWRTYWZlUmVmQ291bnRlZEJhc2U+ID0ge21fcmVmQ291bnQgPSB7PHN0ZDo6X19hdG9taWNfYmFz
ZTx1bnNpZ25lZCBpbnQ+PiA9IHtzdGF0aWMgX1NfYWxpZ25tZW50ID0gNCwgX01faSA9IDF9LCA8
Tm8gZGF0YSBmaWVsZHM+fX0sIDxObyBkYXRhIGZpZWxkcz59LCBfdnB0ci5GdW5jdGlvbkRpc3Bh
dGNoZXIgPSAweDdmYTIwNmM1ODJhOCA8dnRhYmxlIGZvciBXVEY6OlJ1bkxvb3ArMTY+fSwgbV9m
dW5jdGlvblF1ZXVlTG9jayA9IHtzdGF0aWMgaXNIZWxkQml0ID0gMSAnXDAwMScsIHN0YXRpYyBo
YXNQYXJrZWRCaXQgPSAyICdcMDAyJywgbV9ieXRlID0ge3ZhbHVlID0gezxzdGQ6Ol9fYXRvbWlj
X2Jhc2U8dW5zaWduZWQgY2hhcj4+ID0ge3N0YXRpYyBfU19hbGlnbm1lbnQgPSAxLCBfTV9pID0g
MCAnXDAwMCd9LCA8Tm8gZGF0YSBmaWVsZHM+fX19LCBtX2Z1bmN0aW9uUXVldWUgPSB7bV9zdGFy
dCA9IDIsIG1fZW5kID0gMiwgbV9idWZmZXIgPSB7PFdURjo6VmVjdG9yQnVmZmVyQmFzZTxXVEY6
OkZ1bmN0aW9uPHZvaWQoKT4sIFdURjo6RmFzdE1hbGxvYz4+ID0ge21fYnVmZmVyID0gMHg3ZmEx
ODBlZGQ0ODAsIG1fY2FwYWNpdHkgPSAxNiwgbV9zaXplID0gMCwgbV9tYXNrID0gMTV9LCA8Tm8g
ZGF0YSBmaWVsZHM+fX0sIG1fbWFpbkNvbnRleHQgPSB7bV9wdHIgPSAweDdmYTE3ODAwMWY2MH0s
IG1fbWFpbkxvb3BzID0gezxXVEY6OlZlY3RvckJ1ZmZlcjxXVEY6OkdSZWZQdHI8X0dNYWluTG9v
cD4sIDAsIFdURjo6RmFzdE1hbGxvYz4+ID0gezxXVEY6OlZlY3RvckJ1ZmZlckJhc2U8V1RGOjpH
UmVmUHRyPF9HTWFpbkxvb3A+LCBXVEY6OkZhc3RNYWxsb2M+PiA9IHttX2J1ZmZlciA9IDB4N2Zh
MTgwZTdmNDAwLCBtX2NhcGFjaXR5ID0gMTYsIG1fc2l6ZSA9IDEsIG1fbWFzayA9IDE1fSwgPE5v
IGRhdGEgZmllbGRzPn0sIDxObyBkYXRhIGZpZWxkcz59LCBtX3NvdXJjZSA9IHttX3B0ciA9IDB4
N2ZhMTc4MDk0NWEwfX0KICAgICAgICBtYWluQ29udGV4dCA9IDB4N2ZhMTc4MDAxZjYwCiAgICAg
ICAgaW5uZXJtb3N0TG9vcCA9IDB4N2ZhMTc4MDYwYjIwCiAgICAgICAgbmVzdGVkTWFpbkxvb3Ag
PSA8b3B0aW1pemVkIG91dD4KIzQgIDB4MDAwMDdmYTIwNjlkYjA3ZiBpbiBfWk5LM1dURjhGdW5j
dGlvbklGdnZFRWNsRXYgKHRoaXM9PHN5bnRoZXRpYyBwb2ludGVyPikKICAgIGF0IC91c3Ivc3Jj
L2RlYnVnL3dlYmtpdDJndGszLTIuMjAuMC0yLmZjMjgueDg2XzY0L1NvdXJjZS9XVEYvd3RmL1Ro
cmVhZGluZy5jcHA6MTI5CiAgICAgICAgZnVuY3Rpb24gPSAKICAgICAgICAgICAge21fY2FsbGFi
bGVXcmFwcGVyID0gc3RkOjp1bmlxdWVfcHRyPFdURjo6RnVuY3Rpb248dm9pZCgpPjo6Q2FsbGFi
bGVXcmFwcGVyQmFzZT4gPSB7Z2V0KCkgPSAweDdmYTE4MGU4OGQ2OH19CiM1ICAweDAwMDA3ZmEy
MDY5ZGIwN2YgaW4gV1RGOjpUaHJlYWQ6OmVudHJ5UG9pbnQoV1RGOjpUaHJlYWQ6Ok5ld1RocmVh
ZENvbnRleHQqKSAobmV3VGhyZWFkQ29udGV4dD0weDdmYTFmZDVhOTQ2MCkKICAgIGF0IC91c3Iv
c3JjL2RlYnVnL3dlYmtpdDJndGszLTIuMjAuMC0yLmZjMjgueDg2XzY0L1NvdXJjZS9XVEYvd3Rm
L1RocmVhZGluZy5jcHA6MTI5CiAgICAgICAgZnVuY3Rpb24gPSAKICAgICAgICAgICAge21fY2Fs
bGFibGVXcmFwcGVyID0gc3RkOjp1bmlxdWVfcHRyPFdURjo6RnVuY3Rpb248dm9pZCgpPjo6Q2Fs
bGFibGVXcmFwcGVyQmFzZT4gPSB7Z2V0KCkgPSAweDdmYTE4MGU4OGQ2OH19CiM2ICAweDAwMDA3
ZmEyMDZhMDFmZmQgaW4gV1RGOjp3dGZUaHJlYWRFbnRyeVBvaW50KHZvaWQqKSAoY29udGV4dD08
b3B0aW1pemVkIG91dD4pCiAgICBhdCAvdXNyL3NyYy9kZWJ1Zy93ZWJraXQyZ3RrMy0yLjIwLjAt
Mi5mYzI4Lng4Nl82NC9Tb3VyY2UvV1RGL3d0Zi9UaHJlYWRpbmdQdGhyZWFkcy5jcHA6MjIzCiM3
ICAweDAwMDA3ZmEyMjQ4OGM1NjQgaW4gc3RhcnRfdGhyZWFkIChhcmc9PG9wdGltaXplZCBvdXQ+
KSBhdCBwdGhyZWFkX2NyZWF0ZS5jOjQ2MwogICAgICAgIHBkID0gPG9wdGltaXplZCBvdXQ+CiAg
ICAgICAgbm93ID0gMTg0NDY3NDQwNzM3MDk1NTExMDAKICAgICAgICB1bndpbmRfYnVmID0gCiAg
ICAgICAgICAgICAge2NhbmNlbF9qbXBfYnVmID0ge3tqbXBfYnVmID0gezE0MDMzMTY4MTA1MjQx
NiwgLTI1OTUwMzczODczNjQ3Nzg1NiwgMTQwNzMyNzAzNzE0MjIyLCAxNDA3MzI3MDM3MTQyMjMs
IDE0MDczMjcwMzcxNDM2OCwgMTQwNzMyNzAzNzE0MzY4LCAyMjY1OTc1NTUyNjgwOTAyMDgsIDIy
NTgyMTcyMjI0NDI4MjcyMH0sIG1hc2tfd2FzX3NhdmVkID0gMH19LCBwcml2ID0ge3BhZCA9IHsw
eDAsIDB4MCwgMHgwLCAweDB9LCBkYXRhID0ge3ByZXYgPSAweDAsIGNsZWFudXAgPSAweDAsIGNh
bmNlbHR5cGUgPSAwfX19CiAgICAgICAgbm90X2ZpcnN0X2NhbGwgPSA8b3B0aW1pemVkIG91dD4K
IzggIDB4MDAwMDdmYTIyM2UyNTMzZiBpbiBjbG9uZSAoKSBhdCAuLi9zeXNkZXBzL3VuaXgvc3lz
di9saW51eC94ODZfNjQvY2xvbmUuUzo5NQoKVGhyZWFkIDE4IChUaHJlYWQgMHg3ZmExNjkxZjE3
MDAgKExXUCAxMzY0OCkpOgojMCAgMHgwMDAwN2ZhMjIzZTFhOTQ5IGluIF9fR0lfX19wb2xsIChm
ZHM9MHg3ZmExODQwMDE0ODAsIG5mZHM9MSwgdGltZW91dD0tMSkKICAgIGF0IC4uL3N5c2RlcHMv
dW5peC9zeXN2L2xpbnV4L3BvbGwuYzoyOQogICAgICAgIHJlc3VsdHZhciA9IDE4NDQ2NzQ0MDcz
NzA5NTUxMTAwCiAgICAgICAgc2NfY2FuY2VsX29sZHR5cGUgPSAwCiMxICAweDAwMDA3ZmEyMTY2
MWJiMTYgaW4gZ19tYWluX2NvbnRleHRfaXRlcmF0ZS5pc3JhICgpIGF0IC9saWI2NC9saWJnbGli
LTIuMC5zby4wCiMyICAweDAwMDA3ZmEyMTY2MWJlZDIgaW4gZ19tYWluX2xvb3BfcnVuICgpIGF0
IC9saWI2NC9saWJnbGliLTIuMC5zby4wCiMzICAweDAwMDA3ZmEyMDZhMDNmMzAgaW4gV1RGOjpS
dW5Mb29wOjpydW4oKSAoKQogICAgYXQgL3Vzci9zcmMvZGVidWcvd2Via2l0Mmd0azMtMi4yMC4w
LTIuZmMyOC54ODZfNjQvU291cmNlL1dURi93dGYvZ2xpYi9SdW5Mb29wR0xpYi5jcHA6OTYKICAg
ICAgICBydW5Mb29wID0gCiAgICAgICAgICAgIEAweDdmYTE4MGViNTAwMDogezxXVEY6OkZ1bmN0
aW9uRGlzcGF0Y2hlcj4gPSB7PFdURjo6VGhyZWFkU2FmZVJlZkNvdW50ZWQ8V1RGOjpGdW5jdGlv
bkRpc3BhdGNoZXI+PiA9IHs8V1RGOjpUaHJlYWRTYWZlUmVmQ291bnRlZEJhc2U+ID0ge21fcmVm
Q291bnQgPSB7PHN0ZDo6X19hdG9taWNfYmFzZTx1bnNpZ25lZCBpbnQ+PiA9IHtzdGF0aWMgX1Nf
YWxpZ25tZW50ID0gNCwgX01faSA9IDF9LCA8Tm8gZGF0YSBmaWVsZHM+fX0sIDxObyBkYXRhIGZp
ZWxkcz59LCBfdnB0ci5GdW5jdGlvbkRpc3BhdGNoZXIgPSAweDdmYTIwNmM1ODJhOCA8dnRhYmxl
IGZvciBXVEY6OlJ1bkxvb3ArMTY+fSwgbV9mdW5jdGlvblF1ZXVlTG9jayA9IHtzdGF0aWMgaXNI
ZWxkQml0ID0gMSAnXDAwMScsIHN0YXRpYyBoYXNQYXJrZWRCaXQgPSAyICdcMDAyJywgbV9ieXRl
ID0ge3ZhbHVlID0gezxzdGQ6Ol9fYXRvbWljX2Jhc2U8dW5zaWduZWQgY2hhcj4+ID0ge3N0YXRp
YyBfU19hbGlnbm1lbnQgPSAxLCBfTV9pID0gMCAnXDAwMCd9LCA8Tm8gZGF0YSBmaWVsZHM+fX19
LCBtX2Z1bmN0aW9uUXVldWUgPSB7bV9zdGFydCA9IDYsIG1fZW5kID0gNiwgbV9idWZmZXIgPSB7
PFdURjo6VmVjdG9yQnVmZmVyQmFzZTxXVEY6OkZ1bmN0aW9uPHZvaWQoKT4sIFdURjo6RmFzdE1h
bGxvYz4+ID0ge21fYnVmZmVyID0gMHg3ZmExZmQ1MzJiODAsIG1fY2FwYWNpdHkgPSAxNiwgbV9z
aXplID0gMCwgbV9tYXNrID0gMTV9LCA8Tm8gZGF0YSBmaWVsZHM+fX0sIG1fbWFpbkNvbnRleHQg
PSB7bV9wdHIgPSAweDdmYTE4NDAwMGIyMH0sIG1fbWFpbkxvb3BzID0gezxXVEY6OlZlY3RvckJ1
ZmZlcjxXVEY6OkdSZWZQdHI8X0dNYWluTG9vcD4sIDAsIFdURjo6RmFzdE1hbGxvYz4+ID0gezxX
VEY6OlZlY3RvckJ1ZmZlckJhc2U8V1RGOjpHUmVmUHRyPF9HTWFpbkxvb3A+LCBXVEY6OkZhc3RN
YWxsb2M+PiA9IHttX2J1ZmZlciA9IDB4N2ZhMTgwZWI0MDAwLCBtX2NhcGFjaXR5ID0gMTYsIG1f
c2l6ZSA9IDEsIG1fbWFzayA9IDE1fSwgPE5vIGRhdGEgZmllbGRzPn0sIDxObyBkYXRhIGZpZWxk
cz59LCBtX3NvdXJjZSA9IHttX3B0ciA9IDB4N2ZhMTg0MDAxYjQwfX0KICAgICAgICBtYWluQ29u
dGV4dCA9IDB4N2ZhMTg0MDAwYjIwCiAgICAgICAgaW5uZXJtb3N0TG9vcCA9IDB4N2ZhMTg0MDAx
YjIwCiAgICAgICAgbmVzdGVkTWFpbkxvb3AgPSA8b3B0aW1pemVkIG91dD4KIzQgIDB4MDAwMDdm
YTIwNjlkYjA3ZiBpbiBfWk5LM1dURjhGdW5jdGlvbklGdnZFRWNsRXYgKHRoaXM9PHN5bnRoZXRp
YyBwb2ludGVyPikKICAgIGF0IC91c3Ivc3JjL2RlYnVnL3dlYmtpdDJndGszLTIuMjAuMC0yLmZj
MjgueDg2XzY0L1NvdXJjZS9XVEYvd3RmL1RocmVhZGluZy5jcHA6MTI5CiAgICAgICAgZnVuY3Rp
b24gPSAKICAgICAgICAgICAge21fY2FsbGFibGVXcmFwcGVyID0gc3RkOjp1bmlxdWVfcHRyPFdU
Rjo6RnVuY3Rpb248dm9pZCgpPjo6Q2FsbGFibGVXcmFwcGVyQmFzZT4gPSB7Z2V0KCkgPSAweDdm
YTE4MGViZTEwOH19CiM1ICAweDAwMDA3ZmEyMDY5ZGIwN2YgaW4gV1RGOjpUaHJlYWQ6OmVudHJ5
UG9pbnQoV1RGOjpUaHJlYWQ6Ok5ld1RocmVhZENvbnRleHQqKSAobmV3VGhyZWFkQ29udGV4dD0w
eDdmYTFmZDVhOTBmMCkKICAgIGF0IC91c3Ivc3JjL2RlYnVnL3dlYmtpdDJndGszLTIuMjAuMC0y
LmZjMjgueDg2XzY0L1NvdXJjZS9XVEYvd3RmL1RocmVhZGluZy5jcHA6MTI5CiAgICAgICAgZnVu
Y3Rpb24gPSAKICAgICAgICAgICAge21fY2FsbGFibGVXcmFwcGVyID0gc3RkOjp1bmlxdWVfcHRy
PFdURjo6RnVuY3Rpb248dm9pZCgpPjo6Q2FsbGFibGVXcmFwcGVyQmFzZT4gPSB7Z2V0KCkgPSAw
eDdmYTE4MGViZTEwOH19CiM2ICAweDAwMDA3ZmEyMDZhMDFmZmQgaW4gV1RGOjp3dGZUaHJlYWRF
bnRyeVBvaW50KHZvaWQqKSAoY29udGV4dD08b3B0aW1pemVkIG91dD4pCiAgICBhdCAvdXNyL3Ny
Yy9kZWJ1Zy93ZWJraXQyZ3RrMy0yLjIwLjAtMi5mYzI4Lng4Nl82NC9Tb3VyY2UvV1RGL3d0Zi9U
aHJlYWRpbmdQdGhyZWFkcy5jcHA6MjIzCiM3ICAweDAwMDA3ZmEyMjQ4OGM1NjQgaW4gc3RhcnRf
dGhyZWFkIChhcmc9PG9wdGltaXplZCBvdXQ+KSBhdCBwdGhyZWFkX2NyZWF0ZS5jOjQ2MwogICAg
ICAgIHBkID0gPG9wdGltaXplZCBvdXQ+CiAgICAgICAgbm93ID0gMTg0NDY3NDQwNzM3MDk1NTEx
MDAKICAgICAgICB1bndpbmRfYnVmID0gCiAgICAgICAgICAgICAge2NhbmNlbF9qbXBfYnVmID0g
e3tqbXBfYnVmID0gezE0MDMzMTIzMDEwNzM5MiwgLTI1OTUwMzczODczNjQ3Nzg1NiwgMTQwNzMy
NzAzNzE2ODc4LCAxNDA3MzI3MDM3MTY4NzksIDE0MDczMjcwMzcxNzAyNCwgMTQwNzMyNzAzNzE3
MDI0LCAyMjY1NDgzNTUzNDM5NzI3MDQsIDIyNTgyMTcyMjI0NDI4MjcyMH0sIG1hc2tfd2FzX3Nh
dmVkID0gMH19LCBwcml2ID0ge3BhZCA9IHsweDAsIDB4MCwgMHgwLCAweDB9LCBkYXRhID0ge3By
ZXYgPSAweDAsIGNsZWFudXAgPSAweDAsIGNhbmNlbHR5cGUgPSAwfX19CiAgICAgICAgbm90X2Zp
cnN0X2NhbGwgPSA8b3B0aW1pemVkIG91dD4KIzggIDB4MDAwMDdmYTIyM2UyNTMzZiBpbiBjbG9u
ZSAoKSBhdCAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvY2xvbmUuUzo5NQoKVGhy
ZWFkIDE3IChUaHJlYWQgMHg3ZmExNjA5NjA3MDAgKExXUCAxNDIyMSkpOgojMCAgMHgwMDAwN2Zh
MjIzZTFhOTQ5IGluIF9fR0lfX19wb2xsIChmZHM9MHg3ZmExNDgwMDE1YzAsIG5mZHM9MiwgdGlt
ZW91dD0tMSkKICAgIGF0IC4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3BvbGwuYzoyOQogICAg
ICAgIHJlc3VsdHZhciA9IDE4NDQ2NzQ0MDczNzA5NTUxMTAwCiAgICAgICAgc2NfY2FuY2VsX29s
ZHR5cGUgPSAwCiMxICAweDAwMDA3ZmEyMTY2MWJiMTYgaW4gZ19tYWluX2NvbnRleHRfaXRlcmF0
ZS5pc3JhICgpIGF0IC9saWI2NC9saWJnbGliLTIuMC5zby4wCiMyICAweDAwMDA3ZmEyMTY2MWJl
ZDIgaW4gZ19tYWluX2xvb3BfcnVuICgpIGF0IC9saWI2NC9saWJnbGliLTIuMC5zby4wCiMzICAw
eDAwMDA3ZmEyMDZhMDNmMzAgaW4gV1RGOjpSdW5Mb29wOjpydW4oKSAoKQogICAgYXQgL3Vzci9z
cmMvZGVidWcvd2Via2l0Mmd0azMtMi4yMC4wLTIuZmMyOC54ODZfNjQvU291cmNlL1dURi93dGYv
Z2xpYi9SdW5Mb29wR0xpYi5jcHA6OTYKICAgICAgICBydW5Mb29wID0gCiAgICAgICAgICAgIEAw
eDdmYTE4MGUyMzAwMDogezxXVEY6OkZ1bmN0aW9uRGlzcGF0Y2hlcj4gPSB7PFdURjo6VGhyZWFk
U2FmZVJlZkNvdW50ZWQ8V1RGOjpGdW5jdGlvbkRpc3BhdGNoZXI+PiA9IHs8V1RGOjpUaHJlYWRT
YWZlUmVmQ291bnRlZEJhc2U+ID0ge21fcmVmQ291bnQgPSB7PHN0ZDo6X19hdG9taWNfYmFzZTx1
bnNpZ25lZCBpbnQ+PiA9IHtzdGF0aWMgX1NfYWxpZ25tZW50ID0gNCwgX01faSA9IDF9LCA8Tm8g
ZGF0YSBmaWVsZHM+fX0sIDxObyBkYXRhIGZpZWxkcz59LCBfdnB0ci5GdW5jdGlvbkRpc3BhdGNo
ZXIgPSAweDdmYTIwNmM1ODJhOCA8dnRhYmxlIGZvciBXVEY6OlJ1bkxvb3ArMTY+fSwgbV9mdW5j
dGlvblF1ZXVlTG9jayA9IHtzdGF0aWMgaXNIZWxkQml0ID0gMSAnXDAwMScsIHN0YXRpYyBoYXNQ
YXJrZWRCaXQgPSAyICdcMDAyJywgbV9ieXRlID0ge3ZhbHVlID0gezxzdGQ6Ol9fYXRvbWljX2Jh
c2U8dW5zaWduZWQgY2hhcj4+ID0ge3N0YXRpYyBfU19hbGlnbm1lbnQgPSAxLCBfTV9pID0gMCAn
XDAwMCd9LCA8Tm8gZGF0YSBmaWVsZHM+fX19LCBtX2Z1bmN0aW9uUXVldWUgPSB7bV9zdGFydCA9
IDM4LCBtX2VuZCA9IDM4LCBtX2J1ZmZlciA9IHs8V1RGOjpWZWN0b3JCdWZmZXJCYXNlPFdURjo6
RnVuY3Rpb248dm9pZCgpPiwgV1RGOjpGYXN0TWFsbG9jPj4gPSB7bV9idWZmZXIgPSAweDdmYTFm
ZDViMTQ4MCwgbV9jYXBhY2l0eSA9IDY4LCBtX3NpemUgPSAwLCBtX21hc2sgPSAxMjd9LCA8Tm8g
ZGF0YSBmaWVsZHM+fX0sIG1fbWFpbkNvbnRleHQgPSB7bV9wdHIgPSAweDdmYTE0ODAwMGI1MH0s
IG1fbWFpbkxvb3BzID0gezxXVEY6OlZlY3RvckJ1ZmZlcjxXVEY6OkdSZWZQdHI8X0dNYWluTG9v
cD4sIDAsIFdURjo6RmFzdE1hbGxvYz4+ID0gezxXVEY6OlZlY3RvckJ1ZmZlckJhc2U8V1RGOjpH
UmVmUHRyPF9HTWFpbkxvb3A+LCBXVEY6OkZhc3RNYWxsb2M+PiA9IHttX2J1ZmZlciA9IDB4N2Zh
MTgwZTIyMDAwLCBtX2NhcGFjaXR5ID0gMTYsIG1fc2l6ZSA9IDEsIG1fbWFzayA9IDE1fSwgPE5v
IGRhdGEgZmllbGRzPn0sIDxObyBkYXRhIGZpZWxkcz59LCBtX3NvdXJjZSA9IHttX3B0ciA9IDB4
N2ZhMTQ4MDAxNGIwfX0KICAgICAgICBtYWluQ29udGV4dCA9IDB4N2ZhMTQ4MDAwYjUwCiAgICAg
ICAgaW5uZXJtb3N0TG9vcCA9IDB4N2ZhMTQ4MDAxNDkwCiAgICAgICAgbmVzdGVkTWFpbkxvb3Ag
PSA8b3B0aW1pemVkIG91dD4KIzQgIDB4MDAwMDdmYTIwNjlkYjA3ZiBpbiBfWk5LM1dURjhGdW5j
dGlvbklGdnZFRWNsRXYgKHRoaXM9PHN5bnRoZXRpYyBwb2ludGVyPikKICAgIGF0IC91c3Ivc3Jj
L2RlYnVnL3dlYmtpdDJndGszLTIuMjAuMC0yLmZjMjgueDg2XzY0L1NvdXJjZS9XVEYvd3RmL1Ro
cmVhZGluZy5jcHA6MTI5CiAgICAgICAgZnVuY3Rpb24gPSAKICAgICAgICAgICAge21fY2FsbGFi
bGVXcmFwcGVyID0gc3RkOjp1bmlxdWVfcHRyPFdURjo6RnVuY3Rpb248dm9pZCgpPjo6Q2FsbGFi
bGVXcmFwcGVyQmFzZT4gPSB7Z2V0KCkgPSAweDdmYTE4MGU4ODFlMH19CiM1ICAweDAwMDA3ZmEy
MDY5ZGIwN2YgaW4gV1RGOjpUaHJlYWQ6OmVudHJ5UG9pbnQoV1RGOjpUaHJlYWQ6Ok5ld1RocmVh
ZENvbnRleHQqKSAobmV3VGhyZWFkQ29udGV4dD0weDdmYTFmZDVhOTY0MCkKICAgIGF0IC91c3Iv
c3JjL2RlYnVnL3dlYmtpdDJndGszLTIuMjAuMC0yLmZjMjgueDg2XzY0L1NvdXJjZS9XVEYvd3Rm
L1RocmVhZGluZy5jcHA6MTI5CiAgICAgICAgZnVuY3Rpb24gPSAKICAgICAgICAgICAge21fY2Fs
bGFibGVXcmFwcGVyID0gc3RkOjp1bmlxdWVfcHRyPFdURjo6RnVuY3Rpb248dm9pZCgpPjo6Q2Fs
bGFibGVXcmFwcGVyQmFzZT4gPSB7Z2V0KCkgPSAweDdmYTE4MGU4ODFlMH19CiM2ICAweDAwMDA3
ZmEyMDZhMDFmZmQgaW4gV1RGOjp3dGZUaHJlYWRFbnRyeVBvaW50KHZvaWQqKSAoY29udGV4dD08
b3B0aW1pemVkIG91dD4pCiAgICBhdCAvdXNyL3NyYy9kZWJ1Zy93ZWJraXQyZ3RrMy0yLjIwLjAt
Mi5mYzI4Lng4Nl82NC9Tb3VyY2UvV1RGL3d0Zi9UaHJlYWRpbmdQdGhyZWFkcy5jcHA6MjIzCiM3
ICAweDAwMDA3ZmEyMjQ4OGM1NjQgaW4gc3RhcnRfdGhyZWFkIChhcmc9PG9wdGltaXplZCBvdXQ+
KSBhdCBwdGhyZWFkX2NyZWF0ZS5jOjQ2MwogICAgICAgIHBkID0gPG9wdGltaXplZCBvdXQ+CiAg
ICAgICAgbm93ID0gMTg0NDY3NDQwNzM3MDk1NTExMDAKICAgICAgICB1bndpbmRfYnVmID0gCiAg
ICAgICAgICAgICAge2NhbmNlbF9qbXBfYnVmID0ge3tqbXBfYnVmID0gezE0MDMzMTA4NjkwNzEz
NiwgLTI1OTUwMzczODczNjQ3Nzg1NiwgMTQwNzMyNzAzNzIyMjU0LCAxNDA3MzI3MDM3MjIyNTUs
IDE0MDczMjcwMzcyMjQwMCwgMTQwNzMyNzAzNzIyNDAwLCAyMjY1MzQxMDk0NzQzMjI3ODQsIDIy
NTgyMTcyMjI0NDI4MjcyMH0sIG1hc2tfd2FzX3NhdmVkID0gMH19LCBwcml2ID0ge3BhZCA9IHsw
eDAsIDB4MCwgMHgwLCAweDB9LCBkYXRhID0ge3ByZXYgPSAweDAsIGNsZWFudXAgPSAweDAsIGNh
bmNlbHR5cGUgPSAwfX19CiAgICAgICAgbm90X2ZpcnN0X2NhbGwgPSA8b3B0aW1pemVkIG91dD4K
IzggIDB4MDAwMDdmYTIyM2UyNTMzZiBpbiBjbG9uZSAoKSBhdCAuLi9zeXNkZXBzL3VuaXgvc3lz
di9saW51eC94ODZfNjQvY2xvbmUuUzo5NQoKVGhyZWFkIDE2IChUaHJlYWQgMHg3ZmExNjg5ZjA3
MDAgKExXUCAxMTgwNikpOgojMCAgMHgwMDAwN2ZhMjIzZTFhOTQ5IGluIF9fR0lfX19wb2xsIChm
ZHM9MHg3ZmExNWMwMDFlMzAsIG5mZHM9MiwgdGltZW91dD0tMSkKICAgIGF0IC4uL3N5c2RlcHMv
dW5peC9zeXN2L2xpbnV4L3BvbGwuYzoyOQogICAgICAgIHJlc3VsdHZhciA9IDE4NDQ2NzQ0MDcz
NzA5NTUxMTAwCiAgICAgICAgc2NfY2FuY2VsX29sZHR5cGUgPSAwCiMxICAweDAwMDA3ZmEyMTY2
MWJiMTYgaW4gZ19tYWluX2NvbnRleHRfaXRlcmF0ZS5pc3JhICgpIGF0IC9saWI2NC9saWJnbGli
LTIuMC5zby4wCiMyICAweDAwMDA3ZmEyMTY2MWJlZDIgaW4gZ19tYWluX2xvb3BfcnVuICgpIGF0
IC9saWI2NC9saWJnbGliLTIuMC5zby4wCiMzICAweDAwMDA3ZmEyMDZhMDNmMzAgaW4gV1RGOjpS
dW5Mb29wOjpydW4oKSAoKQogICAgYXQgL3Vzci9zcmMvZGVidWcvd2Via2l0Mmd0azMtMi4yMC4w
LTIuZmMyOC54ODZfNjQvU291cmNlL1dURi93dGYvZ2xpYi9SdW5Mb29wR0xpYi5jcHA6OTYKICAg
ICAgICBydW5Mb29wID0gCiAgICAgICAgICAgIEAweDdmYTFmZDUxMjAwMDogezxXVEY6OkZ1bmN0
aW9uRGlzcGF0Y2hlcj4gPSB7PFdURjo6VGhyZWFkU2FmZVJlZkNvdW50ZWQ8V1RGOjpGdW5jdGlv
bkRpc3BhdGNoZXI+PiA9IHs8V1RGOjpUaHJlYWRTYWZlUmVmQ291bnRlZEJhc2U+ID0ge21fcmVm
Q291bnQgPSB7PHN0ZDo6X19hdG9taWNfYmFzZTx1bnNpZ25lZCBpbnQ+PiA9IHtzdGF0aWMgX1Nf
YWxpZ25tZW50ID0gNCwgX01faSA9IDF9LCA8Tm8gZGF0YSBmaWVsZHM+fX0sIDxObyBkYXRhIGZp
ZWxkcz59LCBfdnB0ci5GdW5jdGlvbkRpc3BhdGNoZXIgPSAweDdmYTIwNmM1ODJhOCA8dnRhYmxl
IGZvciBXVEY6OlJ1bkxvb3ArMTY+fSwgbV9mdW5jdGlvblF1ZXVlTG9jayA9IHtzdGF0aWMgaXNI
ZWxkQml0ID0gMSAnXDAwMScsIHN0YXRpYyBoYXNQYXJrZWRCaXQgPSAyICdcMDAyJywgbV9ieXRl
ID0ge3ZhbHVlID0gezxzdGQ6Ol9fYXRvbWljX2Jhc2U8dW5zaWduZWQgY2hhcj4+ID0ge3N0YXRp
YyBfU19hbGlnbm1lbnQgPSAxLCBfTV9pID0gMCAnXDAwMCd9LCA8Tm8gZGF0YSBmaWVsZHM+fX19
LCBtX2Z1bmN0aW9uUXVldWUgPSB7bV9zdGFydCA9IDUsIG1fZW5kID0gNSwgbV9idWZmZXIgPSB7
PFdURjo6VmVjdG9yQnVmZmVyQmFzZTxXVEY6OkZ1bmN0aW9uPHZvaWQoKT4sIFdURjo6RmFzdE1h
bGxvYz4+ID0ge21fYnVmZmVyID0gMHg3ZmExZmQ1NzNmODAsIG1fY2FwYWNpdHkgPSAxNiwgbV9z
aXplID0gMCwgbV9tYXNrID0gMTV9LCA8Tm8gZGF0YSBmaWVsZHM+fX0sIG1fbWFpbkNvbnRleHQg
PSB7bV9wdHIgPSAweDdmYTE1YzAwMGI1MH0sIG1fbWFpbkxvb3BzID0gezxXVEY6OlZlY3RvckJ1
ZmZlcjxXVEY6OkdSZWZQdHI8X0dNYWluTG9vcD4sIDAsIFdURjo6RmFzdE1hbGxvYz4+ID0gezxX
VEY6OlZlY3RvckJ1ZmZlckJhc2U8V1RGOjpHUmVmUHRyPF9HTWFpbkxvb3A+LCBXVEY6OkZhc3RN
YWxsb2M+PiA9IHttX2J1ZmZlciA9IDB4N2ZhMWZkNTExMDAwLCBtX2NhcGFjaXR5ID0gMTYsIG1f
c2l6ZSA9IDEsIG1fbWFzayA9IDE1fSwgPE5vIGRhdGEgZmllbGRzPn0sIDxObyBkYXRhIGZpZWxk
cz59LCBtX3NvdXJjZSA9IHttX3B0ciA9IDB4N2ZhMTVjMDAxZDcwfX0KICAgICAgICBtYWluQ29u
dGV4dCA9IDB4N2ZhMTVjMDAwYjUwCiAgICAgICAgaW5uZXJtb3N0TG9vcCA9IDB4N2ZhMTVjMDAx
ZDUwCiAgICAgICAgbmVzdGVkTWFpbkxvb3AgPSA8b3B0aW1pemVkIG91dD4KIzQgIDB4MDAwMDdm
YTIwNjlkYjA3ZiBpbiBfWk5LM1dURjhGdW5jdGlvbklGdnZFRWNsRXYgKHRoaXM9PHN5bnRoZXRp
YyBwb2ludGVyPikKICAgIGF0IC91c3Ivc3JjL2RlYnVnL3dlYmtpdDJndGszLTIuMjAuMC0yLmZj
MjgueDg2XzY0L1NvdXJjZS9XVEYvd3RmL1RocmVhZGluZy5jcHA6MTI5CiAgICAgICAgZnVuY3Rp
b24gPSAKICAgICAgICAgICAge21fY2FsbGFibGVXcmFwcGVyID0gc3RkOjp1bmlxdWVfcHRyPFdU
Rjo6RnVuY3Rpb248dm9pZCgpPjo6Q2FsbGFibGVXcmFwcGVyQmFzZT4gPSB7Z2V0KCkgPSAweDdm
YTFmZDU2NDNkOH19CiM1ICAweDAwMDA3ZmEyMDY5ZGIwN2YgaW4gV1RGOjpUaHJlYWQ6OmVudHJ5
UG9pbnQoV1RGOjpUaHJlYWQ6Ok5ld1RocmVhZENvbnRleHQqKSAobmV3VGhyZWFkQ29udGV4dD0w
eDdmYTFmZDVmNTUwMCkKICAgIGF0IC91c3Ivc3JjL2RlYnVnL3dlYmtpdDJndGszLTIuMjAuMC0y
LmZjMjgueDg2XzY0L1NvdXJjZS9XVEYvd3RmL1RocmVhZGluZy5jcHA6MTI5CiAgICAgICAgZnVu
Y3Rpb24gPSAKICAgICAgICAgICAge21fY2FsbGFibGVXcmFwcGVyID0gc3RkOjp1bmlxdWVfcHRy
PFdURjo6RnVuY3Rpb248dm9pZCgpPjo6Q2FsbGFibGVXcmFwcGVyQmFzZT4gPSB7Z2V0KCkgPSAw
eDdmYTFmZDU2NDNkOH19CiM2ICAweDAwMDA3ZmEyMDZhMDFmZmQgaW4gV1RGOjp3dGZUaHJlYWRF
bnRyeVBvaW50KHZvaWQqKSAoY29udGV4dD08b3B0aW1pemVkIG91dD4pCiAgICBhdCAvdXNyL3Ny
Yy9kZWJ1Zy93ZWJraXQyZ3RrMy0yLjIwLjAtMi5mYzI4Lng4Nl82NC9Tb3VyY2UvV1RGL3d0Zi9U
aHJlYWRpbmdQdGhyZWFkcy5jcHA6MjIzCiM3ICAweDAwMDA3ZmEyMjQ4OGM1NjQgaW4gc3RhcnRf
dGhyZWFkIChhcmc9PG9wdGltaXplZCBvdXQ+KSBhdCBwdGhyZWFkX2NyZWF0ZS5jOjQ2MwogICAg
ICAgIHBkID0gPG9wdGltaXplZCBvdXQ+CiAgICAgICAgbm93ID0gMTg0NDY3NDQwNzM3MDk1NTEx
MDAKICAgICAgICB1bndpbmRfYnVmID0gCiAgICAgICAgICAgICAge2NhbmNlbF9qbXBfYnVmID0g
e3tqbXBfYnVmID0gezE0MDMzMTIyMTcxNDY4OCwgLTI1OTUwMzczODczNjQ3Nzg1NiwgMTQwNzMy
NzAzNzIyMjU0LCAxNDA3MzI3MDM3MjIyNTUsIDE0MDczMjcwMzcyMjQwMCwgMTQwNzMyNzAzNzIy
NDAwLCAyMjY1NTE2NDE1MzA4MjUwNTYsIDIyNTgyMTcyMjI0NDI4MjcyMH0sIG1hc2tfd2FzX3Nh
dmVkID0gMH19LCBwcml2ID0ge3BhZCA9IHsweDAsIDB4MCwgMHgwLCAweDB9LCBkYXRhID0ge3By
ZXYgPSAweDAsIGNsZWFudXAgPSAweDAsIGNhbmNlbHR5cGUgPSAwfX19CiAgICAgICAgbm90X2Zp
cnN0X2NhbGwgPSA8b3B0aW1pemVkIG91dD4KIzggIDB4MDAwMDdmYTIyM2UyNTMzZiBpbiBjbG9u
ZSAoKSBhdCAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvY2xvbmUuUzo5NQoKVGhy
ZWFkIDE1IChUaHJlYWQgMHg3ZmExYWFmZmY3MDAgKExXUCAxMTQzMCkpOgojMCAgMHgwMDAwN2Zh
MjIzZTFhOTQ5IGluIF9fR0lfX19wb2xsIChmZHM9MHg3ZmExOTgwMDI2ODAsIG5mZHM9MSwgdGlt
ZW91dD0tMSkKICAgIGF0IC4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3BvbGwuYzoyOQogICAg
ICAgIHJlc3VsdHZhciA9IDE4NDQ2NzQ0MDczNzA5NTUxMTAwCiAgICAgICAgc2NfY2FuY2VsX29s
ZHR5cGUgPSAwCiMxICAweDAwMDA3ZmEyMTY2MWJiMTYgaW4gZ19tYWluX2NvbnRleHRfaXRlcmF0
ZS5pc3JhICgpIGF0IC9saWI2NC9saWJnbGliLTIuMC5zby4wCiMyICAweDAwMDA3ZmEyMTY2MWJl
ZDIgaW4gZ19tYWluX2xvb3BfcnVuICgpIGF0IC9saWI2NC9saWJnbGliLTIuMC5zby4wCiMzICAw
eDAwMDA3ZmEyMDZhMDNmMzAgaW4gV1RGOjpSdW5Mb29wOjpydW4oKSAoKQogICAgYXQgL3Vzci9z
cmMvZGVidWcvd2Via2l0Mmd0azMtMi4yMC4wLTIuZmMyOC54ODZfNjQvU291cmNlL1dURi93dGYv
Z2xpYi9SdW5Mb29wR0xpYi5jcHA6OTYKICAgICAgICBydW5Mb29wID0gCiAgICAgICAgICAgIEAw
eDdmYTFmZDVlMjAwMDogezxXVEY6OkZ1bmN0aW9uRGlzcGF0Y2hlcj4gPSB7PFdURjo6VGhyZWFk
U2FmZVJlZkNvdW50ZWQ8V1RGOjpGdW5jdGlvbkRpc3BhdGNoZXI+PiA9IHs8V1RGOjpUaHJlYWRT
YWZlUmVmQ291bnRlZEJhc2U+ID0ge21fcmVmQ291bnQgPSB7PHN0ZDo6X19hdG9taWNfYmFzZTx1
bnNpZ25lZCBpbnQ+PiA9IHtzdGF0aWMgX1NfYWxpZ25tZW50ID0gNCwgX01faSA9IDF9LCA8Tm8g
ZGF0YSBmaWVsZHM+fX0sIDxObyBkYXRhIGZpZWxkcz59LCBfdnB0ci5GdW5jdGlvbkRpc3BhdGNo
ZXIgPSAweDdmYTIwNmM1ODJhOCA8dnRhYmxlIGZvciBXVEY6OlJ1bkxvb3ArMTY+fSwgbV9mdW5j
dGlvblF1ZXVlTG9jayA9IHtzdGF0aWMgaXNIZWxkQml0ID0gMSAnXDAwMScsIHN0YXRpYyBoYXNQ
YXJrZWRCaXQgPSAyICdcMDAyJywgbV9ieXRlID0ge3ZhbHVlID0gezxzdGQ6Ol9fYXRvbWljX2Jh
c2U8dW5zaWduZWQgY2hhcj4+ID0ge3N0YXRpYyBfU19hbGlnbm1lbnQgPSAxLCBfTV9pID0gMCAn
XDAwMCd9LCA8Tm8gZGF0YSBmaWVsZHM+fX19LCBtX2Z1bmN0aW9uUXVldWUgPSB7bV9zdGFydCA9
IDAsIG1fZW5kID0gMCwgbV9idWZmZXIgPSB7PFdURjo6VmVjdG9yQnVmZmVyQmFzZTxXVEY6OkZ1
bmN0aW9uPHZvaWQoKT4sIFdURjo6RmFzdE1hbGxvYz4+ID0ge21fYnVmZmVyID0gMHgwLCBtX2Nh
cGFjaXR5ID0gMCwgbV9zaXplID0gMCwgbV9tYXNrID0gMH0sIDxObyBkYXRhIGZpZWxkcz59fSwg
bV9tYWluQ29udGV4dCA9IHttX3B0ciA9IDB4N2ZhMTk4MDAwYjUwfSwgbV9tYWluTG9vcHMgPSB7
PFdURjo6VmVjdG9yQnVmZmVyPFdURjo6R1JlZlB0cjxfR01haW5Mb29wPiwgMCwgV1RGOjpGYXN0
TWFsbG9jPj4gPSB7PFdURjo6VmVjdG9yQnVmZmVyQmFzZTxXVEY6OkdSZWZQdHI8X0dNYWluTG9v
cD4sIFdURjo6RmFzdE1hbGxvYz4+ID0ge21fYnVmZmVyID0gMHg3ZmExZmQ1ZTEwMDAsIG1fY2Fw
YWNpdHkgPSAxNiwgbV9zaXplID0gMSwgbV9tYXNrID0gMTV9LCA8Tm8gZGF0YSBmaWVsZHM+fSwg
PE5vIGRhdGEgZmllbGRzPn0sIG1fc291cmNlID0ge21fcHRyID0gMHg3ZmExOTgwMDE0YjB9fQog
ICAgICAgIG1haW5Db250ZXh0ID0gMHg3ZmExOTgwMDBiNTAKICAgICAgICBpbm5lcm1vc3RMb29w
ID0gMHg3ZmExOTgwMDE0OTAKICAgICAgICBuZXN0ZWRNYWluTG9vcCA9IDxvcHRpbWl6ZWQgb3V0
PgojNCAgMHgwMDAwN2ZhMjA2OWRiMDdmIGluIF9aTkszV1RGOEZ1bmN0aW9uSUZ2dkVFY2xFdiAo
dGhpcz08c3ludGhldGljIHBvaW50ZXI+KQogICAgYXQgL3Vzci9zcmMvZGVidWcvd2Via2l0Mmd0
azMtMi4yMC4wLTIuZmMyOC54ODZfNjQvU291cmNlL1dURi93dGYvVGhyZWFkaW5nLmNwcDoxMjkK
ICAgICAgICBmdW5jdGlvbiA9IAogICAgICAgICAgICB7bV9jYWxsYWJsZVdyYXBwZXIgPSBzdGQ6
OnVuaXF1ZV9wdHI8V1RGOjpGdW5jdGlvbjx2b2lkKCk+OjpDYWxsYWJsZVdyYXBwZXJCYXNlPiA9
IHtnZXQoKSA9IDB4N2ZhMWZkNWZiMGMwfX0KIzUgIDB4MDAwMDdmYTIwNjlkYjA3ZiBpbiBXVEY6
OlRocmVhZDo6ZW50cnlQb2ludChXVEY6OlRocmVhZDo6TmV3VGhyZWFkQ29udGV4dCopIChuZXdU
aHJlYWRDb250ZXh0PTB4N2ZhMWZkNWY1MGEwKQogICAgYXQgL3Vzci9zcmMvZGVidWcvd2Via2l0
Mmd0azMtMi4yMC4wLTIuZmMyOC54ODZfNjQvU291cmNlL1dURi93dGYvVGhyZWFkaW5nLmNwcDox
MjkKICAgICAgICBmdW5jdGlvbiA9IAogICAgICAgICAgICB7bV9jYWxsYWJsZVdyYXBwZXIgPSBz
dGQ6OnVuaXF1ZV9wdHI8V1RGOjpGdW5jdGlvbjx2b2lkKCk+OjpDYWxsYWJsZVdyYXBwZXJCYXNl
PiA9IHtnZXQoKSA9IDB4N2ZhMWZkNWZiMGMwfX0KIzYgIDB4MDAwMDdmYTIwNmEwMWZmZCBpbiBX
VEY6Ond0ZlRocmVhZEVudHJ5UG9pbnQodm9pZCopIChjb250ZXh0PTxvcHRpbWl6ZWQgb3V0PikK
ICAgIGF0IC91c3Ivc3JjL2RlYnVnL3dlYmtpdDJndGszLTIuMjAuMC0yLmZjMjgueDg2XzY0L1Nv
dXJjZS9XVEYvd3RmL1RocmVhZGluZ1B0aHJlYWRzLmNwcDoyMjMKIzcgIDB4MDAwMDdmYTIyNDg4
YzU2NCBpbiBzdGFydF90aHJlYWQgKGFyZz08b3B0aW1pemVkIG91dD4pIGF0IHB0aHJlYWRfY3Jl
YXRlLmM6NDYzCiAgICAgICAgcGQgPSA8b3B0aW1pemVkIG91dD4KICAgICAgICBub3cgPSAxODQ0
Njc0NDA3MzcwOTU1MTEwMAogICAgICAgIHVud2luZF9idWYgPSAKICAgICAgICAgICAgICB7Y2Fu
Y2VsX2ptcF9idWYgPSB7e2ptcF9idWYgPSB7MTQwMzMyMzM1MzYzODQwLCAtMjU5NTAzNzM4NzM2
NDc3ODU2LCAxNDA3MzI3MDM3MTYwOTQsIDE0MDczMjcwMzcxNjA5NSwgMTQwNzMyNzAzNzE2MjQw
LCAxNDA3MzI3MDM3MTYyNDAsIDIyNjY4NzcxNTIyMTU2Nzg0MCwgMjI1ODIxNzIyMjQ0MjgyNzIw
fSwgbWFza193YXNfc2F2ZWQgPSAwfX0sIHByaXYgPSB7cGFkID0gezB4MCwgMHgwLCAweDAsIDB4
MH0sIGRhdGEgPSB7cHJldiA9IDB4MCwgY2xlYW51cCA9IDB4MCwgY2FuY2VsdHlwZSA9IDB9fX0K
ICAgICAgICBub3RfZmlyc3RfY2FsbCA9IDxvcHRpbWl6ZWQgb3V0PgojOCAgMHgwMDAwN2ZhMjIz
ZTI1MzNmIGluIGNsb25lICgpIGF0IC4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9j
bG9uZS5TOjk1CgpUaHJlYWQgMTQgKFRocmVhZCAweDdmYTFiNWFjMjcwMCAoTFdQIDExNzkyKSk6
CgpUaGlzIGlzIGEgYnVnLCBwbGVhc2UgcmVwb3J0IGl0LiAgRm9yIGluc3RydWN0aW9ucywgc2Vl
Ogo8aHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2dkYi9idWdzLz4uCgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>336396</attachid>
            <date>2018-03-23 11:32:15 -0700</date>
            <delta_ts>2018-03-23 18:18:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-183197-20180323133214.patch</filename>
            <type>text/plain</type>
            <size>21502</size>
            <attacher name="Michael Catanzaro">mcatanzaro</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI5ODc3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDA4ODg5MmRjYWZmM2E0
M2RjMWI1NWNhNzI0ZjMwOTdhZTkyY2ExMC4uOTJjODI2ZWY3ZTkzYjgyN2EyZWNkZGY0OGNiMjc5
ZDhjMmZhZmYxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDc0IEBACisyMDE4LTAzLTIzICBNaWNo
YWVsIENhdGFuemFybyAgPG1jYXRhbnphcm9AaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXSBD
cmFzaCBpbiBXVEY6OmVxdWFsSWdub3JpbmdBU0NJSUNhc2VDb21tb24KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MzE5NworCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyAoT09QUyEpLgor
CisgICAgICAgICogcGxhdGZvcm0vU2NoZW1lUmVnaXN0cnkuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6c2NoZW1lUmVnaXN0cnlMb2NrKToKKyAgICAgICAgKFdlYkNvcmU6OmFsbEJ1aWx0aW5TY2hl
bWVzKToKKyAgICAgICAgKFdlYkNvcmU6OmJ1aWx0aW5Mb2NhbFVSTFNjaGVtZXMpOgorICAgICAg
ICAoV2ViQ29yZTo6bG9jYWxVUkxTY2hlbWVzKToKKyAgICAgICAgKFdlYkNvcmU6OmRpc3BsYXlJ
c29sYXRlZFVSTFNjaGVtZXMpOgorICAgICAgICAoV2ViQ29yZTo6YnVpbHRpblNlY3VyZVNjaGVt
ZXMpOgorICAgICAgICAoV2ViQ29yZTo6c2VjdXJlU2NoZW1lcyk6CisgICAgICAgIChXZWJDb3Jl
OjpidWlsdGluU2NoZW1lc1dpdGhVbmlxdWVPcmlnaW5zKToKKyAgICAgICAgKFdlYkNvcmU6OnNj
aGVtZXNXaXRoVW5pcXVlT3JpZ2lucyk6CisgICAgICAgIChXZWJDb3JlOjpidWlsdGluRW1wdHlE
b2N1bWVudFNjaGVtZXMpOgorICAgICAgICAoV2ViQ29yZTo6ZW1wdHlEb2N1bWVudFNjaGVtZXMp
OgorICAgICAgICAoV2ViQ29yZTo6c2NoZW1lc0ZvcmJpZGRlbkZyb21Eb21haW5SZWxheGF0aW9u
KToKKyAgICAgICAgKFdlYkNvcmU6OmJ1aWx0aW5DYW5EaXNwbGF5T25seUlmQ2FuUmVxdWVzdFNj
aGVtZXMpOgorICAgICAgICAoV2ViQ29yZTo6Y2FuRGlzcGxheU9ubHlJZkNhblJlcXVlc3RTY2hl
bWVzKToKKyAgICAgICAgKFdlYkNvcmU6Om5vdEFsbG93aW5nSmF2YXNjcmlwdFVSTHNTY2hlbWVz
KToKKyAgICAgICAgKFdlYkNvcmU6OlNjaGVtZVJlZ2lzdHJ5OjpyZWdpc3RlclVSTFNjaGVtZUFz
TG9jYWwpOgorICAgICAgICAoV2ViQ29yZTo6U2NoZW1lUmVnaXN0cnk6OnJlbW92ZVVSTFNjaGVt
ZVJlZ2lzdGVyZWRBc0xvY2FsKToKKyAgICAgICAgKFdlYkNvcmU6OnNjaGVtZXNBbGxvd2luZ0xv
Y2FsU3RvcmFnZUFjY2Vzc0luUHJpdmF0ZUJyb3dzaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OnNj
aGVtZXNBbGxvd2luZ0RhdGFiYXNlQWNjZXNzSW5Qcml2YXRlQnJvd3NpbmcpOgorICAgICAgICAo
V2ViQ29yZTo6YnVpbHRpbkNPUlNFbmFibGVkU2NoZW1lcyk6CisgICAgICAgIChXZWJDb3JlOjpD
T1JTRW5hYmxlZFNjaGVtZXMpOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudFNlY3VyaXR5UG9s
aWN5QnlwYXNzaW5nU2NoZW1lcyk6CisgICAgICAgIChXZWJDb3JlOjpjYWNoZVBhcnRpdGlvbmlu
Z1NjaGVtZXMpOgorICAgICAgICAoV2ViQ29yZTo6c2VydmljZVdvcmtlclNjaGVtZXMpOgorICAg
ICAgICAoV2ViQ29yZTo6YWx3YXlzUmV2YWxpZGF0ZWRTY2hlbWVzKToKKyAgICAgICAgKFdlYkNv
cmU6OlNjaGVtZVJlZ2lzdHJ5OjpzaG91bGRUcmVhdFVSTFNjaGVtZUFzTG9jYWwpOgorICAgICAg
ICAoV2ViQ29yZTo6U2NoZW1lUmVnaXN0cnk6OnJlZ2lzdGVyVVJMU2NoZW1lQXNOb0FjY2Vzcyk6
CisgICAgICAgIChXZWJDb3JlOjpTY2hlbWVSZWdpc3RyeTo6c2hvdWxkVHJlYXRVUkxTY2hlbWVB
c05vQWNjZXNzKToKKyAgICAgICAgKFdlYkNvcmU6OlNjaGVtZVJlZ2lzdHJ5OjpyZWdpc3RlclVS
TFNjaGVtZUFzRGlzcGxheUlzb2xhdGVkKToKKyAgICAgICAgKFdlYkNvcmU6OlNjaGVtZVJlZ2lz
dHJ5OjpzaG91bGRUcmVhdFVSTFNjaGVtZUFzRGlzcGxheUlzb2xhdGVkKToKKyAgICAgICAgKFdl
YkNvcmU6OlNjaGVtZVJlZ2lzdHJ5OjpyZWdpc3RlclVSTFNjaGVtZUFzU2VjdXJlKToKKyAgICAg
ICAgKFdlYkNvcmU6OlNjaGVtZVJlZ2lzdHJ5OjpzaG91bGRUcmVhdFVSTFNjaGVtZUFzU2VjdXJl
KToKKyAgICAgICAgKFdlYkNvcmU6OlNjaGVtZVJlZ2lzdHJ5OjpyZWdpc3RlclVSTFNjaGVtZUFz
RW1wdHlEb2N1bWVudCk6CisgICAgICAgIChXZWJDb3JlOjpTY2hlbWVSZWdpc3RyeTo6c2hvdWxk
TG9hZFVSTFNjaGVtZUFzRW1wdHlEb2N1bWVudCk6CisgICAgICAgIChXZWJDb3JlOjpTY2hlbWVS
ZWdpc3RyeTo6c2V0RG9tYWluUmVsYXhhdGlvbkZvcmJpZGRlbkZvclVSTFNjaGVtZSk6CisgICAg
ICAgIChXZWJDb3JlOjpTY2hlbWVSZWdpc3RyeTo6aXNEb21haW5SZWxheGF0aW9uRm9yYmlkZGVu
Rm9yVVJMU2NoZW1lKToKKyAgICAgICAgKFdlYkNvcmU6OlNjaGVtZVJlZ2lzdHJ5OjpjYW5EaXNw
bGF5T25seUlmQ2FuUmVxdWVzdCk6CisgICAgICAgIChXZWJDb3JlOjpTY2hlbWVSZWdpc3RyeTo6
cmVnaXN0ZXJBc0NhbkRpc3BsYXlPbmx5SWZDYW5SZXF1ZXN0KToKKyAgICAgICAgKFdlYkNvcmU6
OlNjaGVtZVJlZ2lzdHJ5OjpyZWdpc3RlclVSTFNjaGVtZUFzTm90QWxsb3dpbmdKYXZhc2NyaXB0
VVJMcyk6CisgICAgICAgIChXZWJDb3JlOjpTY2hlbWVSZWdpc3RyeTo6c2hvdWxkVHJlYXRVUkxT
Y2hlbWVBc05vdEFsbG93aW5nSmF2YXNjcmlwdFVSTHMpOgorICAgICAgICAoV2ViQ29yZTo6U2No
ZW1lUmVnaXN0cnk6OnJlZ2lzdGVyVVJMU2NoZW1lQXNBbGxvd2luZ0xvY2FsU3RvcmFnZUFjY2Vz
c0luUHJpdmF0ZUJyb3dzaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlNjaGVtZVJlZ2lzdHJ5Ojph
bGxvd3NMb2NhbFN0b3JhZ2VBY2Nlc3NJblByaXZhdGVCcm93c2luZyk6CisgICAgICAgIChXZWJD
b3JlOjpTY2hlbWVSZWdpc3RyeTo6cmVnaXN0ZXJVUkxTY2hlbWVBc0FsbG93aW5nRGF0YWJhc2VB
Y2Nlc3NJblByaXZhdGVCcm93c2luZyk6CisgICAgICAgIChXZWJDb3JlOjpTY2hlbWVSZWdpc3Ry
eTo6YWxsb3dzRGF0YWJhc2VBY2Nlc3NJblByaXZhdGVCcm93c2luZyk6CisgICAgICAgIChXZWJD
b3JlOjpTY2hlbWVSZWdpc3RyeTo6cmVnaXN0ZXJVUkxTY2hlbWVBc0NPUlNFbmFibGVkKToKKyAg
ICAgICAgKFdlYkNvcmU6OlNjaGVtZVJlZ2lzdHJ5OjpzaG91bGRUcmVhdFVSTFNjaGVtZUFzQ09S
U0VuYWJsZWQpOgorICAgICAgICAoV2ViQ29yZTo6U2NoZW1lUmVnaXN0cnk6OnJlZ2lzdGVyVVJM
U2NoZW1lQXNCeXBhc3NpbmdDb250ZW50U2VjdXJpdHlQb2xpY3kpOgorICAgICAgICAoV2ViQ29y
ZTo6U2NoZW1lUmVnaXN0cnk6OnJlbW92ZVVSTFNjaGVtZVJlZ2lzdGVyZWRBc0J5cGFzc2luZ0Nv
bnRlbnRTZWN1cml0eVBvbGljeSk6CisgICAgICAgIChXZWJDb3JlOjpTY2hlbWVSZWdpc3RyeTo6
c2NoZW1lU2hvdWxkQnlwYXNzQ29udGVudFNlY3VyaXR5UG9saWN5KToKKyAgICAgICAgKFdlYkNv
cmU6OlNjaGVtZVJlZ2lzdHJ5OjpyZWdpc3RlclVSTFNjaGVtZUFzQWx3YXlzUmV2YWxpZGF0ZWQp
OgorICAgICAgICAoV2ViQ29yZTo6U2NoZW1lUmVnaXN0cnk6OnNob3VsZEFsd2F5c1JldmFsaWRh
dGVVUkxTY2hlbWUpOgorICAgICAgICAoV2ViQ29yZTo6U2NoZW1lUmVnaXN0cnk6OnJlZ2lzdGVy
VVJMU2NoZW1lQXNDYWNoZVBhcnRpdGlvbmVkKToKKyAgICAgICAgKFdlYkNvcmU6OlNjaGVtZVJl
Z2lzdHJ5OjpzaG91bGRQYXJ0aXRpb25DYWNoZUZvclVSTFNjaGVtZSk6CisgICAgICAgIChXZWJD
b3JlOjpTY2hlbWVSZWdpc3RyeTo6cmVnaXN0ZXJVUkxTY2hlbWVTZXJ2aWNlV29ya2Vyc0Nhbkhh
bmRsZSk6CisgICAgICAgIChXZWJDb3JlOjpTY2hlbWVSZWdpc3RyeTo6Y2FuU2VydmljZVdvcmtl
cnNIYW5kbGVVUkxTY2hlbWUpOgorICAgICAgICAoV2ViQ29yZTo6U2NoZW1lUmVnaXN0cnk6Omlz
U2VydmljZVdvcmtlckNvbnRhaW5lckN1c3RvbVNjaGVtZSk6CisgICAgICAgIChXZWJDb3JlOjpT
Y2hlbWVSZWdpc3RyeTo6aXNCdWlsdGluU2NoZW1lKToKKyAgICAgICAgKFdlYkNvcmU6OmxvY2Fs
VVJMU2NoZW1lc0xvY2spOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6c2VjdXJlU2NoZW1l
c0xvY2spOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6c2VydmljZVdvcmtlclNjaGVtZXNM
b2NrKTogRGVsZXRlZC4KKwogMjAxOC0wMy0yMiAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBs
ZS5jb20+CiAKICAgICAgICAgVXNlIGxpYndlYnJ0YyBPYmplY3RpdmVDIEgyNjQgZW5jb2RlciBh
bmQgZGVjb2RlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2NoZW1lUmVn
aXN0cnkuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2NoZW1lUmVnaXN0cnkuY3BwCmlu
ZGV4IDdlNGQ2MTM5M2FmNGM5MmZmMmVmNDQ3YWY5NWJiYmM5ZTYyZWQwOGYuLjJiM2Y2OWE0NjU3
YWI4NTk2NzIzZDgwYmI4Y2E1MjhjODVmMTU0NzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL1NjaGVtZVJlZ2lzdHJ5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9TY2hlbWVSZWdpc3RyeS5jcHAKQEAgLTQzLDYgKzQzLDEyIEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogLy8gRklYTUU6IFVSTFNjaGVtZXNNYXAgaXMgYSBwZWN1bGlhciB0eXBlIG5hbWUgZ2l2
ZW4gdGhhdCBpdCBpcyBhIHNldC4KIAorc3RhdGljIExvY2smIHNjaGVtZVJlZ2lzdHJ5TG9jaygp
Cit7CisgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPExvY2s+IGxvY2s7CisgICAgcmV0dXJuIGxv
Y2s7Cit9CisKIHN0YXRpYyBjb25zdCBVUkxTY2hlbWVzTWFwJiBidWlsdGluTG9jYWxVUkxTY2hl
bWVzKCk7CiBzdGF0aWMgY29uc3QgVmVjdG9yPFN0cmluZz4mIGJ1aWx0aW5TZWN1cmVTY2hlbWVz
KCk7CiBzdGF0aWMgY29uc3QgVmVjdG9yPFN0cmluZz4mIGJ1aWx0aW5TY2hlbWVzV2l0aFVuaXF1
ZU9yaWdpbnMoKTsKQEAgLTY3LDYgKzczLDggQEAgc3RhdGljIE5ldmVyRGVzdHJveWVkPFVSTFNj
aGVtZXNNYXA+IG1ha2VOZXZlckRlc3Ryb3llZFNjaGVtZVNldChjb25zdCBWZWN0b3I8U3QKIAog
c3RhdGljIGNvbnN0IFVSTFNjaGVtZXNNYXAmIGFsbEJ1aWx0aW5TY2hlbWVzKCkKIHsKKyAgICBB
U1NFUlQoc2NoZW1lUmVnaXN0cnlMb2NrKCkuaXNIZWxkKCkpOworCiAgICAgc3RhdGljIGNvbnN0
IGF1dG8gc2NoZW1lcyA9IG1ha2VOZXZlckRlc3Ryb3llZChbXSB7CiAgICAgICAgIHN0YXRpYyBj
b25zdCBTdHJpbmdWZWN0b3JGdW5jdGlvbiBmdW5jdGlvbnNbXSB7CiAgICAgICAgICAgICBidWls
dGluU2VjdXJlU2NoZW1lcywKQEAgLTEwNCw2ICsxMTIsNyBAQCBzdGF0aWMgY29uc3QgVVJMU2No
ZW1lc01hcCYgYWxsQnVpbHRpblNjaGVtZXMoKQogCiBzdGF0aWMgY29uc3QgVVJMU2NoZW1lc01h
cCYgYnVpbHRpbkxvY2FsVVJMU2NoZW1lcygpCiB7CisgICAgQVNTRVJUKHNjaGVtZVJlZ2lzdHJ5
TG9jaygpLmlzSGVsZCgpKTsKICAgICBzdGF0aWMgY29uc3QgYXV0byBzY2hlbWVzID0gbWFrZU5l
dmVyRGVzdHJveWVkKFVSTFNjaGVtZXNNYXAgewogICAgICAgICAiZmlsZSIsCiAjaWYgUExBVEZP
Uk0oQ09DT0EpCkBAIC0xMTMsMjcgKzEyMiwyMyBAQCBzdGF0aWMgY29uc3QgVVJMU2NoZW1lc01h
cCYgYnVpbHRpbkxvY2FsVVJMU2NoZW1lcygpCiAgICAgcmV0dXJuIHNjaGVtZXM7CiB9CiAKLXN0
YXRpYyBMb2NrJiBsb2NhbFVSTFNjaGVtZXNMb2NrKCkKLXsKLSAgICBzdGF0aWMgTmV2ZXJEZXN0
cm95ZWQ8TG9jaz4gbG9jazsKLSAgICByZXR1cm4gbG9jazsKLX0KLQogc3RhdGljIFVSTFNjaGVt
ZXNNYXAmIGxvY2FsVVJMU2NoZW1lcygpCiB7Ci0gICAgQVNTRVJUKGxvY2FsVVJMU2NoZW1lc0xv
Y2soKS5pc0hlbGQoKSk7CisgICAgQVNTRVJUKHNjaGVtZVJlZ2lzdHJ5TG9jaygpLmlzSGVsZCgp
KTsKICAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8VVJMU2NoZW1lc01hcD4gbG9jYWxTY2hlbWVz
ID0gYnVpbHRpbkxvY2FsVVJMU2NoZW1lcygpOwogICAgIHJldHVybiBsb2NhbFNjaGVtZXM7CiB9
CiAKIHN0YXRpYyBVUkxTY2hlbWVzTWFwJiBkaXNwbGF5SXNvbGF0ZWRVUkxTY2hlbWVzKCkKIHsK
KyAgICBBU1NFUlQoc2NoZW1lUmVnaXN0cnlMb2NrKCkuaXNIZWxkKCkpOwogICAgIHN0YXRpYyBO
ZXZlckRlc3Ryb3llZDxVUkxTY2hlbWVzTWFwPiBkaXNwbGF5SXNvbGF0ZWRTY2hlbWVzOwogICAg
IHJldHVybiBkaXNwbGF5SXNvbGF0ZWRTY2hlbWVzOwogfQogCiBjb25zdCBWZWN0b3I8U3RyaW5n
PiYgYnVpbHRpblNlY3VyZVNjaGVtZXMoKQogeworICAgIEFTU0VSVChzY2hlbWVSZWdpc3RyeUxv
Y2soKS5pc0hlbGQoKSk7CiAgICAgc3RhdGljIGNvbnN0IGF1dG8gc2NoZW1lcyA9IG1ha2VOZXZl
ckRlc3Ryb3llZChWZWN0b3I8U3RyaW5nPiB7CiAgICAgICAgICJodHRwcyIsCiAgICAgICAgICJh
Ym91dCIsCkBAIC0xNDYsMjEgKzE1MSwxNiBAQCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgYnVpbHRp
blNlY3VyZVNjaGVtZXMoKQogICAgIHJldHVybiBzY2hlbWVzOwogfQogCi1zdGF0aWMgTG9jayYg
c2VjdXJlU2NoZW1lc0xvY2soKQotewotICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxMb2NrPiBs
b2NrOwotICAgIHJldHVybiBsb2NrOwotfQotCiBzdGF0aWMgVVJMU2NoZW1lc01hcCYgc2VjdXJl
U2NoZW1lcygpCiB7Ci0gICAgQVNTRVJUKHNlY3VyZVNjaGVtZXNMb2NrKCkuaXNIZWxkKCkpOwor
ICAgIEFTU0VSVChzY2hlbWVSZWdpc3RyeUxvY2soKS5pc0hlbGQoKSk7CiAgICAgc3RhdGljIGF1
dG8gc2VjdXJlU2NoZW1lcyA9IG1ha2VOZXZlckRlc3Ryb3llZFNjaGVtZVNldChidWlsdGluU2Vj
dXJlU2NoZW1lcyk7CiAgICAgcmV0dXJuIHNlY3VyZVNjaGVtZXM7CiB9CiAKIGNvbnN0IFZlY3Rv
cjxTdHJpbmc+JiBidWlsdGluU2NoZW1lc1dpdGhVbmlxdWVPcmlnaW5zKCkKIHsKKyAgICBBU1NF
UlQoc2NoZW1lUmVnaXN0cnlMb2NrKCkuaXNIZWxkKCkpOwogICAgIHN0YXRpYyBjb25zdCBhdXRv
IHNjaGVtZXMgPSBtYWtlTmV2ZXJEZXN0cm95ZWQoVmVjdG9yPFN0cmluZz4gewogICAgICAgICAi
YWJvdXQiLAogICAgICAgICAiamF2YXNjcmlwdCIsCkBAIC0xNzMsNDIgKzE3Myw0OSBAQCBjb25z
dCBWZWN0b3I8U3RyaW5nPiYgYnVpbHRpblNjaGVtZXNXaXRoVW5pcXVlT3JpZ2lucygpCiAKIHN0
YXRpYyBVUkxTY2hlbWVzTWFwJiBzY2hlbWVzV2l0aFVuaXF1ZU9yaWdpbnMoKQogeworICAgIEFT
U0VSVChzY2hlbWVSZWdpc3RyeUxvY2soKS5pc0hlbGQoKSk7CiAgICAgc3RhdGljIGF1dG8gc2No
ZW1lc1dpdGhVbmlxdWVPcmlnaW5zID0gbWFrZU5ldmVyRGVzdHJveWVkU2NoZW1lU2V0KGJ1aWx0
aW5TY2hlbWVzV2l0aFVuaXF1ZU9yaWdpbnMpOwogICAgIHJldHVybiBzY2hlbWVzV2l0aFVuaXF1
ZU9yaWdpbnM7CiB9CiAKIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBidWlsdGluRW1wdHlEb2N1bWVu
dFNjaGVtZXMoKQogeworICAgIEFTU0VSVChzY2hlbWVSZWdpc3RyeUxvY2soKS5pc0hlbGQoKSk7
CiAgICAgc3RhdGljIGNvbnN0IGF1dG8gc2NoZW1lcyA9IG1ha2VOZXZlckRlc3Ryb3llZChWZWN0
b3I8U3RyaW5nPiB7ICJhYm91dCIgfSk7CiAgICAgcmV0dXJuIHNjaGVtZXM7CiB9CiAKIHN0YXRp
YyBVUkxTY2hlbWVzTWFwJiBlbXB0eURvY3VtZW50U2NoZW1lcygpCiB7CisgICAgQVNTRVJUKHNj
aGVtZVJlZ2lzdHJ5TG9jaygpLmlzSGVsZCgpKTsKICAgICBzdGF0aWMgYXV0byBlbXB0eURvY3Vt
ZW50U2NoZW1lcyA9IG1ha2VOZXZlckRlc3Ryb3llZFNjaGVtZVNldChidWlsdGluRW1wdHlEb2N1
bWVudFNjaGVtZXMpOwogICAgIHJldHVybiBlbXB0eURvY3VtZW50U2NoZW1lczsKIH0KIAogc3Rh
dGljIFVSTFNjaGVtZXNNYXAmIHNjaGVtZXNGb3JiaWRkZW5Gcm9tRG9tYWluUmVsYXhhdGlvbigp
CiB7CisgICAgQVNTRVJUKHNjaGVtZVJlZ2lzdHJ5TG9jaygpLmlzSGVsZCgpKTsKICAgICBzdGF0
aWMgTmV2ZXJEZXN0cm95ZWQ8VVJMU2NoZW1lc01hcD4gc2NoZW1lczsKICAgICByZXR1cm4gc2No
ZW1lczsKIH0KIAogY29uc3QgVmVjdG9yPFN0cmluZz4mIGJ1aWx0aW5DYW5EaXNwbGF5T25seUlm
Q2FuUmVxdWVzdFNjaGVtZXMoKQogeworICAgIEFTU0VSVChzY2hlbWVSZWdpc3RyeUxvY2soKS5p
c0hlbGQoKSk7CiAgICAgc3RhdGljIGNvbnN0IGF1dG8gc2NoZW1lcyA9IG1ha2VOZXZlckRlc3Ry
b3llZChWZWN0b3I8U3RyaW5nPiB7ICJibG9iIiB9KTsKICAgICByZXR1cm4gc2NoZW1lczsKIH0K
IAogc3RhdGljIFVSTFNjaGVtZXNNYXAmIGNhbkRpc3BsYXlPbmx5SWZDYW5SZXF1ZXN0U2NoZW1l
cygpCiB7CisgICAgQVNTRVJUKHNjaGVtZVJlZ2lzdHJ5TG9jaygpLmlzSGVsZCgpKTsKICAgICBz
dGF0aWMgYXV0byBjYW5EaXNwbGF5T25seUlmQ2FuUmVxdWVzdFNjaGVtZXMgPSBtYWtlTmV2ZXJE
ZXN0cm95ZWRTY2hlbWVTZXQoYnVpbHRpbkNhbkRpc3BsYXlPbmx5SWZDYW5SZXF1ZXN0U2NoZW1l
cyk7CiAgICAgcmV0dXJuIGNhbkRpc3BsYXlPbmx5SWZDYW5SZXF1ZXN0U2NoZW1lczsKIH0KIAog
c3RhdGljIFVSTFNjaGVtZXNNYXAmIG5vdEFsbG93aW5nSmF2YXNjcmlwdFVSTHNTY2hlbWVzKCkK
IHsKKyAgICBBU1NFUlQoc2NoZW1lUmVnaXN0cnlMb2NrKCkuaXNIZWxkKCkpOwogICAgIHN0YXRp
YyBOZXZlckRlc3Ryb3llZDxVUkxTY2hlbWVzTWFwPiBub3RBbGxvd2luZ0phdmFzY3JpcHRVUkxz
U2NoZW1lczsKICAgICByZXR1cm4gbm90QWxsb3dpbmdKYXZhc2NyaXB0VVJMc1NjaGVtZXM7CiB9
CkBAIC0yMTgsMTMgKzIyNSwxMyBAQCB2b2lkIFNjaGVtZVJlZ2lzdHJ5OjpyZWdpc3RlclVSTFNj
aGVtZUFzTG9jYWwoY29uc3QgU3RyaW5nJiBzY2hlbWUpCiAgICAgaWYgKHNjaGVtZS5pc051bGwo
KSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgTG9ja2VyPExvY2s+IGxvY2tlcihsb2NhbFVSTFNj
aGVtZXNMb2NrKCkpOworICAgIExvY2tlcjxMb2NrPiBsb2NrZXIoc2NoZW1lUmVnaXN0cnlMb2Nr
KCkpOwogICAgIGxvY2FsVVJMU2NoZW1lcygpLmFkZChzY2hlbWUpOwogfQogCiB2b2lkIFNjaGVt
ZVJlZ2lzdHJ5OjpyZW1vdmVVUkxTY2hlbWVSZWdpc3RlcmVkQXNMb2NhbChjb25zdCBTdHJpbmcm
IHNjaGVtZSkKIHsKLSAgICBMb2NrZXI8TG9jaz4gbG9ja2VyKGxvY2FsVVJMU2NoZW1lc0xvY2so
KSk7CisgICAgTG9ja2VyPExvY2s+IGxvY2tlcihzY2hlbWVSZWdpc3RyeUxvY2soKSk7CiAgICAg
aWYgKGJ1aWx0aW5Mb2NhbFVSTFNjaGVtZXMoKS5jb250YWlucyhzY2hlbWUpKQogICAgICAgICBy
ZXR1cm47CiAKQEAgLTIzMywyNCArMjQwLDI4IEBAIHZvaWQgU2NoZW1lUmVnaXN0cnk6OnJlbW92
ZVVSTFNjaGVtZVJlZ2lzdGVyZWRBc0xvY2FsKGNvbnN0IFN0cmluZyYgc2NoZW1lKQogCiBzdGF0
aWMgVVJMU2NoZW1lc01hcCYgc2NoZW1lc0FsbG93aW5nTG9jYWxTdG9yYWdlQWNjZXNzSW5Qcml2
YXRlQnJvd3NpbmcoKQogeworICAgIEFTU0VSVChzY2hlbWVSZWdpc3RyeUxvY2soKS5pc0hlbGQo
KSk7CiAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPFVSTFNjaGVtZXNNYXA+IHNjaGVtZXNBbGxv
d2luZ0xvY2FsU3RvcmFnZUFjY2Vzc0luUHJpdmF0ZUJyb3dzaW5nOwogICAgIHJldHVybiBzY2hl
bWVzQWxsb3dpbmdMb2NhbFN0b3JhZ2VBY2Nlc3NJblByaXZhdGVCcm93c2luZzsKIH0KIAogc3Rh
dGljIFVSTFNjaGVtZXNNYXAmIHNjaGVtZXNBbGxvd2luZ0RhdGFiYXNlQWNjZXNzSW5Qcml2YXRl
QnJvd3NpbmcoKQogeworICAgIEFTU0VSVChzY2hlbWVSZWdpc3RyeUxvY2soKS5pc0hlbGQoKSk7
CiAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPFVSTFNjaGVtZXNNYXA+IHNjaGVtZXNBbGxvd2lu
Z0RhdGFiYXNlQWNjZXNzSW5Qcml2YXRlQnJvd3Npbmc7CiAgICAgcmV0dXJuIHNjaGVtZXNBbGxv
d2luZ0RhdGFiYXNlQWNjZXNzSW5Qcml2YXRlQnJvd3Npbmc7CiB9CiAKIGNvbnN0IFZlY3RvcjxT
dHJpbmc+JiBidWlsdGluQ09SU0VuYWJsZWRTY2hlbWVzKCkKIHsKKyAgICBBU1NFUlQoc2NoZW1l
UmVnaXN0cnlMb2NrKCkuaXNIZWxkKCkpOwogICAgIHN0YXRpYyBjb25zdCBhdXRvIHNjaGVtZXMg
PSBtYWtlTmV2ZXJEZXN0cm95ZWQoVmVjdG9yPFN0cmluZz4geyAiaHR0cCIsICJodHRwcyIgfSk7
CiAgICAgcmV0dXJuIHNjaGVtZXM7CiB9CiAKIHN0YXRpYyBVUkxTY2hlbWVzTWFwJiBDT1JTRW5h
YmxlZFNjaGVtZXMoKQogeworICAgIEFTU0VSVChzY2hlbWVSZWdpc3RyeUxvY2soKS5pc0hlbGQo
KSk7CiAgICAgLy8gRklYTUU6IGh0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTc3MTYwCiAgICAgc3RhdGljIGF1dG8gc2NoZW1lcyA9IG1ha2VOZXZlckRlc3Ryb3llZFNjaGVt
ZVNldChidWlsdGluQ09SU0VuYWJsZWRTY2hlbWVzKTsKICAgICByZXR1cm4gc2NoZW1lczsKQEAg
LTI1OCwzMSArMjY5LDI4IEBAIHN0YXRpYyBVUkxTY2hlbWVzTWFwJiBDT1JTRW5hYmxlZFNjaGVt
ZXMoKQogCiBzdGF0aWMgVVJMU2NoZW1lc01hcCYgQ29udGVudFNlY3VyaXR5UG9saWN5QnlwYXNz
aW5nU2NoZW1lcygpCiB7CisgICAgQVNTRVJUKHNjaGVtZVJlZ2lzdHJ5TG9jaygpLmlzSGVsZCgp
KTsKICAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8VVJMU2NoZW1lc01hcD4gc2NoZW1lczsKICAg
ICByZXR1cm4gc2NoZW1lczsKIH0KIAogc3RhdGljIFVSTFNjaGVtZXNNYXAmIGNhY2hlUGFydGl0
aW9uaW5nU2NoZW1lcygpCiB7CisgICAgQVNTRVJUKHNjaGVtZVJlZ2lzdHJ5TG9jaygpLmlzSGVs
ZCgpKTsKICAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8VVJMU2NoZW1lc01hcD4gc2NoZW1lczsK
ICAgICByZXR1cm4gc2NoZW1lczsKIH0KIAotc3RhdGljIExvY2smIHNlcnZpY2VXb3JrZXJTY2hl
bWVzTG9jaygpCi17Ci0gICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPExvY2s+IGxvY2s7Ci0gICAg
cmV0dXJuIGxvY2s7Ci19Ci0KIHN0YXRpYyBVUkxTY2hlbWVzTWFwJiBzZXJ2aWNlV29ya2VyU2No
ZW1lcygpCiB7Ci0gICAgQVNTRVJUKHNlcnZpY2VXb3JrZXJTY2hlbWVzTG9jaygpLmlzSGVsZCgp
KTsKKyAgICBBU1NFUlQoc2NoZW1lUmVnaXN0cnlMb2NrKCkuaXNIZWxkKCkpOwogICAgIHN0YXRp
YyBOZXZlckRlc3Ryb3llZDxVUkxTY2hlbWVzTWFwPiBzY2hlbWVzOwogICAgIHJldHVybiBzY2hl
bWVzOwogfQogCiBzdGF0aWMgVVJMU2NoZW1lc01hcCYgYWx3YXlzUmV2YWxpZGF0ZWRTY2hlbWVz
KCkKIHsKKyAgICBBU1NFUlQoc2NoZW1lUmVnaXN0cnlMb2NrKCkuaXNIZWxkKCkpOwogICAgIHN0
YXRpYyBOZXZlckRlc3Ryb3llZDxVUkxTY2hlbWVzTWFwPiBzY2hlbWVzOwogICAgIHJldHVybiBz
Y2hlbWVzOwogfQpAQCAtMjkyLDcgKzMwMCw3IEBAIGJvb2wgU2NoZW1lUmVnaXN0cnk6OnNob3Vs
ZFRyZWF0VVJMU2NoZW1lQXNMb2NhbChjb25zdCBTdHJpbmcmIHNjaGVtZSkKICAgICBpZiAoc2No
ZW1lLmlzTnVsbCgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBMb2NrZXI8TG9jaz4g
bG9ja2VyKGxvY2FsVVJMU2NoZW1lc0xvY2soKSk7CisgICAgTG9ja2VyPExvY2s+IGxvY2tlcihz
Y2hlbWVSZWdpc3RyeUxvY2soKSk7CiAgICAgcmV0dXJuIGxvY2FsVVJMU2NoZW1lcygpLmNvbnRh
aW5zKHNjaGVtZSk7CiB9CiAKQEAgLTMwMCwyNCArMzA4LDM2IEBAIHZvaWQgU2NoZW1lUmVnaXN0
cnk6OnJlZ2lzdGVyVVJMU2NoZW1lQXNOb0FjY2Vzcyhjb25zdCBTdHJpbmcmIHNjaGVtZSkKIHsK
ICAgICBpZiAoc2NoZW1lLmlzTnVsbCgpKQogICAgICAgICByZXR1cm47CisKKyAgICBMb2NrZXI8
TG9jaz4gbG9ja2VyKHNjaGVtZVJlZ2lzdHJ5TG9jaygpKTsKICAgICBzY2hlbWVzV2l0aFVuaXF1
ZU9yaWdpbnMoKS5hZGQoc2NoZW1lKTsKIH0KIAogYm9vbCBTY2hlbWVSZWdpc3RyeTo6c2hvdWxk
VHJlYXRVUkxTY2hlbWVBc05vQWNjZXNzKGNvbnN0IFN0cmluZyYgc2NoZW1lKQogewotICAgIHJl
dHVybiAhc2NoZW1lLmlzTnVsbCgpICYmIHNjaGVtZXNXaXRoVW5pcXVlT3JpZ2lucygpLmNvbnRh
aW5zKHNjaGVtZSk7CisgICAgaWYgKHNjaGVtZS5pc051bGwoKSkKKyAgICAgICAgcmV0dXJuIGZh
bHNlOworCisgICAgTG9ja2VyPExvY2s+IGxvY2tlcihzY2hlbWVSZWdpc3RyeUxvY2soKSk7Cisg
ICAgcmV0dXJuIHNjaGVtZXNXaXRoVW5pcXVlT3JpZ2lucygpLmNvbnRhaW5zKHNjaGVtZSk7CiB9
CiAKIHZvaWQgU2NoZW1lUmVnaXN0cnk6OnJlZ2lzdGVyVVJMU2NoZW1lQXNEaXNwbGF5SXNvbGF0
ZWQoY29uc3QgU3RyaW5nJiBzY2hlbWUpCiB7CiAgICAgaWYgKHNjaGVtZS5pc051bGwoKSkKICAg
ICAgICAgcmV0dXJuOworCisgICAgTG9ja2VyPExvY2s+IGxvY2tlcihzY2hlbWVSZWdpc3RyeUxv
Y2soKSk7CiAgICAgZGlzcGxheUlzb2xhdGVkVVJMU2NoZW1lcygpLmFkZChzY2hlbWUpOwogfQog
CiBib29sIFNjaGVtZVJlZ2lzdHJ5OjpzaG91bGRUcmVhdFVSTFNjaGVtZUFzRGlzcGxheUlzb2xh
dGVkKGNvbnN0IFN0cmluZyYgc2NoZW1lKQogewotICAgIHJldHVybiAhc2NoZW1lLmlzTnVsbCgp
ICYmIGRpc3BsYXlJc29sYXRlZFVSTFNjaGVtZXMoKS5jb250YWlucyhzY2hlbWUpOworICAgIGlm
IChzY2hlbWUuaXNOdWxsKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIExvY2tlcjxM
b2NrPiBsb2NrZXIoc2NoZW1lUmVnaXN0cnlMb2NrKCkpOworICAgIHJldHVybiBkaXNwbGF5SXNv
bGF0ZWRVUkxTY2hlbWVzKCkuY29udGFpbnMoc2NoZW1lKTsKIH0KIAogdm9pZCBTY2hlbWVSZWdp
c3RyeTo6cmVnaXN0ZXJVUkxTY2hlbWVBc1NlY3VyZShjb25zdCBTdHJpbmcmIHNjaGVtZSkKQEAg
LTMyNSw3ICszNDUsNyBAQCB2b2lkIFNjaGVtZVJlZ2lzdHJ5OjpyZWdpc3RlclVSTFNjaGVtZUFz
U2VjdXJlKGNvbnN0IFN0cmluZyYgc2NoZW1lKQogICAgIGlmIChzY2hlbWUuaXNOdWxsKCkpCiAg
ICAgICAgIHJldHVybjsKIAotICAgIExvY2tlcjxMb2NrPiBsb2NrZXIoc2VjdXJlU2NoZW1lc0xv
Y2soKSk7CisgICAgTG9ja2VyPExvY2s+IGxvY2tlcihzY2hlbWVSZWdpc3RyeUxvY2soKSk7CiAg
ICAgc2VjdXJlU2NoZW1lcygpLmFkZChzY2hlbWUpOwogfQogCkBAIC0zMzQsNyArMzU0LDcgQEAg
Ym9vbCBTY2hlbWVSZWdpc3RyeTo6c2hvdWxkVHJlYXRVUkxTY2hlbWVBc1NlY3VyZShjb25zdCBT
dHJpbmcmIHNjaGVtZSkKICAgICBpZiAoc2NoZW1lLmlzTnVsbCgpKQogICAgICAgICByZXR1cm4g
ZmFsc2U7CiAKLSAgICBMb2NrZXI8TG9jaz4gbG9ja2VyKHNlY3VyZVNjaGVtZXNMb2NrKCkpOwor
ICAgIExvY2tlcjxMb2NrPiBsb2NrZXIoc2NoZW1lUmVnaXN0cnlMb2NrKCkpOwogICAgIHJldHVy
biBzZWN1cmVTY2hlbWVzKCkuY29udGFpbnMoc2NoZW1lKTsKIH0KIApAQCAtMzQyLDEyICszNjIs
MTggQEAgdm9pZCBTY2hlbWVSZWdpc3RyeTo6cmVnaXN0ZXJVUkxTY2hlbWVBc0VtcHR5RG9jdW1l
bnQoY29uc3QgU3RyaW5nJiBzY2hlbWUpCiB7CiAgICAgaWYgKHNjaGVtZS5pc051bGwoKSkKICAg
ICAgICAgcmV0dXJuOworCisgICAgTG9ja2VyPExvY2s+IGxvY2tlcihzY2hlbWVSZWdpc3RyeUxv
Y2soKSk7CiAgICAgZW1wdHlEb2N1bWVudFNjaGVtZXMoKS5hZGQoc2NoZW1lKTsKIH0KIAogYm9v
bCBTY2hlbWVSZWdpc3RyeTo6c2hvdWxkTG9hZFVSTFNjaGVtZUFzRW1wdHlEb2N1bWVudChjb25z
dCBTdHJpbmcmIHNjaGVtZSkKIHsKLSAgICByZXR1cm4gIXNjaGVtZS5pc051bGwoKSAmJiBlbXB0
eURvY3VtZW50U2NoZW1lcygpLmNvbnRhaW5zKHNjaGVtZSk7CisgICAgaWYgKHNjaGVtZS5pc051
bGwoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgTG9ja2VyPExvY2s+IGxvY2tlcihz
Y2hlbWVSZWdpc3RyeUxvY2soKSk7CisgICAgcmV0dXJuIGVtcHR5RG9jdW1lbnRTY2hlbWVzKCku
Y29udGFpbnMoc2NoZW1lKTsKIH0KIAogdm9pZCBTY2hlbWVSZWdpc3RyeTo6c2V0RG9tYWluUmVs
YXhhdGlvbkZvcmJpZGRlbkZvclVSTFNjaGVtZShib29sIGZvcmJpZGRlbiwgY29uc3QgU3RyaW5n
JiBzY2hlbWUpCkBAIC0zNTUsNiArMzgxLDcgQEAgdm9pZCBTY2hlbWVSZWdpc3RyeTo6c2V0RG9t
YWluUmVsYXhhdGlvbkZvcmJpZGRlbkZvclVSTFNjaGVtZShib29sIGZvcmJpZGRlbiwgY28KICAg
ICBpZiAoc2NoZW1lLmlzTnVsbCgpKQogICAgICAgICByZXR1cm47CiAKKyAgICBMb2NrZXI8TG9j
az4gbG9ja2VyKHNjaGVtZVJlZ2lzdHJ5TG9jaygpKTsKICAgICBpZiAoZm9yYmlkZGVuKQogICAg
ICAgICBzY2hlbWVzRm9yYmlkZGVuRnJvbURvbWFpblJlbGF4YXRpb24oKS5hZGQoc2NoZW1lKTsK
ICAgICBlbHNlCkBAIC0zNjMsMTggKzM5MCwyOCBAQCB2b2lkIFNjaGVtZVJlZ2lzdHJ5OjpzZXRE
b21haW5SZWxheGF0aW9uRm9yYmlkZGVuRm9yVVJMU2NoZW1lKGJvb2wgZm9yYmlkZGVuLCBjbwog
CiBib29sIFNjaGVtZVJlZ2lzdHJ5Ojppc0RvbWFpblJlbGF4YXRpb25Gb3JiaWRkZW5Gb3JVUkxT
Y2hlbWUoY29uc3QgU3RyaW5nJiBzY2hlbWUpCiB7Ci0gICAgcmV0dXJuICFzY2hlbWUuaXNOdWxs
KCkgJiYgc2NoZW1lc0ZvcmJpZGRlbkZyb21Eb21haW5SZWxheGF0aW9uKCkuY29udGFpbnMoc2No
ZW1lKTsKKyAgICBpZiAoc2NoZW1lLmlzTnVsbCgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisK
KyAgICBMb2NrZXI8TG9jaz4gbG9ja2VyKHNjaGVtZVJlZ2lzdHJ5TG9jaygpKTsKKyAgICByZXR1
cm4gc2NoZW1lc0ZvcmJpZGRlbkZyb21Eb21haW5SZWxheGF0aW9uKCkuY29udGFpbnMoc2NoZW1l
KTsKIH0KIAogYm9vbCBTY2hlbWVSZWdpc3RyeTo6Y2FuRGlzcGxheU9ubHlJZkNhblJlcXVlc3Qo
Y29uc3QgU3RyaW5nJiBzY2hlbWUpCiB7Ci0gICAgcmV0dXJuICFzY2hlbWUuaXNOdWxsKCkgJiYg
Y2FuRGlzcGxheU9ubHlJZkNhblJlcXVlc3RTY2hlbWVzKCkuY29udGFpbnMoc2NoZW1lKTsKKyAg
ICBpZiAoc2NoZW1lLmlzTnVsbCgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBMb2Nr
ZXI8TG9jaz4gbG9ja2VyKHNjaGVtZVJlZ2lzdHJ5TG9jaygpKTsKKyAgICByZXR1cm4gY2FuRGlz
cGxheU9ubHlJZkNhblJlcXVlc3RTY2hlbWVzKCkuY29udGFpbnMoc2NoZW1lKTsKIH0KIAogdm9p
ZCBTY2hlbWVSZWdpc3RyeTo6cmVnaXN0ZXJBc0NhbkRpc3BsYXlPbmx5SWZDYW5SZXF1ZXN0KGNv
bnN0IFN0cmluZyYgc2NoZW1lKQogewogICAgIGlmIChzY2hlbWUuaXNOdWxsKCkpCiAgICAgICAg
IHJldHVybjsKKworICAgIExvY2tlcjxMb2NrPiBsb2NrZXIoc2NoZW1lUmVnaXN0cnlMb2NrKCkp
OwogICAgIGNhbkRpc3BsYXlPbmx5SWZDYW5SZXF1ZXN0U2NoZW1lcygpLmFkZChzY2hlbWUpOwog
fQogCkBAIC0zODIsNTQgKzQxOSw4MCBAQCB2b2lkIFNjaGVtZVJlZ2lzdHJ5OjpyZWdpc3RlclVS
TFNjaGVtZUFzTm90QWxsb3dpbmdKYXZhc2NyaXB0VVJMcyhjb25zdCBTdHJpbmcmCiB7CiAgICAg
aWYgKHNjaGVtZS5pc051bGwoKSkKICAgICAgICAgcmV0dXJuOworCisgICAgTG9ja2VyPExvY2s+
IGxvY2tlcihzY2hlbWVSZWdpc3RyeUxvY2soKSk7CiAgICAgbm90QWxsb3dpbmdKYXZhc2NyaXB0
VVJMc1NjaGVtZXMoKS5hZGQoc2NoZW1lKTsKIH0KIAogYm9vbCBTY2hlbWVSZWdpc3RyeTo6c2hv
dWxkVHJlYXRVUkxTY2hlbWVBc05vdEFsbG93aW5nSmF2YXNjcmlwdFVSTHMoY29uc3QgU3RyaW5n
JiBzY2hlbWUpCiB7Ci0gICAgcmV0dXJuICFzY2hlbWUuaXNOdWxsKCkgJiYgbm90QWxsb3dpbmdK
YXZhc2NyaXB0VVJMc1NjaGVtZXMoKS5jb250YWlucyhzY2hlbWUpOworICAgIGlmIChzY2hlbWUu
aXNOdWxsKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIExvY2tlcjxMb2NrPiBsb2Nr
ZXIoc2NoZW1lUmVnaXN0cnlMb2NrKCkpOworICAgIHJldHVybiBub3RBbGxvd2luZ0phdmFzY3Jp
cHRVUkxzU2NoZW1lcygpLmNvbnRhaW5zKHNjaGVtZSk7CiB9CiAKIHZvaWQgU2NoZW1lUmVnaXN0
cnk6OnJlZ2lzdGVyVVJMU2NoZW1lQXNBbGxvd2luZ0xvY2FsU3RvcmFnZUFjY2Vzc0luUHJpdmF0
ZUJyb3dzaW5nKGNvbnN0IFN0cmluZyYgc2NoZW1lKQogewogICAgIGlmIChzY2hlbWUuaXNOdWxs
KCkpCiAgICAgICAgIHJldHVybjsKKworICAgIExvY2tlcjxMb2NrPiBsb2NrZXIoc2NoZW1lUmVn
aXN0cnlMb2NrKCkpOwogICAgIHNjaGVtZXNBbGxvd2luZ0xvY2FsU3RvcmFnZUFjY2Vzc0luUHJp
dmF0ZUJyb3dzaW5nKCkuYWRkKHNjaGVtZSk7CiB9CiAKIGJvb2wgU2NoZW1lUmVnaXN0cnk6OmFs
bG93c0xvY2FsU3RvcmFnZUFjY2Vzc0luUHJpdmF0ZUJyb3dzaW5nKGNvbnN0IFN0cmluZyYgc2No
ZW1lKQogewotICAgIHJldHVybiAhc2NoZW1lLmlzTnVsbCgpICYmIHNjaGVtZXNBbGxvd2luZ0xv
Y2FsU3RvcmFnZUFjY2Vzc0luUHJpdmF0ZUJyb3dzaW5nKCkuY29udGFpbnMoc2NoZW1lKTsKKyAg
ICBpZiAoc2NoZW1lLmlzTnVsbCgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBMb2Nr
ZXI8TG9jaz4gbG9ja2VyKHNjaGVtZVJlZ2lzdHJ5TG9jaygpKTsKKyAgICByZXR1cm4gc2NoZW1l
c0FsbG93aW5nTG9jYWxTdG9yYWdlQWNjZXNzSW5Qcml2YXRlQnJvd3NpbmcoKS5jb250YWlucyhz
Y2hlbWUpOwogfQogCiB2b2lkIFNjaGVtZVJlZ2lzdHJ5OjpyZWdpc3RlclVSTFNjaGVtZUFzQWxs
b3dpbmdEYXRhYmFzZUFjY2Vzc0luUHJpdmF0ZUJyb3dzaW5nKGNvbnN0IFN0cmluZyYgc2NoZW1l
KQogewogICAgIGlmIChzY2hlbWUuaXNOdWxsKCkpCiAgICAgICAgIHJldHVybjsKKworICAgIExv
Y2tlcjxMb2NrPiBsb2NrZXIoc2NoZW1lUmVnaXN0cnlMb2NrKCkpOwogICAgIHNjaGVtZXNBbGxv
d2luZ0RhdGFiYXNlQWNjZXNzSW5Qcml2YXRlQnJvd3NpbmcoKS5hZGQoc2NoZW1lKTsKIH0KIAog
Ym9vbCBTY2hlbWVSZWdpc3RyeTo6YWxsb3dzRGF0YWJhc2VBY2Nlc3NJblByaXZhdGVCcm93c2lu
Zyhjb25zdCBTdHJpbmcmIHNjaGVtZSkKIHsKLSAgICByZXR1cm4gIXNjaGVtZS5pc051bGwoKSAm
JiBzY2hlbWVzQWxsb3dpbmdEYXRhYmFzZUFjY2Vzc0luUHJpdmF0ZUJyb3dzaW5nKCkuY29udGFp
bnMoc2NoZW1lKTsKKyAgICBpZiAoc2NoZW1lLmlzTnVsbCgpKQorICAgICAgICByZXR1cm4gZmFs
c2U7CisKKyAgICBMb2NrZXI8TG9jaz4gbG9ja2VyKHNjaGVtZVJlZ2lzdHJ5TG9jaygpKTsKKyAg
ICByZXR1cm4gc2NoZW1lc0FsbG93aW5nRGF0YWJhc2VBY2Nlc3NJblByaXZhdGVCcm93c2luZygp
LmNvbnRhaW5zKHNjaGVtZSk7CiB9CiAKIHZvaWQgU2NoZW1lUmVnaXN0cnk6OnJlZ2lzdGVyVVJM
U2NoZW1lQXNDT1JTRW5hYmxlZChjb25zdCBTdHJpbmcmIHNjaGVtZSkKIHsKICAgICBpZiAoc2No
ZW1lLmlzTnVsbCgpKQogICAgICAgICByZXR1cm47CisKKyAgICBMb2NrZXI8TG9jaz4gbG9ja2Vy
KHNjaGVtZVJlZ2lzdHJ5TG9jaygpKTsKICAgICBDT1JTRW5hYmxlZFNjaGVtZXMoKS5hZGQoc2No
ZW1lKTsKIH0KIAogYm9vbCBTY2hlbWVSZWdpc3RyeTo6c2hvdWxkVHJlYXRVUkxTY2hlbWVBc0NP
UlNFbmFibGVkKGNvbnN0IFN0cmluZyYgc2NoZW1lKQogewotICAgIHJldHVybiAhc2NoZW1lLmlz
TnVsbCgpICYmIENPUlNFbmFibGVkU2NoZW1lcygpLmNvbnRhaW5zKHNjaGVtZSk7CisgICAgaWYg
KHNjaGVtZS5pc051bGwoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgTG9ja2VyPExv
Y2s+IGxvY2tlcihzY2hlbWVSZWdpc3RyeUxvY2soKSk7CisgICAgcmV0dXJuIENPUlNFbmFibGVk
U2NoZW1lcygpLmNvbnRhaW5zKHNjaGVtZSk7CiB9CiAKIHZvaWQgU2NoZW1lUmVnaXN0cnk6OnJl
Z2lzdGVyVVJMU2NoZW1lQXNCeXBhc3NpbmdDb250ZW50U2VjdXJpdHlQb2xpY3koY29uc3QgU3Ry
aW5nJiBzY2hlbWUpCiB7CiAgICAgaWYgKHNjaGVtZS5pc051bGwoKSkKICAgICAgICAgcmV0dXJu
OworCisgICAgTG9ja2VyPExvY2s+IGxvY2tlcihzY2hlbWVSZWdpc3RyeUxvY2soKSk7CiAgICAg
Q29udGVudFNlY3VyaXR5UG9saWN5QnlwYXNzaW5nU2NoZW1lcygpLmFkZChzY2hlbWUpOwogfQog
CkBAIC00MzcsMzYgKzUwMCw1NCBAQCB2b2lkIFNjaGVtZVJlZ2lzdHJ5OjpyZW1vdmVVUkxTY2hl
bWVSZWdpc3RlcmVkQXNCeXBhc3NpbmdDb250ZW50U2VjdXJpdHlQb2xpY3koYwogewogICAgIGlm
IChzY2hlbWUuaXNOdWxsKCkpCiAgICAgICAgIHJldHVybjsKKworICAgIExvY2tlcjxMb2NrPiBs
b2NrZXIoc2NoZW1lUmVnaXN0cnlMb2NrKCkpOwogICAgIENvbnRlbnRTZWN1cml0eVBvbGljeUJ5
cGFzc2luZ1NjaGVtZXMoKS5yZW1vdmUoc2NoZW1lKTsKIH0KIAogYm9vbCBTY2hlbWVSZWdpc3Ry
eTo6c2NoZW1lU2hvdWxkQnlwYXNzQ29udGVudFNlY3VyaXR5UG9saWN5KGNvbnN0IFN0cmluZyYg
c2NoZW1lKQogewotICAgIHJldHVybiAhc2NoZW1lLmlzTnVsbCgpICYmIENvbnRlbnRTZWN1cml0
eVBvbGljeUJ5cGFzc2luZ1NjaGVtZXMoKS5jb250YWlucyhzY2hlbWUpOworICAgIGlmIChzY2hl
bWUuaXNOdWxsKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIExvY2tlcjxMb2NrPiBs
b2NrZXIoc2NoZW1lUmVnaXN0cnlMb2NrKCkpOworICAgIHJldHVybiBDb250ZW50U2VjdXJpdHlQ
b2xpY3lCeXBhc3NpbmdTY2hlbWVzKCkuY29udGFpbnMoc2NoZW1lKTsKIH0KIAogdm9pZCBTY2hl
bWVSZWdpc3RyeTo6cmVnaXN0ZXJVUkxTY2hlbWVBc0Fsd2F5c1JldmFsaWRhdGVkKGNvbnN0IFN0
cmluZyYgc2NoZW1lKQogewogICAgIGlmIChzY2hlbWUuaXNOdWxsKCkpCiAgICAgICAgIHJldHVy
bjsKKworICAgIExvY2tlcjxMb2NrPiBsb2NrZXIoc2NoZW1lUmVnaXN0cnlMb2NrKCkpOwogICAg
IGFsd2F5c1JldmFsaWRhdGVkU2NoZW1lcygpLmFkZChzY2hlbWUpOwogfQogCiBib29sIFNjaGVt
ZVJlZ2lzdHJ5OjpzaG91bGRBbHdheXNSZXZhbGlkYXRlVVJMU2NoZW1lKGNvbnN0IFN0cmluZyYg
c2NoZW1lKQogewotICAgIHJldHVybiAhc2NoZW1lLmlzTnVsbCgpICYmIGFsd2F5c1JldmFsaWRh
dGVkU2NoZW1lcygpLmNvbnRhaW5zKHNjaGVtZSk7CisgICAgaWYgKHNjaGVtZS5pc051bGwoKSkK
KyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgTG9ja2VyPExvY2s+IGxvY2tlcihzY2hlbWVS
ZWdpc3RyeUxvY2soKSk7CisgICAgcmV0dXJuIGFsd2F5c1JldmFsaWRhdGVkU2NoZW1lcygpLmNv
bnRhaW5zKHNjaGVtZSk7CiB9CiAKIHZvaWQgU2NoZW1lUmVnaXN0cnk6OnJlZ2lzdGVyVVJMU2No
ZW1lQXNDYWNoZVBhcnRpdGlvbmVkKGNvbnN0IFN0cmluZyYgc2NoZW1lKQogewogICAgIGlmIChz
Y2hlbWUuaXNOdWxsKCkpCiAgICAgICAgIHJldHVybjsKKworICAgIExvY2tlcjxMb2NrPiBsb2Nr
ZXIoc2NoZW1lUmVnaXN0cnlMb2NrKCkpOwogICAgIGNhY2hlUGFydGl0aW9uaW5nU2NoZW1lcygp
LmFkZChzY2hlbWUpOwogfQogCiBib29sIFNjaGVtZVJlZ2lzdHJ5OjpzaG91bGRQYXJ0aXRpb25D
YWNoZUZvclVSTFNjaGVtZShjb25zdCBTdHJpbmcmIHNjaGVtZSkKIHsKLSAgICByZXR1cm4gIXNj
aGVtZS5pc051bGwoKSAmJiBjYWNoZVBhcnRpdGlvbmluZ1NjaGVtZXMoKS5jb250YWlucyhzY2hl
bWUpOworICAgIGlmIChzY2hlbWUuaXNOdWxsKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKwor
ICAgIExvY2tlcjxMb2NrPiBsb2NrZXIoc2NoZW1lUmVnaXN0cnlMb2NrKCkpOworICAgIHJldHVy
biBjYWNoZVBhcnRpdGlvbmluZ1NjaGVtZXMoKS5jb250YWlucyhzY2hlbWUpOwogfQogCiB2b2lk
IFNjaGVtZVJlZ2lzdHJ5OjpyZWdpc3RlclVSTFNjaGVtZVNlcnZpY2VXb3JrZXJzQ2FuSGFuZGxl
KGNvbnN0IFN0cmluZyYgc2NoZW1lKQpAQCAtNDc0LDcgKzU1NSw3IEBAIHZvaWQgU2NoZW1lUmVn
aXN0cnk6OnJlZ2lzdGVyVVJMU2NoZW1lU2VydmljZVdvcmtlcnNDYW5IYW5kbGUoY29uc3QgU3Ry
aW5nJiBzY2hlCiAgICAgaWYgKHNjaGVtZS5pc051bGwoKSkKICAgICAgICAgcmV0dXJuOwogCi0g
ICAgTG9ja2VyPExvY2s+IGxvY2tlcihzZXJ2aWNlV29ya2VyU2NoZW1lc0xvY2soKSk7CisgICAg
TG9ja2VyPExvY2s+IGxvY2tlcihzY2hlbWVSZWdpc3RyeUxvY2soKSk7CiAgICAgc2VydmljZVdv
cmtlclNjaGVtZXMoKS5hZGQoc2NoZW1lKTsKIH0KIApAQCAtNDkwLDE0ICs1NzEsMTcgQEAgYm9v
bCBTY2hlbWVSZWdpc3RyeTo6Y2FuU2VydmljZVdvcmtlcnNIYW5kbGVVUkxTY2hlbWUoY29uc3Qg
U3RyaW5nJiBzY2hlbWUpCiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAKLSAgICBM
b2NrZXI8TG9jaz4gbG9ja2VyKHNlcnZpY2VXb3JrZXJTY2hlbWVzTG9jaygpKTsKKyAgICBMb2Nr
ZXI8TG9jaz4gbG9ja2VyKHNjaGVtZVJlZ2lzdHJ5TG9jaygpKTsKICAgICByZXR1cm4gc2Vydmlj
ZVdvcmtlclNjaGVtZXMoKS5jb250YWlucyhzY2hlbWUpOwogfQogCiBib29sIFNjaGVtZVJlZ2lz
dHJ5Ojppc1NlcnZpY2VXb3JrZXJDb250YWluZXJDdXN0b21TY2hlbWUoY29uc3QgU3RyaW5nJiBz
Y2hlbWUpCiB7Ci0gICAgTG9ja2VyPExvY2s+IGxvY2tlcihzZXJ2aWNlV29ya2VyU2NoZW1lc0xv
Y2soKSk7Ci0gICAgcmV0dXJuICFzY2hlbWUuaXNOdWxsKCkgJiYgc2VydmljZVdvcmtlclNjaGVt
ZXMoKS5jb250YWlucyhzY2hlbWUpOworICAgIGlmIChzY2hlbWUuaXNOdWxsKCkpCisgICAgICAg
IHJldHVybiBmYWxzZTsKKworICAgIExvY2tlcjxMb2NrPiBsb2NrZXIoc2NoZW1lUmVnaXN0cnlM
b2NrKCkpOworICAgIHJldHVybiBzZXJ2aWNlV29ya2VyU2NoZW1lcygpLmNvbnRhaW5zKHNjaGVt
ZSk7CiB9CiAKIGJvb2wgU2NoZW1lUmVnaXN0cnk6OmlzVXNlckV4dGVuc2lvblNjaGVtZShjb25z
dCBTdHJpbmcmIHNjaGVtZSkKQEAgLTUxMyw3ICs1OTcsMTQgQEAgYm9vbCBTY2hlbWVSZWdpc3Ry
eTo6aXNVc2VyRXh0ZW5zaW9uU2NoZW1lKGNvbnN0IFN0cmluZyYgc2NoZW1lKQogCiBib29sIFNj
aGVtZVJlZ2lzdHJ5Ojppc0J1aWx0aW5TY2hlbWUoY29uc3QgU3RyaW5nJiBzY2hlbWUpCiB7Ci0g
ICAgcmV0dXJuICFzY2hlbWUuaXNOdWxsKCkgJiYgKGFsbEJ1aWx0aW5TY2hlbWVzKCkuY29udGFp
bnMoc2NoZW1lKSB8fCBVUkxQYXJzZXI6OmlzU3BlY2lhbFNjaGVtZShzY2hlbWUpKTsKKyAgICBp
ZiAoc2NoZW1lLmlzTnVsbCgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBpZiAoVVJM
UGFyc2VyOjppc1NwZWNpYWxTY2hlbWUoc2NoZW1lKSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisK
KyAgICBMb2NrZXI8TG9jaz4gbG9ja2VyKHNjaGVtZVJlZ2lzdHJ5TG9jaygpKTsKKyAgICByZXR1
cm4gYWxsQnVpbHRpblNjaGVtZXMoKS5jb250YWlucyhzY2hlbWUpOwogfQogCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>336450</attachid>
            <date>2018-03-23 18:18:39 -0700</date>
            <delta_ts>2018-03-23 18:18:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-183197-20180323201838.patch</filename>
            <type>text/plain</type>
            <size>10329</size>
            <attacher name="Michael Catanzaro">mcatanzaro</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI5ODc3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDA4ODg5MmRjYWZmM2E0
M2RjMWI1NWNhNzI0ZjMwOTdhZTkyY2ExMC4uNTZiMGFiNDAyY2FjOTliYTY1MjU4MDlmOWZiN2Vk
MjllZDk3OWYwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDE4LTAzLTIzICBNaWNo
YWVsIENhdGFuemFybyAgPG1jYXRhbnphcm9AaWdhbGlhLmNvbT4KKworICAgICAgICBBbm90aGVy
IGNyYXNoIGluIFNlY3VyaXR5T3JpZ2luOjpzaG91bGRUcmVhdEFzUG90ZW50aWFsbHlUcnVzdHdv
cnRoeQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgz
MTk3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8g
bmV3IHRlc3RzIChPT1BTISkuCisKKyAgICAgICAgKiBwYWdlL1NlY3VyaXR5T3JpZ2luLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OnNob3VsZFRyZWF0QXNVbmlxdWVPcmlnaW4pOgorICAgICAgICAo
V2ViQ29yZTo6c2hvdWxkVHJlYXRBc1BvdGVudGlhbGx5VHJ1c3R3b3J0aHkpOgorICAgICAgICAo
V2ViQ29yZTo6U2VjdXJpdHlPcmlnaW46OmNhbkRpc3BsYXkgY29uc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6U2VjdXJpdHlPcmlnaW46OmRvbWFpbkZvckNhY2hlUGFydGl0aW9uIGNvbnN0KToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9TY2hlbWVSZWdpc3RyeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjps
b2NhbFVSTFNjaGVtZXNMb2NrKToKKyAgICAgICAgKFdlYkNvcmU6OnNlY3VyZVNjaGVtZXNMb2Nr
KToKKyAgICAgICAgKFdlYkNvcmU6OmFkZElzb2xhdGVkQ29waWVzKToKKyAgICAgICAgKFdlYkNv
cmU6OmFsbEJ1aWx0aW5TY2hlbWVzKToKKyAgICAgICAgKFdlYkNvcmU6OmJ1aWx0aW5Mb2NhbFVS
TFNjaGVtZXMpOgorICAgICAgICAoV2ViQ29yZTo6YnVpbHRpblNlY3VyZVNjaGVtZXMpOgorICAg
ICAgICAoV2ViQ29yZTo6U2NoZW1lUmVnaXN0cnk6OnJlZ2lzdGVyVVJMU2NoZW1lQXNMb2NhbCk6
CisgICAgICAgIChXZWJDb3JlOjpTY2hlbWVSZWdpc3RyeTo6cmVnaXN0ZXJVUkxTY2hlbWVBc1Nl
Y3VyZSk6CisgICAgICAgIChXZWJDb3JlOjpTY2hlbWVSZWdpc3RyeTo6cmVnaXN0ZXJVUkxTY2hl
bWVTZXJ2aWNlV29ya2Vyc0NhbkhhbmRsZSk6CisgICAgICAgIChXZWJDb3JlOjpTY2hlbWVSZWdp
c3RyeTo6aXNTZXJ2aWNlV29ya2VyQ29udGFpbmVyQ3VzdG9tU2NoZW1lKToKKyAgICAgICAgKiBw
bGF0Zm9ybS9TY2hlbWVSZWdpc3RyeS5oOgorCiAyMDE4LTAzLTIyICBZb3Vlbm4gRmFibGV0ICA8
eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBVc2UgbGlid2VicnRjIE9iamVjdGl2ZUMgSDI2
NCBlbmNvZGVyIGFuZCBkZWNvZGVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Nl
Y3VyaXR5T3JpZ2luLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2VjdXJpdHlPcmlnaW4uY3Bw
CmluZGV4IDZkMjMwYjljMzgwMjc2NjlkNThmOTRkOGYzMmQ4M2U0MzkzZGQ5ZTIuLjg3NDE4N2Nm
YWUyMzA4YTY4NDE1ZjQ5NTVjNTYzNzIwY2ZiNzFiZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvU2VjdXJpdHlPcmlnaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2Vj
dXJpdHlPcmlnaW4uY3BwCkBAIC05Miw2ICs5Miw3IEBAIHN0YXRpYyBib29sIHNob3VsZFRyZWF0
QXNVbmlxdWVPcmlnaW4oY29uc3QgVVJMJiB1cmwpCiAgICAgaWYgKHNjaGVtZVJlcXVpcmVzSG9z
dChpbm5lclVSTCkgJiYgaW5uZXJVUkwuaG9zdCgpLmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJu
IHRydWU7CiAKKyAgICAvLyBGSVhNRTogVGhpcyBpcyBub3QgdGhyZWFkc2FmZS4KICAgICBpZiAo
U2NoZW1lUmVnaXN0cnk6OnNob3VsZFRyZWF0VVJMU2NoZW1lQXNOb0FjY2Vzcyhpbm5lclVSTC5w
cm90b2NvbCgpLnRvU3RyaW5nV2l0aG91dENvcHlpbmcoKSkpCiAgICAgICAgIHJldHVybiB0cnVl
OwogCkBAIC0xMjMsMTAgKzEyNCw2IEBAIHN0YXRpYyBib29sIGlzTG9vcGJhY2tJUEFkZHJlc3Mo
Y29uc3QgU3RyaW5nJiBob3N0KQogLy8gaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3dlYmFwcHNlYy1z
ZWN1cmUtY29udGV4dHMvI2lzLW9yaWdpbi10cnVzdHdvcnRoeSAoRWRpdG9yJ3MgRHJhZnQsIDE3
IE5vdmVtYmVyIDIwMTYpCiBzdGF0aWMgYm9vbCBzaG91bGRUcmVhdEFzUG90ZW50aWFsbHlUcnVz
dHdvcnRoeShjb25zdCBTdHJpbmcmIHByb3RvY29sLCBjb25zdCBTdHJpbmcmIGhvc3QpCiB7Ci0g
ICAgLy8gRklYTUU6IGRlc3BpdGUgdGhlIGZvbGxvd2luZyBTY2hlbWVSZWdpc3RyeSBmdW5jdGlv
bnMgdXNpbmcgbG9ja3MgaW50ZXJuYWxseSwgd2Ugc3RpbGwKLSAgICAvLyBoYXZlIGEgcG90ZW50
aWFsIHRocmVhZC1zYWZldHkgaXNzdWUgd2l0aCB0aGUgc3RyaW5ncyBiZWluZyBwYXNzZWQgaW4u
IFRoaXMgaXMgYmVjYXVzZQotICAgIC8vIFN0cmluZzo6aGFzaCgpIHdpbGwgYmUgY2FsbGVkIGR1
cmluZyBsb29rdXAgYW5kIGl0IHBvdGVudGlhbGx5IG1vZGlmaWVzIHRoZSBTdHJpbmcgZm9yCi0g
ICAgLy8gY2FjaGluZyB0aGUgaGFzaC4KICAgICBpZiAoU2NoZW1lUmVnaXN0cnk6OnNob3VsZFRy
ZWF0VVJMU2NoZW1lQXNTZWN1cmUocHJvdG9jb2wpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIApA
QCAtMzcyLDkgKzM2OSwxMSBAQCBib29sIFNlY3VyaXR5T3JpZ2luOjpjYW5EaXNwbGF5KGNvbnN0
IFVSTCYgdXJsKSBjb25zdAogCiAgICAgU3RyaW5nIHByb3RvY29sID0gdXJsLnByb3RvY29sKCku
dG9TdHJpbmcoKTsKIAorICAgIC8vIEZJWE1FOiBUaGlzIGlzIG5vdCB0aHJlYWRzYWZlLgogICAg
IGlmIChTY2hlbWVSZWdpc3RyeTo6Y2FuRGlzcGxheU9ubHlJZkNhblJlcXVlc3QocHJvdG9jb2wp
KQogICAgICAgICByZXR1cm4gY2FuUmVxdWVzdCh1cmwpOwogCisgICAgLy8gRklYTUU6IFRoaXMg
aXMgbm90IHRocmVhZHNhZmUuCiAgICAgaWYgKFNjaGVtZVJlZ2lzdHJ5OjpzaG91bGRUcmVhdFVS
TFNjaGVtZUFzRGlzcGxheUlzb2xhdGVkKHByb3RvY29sKSkKICAgICAgICAgcmV0dXJuIGVxdWFs
SWdub3JpbmdBU0NJSUNhc2UobV9wcm90b2NvbCwgcHJvdG9jb2wpIHx8IFNlY3VyaXR5UG9saWN5
Ojppc0FjY2Vzc1RvVVJMV2hpdGVMaXN0ZWQodGhpcywgdXJsKTsKIApAQCAtNDYxLDYgKzQ2MCw3
IEBAIFN0cmluZyBTZWN1cml0eU9yaWdpbjo6ZG9tYWluRm9yQ2FjaGVQYXJ0aXRpb24oKSBjb25z
dAogICAgIGlmIChpc0hUVFBGYW1pbHkoKSkKICAgICAgICAgcmV0dXJuIGhvc3QoKTsKIAorICAg
IC8vIEZJWE1FOiBUaGlzIGlzIG5vdCB0aHJlYWRzYWZlLgogICAgIGlmIChTY2hlbWVSZWdpc3Ry
eTo6c2hvdWxkUGFydGl0aW9uQ2FjaGVGb3JVUkxTY2hlbWUobV9wcm90b2NvbCkpCiAgICAgICAg
IHJldHVybiBob3N0KCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Nj
aGVtZVJlZ2lzdHJ5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1NjaGVtZVJlZ2lzdHJ5
LmNwcAppbmRleCA3ZTRkNjEzOTNhZjRjOTJmZjJlZjQ0N2FmOTViYmJjOWU2MmVkMDhmLi41MGMw
Njg1Nzc2MzFmNTI3ODY0Y2NiN2E2MzY4ZmU0YWIyODkxMTI3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9TY2hlbWVSZWdpc3RyeS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vU2NoZW1lUmVnaXN0cnkuY3BwCkBAIC01MCw2ICs1MCwxOCBAQCBzdGF0aWMgY29u
c3QgVmVjdG9yPFN0cmluZz4mIGJ1aWx0aW5FbXB0eURvY3VtZW50U2NoZW1lcygpOwogc3RhdGlj
IGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBidWlsdGluQ2FuRGlzcGxheU9ubHlJZkNhblJlcXVlc3RT
Y2hlbWVzKCk7CiBzdGF0aWMgY29uc3QgVmVjdG9yPFN0cmluZz4mIGJ1aWx0aW5DT1JTRW5hYmxl
ZFNjaGVtZXMoKTsKIAorc3RhdGljIExvY2smIGxvY2FsVVJMU2NoZW1lc0xvY2soKQoreworICAg
IHN0YXRpYyBOZXZlckRlc3Ryb3llZDxMb2NrPiBsb2NrOworICAgIHJldHVybiBsb2NrOworfQor
CitzdGF0aWMgTG9jayYgc2VjdXJlU2NoZW1lc0xvY2soKQoreworICAgIHN0YXRpYyBOZXZlckRl
c3Ryb3llZDxMb2NrPiBsb2NrOworICAgIHJldHVybiBsb2NrOworfQorCiB1c2luZyBTdHJpbmdW
ZWN0b3JGdW5jdGlvbiA9IGNvbnN0IFZlY3RvcjxTdHJpbmc+JiAoKikoKTsKIAogc3RhdGljIHZv
aWQgYWRkKFVSTFNjaGVtZXNNYXAmIHNldCwgU3RyaW5nVmVjdG9yRnVuY3Rpb24gZnVuY3Rpb24p
CkBAIC01OCw2ICs3MCwxMiBAQCBzdGF0aWMgdm9pZCBhZGQoVVJMU2NoZW1lc01hcCYgc2V0LCBT
dHJpbmdWZWN0b3JGdW5jdGlvbiBmdW5jdGlvbikKICAgICAgICAgc2V0LmFkZChzY2hlbWUpOwog
fQogCitzdGF0aWMgdm9pZCBhZGRJc29sYXRlZENvcGllcyhVUkxTY2hlbWVzTWFwJiBzZXQsIFN0
cmluZ1ZlY3RvckZ1bmN0aW9uIGZ1bmN0aW9uKQoreworICAgIGZvciAoYXV0byYgc2NoZW1lIDog
ZnVuY3Rpb24oKSkKKyAgICAgICAgc2V0LmFkZChzY2hlbWUuaXNvbGF0ZWRDb3B5KCkpOworfQor
CiBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8VVJMU2NoZW1lc01hcD4gbWFrZU5ldmVyRGVzdHJveWVk
U2NoZW1lU2V0KGNvbnN0IFZlY3RvcjxTdHJpbmc+JiAoKmZ1bmN0aW9uKSgpKQogewogICAgIFVS
TFNjaGVtZXNNYXAgc2V0OwpAQCAtNjksNyArODcsNiBAQCBzdGF0aWMgY29uc3QgVVJMU2NoZW1l
c01hcCYgYWxsQnVpbHRpblNjaGVtZXMoKQogewogICAgIHN0YXRpYyBjb25zdCBhdXRvIHNjaGVt
ZXMgPSBtYWtlTmV2ZXJEZXN0cm95ZWQoW10gewogICAgICAgICBzdGF0aWMgY29uc3QgU3RyaW5n
VmVjdG9yRnVuY3Rpb24gZnVuY3Rpb25zW10gewotICAgICAgICAgICAgYnVpbHRpblNlY3VyZVNj
aGVtZXMsCiAgICAgICAgICAgICBidWlsdGluU2NoZW1lc1dpdGhVbmlxdWVPcmlnaW5zLAogICAg
ICAgICAgICAgYnVpbHRpbkVtcHR5RG9jdW1lbnRTY2hlbWVzLAogICAgICAgICAgICAgYnVpbHRp
bkNhbkRpc3BsYXlPbmx5SWZDYW5SZXF1ZXN0U2NoZW1lcywKQEAgLTkxLDggKzEwOCwxNSBAQCBz
dGF0aWMgY29uc3QgVVJMU2NoZW1lc01hcCYgYWxsQnVpbHRpblNjaGVtZXMoKQogICAgICAgICB9
OwogCiAgICAgICAgIFVSTFNjaGVtZXNNYXAgc2V0OwotICAgICAgICBmb3IgKGF1dG8mIHNjaGVt
ZSA6IGJ1aWx0aW5Mb2NhbFVSTFNjaGVtZXMoKSkKLSAgICAgICAgICAgIHNldC5hZGQoc2NoZW1l
KTsKKyAgICAgICAgeworICAgICAgICAgICAgTG9ja2VyPExvY2s+IGxvY2FsU2NoZW1lc0xvY2tl
cihsb2NhbFVSTFNjaGVtZXNMb2NrKCkpOworICAgICAgICAgICAgZm9yIChhdXRvJiBzY2hlbWUg
OiBidWlsdGluTG9jYWxVUkxTY2hlbWVzKCkpCisgICAgICAgICAgICAgICAgc2V0LmFkZChzY2hl
bWUuaXNvbGF0ZWRDb3B5KCkpOworICAgICAgICB9CisgICAgICAgIHsKKyAgICAgICAgICAgIExv
Y2tlcjxMb2NrPiBzZWN1cmVTY2hlbWVzTG9ja2VyKHNlY3VyZVNjaGVtZXNMb2NrKCkpOworICAg
ICAgICAgICAgYWRkSXNvbGF0ZWRDb3BpZXMoc2V0LCBidWlsdGluU2VjdXJlU2NoZW1lcyk7Cisg
ICAgICAgIH0KICAgICAgICAgZm9yIChhdXRvJiBmdW5jdGlvbiA6IGZ1bmN0aW9ucykKICAgICAg
ICAgICAgIGFkZChzZXQsIGZ1bmN0aW9uKTsKICAgICAgICAgZm9yIChhdXRvJiBzY2hlbWUgOiBv
dGhlclNjaGVtZXMpCkBAIC0xMDQsNiArMTI4LDcgQEAgc3RhdGljIGNvbnN0IFVSTFNjaGVtZXNN
YXAmIGFsbEJ1aWx0aW5TY2hlbWVzKCkKIAogc3RhdGljIGNvbnN0IFVSTFNjaGVtZXNNYXAmIGJ1
aWx0aW5Mb2NhbFVSTFNjaGVtZXMoKQogeworICAgIEFTU0VSVChsb2NhbFVSTFNjaGVtZXNMb2Nr
KCkuaXNIZWxkKCkpOwogICAgIHN0YXRpYyBjb25zdCBhdXRvIHNjaGVtZXMgPSBtYWtlTmV2ZXJE
ZXN0cm95ZWQoVVJMU2NoZW1lc01hcCB7CiAgICAgICAgICJmaWxlIiwKICNpZiBQTEFURk9STShD
T0NPQSkKQEAgLTExMywxMiArMTM4LDYgQEAgc3RhdGljIGNvbnN0IFVSTFNjaGVtZXNNYXAmIGJ1
aWx0aW5Mb2NhbFVSTFNjaGVtZXMoKQogICAgIHJldHVybiBzY2hlbWVzOwogfQogCi1zdGF0aWMg
TG9jayYgbG9jYWxVUkxTY2hlbWVzTG9jaygpCi17Ci0gICAgc3RhdGljIE5ldmVyRGVzdHJveWVk
PExvY2s+IGxvY2s7Ci0gICAgcmV0dXJuIGxvY2s7Ci19Ci0KIHN0YXRpYyBVUkxTY2hlbWVzTWFw
JiBsb2NhbFVSTFNjaGVtZXMoKQogewogICAgIEFTU0VSVChsb2NhbFVSTFNjaGVtZXNMb2NrKCku
aXNIZWxkKCkpOwpAQCAtMTM0LDYgKzE1Myw3IEBAIHN0YXRpYyBVUkxTY2hlbWVzTWFwJiBkaXNw
bGF5SXNvbGF0ZWRVUkxTY2hlbWVzKCkKIAogY29uc3QgVmVjdG9yPFN0cmluZz4mIGJ1aWx0aW5T
ZWN1cmVTY2hlbWVzKCkKIHsKKyAgICBBU1NFUlQoc2VjdXJlU2NoZW1lc0xvY2soKS5pc0hlbGQo
KSk7CiAgICAgc3RhdGljIGNvbnN0IGF1dG8gc2NoZW1lcyA9IG1ha2VOZXZlckRlc3Ryb3llZChW
ZWN0b3I8U3RyaW5nPiB7CiAgICAgICAgICJodHRwcyIsCiAgICAgICAgICJhYm91dCIsCkBAIC0x
NDYsMTIgKzE2Niw2IEBAIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBidWlsdGluU2VjdXJlU2NoZW1l
cygpCiAgICAgcmV0dXJuIHNjaGVtZXM7CiB9CiAKLXN0YXRpYyBMb2NrJiBzZWN1cmVTY2hlbWVz
TG9jaygpCi17Ci0gICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPExvY2s+IGxvY2s7Ci0gICAgcmV0
dXJuIGxvY2s7Ci19Ci0KIHN0YXRpYyBVUkxTY2hlbWVzTWFwJiBzZWN1cmVTY2hlbWVzKCkKIHsK
ICAgICBBU1NFUlQoc2VjdXJlU2NoZW1lc0xvY2soKS5pc0hlbGQoKSk7CkBAIC0yMTksNyArMjMz
LDcgQEAgdm9pZCBTY2hlbWVSZWdpc3RyeTo6cmVnaXN0ZXJVUkxTY2hlbWVBc0xvY2FsKGNvbnN0
IFN0cmluZyYgc2NoZW1lKQogICAgICAgICByZXR1cm47CiAKICAgICBMb2NrZXI8TG9jaz4gbG9j
a2VyKGxvY2FsVVJMU2NoZW1lc0xvY2soKSk7Ci0gICAgbG9jYWxVUkxTY2hlbWVzKCkuYWRkKHNj
aGVtZSk7CisgICAgbG9jYWxVUkxTY2hlbWVzKCkuYWRkKHNjaGVtZS5pc29sYXRlZENvcHkoKSk7
CiB9CiAKIHZvaWQgU2NoZW1lUmVnaXN0cnk6OnJlbW92ZVVSTFNjaGVtZVJlZ2lzdGVyZWRBc0xv
Y2FsKGNvbnN0IFN0cmluZyYgc2NoZW1lKQpAQCAtMzI2LDcgKzM0MCw3IEBAIHZvaWQgU2NoZW1l
UmVnaXN0cnk6OnJlZ2lzdGVyVVJMU2NoZW1lQXNTZWN1cmUoY29uc3QgU3RyaW5nJiBzY2hlbWUp
CiAgICAgICAgIHJldHVybjsKIAogICAgIExvY2tlcjxMb2NrPiBsb2NrZXIoc2VjdXJlU2NoZW1l
c0xvY2soKSk7Ci0gICAgc2VjdXJlU2NoZW1lcygpLmFkZChzY2hlbWUpOworICAgIHNlY3VyZVNj
aGVtZXMoKS5hZGQoc2NoZW1lLmlzb2xhdGVkQ29weSgpKTsKIH0KIAogYm9vbCBTY2hlbWVSZWdp
c3RyeTo6c2hvdWxkVHJlYXRVUkxTY2hlbWVBc1NlY3VyZShjb25zdCBTdHJpbmcmIHNjaGVtZSkK
QEAgLTQ3NSw3ICs0ODksNyBAQCB2b2lkIFNjaGVtZVJlZ2lzdHJ5OjpyZWdpc3RlclVSTFNjaGVt
ZVNlcnZpY2VXb3JrZXJzQ2FuSGFuZGxlKGNvbnN0IFN0cmluZyYgc2NoZQogICAgICAgICByZXR1
cm47CiAKICAgICBMb2NrZXI8TG9jaz4gbG9ja2VyKHNlcnZpY2VXb3JrZXJTY2hlbWVzTG9jaygp
KTsKLSAgICBzZXJ2aWNlV29ya2VyU2NoZW1lcygpLmFkZChzY2hlbWUpOworICAgIHNlcnZpY2VX
b3JrZXJTY2hlbWVzKCkuYWRkKHNjaGVtZS5pc29sYXRlZENvcHkoKSk7CiB9CiAKIGJvb2wgU2No
ZW1lUmVnaXN0cnk6OmNhblNlcnZpY2VXb3JrZXJzSGFuZGxlVVJMU2NoZW1lKGNvbnN0IFN0cmlu
ZyYgc2NoZW1lKQpAQCAtNDk2LDggKzUxMCwxMSBAQCBib29sIFNjaGVtZVJlZ2lzdHJ5OjpjYW5T
ZXJ2aWNlV29ya2Vyc0hhbmRsZVVSTFNjaGVtZShjb25zdCBTdHJpbmcmIHNjaGVtZSkKIAogYm9v
bCBTY2hlbWVSZWdpc3RyeTo6aXNTZXJ2aWNlV29ya2VyQ29udGFpbmVyQ3VzdG9tU2NoZW1lKGNv
bnN0IFN0cmluZyYgc2NoZW1lKQogeworICAgIGlmIChzY2hlbWUuaXNOdWxsKCkpCisgICAgICAg
IHJldHVybiBmYWxzZTsKKwogICAgIExvY2tlcjxMb2NrPiBsb2NrZXIoc2VydmljZVdvcmtlclNj
aGVtZXNMb2NrKCkpOwotICAgIHJldHVybiAhc2NoZW1lLmlzTnVsbCgpICYmIHNlcnZpY2VXb3Jr
ZXJTY2hlbWVzKCkuY29udGFpbnMoc2NoZW1lKTsKKyAgICByZXR1cm4gc2VydmljZVdvcmtlclNj
aGVtZXMoKS5jb250YWlucyhzY2hlbWUpOwogfQogCiBib29sIFNjaGVtZVJlZ2lzdHJ5Ojppc1Vz
ZXJFeHRlbnNpb25TY2hlbWUoY29uc3QgU3RyaW5nJiBzY2hlbWUpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9TY2hlbWVSZWdpc3RyeS5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vU2NoZW1lUmVnaXN0cnkuaAppbmRleCBmNzBmOWZjYWM0NzAwMzYxNmNmOTA2YmMyYzY0
ZTg1ZDA4OGEyOGY2Li44ODYzMTZkYjk0ZDQ2NDU3MWY1OWFjOTllYTRkOTQ1NzhhMTE3OTc1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY2hlbWVSZWdpc3RyeS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1NjaGVtZVJlZ2lzdHJ5LmgKQEAgLTM3LDE1ICszNywx
NyBAQCB1c2luZyBVUkxTY2hlbWVzTWFwID0gSGFzaFNldDxTdHJpbmcsIEFTQ0lJQ2FzZUluc2Vu
c2l0aXZlSGFzaD47CiAKIGNsYXNzIFNjaGVtZVJlZ2lzdHJ5IHsKIHB1YmxpYzoKKyAgICAvLyBV
bmxpa2UgbW9zdCBvZiB0aGUgZnVuY3Rpb25zIGluIHRoaXMgY2xhc3MsIHRoZXNlIHRocmVlIGFy
ZSB0aHJlYWRzYWZlLgogICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyB2b2lkIHJlZ2lzdGVyVVJM
U2NoZW1lQXNMb2NhbChjb25zdCBTdHJpbmcmKTsKICAgICBzdGF0aWMgdm9pZCByZW1vdmVVUkxT
Y2hlbWVSZWdpc3RlcmVkQXNMb2NhbChjb25zdCBTdHJpbmcmKTsKLQogICAgIFdFQkNPUkVfRVhQ
T1JUIHN0YXRpYyBib29sIHNob3VsZFRyZWF0VVJMU2NoZW1lQXNMb2NhbChjb25zdCBTdHJpbmcm
KTsKKwogICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBib29sIGlzQnVpbHRpblNjaGVtZShjb25z
dCBTdHJpbmcmKTsKICAgICAKICAgICAvLyBTZWN1cmUgc2NoZW1lcyBkbyBub3QgdHJpZ2dlciBt
aXhlZCBjb250ZW50IHdhcm5pbmdzLiBGb3IgZXhhbXBsZSwKICAgICAvLyBodHRwcyBhbmQgZGF0
YSBhcmUgc2VjdXJlIHNjaGVtZXMgYmVjYXVzZSB0aGV5IGNhbm5vdCBiZSBjb3JydXB0ZWQgYnkK
LSAgICAvLyBhY3RpdmUgbmV0d29yayBhdHRhY2tlcnMuCisgICAgLy8gYWN0aXZlIG5ldHdvcmsg
YXR0YWNrZXJzLiBVbmxpa2UgbW9zdCBvZiB0aGUgZnVuY3Rpb25zIGluIHRoaXMgY2xhc3MsCisg
ICAgLy8gdGhpcyBwYWlyIG9mIGZ1bmN0aW9ucyBpcyB0aHJlYWRzYWZlLgogICAgIFdFQkNPUkVf
RVhQT1JUIHN0YXRpYyB2b2lkIHJlZ2lzdGVyVVJMU2NoZW1lQXNTZWN1cmUoY29uc3QgU3RyaW5n
Jik7CiAgICAgc3RhdGljIGJvb2wgc2hvdWxkVHJlYXRVUkxTY2hlbWVBc1NlY3VyZShjb25zdCBT
dHJpbmcmKTsKIApAQCAtOTgsNyArMTAwLDggQEAgcHVibGljOgogICAgIFdFQkNPUkVfRVhQT1JU
IHN0YXRpYyB2b2lkIHJlZ2lzdGVyVVJMU2NoZW1lQXNDYWNoZVBhcnRpdGlvbmVkKGNvbnN0IFN0
cmluZyYgc2NoZW1lKTsKICAgICBzdGF0aWMgYm9vbCBzaG91bGRQYXJ0aXRpb25DYWNoZUZvclVS
TFNjaGVtZShjb25zdCBTdHJpbmcmIHNjaGVtZSk7CiAKLSAgICAvLyBTY2hlbWVzIGJlc2lkZXMg
aHR0cChzKSB0aGF0IHNlcnZpY2Ugd29ya2VycyBhcmUgYWxsb3dlZCB0byBoYW5kbGUKKyAgICAv
LyBTY2hlbWVzIGJlc2lkZXMgaHR0cChzKSB0aGF0IHNlcnZpY2Ugd29ya2VycyBhcmUgYWxsb3dl
ZCB0byBoYW5kbGUuCisgICAgLy8gVW5saWtlIG1vc3Qgb2YgdGhlIGZ1bmN0aW9ucyBpbiB0aGlz
IGNsYXNzLCB0aGVzZSB0aHJlZSBhcmUgdGhyZWFkc2FmZS4KICAgICBXRUJDT1JFX0VYUE9SVCBz
dGF0aWMgdm9pZCByZWdpc3RlclVSTFNjaGVtZVNlcnZpY2VXb3JrZXJzQ2FuSGFuZGxlKGNvbnN0
IFN0cmluZyYgc2NoZW1lKTsKICAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgYm9vbCBjYW5TZXJ2
aWNlV29ya2Vyc0hhbmRsZVVSTFNjaGVtZShjb25zdCBTdHJpbmcmIHNjaGVtZSk7CiAgICAgc3Rh
dGljIGJvb2wgaXNTZXJ2aWNlV29ya2VyQ29udGFpbmVyQ3VzdG9tU2NoZW1lKGNvbnN0IFN0cmlu
ZyYgc2NoZW1lKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>