<?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>224727</bug_id>
          
          <creation_ts>2021-04-17 20:31:34 -0700</creation_ts>
          <short_desc>Use binary-search in LocaleToScriptMapping</short_desc>
          <delta_ts>2021-04-19 22:07:56 -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>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Yusuke Suzuki">ysuzuki</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>bradrini</cc>
    
    <cc>darin</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1751533</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-04-17 20:31:34 -0700</bug_when>
    <thetext>Use binary-search in LocaleToScriptMapping</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1751535</commentid>
    <comment_count>1</comment_count>
      <attachid>426363</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-04-17 20:36:13 -0700</bug_when>
    <thetext>Created attachment 426363
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1751537</commentid>
    <comment_count>2</comment_count>
      <attachid>426363</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-04-17 20:46:44 -0700</bug_when>
    <thetext>Comment on attachment 426363
Patch

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

Great idea!

&gt; Source/WebCore/ChangeLog:10
&gt; +        This patch removes HashMaps in LocaleToScriptMapping, and binary-search onto the constant data arrays.
&gt; +        These maps are not frequently used. Keys of the maps can be encoded into uint32_t or uint64_t so that
&gt; +        comparison becomes super cheap and we can initialize this array at compile-time.

I’ve long wanted to make a re-usable binary search constant data array class. Glad you are doing this here; there seem to be many other places using hash tables that could do this sort of thing instead.

&gt; Source/WebCore/platform/text/LocaleToScriptMapping.cpp:41
&gt; +using ScriptName = uint32_t;

I’d like to see this use a bit more template machinery so we can do this for 4 and 8 without writing two separate sets of functions.

&gt; Source/WebCore/platform/text/LocaleToScriptMapping.cpp:50
&gt; +        result |= (static_cast&lt;ScriptName&gt;(code) &lt;&lt; ((4 - index - 1) * CHAR_BIT));

I think we can use 8 instead of CHAR_BIT; I don’t think CHAR_BIT helps readability or portability here.

&gt; Source/WebCore/platform/text/LocaleToScriptMapping.cpp:55
&gt; +static Optional&lt;ScriptName&gt; tryParseScriptName(StringView string)

Not 100% sure this needs &quot;try&quot; in its name. It is quite common throughout all kinds of WebKit code for functions named parse to have failure modes and use Optional to express that failure.

&gt; Source/WebCore/platform/text/LocaleToScriptMapping.cpp:64
&gt; +        result |= (static_cast&lt;ScriptName&gt;(toASCIILower(code)) &lt;&lt; ((4 - index - 1) * CHAR_BIT));

I think we can use 8 instead of CHAR_BIT; I don’t think CHAR_BIT helps readability or portability here.

Ideally we’d find a way to share code so we know the above is the same.

&gt; Source/WebCore/platform/text/LocaleToScriptMapping.cpp:199
&gt; +    auto* element = tryBinarySearch&lt;ScriptNameCode&gt;(scriptNameCodeList, WTF_ARRAY_LENGTH(scriptNameCodeList), name.value(),

std::size should work and seems nicer to use than WTF_ARRAY_LENGTH

&gt; Source/WebCore/platform/text/LocaleToScriptMapping.cpp:455
&gt; +        auto* element = tryBinarySearch&lt;LocaleScript&gt;(localeScriptList, WTF_ARRAY_LENGTH(localeScriptList), localeName.value(),

std::size should work and seems nicer to use than WTF_ARRAY_LENGTH

Also would be nice to make another template like tryBinarySearch, maybe even an overload of it, that handles the sizing automatically. Seems like it should be able to deduce both the type and the size without an explicit template or function argument for either.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1751538</commentid>
    <comment_count>3</comment_count>
      <attachid>426364</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-04-17 20:47:19 -0700</bug_when>
    <thetext>Created attachment 426364
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1751539</commentid>
    <comment_count>4</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-04-17 20:49:09 -0700</bug_when>
    <thetext>Since I already reviewed, I won’t set review+ on the new patch unless you tell me you aren’t going to make any more changes. Otherwise, I’ll wait for a newer patch that takes some of my suggestions and review again then.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1751541</commentid>
    <comment_count>5</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-04-17 20:50:19 -0700</bug_when>
    <thetext>More generally I think we can do this binary search pattern with ASCIILiteral in much the same way you are doing here with the fixed length packing into an integer. This is even more optimized, but something reusable could help encourage people not to use HashMap for fixed things like this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1751547</commentid>
    <comment_count>6</comment_count>
      <attachid>426366</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-04-17 21:02:07 -0700</bug_when>
    <thetext>Created attachment 426366
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1751548</commentid>
    <comment_count>7</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-04-17 21:02:46 -0700</bug_when>
    <thetext>Ah, the uploaded patch is simply adding static_assert based test :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1751569</commentid>
    <comment_count>8</comment_count>
      <attachid>426363</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-04-17 22:25:56 -0700</bug_when>
    <thetext>Comment on attachment 426363
Patch

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

Thanks

&gt;&gt; Source/WebCore/platform/text/LocaleToScriptMapping.cpp:41
&gt;&gt; +using ScriptName = uint32_t;
&gt; 
&gt; I’d like to see this use a bit more template machinery so we can do this for 4 and 8 without writing two separate sets of functions.

Changed.

&gt;&gt; Source/WebCore/platform/text/LocaleToScriptMapping.cpp:50
&gt;&gt; +        result |= (static_cast&lt;ScriptName&gt;(code) &lt;&lt; ((4 - index - 1) * CHAR_BIT));
&gt; 
&gt; I think we can use 8 instead of CHAR_BIT; I don’t think CHAR_BIT helps readability or portability here.

Changed.

&gt;&gt; Source/WebCore/platform/text/LocaleToScriptMapping.cpp:55
&gt;&gt; +static Optional&lt;ScriptName&gt; tryParseScriptName(StringView string)
&gt; 
&gt; Not 100% sure this needs &quot;try&quot; in its name. It is quite common throughout all kinds of WebKit code for functions named parse to have failure modes and use Optional to express that failure.

Changed it to paseScriptName. Instead, constexpr version is renamed to parseConstantScriptName.

&gt;&gt; Source/WebCore/platform/text/LocaleToScriptMapping.cpp:64
&gt;&gt; +        result |= (static_cast&lt;ScriptName&gt;(toASCIILower(code)) &lt;&lt; ((4 - index - 1) * CHAR_BIT));
&gt; 
&gt; I think we can use 8 instead of CHAR_BIT; I don’t think CHAR_BIT helps readability or portability here.
&gt; 
&gt; Ideally we’d find a way to share code so we know the above is the same.

Changed it to 8. Unfortunately, currently we have separate function because of constexpr.

&gt;&gt; Source/WebCore/platform/text/LocaleToScriptMapping.cpp:199
&gt;&gt; +    auto* element = tryBinarySearch&lt;ScriptNameCode&gt;(scriptNameCodeList, WTF_ARRAY_LENGTH(scriptNameCodeList), name.value(),
&gt; 
&gt; std::size should work and seems nicer to use than WTF_ARRAY_LENGTH

Changed, std::size_ sounds nice.

&gt;&gt; Source/WebCore/platform/text/LocaleToScriptMapping.cpp:455
&gt;&gt; +        auto* element = tryBinarySearch&lt;LocaleScript&gt;(localeScriptList, WTF_ARRAY_LENGTH(localeScriptList), localeName.value(),
&gt; 
&gt; std::size should work and seems nicer to use than WTF_ARRAY_LENGTH
&gt; 
&gt; Also would be nice to make another template like tryBinarySearch, maybe even an overload of it, that handles the sizing automatically. Seems like it should be able to deduce both the type and the size without an explicit template or function argument for either.

std::size sounds nice.
For now, I&apos;ll leave tryBinarySearch refactoring for the future change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1751570</commentid>
    <comment_count>9</comment_count>
      <attachid>426367</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-04-17 22:26:43 -0700</bug_when>
    <thetext>Created attachment 426367
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1751571</commentid>
    <comment_count>10</comment_count>
      <attachid>426368</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-04-17 22:27:30 -0700</bug_when>
    <thetext>Created attachment 426368
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1751572</commentid>
    <comment_count>11</comment_count>
      <attachid>426368</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-04-17 22:40:15 -0700</bug_when>
    <thetext>Comment on attachment 426368
Patch

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

A few more ideas for refinements.

&gt; Source/WebCore/platform/text/LocaleToScriptMapping.cpp:45
&gt; +    ASSERT_UNDER_CONSTEXPR_CONTEXT(length &lt;= sizeof(ResultType));

Since we’re doing assertions like this, how about asserting the terminator is the null character?

&gt; Source/WebCore/platform/text/LocaleToScriptMapping.cpp:48
&gt; +        uint8_t code = static_cast&lt;uint8_t&gt;(string[index]);

Seems like we could have code be &quot;ResultType&quot; instead of uint8_t and avoid the static_cast on the next line of code.

&gt; Source/WebCore/platform/text/LocaleToScriptMapping.cpp:49
&gt; +        result |= (static_cast&lt;ResultType&gt;(code) &lt;&lt; ((sizeof(ResultType) - index - 1) * 8));

I think this has one set of parentheses that aren’t needed for clarity or correctness, the outermost set.

&gt; Source/WebCore/platform/text/LocaleToScriptMapping.cpp:64
&gt; +        result |= (static_cast&lt;ResultType&gt;(toASCIILower(code)) &lt;&lt; ((sizeof(ResultType) - index - 1) * 8));

I think this has one set of parentheses that aren’t needed for clarity or correctness, the outermost set.

&gt; Source/WebCore/platform/text/LocaleToScriptMapping.cpp:82
&gt; +    static constexpr ScriptNameCode scriptNameCodeList[] = {
&gt; +        { parseConstantScriptCode&lt;ScriptName&gt;(&quot;arab&quot;), USCRIPT_ARABIC },

I think we’re going to be able to make a fancier version of this where you don’t have to write the calls to parseConstantScriptCode because it’s all done by the constexpr constructor of an object. Even better, I think it can encapsulate the implementation detail of the &quot;parsing into an integer&quot; and just take a couple of function arguments, and also make it easier to correctly call the binary search function.

Just refactoring! But should be more elegant.

And maybe have a version where we store const char* rather than a fixed size item in the table but otherwise it’s similar, and uses the same template just with different arguments. Depending on what other places in WebKit need.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1751578</commentid>
    <comment_count>12</comment_count>
      <attachid>426368</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-04-17 23:25:05 -0700</bug_when>
    <thetext>Comment on attachment 426368
Patch

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

&gt;&gt; Source/WebCore/platform/text/LocaleToScriptMapping.cpp:45
&gt;&gt; +    ASSERT_UNDER_CONSTEXPR_CONTEXT(length &lt;= sizeof(ResultType));
&gt; 
&gt; Since we’re doing assertions like this, how about asserting the terminator is the null character?

Added.

&gt;&gt; Source/WebCore/platform/text/LocaleToScriptMapping.cpp:48
&gt;&gt; +        uint8_t code = static_cast&lt;uint8_t&gt;(string[index]);
&gt; 
&gt; Seems like we could have code be &quot;ResultType&quot; instead of uint8_t and avoid the static_cast on the next line of code.

I would like to first cast it from char to uint8_t to ensure that we are handling unsigned types, and avoid accidental sign-extension.

&gt;&gt; Source/WebCore/platform/text/LocaleToScriptMapping.cpp:49
&gt;&gt; +        result |= (static_cast&lt;ResultType&gt;(code) &lt;&lt; ((sizeof(ResultType) - index - 1) * 8));
&gt; 
&gt; I think this has one set of parentheses that aren’t needed for clarity or correctness, the outermost set.

Removed.

&gt;&gt; Source/WebCore/platform/text/LocaleToScriptMapping.cpp:64
&gt;&gt; +        result |= (static_cast&lt;ResultType&gt;(toASCIILower(code)) &lt;&lt; ((sizeof(ResultType) - index - 1) * 8));
&gt; 
&gt; I think this has one set of parentheses that aren’t needed for clarity or correctness, the outermost set.

Removed.

&gt;&gt; Source/WebCore/platform/text/LocaleToScriptMapping.cpp:82
&gt;&gt; +        { parseConstantScriptCode&lt;ScriptName&gt;(&quot;arab&quot;), USCRIPT_ARABIC },
&gt; 
&gt; I think we’re going to be able to make a fancier version of this where you don’t have to write the calls to parseConstantScriptCode because it’s all done by the constexpr constructor of an object. Even better, I think it can encapsulate the implementation detail of the &quot;parsing into an integer&quot; and just take a couple of function arguments, and also make it easier to correctly call the binary search function.
&gt; 
&gt; Just refactoring! But should be more elegant.
&gt; 
&gt; And maybe have a version where we store const char* rather than a fixed size item in the table but otherwise it’s similar, and uses the same template just with different arguments. Depending on what other places in WebKit need.

I&apos;ve added PackedASCIILowerCodes&lt;T&gt; which encapsulate them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1751579</commentid>
    <comment_count>13</comment_count>
      <attachid>426372</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-04-17 23:26:41 -0700</bug_when>
    <thetext>Created attachment 426372
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1751583</commentid>
    <comment_count>14</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-04-18 00:43:40 -0700</bug_when>
    <thetext>Committed r276225 (236707@main): &lt;https://commits.webkit.org/236707@main&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1751611</commentid>
    <comment_count>15</comment_count>
      <attachid>426368</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-04-18 09:08:04 -0700</bug_when>
    <thetext>Comment on attachment 426368
Patch

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

&gt;&gt;&gt; Source/WebCore/platform/text/LocaleToScriptMapping.cpp:48
&gt;&gt;&gt; +        uint8_t code = static_cast&lt;uint8_t&gt;(string[index]);
&gt;&gt; 
&gt;&gt; Seems like we could have code be &quot;ResultType&quot; instead of uint8_t and avoid the static_cast on the next line of code.
&gt; 
&gt; I would like to first cast it from char to uint8_t to ensure that we are handling unsigned types, and avoid accidental sign-extension.

Yes, I agree. We would cast it with the static_cast as we are doing here and then have a local variable be of type ResultType which would achieve exactly what you were talking about.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1752140</commentid>
    <comment_count>16</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2021-04-19 22:07:56 -0700</bug_when>
    <thetext>rdar://76809872</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>426363</attachid>
            <date>2021-04-17 20:36:13 -0700</date>
            <delta_ts>2021-04-17 20:47:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224727-20210417203612.patch</filename>
            <type>text/plain</type>
            <size>35834</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc2MjE3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjg2YWYzN2I3YTJlYWY3
NDA2OTNiYWNhZGFkODQyMTAwYWUyNWUxOS4uMTU2MTIyMTljOWRlYWY4ZmIxY2QyZjljZDdhODI2
NTliYTBiYmIxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDIxLTA0LTE3ICBZdXN1
a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CisKKyAgICAgICAgVXNlIGJpbmFyeS1zZWFy
Y2ggaW4gTG9jYWxlVG9TY3JpcHRNYXBwaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMjQ3MjcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBUaGlzIHBhdGNoIHJlbW92ZXMgSGFzaE1hcHMgaW4gTG9jYWxl
VG9TY3JpcHRNYXBwaW5nLCBhbmQgYmluYXJ5LXNlYXJjaCBvbnRvIHRoZSBjb25zdGFudCBkYXRh
IGFycmF5cy4KKyAgICAgICAgVGhlc2UgbWFwcyBhcmUgbm90IGZyZXF1ZW50bHkgdXNlZC4gS2V5
cyBvZiB0aGUgbWFwcyBjYW4gYmUgZW5jb2RlZCBpbnRvIHVpbnQzMl90IG9yIHVpbnQ2NF90IHNv
IHRoYXQKKyAgICAgICAgY29tcGFyaXNvbiBiZWNvbWVzIHN1cGVyIGNoZWFwIGFuZCB3ZSBjYW4g
aW5pdGlhbGl6ZSB0aGlzIGFycmF5IGF0IGNvbXBpbGUtdGltZS4KKworICAgICAgICBXZSBpbnRy
b2R1Y2UgU2NyaXB0TmFtZSh1aW50MzJfdCkgYW5kIExvY2FsZU5hbWUodWludDY0X3QpIGluc3Rl
YWQgb2YgU3RyaW5nLiBBbmQgdWVzIGl0IGFuZCBnZW5lcmF0ZQorICAgICAgICBzb3J0ZWQgY29u
c3RhbnQgZGF0YSBhcnJheSBmb3IgbWFwcGluZ3MuIFdlIHVzZSBiaW5hcnktc2VhcmNoIHRvIGxv
b2sgZW50cnkgdXAuIFNpbmNlICMgb2YgZW50cmllcyBhcmUKKyAgICAgICAgbm90IGh1Z2UgKH4y
MDApLCBjb21wYXJpc29ucyBhcmUgZXh0cmVtZWx5IGNoZWFwICh1aW50MzJfdCAvIHVpbnQ2NF90
IGNvbXBhcmlzb24pLCBhbmQgdGhpcyBpcyBub3QgYQorICAgICAgICBob3QgY29kZSwgd2UgY2Fu
IGp1c3QgdXNlIGJpbmFyeS1zZWFyY2ggaGVyZSBhbmQgZWxpbWluYXRlIEhhc2hNYXBzJyBtZW1v
cnkgYWxsb2NhdGlvbi4KKworICAgICAgICAqIHBsYXRmb3JtL3RleHQvTG9jYWxlVG9TY3JpcHRN
YXBwaW5nLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnBhcnNlU2NyaXB0TmFtZSk6CisgICAgICAg
IChXZWJDb3JlOjp0cnlQYXJzZVNjcmlwdE5hbWUpOgorICAgICAgICAoV2ViQ29yZTo6c2NyaXB0
TmFtZVRvQ29kZSk6CisgICAgICAgIChXZWJDb3JlOjpwYXJzZUxvY2FsZU5hbWUpOgorICAgICAg
ICAoV2ViQ29yZTo6dHJ5UGFyc2VMb2NhbGVOYW1lKToKKyAgICAgICAgKFdlYkNvcmU6OmxvY2Fs
ZVRvU2NyaXB0Q29kZUZvckZvbnRTZWxlY3Rpb24pOgorCiAyMDIxLTA0LTE3ICBUaW0gTmd1eWVu
ICA8bnRpbUBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIHN1cHBvcnQgZm9yIGlubGluZS17c3Rh
cnQvZW5kfSB2YWx1ZXMgdG8gZmxvYXQgJiBjbGVhciBwcm9wZXJ0aWVzCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0xvY2FsZVRvU2NyaXB0TWFwcGluZy5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0xvY2FsZVRvU2NyaXB0TWFwcGluZy5jcHAKaW5k
ZXggNDllMGVhYTdiZWI5YjMzNTdjMTcwYmIwZTEyMDQ2MTI5NmQxYTM0ZC4uZThhMzA0YzYzMGVk
YWY0NTg5MDQxYjI5YWViNGNlM2ZmMTExM2YxNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vdGV4dC9Mb2NhbGVUb1NjcmlwdE1hcHBpbmcuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL3RleHQvTG9jYWxlVG9TY3JpcHRNYXBwaW5nLmNwcApAQCAtMSw1ICsxLDYg
QEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCkBAIC0zNywzNjggKzM4LDQz
NCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0cnVjdCBTY3JpcHROYW1lQ29kZSB7Ci0g
ICAgQVNDSUlMaXRlcmFsIG5hbWU7Ci0gICAgVVNjcmlwdENvZGUgY29kZTsKLX07Cit1c2luZyBT
Y3JpcHROYW1lID0gdWludDMyX3Q7Cit0ZW1wbGF0ZTx1bnNpZ25lZCBjaGFyYWN0ZXJDb3VudFBs
dXNPbmU+CitzdGF0aWMgY29uc3RleHByIFNjcmlwdE5hbWUgcGFyc2VTY3JpcHROYW1lKGNvbnN0
IGNoYXIgKCZzdHJpbmcpW2NoYXJhY3RlckNvdW50UGx1c09uZV0pCit7CisgICAgY29uc3RleHBy
IHVuc2lnbmVkIGxlbmd0aCA9IGNoYXJhY3RlckNvdW50UGx1c09uZSAtIDE7CisgICAgQVNTRVJU
X1VOREVSX0NPTlNURVhQUl9DT05URVhUKGxlbmd0aCA9PSA0KTsKKyAgICBTY3JpcHROYW1lIHJl
c3VsdCA9IDA7CisgICAgZm9yICh1bnNpZ25lZCBpbmRleCA9IDA7IGluZGV4IDwgbGVuZ3RoOyAr
K2luZGV4KSB7CisgICAgICAgIHVpbnQ4X3QgY29kZSA9IHN0YXRpY19jYXN0PHVpbnQ4X3Q+KHN0
cmluZ1tpbmRleF0pOworICAgICAgICByZXN1bHQgfD0gKHN0YXRpY19jYXN0PFNjcmlwdE5hbWU+
KGNvZGUpIDw8ICgoNCAtIGluZGV4IC0gMSkgKiBDSEFSX0JJVCkpOworICAgIH0KKyAgICByZXR1
cm4gcmVzdWx0OworfQogCi0vLyBUaGlzIGdlbmVyYWxseSBtYXBzIGFuIElTTyAxNTkyNCBzY3Jp
cHQgY29kZSB0byBpdHMgVVNjcmlwdENvZGUsIGJ1dCBjZXJ0YWluIGZhbWlsaWVzIG9mIHNjcmlw
dCBjb2RlcyBhcmUKLS8vIHRyZWF0ZWQgYXMgYSBzaW5nbGUgc2NyaXB0IGZvciBhc3NpZ25pbmcg
YSBwZXItc2NyaXB0IGZvbnQgaW4gU2V0dGluZ3MuIEZvciBleGFtcGxlLCAiaGlyYSIgaXMgbWFw
cGVkIHRvCi0vLyBVU0NSSVBUX0tBVEFLQU5BX09SX0hJUkFHQU5BIGluc3RlYWQgb2YgVVNDUklQ
VF9ISVJBR0FOQSwgc2luY2Ugd2Ugd2FudCBhbGwgSmFwYW5lc2Ugc2NyaXB0cyB0byBiZSByZW5k
ZXJlZAotLy8gdXNpbmcgdGhlIHNhbWUgZm9udCBzZXR0aW5nLgotc3RhdGljIGNvbnN0IFNjcmlw
dE5hbWVDb2RlIHNjcmlwdE5hbWVDb2RlTGlzdFtdID0gewotICAgIHsgInp5eXkiX3MsIFVTQ1JJ
UFRfQ09NTU9OIH0sCi0gICAgeyAicWFhaSJfcywgVVNDUklQVF9JTkhFUklURUQgfSwKLSAgICB7
ICJhcmFiIl9zLCBVU0NSSVBUX0FSQUJJQyB9LAotICAgIHsgImFybW4iX3MsIFVTQ1JJUFRfQVJN
RU5JQU4gfSwKLSAgICB7ICJiZW5nIl9zLCBVU0NSSVBUX0JFTkdBTEkgfSwKLSAgICB7ICJib3Bv
Il9zLCBVU0NSSVBUX0JPUE9NT0ZPIH0sCi0gICAgeyAiY2hlciJfcywgVVNDUklQVF9DSEVST0tF
RSB9LAotICAgIHsgImNvcHQiX3MsIFVTQ1JJUFRfQ09QVElDIH0sCi0gICAgeyAiY3lybCJfcywg
VVNDUklQVF9DWVJJTExJQyB9LAotICAgIHsgImRzcnQiX3MsIFVTQ1JJUFRfREVTRVJFVCB9LAot
ICAgIHsgImRldmEiX3MsIFVTQ1JJUFRfREVWQU5BR0FSSSB9LAotICAgIHsgImV0aGkiX3MsIFVT
Q1JJUFRfRVRISU9QSUMgfSwKLSAgICB7ICJnZW9yIl9zLCBVU0NSSVBUX0dFT1JHSUFOIH0sCi0g
ICAgeyAiZ290aCJfcywgVVNDUklQVF9HT1RISUMgfSwKLSAgICB7ICJncmVrIl9zLCBVU0NSSVBU
X0dSRUVLIH0sCi0gICAgeyAiZ3VqciJfcywgVVNDUklQVF9HVUpBUkFUSSB9LAotICAgIHsgImd1
cnUiX3MsIFVTQ1JJUFRfR1VSTVVLSEkgfSwKLSAgICB7ICJoYW5pIl9zLCBVU0NSSVBUX0hBTiB9
LAotICAgIHsgImhhbmciX3MsIFVTQ1JJUFRfSEFOR1VMIH0sCi0gICAgeyAiaGViciJfcywgVVND
UklQVF9IRUJSRVcgfSwKLSAgICB7ICJoaXJhIl9zLCBVU0NSSVBUX0tBVEFLQU5BX09SX0hJUkFH
QU5BIH0sCi0gICAgeyAia25kYSJfcywgVVNDUklQVF9LQU5OQURBIH0sCi0gICAgeyAia2FuYSJf
cywgVVNDUklQVF9LQVRBS0FOQV9PUl9ISVJBR0FOQSB9LAotICAgIHsgImtobXIiX3MsIFVTQ1JJ
UFRfS0hNRVIgfSwKLSAgICB7ICJsYW9vIl9zLCBVU0NSSVBUX0xBTyB9LAotICAgIHsgImxhdG4i
X3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJtbHltIl9zLCBVU0NSSVBUX01BTEFZQUxBTSB9
LAotICAgIHsgIm1vbmciX3MsIFVTQ1JJUFRfTU9OR09MSUFOIH0sCi0gICAgeyAibXltciJfcywg
VVNDUklQVF9NWUFOTUFSIH0sCi0gICAgeyAib2dhbSJfcywgVVNDUklQVF9PR0hBTSB9LAotICAg
IHsgIml0YWwiX3MsIFVTQ1JJUFRfT0xEX0lUQUxJQyB9LAotICAgIHsgIm9yeWEiX3MsIFVTQ1JJ
UFRfT1JJWUEgfSwKLSAgICB7ICJydW5yIl9zLCBVU0NSSVBUX1JVTklDIH0sCi0gICAgeyAic2lu
aCJfcywgVVNDUklQVF9TSU5IQUxBIH0sCi0gICAgeyAic3lyYyJfcywgVVNDUklQVF9TWVJJQUMg
fSwKLSAgICB7ICJ0YW1sIl9zLCBVU0NSSVBUX1RBTUlMIH0sCi0gICAgeyAidGVsdSJfcywgVVND
UklQVF9URUxVR1UgfSwKLSAgICB7ICJ0aGFhIl9zLCBVU0NSSVBUX1RIQUFOQSB9LAotICAgIHsg
InRoYWkiX3MsIFVTQ1JJUFRfVEhBSSB9LAotICAgIHsgInRpYnQiX3MsIFVTQ1JJUFRfVElCRVRB
TiB9LAotICAgIHsgImNhbnMiX3MsIFVTQ1JJUFRfQ0FOQURJQU5fQUJPUklHSU5BTCB9LAotICAg
IHsgInlpaWkiX3MsIFVTQ1JJUFRfWUkgfSwKLSAgICB7ICJ0Z2xnIl9zLCBVU0NSSVBUX1RBR0FM
T0cgfSwKLSAgICB7ICJoYW5vIl9zLCBVU0NSSVBUX0hBTlVOT08gfSwKLSAgICB7ICJidWhkIl9z
LCBVU0NSSVBUX0JVSElEIH0sCi0gICAgeyAidGFnYiJfcywgVVNDUklQVF9UQUdCQU5XQSB9LAot
ICAgIHsgImJyYWkiX3MsIFVTQ1JJUFRfQlJBSUxMRSB9LAotICAgIHsgImNwcnQiX3MsIFVTQ1JJ
UFRfQ1lQUklPVCB9LAotICAgIHsgImxpbWIiX3MsIFVTQ1JJUFRfTElNQlUgfSwKLSAgICB7ICJs
aW5iIl9zLCBVU0NSSVBUX0xJTkVBUl9CIH0sCi0gICAgeyAib3NtYSJfcywgVVNDUklQVF9PU01B
TllBIH0sCi0gICAgeyAic2hhdyJfcywgVVNDUklQVF9TSEFWSUFOIH0sCi0gICAgeyAidGFsZSJf
cywgVVNDUklQVF9UQUlfTEUgfSwKLSAgICB7ICJ1Z2FyIl9zLCBVU0NSSVBUX1VHQVJJVElDIH0s
Ci0gICAgeyAiaHJrdCJfcywgVVNDUklQVF9LQVRBS0FOQV9PUl9ISVJBR0FOQSB9LAotICAgIHsg
ImJ1Z2kiX3MsIFVTQ1JJUFRfQlVHSU5FU0UgfSwKLSAgICB7ICJnbGFnIl9zLCBVU0NSSVBUX0dM
QUdPTElUSUMgfSwKLSAgICB7ICJraGFyIl9zLCBVU0NSSVBUX0tIQVJPU0hUSEkgfSwKLSAgICB7
ICJzeWxvIl9zLCBVU0NSSVBUX1NZTE9USV9OQUdSSSB9LAotICAgIHsgInRhbHUiX3MsIFVTQ1JJ
UFRfTkVXX1RBSV9MVUUgfSwKLSAgICB7ICJ0Zm5nIl9zLCBVU0NSSVBUX1RJRklOQUdIIH0sCi0g
ICAgeyAieHBlbyJfcywgVVNDUklQVF9PTERfUEVSU0lBTiB9LAotICAgIHsgImJhbGkiX3MsIFVT
Q1JJUFRfQkFMSU5FU0UgfSwKLSAgICB7ICJiYXRrIl9zLCBVU0NSSVBUX0JBVEFLIH0sCi0gICAg
eyAiYmxpcyJfcywgVVNDUklQVF9CTElTU1lNQk9MUyB9LAotICAgIHsgImJyYWgiX3MsIFVTQ1JJ
UFRfQlJBSE1JIH0sCi0gICAgeyAiY2hhbSJfcywgVVNDUklQVF9DSEFNIH0sCi0gICAgeyAiY2ly
dCJfcywgVVNDUklQVF9DSVJUSCB9LAotICAgIHsgImN5cnMiX3MsIFVTQ1JJUFRfT0xEX0NIVVJD
SF9TTEFWT05JQ19DWVJJTExJQyB9LAotICAgIHsgImVneWQiX3MsIFVTQ1JJUFRfREVNT1RJQ19F
R1lQVElBTiB9LAotICAgIHsgImVneWgiX3MsIFVTQ1JJUFRfSElFUkFUSUNfRUdZUFRJQU4gfSwK
LSAgICB7ICJlZ3lwIl9zLCBVU0NSSVBUX0VHWVBUSUFOX0hJRVJPR0xZUEhTIH0sCi0gICAgeyAi
Z2VvayJfcywgVVNDUklQVF9LSFVUU1VSSSB9LAotICAgIHsgImhhbnMiX3MsIFVTQ1JJUFRfU0lN
UExJRklFRF9IQU4gfSwKLSAgICB7ICJoYW50Il9zLCBVU0NSSVBUX1RSQURJVElPTkFMX0hBTiB9
LAotICAgIHsgImhtbmciX3MsIFVTQ1JJUFRfUEFIQVdIX0hNT05HIH0sCi0gICAgeyAiaHVuZyJf
cywgVVNDUklQVF9PTERfSFVOR0FSSUFOIH0sCi0gICAgeyAiaW5kcyJfcywgVVNDUklQVF9IQVJB
UFBBTl9JTkRVUyB9LAotICAgIHsgImphdmEiX3MsIFVTQ1JJUFRfSkFWQU5FU0UgfSwKLSAgICB7
ICJrYWxpIl9zLCBVU0NSSVBUX0tBWUFIX0xJIH0sCi0gICAgeyAibGF0ZiJfcywgVVNDUklQVF9M
QVRJTl9GUkFLVFVSIH0sCi0gICAgeyAibGF0ZyJfcywgVVNDUklQVF9MQVRJTl9HQUVMSUMgfSwK
LSAgICB7ICJsZXBjIl9zLCBVU0NSSVBUX0xFUENIQSB9LAotICAgIHsgImxpbmEiX3MsIFVTQ1JJ
UFRfTElORUFSX0EgfSwKLSAgICB7ICJtYW5kIl9zLCBVU0NSSVBUX01BTkRBRUFOIH0sCi0gICAg
eyAibWF5YSJfcywgVVNDUklQVF9NQVlBTl9ISUVST0dMWVBIUyB9LAotICAgIHsgIm1lcm8iX3Ms
IFVTQ1JJUFRfTUVST0lUSUMgfSwKLSAgICB7ICJua29vIl9zLCBVU0NSSVBUX05LTyB9LAotICAg
IHsgIm9ya2giX3MsIFVTQ1JJUFRfT1JLSE9OIH0sCi0gICAgeyAicGVybSJfcywgVVNDUklQVF9P
TERfUEVSTUlDIH0sCi0gICAgeyAicGhhZyJfcywgVVNDUklQVF9QSEFHU19QQSB9LAotICAgIHsg
InBobngiX3MsIFVTQ1JJUFRfUEhPRU5JQ0lBTiB9LAotICAgIHsgInBscmQiX3MsIFVTQ1JJUFRf
UEhPTkVUSUNfUE9MTEFSRCB9LAotICAgIHsgInJvcm8iX3MsIFVTQ1JJUFRfUk9OR09ST05HTyB9
LAotICAgIHsgInNhcmEiX3MsIFVTQ1JJUFRfU0FSQVRJIH0sCi0gICAgeyAic3lyZSJfcywgVVND
UklQVF9FU1RSQU5HRUxPX1NZUklBQyB9LAotICAgIHsgInN5cmoiX3MsIFVTQ1JJUFRfV0VTVEVS
Tl9TWVJJQUMgfSwKLSAgICB7ICJzeXJuIl9zLCBVU0NSSVBUX0VBU1RFUk5fU1lSSUFDIH0sCi0g
ICAgeyAidGVuZyJfcywgVVNDUklQVF9URU5HV0FSIH0sCi0gICAgeyAidmFpaSJfcywgVVNDUklQ
VF9WQUkgfSwKLSAgICB7ICJ2aXNwIl9zLCBVU0NSSVBUX1ZJU0lCTEVfU1BFRUNIIH0sCi0gICAg
eyAieHN1eCJfcywgVVNDUklQVF9DVU5FSUZPUk0gfSwKLSAgICB7ICJqcGFuIl9zLCBVU0NSSVBU
X0tBVEFLQU5BX09SX0hJUkFHQU5BIH0sCi0gICAgeyAia29yZSJfcywgVVNDUklQVF9IQU5HVUwg
fSwKLSAgICB7ICJ6eHh4Il9zLCBVU0NSSVBUX1VOV1JJVFRFTl9MQU5HVUFHRVMgfSwKLSAgICB7
ICJ6enp6Il9zLCBVU0NSSVBUX1VOS05PV04gfQotfTsKK3N0YXRpYyBPcHRpb25hbDxTY3JpcHRO
YW1lPiB0cnlQYXJzZVNjcmlwdE5hbWUoU3RyaW5nVmlldyBzdHJpbmcpCit7CisgICAgaWYgKHN0
cmluZy5sZW5ndGgoKSAhPSA0KQorICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworICAgIFNj
cmlwdE5hbWUgcmVzdWx0ID0gMDsKKyAgICBmb3IgKHVuc2lnbmVkIGluZGV4ID0gMDsgaW5kZXgg
PCBzdHJpbmcubGVuZ3RoKCk7ICsraW5kZXgpIHsKKyAgICAgICAgVUNoYXIgY29kZSA9IHN0cmlu
Z1tpbmRleF07CisgICAgICAgIGlmICghaXNBU0NJSShjb2RlKSkKKyAgICAgICAgICAgIHJldHVy
biBXVEY6Om51bGxvcHQ7CisgICAgICAgIHJlc3VsdCB8PSAoc3RhdGljX2Nhc3Q8U2NyaXB0TmFt
ZT4odG9BU0NJSUxvd2VyKGNvZGUpKSA8PCAoKDQgLSBpbmRleCAtIDEpICogQ0hBUl9CSVQpKTsK
KyAgICB9CisgICAgcmV0dXJuIHJlc3VsdDsKK30KIAotc3RydWN0IFNjcmlwdE5hbWVDb2RlTWFw
SGFzaFRyYWl0cyA6IHB1YmxpYyBIYXNoVHJhaXRzPFN0cmluZz4gewotICAgIHN0YXRpYyBjb25z
dCBpbnQgbWluaW11bVRhYmxlU2l6ZSA9IFdURjo6SGFzaFRhYmxlQ2FwYWNpdHlGb3JTaXplPFdU
Rl9BUlJBWV9MRU5HVEgoc2NyaXB0TmFtZUNvZGVMaXN0KT46OnZhbHVlOworc3RydWN0IFNjcmlw
dE5hbWVDb2RlIHsKKyAgICBTY3JpcHROYW1lIG5hbWU7CisgICAgVVNjcmlwdENvZGUgY29kZTsK
IH07CiAKIFVTY3JpcHRDb2RlIHNjcmlwdE5hbWVUb0NvZGUoY29uc3QgU3RyaW5nJiBzY3JpcHRO
YW1lKQogewotICAgIHN0YXRpYyBjb25zdCBhdXRvIHNjcmlwdE5hbWVDb2RlTWFwID0gbWFrZU5l
dmVyRGVzdHJveWVkKFtdIHsKLSAgICAgICAgSGFzaE1hcDxTdHJpbmcsIFVTY3JpcHRDb2RlLCBB
U0NJSUNhc2VJbnNlbnNpdGl2ZUhhc2gsIFNjcmlwdE5hbWVDb2RlTWFwSGFzaFRyYWl0cz4gbWFw
OwotICAgICAgICBmb3IgKGF1dG8mIG5hbWVBbmRDb2RlIDogc2NyaXB0TmFtZUNvZGVMaXN0KQot
ICAgICAgICAgICAgbWFwLmFkZChuYW1lQW5kQ29kZS5uYW1lLCBuYW1lQW5kQ29kZS5jb2RlKTsK
LSAgICAgICAgcmV0dXJuIG1hcDsKLSAgICB9KCkpOworICAgIC8vIFRoaXMgZ2VuZXJhbGx5IG1h
cHMgYW4gSVNPIDE1OTI0IHNjcmlwdCBjb2RlIHRvIGl0cyBVU2NyaXB0Q29kZSwgYnV0IGNlcnRh
aW4gZmFtaWxpZXMgb2Ygc2NyaXB0IGNvZGVzIGFyZQorICAgIC8vIHRyZWF0ZWQgYXMgYSBzaW5n
bGUgc2NyaXB0IGZvciBhc3NpZ25pbmcgYSBwZXItc2NyaXB0IGZvbnQgaW4gU2V0dGluZ3MuIEZv
ciBleGFtcGxlLCAiaGlyYSIgaXMgbWFwcGVkIHRvCisgICAgLy8gVVNDUklQVF9LQVRBS0FOQV9P
Ul9ISVJBR0FOQSBpbnN0ZWFkIG9mIFVTQ1JJUFRfSElSQUdBTkEsIHNpbmNlIHdlIHdhbnQgYWxs
IEphcGFuZXNlIHNjcmlwdHMgdG8gYmUgcmVuZGVyZWQKKyAgICAvLyB1c2luZyB0aGUgc2FtZSBm
b250IHNldHRpbmcuCisgICAgc3RhdGljIGNvbnN0ZXhwciBTY3JpcHROYW1lQ29kZSBzY3JpcHRO
YW1lQ29kZUxpc3RbXSA9IHsKKyAgICAgICAgeyBwYXJzZVNjcmlwdE5hbWUoImFyYWIiKSwgVVND
UklQVF9BUkFCSUMgfSwKKyAgICAgICAgeyBwYXJzZVNjcmlwdE5hbWUoImFybW4iKSwgVVNDUklQ
VF9BUk1FTklBTiB9LAorICAgICAgICB7IHBhcnNlU2NyaXB0TmFtZSgiYmFsaSIpLCBVU0NSSVBU
X0JBTElORVNFIH0sCisgICAgICAgIHsgcGFyc2VTY3JpcHROYW1lKCJiYXRrIiksIFVTQ1JJUFRf
QkFUQUsgfSwKKyAgICAgICAgeyBwYXJzZVNjcmlwdE5hbWUoImJlbmciKSwgVVNDUklQVF9CRU5H
QUxJIH0sCisgICAgICAgIHsgcGFyc2VTY3JpcHROYW1lKCJibGlzIiksIFVTQ1JJUFRfQkxJU1NZ
TUJPTFMgfSwKKyAgICAgICAgeyBwYXJzZVNjcmlwdE5hbWUoImJvcG8iKSwgVVNDUklQVF9CT1BP
TU9GTyB9LAorICAgICAgICB7IHBhcnNlU2NyaXB0TmFtZSgiYnJhaCIpLCBVU0NSSVBUX0JSQUhN
SSB9LAorICAgICAgICB7IHBhcnNlU2NyaXB0TmFtZSgiYnJhaSIpLCBVU0NSSVBUX0JSQUlMTEUg
fSwKKyAgICAgICAgeyBwYXJzZVNjcmlwdE5hbWUoImJ1Z2kiKSwgVVNDUklQVF9CVUdJTkVTRSB9
LAorICAgICAgICB7IHBhcnNlU2NyaXB0TmFtZSgiYnVoZCIpLCBVU0NSSVBUX0JVSElEIH0sCisg
ICAgICAgIHsgcGFyc2VTY3JpcHROYW1lKCJjYW5zIiksIFVTQ1JJUFRfQ0FOQURJQU5fQUJPUklH
SU5BTCB9LAorICAgICAgICB7IHBhcnNlU2NyaXB0TmFtZSgiY2hhbSIpLCBVU0NSSVBUX0NIQU0g
fSwKKyAgICAgICAgeyBwYXJzZVNjcmlwdE5hbWUoImNoZXIiKSwgVVNDUklQVF9DSEVST0tFRSB9
LAorICAgICAgICB7IHBhcnNlU2NyaXB0TmFtZSgiY2lydCIpLCBVU0NSSVBUX0NJUlRIIH0sCisg
ICAgICAgIHsgcGFyc2VTY3JpcHROYW1lKCJjb3B0IiksIFVTQ1JJUFRfQ09QVElDIH0sCisgICAg
ICAgIHsgcGFyc2VTY3JpcHROYW1lKCJjcHJ0IiksIFVTQ1JJUFRfQ1lQUklPVCB9LAorICAgICAg
ICB7IHBhcnNlU2NyaXB0TmFtZSgiY3lybCIpLCBVU0NSSVBUX0NZUklMTElDIH0sCisgICAgICAg
IHsgcGFyc2VTY3JpcHROYW1lKCJjeXJzIiksIFVTQ1JJUFRfT0xEX0NIVVJDSF9TTEFWT05JQ19D
WVJJTExJQyB9LAorICAgICAgICB7IHBhcnNlU2NyaXB0TmFtZSgiZGV2YSIpLCBVU0NSSVBUX0RF
VkFOQUdBUkkgfSwKKyAgICAgICAgeyBwYXJzZVNjcmlwdE5hbWUoImRzcnQiKSwgVVNDUklQVF9E
RVNFUkVUIH0sCisgICAgICAgIHsgcGFyc2VTY3JpcHROYW1lKCJlZ3lkIiksIFVTQ1JJUFRfREVN
T1RJQ19FR1lQVElBTiB9LAorICAgICAgICB7IHBhcnNlU2NyaXB0TmFtZSgiZWd5aCIpLCBVU0NS
SVBUX0hJRVJBVElDX0VHWVBUSUFOIH0sCisgICAgICAgIHsgcGFyc2VTY3JpcHROYW1lKCJlZ3lw
IiksIFVTQ1JJUFRfRUdZUFRJQU5fSElFUk9HTFlQSFMgfSwKKyAgICAgICAgeyBwYXJzZVNjcmlw
dE5hbWUoImV0aGkiKSwgVVNDUklQVF9FVEhJT1BJQyB9LAorICAgICAgICB7IHBhcnNlU2NyaXB0
TmFtZSgiZ2VvayIpLCBVU0NSSVBUX0tIVVRTVVJJIH0sCisgICAgICAgIHsgcGFyc2VTY3JpcHRO
YW1lKCJnZW9yIiksIFVTQ1JJUFRfR0VPUkdJQU4gfSwKKyAgICAgICAgeyBwYXJzZVNjcmlwdE5h
bWUoImdsYWciKSwgVVNDUklQVF9HTEFHT0xJVElDIH0sCisgICAgICAgIHsgcGFyc2VTY3JpcHRO
YW1lKCJnb3RoIiksIFVTQ1JJUFRfR09USElDIH0sCisgICAgICAgIHsgcGFyc2VTY3JpcHROYW1l
KCJncmVrIiksIFVTQ1JJUFRfR1JFRUsgfSwKKyAgICAgICAgeyBwYXJzZVNjcmlwdE5hbWUoImd1
anIiKSwgVVNDUklQVF9HVUpBUkFUSSB9LAorICAgICAgICB7IHBhcnNlU2NyaXB0TmFtZSgiZ3Vy
dSIpLCBVU0NSSVBUX0dVUk1VS0hJIH0sCisgICAgICAgIHsgcGFyc2VTY3JpcHROYW1lKCJoYW5n
IiksIFVTQ1JJUFRfSEFOR1VMIH0sCisgICAgICAgIHsgcGFyc2VTY3JpcHROYW1lKCJoYW5pIiks
IFVTQ1JJUFRfSEFOIH0sCisgICAgICAgIHsgcGFyc2VTY3JpcHROYW1lKCJoYW5vIiksIFVTQ1JJ
UFRfSEFOVU5PTyB9LAorICAgICAgICB7IHBhcnNlU2NyaXB0TmFtZSgiaGFucyIpLCBVU0NSSVBU
X1NJTVBMSUZJRURfSEFOIH0sCisgICAgICAgIHsgcGFyc2VTY3JpcHROYW1lKCJoYW50IiksIFVT
Q1JJUFRfVFJBRElUSU9OQUxfSEFOIH0sCisgICAgICAgIHsgcGFyc2VTY3JpcHROYW1lKCJoZWJy
IiksIFVTQ1JJUFRfSEVCUkVXIH0sCisgICAgICAgIHsgcGFyc2VTY3JpcHROYW1lKCJoaXJhIiks
IFVTQ1JJUFRfS0FUQUtBTkFfT1JfSElSQUdBTkEgfSwKKyAgICAgICAgeyBwYXJzZVNjcmlwdE5h
bWUoImhtbmciKSwgVVNDUklQVF9QQUhBV0hfSE1PTkcgfSwKKyAgICAgICAgeyBwYXJzZVNjcmlw
dE5hbWUoImhya3QiKSwgVVNDUklQVF9LQVRBS0FOQV9PUl9ISVJBR0FOQSB9LAorICAgICAgICB7
IHBhcnNlU2NyaXB0TmFtZSgiaHVuZyIpLCBVU0NSSVBUX09MRF9IVU5HQVJJQU4gfSwKKyAgICAg
ICAgeyBwYXJzZVNjcmlwdE5hbWUoImluZHMiKSwgVVNDUklQVF9IQVJBUFBBTl9JTkRVUyB9LAor
ICAgICAgICB7IHBhcnNlU2NyaXB0TmFtZSgiaXRhbCIpLCBVU0NSSVBUX09MRF9JVEFMSUMgfSwK
KyAgICAgICAgeyBwYXJzZVNjcmlwdE5hbWUoImphdmEiKSwgVVNDUklQVF9KQVZBTkVTRSB9LAor
ICAgICAgICB7IHBhcnNlU2NyaXB0TmFtZSgianBhbiIpLCBVU0NSSVBUX0tBVEFLQU5BX09SX0hJ
UkFHQU5BIH0sCisgICAgICAgIHsgcGFyc2VTY3JpcHROYW1lKCJrYWxpIiksIFVTQ1JJUFRfS0FZ
QUhfTEkgfSwKKyAgICAgICAgeyBwYXJzZVNjcmlwdE5hbWUoImthbmEiKSwgVVNDUklQVF9LQVRB
S0FOQV9PUl9ISVJBR0FOQSB9LAorICAgICAgICB7IHBhcnNlU2NyaXB0TmFtZSgia2hhciIpLCBV
U0NSSVBUX0tIQVJPU0hUSEkgfSwKKyAgICAgICAgeyBwYXJzZVNjcmlwdE5hbWUoImtobXIiKSwg
VVNDUklQVF9LSE1FUiB9LAorICAgICAgICB7IHBhcnNlU2NyaXB0TmFtZSgia25kYSIpLCBVU0NS
SVBUX0tBTk5BREEgfSwKKyAgICAgICAgeyBwYXJzZVNjcmlwdE5hbWUoImtvcmUiKSwgVVNDUklQ
VF9IQU5HVUwgfSwKKyAgICAgICAgeyBwYXJzZVNjcmlwdE5hbWUoImxhb28iKSwgVVNDUklQVF9M
QU8gfSwKKyAgICAgICAgeyBwYXJzZVNjcmlwdE5hbWUoImxhdGYiKSwgVVNDUklQVF9MQVRJTl9G
UkFLVFVSIH0sCisgICAgICAgIHsgcGFyc2VTY3JpcHROYW1lKCJsYXRnIiksIFVTQ1JJUFRfTEFU
SU5fR0FFTElDIH0sCisgICAgICAgIHsgcGFyc2VTY3JpcHROYW1lKCJsYXRuIiksIFVTQ1JJUFRf
TEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZVNjcmlwdE5hbWUoImxlcGMiKSwgVVNDUklQVF9MRVBD
SEEgfSwKKyAgICAgICAgeyBwYXJzZVNjcmlwdE5hbWUoImxpbWIiKSwgVVNDUklQVF9MSU1CVSB9
LAorICAgICAgICB7IHBhcnNlU2NyaXB0TmFtZSgibGluYSIpLCBVU0NSSVBUX0xJTkVBUl9BIH0s
CisgICAgICAgIHsgcGFyc2VTY3JpcHROYW1lKCJsaW5iIiksIFVTQ1JJUFRfTElORUFSX0IgfSwK
KyAgICAgICAgeyBwYXJzZVNjcmlwdE5hbWUoIm1hbmQiKSwgVVNDUklQVF9NQU5EQUVBTiB9LAor
ICAgICAgICB7IHBhcnNlU2NyaXB0TmFtZSgibWF5YSIpLCBVU0NSSVBUX01BWUFOX0hJRVJPR0xZ
UEhTIH0sCisgICAgICAgIHsgcGFyc2VTY3JpcHROYW1lKCJtZXJvIiksIFVTQ1JJUFRfTUVST0lU
SUMgfSwKKyAgICAgICAgeyBwYXJzZVNjcmlwdE5hbWUoIm1seW0iKSwgVVNDUklQVF9NQUxBWUFM
QU0gfSwKKyAgICAgICAgeyBwYXJzZVNjcmlwdE5hbWUoIm1vbmciKSwgVVNDUklQVF9NT05HT0xJ
QU4gfSwKKyAgICAgICAgeyBwYXJzZVNjcmlwdE5hbWUoIm15bXIiKSwgVVNDUklQVF9NWUFOTUFS
IH0sCisgICAgICAgIHsgcGFyc2VTY3JpcHROYW1lKCJua29vIiksIFVTQ1JJUFRfTktPIH0sCisg
ICAgICAgIHsgcGFyc2VTY3JpcHROYW1lKCJvZ2FtIiksIFVTQ1JJUFRfT0dIQU0gfSwKKyAgICAg
ICAgeyBwYXJzZVNjcmlwdE5hbWUoIm9ya2giKSwgVVNDUklQVF9PUktIT04gfSwKKyAgICAgICAg
eyBwYXJzZVNjcmlwdE5hbWUoIm9yeWEiKSwgVVNDUklQVF9PUklZQSB9LAorICAgICAgICB7IHBh
cnNlU2NyaXB0TmFtZSgib3NtYSIpLCBVU0NSSVBUX09TTUFOWUEgfSwKKyAgICAgICAgeyBwYXJz
ZVNjcmlwdE5hbWUoInBlcm0iKSwgVVNDUklQVF9PTERfUEVSTUlDIH0sCisgICAgICAgIHsgcGFy
c2VTY3JpcHROYW1lKCJwaGFnIiksIFVTQ1JJUFRfUEhBR1NfUEEgfSwKKyAgICAgICAgeyBwYXJz
ZVNjcmlwdE5hbWUoInBobngiKSwgVVNDUklQVF9QSE9FTklDSUFOIH0sCisgICAgICAgIHsgcGFy
c2VTY3JpcHROYW1lKCJwbHJkIiksIFVTQ1JJUFRfUEhPTkVUSUNfUE9MTEFSRCB9LAorICAgICAg
ICB7IHBhcnNlU2NyaXB0TmFtZSgicWFhaSIpLCBVU0NSSVBUX0lOSEVSSVRFRCB9LAorICAgICAg
ICB7IHBhcnNlU2NyaXB0TmFtZSgicm9ybyIpLCBVU0NSSVBUX1JPTkdPUk9OR08gfSwKKyAgICAg
ICAgeyBwYXJzZVNjcmlwdE5hbWUoInJ1bnIiKSwgVVNDUklQVF9SVU5JQyB9LAorICAgICAgICB7
IHBhcnNlU2NyaXB0TmFtZSgic2FyYSIpLCBVU0NSSVBUX1NBUkFUSSB9LAorICAgICAgICB7IHBh
cnNlU2NyaXB0TmFtZSgic2hhdyIpLCBVU0NSSVBUX1NIQVZJQU4gfSwKKyAgICAgICAgeyBwYXJz
ZVNjcmlwdE5hbWUoInNpbmgiKSwgVVNDUklQVF9TSU5IQUxBIH0sCisgICAgICAgIHsgcGFyc2VT
Y3JpcHROYW1lKCJzeWxvIiksIFVTQ1JJUFRfU1lMT1RJX05BR1JJIH0sCisgICAgICAgIHsgcGFy
c2VTY3JpcHROYW1lKCJzeXJjIiksIFVTQ1JJUFRfU1lSSUFDIH0sCisgICAgICAgIHsgcGFyc2VT
Y3JpcHROYW1lKCJzeXJlIiksIFVTQ1JJUFRfRVNUUkFOR0VMT19TWVJJQUMgfSwKKyAgICAgICAg
eyBwYXJzZVNjcmlwdE5hbWUoInN5cmoiKSwgVVNDUklQVF9XRVNURVJOX1NZUklBQyB9LAorICAg
ICAgICB7IHBhcnNlU2NyaXB0TmFtZSgic3lybiIpLCBVU0NSSVBUX0VBU1RFUk5fU1lSSUFDIH0s
CisgICAgICAgIHsgcGFyc2VTY3JpcHROYW1lKCJ0YWdiIiksIFVTQ1JJUFRfVEFHQkFOV0EgfSwK
KyAgICAgICAgeyBwYXJzZVNjcmlwdE5hbWUoInRhbGUiKSwgVVNDUklQVF9UQUlfTEUgfSwKKyAg
ICAgICAgeyBwYXJzZVNjcmlwdE5hbWUoInRhbHUiKSwgVVNDUklQVF9ORVdfVEFJX0xVRSB9LAor
ICAgICAgICB7IHBhcnNlU2NyaXB0TmFtZSgidGFtbCIpLCBVU0NSSVBUX1RBTUlMIH0sCisgICAg
ICAgIHsgcGFyc2VTY3JpcHROYW1lKCJ0ZWx1IiksIFVTQ1JJUFRfVEVMVUdVIH0sCisgICAgICAg
IHsgcGFyc2VTY3JpcHROYW1lKCJ0ZW5nIiksIFVTQ1JJUFRfVEVOR1dBUiB9LAorICAgICAgICB7
IHBhcnNlU2NyaXB0TmFtZSgidGZuZyIpLCBVU0NSSVBUX1RJRklOQUdIIH0sCisgICAgICAgIHsg
cGFyc2VTY3JpcHROYW1lKCJ0Z2xnIiksIFVTQ1JJUFRfVEFHQUxPRyB9LAorICAgICAgICB7IHBh
cnNlU2NyaXB0TmFtZSgidGhhYSIpLCBVU0NSSVBUX1RIQUFOQSB9LAorICAgICAgICB7IHBhcnNl
U2NyaXB0TmFtZSgidGhhaSIpLCBVU0NSSVBUX1RIQUkgfSwKKyAgICAgICAgeyBwYXJzZVNjcmlw
dE5hbWUoInRpYnQiKSwgVVNDUklQVF9USUJFVEFOIH0sCisgICAgICAgIHsgcGFyc2VTY3JpcHRO
YW1lKCJ1Z2FyIiksIFVTQ1JJUFRfVUdBUklUSUMgfSwKKyAgICAgICAgeyBwYXJzZVNjcmlwdE5h
bWUoInZhaWkiKSwgVVNDUklQVF9WQUkgfSwKKyAgICAgICAgeyBwYXJzZVNjcmlwdE5hbWUoInZp
c3AiKSwgVVNDUklQVF9WSVNJQkxFX1NQRUVDSCB9LAorICAgICAgICB7IHBhcnNlU2NyaXB0TmFt
ZSgieHBlbyIpLCBVU0NSSVBUX09MRF9QRVJTSUFOIH0sCisgICAgICAgIHsgcGFyc2VTY3JpcHRO
YW1lKCJ4c3V4IiksIFVTQ1JJUFRfQ1VORUlGT1JNIH0sCisgICAgICAgIHsgcGFyc2VTY3JpcHRO
YW1lKCJ5aWlpIiksIFVTQ1JJUFRfWUkgfSwKKyAgICAgICAgeyBwYXJzZVNjcmlwdE5hbWUoInp4
eHgiKSwgVVNDUklQVF9VTldSSVRURU5fTEFOR1VBR0VTIH0sCisgICAgICAgIHsgcGFyc2VTY3Jp
cHROYW1lKCJ6eXl5IiksIFVTQ1JJUFRfQ09NTU9OIH0sCisgICAgICAgIHsgcGFyc2VTY3JpcHRO
YW1lKCJ6enp6IiksIFVTQ1JJUFRfVU5LTk9XTiB9LAorICAgIH07CiAKLSAgICBhdXRvIGl0ID0g
c2NyaXB0TmFtZUNvZGVNYXAuZ2V0KCkuZmluZChzY3JpcHROYW1lKTsKLSAgICBpZiAoaXQgIT0g
c2NyaXB0TmFtZUNvZGVNYXAuZ2V0KCkuZW5kKCkpCi0gICAgICAgIHJldHVybiBpdC0+dmFsdWU7
CisgICAgQVNTRVJUKAorICAgICAgICBzdGQ6OmlzX3NvcnRlZChzdGQ6OmJlZ2luKHNjcmlwdE5h
bWVDb2RlTGlzdCksIHN0ZDo6ZW5kKHNjcmlwdE5hbWVDb2RlTGlzdCksCisgICAgICAgICAgICBb
XShjb25zdCBTY3JpcHROYW1lQ29kZSYgYSwgY29uc3QgU2NyaXB0TmFtZUNvZGUmIGIpIHsKKyAg
ICAgICAgICAgICAgICByZXR1cm4gYS5uYW1lIDwgYi5uYW1lOworICAgICAgICAgICAgfSkpOwor
CisgICAgYXV0byBuYW1lID0gdHJ5UGFyc2VTY3JpcHROYW1lKHNjcmlwdE5hbWUpOworICAgIGlm
ICghbmFtZSkKKyAgICAgICAgcmV0dXJuIFVTQ1JJUFRfSU5WQUxJRF9DT0RFOworCisgICAgYXV0
byogZWxlbWVudCA9IHRyeUJpbmFyeVNlYXJjaDxTY3JpcHROYW1lQ29kZT4oc2NyaXB0TmFtZUNv
ZGVMaXN0LCBXVEZfQVJSQVlfTEVOR1RIKHNjcmlwdE5hbWVDb2RlTGlzdCksIG5hbWUudmFsdWUo
KSwKKyAgICAgICAgW10oY29uc3QgU2NyaXB0TmFtZUNvZGUqIHNjcmlwdE5hbWVDb2RlKSB7Cisg
ICAgICAgICAgICByZXR1cm4gc2NyaXB0TmFtZUNvZGUtPm5hbWU7CisgICAgICAgIH0pOworICAg
IGlmIChlbGVtZW50KQorICAgICAgICByZXR1cm4gZWxlbWVudC0+Y29kZTsKICAgICByZXR1cm4g
VVNDUklQVF9JTlZBTElEX0NPREU7CiB9CiAKLXN0cnVjdCBMb2NhbGVTY3JpcHQgewotICAgIEFT
Q0lJTGl0ZXJhbCBsb2NhbGU7Ci0gICAgVVNjcmlwdENvZGUgc2NyaXB0OwotfTsKK3VzaW5nIExv
Y2FsZU5hbWUgPSB1aW50NjRfdDsKK3RlbXBsYXRlPHVuc2lnbmVkIGNoYXJhY3RlckNvdW50UGx1
c09uZT4KK3N0YXRpYyBjb25zdGV4cHIgTG9jYWxlTmFtZSBwYXJzZUxvY2FsZU5hbWUoY29uc3Qg
Y2hhciAoJnN0cmluZylbY2hhcmFjdGVyQ291bnRQbHVzT25lXSkKK3sKKyAgICBjb25zdGV4cHIg
dW5zaWduZWQgbGVuZ3RoID0gY2hhcmFjdGVyQ291bnRQbHVzT25lIC0gMTsKKyAgICBBU1NFUlRf
VU5ERVJfQ09OU1RFWFBSX0NPTlRFWFQobGVuZ3RoIDw9IDgpOworICAgIExvY2FsZU5hbWUgcmVz
dWx0ID0gMDsKKyAgICBmb3IgKHVuc2lnbmVkIGluZGV4ID0gMDsgaW5kZXggPCBsZW5ndGg7ICsr
aW5kZXgpIHsKKyAgICAgICAgdWludDhfdCBjb2RlID0gc3RhdGljX2Nhc3Q8dWludDhfdD4oc3Ry
aW5nW2luZGV4XSk7CisgICAgICAgIHJlc3VsdCB8PSAoc3RhdGljX2Nhc3Q8TG9jYWxlTmFtZT4o
Y29kZSkgPDwgKCg4IC0gaW5kZXggLSAxKSAqIENIQVJfQklUKSk7CisgICAgfQorICAgIHJldHVy
biByZXN1bHQ7Cit9CiAKLXN0YXRpYyBjb25zdCBMb2NhbGVTY3JpcHQgbG9jYWxlU2NyaXB0TGlz
dFtdID0gewotICAgIHsgImFhIl9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAiYWIiX3MsIFVT
Q1JJUFRfQ1lSSUxMSUMgfSwKLSAgICB7ICJhZHkiX3MsIFVTQ1JJUFRfQ1lSSUxMSUMgfSwKLSAg
ICB7ICJhZiJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgImFrIl9zLCBVU0NSSVBUX0xBVElO
IH0sCi0gICAgeyAiYW0iX3MsIFVTQ1JJUFRfRVRISU9QSUMgfSwKLSAgICB7ICJhciJfcywgVVND
UklQVF9BUkFCSUMgfSwKLSAgICB7ICJhcyJfcywgVVNDUklQVF9CRU5HQUxJIH0sCi0gICAgeyAi
YXN0Il9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAiYXYiX3MsIFVTQ1JJUFRfQ1lSSUxMSUMg
fSwKLSAgICB7ICJheSJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgImF6Il9zLCBVU0NSSVBU
X0xBVElOIH0sCi0gICAgeyAiYmEiX3MsIFVTQ1JJUFRfQ1lSSUxMSUMgfSwKLSAgICB7ICJiZSJf
cywgVVNDUklQVF9DWVJJTExJQyB9LAotICAgIHsgImJnIl9zLCBVU0NSSVBUX0NZUklMTElDIH0s
Ci0gICAgeyAiYmkiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJibiJfcywgVVNDUklQVF9C
RU5HQUxJIH0sCi0gICAgeyAiYm8iX3MsIFVTQ1JJUFRfVElCRVRBTiB9LAotICAgIHsgImJzIl9z
LCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAiY2EiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7
ICJjZSJfcywgVVNDUklQVF9DWVJJTExJQyB9LAotICAgIHsgImNlYiJfcywgVVNDUklQVF9MQVRJ
TiB9LAotICAgIHsgImNoIl9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAiY2hrIl9zLCBVU0NS
SVBUX0xBVElOIH0sCi0gICAgeyAiY3MiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJjeSJf
cywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgImRhIl9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAg
eyAiZGUiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJkdiJfcywgVVNDUklQVF9USEFBTkEg
fSwKLSAgICB7ICJkeiJfcywgVVNDUklQVF9USUJFVEFOIH0sCi0gICAgeyAiZWUiX3MsIFVTQ1JJ
UFRfTEFUSU4gfSwKLSAgICB7ICJlZmkiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJlbCJf
cywgVVNDUklQVF9HUkVFSyB9LAotICAgIHsgImVuIl9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAg
eyAiZXMiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJldCJfcywgVVNDUklQVF9MQVRJTiB9
LAotICAgIHsgImV1Il9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAiZmEiX3MsIFVTQ1JJUFRf
QVJBQklDIH0sCi0gICAgeyAiZmkiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJmaWwiX3Ms
IFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJmaiJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsg
ImZvIl9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAiZnIiX3MsIFVTQ1JJUFRfTEFUSU4gfSwK
LSAgICB7ICJmdXIiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJmeSJfcywgVVNDUklQVF9M
QVRJTiB9LAotICAgIHsgImdhIl9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAiZ2FhIl9zLCBV
U0NSSVBUX0xBVElOIH0sCi0gICAgeyAiZ2QiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJn
aWwiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJnbCJfcywgVVNDUklQVF9MQVRJTiB9LAot
ICAgIHsgImduIl9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAiZ3N3Il9zLCBVU0NSSVBUX0xB
VElOIH0sCi0gICAgeyAiZ3UiX3MsIFVTQ1JJUFRfR1VKQVJBVEkgfSwKLSAgICB7ICJoYSJfcywg
VVNDUklQVF9MQVRJTiB9LAotICAgIHsgImhhdyJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsg
ImhlIl9zLCBVU0NSSVBUX0hFQlJFVyB9LAotICAgIHsgImhpIl9zLCBVU0NSSVBUX0RFVkFOQUdB
UkkgfSwKLSAgICB7ICJoaWwiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJobyJfcywgVVND
UklQVF9MQVRJTiB9LAotICAgIHsgImhyIl9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAiaHQi
X3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJodSJfcywgVVNDUklQVF9MQVRJTiB9LAotICAg
IHsgImh5Il9zLCBVU0NSSVBUX0FSTUVOSUFOIH0sCi0gICAgeyAiaWQiX3MsIFVTQ1JJUFRfTEFU
SU4gfSwKLSAgICB7ICJpZyJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgImlpIl9zLCBVU0NS
SVBUX1lJIH0sCi0gICAgeyAiaWxvIl9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAiaW5oIl9z
LCBVU0NSSVBUX0NZUklMTElDIH0sCi0gICAgeyAiaXMiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAg
ICB7ICJpdCJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgIml1Il9zLCBVU0NSSVBUX0NBTkFE
SUFOX0FCT1JJR0lOQUwgfSwKLSAgICB7ICJqYSJfcywgVVNDUklQVF9LQVRBS0FOQV9PUl9ISVJB
R0FOQSB9LAotICAgIHsgImp2Il9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAia2EiX3MsIFVT
Q1JJUFRfR0VPUkdJQU4gfSwKLSAgICB7ICJrYWoiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7
ICJrYW0iX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJrYmQiX3MsIFVTQ1JJUFRfQ1lSSUxM
SUMgfSwKLSAgICB7ICJraGEiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJrayJfcywgVVND
UklQVF9DWVJJTExJQyB9LAotICAgIHsgImtsIl9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAi
a20iX3MsIFVTQ1JJUFRfS0hNRVIgfSwKLSAgICB7ICJrbiJfcywgVVNDUklQVF9LQU5OQURBIH0s
Ci0gICAgeyAia28iX3MsIFVTQ1JJUFRfSEFOR1VMIH0sCi0gICAgeyAia29rIl9zLCBVU0NSSVBU
X0RFVkFOQUdBUkkgfSwKLSAgICB7ICJrb3MiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJr
cGUiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJrcmMiX3MsIFVTQ1JJUFRfQ1lSSUxMSUMg
fSwKLSAgICB7ICJrcyJfcywgVVNDUklQVF9BUkFCSUMgfSwKLSAgICB7ICJrdSJfcywgVVNDUklQ
VF9BUkFCSUMgfSwKLSAgICB7ICJrdW0iX3MsIFVTQ1JJUFRfQ1lSSUxMSUMgfSwKLSAgICB7ICJr
eSJfcywgVVNDUklQVF9DWVJJTExJQyB9LAotICAgIHsgImxhIl9zLCBVU0NSSVBUX0xBVElOIH0s
Ci0gICAgeyAibGFoIl9zLCBVU0NSSVBUX0FSQUJJQyB9LAotICAgIHsgImxiIl9zLCBVU0NSSVBU
X0xBVElOIH0sCi0gICAgeyAibGV6Il9zLCBVU0NSSVBUX0NZUklMTElDIH0sCi0gICAgeyAibG4i
X3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJsbyJfcywgVVNDUklQVF9MQU8gfSwKLSAgICB7
ICJsdCJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgImx2Il9zLCBVU0NSSVBUX0xBVElOIH0s
Ci0gICAgeyAibWFpIl9zLCBVU0NSSVBUX0RFVkFOQUdBUkkgfSwKLSAgICB7ICJtZGYiX3MsIFVT
Q1JJUFRfQ1lSSUxMSUMgfSwKLSAgICB7ICJtZyJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsg
Im1oIl9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAibWkiX3MsIFVTQ1JJUFRfTEFUSU4gfSwK
LSAgICB7ICJtayJfcywgVVNDUklQVF9DWVJJTExJQyB9LAotICAgIHsgIm1sIl9zLCBVU0NSSVBU
X01BTEFZQUxBTSB9LAotICAgIHsgIm1uIl9zLCBVU0NSSVBUX0NZUklMTElDIH0sCi0gICAgeyAi
bXIiX3MsIFVTQ1JJUFRfREVWQU5BR0FSSSB9LAotICAgIHsgIm1zIl9zLCBVU0NSSVBUX0xBVElO
IH0sCi0gICAgeyAibXQiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJteSJfcywgVVNDUklQ
VF9NWUFOTUFSIH0sCi0gICAgeyAibXl2Il9zLCBVU0NSSVBUX0NZUklMTElDIH0sCi0gICAgeyAi
bmEiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJuYiJfcywgVVNDUklQVF9MQVRJTiB9LAot
ICAgIHsgIm5lIl9zLCBVU0NSSVBUX0RFVkFOQUdBUkkgfSwKLSAgICB7ICJuaXUiX3MsIFVTQ1JJ
UFRfTEFUSU4gfSwKLSAgICB7ICJubCJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgIm5uIl9z
LCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAibnIiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7
ICJuc28iX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJueSJfcywgVVNDUklQVF9MQVRJTiB9
LAotICAgIHsgIm9jIl9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAib20iX3MsIFVTQ1JJUFRf
TEFUSU4gfSwKLSAgICB7ICJvciJfcywgVVNDUklQVF9PUklZQSB9LAotICAgIHsgIm9zIl9zLCBV
U0NSSVBUX0NZUklMTElDIH0sCi0gICAgeyAicGEiX3MsIFVTQ1JJUFRfR1VSTVVLSEkgfSwKLSAg
ICB7ICJwYWciX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJwYXAiX3MsIFVTQ1JJUFRfTEFU
SU4gfSwKLSAgICB7ICJwYXUiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJwbCJfcywgVVND
UklQVF9MQVRJTiB9LAotICAgIHsgInBvbiJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgInBz
Il9zLCBVU0NSSVBUX0FSQUJJQyB9LAotICAgIHsgInB0Il9zLCBVU0NSSVBUX0xBVElOIH0sCi0g
ICAgeyAicXUiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJybSJfcywgVVNDUklQVF9MQVRJ
TiB9LAotICAgIHsgInJuIl9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAicm8iX3MsIFVTQ1JJ
UFRfTEFUSU4gfSwKLSAgICB7ICJydSJfcywgVVNDUklQVF9DWVJJTExJQyB9LAotICAgIHsgInJ3
Il9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAic2EiX3MsIFVTQ1JJUFRfREVWQU5BR0FSSSB9
LAotICAgIHsgInNhaCJfcywgVVNDUklQVF9DWVJJTExJQyB9LAotICAgIHsgInNhdCJfcywgVVND
UklQVF9MQVRJTiB9LAotICAgIHsgInNkIl9zLCBVU0NSSVBUX0FSQUJJQyB9LAotICAgIHsgInNl
Il9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAic2ciX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAg
ICB7ICJzaSJfcywgVVNDUklQVF9TSU5IQUxBIH0sCi0gICAgeyAic2lkIl9zLCBVU0NSSVBUX0xB
VElOIH0sCi0gICAgeyAic2siX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJzbCJfcywgVVND
UklQVF9MQVRJTiB9LAotICAgIHsgInNtIl9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAic28i
X3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJzcSJfcywgVVNDUklQVF9MQVRJTiB9LAotICAg
IHsgInNyIl9zLCBVU0NSSVBUX0NZUklMTElDIH0sCi0gICAgeyAic3MiX3MsIFVTQ1JJUFRfTEFU
SU4gfSwKLSAgICB7ICJzdCJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgInN1Il9zLCBVU0NS
SVBUX0xBVElOIH0sCi0gICAgeyAic3YiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJzdyJf
cywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgInRhIl9zLCBVU0NSSVBUX1RBTUlMIH0sCi0gICAg
eyAidGUiX3MsIFVTQ1JJUFRfVEVMVUdVIH0sCi0gICAgeyAidGV0Il9zLCBVU0NSSVBUX0xBVElO
IH0sCi0gICAgeyAidGciX3MsIFVTQ1JJUFRfQ1lSSUxMSUMgfSwKLSAgICB7ICJ0aCJfcywgVVND
UklQVF9USEFJIH0sCi0gICAgeyAidGkiX3MsIFVTQ1JJUFRfRVRISU9QSUMgfSwKLSAgICB7ICJ0
aWciX3MsIFVTQ1JJUFRfRVRISU9QSUMgfSwKLSAgICB7ICJ0ayJfcywgVVNDUklQVF9MQVRJTiB9
LAotICAgIHsgInRrbCJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgInRsIl9zLCBVU0NSSVBU
X0xBVElOIH0sCi0gICAgeyAidG4iX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJ0byJfcywg
VVNDUklQVF9MQVRJTiB9LAotICAgIHsgInRwaSJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsg
InRyIl9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAidHJ2Il9zLCBVU0NSSVBUX0xBVElOIH0s
Ci0gICAgeyAidHMiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJ0dCJfcywgVVNDUklQVF9D
WVJJTExJQyB9LAotICAgIHsgInR2bCJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgInR3Il9z
LCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAidHkiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7
ICJ0eXYiX3MsIFVTQ1JJUFRfQ1lSSUxMSUMgfSwKLSAgICB7ICJ1ZG0iX3MsIFVTQ1JJUFRfQ1lS
SUxMSUMgfSwKLSAgICB7ICJ1ZyJfcywgVVNDUklQVF9BUkFCSUMgfSwKLSAgICB7ICJ1ayJfcywg
VVNDUklQVF9DWVJJTExJQyB9LAotICAgIHsgInVuZCJfcywgVVNDUklQVF9MQVRJTiB9LAotICAg
IHsgInVyIl9zLCBVU0NSSVBUX0FSQUJJQyB9LAotICAgIHsgInV6Il9zLCBVU0NSSVBUX0NZUklM
TElDIH0sCi0gICAgeyAidmUiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJ2aSJfcywgVVND
UklQVF9MQVRJTiB9LAotICAgIHsgIndhbCJfcywgVVNDUklQVF9FVEhJT1BJQyB9LAotICAgIHsg
IndhciJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgIndvIl9zLCBVU0NSSVBUX0xBVElOIH0s
Ci0gICAgeyAieGgiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJ5YXAiX3MsIFVTQ1JJUFRf
TEFUSU4gfSwKLSAgICB7ICJ5byJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgInphIl9zLCBV
U0NSSVBUX0xBVElOIH0sCi0gICAgeyAiemgiX3MsIFVTQ1JJUFRfSEFOIH0sCi0gICAgeyAiemhf
aGsiX3MsIFVTQ1JJUFRfVFJBRElUSU9OQUxfSEFOIH0sCi0gICAgeyAiemhfdHciX3MsIFVTQ1JJ
UFRfVFJBRElUSU9OQUxfSEFOIH0sCi0gICAgeyAienUiX3MsIFVTQ1JJUFRfTEFUSU4gfQotfTsK
K3N0YXRpYyBPcHRpb25hbDxMb2NhbGVOYW1lPiB0cnlQYXJzZUxvY2FsZU5hbWUoU3RyaW5nVmll
dyBzdHJpbmcpCit7CisgICAgaWYgKHN0cmluZy5sZW5ndGgoKSA+IDgpCisgICAgICAgIHJldHVy
biBXVEY6Om51bGxvcHQ7CisgICAgTG9jYWxlTmFtZSByZXN1bHQgPSAwOworICAgIGZvciAodW5z
aWduZWQgaW5kZXggPSAwOyBpbmRleCA8IHN0cmluZy5sZW5ndGgoKTsgKytpbmRleCkgeworICAg
ICAgICBVQ2hhciBjb2RlID0gc3RyaW5nW2luZGV4XTsKKyAgICAgICAgaWYgKCFpc0FTQ0lJKGNv
ZGUpKQorICAgICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKyAgICAgICAgcmVzdWx0IHw9
IChzdGF0aWNfY2FzdDxMb2NhbGVOYW1lPih0b0FTQ0lJTG93ZXIoY29kZSkpIDw8ICgoOCAtIGlu
ZGV4IC0gMSkgKiBDSEFSX0JJVCkpOworICAgIH0KKyAgICByZXR1cm4gcmVzdWx0OworfQogCi1z
dHJ1Y3QgTG9jYWxlU2NyaXB0TWFwSGFzaFRyYWl0cyA6IHB1YmxpYyBIYXNoVHJhaXRzPFN0cmlu
Zz4gewotICAgIHN0YXRpYyBjb25zdCBpbnQgbWluaW11bVRhYmxlU2l6ZSA9IFdURjo6SGFzaFRh
YmxlQ2FwYWNpdHlGb3JTaXplPFdURl9BUlJBWV9MRU5HVEgobG9jYWxlU2NyaXB0TGlzdCk+Ojp2
YWx1ZTsKK3N0cnVjdCBMb2NhbGVTY3JpcHQgeworICAgIExvY2FsZU5hbWUgbG9jYWxlOworICAg
IFVTY3JpcHRDb2RlIHNjcmlwdDsKIH07CiAKIFVTY3JpcHRDb2RlIGxvY2FsZVRvU2NyaXB0Q29k
ZUZvckZvbnRTZWxlY3Rpb24oY29uc3QgU3RyaW5nJiBsb2NhbGUpCiB7Ci0gICAgc3RhdGljIGNv
bnN0IGF1dG8gbG9jYWxlU2NyaXB0TWFwID0gbWFrZU5ldmVyRGVzdHJveWVkKFtdIHsKLSAgICAg
ICAgSGFzaE1hcDxTdHJpbmcsIFVTY3JpcHRDb2RlLCBBU0NJSUNhc2VJbnNlbnNpdGl2ZUhhc2gs
IExvY2FsZVNjcmlwdE1hcEhhc2hUcmFpdHM+IG1hcDsKLSAgICAgICAgZm9yIChhdXRvJiBsb2Nh
bGVBbmRTY3JpcHQgOiBsb2NhbGVTY3JpcHRMaXN0KQotICAgICAgICAgICAgbWFwLmFkZChsb2Nh
bGVBbmRTY3JpcHQubG9jYWxlLCBsb2NhbGVBbmRTY3JpcHQuc2NyaXB0KTsKLSAgICAgICAgcmV0
dXJuIG1hcDsKLSAgICB9KCkpOworICAgIHN0YXRpYyBjb25zdGV4cHIgTG9jYWxlU2NyaXB0IGxv
Y2FsZVNjcmlwdExpc3RbXSA9IHsKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoImFhIiksIFVT
Q1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoImFiIiksIFVTQ1JJUFRf
Q1lSSUxMSUMgfSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoImFkeSIpLCBVU0NSSVBUX0NZ
UklMTElDIH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJhZiIpLCBVU0NSSVBUX0xBVElO
IH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJhayIpLCBVU0NSSVBUX0xBVElOIH0sCisg
ICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJhbSIpLCBVU0NSSVBUX0VUSElPUElDIH0sCisgICAg
ICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJhciIpLCBVU0NSSVBUX0FSQUJJQyB9LAorICAgICAgICB7
IHBhcnNlTG9jYWxlTmFtZSgiYXMiKSwgVVNDUklQVF9CRU5HQUxJIH0sCisgICAgICAgIHsgcGFy
c2VMb2NhbGVOYW1lKCJhc3QiKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlTG9j
YWxlTmFtZSgiYXYiKSwgVVNDUklQVF9DWVJJTExJQyB9LAorICAgICAgICB7IHBhcnNlTG9jYWxl
TmFtZSgiYXkiKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgi
YXoiKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgiYmEiKSwg
VVNDUklQVF9DWVJJTExJQyB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgiYmUiKSwgVVND
UklQVF9DWVJJTExJQyB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgiYmciKSwgVVNDUklQ
VF9DWVJJTExJQyB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgiYmkiKSwgVVNDUklQVF9M
QVRJTiB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgiYm4iKSwgVVNDUklQVF9CRU5HQUxJ
IH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJibyIpLCBVU0NSSVBUX1RJQkVUQU4gfSwK
KyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoImJzIiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAg
ICAgeyBwYXJzZUxvY2FsZU5hbWUoImNhIiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBw
YXJzZUxvY2FsZU5hbWUoImNlIiksIFVTQ1JJUFRfQ1lSSUxMSUMgfSwKKyAgICAgICAgeyBwYXJz
ZUxvY2FsZU5hbWUoImNlYiIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VMb2Nh
bGVOYW1lKCJjaCIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVOYW1l
KCJjaGsiKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgiY3Mi
KSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgiY3kiKSwgVVND
UklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgiZGEiKSwgVVNDUklQVF9M
QVRJTiB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgiZGUiKSwgVVNDUklQVF9MQVRJTiB9
LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgiZHYiKSwgVVNDUklQVF9USEFBTkEgfSwKKyAg
ICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoImR6IiksIFVTQ1JJUFRfVElCRVRBTiB9LAorICAgICAg
ICB7IHBhcnNlTG9jYWxlTmFtZSgiZWUiKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBh
cnNlTG9jYWxlTmFtZSgiZWZpIiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUxv
Y2FsZU5hbWUoImVsIiksIFVTQ1JJUFRfR1JFRUsgfSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5h
bWUoImVuIiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoImVz
IiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoImV0IiksIFVT
Q1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoImV1IiksIFVTQ1JJUFRf
TEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoImZhIiksIFVTQ1JJUFRfQVJBQklD
IH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJmaSIpLCBVU0NSSVBUX0xBVElOIH0sCisg
ICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJmaWwiKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAg
ICB7IHBhcnNlTG9jYWxlTmFtZSgiZmoiKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBh
cnNlTG9jYWxlTmFtZSgiZm8iKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlTG9j
YWxlTmFtZSgiZnIiKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFt
ZSgiZnVyIiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoImZ5
IiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoImdhIiksIFVT
Q1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoImdhYSIpLCBVU0NSSVBU
X0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJnZCIpLCBVU0NSSVBUX0xBVElO
IH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJnaWwiKSwgVVNDUklQVF9MQVRJTiB9LAor
ICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgiZ2wiKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAg
ICB7IHBhcnNlTG9jYWxlTmFtZSgiZ24iKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBh
cnNlTG9jYWxlTmFtZSgiZ3N3IiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUxv
Y2FsZU5hbWUoImd1IiksIFVTQ1JJUFRfR1VKQVJBVEkgfSwKKyAgICAgICAgeyBwYXJzZUxvY2Fs
ZU5hbWUoImhhIiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUo
ImhhdyIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJoZSIp
LCBVU0NSSVBUX0hFQlJFVyB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgiaGkiKSwgVVND
UklQVF9ERVZBTkFHQVJJIH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJoaWwiKSwgVVND
UklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgiaG8iKSwgVVNDUklQVF9M
QVRJTiB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgiaHIiKSwgVVNDUklQVF9MQVRJTiB9
LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgiaHQiKSwgVVNDUklQVF9MQVRJTiB9LAorICAg
ICAgICB7IHBhcnNlTG9jYWxlTmFtZSgiaHUiKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7
IHBhcnNlTG9jYWxlTmFtZSgiaHkiKSwgVVNDUklQVF9BUk1FTklBTiB9LAorICAgICAgICB7IHBh
cnNlTG9jYWxlTmFtZSgiaWQiKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlTG9j
YWxlTmFtZSgiaWciKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFt
ZSgiaWkiKSwgVVNDUklQVF9ZSSB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgiaWxvIiks
IFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoImluaCIpLCBVU0NS
SVBUX0NZUklMTElDIH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJpcyIpLCBVU0NSSVBU
X0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJpdCIpLCBVU0NSSVBUX0xBVElO
IH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJpdSIpLCBVU0NSSVBUX0NBTkFESUFOX0FC
T1JJR0lOQUwgfSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoImphIiksIFVTQ1JJUFRfS0FU
QUtBTkFfT1JfSElSQUdBTkEgfSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoImp2IiksIFVT
Q1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoImthIiksIFVTQ1JJUFRf
R0VPUkdJQU4gfSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoImthaiIpLCBVU0NSSVBUX0xB
VElOIH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJrYW0iKSwgVVNDUklQVF9MQVRJTiB9
LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgia2JkIiksIFVTQ1JJUFRfQ1lSSUxMSUMgfSwK
KyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoImtoYSIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAg
ICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJrayIpLCBVU0NSSVBUX0NZUklMTElDIH0sCisgICAgICAg
IHsgcGFyc2VMb2NhbGVOYW1lKCJrbCIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFy
c2VMb2NhbGVOYW1lKCJrbSIpLCBVU0NSSVBUX0tITUVSIH0sCisgICAgICAgIHsgcGFyc2VMb2Nh
bGVOYW1lKCJrbiIpLCBVU0NSSVBUX0tBTk5BREEgfSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5h
bWUoImtvIiksIFVTQ1JJUFRfSEFOR1VMIH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJr
b2siKSwgVVNDUklQVF9ERVZBTkFHQVJJIH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJr
b3MiKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgia3BlIiks
IFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoImtyYyIpLCBVU0NS
SVBUX0NZUklMTElDIH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJrcyIpLCBVU0NSSVBU
X0FSQUJJQyB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgia3UiKSwgVVNDUklQVF9BUkFC
SUMgfSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoImt1bSIpLCBVU0NSSVBUX0NZUklMTElD
IH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJreSIpLCBVU0NSSVBUX0NZUklMTElDIH0s
CisgICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJsYSIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAg
ICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJsYWgiKSwgVVNDUklQVF9BUkFCSUMgfSwKKyAgICAgICAg
eyBwYXJzZUxvY2FsZU5hbWUoImxiIiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJz
ZUxvY2FsZU5hbWUoImxleiIpLCBVU0NSSVBUX0NZUklMTElDIH0sCisgICAgICAgIHsgcGFyc2VM
b2NhbGVOYW1lKCJsbiIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVO
YW1lKCJsbyIpLCBVU0NSSVBUX0xBTyB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgibHQi
KSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgibHYiKSwgVVND
UklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgibWFpIiksIFVTQ1JJUFRf
REVWQU5BR0FSSSB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgibWRmIiksIFVTQ1JJUFRf
Q1lSSUxMSUMgfSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoIm1nIiksIFVTQ1JJUFRfTEFU
SU4gfSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoIm1oIiksIFVTQ1JJUFRfTEFUSU4gfSwK
KyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoIm1pIiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAg
ICAgeyBwYXJzZUxvY2FsZU5hbWUoIm1rIiksIFVTQ1JJUFRfQ1lSSUxMSUMgfSwKKyAgICAgICAg
eyBwYXJzZUxvY2FsZU5hbWUoIm1sIiksIFVTQ1JJUFRfTUFMQVlBTEFNIH0sCisgICAgICAgIHsg
cGFyc2VMb2NhbGVOYW1lKCJtbiIpLCBVU0NSSVBUX0NZUklMTElDIH0sCisgICAgICAgIHsgcGFy
c2VMb2NhbGVOYW1lKCJtciIpLCBVU0NSSVBUX0RFVkFOQUdBUkkgfSwKKyAgICAgICAgeyBwYXJz
ZUxvY2FsZU5hbWUoIm1zIiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUxvY2Fs
ZU5hbWUoIm10IiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUo
Im15IiksIFVTQ1JJUFRfTVlBTk1BUiB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgibXl2
IiksIFVTQ1JJUFRfQ1lSSUxMSUMgfSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoIm5hIiks
IFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoIm5iIiksIFVTQ1JJ
UFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoIm5lIiksIFVTQ1JJUFRfREVW
QU5BR0FSSSB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgibml1IiksIFVTQ1JJUFRfTEFU
SU4gfSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoIm5sIiksIFVTQ1JJUFRfTEFUSU4gfSwK
KyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoIm5uIiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAg
ICAgeyBwYXJzZUxvY2FsZU5hbWUoIm5yIiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBw
YXJzZUxvY2FsZU5hbWUoIm5zbyIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VM
b2NhbGVOYW1lKCJueSIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVO
YW1lKCJvYyIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJv
bSIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJvciIpLCBV
U0NSSVBUX09SSVlBIH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJvcyIpLCBVU0NSSVBU
X0NZUklMTElDIH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJwYSIpLCBVU0NSSVBUX0dV
Uk1VS0hJIH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJwYWciKSwgVVNDUklQVF9MQVRJ
TiB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgicGFwIiksIFVTQ1JJUFRfTEFUSU4gfSwK
KyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoInBhdSIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAg
ICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJwbCIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsg
cGFyc2VMb2NhbGVOYW1lKCJwb24iKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNl
TG9jYWxlTmFtZSgicHMiKSwgVVNDUklQVF9BUkFCSUMgfSwKKyAgICAgICAgeyBwYXJzZUxvY2Fs
ZU5hbWUoInB0IiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUo
InF1IiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoInJtIiks
IFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoInJuIiksIFVTQ1JJ
UFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoInJvIiksIFVTQ1JJUFRfTEFU
SU4gfSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoInJ1IiksIFVTQ1JJUFRfQ1lSSUxMSUMg
fSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoInJ3IiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAg
ICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoInNhIiksIFVTQ1JJUFRfREVWQU5BR0FSSSB9LAorICAg
ICAgICB7IHBhcnNlTG9jYWxlTmFtZSgic2FoIiksIFVTQ1JJUFRfQ1lSSUxMSUMgfSwKKyAgICAg
ICAgeyBwYXJzZUxvY2FsZU5hbWUoInNhdCIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsg
cGFyc2VMb2NhbGVOYW1lKCJzZCIpLCBVU0NSSVBUX0FSQUJJQyB9LAorICAgICAgICB7IHBhcnNl
TG9jYWxlTmFtZSgic2UiKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlTG9jYWxl
TmFtZSgic2ciKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgi
c2kiKSwgVVNDUklQVF9TSU5IQUxBIH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJzaWQi
KSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgic2siKSwgVVND
UklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgic2wiKSwgVVNDUklQVF9M
QVRJTiB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgic20iKSwgVVNDUklQVF9MQVRJTiB9
LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgic28iKSwgVVNDUklQVF9MQVRJTiB9LAorICAg
ICAgICB7IHBhcnNlTG9jYWxlTmFtZSgic3EiKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7
IHBhcnNlTG9jYWxlTmFtZSgic3IiKSwgVVNDUklQVF9DWVJJTExJQyB9LAorICAgICAgICB7IHBh
cnNlTG9jYWxlTmFtZSgic3MiKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlTG9j
YWxlTmFtZSgic3QiKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFt
ZSgic3UiKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgic3Yi
KSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgic3ciKSwgVVND
UklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgidGEiKSwgVVNDUklQVF9U
QU1JTCB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgidGUiKSwgVVNDUklQVF9URUxVR1Ug
fSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoInRldCIpLCBVU0NSSVBUX0xBVElOIH0sCisg
ICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJ0ZyIpLCBVU0NSSVBUX0NZUklMTElDIH0sCisgICAg
ICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJ0aCIpLCBVU0NSSVBUX1RIQUkgfSwKKyAgICAgICAgeyBw
YXJzZUxvY2FsZU5hbWUoInRpIiksIFVTQ1JJUFRfRVRISU9QSUMgfSwKKyAgICAgICAgeyBwYXJz
ZUxvY2FsZU5hbWUoInRpZyIpLCBVU0NSSVBUX0VUSElPUElDIH0sCisgICAgICAgIHsgcGFyc2VM
b2NhbGVOYW1lKCJ0ayIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVO
YW1lKCJ0a2wiKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgi
dGwiKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgidG4iKSwg
VVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgidG8iKSwgVVNDUklQ
VF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgidHBpIiksIFVTQ1JJUFRfTEFU
SU4gfSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoInRyIiksIFVTQ1JJUFRfTEFUSU4gfSwK
KyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoInRydiIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAg
ICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJ0cyIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsg
cGFyc2VMb2NhbGVOYW1lKCJ0dCIpLCBVU0NSSVBUX0NZUklMTElDIH0sCisgICAgICAgIHsgcGFy
c2VMb2NhbGVOYW1lKCJ0dmwiKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlTG9j
YWxlTmFtZSgidHciKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFt
ZSgidHkiKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgidHl2
IiksIFVTQ1JJUFRfQ1lSSUxMSUMgfSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoInVkbSIp
LCBVU0NSSVBUX0NZUklMTElDIH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJ1ZyIpLCBV
U0NSSVBUX0FSQUJJQyB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgidWsiKSwgVVNDUklQ
VF9DWVJJTExJQyB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgidW5kIiksIFVTQ1JJUFRf
TEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoInVyIiksIFVTQ1JJUFRfQVJBQklD
IH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJ1eiIpLCBVU0NSSVBUX0NZUklMTElDIH0s
CisgICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJ2ZSIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAg
ICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJ2aSIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsg
cGFyc2VMb2NhbGVOYW1lKCJ3YWwiKSwgVVNDUklQVF9FVEhJT1BJQyB9LAorICAgICAgICB7IHBh
cnNlTG9jYWxlTmFtZSgid2FyIiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUxv
Y2FsZU5hbWUoIndvIiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5h
bWUoInhoIiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoInlh
cCIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJ5byIpLCBV
U0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJ6YSIpLCBVU0NSSVBU
X0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJ6aCIpLCBVU0NSSVBUX0hBTiB9
LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgiemhfaGsiKSwgVVNDUklQVF9UUkFESVRJT05B
TF9IQU4gfSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoInpoX3R3IiksIFVTQ1JJUFRfVFJB
RElUSU9OQUxfSEFOIH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJ6dSIpLCBVU0NSSVBU
X0xBVElOIH0sCisgICAgfTsKKworICAgIEFTU0VSVCgKKyAgICAgICAgc3RkOjppc19zb3J0ZWQo
c3RkOjpiZWdpbihsb2NhbGVTY3JpcHRMaXN0KSwgc3RkOjplbmQobG9jYWxlU2NyaXB0TGlzdCks
CisgICAgICAgICAgICBbXShjb25zdCBMb2NhbGVTY3JpcHQmIGEsIGNvbnN0IExvY2FsZVNjcmlw
dCYgYikgeworICAgICAgICAgICAgICAgIHJldHVybiBhLmxvY2FsZSA8IGIubG9jYWxlOworICAg
ICAgICAgICAgfSkpOworCisgICAgYXV0byB0cnlGaW5kU2NyaXB0Q29kZSA9IFsmXSAoY29uc3Qg
U3RyaW5nJiBzdHJpbmcpIC0+IE9wdGlvbmFsPFVTY3JpcHRDb2RlPiB7CisgICAgICAgIGF1dG8g
bG9jYWxlTmFtZSA9IHRyeVBhcnNlTG9jYWxlTmFtZShzdHJpbmcpOworICAgICAgICBpZiAoIWxv
Y2FsZU5hbWUpCisgICAgICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworCisgICAgICAgIGF1
dG8qIGVsZW1lbnQgPSB0cnlCaW5hcnlTZWFyY2g8TG9jYWxlU2NyaXB0Pihsb2NhbGVTY3JpcHRM
aXN0LCBXVEZfQVJSQVlfTEVOR1RIKGxvY2FsZVNjcmlwdExpc3QpLCBsb2NhbGVOYW1lLnZhbHVl
KCksCisgICAgICAgICAgICBbXShjb25zdCBMb2NhbGVTY3JpcHQqIGxvY2FsZVNjcmlwdCkgewor
ICAgICAgICAgICAgICAgIHJldHVybiBsb2NhbGVTY3JpcHQtPmxvY2FsZTsKKyAgICAgICAgICAg
IH0pOworICAgICAgICBpZiAoZWxlbWVudCkKKyAgICAgICAgICAgIHJldHVybiBlbGVtZW50LT5z
Y3JpcHQ7CisgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisgICAgfTsKIAogICAgIFN0cmlu
ZyBjYW5vbmljYWxMb2NhbGUgPSBsb2NhbGU7CiAgICAgY2Fub25pY2FsTG9jYWxlLnJlcGxhY2Uo
Jy0nLCAnXycpOwogICAgIHdoaWxlICghY2Fub25pY2FsTG9jYWxlLmlzRW1wdHkoKSkgewotICAg
ICAgICBhdXRvIGl0ID0gbG9jYWxlU2NyaXB0TWFwLmdldCgpLmZpbmQoY2Fub25pY2FsTG9jYWxl
KTsKLSAgICAgICAgaWYgKGl0ICE9IGxvY2FsZVNjcmlwdE1hcC5nZXQoKS5lbmQoKSkKLSAgICAg
ICAgICAgIHJldHVybiBpdC0+dmFsdWU7CisgICAgICAgIGlmIChhdXRvIHNjcmlwdENvZGUgPSB0
cnlGaW5kU2NyaXB0Q29kZShjYW5vbmljYWxMb2NhbGUpKQorICAgICAgICAgICAgcmV0dXJuIHNj
cmlwdENvZGUudmFsdWUoKTsKICAgICAgICAgYXV0byB1bmRlcnNjb3JlUG9zaXRpb24gPSBjYW5v
bmljYWxMb2NhbGUucmV2ZXJzZUZpbmQoJ18nKTsKICAgICAgICAgaWYgKHVuZGVyc2NvcmVQb3Np
dGlvbiA9PSBub3RGb3VuZCkKICAgICAgICAgICAgIGJyZWFrOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>426364</attachid>
            <date>2021-04-17 20:47:19 -0700</date>
            <delta_ts>2021-04-17 21:02:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224727-20210417204717.patch</filename>
            <type>text/plain</type>
            <size>35970</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc2MjE3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjg2YWYzN2I3YTJlYWY3
NDA2OTNiYWNhZGFkODQyMTAwYWUyNWUxOS4uMTU2MTIyMTljOWRlYWY4ZmIxY2QyZjljZDdhODI2
NTliYTBiYmIxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDIxLTA0LTE3ICBZdXN1
a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CisKKyAgICAgICAgVXNlIGJpbmFyeS1zZWFy
Y2ggaW4gTG9jYWxlVG9TY3JpcHRNYXBwaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMjQ3MjcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBUaGlzIHBhdGNoIHJlbW92ZXMgSGFzaE1hcHMgaW4gTG9jYWxl
VG9TY3JpcHRNYXBwaW5nLCBhbmQgYmluYXJ5LXNlYXJjaCBvbnRvIHRoZSBjb25zdGFudCBkYXRh
IGFycmF5cy4KKyAgICAgICAgVGhlc2UgbWFwcyBhcmUgbm90IGZyZXF1ZW50bHkgdXNlZC4gS2V5
cyBvZiB0aGUgbWFwcyBjYW4gYmUgZW5jb2RlZCBpbnRvIHVpbnQzMl90IG9yIHVpbnQ2NF90IHNv
IHRoYXQKKyAgICAgICAgY29tcGFyaXNvbiBiZWNvbWVzIHN1cGVyIGNoZWFwIGFuZCB3ZSBjYW4g
aW5pdGlhbGl6ZSB0aGlzIGFycmF5IGF0IGNvbXBpbGUtdGltZS4KKworICAgICAgICBXZSBpbnRy
b2R1Y2UgU2NyaXB0TmFtZSh1aW50MzJfdCkgYW5kIExvY2FsZU5hbWUodWludDY0X3QpIGluc3Rl
YWQgb2YgU3RyaW5nLiBBbmQgdWVzIGl0IGFuZCBnZW5lcmF0ZQorICAgICAgICBzb3J0ZWQgY29u
c3RhbnQgZGF0YSBhcnJheSBmb3IgbWFwcGluZ3MuIFdlIHVzZSBiaW5hcnktc2VhcmNoIHRvIGxv
b2sgZW50cnkgdXAuIFNpbmNlICMgb2YgZW50cmllcyBhcmUKKyAgICAgICAgbm90IGh1Z2UgKH4y
MDApLCBjb21wYXJpc29ucyBhcmUgZXh0cmVtZWx5IGNoZWFwICh1aW50MzJfdCAvIHVpbnQ2NF90
IGNvbXBhcmlzb24pLCBhbmQgdGhpcyBpcyBub3QgYQorICAgICAgICBob3QgY29kZSwgd2UgY2Fu
IGp1c3QgdXNlIGJpbmFyeS1zZWFyY2ggaGVyZSBhbmQgZWxpbWluYXRlIEhhc2hNYXBzJyBtZW1v
cnkgYWxsb2NhdGlvbi4KKworICAgICAgICAqIHBsYXRmb3JtL3RleHQvTG9jYWxlVG9TY3JpcHRN
YXBwaW5nLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnBhcnNlU2NyaXB0TmFtZSk6CisgICAgICAg
IChXZWJDb3JlOjp0cnlQYXJzZVNjcmlwdE5hbWUpOgorICAgICAgICAoV2ViQ29yZTo6c2NyaXB0
TmFtZVRvQ29kZSk6CisgICAgICAgIChXZWJDb3JlOjpwYXJzZUxvY2FsZU5hbWUpOgorICAgICAg
ICAoV2ViQ29yZTo6dHJ5UGFyc2VMb2NhbGVOYW1lKToKKyAgICAgICAgKFdlYkNvcmU6OmxvY2Fs
ZVRvU2NyaXB0Q29kZUZvckZvbnRTZWxlY3Rpb24pOgorCiAyMDIxLTA0LTE3ICBUaW0gTmd1eWVu
ICA8bnRpbUBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIHN1cHBvcnQgZm9yIGlubGluZS17c3Rh
cnQvZW5kfSB2YWx1ZXMgdG8gZmxvYXQgJiBjbGVhciBwcm9wZXJ0aWVzCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0xvY2FsZVRvU2NyaXB0TWFwcGluZy5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0xvY2FsZVRvU2NyaXB0TWFwcGluZy5jcHAKaW5k
ZXggNDllMGVhYTdiZWI5YjMzNTdjMTcwYmIwZTEyMDQ2MTI5NmQxYTM0ZC4uYWEzZjk4ZmJhM2Y3
ZTU1MjViNGI4ZGU1Y2E3NWVkNDRjZjlhMGNhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vdGV4dC9Mb2NhbGVUb1NjcmlwdE1hcHBpbmcuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL3RleHQvTG9jYWxlVG9TY3JpcHRNYXBwaW5nLmNwcApAQCAtMSw1ICsxLDYg
QEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCkBAIC0zNywzNjggKzM4LDQz
NCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0cnVjdCBTY3JpcHROYW1lQ29kZSB7Ci0g
ICAgQVNDSUlMaXRlcmFsIG5hbWU7Ci0gICAgVVNjcmlwdENvZGUgY29kZTsKLX07Cit1c2luZyBT
Y3JpcHROYW1lID0gdWludDMyX3Q7Cit0ZW1wbGF0ZTx1bnNpZ25lZCBjaGFyYWN0ZXJDb3VudFBs
dXNPbmU+CitzdGF0aWMgY29uc3RleHByIFNjcmlwdE5hbWUgcGFyc2VTY3JpcHROYW1lKGNvbnN0
IGNoYXIgKCZzdHJpbmcpW2NoYXJhY3RlckNvdW50UGx1c09uZV0pCit7CisgICAgY29uc3RleHBy
IHVuc2lnbmVkIGxlbmd0aCA9IGNoYXJhY3RlckNvdW50UGx1c09uZSAtIDE7CisgICAgQVNTRVJU
X1VOREVSX0NPTlNURVhQUl9DT05URVhUKGxlbmd0aCA9PSBzaXplb2YoU2NyaXB0TmFtZSkpOwor
ICAgIFNjcmlwdE5hbWUgcmVzdWx0ID0gMDsKKyAgICBmb3IgKHVuc2lnbmVkIGluZGV4ID0gMDsg
aW5kZXggPCBsZW5ndGg7ICsraW5kZXgpIHsKKyAgICAgICAgdWludDhfdCBjb2RlID0gc3RhdGlj
X2Nhc3Q8dWludDhfdD4oc3RyaW5nW2luZGV4XSk7CisgICAgICAgIHJlc3VsdCB8PSAoc3RhdGlj
X2Nhc3Q8U2NyaXB0TmFtZT4oY29kZSkgPDwgKChzaXplb2YoU2NyaXB0TmFtZSkgLSBpbmRleCAt
IDEpICogQ0hBUl9CSVQpKTsKKyAgICB9CisgICAgcmV0dXJuIHJlc3VsdDsKK30KIAotLy8gVGhp
cyBnZW5lcmFsbHkgbWFwcyBhbiBJU08gMTU5MjQgc2NyaXB0IGNvZGUgdG8gaXRzIFVTY3JpcHRD
b2RlLCBidXQgY2VydGFpbiBmYW1pbGllcyBvZiBzY3JpcHQgY29kZXMgYXJlCi0vLyB0cmVhdGVk
IGFzIGEgc2luZ2xlIHNjcmlwdCBmb3IgYXNzaWduaW5nIGEgcGVyLXNjcmlwdCBmb250IGluIFNl
dHRpbmdzLiBGb3IgZXhhbXBsZSwgImhpcmEiIGlzIG1hcHBlZCB0bwotLy8gVVNDUklQVF9LQVRB
S0FOQV9PUl9ISVJBR0FOQSBpbnN0ZWFkIG9mIFVTQ1JJUFRfSElSQUdBTkEsIHNpbmNlIHdlIHdh
bnQgYWxsIEphcGFuZXNlIHNjcmlwdHMgdG8gYmUgcmVuZGVyZWQKLS8vIHVzaW5nIHRoZSBzYW1l
IGZvbnQgc2V0dGluZy4KLXN0YXRpYyBjb25zdCBTY3JpcHROYW1lQ29kZSBzY3JpcHROYW1lQ29k
ZUxpc3RbXSA9IHsKLSAgICB7ICJ6eXl5Il9zLCBVU0NSSVBUX0NPTU1PTiB9LAotICAgIHsgInFh
YWkiX3MsIFVTQ1JJUFRfSU5IRVJJVEVEIH0sCi0gICAgeyAiYXJhYiJfcywgVVNDUklQVF9BUkFC
SUMgfSwKLSAgICB7ICJhcm1uIl9zLCBVU0NSSVBUX0FSTUVOSUFOIH0sCi0gICAgeyAiYmVuZyJf
cywgVVNDUklQVF9CRU5HQUxJIH0sCi0gICAgeyAiYm9wbyJfcywgVVNDUklQVF9CT1BPTU9GTyB9
LAotICAgIHsgImNoZXIiX3MsIFVTQ1JJUFRfQ0hFUk9LRUUgfSwKLSAgICB7ICJjb3B0Il9zLCBV
U0NSSVBUX0NPUFRJQyB9LAotICAgIHsgImN5cmwiX3MsIFVTQ1JJUFRfQ1lSSUxMSUMgfSwKLSAg
ICB7ICJkc3J0Il9zLCBVU0NSSVBUX0RFU0VSRVQgfSwKLSAgICB7ICJkZXZhIl9zLCBVU0NSSVBU
X0RFVkFOQUdBUkkgfSwKLSAgICB7ICJldGhpIl9zLCBVU0NSSVBUX0VUSElPUElDIH0sCi0gICAg
eyAiZ2VvciJfcywgVVNDUklQVF9HRU9SR0lBTiB9LAotICAgIHsgImdvdGgiX3MsIFVTQ1JJUFRf
R09USElDIH0sCi0gICAgeyAiZ3JlayJfcywgVVNDUklQVF9HUkVFSyB9LAotICAgIHsgImd1anIi
X3MsIFVTQ1JJUFRfR1VKQVJBVEkgfSwKLSAgICB7ICJndXJ1Il9zLCBVU0NSSVBUX0dVUk1VS0hJ
IH0sCi0gICAgeyAiaGFuaSJfcywgVVNDUklQVF9IQU4gfSwKLSAgICB7ICJoYW5nIl9zLCBVU0NS
SVBUX0hBTkdVTCB9LAotICAgIHsgImhlYnIiX3MsIFVTQ1JJUFRfSEVCUkVXIH0sCi0gICAgeyAi
aGlyYSJfcywgVVNDUklQVF9LQVRBS0FOQV9PUl9ISVJBR0FOQSB9LAotICAgIHsgImtuZGEiX3Ms
IFVTQ1JJUFRfS0FOTkFEQSB9LAotICAgIHsgImthbmEiX3MsIFVTQ1JJUFRfS0FUQUtBTkFfT1Jf
SElSQUdBTkEgfSwKLSAgICB7ICJraG1yIl9zLCBVU0NSSVBUX0tITUVSIH0sCi0gICAgeyAibGFv
byJfcywgVVNDUklQVF9MQU8gfSwKLSAgICB7ICJsYXRuIl9zLCBVU0NSSVBUX0xBVElOIH0sCi0g
ICAgeyAibWx5bSJfcywgVVNDUklQVF9NQUxBWUFMQU0gfSwKLSAgICB7ICJtb25nIl9zLCBVU0NS
SVBUX01PTkdPTElBTiB9LAotICAgIHsgIm15bXIiX3MsIFVTQ1JJUFRfTVlBTk1BUiB9LAotICAg
IHsgIm9nYW0iX3MsIFVTQ1JJUFRfT0dIQU0gfSwKLSAgICB7ICJpdGFsIl9zLCBVU0NSSVBUX09M
RF9JVEFMSUMgfSwKLSAgICB7ICJvcnlhIl9zLCBVU0NSSVBUX09SSVlBIH0sCi0gICAgeyAicnVu
ciJfcywgVVNDUklQVF9SVU5JQyB9LAotICAgIHsgInNpbmgiX3MsIFVTQ1JJUFRfU0lOSEFMQSB9
LAotICAgIHsgInN5cmMiX3MsIFVTQ1JJUFRfU1lSSUFDIH0sCi0gICAgeyAidGFtbCJfcywgVVND
UklQVF9UQU1JTCB9LAotICAgIHsgInRlbHUiX3MsIFVTQ1JJUFRfVEVMVUdVIH0sCi0gICAgeyAi
dGhhYSJfcywgVVNDUklQVF9USEFBTkEgfSwKLSAgICB7ICJ0aGFpIl9zLCBVU0NSSVBUX1RIQUkg
fSwKLSAgICB7ICJ0aWJ0Il9zLCBVU0NSSVBUX1RJQkVUQU4gfSwKLSAgICB7ICJjYW5zIl9zLCBV
U0NSSVBUX0NBTkFESUFOX0FCT1JJR0lOQUwgfSwKLSAgICB7ICJ5aWlpIl9zLCBVU0NSSVBUX1lJ
IH0sCi0gICAgeyAidGdsZyJfcywgVVNDUklQVF9UQUdBTE9HIH0sCi0gICAgeyAiaGFubyJfcywg
VVNDUklQVF9IQU5VTk9PIH0sCi0gICAgeyAiYnVoZCJfcywgVVNDUklQVF9CVUhJRCB9LAotICAg
IHsgInRhZ2IiX3MsIFVTQ1JJUFRfVEFHQkFOV0EgfSwKLSAgICB7ICJicmFpIl9zLCBVU0NSSVBU
X0JSQUlMTEUgfSwKLSAgICB7ICJjcHJ0Il9zLCBVU0NSSVBUX0NZUFJJT1QgfSwKLSAgICB7ICJs
aW1iIl9zLCBVU0NSSVBUX0xJTUJVIH0sCi0gICAgeyAibGluYiJfcywgVVNDUklQVF9MSU5FQVJf
QiB9LAotICAgIHsgIm9zbWEiX3MsIFVTQ1JJUFRfT1NNQU5ZQSB9LAotICAgIHsgInNoYXciX3Ms
IFVTQ1JJUFRfU0hBVklBTiB9LAotICAgIHsgInRhbGUiX3MsIFVTQ1JJUFRfVEFJX0xFIH0sCi0g
ICAgeyAidWdhciJfcywgVVNDUklQVF9VR0FSSVRJQyB9LAotICAgIHsgImhya3QiX3MsIFVTQ1JJ
UFRfS0FUQUtBTkFfT1JfSElSQUdBTkEgfSwKLSAgICB7ICJidWdpIl9zLCBVU0NSSVBUX0JVR0lO
RVNFIH0sCi0gICAgeyAiZ2xhZyJfcywgVVNDUklQVF9HTEFHT0xJVElDIH0sCi0gICAgeyAia2hh
ciJfcywgVVNDUklQVF9LSEFST1NIVEhJIH0sCi0gICAgeyAic3lsbyJfcywgVVNDUklQVF9TWUxP
VElfTkFHUkkgfSwKLSAgICB7ICJ0YWx1Il9zLCBVU0NSSVBUX05FV19UQUlfTFVFIH0sCi0gICAg
eyAidGZuZyJfcywgVVNDUklQVF9USUZJTkFHSCB9LAotICAgIHsgInhwZW8iX3MsIFVTQ1JJUFRf
T0xEX1BFUlNJQU4gfSwKLSAgICB7ICJiYWxpIl9zLCBVU0NSSVBUX0JBTElORVNFIH0sCi0gICAg
eyAiYmF0ayJfcywgVVNDUklQVF9CQVRBSyB9LAotICAgIHsgImJsaXMiX3MsIFVTQ1JJUFRfQkxJ
U1NZTUJPTFMgfSwKLSAgICB7ICJicmFoIl9zLCBVU0NSSVBUX0JSQUhNSSB9LAotICAgIHsgImNo
YW0iX3MsIFVTQ1JJUFRfQ0hBTSB9LAotICAgIHsgImNpcnQiX3MsIFVTQ1JJUFRfQ0lSVEggfSwK
LSAgICB7ICJjeXJzIl9zLCBVU0NSSVBUX09MRF9DSFVSQ0hfU0xBVk9OSUNfQ1lSSUxMSUMgfSwK
LSAgICB7ICJlZ3lkIl9zLCBVU0NSSVBUX0RFTU9USUNfRUdZUFRJQU4gfSwKLSAgICB7ICJlZ3lo
Il9zLCBVU0NSSVBUX0hJRVJBVElDX0VHWVBUSUFOIH0sCi0gICAgeyAiZWd5cCJfcywgVVNDUklQ
VF9FR1lQVElBTl9ISUVST0dMWVBIUyB9LAotICAgIHsgImdlb2siX3MsIFVTQ1JJUFRfS0hVVFNV
UkkgfSwKLSAgICB7ICJoYW5zIl9zLCBVU0NSSVBUX1NJTVBMSUZJRURfSEFOIH0sCi0gICAgeyAi
aGFudCJfcywgVVNDUklQVF9UUkFESVRJT05BTF9IQU4gfSwKLSAgICB7ICJobW5nIl9zLCBVU0NS
SVBUX1BBSEFXSF9ITU9ORyB9LAotICAgIHsgImh1bmciX3MsIFVTQ1JJUFRfT0xEX0hVTkdBUklB
TiB9LAotICAgIHsgImluZHMiX3MsIFVTQ1JJUFRfSEFSQVBQQU5fSU5EVVMgfSwKLSAgICB7ICJq
YXZhIl9zLCBVU0NSSVBUX0pBVkFORVNFIH0sCi0gICAgeyAia2FsaSJfcywgVVNDUklQVF9LQVlB
SF9MSSB9LAotICAgIHsgImxhdGYiX3MsIFVTQ1JJUFRfTEFUSU5fRlJBS1RVUiB9LAotICAgIHsg
ImxhdGciX3MsIFVTQ1JJUFRfTEFUSU5fR0FFTElDIH0sCi0gICAgeyAibGVwYyJfcywgVVNDUklQ
VF9MRVBDSEEgfSwKLSAgICB7ICJsaW5hIl9zLCBVU0NSSVBUX0xJTkVBUl9BIH0sCi0gICAgeyAi
bWFuZCJfcywgVVNDUklQVF9NQU5EQUVBTiB9LAotICAgIHsgIm1heWEiX3MsIFVTQ1JJUFRfTUFZ
QU5fSElFUk9HTFlQSFMgfSwKLSAgICB7ICJtZXJvIl9zLCBVU0NSSVBUX01FUk9JVElDIH0sCi0g
ICAgeyAibmtvbyJfcywgVVNDUklQVF9OS08gfSwKLSAgICB7ICJvcmtoIl9zLCBVU0NSSVBUX09S
S0hPTiB9LAotICAgIHsgInBlcm0iX3MsIFVTQ1JJUFRfT0xEX1BFUk1JQyB9LAotICAgIHsgInBo
YWciX3MsIFVTQ1JJUFRfUEhBR1NfUEEgfSwKLSAgICB7ICJwaG54Il9zLCBVU0NSSVBUX1BIT0VO
SUNJQU4gfSwKLSAgICB7ICJwbHJkIl9zLCBVU0NSSVBUX1BIT05FVElDX1BPTExBUkQgfSwKLSAg
ICB7ICJyb3JvIl9zLCBVU0NSSVBUX1JPTkdPUk9OR08gfSwKLSAgICB7ICJzYXJhIl9zLCBVU0NS
SVBUX1NBUkFUSSB9LAotICAgIHsgInN5cmUiX3MsIFVTQ1JJUFRfRVNUUkFOR0VMT19TWVJJQUMg
fSwKLSAgICB7ICJzeXJqIl9zLCBVU0NSSVBUX1dFU1RFUk5fU1lSSUFDIH0sCi0gICAgeyAic3ly
biJfcywgVVNDUklQVF9FQVNURVJOX1NZUklBQyB9LAotICAgIHsgInRlbmciX3MsIFVTQ1JJUFRf
VEVOR1dBUiB9LAotICAgIHsgInZhaWkiX3MsIFVTQ1JJUFRfVkFJIH0sCi0gICAgeyAidmlzcCJf
cywgVVNDUklQVF9WSVNJQkxFX1NQRUVDSCB9LAotICAgIHsgInhzdXgiX3MsIFVTQ1JJUFRfQ1VO
RUlGT1JNIH0sCi0gICAgeyAianBhbiJfcywgVVNDUklQVF9LQVRBS0FOQV9PUl9ISVJBR0FOQSB9
LAotICAgIHsgImtvcmUiX3MsIFVTQ1JJUFRfSEFOR1VMIH0sCi0gICAgeyAienh4eCJfcywgVVND
UklQVF9VTldSSVRURU5fTEFOR1VBR0VTIH0sCi0gICAgeyAienp6eiJfcywgVVNDUklQVF9VTktO
T1dOIH0KLX07CitzdGF0aWMgT3B0aW9uYWw8U2NyaXB0TmFtZT4gdHJ5UGFyc2VTY3JpcHROYW1l
KFN0cmluZ1ZpZXcgc3RyaW5nKQoreworICAgIGlmIChzdHJpbmcubGVuZ3RoKCkgIT0gc2l6ZW9m
KFNjcmlwdE5hbWUpKQorICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworICAgIFNjcmlwdE5h
bWUgcmVzdWx0ID0gMDsKKyAgICBmb3IgKHVuc2lnbmVkIGluZGV4ID0gMDsgaW5kZXggPCBzdHJp
bmcubGVuZ3RoKCk7ICsraW5kZXgpIHsKKyAgICAgICAgVUNoYXIgY29kZSA9IHN0cmluZ1tpbmRl
eF07CisgICAgICAgIGlmICghaXNBU0NJSShjb2RlKSkKKyAgICAgICAgICAgIHJldHVybiBXVEY6
Om51bGxvcHQ7CisgICAgICAgIHJlc3VsdCB8PSAoc3RhdGljX2Nhc3Q8U2NyaXB0TmFtZT4odG9B
U0NJSUxvd2VyKGNvZGUpKSA8PCAoKHNpemVvZihTY3JpcHROYW1lKSAtIGluZGV4IC0gMSkgKiBD
SEFSX0JJVCkpOworICAgIH0KKyAgICByZXR1cm4gcmVzdWx0OworfQogCi1zdHJ1Y3QgU2NyaXB0
TmFtZUNvZGVNYXBIYXNoVHJhaXRzIDogcHVibGljIEhhc2hUcmFpdHM8U3RyaW5nPiB7Ci0gICAg
c3RhdGljIGNvbnN0IGludCBtaW5pbXVtVGFibGVTaXplID0gV1RGOjpIYXNoVGFibGVDYXBhY2l0
eUZvclNpemU8V1RGX0FSUkFZX0xFTkdUSChzY3JpcHROYW1lQ29kZUxpc3QpPjo6dmFsdWU7Citz
dHJ1Y3QgU2NyaXB0TmFtZUNvZGUgeworICAgIFNjcmlwdE5hbWUgbmFtZTsKKyAgICBVU2NyaXB0
Q29kZSBjb2RlOwogfTsKIAogVVNjcmlwdENvZGUgc2NyaXB0TmFtZVRvQ29kZShjb25zdCBTdHJp
bmcmIHNjcmlwdE5hbWUpCiB7Ci0gICAgc3RhdGljIGNvbnN0IGF1dG8gc2NyaXB0TmFtZUNvZGVN
YXAgPSBtYWtlTmV2ZXJEZXN0cm95ZWQoW10gewotICAgICAgICBIYXNoTWFwPFN0cmluZywgVVNj
cmlwdENvZGUsIEFTQ0lJQ2FzZUluc2Vuc2l0aXZlSGFzaCwgU2NyaXB0TmFtZUNvZGVNYXBIYXNo
VHJhaXRzPiBtYXA7Ci0gICAgICAgIGZvciAoYXV0byYgbmFtZUFuZENvZGUgOiBzY3JpcHROYW1l
Q29kZUxpc3QpCi0gICAgICAgICAgICBtYXAuYWRkKG5hbWVBbmRDb2RlLm5hbWUsIG5hbWVBbmRD
b2RlLmNvZGUpOwotICAgICAgICByZXR1cm4gbWFwOwotICAgIH0oKSk7CisgICAgLy8gVGhpcyBn
ZW5lcmFsbHkgbWFwcyBhbiBJU08gMTU5MjQgc2NyaXB0IGNvZGUgdG8gaXRzIFVTY3JpcHRDb2Rl
LCBidXQgY2VydGFpbiBmYW1pbGllcyBvZiBzY3JpcHQgY29kZXMgYXJlCisgICAgLy8gdHJlYXRl
ZCBhcyBhIHNpbmdsZSBzY3JpcHQgZm9yIGFzc2lnbmluZyBhIHBlci1zY3JpcHQgZm9udCBpbiBT
ZXR0aW5ncy4gRm9yIGV4YW1wbGUsICJoaXJhIiBpcyBtYXBwZWQgdG8KKyAgICAvLyBVU0NSSVBU
X0tBVEFLQU5BX09SX0hJUkFHQU5BIGluc3RlYWQgb2YgVVNDUklQVF9ISVJBR0FOQSwgc2luY2Ug
d2Ugd2FudCBhbGwgSmFwYW5lc2Ugc2NyaXB0cyB0byBiZSByZW5kZXJlZAorICAgIC8vIHVzaW5n
IHRoZSBzYW1lIGZvbnQgc2V0dGluZy4KKyAgICBzdGF0aWMgY29uc3RleHByIFNjcmlwdE5hbWVD
b2RlIHNjcmlwdE5hbWVDb2RlTGlzdFtdID0geworICAgICAgICB7IHBhcnNlU2NyaXB0TmFtZSgi
YXJhYiIpLCBVU0NSSVBUX0FSQUJJQyB9LAorICAgICAgICB7IHBhcnNlU2NyaXB0TmFtZSgiYXJt
biIpLCBVU0NSSVBUX0FSTUVOSUFOIH0sCisgICAgICAgIHsgcGFyc2VTY3JpcHROYW1lKCJiYWxp
IiksIFVTQ1JJUFRfQkFMSU5FU0UgfSwKKyAgICAgICAgeyBwYXJzZVNjcmlwdE5hbWUoImJhdGsi
KSwgVVNDUklQVF9CQVRBSyB9LAorICAgICAgICB7IHBhcnNlU2NyaXB0TmFtZSgiYmVuZyIpLCBV
U0NSSVBUX0JFTkdBTEkgfSwKKyAgICAgICAgeyBwYXJzZVNjcmlwdE5hbWUoImJsaXMiKSwgVVND
UklQVF9CTElTU1lNQk9MUyB9LAorICAgICAgICB7IHBhcnNlU2NyaXB0TmFtZSgiYm9wbyIpLCBV
U0NSSVBUX0JPUE9NT0ZPIH0sCisgICAgICAgIHsgcGFyc2VTY3JpcHROYW1lKCJicmFoIiksIFVT
Q1JJUFRfQlJBSE1JIH0sCisgICAgICAgIHsgcGFyc2VTY3JpcHROYW1lKCJicmFpIiksIFVTQ1JJ
UFRfQlJBSUxMRSB9LAorICAgICAgICB7IHBhcnNlU2NyaXB0TmFtZSgiYnVnaSIpLCBVU0NSSVBU
X0JVR0lORVNFIH0sCisgICAgICAgIHsgcGFyc2VTY3JpcHROYW1lKCJidWhkIiksIFVTQ1JJUFRf
QlVISUQgfSwKKyAgICAgICAgeyBwYXJzZVNjcmlwdE5hbWUoImNhbnMiKSwgVVNDUklQVF9DQU5B
RElBTl9BQk9SSUdJTkFMIH0sCisgICAgICAgIHsgcGFyc2VTY3JpcHROYW1lKCJjaGFtIiksIFVT
Q1JJUFRfQ0hBTSB9LAorICAgICAgICB7IHBhcnNlU2NyaXB0TmFtZSgiY2hlciIpLCBVU0NSSVBU
X0NIRVJPS0VFIH0sCisgICAgICAgIHsgcGFyc2VTY3JpcHROYW1lKCJjaXJ0IiksIFVTQ1JJUFRf
Q0lSVEggfSwKKyAgICAgICAgeyBwYXJzZVNjcmlwdE5hbWUoImNvcHQiKSwgVVNDUklQVF9DT1BU
SUMgfSwKKyAgICAgICAgeyBwYXJzZVNjcmlwdE5hbWUoImNwcnQiKSwgVVNDUklQVF9DWVBSSU9U
IH0sCisgICAgICAgIHsgcGFyc2VTY3JpcHROYW1lKCJjeXJsIiksIFVTQ1JJUFRfQ1lSSUxMSUMg
fSwKKyAgICAgICAgeyBwYXJzZVNjcmlwdE5hbWUoImN5cnMiKSwgVVNDUklQVF9PTERfQ0hVUkNI
X1NMQVZPTklDX0NZUklMTElDIH0sCisgICAgICAgIHsgcGFyc2VTY3JpcHROYW1lKCJkZXZhIiks
IFVTQ1JJUFRfREVWQU5BR0FSSSB9LAorICAgICAgICB7IHBhcnNlU2NyaXB0TmFtZSgiZHNydCIp
LCBVU0NSSVBUX0RFU0VSRVQgfSwKKyAgICAgICAgeyBwYXJzZVNjcmlwdE5hbWUoImVneWQiKSwg
VVNDUklQVF9ERU1PVElDX0VHWVBUSUFOIH0sCisgICAgICAgIHsgcGFyc2VTY3JpcHROYW1lKCJl
Z3loIiksIFVTQ1JJUFRfSElFUkFUSUNfRUdZUFRJQU4gfSwKKyAgICAgICAgeyBwYXJzZVNjcmlw
dE5hbWUoImVneXAiKSwgVVNDUklQVF9FR1lQVElBTl9ISUVST0dMWVBIUyB9LAorICAgICAgICB7
IHBhcnNlU2NyaXB0TmFtZSgiZXRoaSIpLCBVU0NSSVBUX0VUSElPUElDIH0sCisgICAgICAgIHsg
cGFyc2VTY3JpcHROYW1lKCJnZW9rIiksIFVTQ1JJUFRfS0hVVFNVUkkgfSwKKyAgICAgICAgeyBw
YXJzZVNjcmlwdE5hbWUoImdlb3IiKSwgVVNDUklQVF9HRU9SR0lBTiB9LAorICAgICAgICB7IHBh
cnNlU2NyaXB0TmFtZSgiZ2xhZyIpLCBVU0NSSVBUX0dMQUdPTElUSUMgfSwKKyAgICAgICAgeyBw
YXJzZVNjcmlwdE5hbWUoImdvdGgiKSwgVVNDUklQVF9HT1RISUMgfSwKKyAgICAgICAgeyBwYXJz
ZVNjcmlwdE5hbWUoImdyZWsiKSwgVVNDUklQVF9HUkVFSyB9LAorICAgICAgICB7IHBhcnNlU2Ny
aXB0TmFtZSgiZ3VqciIpLCBVU0NSSVBUX0dVSkFSQVRJIH0sCisgICAgICAgIHsgcGFyc2VTY3Jp
cHROYW1lKCJndXJ1IiksIFVTQ1JJUFRfR1VSTVVLSEkgfSwKKyAgICAgICAgeyBwYXJzZVNjcmlw
dE5hbWUoImhhbmciKSwgVVNDUklQVF9IQU5HVUwgfSwKKyAgICAgICAgeyBwYXJzZVNjcmlwdE5h
bWUoImhhbmkiKSwgVVNDUklQVF9IQU4gfSwKKyAgICAgICAgeyBwYXJzZVNjcmlwdE5hbWUoImhh
bm8iKSwgVVNDUklQVF9IQU5VTk9PIH0sCisgICAgICAgIHsgcGFyc2VTY3JpcHROYW1lKCJoYW5z
IiksIFVTQ1JJUFRfU0lNUExJRklFRF9IQU4gfSwKKyAgICAgICAgeyBwYXJzZVNjcmlwdE5hbWUo
ImhhbnQiKSwgVVNDUklQVF9UUkFESVRJT05BTF9IQU4gfSwKKyAgICAgICAgeyBwYXJzZVNjcmlw
dE5hbWUoImhlYnIiKSwgVVNDUklQVF9IRUJSRVcgfSwKKyAgICAgICAgeyBwYXJzZVNjcmlwdE5h
bWUoImhpcmEiKSwgVVNDUklQVF9LQVRBS0FOQV9PUl9ISVJBR0FOQSB9LAorICAgICAgICB7IHBh
cnNlU2NyaXB0TmFtZSgiaG1uZyIpLCBVU0NSSVBUX1BBSEFXSF9ITU9ORyB9LAorICAgICAgICB7
IHBhcnNlU2NyaXB0TmFtZSgiaHJrdCIpLCBVU0NSSVBUX0tBVEFLQU5BX09SX0hJUkFHQU5BIH0s
CisgICAgICAgIHsgcGFyc2VTY3JpcHROYW1lKCJodW5nIiksIFVTQ1JJUFRfT0xEX0hVTkdBUklB
TiB9LAorICAgICAgICB7IHBhcnNlU2NyaXB0TmFtZSgiaW5kcyIpLCBVU0NSSVBUX0hBUkFQUEFO
X0lORFVTIH0sCisgICAgICAgIHsgcGFyc2VTY3JpcHROYW1lKCJpdGFsIiksIFVTQ1JJUFRfT0xE
X0lUQUxJQyB9LAorICAgICAgICB7IHBhcnNlU2NyaXB0TmFtZSgiamF2YSIpLCBVU0NSSVBUX0pB
VkFORVNFIH0sCisgICAgICAgIHsgcGFyc2VTY3JpcHROYW1lKCJqcGFuIiksIFVTQ1JJUFRfS0FU
QUtBTkFfT1JfSElSQUdBTkEgfSwKKyAgICAgICAgeyBwYXJzZVNjcmlwdE5hbWUoImthbGkiKSwg
VVNDUklQVF9LQVlBSF9MSSB9LAorICAgICAgICB7IHBhcnNlU2NyaXB0TmFtZSgia2FuYSIpLCBV
U0NSSVBUX0tBVEFLQU5BX09SX0hJUkFHQU5BIH0sCisgICAgICAgIHsgcGFyc2VTY3JpcHROYW1l
KCJraGFyIiksIFVTQ1JJUFRfS0hBUk9TSFRISSB9LAorICAgICAgICB7IHBhcnNlU2NyaXB0TmFt
ZSgia2htciIpLCBVU0NSSVBUX0tITUVSIH0sCisgICAgICAgIHsgcGFyc2VTY3JpcHROYW1lKCJr
bmRhIiksIFVTQ1JJUFRfS0FOTkFEQSB9LAorICAgICAgICB7IHBhcnNlU2NyaXB0TmFtZSgia29y
ZSIpLCBVU0NSSVBUX0hBTkdVTCB9LAorICAgICAgICB7IHBhcnNlU2NyaXB0TmFtZSgibGFvbyIp
LCBVU0NSSVBUX0xBTyB9LAorICAgICAgICB7IHBhcnNlU2NyaXB0TmFtZSgibGF0ZiIpLCBVU0NS
SVBUX0xBVElOX0ZSQUtUVVIgfSwKKyAgICAgICAgeyBwYXJzZVNjcmlwdE5hbWUoImxhdGciKSwg
VVNDUklQVF9MQVRJTl9HQUVMSUMgfSwKKyAgICAgICAgeyBwYXJzZVNjcmlwdE5hbWUoImxhdG4i
KSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlU2NyaXB0TmFtZSgibGVwYyIpLCBV
U0NSSVBUX0xFUENIQSB9LAorICAgICAgICB7IHBhcnNlU2NyaXB0TmFtZSgibGltYiIpLCBVU0NS
SVBUX0xJTUJVIH0sCisgICAgICAgIHsgcGFyc2VTY3JpcHROYW1lKCJsaW5hIiksIFVTQ1JJUFRf
TElORUFSX0EgfSwKKyAgICAgICAgeyBwYXJzZVNjcmlwdE5hbWUoImxpbmIiKSwgVVNDUklQVF9M
SU5FQVJfQiB9LAorICAgICAgICB7IHBhcnNlU2NyaXB0TmFtZSgibWFuZCIpLCBVU0NSSVBUX01B
TkRBRUFOIH0sCisgICAgICAgIHsgcGFyc2VTY3JpcHROYW1lKCJtYXlhIiksIFVTQ1JJUFRfTUFZ
QU5fSElFUk9HTFlQSFMgfSwKKyAgICAgICAgeyBwYXJzZVNjcmlwdE5hbWUoIm1lcm8iKSwgVVND
UklQVF9NRVJPSVRJQyB9LAorICAgICAgICB7IHBhcnNlU2NyaXB0TmFtZSgibWx5bSIpLCBVU0NS
SVBUX01BTEFZQUxBTSB9LAorICAgICAgICB7IHBhcnNlU2NyaXB0TmFtZSgibW9uZyIpLCBVU0NS
SVBUX01PTkdPTElBTiB9LAorICAgICAgICB7IHBhcnNlU2NyaXB0TmFtZSgibXltciIpLCBVU0NS
SVBUX01ZQU5NQVIgfSwKKyAgICAgICAgeyBwYXJzZVNjcmlwdE5hbWUoIm5rb28iKSwgVVNDUklQ
VF9OS08gfSwKKyAgICAgICAgeyBwYXJzZVNjcmlwdE5hbWUoIm9nYW0iKSwgVVNDUklQVF9PR0hB
TSB9LAorICAgICAgICB7IHBhcnNlU2NyaXB0TmFtZSgib3JraCIpLCBVU0NSSVBUX09SS0hPTiB9
LAorICAgICAgICB7IHBhcnNlU2NyaXB0TmFtZSgib3J5YSIpLCBVU0NSSVBUX09SSVlBIH0sCisg
ICAgICAgIHsgcGFyc2VTY3JpcHROYW1lKCJvc21hIiksIFVTQ1JJUFRfT1NNQU5ZQSB9LAorICAg
ICAgICB7IHBhcnNlU2NyaXB0TmFtZSgicGVybSIpLCBVU0NSSVBUX09MRF9QRVJNSUMgfSwKKyAg
ICAgICAgeyBwYXJzZVNjcmlwdE5hbWUoInBoYWciKSwgVVNDUklQVF9QSEFHU19QQSB9LAorICAg
ICAgICB7IHBhcnNlU2NyaXB0TmFtZSgicGhueCIpLCBVU0NSSVBUX1BIT0VOSUNJQU4gfSwKKyAg
ICAgICAgeyBwYXJzZVNjcmlwdE5hbWUoInBscmQiKSwgVVNDUklQVF9QSE9ORVRJQ19QT0xMQVJE
IH0sCisgICAgICAgIHsgcGFyc2VTY3JpcHROYW1lKCJxYWFpIiksIFVTQ1JJUFRfSU5IRVJJVEVE
IH0sCisgICAgICAgIHsgcGFyc2VTY3JpcHROYW1lKCJyb3JvIiksIFVTQ1JJUFRfUk9OR09ST05H
TyB9LAorICAgICAgICB7IHBhcnNlU2NyaXB0TmFtZSgicnVuciIpLCBVU0NSSVBUX1JVTklDIH0s
CisgICAgICAgIHsgcGFyc2VTY3JpcHROYW1lKCJzYXJhIiksIFVTQ1JJUFRfU0FSQVRJIH0sCisg
ICAgICAgIHsgcGFyc2VTY3JpcHROYW1lKCJzaGF3IiksIFVTQ1JJUFRfU0hBVklBTiB9LAorICAg
ICAgICB7IHBhcnNlU2NyaXB0TmFtZSgic2luaCIpLCBVU0NSSVBUX1NJTkhBTEEgfSwKKyAgICAg
ICAgeyBwYXJzZVNjcmlwdE5hbWUoInN5bG8iKSwgVVNDUklQVF9TWUxPVElfTkFHUkkgfSwKKyAg
ICAgICAgeyBwYXJzZVNjcmlwdE5hbWUoInN5cmMiKSwgVVNDUklQVF9TWVJJQUMgfSwKKyAgICAg
ICAgeyBwYXJzZVNjcmlwdE5hbWUoInN5cmUiKSwgVVNDUklQVF9FU1RSQU5HRUxPX1NZUklBQyB9
LAorICAgICAgICB7IHBhcnNlU2NyaXB0TmFtZSgic3lyaiIpLCBVU0NSSVBUX1dFU1RFUk5fU1lS
SUFDIH0sCisgICAgICAgIHsgcGFyc2VTY3JpcHROYW1lKCJzeXJuIiksIFVTQ1JJUFRfRUFTVEVS
Tl9TWVJJQUMgfSwKKyAgICAgICAgeyBwYXJzZVNjcmlwdE5hbWUoInRhZ2IiKSwgVVNDUklQVF9U
QUdCQU5XQSB9LAorICAgICAgICB7IHBhcnNlU2NyaXB0TmFtZSgidGFsZSIpLCBVU0NSSVBUX1RB
SV9MRSB9LAorICAgICAgICB7IHBhcnNlU2NyaXB0TmFtZSgidGFsdSIpLCBVU0NSSVBUX05FV19U
QUlfTFVFIH0sCisgICAgICAgIHsgcGFyc2VTY3JpcHROYW1lKCJ0YW1sIiksIFVTQ1JJUFRfVEFN
SUwgfSwKKyAgICAgICAgeyBwYXJzZVNjcmlwdE5hbWUoInRlbHUiKSwgVVNDUklQVF9URUxVR1Ug
fSwKKyAgICAgICAgeyBwYXJzZVNjcmlwdE5hbWUoInRlbmciKSwgVVNDUklQVF9URU5HV0FSIH0s
CisgICAgICAgIHsgcGFyc2VTY3JpcHROYW1lKCJ0Zm5nIiksIFVTQ1JJUFRfVElGSU5BR0ggfSwK
KyAgICAgICAgeyBwYXJzZVNjcmlwdE5hbWUoInRnbGciKSwgVVNDUklQVF9UQUdBTE9HIH0sCisg
ICAgICAgIHsgcGFyc2VTY3JpcHROYW1lKCJ0aGFhIiksIFVTQ1JJUFRfVEhBQU5BIH0sCisgICAg
ICAgIHsgcGFyc2VTY3JpcHROYW1lKCJ0aGFpIiksIFVTQ1JJUFRfVEhBSSB9LAorICAgICAgICB7
IHBhcnNlU2NyaXB0TmFtZSgidGlidCIpLCBVU0NSSVBUX1RJQkVUQU4gfSwKKyAgICAgICAgeyBw
YXJzZVNjcmlwdE5hbWUoInVnYXIiKSwgVVNDUklQVF9VR0FSSVRJQyB9LAorICAgICAgICB7IHBh
cnNlU2NyaXB0TmFtZSgidmFpaSIpLCBVU0NSSVBUX1ZBSSB9LAorICAgICAgICB7IHBhcnNlU2Ny
aXB0TmFtZSgidmlzcCIpLCBVU0NSSVBUX1ZJU0lCTEVfU1BFRUNIIH0sCisgICAgICAgIHsgcGFy
c2VTY3JpcHROYW1lKCJ4cGVvIiksIFVTQ1JJUFRfT0xEX1BFUlNJQU4gfSwKKyAgICAgICAgeyBw
YXJzZVNjcmlwdE5hbWUoInhzdXgiKSwgVVNDUklQVF9DVU5FSUZPUk0gfSwKKyAgICAgICAgeyBw
YXJzZVNjcmlwdE5hbWUoInlpaWkiKSwgVVNDUklQVF9ZSSB9LAorICAgICAgICB7IHBhcnNlU2Ny
aXB0TmFtZSgienh4eCIpLCBVU0NSSVBUX1VOV1JJVFRFTl9MQU5HVUFHRVMgfSwKKyAgICAgICAg
eyBwYXJzZVNjcmlwdE5hbWUoInp5eXkiKSwgVVNDUklQVF9DT01NT04gfSwKKyAgICAgICAgeyBw
YXJzZVNjcmlwdE5hbWUoInp6enoiKSwgVVNDUklQVF9VTktOT1dOIH0sCisgICAgfTsKIAotICAg
IGF1dG8gaXQgPSBzY3JpcHROYW1lQ29kZU1hcC5nZXQoKS5maW5kKHNjcmlwdE5hbWUpOwotICAg
IGlmIChpdCAhPSBzY3JpcHROYW1lQ29kZU1hcC5nZXQoKS5lbmQoKSkKLSAgICAgICAgcmV0dXJu
IGl0LT52YWx1ZTsKKyAgICBBU1NFUlQoCisgICAgICAgIHN0ZDo6aXNfc29ydGVkKHN0ZDo6YmVn
aW4oc2NyaXB0TmFtZUNvZGVMaXN0KSwgc3RkOjplbmQoc2NyaXB0TmFtZUNvZGVMaXN0KSwKKyAg
ICAgICAgICAgIFtdKGNvbnN0IFNjcmlwdE5hbWVDb2RlJiBhLCBjb25zdCBTY3JpcHROYW1lQ29k
ZSYgYikgeworICAgICAgICAgICAgICAgIHJldHVybiBhLm5hbWUgPCBiLm5hbWU7CisgICAgICAg
ICAgICB9KSk7CisKKyAgICBhdXRvIG5hbWUgPSB0cnlQYXJzZVNjcmlwdE5hbWUoc2NyaXB0TmFt
ZSk7CisgICAgaWYgKCFuYW1lKQorICAgICAgICByZXR1cm4gVVNDUklQVF9JTlZBTElEX0NPREU7
CisKKyAgICBhdXRvKiBlbGVtZW50ID0gdHJ5QmluYXJ5U2VhcmNoPFNjcmlwdE5hbWVDb2RlPihz
Y3JpcHROYW1lQ29kZUxpc3QsIFdURl9BUlJBWV9MRU5HVEgoc2NyaXB0TmFtZUNvZGVMaXN0KSwg
bmFtZS52YWx1ZSgpLAorICAgICAgICBbXShjb25zdCBTY3JpcHROYW1lQ29kZSogc2NyaXB0TmFt
ZUNvZGUpIHsKKyAgICAgICAgICAgIHJldHVybiBzY3JpcHROYW1lQ29kZS0+bmFtZTsKKyAgICAg
ICAgfSk7CisgICAgaWYgKGVsZW1lbnQpCisgICAgICAgIHJldHVybiBlbGVtZW50LT5jb2RlOwog
ICAgIHJldHVybiBVU0NSSVBUX0lOVkFMSURfQ09ERTsKIH0KIAotc3RydWN0IExvY2FsZVNjcmlw
dCB7Ci0gICAgQVNDSUlMaXRlcmFsIGxvY2FsZTsKLSAgICBVU2NyaXB0Q29kZSBzY3JpcHQ7Ci19
OwordXNpbmcgTG9jYWxlTmFtZSA9IHVpbnQ2NF90OwordGVtcGxhdGU8dW5zaWduZWQgY2hhcmFj
dGVyQ291bnRQbHVzT25lPgorc3RhdGljIGNvbnN0ZXhwciBMb2NhbGVOYW1lIHBhcnNlTG9jYWxl
TmFtZShjb25zdCBjaGFyICgmc3RyaW5nKVtjaGFyYWN0ZXJDb3VudFBsdXNPbmVdKQoreworICAg
IGNvbnN0ZXhwciB1bnNpZ25lZCBsZW5ndGggPSBjaGFyYWN0ZXJDb3VudFBsdXNPbmUgLSAxOwor
ICAgIEFTU0VSVF9VTkRFUl9DT05TVEVYUFJfQ09OVEVYVChsZW5ndGggPD0gc2l6ZW9mKExvY2Fs
ZU5hbWUpKTsKKyAgICBMb2NhbGVOYW1lIHJlc3VsdCA9IDA7CisgICAgZm9yICh1bnNpZ25lZCBp
bmRleCA9IDA7IGluZGV4IDwgbGVuZ3RoOyArK2luZGV4KSB7CisgICAgICAgIHVpbnQ4X3QgY29k
ZSA9IHN0YXRpY19jYXN0PHVpbnQ4X3Q+KHN0cmluZ1tpbmRleF0pOworICAgICAgICByZXN1bHQg
fD0gKHN0YXRpY19jYXN0PExvY2FsZU5hbWU+KGNvZGUpIDw8ICgoc2l6ZW9mKExvY2FsZU5hbWUp
IC0gaW5kZXggLSAxKSAqIENIQVJfQklUKSk7CisgICAgfQorICAgIHJldHVybiByZXN1bHQ7Cit9
CiAKLXN0YXRpYyBjb25zdCBMb2NhbGVTY3JpcHQgbG9jYWxlU2NyaXB0TGlzdFtdID0gewotICAg
IHsgImFhIl9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAiYWIiX3MsIFVTQ1JJUFRfQ1lSSUxM
SUMgfSwKLSAgICB7ICJhZHkiX3MsIFVTQ1JJUFRfQ1lSSUxMSUMgfSwKLSAgICB7ICJhZiJfcywg
VVNDUklQVF9MQVRJTiB9LAotICAgIHsgImFrIl9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAi
YW0iX3MsIFVTQ1JJUFRfRVRISU9QSUMgfSwKLSAgICB7ICJhciJfcywgVVNDUklQVF9BUkFCSUMg
fSwKLSAgICB7ICJhcyJfcywgVVNDUklQVF9CRU5HQUxJIH0sCi0gICAgeyAiYXN0Il9zLCBVU0NS
SVBUX0xBVElOIH0sCi0gICAgeyAiYXYiX3MsIFVTQ1JJUFRfQ1lSSUxMSUMgfSwKLSAgICB7ICJh
eSJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgImF6Il9zLCBVU0NSSVBUX0xBVElOIH0sCi0g
ICAgeyAiYmEiX3MsIFVTQ1JJUFRfQ1lSSUxMSUMgfSwKLSAgICB7ICJiZSJfcywgVVNDUklQVF9D
WVJJTExJQyB9LAotICAgIHsgImJnIl9zLCBVU0NSSVBUX0NZUklMTElDIH0sCi0gICAgeyAiYmki
X3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJibiJfcywgVVNDUklQVF9CRU5HQUxJIH0sCi0g
ICAgeyAiYm8iX3MsIFVTQ1JJUFRfVElCRVRBTiB9LAotICAgIHsgImJzIl9zLCBVU0NSSVBUX0xB
VElOIH0sCi0gICAgeyAiY2EiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJjZSJfcywgVVND
UklQVF9DWVJJTExJQyB9LAotICAgIHsgImNlYiJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsg
ImNoIl9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAiY2hrIl9zLCBVU0NSSVBUX0xBVElOIH0s
Ci0gICAgeyAiY3MiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJjeSJfcywgVVNDUklQVF9M
QVRJTiB9LAotICAgIHsgImRhIl9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAiZGUiX3MsIFVT
Q1JJUFRfTEFUSU4gfSwKLSAgICB7ICJkdiJfcywgVVNDUklQVF9USEFBTkEgfSwKLSAgICB7ICJk
eiJfcywgVVNDUklQVF9USUJFVEFOIH0sCi0gICAgeyAiZWUiX3MsIFVTQ1JJUFRfTEFUSU4gfSwK
LSAgICB7ICJlZmkiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJlbCJfcywgVVNDUklQVF9H
UkVFSyB9LAotICAgIHsgImVuIl9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAiZXMiX3MsIFVT
Q1JJUFRfTEFUSU4gfSwKLSAgICB7ICJldCJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgImV1
Il9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAiZmEiX3MsIFVTQ1JJUFRfQVJBQklDIH0sCi0g
ICAgeyAiZmkiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJmaWwiX3MsIFVTQ1JJUFRfTEFU
SU4gfSwKLSAgICB7ICJmaiJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgImZvIl9zLCBVU0NS
SVBUX0xBVElOIH0sCi0gICAgeyAiZnIiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJmdXIi
X3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJmeSJfcywgVVNDUklQVF9MQVRJTiB9LAotICAg
IHsgImdhIl9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAiZ2FhIl9zLCBVU0NSSVBUX0xBVElO
IH0sCi0gICAgeyAiZ2QiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJnaWwiX3MsIFVTQ1JJ
UFRfTEFUSU4gfSwKLSAgICB7ICJnbCJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgImduIl9z
LCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAiZ3N3Il9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAg
eyAiZ3UiX3MsIFVTQ1JJUFRfR1VKQVJBVEkgfSwKLSAgICB7ICJoYSJfcywgVVNDUklQVF9MQVRJ
TiB9LAotICAgIHsgImhhdyJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgImhlIl9zLCBVU0NS
SVBUX0hFQlJFVyB9LAotICAgIHsgImhpIl9zLCBVU0NSSVBUX0RFVkFOQUdBUkkgfSwKLSAgICB7
ICJoaWwiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJobyJfcywgVVNDUklQVF9MQVRJTiB9
LAotICAgIHsgImhyIl9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAiaHQiX3MsIFVTQ1JJUFRf
TEFUSU4gfSwKLSAgICB7ICJodSJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgImh5Il9zLCBV
U0NSSVBUX0FSTUVOSUFOIH0sCi0gICAgeyAiaWQiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7
ICJpZyJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgImlpIl9zLCBVU0NSSVBUX1lJIH0sCi0g
ICAgeyAiaWxvIl9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAiaW5oIl9zLCBVU0NSSVBUX0NZ
UklMTElDIH0sCi0gICAgeyAiaXMiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJpdCJfcywg
VVNDUklQVF9MQVRJTiB9LAotICAgIHsgIml1Il9zLCBVU0NSSVBUX0NBTkFESUFOX0FCT1JJR0lO
QUwgfSwKLSAgICB7ICJqYSJfcywgVVNDUklQVF9LQVRBS0FOQV9PUl9ISVJBR0FOQSB9LAotICAg
IHsgImp2Il9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAia2EiX3MsIFVTQ1JJUFRfR0VPUkdJ
QU4gfSwKLSAgICB7ICJrYWoiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJrYW0iX3MsIFVT
Q1JJUFRfTEFUSU4gfSwKLSAgICB7ICJrYmQiX3MsIFVTQ1JJUFRfQ1lSSUxMSUMgfSwKLSAgICB7
ICJraGEiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJrayJfcywgVVNDUklQVF9DWVJJTExJ
QyB9LAotICAgIHsgImtsIl9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAia20iX3MsIFVTQ1JJ
UFRfS0hNRVIgfSwKLSAgICB7ICJrbiJfcywgVVNDUklQVF9LQU5OQURBIH0sCi0gICAgeyAia28i
X3MsIFVTQ1JJUFRfSEFOR1VMIH0sCi0gICAgeyAia29rIl9zLCBVU0NSSVBUX0RFVkFOQUdBUkkg
fSwKLSAgICB7ICJrb3MiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJrcGUiX3MsIFVTQ1JJ
UFRfTEFUSU4gfSwKLSAgICB7ICJrcmMiX3MsIFVTQ1JJUFRfQ1lSSUxMSUMgfSwKLSAgICB7ICJr
cyJfcywgVVNDUklQVF9BUkFCSUMgfSwKLSAgICB7ICJrdSJfcywgVVNDUklQVF9BUkFCSUMgfSwK
LSAgICB7ICJrdW0iX3MsIFVTQ1JJUFRfQ1lSSUxMSUMgfSwKLSAgICB7ICJreSJfcywgVVNDUklQ
VF9DWVJJTExJQyB9LAotICAgIHsgImxhIl9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAibGFo
Il9zLCBVU0NSSVBUX0FSQUJJQyB9LAotICAgIHsgImxiIl9zLCBVU0NSSVBUX0xBVElOIH0sCi0g
ICAgeyAibGV6Il9zLCBVU0NSSVBUX0NZUklMTElDIH0sCi0gICAgeyAibG4iX3MsIFVTQ1JJUFRf
TEFUSU4gfSwKLSAgICB7ICJsbyJfcywgVVNDUklQVF9MQU8gfSwKLSAgICB7ICJsdCJfcywgVVND
UklQVF9MQVRJTiB9LAotICAgIHsgImx2Il9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAibWFp
Il9zLCBVU0NSSVBUX0RFVkFOQUdBUkkgfSwKLSAgICB7ICJtZGYiX3MsIFVTQ1JJUFRfQ1lSSUxM
SUMgfSwKLSAgICB7ICJtZyJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgIm1oIl9zLCBVU0NS
SVBUX0xBVElOIH0sCi0gICAgeyAibWkiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJtayJf
cywgVVNDUklQVF9DWVJJTExJQyB9LAotICAgIHsgIm1sIl9zLCBVU0NSSVBUX01BTEFZQUxBTSB9
LAotICAgIHsgIm1uIl9zLCBVU0NSSVBUX0NZUklMTElDIH0sCi0gICAgeyAibXIiX3MsIFVTQ1JJ
UFRfREVWQU5BR0FSSSB9LAotICAgIHsgIm1zIl9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAi
bXQiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJteSJfcywgVVNDUklQVF9NWUFOTUFSIH0s
Ci0gICAgeyAibXl2Il9zLCBVU0NSSVBUX0NZUklMTElDIH0sCi0gICAgeyAibmEiX3MsIFVTQ1JJ
UFRfTEFUSU4gfSwKLSAgICB7ICJuYiJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgIm5lIl9z
LCBVU0NSSVBUX0RFVkFOQUdBUkkgfSwKLSAgICB7ICJuaXUiX3MsIFVTQ1JJUFRfTEFUSU4gfSwK
LSAgICB7ICJubCJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgIm5uIl9zLCBVU0NSSVBUX0xB
VElOIH0sCi0gICAgeyAibnIiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJuc28iX3MsIFVT
Q1JJUFRfTEFUSU4gfSwKLSAgICB7ICJueSJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgIm9j
Il9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAib20iX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAg
ICB7ICJvciJfcywgVVNDUklQVF9PUklZQSB9LAotICAgIHsgIm9zIl9zLCBVU0NSSVBUX0NZUklM
TElDIH0sCi0gICAgeyAicGEiX3MsIFVTQ1JJUFRfR1VSTVVLSEkgfSwKLSAgICB7ICJwYWciX3Ms
IFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJwYXAiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7
ICJwYXUiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJwbCJfcywgVVNDUklQVF9MQVRJTiB9
LAotICAgIHsgInBvbiJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgInBzIl9zLCBVU0NSSVBU
X0FSQUJJQyB9LAotICAgIHsgInB0Il9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAicXUiX3Ms
IFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJybSJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsg
InJuIl9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAicm8iX3MsIFVTQ1JJUFRfTEFUSU4gfSwK
LSAgICB7ICJydSJfcywgVVNDUklQVF9DWVJJTExJQyB9LAotICAgIHsgInJ3Il9zLCBVU0NSSVBU
X0xBVElOIH0sCi0gICAgeyAic2EiX3MsIFVTQ1JJUFRfREVWQU5BR0FSSSB9LAotICAgIHsgInNh
aCJfcywgVVNDUklQVF9DWVJJTExJQyB9LAotICAgIHsgInNhdCJfcywgVVNDUklQVF9MQVRJTiB9
LAotICAgIHsgInNkIl9zLCBVU0NSSVBUX0FSQUJJQyB9LAotICAgIHsgInNlIl9zLCBVU0NSSVBU
X0xBVElOIH0sCi0gICAgeyAic2ciX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJzaSJfcywg
VVNDUklQVF9TSU5IQUxBIH0sCi0gICAgeyAic2lkIl9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAg
eyAic2siX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJzbCJfcywgVVNDUklQVF9MQVRJTiB9
LAotICAgIHsgInNtIl9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAic28iX3MsIFVTQ1JJUFRf
TEFUSU4gfSwKLSAgICB7ICJzcSJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgInNyIl9zLCBV
U0NSSVBUX0NZUklMTElDIH0sCi0gICAgeyAic3MiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7
ICJzdCJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgInN1Il9zLCBVU0NSSVBUX0xBVElOIH0s
Ci0gICAgeyAic3YiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJzdyJfcywgVVNDUklQVF9M
QVRJTiB9LAotICAgIHsgInRhIl9zLCBVU0NSSVBUX1RBTUlMIH0sCi0gICAgeyAidGUiX3MsIFVT
Q1JJUFRfVEVMVUdVIH0sCi0gICAgeyAidGV0Il9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAi
dGciX3MsIFVTQ1JJUFRfQ1lSSUxMSUMgfSwKLSAgICB7ICJ0aCJfcywgVVNDUklQVF9USEFJIH0s
Ci0gICAgeyAidGkiX3MsIFVTQ1JJUFRfRVRISU9QSUMgfSwKLSAgICB7ICJ0aWciX3MsIFVTQ1JJ
UFRfRVRISU9QSUMgfSwKLSAgICB7ICJ0ayJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgInRr
bCJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgInRsIl9zLCBVU0NSSVBUX0xBVElOIH0sCi0g
ICAgeyAidG4iX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJ0byJfcywgVVNDUklQVF9MQVRJ
TiB9LAotICAgIHsgInRwaSJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgInRyIl9zLCBVU0NS
SVBUX0xBVElOIH0sCi0gICAgeyAidHJ2Il9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAidHMi
X3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJ0dCJfcywgVVNDUklQVF9DWVJJTExJQyB9LAot
ICAgIHsgInR2bCJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgInR3Il9zLCBVU0NSSVBUX0xB
VElOIH0sCi0gICAgeyAidHkiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJ0eXYiX3MsIFVT
Q1JJUFRfQ1lSSUxMSUMgfSwKLSAgICB7ICJ1ZG0iX3MsIFVTQ1JJUFRfQ1lSSUxMSUMgfSwKLSAg
ICB7ICJ1ZyJfcywgVVNDUklQVF9BUkFCSUMgfSwKLSAgICB7ICJ1ayJfcywgVVNDUklQVF9DWVJJ
TExJQyB9LAotICAgIHsgInVuZCJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgInVyIl9zLCBV
U0NSSVBUX0FSQUJJQyB9LAotICAgIHsgInV6Il9zLCBVU0NSSVBUX0NZUklMTElDIH0sCi0gICAg
eyAidmUiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJ2aSJfcywgVVNDUklQVF9MQVRJTiB9
LAotICAgIHsgIndhbCJfcywgVVNDUklQVF9FVEhJT1BJQyB9LAotICAgIHsgIndhciJfcywgVVND
UklQVF9MQVRJTiB9LAotICAgIHsgIndvIl9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAieGgi
X3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJ5YXAiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAg
ICB7ICJ5byJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgInphIl9zLCBVU0NSSVBUX0xBVElO
IH0sCi0gICAgeyAiemgiX3MsIFVTQ1JJUFRfSEFOIH0sCi0gICAgeyAiemhfaGsiX3MsIFVTQ1JJ
UFRfVFJBRElUSU9OQUxfSEFOIH0sCi0gICAgeyAiemhfdHciX3MsIFVTQ1JJUFRfVFJBRElUSU9O
QUxfSEFOIH0sCi0gICAgeyAienUiX3MsIFVTQ1JJUFRfTEFUSU4gfQotfTsKK3N0YXRpYyBPcHRp
b25hbDxMb2NhbGVOYW1lPiB0cnlQYXJzZUxvY2FsZU5hbWUoU3RyaW5nVmlldyBzdHJpbmcpCit7
CisgICAgaWYgKHN0cmluZy5sZW5ndGgoKSA+IHNpemVvZihMb2NhbGVOYW1lKSkKKyAgICAgICAg
cmV0dXJuIFdURjo6bnVsbG9wdDsKKyAgICBMb2NhbGVOYW1lIHJlc3VsdCA9IDA7CisgICAgZm9y
ICh1bnNpZ25lZCBpbmRleCA9IDA7IGluZGV4IDwgc3RyaW5nLmxlbmd0aCgpOyArK2luZGV4KSB7
CisgICAgICAgIFVDaGFyIGNvZGUgPSBzdHJpbmdbaW5kZXhdOworICAgICAgICBpZiAoIWlzQVND
SUkoY29kZSkpCisgICAgICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworICAgICAgICByZXN1
bHQgfD0gKHN0YXRpY19jYXN0PExvY2FsZU5hbWU+KHRvQVNDSUlMb3dlcihjb2RlKSkgPDwgKChz
aXplb2YoTG9jYWxlTmFtZSkgLSBpbmRleCAtIDEpICogQ0hBUl9CSVQpKTsKKyAgICB9CisgICAg
cmV0dXJuIHJlc3VsdDsKK30KIAotc3RydWN0IExvY2FsZVNjcmlwdE1hcEhhc2hUcmFpdHMgOiBw
dWJsaWMgSGFzaFRyYWl0czxTdHJpbmc+IHsKLSAgICBzdGF0aWMgY29uc3QgaW50IG1pbmltdW1U
YWJsZVNpemUgPSBXVEY6Okhhc2hUYWJsZUNhcGFjaXR5Rm9yU2l6ZTxXVEZfQVJSQVlfTEVOR1RI
KGxvY2FsZVNjcmlwdExpc3QpPjo6dmFsdWU7CitzdHJ1Y3QgTG9jYWxlU2NyaXB0IHsKKyAgICBM
b2NhbGVOYW1lIGxvY2FsZTsKKyAgICBVU2NyaXB0Q29kZSBzY3JpcHQ7CiB9OwogCiBVU2NyaXB0
Q29kZSBsb2NhbGVUb1NjcmlwdENvZGVGb3JGb250U2VsZWN0aW9uKGNvbnN0IFN0cmluZyYgbG9j
YWxlKQogewotICAgIHN0YXRpYyBjb25zdCBhdXRvIGxvY2FsZVNjcmlwdE1hcCA9IG1ha2VOZXZl
ckRlc3Ryb3llZChbXSB7Ci0gICAgICAgIEhhc2hNYXA8U3RyaW5nLCBVU2NyaXB0Q29kZSwgQVND
SUlDYXNlSW5zZW5zaXRpdmVIYXNoLCBMb2NhbGVTY3JpcHRNYXBIYXNoVHJhaXRzPiBtYXA7Ci0g
ICAgICAgIGZvciAoYXV0byYgbG9jYWxlQW5kU2NyaXB0IDogbG9jYWxlU2NyaXB0TGlzdCkKLSAg
ICAgICAgICAgIG1hcC5hZGQobG9jYWxlQW5kU2NyaXB0LmxvY2FsZSwgbG9jYWxlQW5kU2NyaXB0
LnNjcmlwdCk7Ci0gICAgICAgIHJldHVybiBtYXA7Ci0gICAgfSgpKTsKKyAgICBzdGF0aWMgY29u
c3RleHByIExvY2FsZVNjcmlwdCBsb2NhbGVTY3JpcHRMaXN0W10gPSB7CisgICAgICAgIHsgcGFy
c2VMb2NhbGVOYW1lKCJhYSIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VMb2Nh
bGVOYW1lKCJhYiIpLCBVU0NSSVBUX0NZUklMTElDIH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVO
YW1lKCJhZHkiKSwgVVNDUklQVF9DWVJJTExJQyB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFt
ZSgiYWYiKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgiYWsi
KSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgiYW0iKSwgVVND
UklQVF9FVEhJT1BJQyB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgiYXIiKSwgVVNDUklQ
VF9BUkFCSUMgfSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoImFzIiksIFVTQ1JJUFRfQkVO
R0FMSSB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgiYXN0IiksIFVTQ1JJUFRfTEFUSU4g
fSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoImF2IiksIFVTQ1JJUFRfQ1lSSUxMSUMgfSwK
KyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoImF5IiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAg
ICAgeyBwYXJzZUxvY2FsZU5hbWUoImF6IiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBw
YXJzZUxvY2FsZU5hbWUoImJhIiksIFVTQ1JJUFRfQ1lSSUxMSUMgfSwKKyAgICAgICAgeyBwYXJz
ZUxvY2FsZU5hbWUoImJlIiksIFVTQ1JJUFRfQ1lSSUxMSUMgfSwKKyAgICAgICAgeyBwYXJzZUxv
Y2FsZU5hbWUoImJnIiksIFVTQ1JJUFRfQ1lSSUxMSUMgfSwKKyAgICAgICAgeyBwYXJzZUxvY2Fs
ZU5hbWUoImJpIiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUo
ImJuIiksIFVTQ1JJUFRfQkVOR0FMSSB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgiYm8i
KSwgVVNDUklQVF9USUJFVEFOIH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJicyIpLCBV
U0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJjYSIpLCBVU0NSSVBU
X0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJjZSIpLCBVU0NSSVBUX0NZUklM
TElDIH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJjZWIiKSwgVVNDUklQVF9MQVRJTiB9
LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgiY2giKSwgVVNDUklQVF9MQVRJTiB9LAorICAg
ICAgICB7IHBhcnNlTG9jYWxlTmFtZSgiY2hrIiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAg
eyBwYXJzZUxvY2FsZU5hbWUoImNzIiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJz
ZUxvY2FsZU5hbWUoImN5IiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUxvY2Fs
ZU5hbWUoImRhIiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUo
ImRlIiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoImR2Iiks
IFVTQ1JJUFRfVEhBQU5BIH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJkeiIpLCBVU0NS
SVBUX1RJQkVUQU4gfSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoImVlIiksIFVTQ1JJUFRf
TEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoImVmaSIpLCBVU0NSSVBUX0xBVElO
IH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJlbCIpLCBVU0NSSVBUX0dSRUVLIH0sCisg
ICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJlbiIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAg
IHsgcGFyc2VMb2NhbGVOYW1lKCJlcyIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFy
c2VMb2NhbGVOYW1lKCJldCIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VMb2Nh
bGVOYW1lKCJldSIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVOYW1l
KCJmYSIpLCBVU0NSSVBUX0FSQUJJQyB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgiZmki
KSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgiZmlsIiksIFVT
Q1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoImZqIiksIFVTQ1JJUFRf
TEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoImZvIiksIFVTQ1JJUFRfTEFUSU4g
fSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoImZyIiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAg
ICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoImZ1ciIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAg
IHsgcGFyc2VMb2NhbGVOYW1lKCJmeSIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFy
c2VMb2NhbGVOYW1lKCJnYSIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VMb2Nh
bGVOYW1lKCJnYWEiKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFt
ZSgiZ2QiKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgiZ2ls
IiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoImdsIiksIFVT
Q1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoImduIiksIFVTQ1JJUFRf
TEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoImdzdyIpLCBVU0NSSVBUX0xBVElO
IH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJndSIpLCBVU0NSSVBUX0dVSkFSQVRJIH0s
CisgICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJoYSIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAg
ICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJoYXciKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7
IHBhcnNlTG9jYWxlTmFtZSgiaGUiKSwgVVNDUklQVF9IRUJSRVcgfSwKKyAgICAgICAgeyBwYXJz
ZUxvY2FsZU5hbWUoImhpIiksIFVTQ1JJUFRfREVWQU5BR0FSSSB9LAorICAgICAgICB7IHBhcnNl
TG9jYWxlTmFtZSgiaGlsIiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUxvY2Fs
ZU5hbWUoImhvIiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUo
ImhyIiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoImh0Iiks
IFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoImh1IiksIFVTQ1JJ
UFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoImh5IiksIFVTQ1JJUFRfQVJN
RU5JQU4gfSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoImlkIiksIFVTQ1JJUFRfTEFUSU4g
fSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoImlnIiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAg
ICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoImlpIiksIFVTQ1JJUFRfWUkgfSwKKyAgICAgICAgeyBw
YXJzZUxvY2FsZU5hbWUoImlsbyIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VM
b2NhbGVOYW1lKCJpbmgiKSwgVVNDUklQVF9DWVJJTExJQyB9LAorICAgICAgICB7IHBhcnNlTG9j
YWxlTmFtZSgiaXMiKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFt
ZSgiaXQiKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgiaXUi
KSwgVVNDUklQVF9DQU5BRElBTl9BQk9SSUdJTkFMIH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVO
YW1lKCJqYSIpLCBVU0NSSVBUX0tBVEFLQU5BX09SX0hJUkFHQU5BIH0sCisgICAgICAgIHsgcGFy
c2VMb2NhbGVOYW1lKCJqdiIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VMb2Nh
bGVOYW1lKCJrYSIpLCBVU0NSSVBUX0dFT1JHSUFOIH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVO
YW1lKCJrYWoiKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgi
a2FtIiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoImtiZCIp
LCBVU0NSSVBUX0NZUklMTElDIH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJraGEiKSwg
VVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgia2siKSwgVVNDUklQ
VF9DWVJJTExJQyB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgia2wiKSwgVVNDUklQVF9M
QVRJTiB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgia20iKSwgVVNDUklQVF9LSE1FUiB9
LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgia24iKSwgVVNDUklQVF9LQU5OQURBIH0sCisg
ICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJrbyIpLCBVU0NSSVBUX0hBTkdVTCB9LAorICAgICAg
ICB7IHBhcnNlTG9jYWxlTmFtZSgia29rIiksIFVTQ1JJUFRfREVWQU5BR0FSSSB9LAorICAgICAg
ICB7IHBhcnNlTG9jYWxlTmFtZSgia29zIiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBw
YXJzZUxvY2FsZU5hbWUoImtwZSIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VM
b2NhbGVOYW1lKCJrcmMiKSwgVVNDUklQVF9DWVJJTExJQyB9LAorICAgICAgICB7IHBhcnNlTG9j
YWxlTmFtZSgia3MiKSwgVVNDUklQVF9BUkFCSUMgfSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5h
bWUoImt1IiksIFVTQ1JJUFRfQVJBQklDIH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJr
dW0iKSwgVVNDUklQVF9DWVJJTExJQyB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgia3ki
KSwgVVNDUklQVF9DWVJJTExJQyB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgibGEiKSwg
VVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgibGFoIiksIFVTQ1JJ
UFRfQVJBQklDIH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJsYiIpLCBVU0NSSVBUX0xB
VElOIH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJsZXoiKSwgVVNDUklQVF9DWVJJTExJ
QyB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgibG4iKSwgVVNDUklQVF9MQVRJTiB9LAor
ICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgibG8iKSwgVVNDUklQVF9MQU8gfSwKKyAgICAgICAg
eyBwYXJzZUxvY2FsZU5hbWUoImx0IiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJz
ZUxvY2FsZU5hbWUoImx2IiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUxvY2Fs
ZU5hbWUoIm1haSIpLCBVU0NSSVBUX0RFVkFOQUdBUkkgfSwKKyAgICAgICAgeyBwYXJzZUxvY2Fs
ZU5hbWUoIm1kZiIpLCBVU0NSSVBUX0NZUklMTElDIH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVO
YW1lKCJtZyIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJt
aCIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJtaSIpLCBV
U0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJtayIpLCBVU0NSSVBU
X0NZUklMTElDIH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJtbCIpLCBVU0NSSVBUX01B
TEFZQUxBTSB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgibW4iKSwgVVNDUklQVF9DWVJJ
TExJQyB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgibXIiKSwgVVNDUklQVF9ERVZBTkFH
QVJJIH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJtcyIpLCBVU0NSSVBUX0xBVElOIH0s
CisgICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJtdCIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAg
ICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJteSIpLCBVU0NSSVBUX01ZQU5NQVIgfSwKKyAgICAgICAg
eyBwYXJzZUxvY2FsZU5hbWUoIm15diIpLCBVU0NSSVBUX0NZUklMTElDIH0sCisgICAgICAgIHsg
cGFyc2VMb2NhbGVOYW1lKCJuYSIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VM
b2NhbGVOYW1lKCJuYiIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVO
YW1lKCJuZSIpLCBVU0NSSVBUX0RFVkFOQUdBUkkgfSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5h
bWUoIm5pdSIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJu
bCIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJubiIpLCBV
U0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJuciIpLCBVU0NSSVBU
X0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJuc28iKSwgVVNDUklQVF9MQVRJ
TiB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgibnkiKSwgVVNDUklQVF9MQVRJTiB9LAor
ICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgib2MiKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAg
ICB7IHBhcnNlTG9jYWxlTmFtZSgib20iKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBh
cnNlTG9jYWxlTmFtZSgib3IiKSwgVVNDUklQVF9PUklZQSB9LAorICAgICAgICB7IHBhcnNlTG9j
YWxlTmFtZSgib3MiKSwgVVNDUklQVF9DWVJJTExJQyB9LAorICAgICAgICB7IHBhcnNlTG9jYWxl
TmFtZSgicGEiKSwgVVNDUklQVF9HVVJNVUtISSB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFt
ZSgicGFnIiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoInBh
cCIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJwYXUiKSwg
VVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgicGwiKSwgVVNDUklQ
VF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgicG9uIiksIFVTQ1JJUFRfTEFU
SU4gfSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoInBzIiksIFVTQ1JJUFRfQVJBQklDIH0s
CisgICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJwdCIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAg
ICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJxdSIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsg
cGFyc2VMb2NhbGVOYW1lKCJybSIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VM
b2NhbGVOYW1lKCJybiIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVO
YW1lKCJybyIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJy
dSIpLCBVU0NSSVBUX0NZUklMTElDIH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJydyIp
LCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJzYSIpLCBVU0NS
SVBUX0RFVkFOQUdBUkkgfSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoInNhaCIpLCBVU0NS
SVBUX0NZUklMTElDIH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJzYXQiKSwgVVNDUklQ
VF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgic2QiKSwgVVNDUklQVF9BUkFC
SUMgfSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoInNlIiksIFVTQ1JJUFRfTEFUSU4gfSwK
KyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoInNnIiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAg
ICAgeyBwYXJzZUxvY2FsZU5hbWUoInNpIiksIFVTQ1JJUFRfU0lOSEFMQSB9LAorICAgICAgICB7
IHBhcnNlTG9jYWxlTmFtZSgic2lkIiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJz
ZUxvY2FsZU5hbWUoInNrIiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUxvY2Fs
ZU5hbWUoInNsIiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUo
InNtIiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoInNvIiks
IFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoInNxIiksIFVTQ1JJ
UFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoInNyIiksIFVTQ1JJUFRfQ1lS
SUxMSUMgfSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoInNzIiksIFVTQ1JJUFRfTEFUSU4g
fSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoInN0IiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAg
ICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoInN1IiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAg
eyBwYXJzZUxvY2FsZU5hbWUoInN2IiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJz
ZUxvY2FsZU5hbWUoInN3IiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUxvY2Fs
ZU5hbWUoInRhIiksIFVTQ1JJUFRfVEFNSUwgfSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUo
InRlIiksIFVTQ1JJUFRfVEVMVUdVIH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJ0ZXQi
KSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgidGciKSwgVVND
UklQVF9DWVJJTExJQyB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgidGgiKSwgVVNDUklQ
VF9USEFJIH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJ0aSIpLCBVU0NSSVBUX0VUSElP
UElDIH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJ0aWciKSwgVVNDUklQVF9FVEhJT1BJ
QyB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgidGsiKSwgVVNDUklQVF9MQVRJTiB9LAor
ICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgidGtsIiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAg
ICAgeyBwYXJzZUxvY2FsZU5hbWUoInRsIiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBw
YXJzZUxvY2FsZU5hbWUoInRuIiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUxv
Y2FsZU5hbWUoInRvIiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5h
bWUoInRwaSIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJ0
ciIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJ0cnYiKSwg
VVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgidHMiKSwgVVNDUklQ
VF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgidHQiKSwgVVNDUklQVF9DWVJJ
TExJQyB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgidHZsIiksIFVTQ1JJUFRfTEFUSU4g
fSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoInR3IiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAg
ICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoInR5IiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAg
eyBwYXJzZUxvY2FsZU5hbWUoInR5diIpLCBVU0NSSVBUX0NZUklMTElDIH0sCisgICAgICAgIHsg
cGFyc2VMb2NhbGVOYW1lKCJ1ZG0iKSwgVVNDUklQVF9DWVJJTExJQyB9LAorICAgICAgICB7IHBh
cnNlTG9jYWxlTmFtZSgidWciKSwgVVNDUklQVF9BUkFCSUMgfSwKKyAgICAgICAgeyBwYXJzZUxv
Y2FsZU5hbWUoInVrIiksIFVTQ1JJUFRfQ1lSSUxMSUMgfSwKKyAgICAgICAgeyBwYXJzZUxvY2Fs
ZU5hbWUoInVuZCIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVOYW1l
KCJ1ciIpLCBVU0NSSVBUX0FSQUJJQyB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgidXoi
KSwgVVNDUklQVF9DWVJJTExJQyB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgidmUiKSwg
VVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgidmkiKSwgVVNDUklQ
VF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgid2FsIiksIFVTQ1JJUFRfRVRI
SU9QSUMgfSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoIndhciIpLCBVU0NSSVBUX0xBVElO
IH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJ3byIpLCBVU0NSSVBUX0xBVElOIH0sCisg
ICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJ4aCIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAg
IHsgcGFyc2VMb2NhbGVOYW1lKCJ5YXAiKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBh
cnNlTG9jYWxlTmFtZSgieW8iKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlTG9j
YWxlTmFtZSgiemEiKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFt
ZSgiemgiKSwgVVNDUklQVF9IQU4gfSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoInpoX2hr
IiksIFVTQ1JJUFRfVFJBRElUSU9OQUxfSEFOIH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVOYW1l
KCJ6aF90dyIpLCBVU0NSSVBUX1RSQURJVElPTkFMX0hBTiB9LAorICAgICAgICB7IHBhcnNlTG9j
YWxlTmFtZSgienUiKSwgVVNDUklQVF9MQVRJTiB9LAorICAgIH07CisKKyAgICBBU1NFUlQoCisg
ICAgICAgIHN0ZDo6aXNfc29ydGVkKHN0ZDo6YmVnaW4obG9jYWxlU2NyaXB0TGlzdCksIHN0ZDo6
ZW5kKGxvY2FsZVNjcmlwdExpc3QpLAorICAgICAgICAgICAgW10oY29uc3QgTG9jYWxlU2NyaXB0
JiBhLCBjb25zdCBMb2NhbGVTY3JpcHQmIGIpIHsKKyAgICAgICAgICAgICAgICByZXR1cm4gYS5s
b2NhbGUgPCBiLmxvY2FsZTsKKyAgICAgICAgICAgIH0pKTsKKworICAgIGF1dG8gdHJ5RmluZFNj
cmlwdENvZGUgPSBbJl0gKGNvbnN0IFN0cmluZyYgc3RyaW5nKSAtPiBPcHRpb25hbDxVU2NyaXB0
Q29kZT4geworICAgICAgICBhdXRvIGxvY2FsZU5hbWUgPSB0cnlQYXJzZUxvY2FsZU5hbWUoc3Ry
aW5nKTsKKyAgICAgICAgaWYgKCFsb2NhbGVOYW1lKQorICAgICAgICAgICAgcmV0dXJuIFdURjo6
bnVsbG9wdDsKKworICAgICAgICBhdXRvKiBlbGVtZW50ID0gdHJ5QmluYXJ5U2VhcmNoPExvY2Fs
ZVNjcmlwdD4obG9jYWxlU2NyaXB0TGlzdCwgV1RGX0FSUkFZX0xFTkdUSChsb2NhbGVTY3JpcHRM
aXN0KSwgbG9jYWxlTmFtZS52YWx1ZSgpLAorICAgICAgICAgICAgW10oY29uc3QgTG9jYWxlU2Ny
aXB0KiBsb2NhbGVTY3JpcHQpIHsKKyAgICAgICAgICAgICAgICByZXR1cm4gbG9jYWxlU2NyaXB0
LT5sb2NhbGU7CisgICAgICAgICAgICB9KTsKKyAgICAgICAgaWYgKGVsZW1lbnQpCisgICAgICAg
ICAgICByZXR1cm4gZWxlbWVudC0+c2NyaXB0OworICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0
OworICAgIH07CiAKICAgICBTdHJpbmcgY2Fub25pY2FsTG9jYWxlID0gbG9jYWxlOwogICAgIGNh
bm9uaWNhbExvY2FsZS5yZXBsYWNlKCctJywgJ18nKTsKICAgICB3aGlsZSAoIWNhbm9uaWNhbExv
Y2FsZS5pc0VtcHR5KCkpIHsKLSAgICAgICAgYXV0byBpdCA9IGxvY2FsZVNjcmlwdE1hcC5nZXQo
KS5maW5kKGNhbm9uaWNhbExvY2FsZSk7Ci0gICAgICAgIGlmIChpdCAhPSBsb2NhbGVTY3JpcHRN
YXAuZ2V0KCkuZW5kKCkpCi0gICAgICAgICAgICByZXR1cm4gaXQtPnZhbHVlOworICAgICAgICBp
ZiAoYXV0byBzY3JpcHRDb2RlID0gdHJ5RmluZFNjcmlwdENvZGUoY2Fub25pY2FsTG9jYWxlKSkK
KyAgICAgICAgICAgIHJldHVybiBzY3JpcHRDb2RlLnZhbHVlKCk7CiAgICAgICAgIGF1dG8gdW5k
ZXJzY29yZVBvc2l0aW9uID0gY2Fub25pY2FsTG9jYWxlLnJldmVyc2VGaW5kKCdfJyk7CiAgICAg
ICAgIGlmICh1bmRlcnNjb3JlUG9zaXRpb24gPT0gbm90Rm91bmQpCiAgICAgICAgICAgICBicmVh
azsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>426366</attachid>
            <date>2021-04-17 21:02:07 -0700</date>
            <delta_ts>2021-04-17 22:26:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224727-20210417210206.patch</filename>
            <type>text/plain</type>
            <size>36233</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc2MjE3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjg2YWYzN2I3YTJlYWY3
NDA2OTNiYWNhZGFkODQyMTAwYWUyNWUxOS4uMTU2MTIyMTljOWRlYWY4ZmIxY2QyZjljZDdhODI2
NTliYTBiYmIxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDIxLTA0LTE3ICBZdXN1
a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CisKKyAgICAgICAgVXNlIGJpbmFyeS1zZWFy
Y2ggaW4gTG9jYWxlVG9TY3JpcHRNYXBwaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMjQ3MjcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBUaGlzIHBhdGNoIHJlbW92ZXMgSGFzaE1hcHMgaW4gTG9jYWxl
VG9TY3JpcHRNYXBwaW5nLCBhbmQgYmluYXJ5LXNlYXJjaCBvbnRvIHRoZSBjb25zdGFudCBkYXRh
IGFycmF5cy4KKyAgICAgICAgVGhlc2UgbWFwcyBhcmUgbm90IGZyZXF1ZW50bHkgdXNlZC4gS2V5
cyBvZiB0aGUgbWFwcyBjYW4gYmUgZW5jb2RlZCBpbnRvIHVpbnQzMl90IG9yIHVpbnQ2NF90IHNv
IHRoYXQKKyAgICAgICAgY29tcGFyaXNvbiBiZWNvbWVzIHN1cGVyIGNoZWFwIGFuZCB3ZSBjYW4g
aW5pdGlhbGl6ZSB0aGlzIGFycmF5IGF0IGNvbXBpbGUtdGltZS4KKworICAgICAgICBXZSBpbnRy
b2R1Y2UgU2NyaXB0TmFtZSh1aW50MzJfdCkgYW5kIExvY2FsZU5hbWUodWludDY0X3QpIGluc3Rl
YWQgb2YgU3RyaW5nLiBBbmQgdWVzIGl0IGFuZCBnZW5lcmF0ZQorICAgICAgICBzb3J0ZWQgY29u
c3RhbnQgZGF0YSBhcnJheSBmb3IgbWFwcGluZ3MuIFdlIHVzZSBiaW5hcnktc2VhcmNoIHRvIGxv
b2sgZW50cnkgdXAuIFNpbmNlICMgb2YgZW50cmllcyBhcmUKKyAgICAgICAgbm90IGh1Z2UgKH4y
MDApLCBjb21wYXJpc29ucyBhcmUgZXh0cmVtZWx5IGNoZWFwICh1aW50MzJfdCAvIHVpbnQ2NF90
IGNvbXBhcmlzb24pLCBhbmQgdGhpcyBpcyBub3QgYQorICAgICAgICBob3QgY29kZSwgd2UgY2Fu
IGp1c3QgdXNlIGJpbmFyeS1zZWFyY2ggaGVyZSBhbmQgZWxpbWluYXRlIEhhc2hNYXBzJyBtZW1v
cnkgYWxsb2NhdGlvbi4KKworICAgICAgICAqIHBsYXRmb3JtL3RleHQvTG9jYWxlVG9TY3JpcHRN
YXBwaW5nLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnBhcnNlU2NyaXB0TmFtZSk6CisgICAgICAg
IChXZWJDb3JlOjp0cnlQYXJzZVNjcmlwdE5hbWUpOgorICAgICAgICAoV2ViQ29yZTo6c2NyaXB0
TmFtZVRvQ29kZSk6CisgICAgICAgIChXZWJDb3JlOjpwYXJzZUxvY2FsZU5hbWUpOgorICAgICAg
ICAoV2ViQ29yZTo6dHJ5UGFyc2VMb2NhbGVOYW1lKToKKyAgICAgICAgKFdlYkNvcmU6OmxvY2Fs
ZVRvU2NyaXB0Q29kZUZvckZvbnRTZWxlY3Rpb24pOgorCiAyMDIxLTA0LTE3ICBUaW0gTmd1eWVu
ICA8bnRpbUBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIHN1cHBvcnQgZm9yIGlubGluZS17c3Rh
cnQvZW5kfSB2YWx1ZXMgdG8gZmxvYXQgJiBjbGVhciBwcm9wZXJ0aWVzCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0xvY2FsZVRvU2NyaXB0TWFwcGluZy5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0xvY2FsZVRvU2NyaXB0TWFwcGluZy5jcHAKaW5k
ZXggNDllMGVhYTdiZWI5YjMzNTdjMTcwYmIwZTEyMDQ2MTI5NmQxYTM0ZC4uMmVmYTBkYTNlNjFl
ZTQ4YzkxNzJkY2Y2MDZkNGI5ZTZhZjkwYTA5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vdGV4dC9Mb2NhbGVUb1NjcmlwdE1hcHBpbmcuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL3RleHQvTG9jYWxlVG9TY3JpcHRNYXBwaW5nLmNwcApAQCAtMSw1ICsxLDYg
QEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCkBAIC0zNywzNjggKzM4LDQ0
MCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0cnVjdCBTY3JpcHROYW1lQ29kZSB7Ci0g
ICAgQVNDSUlMaXRlcmFsIG5hbWU7Ci0gICAgVVNjcmlwdENvZGUgY29kZTsKLX07Cit1c2luZyBT
Y3JpcHROYW1lID0gdWludDMyX3Q7Cit0ZW1wbGF0ZTx1bnNpZ25lZCBjaGFyYWN0ZXJDb3VudFBs
dXNPbmU+CitzdGF0aWMgY29uc3RleHByIFNjcmlwdE5hbWUgcGFyc2VTY3JpcHROYW1lKGNvbnN0
IGNoYXIgKCZzdHJpbmcpW2NoYXJhY3RlckNvdW50UGx1c09uZV0pCit7CisgICAgY29uc3RleHBy
IHVuc2lnbmVkIGxlbmd0aCA9IGNoYXJhY3RlckNvdW50UGx1c09uZSAtIDE7CisgICAgQVNTRVJU
X1VOREVSX0NPTlNURVhQUl9DT05URVhUKGxlbmd0aCA9PSBzaXplb2YoU2NyaXB0TmFtZSkpOwor
ICAgIFNjcmlwdE5hbWUgcmVzdWx0ID0gMDsKKyAgICBmb3IgKHVuc2lnbmVkIGluZGV4ID0gMDsg
aW5kZXggPCBsZW5ndGg7ICsraW5kZXgpIHsKKyAgICAgICAgdWludDhfdCBjb2RlID0gc3RhdGlj
X2Nhc3Q8dWludDhfdD4oc3RyaW5nW2luZGV4XSk7CisgICAgICAgIHJlc3VsdCB8PSAoc3RhdGlj
X2Nhc3Q8U2NyaXB0TmFtZT4oY29kZSkgPDwgKChzaXplb2YoU2NyaXB0TmFtZSkgLSBpbmRleCAt
IDEpICogQ0hBUl9CSVQpKTsKKyAgICB9CisgICAgcmV0dXJuIHJlc3VsdDsKK30KIAotLy8gVGhp
cyBnZW5lcmFsbHkgbWFwcyBhbiBJU08gMTU5MjQgc2NyaXB0IGNvZGUgdG8gaXRzIFVTY3JpcHRD
b2RlLCBidXQgY2VydGFpbiBmYW1pbGllcyBvZiBzY3JpcHQgY29kZXMgYXJlCi0vLyB0cmVhdGVk
IGFzIGEgc2luZ2xlIHNjcmlwdCBmb3IgYXNzaWduaW5nIGEgcGVyLXNjcmlwdCBmb250IGluIFNl
dHRpbmdzLiBGb3IgZXhhbXBsZSwgImhpcmEiIGlzIG1hcHBlZCB0bwotLy8gVVNDUklQVF9LQVRB
S0FOQV9PUl9ISVJBR0FOQSBpbnN0ZWFkIG9mIFVTQ1JJUFRfSElSQUdBTkEsIHNpbmNlIHdlIHdh
bnQgYWxsIEphcGFuZXNlIHNjcmlwdHMgdG8gYmUgcmVuZGVyZWQKLS8vIHVzaW5nIHRoZSBzYW1l
IGZvbnQgc2V0dGluZy4KLXN0YXRpYyBjb25zdCBTY3JpcHROYW1lQ29kZSBzY3JpcHROYW1lQ29k
ZUxpc3RbXSA9IHsKLSAgICB7ICJ6eXl5Il9zLCBVU0NSSVBUX0NPTU1PTiB9LAotICAgIHsgInFh
YWkiX3MsIFVTQ1JJUFRfSU5IRVJJVEVEIH0sCi0gICAgeyAiYXJhYiJfcywgVVNDUklQVF9BUkFC
SUMgfSwKLSAgICB7ICJhcm1uIl9zLCBVU0NSSVBUX0FSTUVOSUFOIH0sCi0gICAgeyAiYmVuZyJf
cywgVVNDUklQVF9CRU5HQUxJIH0sCi0gICAgeyAiYm9wbyJfcywgVVNDUklQVF9CT1BPTU9GTyB9
LAotICAgIHsgImNoZXIiX3MsIFVTQ1JJUFRfQ0hFUk9LRUUgfSwKLSAgICB7ICJjb3B0Il9zLCBV
U0NSSVBUX0NPUFRJQyB9LAotICAgIHsgImN5cmwiX3MsIFVTQ1JJUFRfQ1lSSUxMSUMgfSwKLSAg
ICB7ICJkc3J0Il9zLCBVU0NSSVBUX0RFU0VSRVQgfSwKLSAgICB7ICJkZXZhIl9zLCBVU0NSSVBU
X0RFVkFOQUdBUkkgfSwKLSAgICB7ICJldGhpIl9zLCBVU0NSSVBUX0VUSElPUElDIH0sCi0gICAg
eyAiZ2VvciJfcywgVVNDUklQVF9HRU9SR0lBTiB9LAotICAgIHsgImdvdGgiX3MsIFVTQ1JJUFRf
R09USElDIH0sCi0gICAgeyAiZ3JlayJfcywgVVNDUklQVF9HUkVFSyB9LAotICAgIHsgImd1anIi
X3MsIFVTQ1JJUFRfR1VKQVJBVEkgfSwKLSAgICB7ICJndXJ1Il9zLCBVU0NSSVBUX0dVUk1VS0hJ
IH0sCi0gICAgeyAiaGFuaSJfcywgVVNDUklQVF9IQU4gfSwKLSAgICB7ICJoYW5nIl9zLCBVU0NS
SVBUX0hBTkdVTCB9LAotICAgIHsgImhlYnIiX3MsIFVTQ1JJUFRfSEVCUkVXIH0sCi0gICAgeyAi
aGlyYSJfcywgVVNDUklQVF9LQVRBS0FOQV9PUl9ISVJBR0FOQSB9LAotICAgIHsgImtuZGEiX3Ms
IFVTQ1JJUFRfS0FOTkFEQSB9LAotICAgIHsgImthbmEiX3MsIFVTQ1JJUFRfS0FUQUtBTkFfT1Jf
SElSQUdBTkEgfSwKLSAgICB7ICJraG1yIl9zLCBVU0NSSVBUX0tITUVSIH0sCi0gICAgeyAibGFv
byJfcywgVVNDUklQVF9MQU8gfSwKLSAgICB7ICJsYXRuIl9zLCBVU0NSSVBUX0xBVElOIH0sCi0g
ICAgeyAibWx5bSJfcywgVVNDUklQVF9NQUxBWUFMQU0gfSwKLSAgICB7ICJtb25nIl9zLCBVU0NS
SVBUX01PTkdPTElBTiB9LAotICAgIHsgIm15bXIiX3MsIFVTQ1JJUFRfTVlBTk1BUiB9LAotICAg
IHsgIm9nYW0iX3MsIFVTQ1JJUFRfT0dIQU0gfSwKLSAgICB7ICJpdGFsIl9zLCBVU0NSSVBUX09M
RF9JVEFMSUMgfSwKLSAgICB7ICJvcnlhIl9zLCBVU0NSSVBUX09SSVlBIH0sCi0gICAgeyAicnVu
ciJfcywgVVNDUklQVF9SVU5JQyB9LAotICAgIHsgInNpbmgiX3MsIFVTQ1JJUFRfU0lOSEFMQSB9
LAotICAgIHsgInN5cmMiX3MsIFVTQ1JJUFRfU1lSSUFDIH0sCi0gICAgeyAidGFtbCJfcywgVVND
UklQVF9UQU1JTCB9LAotICAgIHsgInRlbHUiX3MsIFVTQ1JJUFRfVEVMVUdVIH0sCi0gICAgeyAi
dGhhYSJfcywgVVNDUklQVF9USEFBTkEgfSwKLSAgICB7ICJ0aGFpIl9zLCBVU0NSSVBUX1RIQUkg
fSwKLSAgICB7ICJ0aWJ0Il9zLCBVU0NSSVBUX1RJQkVUQU4gfSwKLSAgICB7ICJjYW5zIl9zLCBV
U0NSSVBUX0NBTkFESUFOX0FCT1JJR0lOQUwgfSwKLSAgICB7ICJ5aWlpIl9zLCBVU0NSSVBUX1lJ
IH0sCi0gICAgeyAidGdsZyJfcywgVVNDUklQVF9UQUdBTE9HIH0sCi0gICAgeyAiaGFubyJfcywg
VVNDUklQVF9IQU5VTk9PIH0sCi0gICAgeyAiYnVoZCJfcywgVVNDUklQVF9CVUhJRCB9LAotICAg
IHsgInRhZ2IiX3MsIFVTQ1JJUFRfVEFHQkFOV0EgfSwKLSAgICB7ICJicmFpIl9zLCBVU0NSSVBU
X0JSQUlMTEUgfSwKLSAgICB7ICJjcHJ0Il9zLCBVU0NSSVBUX0NZUFJJT1QgfSwKLSAgICB7ICJs
aW1iIl9zLCBVU0NSSVBUX0xJTUJVIH0sCi0gICAgeyAibGluYiJfcywgVVNDUklQVF9MSU5FQVJf
QiB9LAotICAgIHsgIm9zbWEiX3MsIFVTQ1JJUFRfT1NNQU5ZQSB9LAotICAgIHsgInNoYXciX3Ms
IFVTQ1JJUFRfU0hBVklBTiB9LAotICAgIHsgInRhbGUiX3MsIFVTQ1JJUFRfVEFJX0xFIH0sCi0g
ICAgeyAidWdhciJfcywgVVNDUklQVF9VR0FSSVRJQyB9LAotICAgIHsgImhya3QiX3MsIFVTQ1JJ
UFRfS0FUQUtBTkFfT1JfSElSQUdBTkEgfSwKLSAgICB7ICJidWdpIl9zLCBVU0NSSVBUX0JVR0lO
RVNFIH0sCi0gICAgeyAiZ2xhZyJfcywgVVNDUklQVF9HTEFHT0xJVElDIH0sCi0gICAgeyAia2hh
ciJfcywgVVNDUklQVF9LSEFST1NIVEhJIH0sCi0gICAgeyAic3lsbyJfcywgVVNDUklQVF9TWUxP
VElfTkFHUkkgfSwKLSAgICB7ICJ0YWx1Il9zLCBVU0NSSVBUX05FV19UQUlfTFVFIH0sCi0gICAg
eyAidGZuZyJfcywgVVNDUklQVF9USUZJTkFHSCB9LAotICAgIHsgInhwZW8iX3MsIFVTQ1JJUFRf
T0xEX1BFUlNJQU4gfSwKLSAgICB7ICJiYWxpIl9zLCBVU0NSSVBUX0JBTElORVNFIH0sCi0gICAg
eyAiYmF0ayJfcywgVVNDUklQVF9CQVRBSyB9LAotICAgIHsgImJsaXMiX3MsIFVTQ1JJUFRfQkxJ
U1NZTUJPTFMgfSwKLSAgICB7ICJicmFoIl9zLCBVU0NSSVBUX0JSQUhNSSB9LAotICAgIHsgImNo
YW0iX3MsIFVTQ1JJUFRfQ0hBTSB9LAotICAgIHsgImNpcnQiX3MsIFVTQ1JJUFRfQ0lSVEggfSwK
LSAgICB7ICJjeXJzIl9zLCBVU0NSSVBUX09MRF9DSFVSQ0hfU0xBVk9OSUNfQ1lSSUxMSUMgfSwK
LSAgICB7ICJlZ3lkIl9zLCBVU0NSSVBUX0RFTU9USUNfRUdZUFRJQU4gfSwKLSAgICB7ICJlZ3lo
Il9zLCBVU0NSSVBUX0hJRVJBVElDX0VHWVBUSUFOIH0sCi0gICAgeyAiZWd5cCJfcywgVVNDUklQ
VF9FR1lQVElBTl9ISUVST0dMWVBIUyB9LAotICAgIHsgImdlb2siX3MsIFVTQ1JJUFRfS0hVVFNV
UkkgfSwKLSAgICB7ICJoYW5zIl9zLCBVU0NSSVBUX1NJTVBMSUZJRURfSEFOIH0sCi0gICAgeyAi
aGFudCJfcywgVVNDUklQVF9UUkFESVRJT05BTF9IQU4gfSwKLSAgICB7ICJobW5nIl9zLCBVU0NS
SVBUX1BBSEFXSF9ITU9ORyB9LAotICAgIHsgImh1bmciX3MsIFVTQ1JJUFRfT0xEX0hVTkdBUklB
TiB9LAotICAgIHsgImluZHMiX3MsIFVTQ1JJUFRfSEFSQVBQQU5fSU5EVVMgfSwKLSAgICB7ICJq
YXZhIl9zLCBVU0NSSVBUX0pBVkFORVNFIH0sCi0gICAgeyAia2FsaSJfcywgVVNDUklQVF9LQVlB
SF9MSSB9LAotICAgIHsgImxhdGYiX3MsIFVTQ1JJUFRfTEFUSU5fRlJBS1RVUiB9LAotICAgIHsg
ImxhdGciX3MsIFVTQ1JJUFRfTEFUSU5fR0FFTElDIH0sCi0gICAgeyAibGVwYyJfcywgVVNDUklQ
VF9MRVBDSEEgfSwKLSAgICB7ICJsaW5hIl9zLCBVU0NSSVBUX0xJTkVBUl9BIH0sCi0gICAgeyAi
bWFuZCJfcywgVVNDUklQVF9NQU5EQUVBTiB9LAotICAgIHsgIm1heWEiX3MsIFVTQ1JJUFRfTUFZ
QU5fSElFUk9HTFlQSFMgfSwKLSAgICB7ICJtZXJvIl9zLCBVU0NSSVBUX01FUk9JVElDIH0sCi0g
ICAgeyAibmtvbyJfcywgVVNDUklQVF9OS08gfSwKLSAgICB7ICJvcmtoIl9zLCBVU0NSSVBUX09S
S0hPTiB9LAotICAgIHsgInBlcm0iX3MsIFVTQ1JJUFRfT0xEX1BFUk1JQyB9LAotICAgIHsgInBo
YWciX3MsIFVTQ1JJUFRfUEhBR1NfUEEgfSwKLSAgICB7ICJwaG54Il9zLCBVU0NSSVBUX1BIT0VO
SUNJQU4gfSwKLSAgICB7ICJwbHJkIl9zLCBVU0NSSVBUX1BIT05FVElDX1BPTExBUkQgfSwKLSAg
ICB7ICJyb3JvIl9zLCBVU0NSSVBUX1JPTkdPUk9OR08gfSwKLSAgICB7ICJzYXJhIl9zLCBVU0NS
SVBUX1NBUkFUSSB9LAotICAgIHsgInN5cmUiX3MsIFVTQ1JJUFRfRVNUUkFOR0VMT19TWVJJQUMg
fSwKLSAgICB7ICJzeXJqIl9zLCBVU0NSSVBUX1dFU1RFUk5fU1lSSUFDIH0sCi0gICAgeyAic3ly
biJfcywgVVNDUklQVF9FQVNURVJOX1NZUklBQyB9LAotICAgIHsgInRlbmciX3MsIFVTQ1JJUFRf
VEVOR1dBUiB9LAotICAgIHsgInZhaWkiX3MsIFVTQ1JJUFRfVkFJIH0sCi0gICAgeyAidmlzcCJf
cywgVVNDUklQVF9WSVNJQkxFX1NQRUVDSCB9LAotICAgIHsgInhzdXgiX3MsIFVTQ1JJUFRfQ1VO
RUlGT1JNIH0sCi0gICAgeyAianBhbiJfcywgVVNDUklQVF9LQVRBS0FOQV9PUl9ISVJBR0FOQSB9
LAotICAgIHsgImtvcmUiX3MsIFVTQ1JJUFRfSEFOR1VMIH0sCi0gICAgeyAienh4eCJfcywgVVND
UklQVF9VTldSSVRURU5fTEFOR1VBR0VTIH0sCi0gICAgeyAienp6eiJfcywgVVNDUklQVF9VTktO
T1dOIH0KLX07CitzdGF0aWMgT3B0aW9uYWw8U2NyaXB0TmFtZT4gdHJ5UGFyc2VTY3JpcHROYW1l
KFN0cmluZ1ZpZXcgc3RyaW5nKQoreworICAgIGlmIChzdHJpbmcubGVuZ3RoKCkgIT0gc2l6ZW9m
KFNjcmlwdE5hbWUpKQorICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworICAgIFNjcmlwdE5h
bWUgcmVzdWx0ID0gMDsKKyAgICBmb3IgKHVuc2lnbmVkIGluZGV4ID0gMDsgaW5kZXggPCBzdHJp
bmcubGVuZ3RoKCk7ICsraW5kZXgpIHsKKyAgICAgICAgVUNoYXIgY29kZSA9IHN0cmluZ1tpbmRl
eF07CisgICAgICAgIGlmICghaXNBU0NJSShjb2RlKSkKKyAgICAgICAgICAgIHJldHVybiBXVEY6
Om51bGxvcHQ7CisgICAgICAgIHJlc3VsdCB8PSAoc3RhdGljX2Nhc3Q8U2NyaXB0TmFtZT4odG9B
U0NJSUxvd2VyKGNvZGUpKSA8PCAoKHNpemVvZihTY3JpcHROYW1lKSAtIGluZGV4IC0gMSkgKiBD
SEFSX0JJVCkpOworICAgIH0KKyAgICByZXR1cm4gcmVzdWx0OworfQogCi1zdHJ1Y3QgU2NyaXB0
TmFtZUNvZGVNYXBIYXNoVHJhaXRzIDogcHVibGljIEhhc2hUcmFpdHM8U3RyaW5nPiB7Ci0gICAg
c3RhdGljIGNvbnN0IGludCBtaW5pbXVtVGFibGVTaXplID0gV1RGOjpIYXNoVGFibGVDYXBhY2l0
eUZvclNpemU8V1RGX0FSUkFZX0xFTkdUSChzY3JpcHROYW1lQ29kZUxpc3QpPjo6dmFsdWU7Citz
dHJ1Y3QgU2NyaXB0TmFtZUNvZGUgeworICAgIFNjcmlwdE5hbWUgbmFtZTsKKyAgICBVU2NyaXB0
Q29kZSBjb2RlOwogfTsKIAogVVNjcmlwdENvZGUgc2NyaXB0TmFtZVRvQ29kZShjb25zdCBTdHJp
bmcmIHNjcmlwdE5hbWUpCiB7Ci0gICAgc3RhdGljIGNvbnN0IGF1dG8gc2NyaXB0TmFtZUNvZGVN
YXAgPSBtYWtlTmV2ZXJEZXN0cm95ZWQoW10gewotICAgICAgICBIYXNoTWFwPFN0cmluZywgVVNj
cmlwdENvZGUsIEFTQ0lJQ2FzZUluc2Vuc2l0aXZlSGFzaCwgU2NyaXB0TmFtZUNvZGVNYXBIYXNo
VHJhaXRzPiBtYXA7Ci0gICAgICAgIGZvciAoYXV0byYgbmFtZUFuZENvZGUgOiBzY3JpcHROYW1l
Q29kZUxpc3QpCi0gICAgICAgICAgICBtYXAuYWRkKG5hbWVBbmRDb2RlLm5hbWUsIG5hbWVBbmRD
b2RlLmNvZGUpOwotICAgICAgICByZXR1cm4gbWFwOwotICAgIH0oKSk7CisgICAgLy8gVGhpcyBn
ZW5lcmFsbHkgbWFwcyBhbiBJU08gMTU5MjQgc2NyaXB0IGNvZGUgdG8gaXRzIFVTY3JpcHRDb2Rl
LCBidXQgY2VydGFpbiBmYW1pbGllcyBvZiBzY3JpcHQgY29kZXMgYXJlCisgICAgLy8gdHJlYXRl
ZCBhcyBhIHNpbmdsZSBzY3JpcHQgZm9yIGFzc2lnbmluZyBhIHBlci1zY3JpcHQgZm9udCBpbiBT
ZXR0aW5ncy4gRm9yIGV4YW1wbGUsICJoaXJhIiBpcyBtYXBwZWQgdG8KKyAgICAvLyBVU0NSSVBU
X0tBVEFLQU5BX09SX0hJUkFHQU5BIGluc3RlYWQgb2YgVVNDUklQVF9ISVJBR0FOQSwgc2luY2Ug
d2Ugd2FudCBhbGwgSmFwYW5lc2Ugc2NyaXB0cyB0byBiZSByZW5kZXJlZAorICAgIC8vIHVzaW5n
IHRoZSBzYW1lIGZvbnQgc2V0dGluZy4KKyAgICBzdGF0aWMgY29uc3RleHByIFNjcmlwdE5hbWVD
b2RlIHNjcmlwdE5hbWVDb2RlTGlzdFtdID0geworICAgICAgICB7IHBhcnNlU2NyaXB0TmFtZSgi
YXJhYiIpLCBVU0NSSVBUX0FSQUJJQyB9LAorICAgICAgICB7IHBhcnNlU2NyaXB0TmFtZSgiYXJt
biIpLCBVU0NSSVBUX0FSTUVOSUFOIH0sCisgICAgICAgIHsgcGFyc2VTY3JpcHROYW1lKCJiYWxp
IiksIFVTQ1JJUFRfQkFMSU5FU0UgfSwKKyAgICAgICAgeyBwYXJzZVNjcmlwdE5hbWUoImJhdGsi
KSwgVVNDUklQVF9CQVRBSyB9LAorICAgICAgICB7IHBhcnNlU2NyaXB0TmFtZSgiYmVuZyIpLCBV
U0NSSVBUX0JFTkdBTEkgfSwKKyAgICAgICAgeyBwYXJzZVNjcmlwdE5hbWUoImJsaXMiKSwgVVND
UklQVF9CTElTU1lNQk9MUyB9LAorICAgICAgICB7IHBhcnNlU2NyaXB0TmFtZSgiYm9wbyIpLCBV
U0NSSVBUX0JPUE9NT0ZPIH0sCisgICAgICAgIHsgcGFyc2VTY3JpcHROYW1lKCJicmFoIiksIFVT
Q1JJUFRfQlJBSE1JIH0sCisgICAgICAgIHsgcGFyc2VTY3JpcHROYW1lKCJicmFpIiksIFVTQ1JJ
UFRfQlJBSUxMRSB9LAorICAgICAgICB7IHBhcnNlU2NyaXB0TmFtZSgiYnVnaSIpLCBVU0NSSVBU
X0JVR0lORVNFIH0sCisgICAgICAgIHsgcGFyc2VTY3JpcHROYW1lKCJidWhkIiksIFVTQ1JJUFRf
QlVISUQgfSwKKyAgICAgICAgeyBwYXJzZVNjcmlwdE5hbWUoImNhbnMiKSwgVVNDUklQVF9DQU5B
RElBTl9BQk9SSUdJTkFMIH0sCisgICAgICAgIHsgcGFyc2VTY3JpcHROYW1lKCJjaGFtIiksIFVT
Q1JJUFRfQ0hBTSB9LAorICAgICAgICB7IHBhcnNlU2NyaXB0TmFtZSgiY2hlciIpLCBVU0NSSVBU
X0NIRVJPS0VFIH0sCisgICAgICAgIHsgcGFyc2VTY3JpcHROYW1lKCJjaXJ0IiksIFVTQ1JJUFRf
Q0lSVEggfSwKKyAgICAgICAgeyBwYXJzZVNjcmlwdE5hbWUoImNvcHQiKSwgVVNDUklQVF9DT1BU
SUMgfSwKKyAgICAgICAgeyBwYXJzZVNjcmlwdE5hbWUoImNwcnQiKSwgVVNDUklQVF9DWVBSSU9U
IH0sCisgICAgICAgIHsgcGFyc2VTY3JpcHROYW1lKCJjeXJsIiksIFVTQ1JJUFRfQ1lSSUxMSUMg
fSwKKyAgICAgICAgeyBwYXJzZVNjcmlwdE5hbWUoImN5cnMiKSwgVVNDUklQVF9PTERfQ0hVUkNI
X1NMQVZPTklDX0NZUklMTElDIH0sCisgICAgICAgIHsgcGFyc2VTY3JpcHROYW1lKCJkZXZhIiks
IFVTQ1JJUFRfREVWQU5BR0FSSSB9LAorICAgICAgICB7IHBhcnNlU2NyaXB0TmFtZSgiZHNydCIp
LCBVU0NSSVBUX0RFU0VSRVQgfSwKKyAgICAgICAgeyBwYXJzZVNjcmlwdE5hbWUoImVneWQiKSwg
VVNDUklQVF9ERU1PVElDX0VHWVBUSUFOIH0sCisgICAgICAgIHsgcGFyc2VTY3JpcHROYW1lKCJl
Z3loIiksIFVTQ1JJUFRfSElFUkFUSUNfRUdZUFRJQU4gfSwKKyAgICAgICAgeyBwYXJzZVNjcmlw
dE5hbWUoImVneXAiKSwgVVNDUklQVF9FR1lQVElBTl9ISUVST0dMWVBIUyB9LAorICAgICAgICB7
IHBhcnNlU2NyaXB0TmFtZSgiZXRoaSIpLCBVU0NSSVBUX0VUSElPUElDIH0sCisgICAgICAgIHsg
cGFyc2VTY3JpcHROYW1lKCJnZW9rIiksIFVTQ1JJUFRfS0hVVFNVUkkgfSwKKyAgICAgICAgeyBw
YXJzZVNjcmlwdE5hbWUoImdlb3IiKSwgVVNDUklQVF9HRU9SR0lBTiB9LAorICAgICAgICB7IHBh
cnNlU2NyaXB0TmFtZSgiZ2xhZyIpLCBVU0NSSVBUX0dMQUdPTElUSUMgfSwKKyAgICAgICAgeyBw
YXJzZVNjcmlwdE5hbWUoImdvdGgiKSwgVVNDUklQVF9HT1RISUMgfSwKKyAgICAgICAgeyBwYXJz
ZVNjcmlwdE5hbWUoImdyZWsiKSwgVVNDUklQVF9HUkVFSyB9LAorICAgICAgICB7IHBhcnNlU2Ny
aXB0TmFtZSgiZ3VqciIpLCBVU0NSSVBUX0dVSkFSQVRJIH0sCisgICAgICAgIHsgcGFyc2VTY3Jp
cHROYW1lKCJndXJ1IiksIFVTQ1JJUFRfR1VSTVVLSEkgfSwKKyAgICAgICAgeyBwYXJzZVNjcmlw
dE5hbWUoImhhbmciKSwgVVNDUklQVF9IQU5HVUwgfSwKKyAgICAgICAgeyBwYXJzZVNjcmlwdE5h
bWUoImhhbmkiKSwgVVNDUklQVF9IQU4gfSwKKyAgICAgICAgeyBwYXJzZVNjcmlwdE5hbWUoImhh
bm8iKSwgVVNDUklQVF9IQU5VTk9PIH0sCisgICAgICAgIHsgcGFyc2VTY3JpcHROYW1lKCJoYW5z
IiksIFVTQ1JJUFRfU0lNUExJRklFRF9IQU4gfSwKKyAgICAgICAgeyBwYXJzZVNjcmlwdE5hbWUo
ImhhbnQiKSwgVVNDUklQVF9UUkFESVRJT05BTF9IQU4gfSwKKyAgICAgICAgeyBwYXJzZVNjcmlw
dE5hbWUoImhlYnIiKSwgVVNDUklQVF9IRUJSRVcgfSwKKyAgICAgICAgeyBwYXJzZVNjcmlwdE5h
bWUoImhpcmEiKSwgVVNDUklQVF9LQVRBS0FOQV9PUl9ISVJBR0FOQSB9LAorICAgICAgICB7IHBh
cnNlU2NyaXB0TmFtZSgiaG1uZyIpLCBVU0NSSVBUX1BBSEFXSF9ITU9ORyB9LAorICAgICAgICB7
IHBhcnNlU2NyaXB0TmFtZSgiaHJrdCIpLCBVU0NSSVBUX0tBVEFLQU5BX09SX0hJUkFHQU5BIH0s
CisgICAgICAgIHsgcGFyc2VTY3JpcHROYW1lKCJodW5nIiksIFVTQ1JJUFRfT0xEX0hVTkdBUklB
TiB9LAorICAgICAgICB7IHBhcnNlU2NyaXB0TmFtZSgiaW5kcyIpLCBVU0NSSVBUX0hBUkFQUEFO
X0lORFVTIH0sCisgICAgICAgIHsgcGFyc2VTY3JpcHROYW1lKCJpdGFsIiksIFVTQ1JJUFRfT0xE
X0lUQUxJQyB9LAorICAgICAgICB7IHBhcnNlU2NyaXB0TmFtZSgiamF2YSIpLCBVU0NSSVBUX0pB
VkFORVNFIH0sCisgICAgICAgIHsgcGFyc2VTY3JpcHROYW1lKCJqcGFuIiksIFVTQ1JJUFRfS0FU
QUtBTkFfT1JfSElSQUdBTkEgfSwKKyAgICAgICAgeyBwYXJzZVNjcmlwdE5hbWUoImthbGkiKSwg
VVNDUklQVF9LQVlBSF9MSSB9LAorICAgICAgICB7IHBhcnNlU2NyaXB0TmFtZSgia2FuYSIpLCBV
U0NSSVBUX0tBVEFLQU5BX09SX0hJUkFHQU5BIH0sCisgICAgICAgIHsgcGFyc2VTY3JpcHROYW1l
KCJraGFyIiksIFVTQ1JJUFRfS0hBUk9TSFRISSB9LAorICAgICAgICB7IHBhcnNlU2NyaXB0TmFt
ZSgia2htciIpLCBVU0NSSVBUX0tITUVSIH0sCisgICAgICAgIHsgcGFyc2VTY3JpcHROYW1lKCJr
bmRhIiksIFVTQ1JJUFRfS0FOTkFEQSB9LAorICAgICAgICB7IHBhcnNlU2NyaXB0TmFtZSgia29y
ZSIpLCBVU0NSSVBUX0hBTkdVTCB9LAorICAgICAgICB7IHBhcnNlU2NyaXB0TmFtZSgibGFvbyIp
LCBVU0NSSVBUX0xBTyB9LAorICAgICAgICB7IHBhcnNlU2NyaXB0TmFtZSgibGF0ZiIpLCBVU0NS
SVBUX0xBVElOX0ZSQUtUVVIgfSwKKyAgICAgICAgeyBwYXJzZVNjcmlwdE5hbWUoImxhdGciKSwg
VVNDUklQVF9MQVRJTl9HQUVMSUMgfSwKKyAgICAgICAgeyBwYXJzZVNjcmlwdE5hbWUoImxhdG4i
KSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlU2NyaXB0TmFtZSgibGVwYyIpLCBV
U0NSSVBUX0xFUENIQSB9LAorICAgICAgICB7IHBhcnNlU2NyaXB0TmFtZSgibGltYiIpLCBVU0NS
SVBUX0xJTUJVIH0sCisgICAgICAgIHsgcGFyc2VTY3JpcHROYW1lKCJsaW5hIiksIFVTQ1JJUFRf
TElORUFSX0EgfSwKKyAgICAgICAgeyBwYXJzZVNjcmlwdE5hbWUoImxpbmIiKSwgVVNDUklQVF9M
SU5FQVJfQiB9LAorICAgICAgICB7IHBhcnNlU2NyaXB0TmFtZSgibWFuZCIpLCBVU0NSSVBUX01B
TkRBRUFOIH0sCisgICAgICAgIHsgcGFyc2VTY3JpcHROYW1lKCJtYXlhIiksIFVTQ1JJUFRfTUFZ
QU5fSElFUk9HTFlQSFMgfSwKKyAgICAgICAgeyBwYXJzZVNjcmlwdE5hbWUoIm1lcm8iKSwgVVND
UklQVF9NRVJPSVRJQyB9LAorICAgICAgICB7IHBhcnNlU2NyaXB0TmFtZSgibWx5bSIpLCBVU0NS
SVBUX01BTEFZQUxBTSB9LAorICAgICAgICB7IHBhcnNlU2NyaXB0TmFtZSgibW9uZyIpLCBVU0NS
SVBUX01PTkdPTElBTiB9LAorICAgICAgICB7IHBhcnNlU2NyaXB0TmFtZSgibXltciIpLCBVU0NS
SVBUX01ZQU5NQVIgfSwKKyAgICAgICAgeyBwYXJzZVNjcmlwdE5hbWUoIm5rb28iKSwgVVNDUklQ
VF9OS08gfSwKKyAgICAgICAgeyBwYXJzZVNjcmlwdE5hbWUoIm9nYW0iKSwgVVNDUklQVF9PR0hB
TSB9LAorICAgICAgICB7IHBhcnNlU2NyaXB0TmFtZSgib3JraCIpLCBVU0NSSVBUX09SS0hPTiB9
LAorICAgICAgICB7IHBhcnNlU2NyaXB0TmFtZSgib3J5YSIpLCBVU0NSSVBUX09SSVlBIH0sCisg
ICAgICAgIHsgcGFyc2VTY3JpcHROYW1lKCJvc21hIiksIFVTQ1JJUFRfT1NNQU5ZQSB9LAorICAg
ICAgICB7IHBhcnNlU2NyaXB0TmFtZSgicGVybSIpLCBVU0NSSVBUX09MRF9QRVJNSUMgfSwKKyAg
ICAgICAgeyBwYXJzZVNjcmlwdE5hbWUoInBoYWciKSwgVVNDUklQVF9QSEFHU19QQSB9LAorICAg
ICAgICB7IHBhcnNlU2NyaXB0TmFtZSgicGhueCIpLCBVU0NSSVBUX1BIT0VOSUNJQU4gfSwKKyAg
ICAgICAgeyBwYXJzZVNjcmlwdE5hbWUoInBscmQiKSwgVVNDUklQVF9QSE9ORVRJQ19QT0xMQVJE
IH0sCisgICAgICAgIHsgcGFyc2VTY3JpcHROYW1lKCJxYWFpIiksIFVTQ1JJUFRfSU5IRVJJVEVE
IH0sCisgICAgICAgIHsgcGFyc2VTY3JpcHROYW1lKCJyb3JvIiksIFVTQ1JJUFRfUk9OR09ST05H
TyB9LAorICAgICAgICB7IHBhcnNlU2NyaXB0TmFtZSgicnVuciIpLCBVU0NSSVBUX1JVTklDIH0s
CisgICAgICAgIHsgcGFyc2VTY3JpcHROYW1lKCJzYXJhIiksIFVTQ1JJUFRfU0FSQVRJIH0sCisg
ICAgICAgIHsgcGFyc2VTY3JpcHROYW1lKCJzaGF3IiksIFVTQ1JJUFRfU0hBVklBTiB9LAorICAg
ICAgICB7IHBhcnNlU2NyaXB0TmFtZSgic2luaCIpLCBVU0NSSVBUX1NJTkhBTEEgfSwKKyAgICAg
ICAgeyBwYXJzZVNjcmlwdE5hbWUoInN5bG8iKSwgVVNDUklQVF9TWUxPVElfTkFHUkkgfSwKKyAg
ICAgICAgeyBwYXJzZVNjcmlwdE5hbWUoInN5cmMiKSwgVVNDUklQVF9TWVJJQUMgfSwKKyAgICAg
ICAgeyBwYXJzZVNjcmlwdE5hbWUoInN5cmUiKSwgVVNDUklQVF9FU1RSQU5HRUxPX1NZUklBQyB9
LAorICAgICAgICB7IHBhcnNlU2NyaXB0TmFtZSgic3lyaiIpLCBVU0NSSVBUX1dFU1RFUk5fU1lS
SUFDIH0sCisgICAgICAgIHsgcGFyc2VTY3JpcHROYW1lKCJzeXJuIiksIFVTQ1JJUFRfRUFTVEVS
Tl9TWVJJQUMgfSwKKyAgICAgICAgeyBwYXJzZVNjcmlwdE5hbWUoInRhZ2IiKSwgVVNDUklQVF9U
QUdCQU5XQSB9LAorICAgICAgICB7IHBhcnNlU2NyaXB0TmFtZSgidGFsZSIpLCBVU0NSSVBUX1RB
SV9MRSB9LAorICAgICAgICB7IHBhcnNlU2NyaXB0TmFtZSgidGFsdSIpLCBVU0NSSVBUX05FV19U
QUlfTFVFIH0sCisgICAgICAgIHsgcGFyc2VTY3JpcHROYW1lKCJ0YW1sIiksIFVTQ1JJUFRfVEFN
SUwgfSwKKyAgICAgICAgeyBwYXJzZVNjcmlwdE5hbWUoInRlbHUiKSwgVVNDUklQVF9URUxVR1Ug
fSwKKyAgICAgICAgeyBwYXJzZVNjcmlwdE5hbWUoInRlbmciKSwgVVNDUklQVF9URU5HV0FSIH0s
CisgICAgICAgIHsgcGFyc2VTY3JpcHROYW1lKCJ0Zm5nIiksIFVTQ1JJUFRfVElGSU5BR0ggfSwK
KyAgICAgICAgeyBwYXJzZVNjcmlwdE5hbWUoInRnbGciKSwgVVNDUklQVF9UQUdBTE9HIH0sCisg
ICAgICAgIHsgcGFyc2VTY3JpcHROYW1lKCJ0aGFhIiksIFVTQ1JJUFRfVEhBQU5BIH0sCisgICAg
ICAgIHsgcGFyc2VTY3JpcHROYW1lKCJ0aGFpIiksIFVTQ1JJUFRfVEhBSSB9LAorICAgICAgICB7
IHBhcnNlU2NyaXB0TmFtZSgidGlidCIpLCBVU0NSSVBUX1RJQkVUQU4gfSwKKyAgICAgICAgeyBw
YXJzZVNjcmlwdE5hbWUoInVnYXIiKSwgVVNDUklQVF9VR0FSSVRJQyB9LAorICAgICAgICB7IHBh
cnNlU2NyaXB0TmFtZSgidmFpaSIpLCBVU0NSSVBUX1ZBSSB9LAorICAgICAgICB7IHBhcnNlU2Ny
aXB0TmFtZSgidmlzcCIpLCBVU0NSSVBUX1ZJU0lCTEVfU1BFRUNIIH0sCisgICAgICAgIHsgcGFy
c2VTY3JpcHROYW1lKCJ4cGVvIiksIFVTQ1JJUFRfT0xEX1BFUlNJQU4gfSwKKyAgICAgICAgeyBw
YXJzZVNjcmlwdE5hbWUoInhzdXgiKSwgVVNDUklQVF9DVU5FSUZPUk0gfSwKKyAgICAgICAgeyBw
YXJzZVNjcmlwdE5hbWUoInlpaWkiKSwgVVNDUklQVF9ZSSB9LAorICAgICAgICB7IHBhcnNlU2Ny
aXB0TmFtZSgienh4eCIpLCBVU0NSSVBUX1VOV1JJVFRFTl9MQU5HVUFHRVMgfSwKKyAgICAgICAg
eyBwYXJzZVNjcmlwdE5hbWUoInp5eXkiKSwgVVNDUklQVF9DT01NT04gfSwKKyAgICAgICAgeyBw
YXJzZVNjcmlwdE5hbWUoInp6enoiKSwgVVNDUklQVF9VTktOT1dOIH0sCisgICAgfTsKIAotICAg
IGF1dG8gaXQgPSBzY3JpcHROYW1lQ29kZU1hcC5nZXQoKS5maW5kKHNjcmlwdE5hbWUpOwotICAg
IGlmIChpdCAhPSBzY3JpcHROYW1lQ29kZU1hcC5nZXQoKS5lbmQoKSkKLSAgICAgICAgcmV0dXJu
IGl0LT52YWx1ZTsKKyAgICBzdGF0aWNfYXNzZXJ0KHBhcnNlU2NyaXB0TmFtZSgiYXJhYiIpID09
IDB4NjE3MjYxNjJVKTsKKyAgICBzdGF0aWNfYXNzZXJ0KHBhcnNlU2NyaXB0TmFtZSgienp6eiIp
ID09IDB4N2E3YTdhN2FVKTsKKworICAgIEFTU0VSVCgKKyAgICAgICAgc3RkOjppc19zb3J0ZWQo
c3RkOjpiZWdpbihzY3JpcHROYW1lQ29kZUxpc3QpLCBzdGQ6OmVuZChzY3JpcHROYW1lQ29kZUxp
c3QpLAorICAgICAgICAgICAgW10oY29uc3QgU2NyaXB0TmFtZUNvZGUmIGEsIGNvbnN0IFNjcmlw
dE5hbWVDb2RlJiBiKSB7CisgICAgICAgICAgICAgICAgcmV0dXJuIGEubmFtZSA8IGIubmFtZTsK
KyAgICAgICAgICAgIH0pKTsKKworICAgIGF1dG8gbmFtZSA9IHRyeVBhcnNlU2NyaXB0TmFtZShz
Y3JpcHROYW1lKTsKKyAgICBpZiAoIW5hbWUpCisgICAgICAgIHJldHVybiBVU0NSSVBUX0lOVkFM
SURfQ09ERTsKKworICAgIGF1dG8qIGVsZW1lbnQgPSB0cnlCaW5hcnlTZWFyY2g8U2NyaXB0TmFt
ZUNvZGU+KHNjcmlwdE5hbWVDb2RlTGlzdCwgV1RGX0FSUkFZX0xFTkdUSChzY3JpcHROYW1lQ29k
ZUxpc3QpLCBuYW1lLnZhbHVlKCksCisgICAgICAgIFtdKGNvbnN0IFNjcmlwdE5hbWVDb2RlKiBz
Y3JpcHROYW1lQ29kZSkgeworICAgICAgICAgICAgcmV0dXJuIHNjcmlwdE5hbWVDb2RlLT5uYW1l
OworICAgICAgICB9KTsKKyAgICBpZiAoZWxlbWVudCkKKyAgICAgICAgcmV0dXJuIGVsZW1lbnQt
PmNvZGU7CiAgICAgcmV0dXJuIFVTQ1JJUFRfSU5WQUxJRF9DT0RFOwogfQogCi1zdHJ1Y3QgTG9j
YWxlU2NyaXB0IHsKLSAgICBBU0NJSUxpdGVyYWwgbG9jYWxlOwotICAgIFVTY3JpcHRDb2RlIHNj
cmlwdDsKLX07Cit1c2luZyBMb2NhbGVOYW1lID0gdWludDY0X3Q7Cit0ZW1wbGF0ZTx1bnNpZ25l
ZCBjaGFyYWN0ZXJDb3VudFBsdXNPbmU+CitzdGF0aWMgY29uc3RleHByIExvY2FsZU5hbWUgcGFy
c2VMb2NhbGVOYW1lKGNvbnN0IGNoYXIgKCZzdHJpbmcpW2NoYXJhY3RlckNvdW50UGx1c09uZV0p
Cit7CisgICAgY29uc3RleHByIHVuc2lnbmVkIGxlbmd0aCA9IGNoYXJhY3RlckNvdW50UGx1c09u
ZSAtIDE7CisgICAgQVNTRVJUX1VOREVSX0NPTlNURVhQUl9DT05URVhUKGxlbmd0aCA8PSBzaXpl
b2YoTG9jYWxlTmFtZSkpOworICAgIExvY2FsZU5hbWUgcmVzdWx0ID0gMDsKKyAgICBmb3IgKHVu
c2lnbmVkIGluZGV4ID0gMDsgaW5kZXggPCBsZW5ndGg7ICsraW5kZXgpIHsKKyAgICAgICAgdWlu
dDhfdCBjb2RlID0gc3RhdGljX2Nhc3Q8dWludDhfdD4oc3RyaW5nW2luZGV4XSk7CisgICAgICAg
IHJlc3VsdCB8PSAoc3RhdGljX2Nhc3Q8TG9jYWxlTmFtZT4oY29kZSkgPDwgKChzaXplb2YoTG9j
YWxlTmFtZSkgLSBpbmRleCAtIDEpICogQ0hBUl9CSVQpKTsKKyAgICB9CisgICAgcmV0dXJuIHJl
c3VsdDsKK30KIAotc3RhdGljIGNvbnN0IExvY2FsZVNjcmlwdCBsb2NhbGVTY3JpcHRMaXN0W10g
PSB7Ci0gICAgeyAiYWEiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJhYiJfcywgVVNDUklQ
VF9DWVJJTExJQyB9LAotICAgIHsgImFkeSJfcywgVVNDUklQVF9DWVJJTExJQyB9LAotICAgIHsg
ImFmIl9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAiYWsiX3MsIFVTQ1JJUFRfTEFUSU4gfSwK
LSAgICB7ICJhbSJfcywgVVNDUklQVF9FVEhJT1BJQyB9LAotICAgIHsgImFyIl9zLCBVU0NSSVBU
X0FSQUJJQyB9LAotICAgIHsgImFzIl9zLCBVU0NSSVBUX0JFTkdBTEkgfSwKLSAgICB7ICJhc3Qi
X3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJhdiJfcywgVVNDUklQVF9DWVJJTExJQyB9LAot
ICAgIHsgImF5Il9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAiYXoiX3MsIFVTQ1JJUFRfTEFU
SU4gfSwKLSAgICB7ICJiYSJfcywgVVNDUklQVF9DWVJJTExJQyB9LAotICAgIHsgImJlIl9zLCBV
U0NSSVBUX0NZUklMTElDIH0sCi0gICAgeyAiYmciX3MsIFVTQ1JJUFRfQ1lSSUxMSUMgfSwKLSAg
ICB7ICJiaSJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgImJuIl9zLCBVU0NSSVBUX0JFTkdB
TEkgfSwKLSAgICB7ICJibyJfcywgVVNDUklQVF9USUJFVEFOIH0sCi0gICAgeyAiYnMiX3MsIFVT
Q1JJUFRfTEFUSU4gfSwKLSAgICB7ICJjYSJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgImNl
Il9zLCBVU0NSSVBUX0NZUklMTElDIH0sCi0gICAgeyAiY2ViIl9zLCBVU0NSSVBUX0xBVElOIH0s
Ci0gICAgeyAiY2giX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJjaGsiX3MsIFVTQ1JJUFRf
TEFUSU4gfSwKLSAgICB7ICJjcyJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgImN5Il9zLCBV
U0NSSVBUX0xBVElOIH0sCi0gICAgeyAiZGEiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJk
ZSJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgImR2Il9zLCBVU0NSSVBUX1RIQUFOQSB9LAot
ICAgIHsgImR6Il9zLCBVU0NSSVBUX1RJQkVUQU4gfSwKLSAgICB7ICJlZSJfcywgVVNDUklQVF9M
QVRJTiB9LAotICAgIHsgImVmaSJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgImVsIl9zLCBV
U0NSSVBUX0dSRUVLIH0sCi0gICAgeyAiZW4iX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJl
cyJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgImV0Il9zLCBVU0NSSVBUX0xBVElOIH0sCi0g
ICAgeyAiZXUiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJmYSJfcywgVVNDUklQVF9BUkFC
SUMgfSwKLSAgICB7ICJmaSJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgImZpbCJfcywgVVND
UklQVF9MQVRJTiB9LAotICAgIHsgImZqIl9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAiZm8i
X3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJmciJfcywgVVNDUklQVF9MQVRJTiB9LAotICAg
IHsgImZ1ciJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgImZ5Il9zLCBVU0NSSVBUX0xBVElO
IH0sCi0gICAgeyAiZ2EiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJnYWEiX3MsIFVTQ1JJ
UFRfTEFUSU4gfSwKLSAgICB7ICJnZCJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgImdpbCJf
cywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgImdsIl9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAg
eyAiZ24iX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJnc3ciX3MsIFVTQ1JJUFRfTEFUSU4g
fSwKLSAgICB7ICJndSJfcywgVVNDUklQVF9HVUpBUkFUSSB9LAotICAgIHsgImhhIl9zLCBVU0NS
SVBUX0xBVElOIH0sCi0gICAgeyAiaGF3Il9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAiaGUi
X3MsIFVTQ1JJUFRfSEVCUkVXIH0sCi0gICAgeyAiaGkiX3MsIFVTQ1JJUFRfREVWQU5BR0FSSSB9
LAotICAgIHsgImhpbCJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgImhvIl9zLCBVU0NSSVBU
X0xBVElOIH0sCi0gICAgeyAiaHIiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJodCJfcywg
VVNDUklQVF9MQVRJTiB9LAotICAgIHsgImh1Il9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAi
aHkiX3MsIFVTQ1JJUFRfQVJNRU5JQU4gfSwKLSAgICB7ICJpZCJfcywgVVNDUklQVF9MQVRJTiB9
LAotICAgIHsgImlnIl9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAiaWkiX3MsIFVTQ1JJUFRf
WUkgfSwKLSAgICB7ICJpbG8iX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJpbmgiX3MsIFVT
Q1JJUFRfQ1lSSUxMSUMgfSwKLSAgICB7ICJpcyJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsg
Iml0Il9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAiaXUiX3MsIFVTQ1JJUFRfQ0FOQURJQU5f
QUJPUklHSU5BTCB9LAotICAgIHsgImphIl9zLCBVU0NSSVBUX0tBVEFLQU5BX09SX0hJUkFHQU5B
IH0sCi0gICAgeyAianYiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJrYSJfcywgVVNDUklQ
VF9HRU9SR0lBTiB9LAotICAgIHsgImthaiJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgImth
bSJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgImtiZCJfcywgVVNDUklQVF9DWVJJTExJQyB9
LAotICAgIHsgImtoYSJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgImtrIl9zLCBVU0NSSVBU
X0NZUklMTElDIH0sCi0gICAgeyAia2wiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJrbSJf
cywgVVNDUklQVF9LSE1FUiB9LAotICAgIHsgImtuIl9zLCBVU0NSSVBUX0tBTk5BREEgfSwKLSAg
ICB7ICJrbyJfcywgVVNDUklQVF9IQU5HVUwgfSwKLSAgICB7ICJrb2siX3MsIFVTQ1JJUFRfREVW
QU5BR0FSSSB9LAotICAgIHsgImtvcyJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgImtwZSJf
cywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgImtyYyJfcywgVVNDUklQVF9DWVJJTExJQyB9LAot
ICAgIHsgImtzIl9zLCBVU0NSSVBUX0FSQUJJQyB9LAotICAgIHsgImt1Il9zLCBVU0NSSVBUX0FS
QUJJQyB9LAotICAgIHsgImt1bSJfcywgVVNDUklQVF9DWVJJTExJQyB9LAotICAgIHsgImt5Il9z
LCBVU0NSSVBUX0NZUklMTElDIH0sCi0gICAgeyAibGEiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAg
ICB7ICJsYWgiX3MsIFVTQ1JJUFRfQVJBQklDIH0sCi0gICAgeyAibGIiX3MsIFVTQ1JJUFRfTEFU
SU4gfSwKLSAgICB7ICJsZXoiX3MsIFVTQ1JJUFRfQ1lSSUxMSUMgfSwKLSAgICB7ICJsbiJfcywg
VVNDUklQVF9MQVRJTiB9LAotICAgIHsgImxvIl9zLCBVU0NSSVBUX0xBTyB9LAotICAgIHsgImx0
Il9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAibHYiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAg
ICB7ICJtYWkiX3MsIFVTQ1JJUFRfREVWQU5BR0FSSSB9LAotICAgIHsgIm1kZiJfcywgVVNDUklQ
VF9DWVJJTExJQyB9LAotICAgIHsgIm1nIl9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAibWgi
X3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJtaSJfcywgVVNDUklQVF9MQVRJTiB9LAotICAg
IHsgIm1rIl9zLCBVU0NSSVBUX0NZUklMTElDIH0sCi0gICAgeyAibWwiX3MsIFVTQ1JJUFRfTUFM
QVlBTEFNIH0sCi0gICAgeyAibW4iX3MsIFVTQ1JJUFRfQ1lSSUxMSUMgfSwKLSAgICB7ICJtciJf
cywgVVNDUklQVF9ERVZBTkFHQVJJIH0sCi0gICAgeyAibXMiX3MsIFVTQ1JJUFRfTEFUSU4gfSwK
LSAgICB7ICJtdCJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgIm15Il9zLCBVU0NSSVBUX01Z
QU5NQVIgfSwKLSAgICB7ICJteXYiX3MsIFVTQ1JJUFRfQ1lSSUxMSUMgfSwKLSAgICB7ICJuYSJf
cywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgIm5iIl9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAg
eyAibmUiX3MsIFVTQ1JJUFRfREVWQU5BR0FSSSB9LAotICAgIHsgIm5pdSJfcywgVVNDUklQVF9M
QVRJTiB9LAotICAgIHsgIm5sIl9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAibm4iX3MsIFVT
Q1JJUFRfTEFUSU4gfSwKLSAgICB7ICJuciJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgIm5z
byJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgIm55Il9zLCBVU0NSSVBUX0xBVElOIH0sCi0g
ICAgeyAib2MiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJvbSJfcywgVVNDUklQVF9MQVRJ
TiB9LAotICAgIHsgIm9yIl9zLCBVU0NSSVBUX09SSVlBIH0sCi0gICAgeyAib3MiX3MsIFVTQ1JJ
UFRfQ1lSSUxMSUMgfSwKLSAgICB7ICJwYSJfcywgVVNDUklQVF9HVVJNVUtISSB9LAotICAgIHsg
InBhZyJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgInBhcCJfcywgVVNDUklQVF9MQVRJTiB9
LAotICAgIHsgInBhdSJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgInBsIl9zLCBVU0NSSVBU
X0xBVElOIH0sCi0gICAgeyAicG9uIl9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAicHMiX3Ms
IFVTQ1JJUFRfQVJBQklDIH0sCi0gICAgeyAicHQiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7
ICJxdSJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgInJtIl9zLCBVU0NSSVBUX0xBVElOIH0s
Ci0gICAgeyAicm4iX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJybyJfcywgVVNDUklQVF9M
QVRJTiB9LAotICAgIHsgInJ1Il9zLCBVU0NSSVBUX0NZUklMTElDIH0sCi0gICAgeyAicnciX3Ms
IFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJzYSJfcywgVVNDUklQVF9ERVZBTkFHQVJJIH0sCi0g
ICAgeyAic2FoIl9zLCBVU0NSSVBUX0NZUklMTElDIH0sCi0gICAgeyAic2F0Il9zLCBVU0NSSVBU
X0xBVElOIH0sCi0gICAgeyAic2QiX3MsIFVTQ1JJUFRfQVJBQklDIH0sCi0gICAgeyAic2UiX3Ms
IFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJzZyJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsg
InNpIl9zLCBVU0NSSVBUX1NJTkhBTEEgfSwKLSAgICB7ICJzaWQiX3MsIFVTQ1JJUFRfTEFUSU4g
fSwKLSAgICB7ICJzayJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgInNsIl9zLCBVU0NSSVBU
X0xBVElOIH0sCi0gICAgeyAic20iX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJzbyJfcywg
VVNDUklQVF9MQVRJTiB9LAotICAgIHsgInNxIl9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAi
c3IiX3MsIFVTQ1JJUFRfQ1lSSUxMSUMgfSwKLSAgICB7ICJzcyJfcywgVVNDUklQVF9MQVRJTiB9
LAotICAgIHsgInN0Il9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAic3UiX3MsIFVTQ1JJUFRf
TEFUSU4gfSwKLSAgICB7ICJzdiJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgInN3Il9zLCBV
U0NSSVBUX0xBVElOIH0sCi0gICAgeyAidGEiX3MsIFVTQ1JJUFRfVEFNSUwgfSwKLSAgICB7ICJ0
ZSJfcywgVVNDUklQVF9URUxVR1UgfSwKLSAgICB7ICJ0ZXQiX3MsIFVTQ1JJUFRfTEFUSU4gfSwK
LSAgICB7ICJ0ZyJfcywgVVNDUklQVF9DWVJJTExJQyB9LAotICAgIHsgInRoIl9zLCBVU0NSSVBU
X1RIQUkgfSwKLSAgICB7ICJ0aSJfcywgVVNDUklQVF9FVEhJT1BJQyB9LAotICAgIHsgInRpZyJf
cywgVVNDUklQVF9FVEhJT1BJQyB9LAotICAgIHsgInRrIl9zLCBVU0NSSVBUX0xBVElOIH0sCi0g
ICAgeyAidGtsIl9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAidGwiX3MsIFVTQ1JJUFRfTEFU
SU4gfSwKLSAgICB7ICJ0biJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgInRvIl9zLCBVU0NS
SVBUX0xBVElOIH0sCi0gICAgeyAidHBpIl9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAidHIi
X3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJ0cnYiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAg
ICB7ICJ0cyJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgInR0Il9zLCBVU0NSSVBUX0NZUklM
TElDIH0sCi0gICAgeyAidHZsIl9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAidHciX3MsIFVT
Q1JJUFRfTEFUSU4gfSwKLSAgICB7ICJ0eSJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgInR5
diJfcywgVVNDUklQVF9DWVJJTExJQyB9LAotICAgIHsgInVkbSJfcywgVVNDUklQVF9DWVJJTExJ
QyB9LAotICAgIHsgInVnIl9zLCBVU0NSSVBUX0FSQUJJQyB9LAotICAgIHsgInVrIl9zLCBVU0NS
SVBUX0NZUklMTElDIH0sCi0gICAgeyAidW5kIl9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAi
dXIiX3MsIFVTQ1JJUFRfQVJBQklDIH0sCi0gICAgeyAidXoiX3MsIFVTQ1JJUFRfQ1lSSUxMSUMg
fSwKLSAgICB7ICJ2ZSJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgInZpIl9zLCBVU0NSSVBU
X0xBVElOIH0sCi0gICAgeyAid2FsIl9zLCBVU0NSSVBUX0VUSElPUElDIH0sCi0gICAgeyAid2Fy
Il9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAid28iX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAg
ICB7ICJ4aCJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgInlhcCJfcywgVVNDUklQVF9MQVRJ
TiB9LAotICAgIHsgInlvIl9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAiemEiX3MsIFVTQ1JJ
UFRfTEFUSU4gfSwKLSAgICB7ICJ6aCJfcywgVVNDUklQVF9IQU4gfSwKLSAgICB7ICJ6aF9oayJf
cywgVVNDUklQVF9UUkFESVRJT05BTF9IQU4gfSwKLSAgICB7ICJ6aF90dyJfcywgVVNDUklQVF9U
UkFESVRJT05BTF9IQU4gfSwKLSAgICB7ICJ6dSJfcywgVVNDUklQVF9MQVRJTiB9Ci19Oworc3Rh
dGljIE9wdGlvbmFsPExvY2FsZU5hbWU+IHRyeVBhcnNlTG9jYWxlTmFtZShTdHJpbmdWaWV3IHN0
cmluZykKK3sKKyAgICBpZiAoc3RyaW5nLmxlbmd0aCgpID4gc2l6ZW9mKExvY2FsZU5hbWUpKQor
ICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworICAgIExvY2FsZU5hbWUgcmVzdWx0ID0gMDsK
KyAgICBmb3IgKHVuc2lnbmVkIGluZGV4ID0gMDsgaW5kZXggPCBzdHJpbmcubGVuZ3RoKCk7ICsr
aW5kZXgpIHsKKyAgICAgICAgVUNoYXIgY29kZSA9IHN0cmluZ1tpbmRleF07CisgICAgICAgIGlm
ICghaXNBU0NJSShjb2RlKSkKKyAgICAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisgICAg
ICAgIHJlc3VsdCB8PSAoc3RhdGljX2Nhc3Q8TG9jYWxlTmFtZT4odG9BU0NJSUxvd2VyKGNvZGUp
KSA8PCAoKHNpemVvZihMb2NhbGVOYW1lKSAtIGluZGV4IC0gMSkgKiBDSEFSX0JJVCkpOworICAg
IH0KKyAgICByZXR1cm4gcmVzdWx0OworfQogCi1zdHJ1Y3QgTG9jYWxlU2NyaXB0TWFwSGFzaFRy
YWl0cyA6IHB1YmxpYyBIYXNoVHJhaXRzPFN0cmluZz4gewotICAgIHN0YXRpYyBjb25zdCBpbnQg
bWluaW11bVRhYmxlU2l6ZSA9IFdURjo6SGFzaFRhYmxlQ2FwYWNpdHlGb3JTaXplPFdURl9BUlJB
WV9MRU5HVEgobG9jYWxlU2NyaXB0TGlzdCk+Ojp2YWx1ZTsKK3N0cnVjdCBMb2NhbGVTY3JpcHQg
eworICAgIExvY2FsZU5hbWUgbG9jYWxlOworICAgIFVTY3JpcHRDb2RlIHNjcmlwdDsKIH07CiAK
IFVTY3JpcHRDb2RlIGxvY2FsZVRvU2NyaXB0Q29kZUZvckZvbnRTZWxlY3Rpb24oY29uc3QgU3Ry
aW5nJiBsb2NhbGUpCiB7Ci0gICAgc3RhdGljIGNvbnN0IGF1dG8gbG9jYWxlU2NyaXB0TWFwID0g
bWFrZU5ldmVyRGVzdHJveWVkKFtdIHsKLSAgICAgICAgSGFzaE1hcDxTdHJpbmcsIFVTY3JpcHRD
b2RlLCBBU0NJSUNhc2VJbnNlbnNpdGl2ZUhhc2gsIExvY2FsZVNjcmlwdE1hcEhhc2hUcmFpdHM+
IG1hcDsKLSAgICAgICAgZm9yIChhdXRvJiBsb2NhbGVBbmRTY3JpcHQgOiBsb2NhbGVTY3JpcHRM
aXN0KQotICAgICAgICAgICAgbWFwLmFkZChsb2NhbGVBbmRTY3JpcHQubG9jYWxlLCBsb2NhbGVB
bmRTY3JpcHQuc2NyaXB0KTsKLSAgICAgICAgcmV0dXJuIG1hcDsKLSAgICB9KCkpOworICAgIHN0
YXRpYyBjb25zdGV4cHIgTG9jYWxlU2NyaXB0IGxvY2FsZVNjcmlwdExpc3RbXSA9IHsKKyAgICAg
ICAgeyBwYXJzZUxvY2FsZU5hbWUoImFhIiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBw
YXJzZUxvY2FsZU5hbWUoImFiIiksIFVTQ1JJUFRfQ1lSSUxMSUMgfSwKKyAgICAgICAgeyBwYXJz
ZUxvY2FsZU5hbWUoImFkeSIpLCBVU0NSSVBUX0NZUklMTElDIH0sCisgICAgICAgIHsgcGFyc2VM
b2NhbGVOYW1lKCJhZiIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVO
YW1lKCJhayIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJh
bSIpLCBVU0NSSVBUX0VUSElPUElDIH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJhciIp
LCBVU0NSSVBUX0FSQUJJQyB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgiYXMiKSwgVVND
UklQVF9CRU5HQUxJIH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJhc3QiKSwgVVNDUklQ
VF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgiYXYiKSwgVVNDUklQVF9DWVJJ
TExJQyB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgiYXkiKSwgVVNDUklQVF9MQVRJTiB9
LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgiYXoiKSwgVVNDUklQVF9MQVRJTiB9LAorICAg
ICAgICB7IHBhcnNlTG9jYWxlTmFtZSgiYmEiKSwgVVNDUklQVF9DWVJJTExJQyB9LAorICAgICAg
ICB7IHBhcnNlTG9jYWxlTmFtZSgiYmUiKSwgVVNDUklQVF9DWVJJTExJQyB9LAorICAgICAgICB7
IHBhcnNlTG9jYWxlTmFtZSgiYmciKSwgVVNDUklQVF9DWVJJTExJQyB9LAorICAgICAgICB7IHBh
cnNlTG9jYWxlTmFtZSgiYmkiKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlTG9j
YWxlTmFtZSgiYm4iKSwgVVNDUklQVF9CRU5HQUxJIH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVO
YW1lKCJibyIpLCBVU0NSSVBUX1RJQkVUQU4gfSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUo
ImJzIiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoImNhIiks
IFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoImNlIiksIFVTQ1JJ
UFRfQ1lSSUxMSUMgfSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoImNlYiIpLCBVU0NSSVBU
X0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJjaCIpLCBVU0NSSVBUX0xBVElO
IH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJjaGsiKSwgVVNDUklQVF9MQVRJTiB9LAor
ICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgiY3MiKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAg
ICB7IHBhcnNlTG9jYWxlTmFtZSgiY3kiKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBh
cnNlTG9jYWxlTmFtZSgiZGEiKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlTG9j
YWxlTmFtZSgiZGUiKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFt
ZSgiZHYiKSwgVVNDUklQVF9USEFBTkEgfSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoImR6
IiksIFVTQ1JJUFRfVElCRVRBTiB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgiZWUiKSwg
VVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgiZWZpIiksIFVTQ1JJ
UFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoImVsIiksIFVTQ1JJUFRfR1JF
RUsgfSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoImVuIiksIFVTQ1JJUFRfTEFUSU4gfSwK
KyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoImVzIiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAg
ICAgeyBwYXJzZUxvY2FsZU5hbWUoImV0IiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBw
YXJzZUxvY2FsZU5hbWUoImV1IiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUxv
Y2FsZU5hbWUoImZhIiksIFVTQ1JJUFRfQVJBQklDIH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVO
YW1lKCJmaSIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJm
aWwiKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgiZmoiKSwg
VVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgiZm8iKSwgVVNDUklQ
VF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgiZnIiKSwgVVNDUklQVF9MQVRJ
TiB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgiZnVyIiksIFVTQ1JJUFRfTEFUSU4gfSwK
KyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoImZ5IiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAg
ICAgeyBwYXJzZUxvY2FsZU5hbWUoImdhIiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBw
YXJzZUxvY2FsZU5hbWUoImdhYSIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VM
b2NhbGVOYW1lKCJnZCIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVO
YW1lKCJnaWwiKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgi
Z2wiKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgiZ24iKSwg
VVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgiZ3N3IiksIFVTQ1JJ
UFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoImd1IiksIFVTQ1JJUFRfR1VK
QVJBVEkgfSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoImhhIiksIFVTQ1JJUFRfTEFUSU4g
fSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoImhhdyIpLCBVU0NSSVBUX0xBVElOIH0sCisg
ICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJoZSIpLCBVU0NSSVBUX0hFQlJFVyB9LAorICAgICAg
ICB7IHBhcnNlTG9jYWxlTmFtZSgiaGkiKSwgVVNDUklQVF9ERVZBTkFHQVJJIH0sCisgICAgICAg
IHsgcGFyc2VMb2NhbGVOYW1lKCJoaWwiKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBh
cnNlTG9jYWxlTmFtZSgiaG8iKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlTG9j
YWxlTmFtZSgiaHIiKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFt
ZSgiaHQiKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgiaHUi
KSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgiaHkiKSwgVVND
UklQVF9BUk1FTklBTiB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgiaWQiKSwgVVNDUklQ
VF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgiaWciKSwgVVNDUklQVF9MQVRJ
TiB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgiaWkiKSwgVVNDUklQVF9ZSSB9LAorICAg
ICAgICB7IHBhcnNlTG9jYWxlTmFtZSgiaWxvIiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAg
eyBwYXJzZUxvY2FsZU5hbWUoImluaCIpLCBVU0NSSVBUX0NZUklMTElDIH0sCisgICAgICAgIHsg
cGFyc2VMb2NhbGVOYW1lKCJpcyIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VM
b2NhbGVOYW1lKCJpdCIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVO
YW1lKCJpdSIpLCBVU0NSSVBUX0NBTkFESUFOX0FCT1JJR0lOQUwgfSwKKyAgICAgICAgeyBwYXJz
ZUxvY2FsZU5hbWUoImphIiksIFVTQ1JJUFRfS0FUQUtBTkFfT1JfSElSQUdBTkEgfSwKKyAgICAg
ICAgeyBwYXJzZUxvY2FsZU5hbWUoImp2IiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBw
YXJzZUxvY2FsZU5hbWUoImthIiksIFVTQ1JJUFRfR0VPUkdJQU4gfSwKKyAgICAgICAgeyBwYXJz
ZUxvY2FsZU5hbWUoImthaiIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VMb2Nh
bGVOYW1lKCJrYW0iKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFt
ZSgia2JkIiksIFVTQ1JJUFRfQ1lSSUxMSUMgfSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUo
ImtoYSIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJrayIp
LCBVU0NSSVBUX0NZUklMTElDIH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJrbCIpLCBV
U0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJrbSIpLCBVU0NSSVBU
X0tITUVSIH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJrbiIpLCBVU0NSSVBUX0tBTk5B
REEgfSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoImtvIiksIFVTQ1JJUFRfSEFOR1VMIH0s
CisgICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJrb2siKSwgVVNDUklQVF9ERVZBTkFHQVJJIH0s
CisgICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJrb3MiKSwgVVNDUklQVF9MQVRJTiB9LAorICAg
ICAgICB7IHBhcnNlTG9jYWxlTmFtZSgia3BlIiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAg
eyBwYXJzZUxvY2FsZU5hbWUoImtyYyIpLCBVU0NSSVBUX0NZUklMTElDIH0sCisgICAgICAgIHsg
cGFyc2VMb2NhbGVOYW1lKCJrcyIpLCBVU0NSSVBUX0FSQUJJQyB9LAorICAgICAgICB7IHBhcnNl
TG9jYWxlTmFtZSgia3UiKSwgVVNDUklQVF9BUkFCSUMgfSwKKyAgICAgICAgeyBwYXJzZUxvY2Fs
ZU5hbWUoImt1bSIpLCBVU0NSSVBUX0NZUklMTElDIH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVO
YW1lKCJreSIpLCBVU0NSSVBUX0NZUklMTElDIH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVOYW1l
KCJsYSIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJsYWgi
KSwgVVNDUklQVF9BUkFCSUMgfSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoImxiIiksIFVT
Q1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoImxleiIpLCBVU0NSSVBU
X0NZUklMTElDIH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJsbiIpLCBVU0NSSVBUX0xB
VElOIH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJsbyIpLCBVU0NSSVBUX0xBTyB9LAor
ICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgibHQiKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAg
ICB7IHBhcnNlTG9jYWxlTmFtZSgibHYiKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBh
cnNlTG9jYWxlTmFtZSgibWFpIiksIFVTQ1JJUFRfREVWQU5BR0FSSSB9LAorICAgICAgICB7IHBh
cnNlTG9jYWxlTmFtZSgibWRmIiksIFVTQ1JJUFRfQ1lSSUxMSUMgfSwKKyAgICAgICAgeyBwYXJz
ZUxvY2FsZU5hbWUoIm1nIiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUxvY2Fs
ZU5hbWUoIm1oIiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUo
Im1pIiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoIm1rIiks
IFVTQ1JJUFRfQ1lSSUxMSUMgfSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoIm1sIiksIFVT
Q1JJUFRfTUFMQVlBTEFNIH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJtbiIpLCBVU0NS
SVBUX0NZUklMTElDIH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJtciIpLCBVU0NSSVBU
X0RFVkFOQUdBUkkgfSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoIm1zIiksIFVTQ1JJUFRf
TEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoIm10IiksIFVTQ1JJUFRfTEFUSU4g
fSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoIm15IiksIFVTQ1JJUFRfTVlBTk1BUiB9LAor
ICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgibXl2IiksIFVTQ1JJUFRfQ1lSSUxMSUMgfSwKKyAg
ICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoIm5hIiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAg
eyBwYXJzZUxvY2FsZU5hbWUoIm5iIiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJz
ZUxvY2FsZU5hbWUoIm5lIiksIFVTQ1JJUFRfREVWQU5BR0FSSSB9LAorICAgICAgICB7IHBhcnNl
TG9jYWxlTmFtZSgibml1IiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUxvY2Fs
ZU5hbWUoIm5sIiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUo
Im5uIiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoIm5yIiks
IFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoIm5zbyIpLCBVU0NS
SVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJueSIpLCBVU0NSSVBUX0xB
VElOIH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJvYyIpLCBVU0NSSVBUX0xBVElOIH0s
CisgICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJvbSIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAg
ICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJvciIpLCBVU0NSSVBUX09SSVlBIH0sCisgICAgICAgIHsg
cGFyc2VMb2NhbGVOYW1lKCJvcyIpLCBVU0NSSVBUX0NZUklMTElDIH0sCisgICAgICAgIHsgcGFy
c2VMb2NhbGVOYW1lKCJwYSIpLCBVU0NSSVBUX0dVUk1VS0hJIH0sCisgICAgICAgIHsgcGFyc2VM
b2NhbGVOYW1lKCJwYWciKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlTG9jYWxl
TmFtZSgicGFwIiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUo
InBhdSIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJwbCIp
LCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJwb24iKSwgVVND
UklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgicHMiKSwgVVNDUklQVF9B
UkFCSUMgfSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoInB0IiksIFVTQ1JJUFRfTEFUSU4g
fSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoInF1IiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAg
ICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoInJtIiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAg
eyBwYXJzZUxvY2FsZU5hbWUoInJuIiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJz
ZUxvY2FsZU5hbWUoInJvIiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUxvY2Fs
ZU5hbWUoInJ1IiksIFVTQ1JJUFRfQ1lSSUxMSUMgfSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5h
bWUoInJ3IiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoInNh
IiksIFVTQ1JJUFRfREVWQU5BR0FSSSB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgic2Fo
IiksIFVTQ1JJUFRfQ1lSSUxMSUMgfSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoInNhdCIp
LCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJzZCIpLCBVU0NS
SVBUX0FSQUJJQyB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgic2UiKSwgVVNDUklQVF9M
QVRJTiB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgic2ciKSwgVVNDUklQVF9MQVRJTiB9
LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgic2kiKSwgVVNDUklQVF9TSU5IQUxBIH0sCisg
ICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJzaWQiKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAg
ICB7IHBhcnNlTG9jYWxlTmFtZSgic2siKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBh
cnNlTG9jYWxlTmFtZSgic2wiKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlTG9j
YWxlTmFtZSgic20iKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFt
ZSgic28iKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgic3Ei
KSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgic3IiKSwgVVND
UklQVF9DWVJJTExJQyB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgic3MiKSwgVVNDUklQ
VF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgic3QiKSwgVVNDUklQVF9MQVRJ
TiB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgic3UiKSwgVVNDUklQVF9MQVRJTiB9LAor
ICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgic3YiKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAg
ICB7IHBhcnNlTG9jYWxlTmFtZSgic3ciKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBh
cnNlTG9jYWxlTmFtZSgidGEiKSwgVVNDUklQVF9UQU1JTCB9LAorICAgICAgICB7IHBhcnNlTG9j
YWxlTmFtZSgidGUiKSwgVVNDUklQVF9URUxVR1UgfSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5h
bWUoInRldCIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJ0
ZyIpLCBVU0NSSVBUX0NZUklMTElDIH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJ0aCIp
LCBVU0NSSVBUX1RIQUkgfSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoInRpIiksIFVTQ1JJ
UFRfRVRISU9QSUMgfSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoInRpZyIpLCBVU0NSSVBU
X0VUSElPUElDIH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJ0ayIpLCBVU0NSSVBUX0xB
VElOIH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJ0a2wiKSwgVVNDUklQVF9MQVRJTiB9
LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgidGwiKSwgVVNDUklQVF9MQVRJTiB9LAorICAg
ICAgICB7IHBhcnNlTG9jYWxlTmFtZSgidG4iKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7
IHBhcnNlTG9jYWxlTmFtZSgidG8iKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNl
TG9jYWxlTmFtZSgidHBpIiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUxvY2Fs
ZU5hbWUoInRyIiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUo
InRydiIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJ0cyIp
LCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJ0dCIpLCBVU0NS
SVBUX0NZUklMTElDIH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJ0dmwiKSwgVVNDUklQ
VF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgidHciKSwgVVNDUklQVF9MQVRJ
TiB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgidHkiKSwgVVNDUklQVF9MQVRJTiB9LAor
ICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgidHl2IiksIFVTQ1JJUFRfQ1lSSUxMSUMgfSwKKyAg
ICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoInVkbSIpLCBVU0NSSVBUX0NZUklMTElDIH0sCisgICAg
ICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJ1ZyIpLCBVU0NSSVBUX0FSQUJJQyB9LAorICAgICAgICB7
IHBhcnNlTG9jYWxlTmFtZSgidWsiKSwgVVNDUklQVF9DWVJJTExJQyB9LAorICAgICAgICB7IHBh
cnNlTG9jYWxlTmFtZSgidW5kIiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUxv
Y2FsZU5hbWUoInVyIiksIFVTQ1JJUFRfQVJBQklDIH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVO
YW1lKCJ1eiIpLCBVU0NSSVBUX0NZUklMTElDIH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVOYW1l
KCJ2ZSIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJ2aSIp
LCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJ3YWwiKSwgVVND
UklQVF9FVEhJT1BJQyB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFtZSgid2FyIiksIFVTQ1JJ
UFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoIndvIiksIFVTQ1JJUFRfTEFU
SU4gfSwKKyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoInhoIiksIFVTQ1JJUFRfTEFUSU4gfSwK
KyAgICAgICAgeyBwYXJzZUxvY2FsZU5hbWUoInlhcCIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAg
ICAgIHsgcGFyc2VMb2NhbGVOYW1lKCJ5byIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsg
cGFyc2VMb2NhbGVOYW1lKCJ6YSIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VM
b2NhbGVOYW1lKCJ6aCIpLCBVU0NSSVBUX0hBTiB9LAorICAgICAgICB7IHBhcnNlTG9jYWxlTmFt
ZSgiemhfaGsiKSwgVVNDUklQVF9UUkFESVRJT05BTF9IQU4gfSwKKyAgICAgICAgeyBwYXJzZUxv
Y2FsZU5hbWUoInpoX3R3IiksIFVTQ1JJUFRfVFJBRElUSU9OQUxfSEFOIH0sCisgICAgICAgIHsg
cGFyc2VMb2NhbGVOYW1lKCJ6dSIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgfTsKKworICAgIHN0
YXRpY19hc3NlcnQocGFyc2VMb2NhbGVOYW1lKCJhYSIpID09IDB4NjE2MTAwMDAwMDAwMDAwMFVM
TCk7CisgICAgc3RhdGljX2Fzc2VydChwYXJzZUxvY2FsZU5hbWUoInpoX3R3IikgPT0gMHg3YTY4
NWY3NDc3MDAwMDAwVUxMKTsKKworICAgIEFTU0VSVCgKKyAgICAgICAgc3RkOjppc19zb3J0ZWQo
c3RkOjpiZWdpbihsb2NhbGVTY3JpcHRMaXN0KSwgc3RkOjplbmQobG9jYWxlU2NyaXB0TGlzdCks
CisgICAgICAgICAgICBbXShjb25zdCBMb2NhbGVTY3JpcHQmIGEsIGNvbnN0IExvY2FsZVNjcmlw
dCYgYikgeworICAgICAgICAgICAgICAgIHJldHVybiBhLmxvY2FsZSA8IGIubG9jYWxlOworICAg
ICAgICAgICAgfSkpOworCisgICAgYXV0byB0cnlGaW5kU2NyaXB0Q29kZSA9IFsmXSAoY29uc3Qg
U3RyaW5nJiBzdHJpbmcpIC0+IE9wdGlvbmFsPFVTY3JpcHRDb2RlPiB7CisgICAgICAgIGF1dG8g
bG9jYWxlTmFtZSA9IHRyeVBhcnNlTG9jYWxlTmFtZShzdHJpbmcpOworICAgICAgICBpZiAoIWxv
Y2FsZU5hbWUpCisgICAgICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworCisgICAgICAgIGF1
dG8qIGVsZW1lbnQgPSB0cnlCaW5hcnlTZWFyY2g8TG9jYWxlU2NyaXB0Pihsb2NhbGVTY3JpcHRM
aXN0LCBXVEZfQVJSQVlfTEVOR1RIKGxvY2FsZVNjcmlwdExpc3QpLCBsb2NhbGVOYW1lLnZhbHVl
KCksCisgICAgICAgICAgICBbXShjb25zdCBMb2NhbGVTY3JpcHQqIGxvY2FsZVNjcmlwdCkgewor
ICAgICAgICAgICAgICAgIHJldHVybiBsb2NhbGVTY3JpcHQtPmxvY2FsZTsKKyAgICAgICAgICAg
IH0pOworICAgICAgICBpZiAoZWxlbWVudCkKKyAgICAgICAgICAgIHJldHVybiBlbGVtZW50LT5z
Y3JpcHQ7CisgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisgICAgfTsKIAogICAgIFN0cmlu
ZyBjYW5vbmljYWxMb2NhbGUgPSBsb2NhbGU7CiAgICAgY2Fub25pY2FsTG9jYWxlLnJlcGxhY2Uo
Jy0nLCAnXycpOwogICAgIHdoaWxlICghY2Fub25pY2FsTG9jYWxlLmlzRW1wdHkoKSkgewotICAg
ICAgICBhdXRvIGl0ID0gbG9jYWxlU2NyaXB0TWFwLmdldCgpLmZpbmQoY2Fub25pY2FsTG9jYWxl
KTsKLSAgICAgICAgaWYgKGl0ICE9IGxvY2FsZVNjcmlwdE1hcC5nZXQoKS5lbmQoKSkKLSAgICAg
ICAgICAgIHJldHVybiBpdC0+dmFsdWU7CisgICAgICAgIGlmIChhdXRvIHNjcmlwdENvZGUgPSB0
cnlGaW5kU2NyaXB0Q29kZShjYW5vbmljYWxMb2NhbGUpKQorICAgICAgICAgICAgcmV0dXJuIHNj
cmlwdENvZGUudmFsdWUoKTsKICAgICAgICAgYXV0byB1bmRlcnNjb3JlUG9zaXRpb24gPSBjYW5v
bmljYWxMb2NhbGUucmV2ZXJzZUZpbmQoJ18nKTsKICAgICAgICAgaWYgKHVuZGVyc2NvcmVQb3Np
dGlvbiA9PSBub3RGb3VuZCkKICAgICAgICAgICAgIGJyZWFrOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>426367</attachid>
            <date>2021-04-17 22:26:43 -0700</date>
            <delta_ts>2021-04-17 22:27:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224727-20210417222642.patch</filename>
            <type>text/plain</type>
            <size>41291</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc2MjE3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjg2YWYzN2I3YTJlYWY3
NDA2OTNiYWNhZGFkODQyMTAwYWUyNWUxOS4uY2E3OGE4NDVmYThkZDhlMGVkYzRmZmU0YTdiZmMx
MDJjZTU5ODk0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDIxLTA0LTE3ICBZdXN1
a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CisKKyAgICAgICAgVXNlIGJpbmFyeS1zZWFy
Y2ggaW4gTG9jYWxlVG9TY3JpcHRNYXBwaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMjQ3MjcKKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBB
ZGxlci4KKworICAgICAgICBUaGlzIHBhdGNoIHJlbW92ZXMgSGFzaE1hcHMgaW4gTG9jYWxlVG9T
Y3JpcHRNYXBwaW5nLCBhbmQgYmluYXJ5LXNlYXJjaCBvbnRvIHRoZSBjb25zdGFudCBkYXRhIGFy
cmF5cy4KKyAgICAgICAgVGhlc2UgbWFwcyBhcmUgbm90IGZyZXF1ZW50bHkgdXNlZC4gS2V5cyBv
ZiB0aGUgbWFwcyBjYW4gYmUgZW5jb2RlZCBpbnRvIHVpbnQzMl90IG9yIHVpbnQ2NF90IHNvIHRo
YXQKKyAgICAgICAgY29tcGFyaXNvbiBiZWNvbWVzIHN1cGVyIGNoZWFwIGFuZCB3ZSBjYW4gaW5p
dGlhbGl6ZSB0aGlzIGFycmF5IGF0IGNvbXBpbGUtdGltZS4KKworICAgICAgICBXZSBpbnRyb2R1
Y2UgU2NyaXB0TmFtZSh1aW50MzJfdCkgYW5kIExvY2FsZU5hbWUodWludDY0X3QpIGluc3RlYWQg
b2YgU3RyaW5nLiBBbmQgdWVzIGl0IGFuZCBnZW5lcmF0ZQorICAgICAgICBzb3J0ZWQgY29uc3Rh
bnQgZGF0YSBhcnJheSBmb3IgbWFwcGluZ3MuIFdlIHVzZSBiaW5hcnktc2VhcmNoIHRvIGxvb2sg
ZW50cnkgdXAuIFNpbmNlICMgb2YgZW50cmllcyBhcmUKKyAgICAgICAgbm90IGh1Z2UgKH4yMDAp
LCBjb21wYXJpc29ucyBhcmUgZXh0cmVtZWx5IGNoZWFwICh1aW50MzJfdCAvIHVpbnQ2NF90IGNv
bXBhcmlzb24pLCBhbmQgdGhpcyBpcyBub3QgYQorICAgICAgICBob3QgY29kZSwgd2UgY2FuIGp1
c3QgdXNlIGJpbmFyeS1zZWFyY2ggaGVyZSBhbmQgZWxpbWluYXRlIEhhc2hNYXBzJyBtZW1vcnkg
YWxsb2NhdGlvbi4KKworICAgICAgICAqIHBsYXRmb3JtL3RleHQvTG9jYWxlVG9TY3JpcHRNYXBw
aW5nLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlKToKKyAg
ICAgICAgKFdlYkNvcmU6OnBhcnNlU2NyaXB0Q29kZSk6CisgICAgICAgIChXZWJDb3JlOjpzY3Jp
cHROYW1lVG9Db2RlKToKKyAgICAgICAgKFdlYkNvcmU6OmxvY2FsZVRvU2NyaXB0Q29kZUZvckZv
bnRTZWxlY3Rpb24pOgorCiAyMDIxLTA0LTE3ICBUaW0gTmd1eWVuICA8bnRpbUBhcHBsZS5jb20+
CiAKICAgICAgICAgQWRkIHN1cHBvcnQgZm9yIGlubGluZS17c3RhcnQvZW5kfSB2YWx1ZXMgdG8g
ZmxvYXQgJiBjbGVhciBwcm9wZXJ0aWVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS90ZXh0L0xvY2FsZVRvU2NyaXB0TWFwcGluZy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS90ZXh0L0xvY2FsZVRvU2NyaXB0TWFwcGluZy5jcHAKaW5kZXggNDllMGVhYTdiZWI5YjMz
NTdjMTcwYmIwZTEyMDQ2MTI5NmQxYTM0ZC4uNzUxY2IxZjI3ZjFjMDdmYzZiMWM4ZDVmYTYxZGQ2
ZTRkZWFhNGRmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9Mb2Nh
bGVUb1NjcmlwdE1hcHBpbmcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQv
TG9jYWxlVG9TY3JpcHRNYXBwaW5nLmNwcApAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmln
aHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdo
dCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlCkBAIC0zNywzNjggKzM4LDQxNCBAQAogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKLXN0cnVjdCBTY3JpcHROYW1lQ29kZSB7Ci0gICAgQVNDSUlMaXRlcmFsIG5h
bWU7Ci0gICAgVVNjcmlwdENvZGUgY29kZTsKLX07Cit0ZW1wbGF0ZTx0eXBlbmFtZSBSZXN1bHRU
eXBlLCB1bnNpZ25lZCBjaGFyYWN0ZXJDb3VudFBsdXNPbmU+CitzdGF0aWMgY29uc3RleHByIFJl
c3VsdFR5cGUgcGFyc2VDb25zdGFudFNjcmlwdENvZGUoY29uc3QgY2hhciAoJnN0cmluZylbY2hh
cmFjdGVyQ291bnRQbHVzT25lXSkKK3sKKyAgICBjb25zdGV4cHIgdW5zaWduZWQgbGVuZ3RoID0g
Y2hhcmFjdGVyQ291bnRQbHVzT25lIC0gMTsKKyAgICBBU1NFUlRfVU5ERVJfQ09OU1RFWFBSX0NP
TlRFWFQobGVuZ3RoIDw9IHNpemVvZihSZXN1bHRUeXBlKSk7CisgICAgUmVzdWx0VHlwZSByZXN1
bHQgPSAwOworICAgIGZvciAodW5zaWduZWQgaW5kZXggPSAwOyBpbmRleCA8IGxlbmd0aDsgKytp
bmRleCkgeworICAgICAgICB1aW50OF90IGNvZGUgPSBzdGF0aWNfY2FzdDx1aW50OF90PihzdHJp
bmdbaW5kZXhdKTsKKyAgICAgICAgcmVzdWx0IHw9IChzdGF0aWNfY2FzdDxSZXN1bHRUeXBlPihj
b2RlKSA8PCAoKHNpemVvZihSZXN1bHRUeXBlKSAtIGluZGV4IC0gMSkgKiA4KSk7CisgICAgfQor
ICAgIHJldHVybiByZXN1bHQ7Cit9CiAKLS8vIFRoaXMgZ2VuZXJhbGx5IG1hcHMgYW4gSVNPIDE1
OTI0IHNjcmlwdCBjb2RlIHRvIGl0cyBVU2NyaXB0Q29kZSwgYnV0IGNlcnRhaW4gZmFtaWxpZXMg
b2Ygc2NyaXB0IGNvZGVzIGFyZQotLy8gdHJlYXRlZCBhcyBhIHNpbmdsZSBzY3JpcHQgZm9yIGFz
c2lnbmluZyBhIHBlci1zY3JpcHQgZm9udCBpbiBTZXR0aW5ncy4gRm9yIGV4YW1wbGUsICJoaXJh
IiBpcyBtYXBwZWQgdG8KLS8vIFVTQ1JJUFRfS0FUQUtBTkFfT1JfSElSQUdBTkEgaW5zdGVhZCBv
ZiBVU0NSSVBUX0hJUkFHQU5BLCBzaW5jZSB3ZSB3YW50IGFsbCBKYXBhbmVzZSBzY3JpcHRzIHRv
IGJlIHJlbmRlcmVkCi0vLyB1c2luZyB0aGUgc2FtZSBmb250IHNldHRpbmcuCi1zdGF0aWMgY29u
c3QgU2NyaXB0TmFtZUNvZGUgc2NyaXB0TmFtZUNvZGVMaXN0W10gPSB7Ci0gICAgeyAienl5eSJf
cywgVVNDUklQVF9DT01NT04gfSwKLSAgICB7ICJxYWFpIl9zLCBVU0NSSVBUX0lOSEVSSVRFRCB9
LAotICAgIHsgImFyYWIiX3MsIFVTQ1JJUFRfQVJBQklDIH0sCi0gICAgeyAiYXJtbiJfcywgVVND
UklQVF9BUk1FTklBTiB9LAotICAgIHsgImJlbmciX3MsIFVTQ1JJUFRfQkVOR0FMSSB9LAotICAg
IHsgImJvcG8iX3MsIFVTQ1JJUFRfQk9QT01PRk8gfSwKLSAgICB7ICJjaGVyIl9zLCBVU0NSSVBU
X0NIRVJPS0VFIH0sCi0gICAgeyAiY29wdCJfcywgVVNDUklQVF9DT1BUSUMgfSwKLSAgICB7ICJj
eXJsIl9zLCBVU0NSSVBUX0NZUklMTElDIH0sCi0gICAgeyAiZHNydCJfcywgVVNDUklQVF9ERVNF
UkVUIH0sCi0gICAgeyAiZGV2YSJfcywgVVNDUklQVF9ERVZBTkFHQVJJIH0sCi0gICAgeyAiZXRo
aSJfcywgVVNDUklQVF9FVEhJT1BJQyB9LAotICAgIHsgImdlb3IiX3MsIFVTQ1JJUFRfR0VPUkdJ
QU4gfSwKLSAgICB7ICJnb3RoIl9zLCBVU0NSSVBUX0dPVEhJQyB9LAotICAgIHsgImdyZWsiX3Ms
IFVTQ1JJUFRfR1JFRUsgfSwKLSAgICB7ICJndWpyIl9zLCBVU0NSSVBUX0dVSkFSQVRJIH0sCi0g
ICAgeyAiZ3VydSJfcywgVVNDUklQVF9HVVJNVUtISSB9LAotICAgIHsgImhhbmkiX3MsIFVTQ1JJ
UFRfSEFOIH0sCi0gICAgeyAiaGFuZyJfcywgVVNDUklQVF9IQU5HVUwgfSwKLSAgICB7ICJoZWJy
Il9zLCBVU0NSSVBUX0hFQlJFVyB9LAotICAgIHsgImhpcmEiX3MsIFVTQ1JJUFRfS0FUQUtBTkFf
T1JfSElSQUdBTkEgfSwKLSAgICB7ICJrbmRhIl9zLCBVU0NSSVBUX0tBTk5BREEgfSwKLSAgICB7
ICJrYW5hIl9zLCBVU0NSSVBUX0tBVEFLQU5BX09SX0hJUkFHQU5BIH0sCi0gICAgeyAia2htciJf
cywgVVNDUklQVF9LSE1FUiB9LAotICAgIHsgImxhb28iX3MsIFVTQ1JJUFRfTEFPIH0sCi0gICAg
eyAibGF0biJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgIm1seW0iX3MsIFVTQ1JJUFRfTUFM
QVlBTEFNIH0sCi0gICAgeyAibW9uZyJfcywgVVNDUklQVF9NT05HT0xJQU4gfSwKLSAgICB7ICJt
eW1yIl9zLCBVU0NSSVBUX01ZQU5NQVIgfSwKLSAgICB7ICJvZ2FtIl9zLCBVU0NSSVBUX09HSEFN
IH0sCi0gICAgeyAiaXRhbCJfcywgVVNDUklQVF9PTERfSVRBTElDIH0sCi0gICAgeyAib3J5YSJf
cywgVVNDUklQVF9PUklZQSB9LAotICAgIHsgInJ1bnIiX3MsIFVTQ1JJUFRfUlVOSUMgfSwKLSAg
ICB7ICJzaW5oIl9zLCBVU0NSSVBUX1NJTkhBTEEgfSwKLSAgICB7ICJzeXJjIl9zLCBVU0NSSVBU
X1NZUklBQyB9LAotICAgIHsgInRhbWwiX3MsIFVTQ1JJUFRfVEFNSUwgfSwKLSAgICB7ICJ0ZWx1
Il9zLCBVU0NSSVBUX1RFTFVHVSB9LAotICAgIHsgInRoYWEiX3MsIFVTQ1JJUFRfVEhBQU5BIH0s
Ci0gICAgeyAidGhhaSJfcywgVVNDUklQVF9USEFJIH0sCi0gICAgeyAidGlidCJfcywgVVNDUklQ
VF9USUJFVEFOIH0sCi0gICAgeyAiY2FucyJfcywgVVNDUklQVF9DQU5BRElBTl9BQk9SSUdJTkFM
IH0sCi0gICAgeyAieWlpaSJfcywgVVNDUklQVF9ZSSB9LAotICAgIHsgInRnbGciX3MsIFVTQ1JJ
UFRfVEFHQUxPRyB9LAotICAgIHsgImhhbm8iX3MsIFVTQ1JJUFRfSEFOVU5PTyB9LAotICAgIHsg
ImJ1aGQiX3MsIFVTQ1JJUFRfQlVISUQgfSwKLSAgICB7ICJ0YWdiIl9zLCBVU0NSSVBUX1RBR0JB
TldBIH0sCi0gICAgeyAiYnJhaSJfcywgVVNDUklQVF9CUkFJTExFIH0sCi0gICAgeyAiY3BydCJf
cywgVVNDUklQVF9DWVBSSU9UIH0sCi0gICAgeyAibGltYiJfcywgVVNDUklQVF9MSU1CVSB9LAot
ICAgIHsgImxpbmIiX3MsIFVTQ1JJUFRfTElORUFSX0IgfSwKLSAgICB7ICJvc21hIl9zLCBVU0NS
SVBUX09TTUFOWUEgfSwKLSAgICB7ICJzaGF3Il9zLCBVU0NSSVBUX1NIQVZJQU4gfSwKLSAgICB7
ICJ0YWxlIl9zLCBVU0NSSVBUX1RBSV9MRSB9LAotICAgIHsgInVnYXIiX3MsIFVTQ1JJUFRfVUdB
UklUSUMgfSwKLSAgICB7ICJocmt0Il9zLCBVU0NSSVBUX0tBVEFLQU5BX09SX0hJUkFHQU5BIH0s
Ci0gICAgeyAiYnVnaSJfcywgVVNDUklQVF9CVUdJTkVTRSB9LAotICAgIHsgImdsYWciX3MsIFVT
Q1JJUFRfR0xBR09MSVRJQyB9LAotICAgIHsgImtoYXIiX3MsIFVTQ1JJUFRfS0hBUk9TSFRISSB9
LAotICAgIHsgInN5bG8iX3MsIFVTQ1JJUFRfU1lMT1RJX05BR1JJIH0sCi0gICAgeyAidGFsdSJf
cywgVVNDUklQVF9ORVdfVEFJX0xVRSB9LAotICAgIHsgInRmbmciX3MsIFVTQ1JJUFRfVElGSU5B
R0ggfSwKLSAgICB7ICJ4cGVvIl9zLCBVU0NSSVBUX09MRF9QRVJTSUFOIH0sCi0gICAgeyAiYmFs
aSJfcywgVVNDUklQVF9CQUxJTkVTRSB9LAotICAgIHsgImJhdGsiX3MsIFVTQ1JJUFRfQkFUQUsg
fSwKLSAgICB7ICJibGlzIl9zLCBVU0NSSVBUX0JMSVNTWU1CT0xTIH0sCi0gICAgeyAiYnJhaCJf
cywgVVNDUklQVF9CUkFITUkgfSwKLSAgICB7ICJjaGFtIl9zLCBVU0NSSVBUX0NIQU0gfSwKLSAg
ICB7ICJjaXJ0Il9zLCBVU0NSSVBUX0NJUlRIIH0sCi0gICAgeyAiY3lycyJfcywgVVNDUklQVF9P
TERfQ0hVUkNIX1NMQVZPTklDX0NZUklMTElDIH0sCi0gICAgeyAiZWd5ZCJfcywgVVNDUklQVF9E
RU1PVElDX0VHWVBUSUFOIH0sCi0gICAgeyAiZWd5aCJfcywgVVNDUklQVF9ISUVSQVRJQ19FR1lQ
VElBTiB9LAotICAgIHsgImVneXAiX3MsIFVTQ1JJUFRfRUdZUFRJQU5fSElFUk9HTFlQSFMgfSwK
LSAgICB7ICJnZW9rIl9zLCBVU0NSSVBUX0tIVVRTVVJJIH0sCi0gICAgeyAiaGFucyJfcywgVVND
UklQVF9TSU1QTElGSUVEX0hBTiB9LAotICAgIHsgImhhbnQiX3MsIFVTQ1JJUFRfVFJBRElUSU9O
QUxfSEFOIH0sCi0gICAgeyAiaG1uZyJfcywgVVNDUklQVF9QQUhBV0hfSE1PTkcgfSwKLSAgICB7
ICJodW5nIl9zLCBVU0NSSVBUX09MRF9IVU5HQVJJQU4gfSwKLSAgICB7ICJpbmRzIl9zLCBVU0NS
SVBUX0hBUkFQUEFOX0lORFVTIH0sCi0gICAgeyAiamF2YSJfcywgVVNDUklQVF9KQVZBTkVTRSB9
LAotICAgIHsgImthbGkiX3MsIFVTQ1JJUFRfS0FZQUhfTEkgfSwKLSAgICB7ICJsYXRmIl9zLCBV
U0NSSVBUX0xBVElOX0ZSQUtUVVIgfSwKLSAgICB7ICJsYXRnIl9zLCBVU0NSSVBUX0xBVElOX0dB
RUxJQyB9LAotICAgIHsgImxlcGMiX3MsIFVTQ1JJUFRfTEVQQ0hBIH0sCi0gICAgeyAibGluYSJf
cywgVVNDUklQVF9MSU5FQVJfQSB9LAotICAgIHsgIm1hbmQiX3MsIFVTQ1JJUFRfTUFOREFFQU4g
fSwKLSAgICB7ICJtYXlhIl9zLCBVU0NSSVBUX01BWUFOX0hJRVJPR0xZUEhTIH0sCi0gICAgeyAi
bWVybyJfcywgVVNDUklQVF9NRVJPSVRJQyB9LAotICAgIHsgIm5rb28iX3MsIFVTQ1JJUFRfTktP
IH0sCi0gICAgeyAib3JraCJfcywgVVNDUklQVF9PUktIT04gfSwKLSAgICB7ICJwZXJtIl9zLCBV
U0NSSVBUX09MRF9QRVJNSUMgfSwKLSAgICB7ICJwaGFnIl9zLCBVU0NSSVBUX1BIQUdTX1BBIH0s
Ci0gICAgeyAicGhueCJfcywgVVNDUklQVF9QSE9FTklDSUFOIH0sCi0gICAgeyAicGxyZCJfcywg
VVNDUklQVF9QSE9ORVRJQ19QT0xMQVJEIH0sCi0gICAgeyAicm9ybyJfcywgVVNDUklQVF9ST05H
T1JPTkdPIH0sCi0gICAgeyAic2FyYSJfcywgVVNDUklQVF9TQVJBVEkgfSwKLSAgICB7ICJzeXJl
Il9zLCBVU0NSSVBUX0VTVFJBTkdFTE9fU1lSSUFDIH0sCi0gICAgeyAic3lyaiJfcywgVVNDUklQ
VF9XRVNURVJOX1NZUklBQyB9LAotICAgIHsgInN5cm4iX3MsIFVTQ1JJUFRfRUFTVEVSTl9TWVJJ
QUMgfSwKLSAgICB7ICJ0ZW5nIl9zLCBVU0NSSVBUX1RFTkdXQVIgfSwKLSAgICB7ICJ2YWlpIl9z
LCBVU0NSSVBUX1ZBSSB9LAotICAgIHsgInZpc3AiX3MsIFVTQ1JJUFRfVklTSUJMRV9TUEVFQ0gg
fSwKLSAgICB7ICJ4c3V4Il9zLCBVU0NSSVBUX0NVTkVJRk9STSB9LAotICAgIHsgImpwYW4iX3Ms
IFVTQ1JJUFRfS0FUQUtBTkFfT1JfSElSQUdBTkEgfSwKLSAgICB7ICJrb3JlIl9zLCBVU0NSSVBU
X0hBTkdVTCB9LAotICAgIHsgInp4eHgiX3MsIFVTQ1JJUFRfVU5XUklUVEVOX0xBTkdVQUdFUyB9
LAotICAgIHsgInp6enoiX3MsIFVTQ1JJUFRfVU5LTk9XTiB9Ci19OwordGVtcGxhdGU8dHlwZW5h
bWUgUmVzdWx0VHlwZT4KK3N0YXRpYyBPcHRpb25hbDxSZXN1bHRUeXBlPiBwYXJzZVNjcmlwdENv
ZGUoU3RyaW5nVmlldyBzdHJpbmcpCit7CisgICAgaWYgKHN0cmluZy5sZW5ndGgoKSA+IHNpemVv
ZihSZXN1bHRUeXBlKSkKKyAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKyAgICBSZXN1bHRU
eXBlIHJlc3VsdCA9IDA7CisgICAgZm9yICh1bnNpZ25lZCBpbmRleCA9IDA7IGluZGV4IDwgc3Ry
aW5nLmxlbmd0aCgpOyArK2luZGV4KSB7CisgICAgICAgIFVDaGFyIGNvZGUgPSBzdHJpbmdbaW5k
ZXhdOworICAgICAgICBpZiAoIWlzQVNDSUkoY29kZSkpCisgICAgICAgICAgICByZXR1cm4gV1RG
OjpudWxsb3B0OworICAgICAgICByZXN1bHQgfD0gKHN0YXRpY19jYXN0PFJlc3VsdFR5cGU+KHRv
QVNDSUlMb3dlcihjb2RlKSkgPDwgKChzaXplb2YoUmVzdWx0VHlwZSkgLSBpbmRleCAtIDEpICog
OCkpOworICAgIH0KKyAgICByZXR1cm4gcmVzdWx0OworfQogCi1zdHJ1Y3QgU2NyaXB0TmFtZUNv
ZGVNYXBIYXNoVHJhaXRzIDogcHVibGljIEhhc2hUcmFpdHM8U3RyaW5nPiB7Ci0gICAgc3RhdGlj
IGNvbnN0IGludCBtaW5pbXVtVGFibGVTaXplID0gV1RGOjpIYXNoVGFibGVDYXBhY2l0eUZvclNp
emU8V1RGX0FSUkFZX0xFTkdUSChzY3JpcHROYW1lQ29kZUxpc3QpPjo6dmFsdWU7Cit1c2luZyBT
Y3JpcHROYW1lID0gdWludDMyX3Q7CitzdHJ1Y3QgU2NyaXB0TmFtZUNvZGUgeworICAgIFNjcmlw
dE5hbWUgbmFtZTsKKyAgICBVU2NyaXB0Q29kZSBjb2RlOwogfTsKIAogVVNjcmlwdENvZGUgc2Ny
aXB0TmFtZVRvQ29kZShjb25zdCBTdHJpbmcmIHNjcmlwdE5hbWUpCiB7Ci0gICAgc3RhdGljIGNv
bnN0IGF1dG8gc2NyaXB0TmFtZUNvZGVNYXAgPSBtYWtlTmV2ZXJEZXN0cm95ZWQoW10gewotICAg
ICAgICBIYXNoTWFwPFN0cmluZywgVVNjcmlwdENvZGUsIEFTQ0lJQ2FzZUluc2Vuc2l0aXZlSGFz
aCwgU2NyaXB0TmFtZUNvZGVNYXBIYXNoVHJhaXRzPiBtYXA7Ci0gICAgICAgIGZvciAoYXV0byYg
bmFtZUFuZENvZGUgOiBzY3JpcHROYW1lQ29kZUxpc3QpCi0gICAgICAgICAgICBtYXAuYWRkKG5h
bWVBbmRDb2RlLm5hbWUsIG5hbWVBbmRDb2RlLmNvZGUpOwotICAgICAgICByZXR1cm4gbWFwOwot
ICAgIH0oKSk7CisgICAgLy8gVGhpcyBnZW5lcmFsbHkgbWFwcyBhbiBJU08gMTU5MjQgc2NyaXB0
IGNvZGUgdG8gaXRzIFVTY3JpcHRDb2RlLCBidXQgY2VydGFpbiBmYW1pbGllcyBvZiBzY3JpcHQg
Y29kZXMgYXJlCisgICAgLy8gdHJlYXRlZCBhcyBhIHNpbmdsZSBzY3JpcHQgZm9yIGFzc2lnbmlu
ZyBhIHBlci1zY3JpcHQgZm9udCBpbiBTZXR0aW5ncy4gRm9yIGV4YW1wbGUsICJoaXJhIiBpcyBt
YXBwZWQgdG8KKyAgICAvLyBVU0NSSVBUX0tBVEFLQU5BX09SX0hJUkFHQU5BIGluc3RlYWQgb2Yg
VVNDUklQVF9ISVJBR0FOQSwgc2luY2Ugd2Ugd2FudCBhbGwgSmFwYW5lc2Ugc2NyaXB0cyB0byBi
ZSByZW5kZXJlZAorICAgIC8vIHVzaW5nIHRoZSBzYW1lIGZvbnQgc2V0dGluZy4KKyAgICBzdGF0
aWMgY29uc3RleHByIFNjcmlwdE5hbWVDb2RlIHNjcmlwdE5hbWVDb2RlTGlzdFtdID0geworICAg
ICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPFNjcmlwdE5hbWU+KCJhcmFiIiksIFVTQ1JJ
UFRfQVJBQklDIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8U2NyaXB0TmFt
ZT4oImFybW4iKSwgVVNDUklQVF9BUk1FTklBTiB9LAorICAgICAgICB7IHBhcnNlQ29uc3RhbnRT
Y3JpcHRDb2RlPFNjcmlwdE5hbWU+KCJiYWxpIiksIFVTQ1JJUFRfQkFMSU5FU0UgfSwKKyAgICAg
ICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxTY3JpcHROYW1lPigiYmF0ayIpLCBVU0NSSVBU
X0JBVEFLIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8U2NyaXB0TmFtZT4o
ImJlbmciKSwgVVNDUklQVF9CRU5HQUxJIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlw
dENvZGU8U2NyaXB0TmFtZT4oImJsaXMiKSwgVVNDUklQVF9CTElTU1lNQk9MUyB9LAorICAgICAg
ICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPFNjcmlwdE5hbWU+KCJib3BvIiksIFVTQ1JJUFRf
Qk9QT01PRk8gfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxTY3JpcHROYW1l
PigiYnJhaCIpLCBVU0NSSVBUX0JSQUhNSSB9LAorICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3Jp
cHRDb2RlPFNjcmlwdE5hbWU+KCJicmFpIiksIFVTQ1JJUFRfQlJBSUxMRSB9LAorICAgICAgICB7
IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPFNjcmlwdE5hbWU+KCJidWdpIiksIFVTQ1JJUFRfQlVH
SU5FU0UgfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxTY3JpcHROYW1lPigi
YnVoZCIpLCBVU0NSSVBUX0JVSElEIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENv
ZGU8U2NyaXB0TmFtZT4oImNhbnMiKSwgVVNDUklQVF9DQU5BRElBTl9BQk9SSUdJTkFMIH0sCisg
ICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8U2NyaXB0TmFtZT4oImNoYW0iKSwgVVND
UklQVF9DSEFNIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8U2NyaXB0TmFt
ZT4oImNoZXIiKSwgVVNDUklQVF9DSEVST0tFRSB9LAorICAgICAgICB7IHBhcnNlQ29uc3RhbnRT
Y3JpcHRDb2RlPFNjcmlwdE5hbWU+KCJjaXJ0IiksIFVTQ1JJUFRfQ0lSVEggfSwKKyAgICAgICAg
eyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxTY3JpcHROYW1lPigiY29wdCIpLCBVU0NSSVBUX0NP
UFRJQyB9LAorICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPFNjcmlwdE5hbWU+KCJj
cHJ0IiksIFVTQ1JJUFRfQ1lQUklPVCB9LAorICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRD
b2RlPFNjcmlwdE5hbWU+KCJjeXJsIiksIFVTQ1JJUFRfQ1lSSUxMSUMgfSwKKyAgICAgICAgeyBw
YXJzZUNvbnN0YW50U2NyaXB0Q29kZTxTY3JpcHROYW1lPigiY3lycyIpLCBVU0NSSVBUX09MRF9D
SFVSQ0hfU0xBVk9OSUNfQ1lSSUxMSUMgfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0
Q29kZTxTY3JpcHROYW1lPigiZGV2YSIpLCBVU0NSSVBUX0RFVkFOQUdBUkkgfSwKKyAgICAgICAg
eyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxTY3JpcHROYW1lPigiZHNydCIpLCBVU0NSSVBUX0RF
U0VSRVQgfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxTY3JpcHROYW1lPigi
ZWd5ZCIpLCBVU0NSSVBUX0RFTU9USUNfRUdZUFRJQU4gfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0
YW50U2NyaXB0Q29kZTxTY3JpcHROYW1lPigiZWd5aCIpLCBVU0NSSVBUX0hJRVJBVElDX0VHWVBU
SUFOIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8U2NyaXB0TmFtZT4oImVn
eXAiKSwgVVNDUklQVF9FR1lQVElBTl9ISUVST0dMWVBIUyB9LAorICAgICAgICB7IHBhcnNlQ29u
c3RhbnRTY3JpcHRDb2RlPFNjcmlwdE5hbWU+KCJldGhpIiksIFVTQ1JJUFRfRVRISU9QSUMgfSwK
KyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxTY3JpcHROYW1lPigiZ2VvayIpLCBV
U0NSSVBUX0tIVVRTVVJJIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8U2Ny
aXB0TmFtZT4oImdlb3IiKSwgVVNDUklQVF9HRU9SR0lBTiB9LAorICAgICAgICB7IHBhcnNlQ29u
c3RhbnRTY3JpcHRDb2RlPFNjcmlwdE5hbWU+KCJnbGFnIiksIFVTQ1JJUFRfR0xBR09MSVRJQyB9
LAorICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPFNjcmlwdE5hbWU+KCJnb3RoIiks
IFVTQ1JJUFRfR09USElDIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8U2Ny
aXB0TmFtZT4oImdyZWsiKSwgVVNDUklQVF9HUkVFSyB9LAorICAgICAgICB7IHBhcnNlQ29uc3Rh
bnRTY3JpcHRDb2RlPFNjcmlwdE5hbWU+KCJndWpyIiksIFVTQ1JJUFRfR1VKQVJBVEkgfSwKKyAg
ICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxTY3JpcHROYW1lPigiZ3VydSIpLCBVU0NS
SVBUX0dVUk1VS0hJIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8U2NyaXB0
TmFtZT4oImhhbmciKSwgVVNDUklQVF9IQU5HVUwgfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50
U2NyaXB0Q29kZTxTY3JpcHROYW1lPigiaGFuaSIpLCBVU0NSSVBUX0hBTiB9LAorICAgICAgICB7
IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPFNjcmlwdE5hbWU+KCJoYW5vIiksIFVTQ1JJUFRfSEFO
VU5PTyB9LAorICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPFNjcmlwdE5hbWU+KCJo
YW5zIiksIFVTQ1JJUFRfU0lNUExJRklFRF9IQU4gfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50
U2NyaXB0Q29kZTxTY3JpcHROYW1lPigiaGFudCIpLCBVU0NSSVBUX1RSQURJVElPTkFMX0hBTiB9
LAorICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPFNjcmlwdE5hbWU+KCJoZWJyIiks
IFVTQ1JJUFRfSEVCUkVXIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8U2Ny
aXB0TmFtZT4oImhpcmEiKSwgVVNDUklQVF9LQVRBS0FOQV9PUl9ISVJBR0FOQSB9LAorICAgICAg
ICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPFNjcmlwdE5hbWU+KCJobW5nIiksIFVTQ1JJUFRf
UEFIQVdIX0hNT05HIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8U2NyaXB0
TmFtZT4oImhya3QiKSwgVVNDUklQVF9LQVRBS0FOQV9PUl9ISVJBR0FOQSB9LAorICAgICAgICB7
IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPFNjcmlwdE5hbWU+KCJodW5nIiksIFVTQ1JJUFRfT0xE
X0hVTkdBUklBTiB9LAorICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPFNjcmlwdE5h
bWU+KCJpbmRzIiksIFVTQ1JJUFRfSEFSQVBQQU5fSU5EVVMgfSwKKyAgICAgICAgeyBwYXJzZUNv
bnN0YW50U2NyaXB0Q29kZTxTY3JpcHROYW1lPigiaXRhbCIpLCBVU0NSSVBUX09MRF9JVEFMSUMg
fSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxTY3JpcHROYW1lPigiamF2YSIp
LCBVU0NSSVBUX0pBVkFORVNFIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8
U2NyaXB0TmFtZT4oImpwYW4iKSwgVVNDUklQVF9LQVRBS0FOQV9PUl9ISVJBR0FOQSB9LAorICAg
ICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPFNjcmlwdE5hbWU+KCJrYWxpIiksIFVTQ1JJ
UFRfS0FZQUhfTEkgfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxTY3JpcHRO
YW1lPigia2FuYSIpLCBVU0NSSVBUX0tBVEFLQU5BX09SX0hJUkFHQU5BIH0sCisgICAgICAgIHsg
cGFyc2VDb25zdGFudFNjcmlwdENvZGU8U2NyaXB0TmFtZT4oImtoYXIiKSwgVVNDUklQVF9LSEFS
T1NIVEhJIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8U2NyaXB0TmFtZT4o
ImtobXIiKSwgVVNDUklQVF9LSE1FUiB9LAorICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRD
b2RlPFNjcmlwdE5hbWU+KCJrbmRhIiksIFVTQ1JJUFRfS0FOTkFEQSB9LAorICAgICAgICB7IHBh
cnNlQ29uc3RhbnRTY3JpcHRDb2RlPFNjcmlwdE5hbWU+KCJrb3JlIiksIFVTQ1JJUFRfSEFOR1VM
IH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8U2NyaXB0TmFtZT4oImxhb28i
KSwgVVNDUklQVF9MQU8gfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxTY3Jp
cHROYW1lPigibGF0ZiIpLCBVU0NSSVBUX0xBVElOX0ZSQUtUVVIgfSwKKyAgICAgICAgeyBwYXJz
ZUNvbnN0YW50U2NyaXB0Q29kZTxTY3JpcHROYW1lPigibGF0ZyIpLCBVU0NSSVBUX0xBVElOX0dB
RUxJQyB9LAorICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPFNjcmlwdE5hbWU+KCJs
YXRuIiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29k
ZTxTY3JpcHROYW1lPigibGVwYyIpLCBVU0NSSVBUX0xFUENIQSB9LAorICAgICAgICB7IHBhcnNl
Q29uc3RhbnRTY3JpcHRDb2RlPFNjcmlwdE5hbWU+KCJsaW1iIiksIFVTQ1JJUFRfTElNQlUgfSwK
KyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxTY3JpcHROYW1lPigibGluYSIpLCBV
U0NSSVBUX0xJTkVBUl9BIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8U2Ny
aXB0TmFtZT4oImxpbmIiKSwgVVNDUklQVF9MSU5FQVJfQiB9LAorICAgICAgICB7IHBhcnNlQ29u
c3RhbnRTY3JpcHRDb2RlPFNjcmlwdE5hbWU+KCJtYW5kIiksIFVTQ1JJUFRfTUFOREFFQU4gfSwK
KyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxTY3JpcHROYW1lPigibWF5YSIpLCBV
U0NSSVBUX01BWUFOX0hJRVJPR0xZUEhTIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlw
dENvZGU8U2NyaXB0TmFtZT4oIm1lcm8iKSwgVVNDUklQVF9NRVJPSVRJQyB9LAorICAgICAgICB7
IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPFNjcmlwdE5hbWU+KCJtbHltIiksIFVTQ1JJUFRfTUFM
QVlBTEFNIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8U2NyaXB0TmFtZT4o
Im1vbmciKSwgVVNDUklQVF9NT05HT0xJQU4gfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2Ny
aXB0Q29kZTxTY3JpcHROYW1lPigibXltciIpLCBVU0NSSVBUX01ZQU5NQVIgfSwKKyAgICAgICAg
eyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxTY3JpcHROYW1lPigibmtvbyIpLCBVU0NSSVBUX05L
TyB9LAorICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPFNjcmlwdE5hbWU+KCJvZ2Ft
IiksIFVTQ1JJUFRfT0dIQU0gfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxT
Y3JpcHROYW1lPigib3JraCIpLCBVU0NSSVBUX09SS0hPTiB9LAorICAgICAgICB7IHBhcnNlQ29u
c3RhbnRTY3JpcHRDb2RlPFNjcmlwdE5hbWU+KCJvcnlhIiksIFVTQ1JJUFRfT1JJWUEgfSwKKyAg
ICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxTY3JpcHROYW1lPigib3NtYSIpLCBVU0NS
SVBUX09TTUFOWUEgfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxTY3JpcHRO
YW1lPigicGVybSIpLCBVU0NSSVBUX09MRF9QRVJNSUMgfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0
YW50U2NyaXB0Q29kZTxTY3JpcHROYW1lPigicGhhZyIpLCBVU0NSSVBUX1BIQUdTX1BBIH0sCisg
ICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8U2NyaXB0TmFtZT4oInBobngiKSwgVVND
UklQVF9QSE9FTklDSUFOIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8U2Ny
aXB0TmFtZT4oInBscmQiKSwgVVNDUklQVF9QSE9ORVRJQ19QT0xMQVJEIH0sCisgICAgICAgIHsg
cGFyc2VDb25zdGFudFNjcmlwdENvZGU8U2NyaXB0TmFtZT4oInFhYWkiKSwgVVNDUklQVF9JTkhF
UklURUQgfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxTY3JpcHROYW1lPigi
cm9ybyIpLCBVU0NSSVBUX1JPTkdPUk9OR08gfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2Ny
aXB0Q29kZTxTY3JpcHROYW1lPigicnVuciIpLCBVU0NSSVBUX1JVTklDIH0sCisgICAgICAgIHsg
cGFyc2VDb25zdGFudFNjcmlwdENvZGU8U2NyaXB0TmFtZT4oInNhcmEiKSwgVVNDUklQVF9TQVJB
VEkgfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxTY3JpcHROYW1lPigic2hh
dyIpLCBVU0NSSVBUX1NIQVZJQU4gfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29k
ZTxTY3JpcHROYW1lPigic2luaCIpLCBVU0NSSVBUX1NJTkhBTEEgfSwKKyAgICAgICAgeyBwYXJz
ZUNvbnN0YW50U2NyaXB0Q29kZTxTY3JpcHROYW1lPigic3lsbyIpLCBVU0NSSVBUX1NZTE9USV9O
QUdSSSB9LAorICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPFNjcmlwdE5hbWU+KCJz
eXJjIiksIFVTQ1JJUFRfU1lSSUFDIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENv
ZGU8U2NyaXB0TmFtZT4oInN5cmUiKSwgVVNDUklQVF9FU1RSQU5HRUxPX1NZUklBQyB9LAorICAg
ICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPFNjcmlwdE5hbWU+KCJzeXJqIiksIFVTQ1JJ
UFRfV0VTVEVSTl9TWVJJQUMgfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxT
Y3JpcHROYW1lPigic3lybiIpLCBVU0NSSVBUX0VBU1RFUk5fU1lSSUFDIH0sCisgICAgICAgIHsg
cGFyc2VDb25zdGFudFNjcmlwdENvZGU8U2NyaXB0TmFtZT4oInRhZ2IiKSwgVVNDUklQVF9UQUdC
QU5XQSB9LAorICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPFNjcmlwdE5hbWU+KCJ0
YWxlIiksIFVTQ1JJUFRfVEFJX0xFIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENv
ZGU8U2NyaXB0TmFtZT4oInRhbHUiKSwgVVNDUklQVF9ORVdfVEFJX0xVRSB9LAorICAgICAgICB7
IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPFNjcmlwdE5hbWU+KCJ0YW1sIiksIFVTQ1JJUFRfVEFN
SUwgfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxTY3JpcHROYW1lPigidGVs
dSIpLCBVU0NSSVBUX1RFTFVHVSB9LAorICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2Rl
PFNjcmlwdE5hbWU+KCJ0ZW5nIiksIFVTQ1JJUFRfVEVOR1dBUiB9LAorICAgICAgICB7IHBhcnNl
Q29uc3RhbnRTY3JpcHRDb2RlPFNjcmlwdE5hbWU+KCJ0Zm5nIiksIFVTQ1JJUFRfVElGSU5BR0gg
fSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxTY3JpcHROYW1lPigidGdsZyIp
LCBVU0NSSVBUX1RBR0FMT0cgfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxT
Y3JpcHROYW1lPigidGhhYSIpLCBVU0NSSVBUX1RIQUFOQSB9LAorICAgICAgICB7IHBhcnNlQ29u
c3RhbnRTY3JpcHRDb2RlPFNjcmlwdE5hbWU+KCJ0aGFpIiksIFVTQ1JJUFRfVEhBSSB9LAorICAg
ICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPFNjcmlwdE5hbWU+KCJ0aWJ0IiksIFVTQ1JJ
UFRfVElCRVRBTiB9LAorICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPFNjcmlwdE5h
bWU+KCJ1Z2FyIiksIFVTQ1JJUFRfVUdBUklUSUMgfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50
U2NyaXB0Q29kZTxTY3JpcHROYW1lPigidmFpaSIpLCBVU0NSSVBUX1ZBSSB9LAorICAgICAgICB7
IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPFNjcmlwdE5hbWU+KCJ2aXNwIiksIFVTQ1JJUFRfVklT
SUJMRV9TUEVFQ0ggfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxTY3JpcHRO
YW1lPigieHBlbyIpLCBVU0NSSVBUX09MRF9QRVJTSUFOIH0sCisgICAgICAgIHsgcGFyc2VDb25z
dGFudFNjcmlwdENvZGU8U2NyaXB0TmFtZT4oInhzdXgiKSwgVVNDUklQVF9DVU5FSUZPUk0gfSwK
KyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxTY3JpcHROYW1lPigieWlpaSIpLCBV
U0NSSVBUX1lJIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8U2NyaXB0TmFt
ZT4oInp4eHgiKSwgVVNDUklQVF9VTldSSVRURU5fTEFOR1VBR0VTIH0sCisgICAgICAgIHsgcGFy
c2VDb25zdGFudFNjcmlwdENvZGU8U2NyaXB0TmFtZT4oInp5eXkiKSwgVVNDUklQVF9DT01NT04g
fSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxTY3JpcHROYW1lPigienp6eiIp
LCBVU0NSSVBUX1VOS05PV04gfSwKKyAgICB9OwogCi0gICAgYXV0byBpdCA9IHNjcmlwdE5hbWVD
b2RlTWFwLmdldCgpLmZpbmQoc2NyaXB0TmFtZSk7Ci0gICAgaWYgKGl0ICE9IHNjcmlwdE5hbWVD
b2RlTWFwLmdldCgpLmVuZCgpKQotICAgICAgICByZXR1cm4gaXQtPnZhbHVlOworICAgIHN0YXRp
Y19hc3NlcnQocGFyc2VDb25zdGFudFNjcmlwdENvZGU8U2NyaXB0TmFtZT4oImFyYWIiKSA9PSAw
eDYxNzI2MTYyVSk7CisgICAgc3RhdGljX2Fzc2VydChwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxT
Y3JpcHROYW1lPigienp6eiIpID09IDB4N2E3YTdhN2FVKTsKKworICAgIEFTU0VSVCgKKyAgICAg
ICAgc3RkOjppc19zb3J0ZWQoc3RkOjpiZWdpbihzY3JpcHROYW1lQ29kZUxpc3QpLCBzdGQ6OmVu
ZChzY3JpcHROYW1lQ29kZUxpc3QpLAorICAgICAgICAgICAgW10oY29uc3QgU2NyaXB0TmFtZUNv
ZGUmIGEsIGNvbnN0IFNjcmlwdE5hbWVDb2RlJiBiKSB7CisgICAgICAgICAgICAgICAgcmV0dXJu
IGEubmFtZSA8IGIubmFtZTsKKyAgICAgICAgICAgIH0pKTsKKworICAgIGF1dG8gbmFtZSA9IHBh
cnNlU2NyaXB0Q29kZTxTY3JpcHROYW1lPihzY3JpcHROYW1lKTsKKyAgICBpZiAoIW5hbWUpCisg
ICAgICAgIHJldHVybiBVU0NSSVBUX0lOVkFMSURfQ09ERTsKKworICAgIGF1dG8qIGVsZW1lbnQg
PSB0cnlCaW5hcnlTZWFyY2g8U2NyaXB0TmFtZUNvZGU+KHNjcmlwdE5hbWVDb2RlTGlzdCwgc3Rk
OjpzaXplKHNjcmlwdE5hbWVDb2RlTGlzdCksIG5hbWUudmFsdWUoKSwKKyAgICAgICAgW10oY29u
c3QgU2NyaXB0TmFtZUNvZGUqIHNjcmlwdE5hbWVDb2RlKSB7CisgICAgICAgICAgICByZXR1cm4g
c2NyaXB0TmFtZUNvZGUtPm5hbWU7CisgICAgICAgIH0pOworICAgIGlmIChlbGVtZW50KQorICAg
ICAgICByZXR1cm4gZWxlbWVudC0+Y29kZTsKICAgICByZXR1cm4gVVNDUklQVF9JTlZBTElEX0NP
REU7CiB9CiAKK3VzaW5nIExvY2FsZU5hbWUgPSB1aW50NjRfdDsKIHN0cnVjdCBMb2NhbGVTY3Jp
cHQgewotICAgIEFTQ0lJTGl0ZXJhbCBsb2NhbGU7CisgICAgTG9jYWxlTmFtZSBsb2NhbGU7CiAg
ICAgVVNjcmlwdENvZGUgc2NyaXB0OwogfTsKIAotc3RhdGljIGNvbnN0IExvY2FsZVNjcmlwdCBs
b2NhbGVTY3JpcHRMaXN0W10gPSB7Ci0gICAgeyAiYWEiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAg
ICB7ICJhYiJfcywgVVNDUklQVF9DWVJJTExJQyB9LAotICAgIHsgImFkeSJfcywgVVNDUklQVF9D
WVJJTExJQyB9LAotICAgIHsgImFmIl9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAiYWsiX3Ms
IFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJhbSJfcywgVVNDUklQVF9FVEhJT1BJQyB9LAotICAg
IHsgImFyIl9zLCBVU0NSSVBUX0FSQUJJQyB9LAotICAgIHsgImFzIl9zLCBVU0NSSVBUX0JFTkdB
TEkgfSwKLSAgICB7ICJhc3QiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJhdiJfcywgVVND
UklQVF9DWVJJTExJQyB9LAotICAgIHsgImF5Il9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAi
YXoiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJiYSJfcywgVVNDUklQVF9DWVJJTExJQyB9
LAotICAgIHsgImJlIl9zLCBVU0NSSVBUX0NZUklMTElDIH0sCi0gICAgeyAiYmciX3MsIFVTQ1JJ
UFRfQ1lSSUxMSUMgfSwKLSAgICB7ICJiaSJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgImJu
Il9zLCBVU0NSSVBUX0JFTkdBTEkgfSwKLSAgICB7ICJibyJfcywgVVNDUklQVF9USUJFVEFOIH0s
Ci0gICAgeyAiYnMiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJjYSJfcywgVVNDUklQVF9M
QVRJTiB9LAotICAgIHsgImNlIl9zLCBVU0NSSVBUX0NZUklMTElDIH0sCi0gICAgeyAiY2ViIl9z
LCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAiY2giX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7
ICJjaGsiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJjcyJfcywgVVNDUklQVF9MQVRJTiB9
LAotICAgIHsgImN5Il9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAiZGEiX3MsIFVTQ1JJUFRf
TEFUSU4gfSwKLSAgICB7ICJkZSJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgImR2Il9zLCBV
U0NSSVBUX1RIQUFOQSB9LAotICAgIHsgImR6Il9zLCBVU0NSSVBUX1RJQkVUQU4gfSwKLSAgICB7
ICJlZSJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgImVmaSJfcywgVVNDUklQVF9MQVRJTiB9
LAotICAgIHsgImVsIl9zLCBVU0NSSVBUX0dSRUVLIH0sCi0gICAgeyAiZW4iX3MsIFVTQ1JJUFRf
TEFUSU4gfSwKLSAgICB7ICJlcyJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgImV0Il9zLCBV
U0NSSVBUX0xBVElOIH0sCi0gICAgeyAiZXUiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJm
YSJfcywgVVNDUklQVF9BUkFCSUMgfSwKLSAgICB7ICJmaSJfcywgVVNDUklQVF9MQVRJTiB9LAot
ICAgIHsgImZpbCJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgImZqIl9zLCBVU0NSSVBUX0xB
VElOIH0sCi0gICAgeyAiZm8iX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJmciJfcywgVVND
UklQVF9MQVRJTiB9LAotICAgIHsgImZ1ciJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgImZ5
Il9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAiZ2EiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAg
ICB7ICJnYWEiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJnZCJfcywgVVNDUklQVF9MQVRJ
TiB9LAotICAgIHsgImdpbCJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgImdsIl9zLCBVU0NS
SVBUX0xBVElOIH0sCi0gICAgeyAiZ24iX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJnc3ci
X3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJndSJfcywgVVNDUklQVF9HVUpBUkFUSSB9LAot
ICAgIHsgImhhIl9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAiaGF3Il9zLCBVU0NSSVBUX0xB
VElOIH0sCi0gICAgeyAiaGUiX3MsIFVTQ1JJUFRfSEVCUkVXIH0sCi0gICAgeyAiaGkiX3MsIFVT
Q1JJUFRfREVWQU5BR0FSSSB9LAotICAgIHsgImhpbCJfcywgVVNDUklQVF9MQVRJTiB9LAotICAg
IHsgImhvIl9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAiaHIiX3MsIFVTQ1JJUFRfTEFUSU4g
fSwKLSAgICB7ICJodCJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgImh1Il9zLCBVU0NSSVBU
X0xBVElOIH0sCi0gICAgeyAiaHkiX3MsIFVTQ1JJUFRfQVJNRU5JQU4gfSwKLSAgICB7ICJpZCJf
cywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgImlnIl9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAg
eyAiaWkiX3MsIFVTQ1JJUFRfWUkgfSwKLSAgICB7ICJpbG8iX3MsIFVTQ1JJUFRfTEFUSU4gfSwK
LSAgICB7ICJpbmgiX3MsIFVTQ1JJUFRfQ1lSSUxMSUMgfSwKLSAgICB7ICJpcyJfcywgVVNDUklQ
VF9MQVRJTiB9LAotICAgIHsgIml0Il9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAiaXUiX3Ms
IFVTQ1JJUFRfQ0FOQURJQU5fQUJPUklHSU5BTCB9LAotICAgIHsgImphIl9zLCBVU0NSSVBUX0tB
VEFLQU5BX09SX0hJUkFHQU5BIH0sCi0gICAgeyAianYiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAg
ICB7ICJrYSJfcywgVVNDUklQVF9HRU9SR0lBTiB9LAotICAgIHsgImthaiJfcywgVVNDUklQVF9M
QVRJTiB9LAotICAgIHsgImthbSJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgImtiZCJfcywg
VVNDUklQVF9DWVJJTExJQyB9LAotICAgIHsgImtoYSJfcywgVVNDUklQVF9MQVRJTiB9LAotICAg
IHsgImtrIl9zLCBVU0NSSVBUX0NZUklMTElDIH0sCi0gICAgeyAia2wiX3MsIFVTQ1JJUFRfTEFU
SU4gfSwKLSAgICB7ICJrbSJfcywgVVNDUklQVF9LSE1FUiB9LAotICAgIHsgImtuIl9zLCBVU0NS
SVBUX0tBTk5BREEgfSwKLSAgICB7ICJrbyJfcywgVVNDUklQVF9IQU5HVUwgfSwKLSAgICB7ICJr
b2siX3MsIFVTQ1JJUFRfREVWQU5BR0FSSSB9LAotICAgIHsgImtvcyJfcywgVVNDUklQVF9MQVRJ
TiB9LAotICAgIHsgImtwZSJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgImtyYyJfcywgVVND
UklQVF9DWVJJTExJQyB9LAotICAgIHsgImtzIl9zLCBVU0NSSVBUX0FSQUJJQyB9LAotICAgIHsg
Imt1Il9zLCBVU0NSSVBUX0FSQUJJQyB9LAotICAgIHsgImt1bSJfcywgVVNDUklQVF9DWVJJTExJ
QyB9LAotICAgIHsgImt5Il9zLCBVU0NSSVBUX0NZUklMTElDIH0sCi0gICAgeyAibGEiX3MsIFVT
Q1JJUFRfTEFUSU4gfSwKLSAgICB7ICJsYWgiX3MsIFVTQ1JJUFRfQVJBQklDIH0sCi0gICAgeyAi
bGIiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJsZXoiX3MsIFVTQ1JJUFRfQ1lSSUxMSUMg
fSwKLSAgICB7ICJsbiJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgImxvIl9zLCBVU0NSSVBU
X0xBTyB9LAotICAgIHsgImx0Il9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAibHYiX3MsIFVT
Q1JJUFRfTEFUSU4gfSwKLSAgICB7ICJtYWkiX3MsIFVTQ1JJUFRfREVWQU5BR0FSSSB9LAotICAg
IHsgIm1kZiJfcywgVVNDUklQVF9DWVJJTExJQyB9LAotICAgIHsgIm1nIl9zLCBVU0NSSVBUX0xB
VElOIH0sCi0gICAgeyAibWgiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJtaSJfcywgVVND
UklQVF9MQVRJTiB9LAotICAgIHsgIm1rIl9zLCBVU0NSSVBUX0NZUklMTElDIH0sCi0gICAgeyAi
bWwiX3MsIFVTQ1JJUFRfTUFMQVlBTEFNIH0sCi0gICAgeyAibW4iX3MsIFVTQ1JJUFRfQ1lSSUxM
SUMgfSwKLSAgICB7ICJtciJfcywgVVNDUklQVF9ERVZBTkFHQVJJIH0sCi0gICAgeyAibXMiX3Ms
IFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJtdCJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsg
Im15Il9zLCBVU0NSSVBUX01ZQU5NQVIgfSwKLSAgICB7ICJteXYiX3MsIFVTQ1JJUFRfQ1lSSUxM
SUMgfSwKLSAgICB7ICJuYSJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgIm5iIl9zLCBVU0NS
SVBUX0xBVElOIH0sCi0gICAgeyAibmUiX3MsIFVTQ1JJUFRfREVWQU5BR0FSSSB9LAotICAgIHsg
Im5pdSJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgIm5sIl9zLCBVU0NSSVBUX0xBVElOIH0s
Ci0gICAgeyAibm4iX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJuciJfcywgVVNDUklQVF9M
QVRJTiB9LAotICAgIHsgIm5zbyJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgIm55Il9zLCBV
U0NSSVBUX0xBVElOIH0sCi0gICAgeyAib2MiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJv
bSJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgIm9yIl9zLCBVU0NSSVBUX09SSVlBIH0sCi0g
ICAgeyAib3MiX3MsIFVTQ1JJUFRfQ1lSSUxMSUMgfSwKLSAgICB7ICJwYSJfcywgVVNDUklQVF9H
VVJNVUtISSB9LAotICAgIHsgInBhZyJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgInBhcCJf
cywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgInBhdSJfcywgVVNDUklQVF9MQVRJTiB9LAotICAg
IHsgInBsIl9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAicG9uIl9zLCBVU0NSSVBUX0xBVElO
IH0sCi0gICAgeyAicHMiX3MsIFVTQ1JJUFRfQVJBQklDIH0sCi0gICAgeyAicHQiX3MsIFVTQ1JJ
UFRfTEFUSU4gfSwKLSAgICB7ICJxdSJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgInJtIl9z
LCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAicm4iX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7
ICJybyJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgInJ1Il9zLCBVU0NSSVBUX0NZUklMTElD
IH0sCi0gICAgeyAicnciX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJzYSJfcywgVVNDUklQ
VF9ERVZBTkFHQVJJIH0sCi0gICAgeyAic2FoIl9zLCBVU0NSSVBUX0NZUklMTElDIH0sCi0gICAg
eyAic2F0Il9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAic2QiX3MsIFVTQ1JJUFRfQVJBQklD
IH0sCi0gICAgeyAic2UiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJzZyJfcywgVVNDUklQ
VF9MQVRJTiB9LAotICAgIHsgInNpIl9zLCBVU0NSSVBUX1NJTkhBTEEgfSwKLSAgICB7ICJzaWQi
X3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJzayJfcywgVVNDUklQVF9MQVRJTiB9LAotICAg
IHsgInNsIl9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAic20iX3MsIFVTQ1JJUFRfTEFUSU4g
fSwKLSAgICB7ICJzbyJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgInNxIl9zLCBVU0NSSVBU
X0xBVElOIH0sCi0gICAgeyAic3IiX3MsIFVTQ1JJUFRfQ1lSSUxMSUMgfSwKLSAgICB7ICJzcyJf
cywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgInN0Il9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAg
eyAic3UiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJzdiJfcywgVVNDUklQVF9MQVRJTiB9
LAotICAgIHsgInN3Il9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAidGEiX3MsIFVTQ1JJUFRf
VEFNSUwgfSwKLSAgICB7ICJ0ZSJfcywgVVNDUklQVF9URUxVR1UgfSwKLSAgICB7ICJ0ZXQiX3Ms
IFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJ0ZyJfcywgVVNDUklQVF9DWVJJTExJQyB9LAotICAg
IHsgInRoIl9zLCBVU0NSSVBUX1RIQUkgfSwKLSAgICB7ICJ0aSJfcywgVVNDUklQVF9FVEhJT1BJ
QyB9LAotICAgIHsgInRpZyJfcywgVVNDUklQVF9FVEhJT1BJQyB9LAotICAgIHsgInRrIl9zLCBV
U0NSSVBUX0xBVElOIH0sCi0gICAgeyAidGtsIl9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAi
dGwiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJ0biJfcywgVVNDUklQVF9MQVRJTiB9LAot
ICAgIHsgInRvIl9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAidHBpIl9zLCBVU0NSSVBUX0xB
VElOIH0sCi0gICAgeyAidHIiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJ0cnYiX3MsIFVT
Q1JJUFRfTEFUSU4gfSwKLSAgICB7ICJ0cyJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgInR0
Il9zLCBVU0NSSVBUX0NZUklMTElDIH0sCi0gICAgeyAidHZsIl9zLCBVU0NSSVBUX0xBVElOIH0s
Ci0gICAgeyAidHciX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJ0eSJfcywgVVNDUklQVF9M
QVRJTiB9LAotICAgIHsgInR5diJfcywgVVNDUklQVF9DWVJJTExJQyB9LAotICAgIHsgInVkbSJf
cywgVVNDUklQVF9DWVJJTExJQyB9LAotICAgIHsgInVnIl9zLCBVU0NSSVBUX0FSQUJJQyB9LAot
ICAgIHsgInVrIl9zLCBVU0NSSVBUX0NZUklMTElDIH0sCi0gICAgeyAidW5kIl9zLCBVU0NSSVBU
X0xBVElOIH0sCi0gICAgeyAidXIiX3MsIFVTQ1JJUFRfQVJBQklDIH0sCi0gICAgeyAidXoiX3Ms
IFVTQ1JJUFRfQ1lSSUxMSUMgfSwKLSAgICB7ICJ2ZSJfcywgVVNDUklQVF9MQVRJTiB9LAotICAg
IHsgInZpIl9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAid2FsIl9zLCBVU0NSSVBUX0VUSElP
UElDIH0sCi0gICAgeyAid2FyIl9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAid28iX3MsIFVT
Q1JJUFRfTEFUSU4gfSwKLSAgICB7ICJ4aCJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgInlh
cCJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgInlvIl9zLCBVU0NSSVBUX0xBVElOIH0sCi0g
ICAgeyAiemEiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJ6aCJfcywgVVNDUklQVF9IQU4g
fSwKLSAgICB7ICJ6aF9oayJfcywgVVNDUklQVF9UUkFESVRJT05BTF9IQU4gfSwKLSAgICB7ICJ6
aF90dyJfcywgVVNDUklQVF9UUkFESVRJT05BTF9IQU4gfSwKLSAgICB7ICJ6dSJfcywgVVNDUklQ
VF9MQVRJTiB9Ci19OwotCi1zdHJ1Y3QgTG9jYWxlU2NyaXB0TWFwSGFzaFRyYWl0cyA6IHB1Ymxp
YyBIYXNoVHJhaXRzPFN0cmluZz4gewotICAgIHN0YXRpYyBjb25zdCBpbnQgbWluaW11bVRhYmxl
U2l6ZSA9IFdURjo6SGFzaFRhYmxlQ2FwYWNpdHlGb3JTaXplPFdURl9BUlJBWV9MRU5HVEgobG9j
YWxlU2NyaXB0TGlzdCk+Ojp2YWx1ZTsKLX07Ci0KIFVTY3JpcHRDb2RlIGxvY2FsZVRvU2NyaXB0
Q29kZUZvckZvbnRTZWxlY3Rpb24oY29uc3QgU3RyaW5nJiBsb2NhbGUpCiB7Ci0gICAgc3RhdGlj
IGNvbnN0IGF1dG8gbG9jYWxlU2NyaXB0TWFwID0gbWFrZU5ldmVyRGVzdHJveWVkKFtdIHsKLSAg
ICAgICAgSGFzaE1hcDxTdHJpbmcsIFVTY3JpcHRDb2RlLCBBU0NJSUNhc2VJbnNlbnNpdGl2ZUhh
c2gsIExvY2FsZVNjcmlwdE1hcEhhc2hUcmFpdHM+IG1hcDsKLSAgICAgICAgZm9yIChhdXRvJiBs
b2NhbGVBbmRTY3JpcHQgOiBsb2NhbGVTY3JpcHRMaXN0KQotICAgICAgICAgICAgbWFwLmFkZChs
b2NhbGVBbmRTY3JpcHQubG9jYWxlLCBsb2NhbGVBbmRTY3JpcHQuc2NyaXB0KTsKLSAgICAgICAg
cmV0dXJuIG1hcDsKLSAgICB9KCkpOworICAgIHN0YXRpYyBjb25zdGV4cHIgTG9jYWxlU2NyaXB0
IGxvY2FsZVNjcmlwdExpc3RbXSA9IHsKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29k
ZTxMb2NhbGVOYW1lPigiYWEiKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlQ29u
c3RhbnRTY3JpcHRDb2RlPExvY2FsZU5hbWU+KCJhYiIpLCBVU0NSSVBUX0NZUklMTElDIH0sCisg
ICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8TG9jYWxlTmFtZT4oImFkeSIpLCBVU0NS
SVBUX0NZUklMTElDIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8TG9jYWxl
TmFtZT4oImFmIiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2Ny
aXB0Q29kZTxMb2NhbGVOYW1lPigiYWsiKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBh
cnNlQ29uc3RhbnRTY3JpcHRDb2RlPExvY2FsZU5hbWU+KCJhbSIpLCBVU0NSSVBUX0VUSElPUElD
IH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8TG9jYWxlTmFtZT4oImFyIiks
IFVTQ1JJUFRfQVJBQklDIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8TG9j
YWxlTmFtZT4oImFzIiksIFVTQ1JJUFRfQkVOR0FMSSB9LAorICAgICAgICB7IHBhcnNlQ29uc3Rh
bnRTY3JpcHRDb2RlPExvY2FsZU5hbWU+KCJhc3QiKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAg
ICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPExvY2FsZU5hbWU+KCJhdiIpLCBVU0NSSVBUX0NZ
UklMTElDIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8TG9jYWxlTmFtZT4o
ImF5IiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29k
ZTxMb2NhbGVOYW1lPigiYXoiKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlQ29u
c3RhbnRTY3JpcHRDb2RlPExvY2FsZU5hbWU+KCJiYSIpLCBVU0NSSVBUX0NZUklMTElDIH0sCisg
ICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8TG9jYWxlTmFtZT4oImJlIiksIFVTQ1JJ
UFRfQ1lSSUxMSUMgfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxMb2NhbGVO
YW1lPigiYmciKSwgVVNDUklQVF9DWVJJTExJQyB9LAorICAgICAgICB7IHBhcnNlQ29uc3RhbnRT
Y3JpcHRDb2RlPExvY2FsZU5hbWU+KCJiaSIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsg
cGFyc2VDb25zdGFudFNjcmlwdENvZGU8TG9jYWxlTmFtZT4oImJuIiksIFVTQ1JJUFRfQkVOR0FM
SSB9LAorICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPExvY2FsZU5hbWU+KCJibyIp
LCBVU0NSSVBUX1RJQkVUQU4gfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxM
b2NhbGVOYW1lPigiYnMiKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlQ29uc3Rh
bnRTY3JpcHRDb2RlPExvY2FsZU5hbWU+KCJjYSIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAg
IHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8TG9jYWxlTmFtZT4oImNlIiksIFVTQ1JJUFRfQ1lS
SUxMSUMgfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxMb2NhbGVOYW1lPigi
Y2ViIiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29k
ZTxMb2NhbGVOYW1lPigiY2giKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlQ29u
c3RhbnRTY3JpcHRDb2RlPExvY2FsZU5hbWU+KCJjaGsiKSwgVVNDUklQVF9MQVRJTiB9LAorICAg
ICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPExvY2FsZU5hbWU+KCJjcyIpLCBVU0NSSVBU
X0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8TG9jYWxlTmFtZT4o
ImN5IiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29k
ZTxMb2NhbGVOYW1lPigiZGEiKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlQ29u
c3RhbnRTY3JpcHRDb2RlPExvY2FsZU5hbWU+KCJkZSIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAg
ICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8TG9jYWxlTmFtZT4oImR2IiksIFVTQ1JJUFRf
VEhBQU5BIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8TG9jYWxlTmFtZT4o
ImR6IiksIFVTQ1JJUFRfVElCRVRBTiB9LAorICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRD
b2RlPExvY2FsZU5hbWU+KCJlZSIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VD
b25zdGFudFNjcmlwdENvZGU8TG9jYWxlTmFtZT4oImVmaSIpLCBVU0NSSVBUX0xBVElOIH0sCisg
ICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8TG9jYWxlTmFtZT4oImVsIiksIFVTQ1JJ
UFRfR1JFRUsgfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxMb2NhbGVOYW1l
PigiZW4iKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRD
b2RlPExvY2FsZU5hbWU+KCJlcyIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VD
b25zdGFudFNjcmlwdENvZGU8TG9jYWxlTmFtZT4oImV0IiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAg
ICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxMb2NhbGVOYW1lPigiZXUiKSwgVVNDUklQ
VF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPExvY2FsZU5hbWU+
KCJmYSIpLCBVU0NSSVBUX0FSQUJJQyB9LAorICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRD
b2RlPExvY2FsZU5hbWU+KCJmaSIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VD
b25zdGFudFNjcmlwdENvZGU8TG9jYWxlTmFtZT4oImZpbCIpLCBVU0NSSVBUX0xBVElOIH0sCisg
ICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8TG9jYWxlTmFtZT4oImZqIiksIFVTQ1JJ
UFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxMb2NhbGVOYW1l
PigiZm8iKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRD
b2RlPExvY2FsZU5hbWU+KCJmciIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VD
b25zdGFudFNjcmlwdENvZGU8TG9jYWxlTmFtZT4oImZ1ciIpLCBVU0NSSVBUX0xBVElOIH0sCisg
ICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8TG9jYWxlTmFtZT4oImZ5IiksIFVTQ1JJ
UFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxMb2NhbGVOYW1l
PigiZ2EiKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRD
b2RlPExvY2FsZU5hbWU+KCJnYWEiKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNl
Q29uc3RhbnRTY3JpcHRDb2RlPExvY2FsZU5hbWU+KCJnZCIpLCBVU0NSSVBUX0xBVElOIH0sCisg
ICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8TG9jYWxlTmFtZT4oImdpbCIpLCBVU0NS
SVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8TG9jYWxlTmFt
ZT4oImdsIiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0
Q29kZTxMb2NhbGVOYW1lPigiZ24iKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNl
Q29uc3RhbnRTY3JpcHRDb2RlPExvY2FsZU5hbWU+KCJnc3ciKSwgVVNDUklQVF9MQVRJTiB9LAor
ICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPExvY2FsZU5hbWU+KCJndSIpLCBVU0NS
SVBUX0dVSkFSQVRJIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8TG9jYWxl
TmFtZT4oImhhIiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2Ny
aXB0Q29kZTxMb2NhbGVOYW1lPigiaGF3IiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBw
YXJzZUNvbnN0YW50U2NyaXB0Q29kZTxMb2NhbGVOYW1lPigiaGUiKSwgVVNDUklQVF9IRUJSRVcg
fSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxMb2NhbGVOYW1lPigiaGkiKSwg
VVNDUklQVF9ERVZBTkFHQVJJIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8
TG9jYWxlTmFtZT4oImhpbCIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VDb25z
dGFudFNjcmlwdENvZGU8TG9jYWxlTmFtZT4oImhvIiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAg
ICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxMb2NhbGVOYW1lPigiaHIiKSwgVVNDUklQVF9M
QVRJTiB9LAorICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPExvY2FsZU5hbWU+KCJo
dCIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8
TG9jYWxlTmFtZT4oImh1IiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0
YW50U2NyaXB0Q29kZTxMb2NhbGVOYW1lPigiaHkiKSwgVVNDUklQVF9BUk1FTklBTiB9LAorICAg
ICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPExvY2FsZU5hbWU+KCJpZCIpLCBVU0NSSVBU
X0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8TG9jYWxlTmFtZT4o
ImlnIiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29k
ZTxMb2NhbGVOYW1lPigiaWkiKSwgVVNDUklQVF9ZSSB9LAorICAgICAgICB7IHBhcnNlQ29uc3Rh
bnRTY3JpcHRDb2RlPExvY2FsZU5hbWU+KCJpbG8iKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAg
ICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPExvY2FsZU5hbWU+KCJpbmgiKSwgVVNDUklQVF9D
WVJJTExJQyB9LAorICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPExvY2FsZU5hbWU+
KCJpcyIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENv
ZGU8TG9jYWxlTmFtZT4oIml0IiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUNv
bnN0YW50U2NyaXB0Q29kZTxMb2NhbGVOYW1lPigiaXUiKSwgVVNDUklQVF9DQU5BRElBTl9BQk9S
SUdJTkFMIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8TG9jYWxlTmFtZT4o
ImphIiksIFVTQ1JJUFRfS0FUQUtBTkFfT1JfSElSQUdBTkEgfSwKKyAgICAgICAgeyBwYXJzZUNv
bnN0YW50U2NyaXB0Q29kZTxMb2NhbGVOYW1lPigianYiKSwgVVNDUklQVF9MQVRJTiB9LAorICAg
ICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPExvY2FsZU5hbWU+KCJrYSIpLCBVU0NSSVBU
X0dFT1JHSUFOIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8TG9jYWxlTmFt
ZT4oImthaiIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlw
dENvZGU8TG9jYWxlTmFtZT4oImthbSIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFy
c2VDb25zdGFudFNjcmlwdENvZGU8TG9jYWxlTmFtZT4oImtiZCIpLCBVU0NSSVBUX0NZUklMTElD
IH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8TG9jYWxlTmFtZT4oImtoYSIp
LCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8TG9j
YWxlTmFtZT4oImtrIiksIFVTQ1JJUFRfQ1lSSUxMSUMgfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0
YW50U2NyaXB0Q29kZTxMb2NhbGVOYW1lPigia2wiKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAg
ICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPExvY2FsZU5hbWU+KCJrbSIpLCBVU0NSSVBUX0tI
TUVSIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8TG9jYWxlTmFtZT4oImtu
IiksIFVTQ1JJUFRfS0FOTkFEQSB9LAorICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2Rl
PExvY2FsZU5hbWU+KCJrbyIpLCBVU0NSSVBUX0hBTkdVTCB9LAorICAgICAgICB7IHBhcnNlQ29u
c3RhbnRTY3JpcHRDb2RlPExvY2FsZU5hbWU+KCJrb2siKSwgVVNDUklQVF9ERVZBTkFHQVJJIH0s
CisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8TG9jYWxlTmFtZT4oImtvcyIpLCBV
U0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8TG9jYWxl
TmFtZT4oImtwZSIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNj
cmlwdENvZGU8TG9jYWxlTmFtZT4oImtyYyIpLCBVU0NSSVBUX0NZUklMTElDIH0sCisgICAgICAg
IHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8TG9jYWxlTmFtZT4oImtzIiksIFVTQ1JJUFRfQVJB
QklDIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8TG9jYWxlTmFtZT4oImt1
IiksIFVTQ1JJUFRfQVJBQklDIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8
TG9jYWxlTmFtZT4oImt1bSIpLCBVU0NSSVBUX0NZUklMTElDIH0sCisgICAgICAgIHsgcGFyc2VD
b25zdGFudFNjcmlwdENvZGU8TG9jYWxlTmFtZT4oImt5IiksIFVTQ1JJUFRfQ1lSSUxMSUMgfSwK
KyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxMb2NhbGVOYW1lPigibGEiKSwgVVND
UklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPExvY2FsZU5h
bWU+KCJsYWgiKSwgVVNDUklQVF9BUkFCSUMgfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2Ny
aXB0Q29kZTxMb2NhbGVOYW1lPigibGIiKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBh
cnNlQ29uc3RhbnRTY3JpcHRDb2RlPExvY2FsZU5hbWU+KCJsZXoiKSwgVVNDUklQVF9DWVJJTExJ
QyB9LAorICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPExvY2FsZU5hbWU+KCJsbiIp
LCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8TG9j
YWxlTmFtZT4oImxvIiksIFVTQ1JJUFRfTEFPIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNj
cmlwdENvZGU8TG9jYWxlTmFtZT4oImx0IiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBw
YXJzZUNvbnN0YW50U2NyaXB0Q29kZTxMb2NhbGVOYW1lPigibHYiKSwgVVNDUklQVF9MQVRJTiB9
LAorICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPExvY2FsZU5hbWU+KCJtYWkiKSwg
VVNDUklQVF9ERVZBTkFHQVJJIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8
TG9jYWxlTmFtZT4oIm1kZiIpLCBVU0NSSVBUX0NZUklMTElDIH0sCisgICAgICAgIHsgcGFyc2VD
b25zdGFudFNjcmlwdENvZGU8TG9jYWxlTmFtZT4oIm1nIiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAg
ICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxMb2NhbGVOYW1lPigibWgiKSwgVVNDUklQ
VF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPExvY2FsZU5hbWU+
KCJtaSIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENv
ZGU8TG9jYWxlTmFtZT4oIm1rIiksIFVTQ1JJUFRfQ1lSSUxMSUMgfSwKKyAgICAgICAgeyBwYXJz
ZUNvbnN0YW50U2NyaXB0Q29kZTxMb2NhbGVOYW1lPigibWwiKSwgVVNDUklQVF9NQUxBWUFMQU0g
fSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxMb2NhbGVOYW1lPigibW4iKSwg
VVNDUklQVF9DWVJJTExJQyB9LAorICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPExv
Y2FsZU5hbWU+KCJtciIpLCBVU0NSSVBUX0RFVkFOQUdBUkkgfSwKKyAgICAgICAgeyBwYXJzZUNv
bnN0YW50U2NyaXB0Q29kZTxMb2NhbGVOYW1lPigibXMiKSwgVVNDUklQVF9MQVRJTiB9LAorICAg
ICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPExvY2FsZU5hbWU+KCJtdCIpLCBVU0NSSVBU
X0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8TG9jYWxlTmFtZT4o
Im15IiksIFVTQ1JJUFRfTVlBTk1BUiB9LAorICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRD
b2RlPExvY2FsZU5hbWU+KCJteXYiKSwgVVNDUklQVF9DWVJJTExJQyB9LAorICAgICAgICB7IHBh
cnNlQ29uc3RhbnRTY3JpcHRDb2RlPExvY2FsZU5hbWU+KCJuYSIpLCBVU0NSSVBUX0xBVElOIH0s
CisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8TG9jYWxlTmFtZT4oIm5iIiksIFVT
Q1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxMb2NhbGVO
YW1lPigibmUiKSwgVVNDUklQVF9ERVZBTkFHQVJJIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFu
dFNjcmlwdENvZGU8TG9jYWxlTmFtZT4oIm5pdSIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAg
IHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8TG9jYWxlTmFtZT4oIm5sIiksIFVTQ1JJUFRfTEFU
SU4gfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxMb2NhbGVOYW1lPigibm4i
KSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPExv
Y2FsZU5hbWU+KCJuciIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFu
dFNjcmlwdENvZGU8TG9jYWxlTmFtZT4oIm5zbyIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAg
IHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8TG9jYWxlTmFtZT4oIm55IiksIFVTQ1JJUFRfTEFU
SU4gfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxMb2NhbGVOYW1lPigib2Mi
KSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPExv
Y2FsZU5hbWU+KCJvbSIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFu
dFNjcmlwdENvZGU8TG9jYWxlTmFtZT4oIm9yIiksIFVTQ1JJUFRfT1JJWUEgfSwKKyAgICAgICAg
eyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxMb2NhbGVOYW1lPigib3MiKSwgVVNDUklQVF9DWVJJ
TExJQyB9LAorICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPExvY2FsZU5hbWU+KCJw
YSIpLCBVU0NSSVBUX0dVUk1VS0hJIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENv
ZGU8TG9jYWxlTmFtZT4oInBhZyIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VD
b25zdGFudFNjcmlwdENvZGU8TG9jYWxlTmFtZT4oInBhcCIpLCBVU0NSSVBUX0xBVElOIH0sCisg
ICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8TG9jYWxlTmFtZT4oInBhdSIpLCBVU0NS
SVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8TG9jYWxlTmFt
ZT4oInBsIiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0
Q29kZTxMb2NhbGVOYW1lPigicG9uIiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJz
ZUNvbnN0YW50U2NyaXB0Q29kZTxMb2NhbGVOYW1lPigicHMiKSwgVVNDUklQVF9BUkFCSUMgfSwK
KyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxMb2NhbGVOYW1lPigicHQiKSwgVVND
UklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPExvY2FsZU5h
bWU+KCJxdSIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlw
dENvZGU8TG9jYWxlTmFtZT4oInJtIiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJz
ZUNvbnN0YW50U2NyaXB0Q29kZTxMb2NhbGVOYW1lPigicm4iKSwgVVNDUklQVF9MQVRJTiB9LAor
ICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPExvY2FsZU5hbWU+KCJybyIpLCBVU0NS
SVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8TG9jYWxlTmFt
ZT4oInJ1IiksIFVTQ1JJUFRfQ1lSSUxMSUMgfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2Ny
aXB0Q29kZTxMb2NhbGVOYW1lPigicnciKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBh
cnNlQ29uc3RhbnRTY3JpcHRDb2RlPExvY2FsZU5hbWU+KCJzYSIpLCBVU0NSSVBUX0RFVkFOQUdB
UkkgfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxMb2NhbGVOYW1lPigic2Fo
IiksIFVTQ1JJUFRfQ1lSSUxMSUMgfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29k
ZTxMb2NhbGVOYW1lPigic2F0IiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUNv
bnN0YW50U2NyaXB0Q29kZTxMb2NhbGVOYW1lPigic2QiKSwgVVNDUklQVF9BUkFCSUMgfSwKKyAg
ICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxMb2NhbGVOYW1lPigic2UiKSwgVVNDUklQ
VF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPExvY2FsZU5hbWU+
KCJzZyIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENv
ZGU8TG9jYWxlTmFtZT4oInNpIiksIFVTQ1JJUFRfU0lOSEFMQSB9LAorICAgICAgICB7IHBhcnNl
Q29uc3RhbnRTY3JpcHRDb2RlPExvY2FsZU5hbWU+KCJzaWQiKSwgVVNDUklQVF9MQVRJTiB9LAor
ICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPExvY2FsZU5hbWU+KCJzayIpLCBVU0NS
SVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8TG9jYWxlTmFt
ZT4oInNsIiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0
Q29kZTxMb2NhbGVOYW1lPigic20iKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNl
Q29uc3RhbnRTY3JpcHRDb2RlPExvY2FsZU5hbWU+KCJzbyIpLCBVU0NSSVBUX0xBVElOIH0sCisg
ICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8TG9jYWxlTmFtZT4oInNxIiksIFVTQ1JJ
UFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxMb2NhbGVOYW1l
Pigic3IiKSwgVVNDUklQVF9DWVJJTExJQyB9LAorICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3Jp
cHRDb2RlPExvY2FsZU5hbWU+KCJzcyIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFy
c2VDb25zdGFudFNjcmlwdENvZGU8TG9jYWxlTmFtZT4oInN0IiksIFVTQ1JJUFRfTEFUSU4gfSwK
KyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxMb2NhbGVOYW1lPigic3UiKSwgVVND
UklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPExvY2FsZU5h
bWU+KCJzdiIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlw
dENvZGU8TG9jYWxlTmFtZT4oInN3IiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJz
ZUNvbnN0YW50U2NyaXB0Q29kZTxMb2NhbGVOYW1lPigidGEiKSwgVVNDUklQVF9UQU1JTCB9LAor
ICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPExvY2FsZU5hbWU+KCJ0ZSIpLCBVU0NS
SVBUX1RFTFVHVSB9LAorICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPExvY2FsZU5h
bWU+KCJ0ZXQiKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3Jp
cHRDb2RlPExvY2FsZU5hbWU+KCJ0ZyIpLCBVU0NSSVBUX0NZUklMTElDIH0sCisgICAgICAgIHsg
cGFyc2VDb25zdGFudFNjcmlwdENvZGU8TG9jYWxlTmFtZT4oInRoIiksIFVTQ1JJUFRfVEhBSSB9
LAorICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPExvY2FsZU5hbWU+KCJ0aSIpLCBV
U0NSSVBUX0VUSElPUElDIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8TG9j
YWxlTmFtZT4oInRpZyIpLCBVU0NSSVBUX0VUSElPUElDIH0sCisgICAgICAgIHsgcGFyc2VDb25z
dGFudFNjcmlwdENvZGU8TG9jYWxlTmFtZT4oInRrIiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAg
ICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxMb2NhbGVOYW1lPigidGtsIiksIFVTQ1JJUFRf
TEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxMb2NhbGVOYW1lPigi
dGwiKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2Rl
PExvY2FsZU5hbWU+KCJ0biIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VDb25z
dGFudFNjcmlwdENvZGU8TG9jYWxlTmFtZT4oInRvIiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAg
ICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxMb2NhbGVOYW1lPigidHBpIiksIFVTQ1JJUFRf
TEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxMb2NhbGVOYW1lPigi
dHIiKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2Rl
PExvY2FsZU5hbWU+KCJ0cnYiKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlQ29u
c3RhbnRTY3JpcHRDb2RlPExvY2FsZU5hbWU+KCJ0cyIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAg
ICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8TG9jYWxlTmFtZT4oInR0IiksIFVTQ1JJUFRf
Q1lSSUxMSUMgfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxMb2NhbGVOYW1l
PigidHZsIiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0
Q29kZTxMb2NhbGVOYW1lPigidHciKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNl
Q29uc3RhbnRTY3JpcHRDb2RlPExvY2FsZU5hbWU+KCJ0eSIpLCBVU0NSSVBUX0xBVElOIH0sCisg
ICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8TG9jYWxlTmFtZT4oInR5diIpLCBVU0NS
SVBUX0NZUklMTElDIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8TG9jYWxl
TmFtZT4oInVkbSIpLCBVU0NSSVBUX0NZUklMTElDIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFu
dFNjcmlwdENvZGU8TG9jYWxlTmFtZT4oInVnIiksIFVTQ1JJUFRfQVJBQklDIH0sCisgICAgICAg
IHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8TG9jYWxlTmFtZT4oInVrIiksIFVTQ1JJUFRfQ1lS
SUxMSUMgfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxMb2NhbGVOYW1lPigi
dW5kIiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29k
ZTxMb2NhbGVOYW1lPigidXIiKSwgVVNDUklQVF9BUkFCSUMgfSwKKyAgICAgICAgeyBwYXJzZUNv
bnN0YW50U2NyaXB0Q29kZTxMb2NhbGVOYW1lPigidXoiKSwgVVNDUklQVF9DWVJJTExJQyB9LAor
ICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPExvY2FsZU5hbWU+KCJ2ZSIpLCBVU0NS
SVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8TG9jYWxlTmFt
ZT4oInZpIiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0
Q29kZTxMb2NhbGVOYW1lPigid2FsIiksIFVTQ1JJUFRfRVRISU9QSUMgfSwKKyAgICAgICAgeyBw
YXJzZUNvbnN0YW50U2NyaXB0Q29kZTxMb2NhbGVOYW1lPigid2FyIiksIFVTQ1JJUFRfTEFUSU4g
fSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxMb2NhbGVOYW1lPigid28iKSwg
VVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPExvY2Fs
ZU5hbWU+KCJ4aCIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNj
cmlwdENvZGU8TG9jYWxlTmFtZT4oInlhcCIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsg
cGFyc2VDb25zdGFudFNjcmlwdENvZGU8TG9jYWxlTmFtZT4oInlvIiksIFVTQ1JJUFRfTEFUSU4g
fSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxMb2NhbGVOYW1lPigiemEiKSwg
VVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPExvY2Fs
ZU5hbWU+KCJ6aCIpLCBVU0NSSVBUX0hBTiB9LAorICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3Jp
cHRDb2RlPExvY2FsZU5hbWU+KCJ6aF9oayIpLCBVU0NSSVBUX1RSQURJVElPTkFMX0hBTiB9LAor
ICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPExvY2FsZU5hbWU+KCJ6aF90dyIpLCBV
U0NSSVBUX1RSQURJVElPTkFMX0hBTiB9LAorICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRD
b2RlPExvY2FsZU5hbWU+KCJ6dSIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgfTsKKworICAgIHN0
YXRpY19hc3NlcnQocGFyc2VDb25zdGFudFNjcmlwdENvZGU8TG9jYWxlTmFtZT4oImFhIikgPT0g
MHg2MTYxMDAwMDAwMDAwMDAwVUxMKTsKKyAgICBzdGF0aWNfYXNzZXJ0KHBhcnNlQ29uc3RhbnRT
Y3JpcHRDb2RlPExvY2FsZU5hbWU+KCJ6aF90dyIpID09IDB4N2E2ODVmNzQ3NzAwMDAwMFVMTCk7
CisKKyAgICBBU1NFUlQoCisgICAgICAgIHN0ZDo6aXNfc29ydGVkKHN0ZDo6YmVnaW4obG9jYWxl
U2NyaXB0TGlzdCksIHN0ZDo6ZW5kKGxvY2FsZVNjcmlwdExpc3QpLAorICAgICAgICAgICAgW10o
Y29uc3QgTG9jYWxlU2NyaXB0JiBhLCBjb25zdCBMb2NhbGVTY3JpcHQmIGIpIHsKKyAgICAgICAg
ICAgICAgICByZXR1cm4gYS5sb2NhbGUgPCBiLmxvY2FsZTsKKyAgICAgICAgICAgIH0pKTsKKwor
ICAgIGF1dG8gdHJ5RmluZFNjcmlwdENvZGUgPSBbJl0gKGNvbnN0IFN0cmluZyYgc3RyaW5nKSAt
PiBPcHRpb25hbDxVU2NyaXB0Q29kZT4geworICAgICAgICBhdXRvIGxvY2FsZU5hbWUgPSBwYXJz
ZVNjcmlwdENvZGU8TG9jYWxlTmFtZT4oc3RyaW5nKTsKKyAgICAgICAgaWYgKCFsb2NhbGVOYW1l
KQorICAgICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKworICAgICAgICBhdXRvKiBlbGVt
ZW50ID0gdHJ5QmluYXJ5U2VhcmNoPExvY2FsZVNjcmlwdD4obG9jYWxlU2NyaXB0TGlzdCwgc3Rk
OjpzaXplKGxvY2FsZVNjcmlwdExpc3QpLCBsb2NhbGVOYW1lLnZhbHVlKCksCisgICAgICAgICAg
ICBbXShjb25zdCBMb2NhbGVTY3JpcHQqIGxvY2FsZVNjcmlwdCkgeworICAgICAgICAgICAgICAg
IHJldHVybiBsb2NhbGVTY3JpcHQtPmxvY2FsZTsKKyAgICAgICAgICAgIH0pOworICAgICAgICBp
ZiAoZWxlbWVudCkKKyAgICAgICAgICAgIHJldHVybiBlbGVtZW50LT5zY3JpcHQ7CisgICAgICAg
IHJldHVybiBXVEY6Om51bGxvcHQ7CisgICAgfTsKIAogICAgIFN0cmluZyBjYW5vbmljYWxMb2Nh
bGUgPSBsb2NhbGU7CiAgICAgY2Fub25pY2FsTG9jYWxlLnJlcGxhY2UoJy0nLCAnXycpOwogICAg
IHdoaWxlICghY2Fub25pY2FsTG9jYWxlLmlzRW1wdHkoKSkgewotICAgICAgICBhdXRvIGl0ID0g
bG9jYWxlU2NyaXB0TWFwLmdldCgpLmZpbmQoY2Fub25pY2FsTG9jYWxlKTsKLSAgICAgICAgaWYg
KGl0ICE9IGxvY2FsZVNjcmlwdE1hcC5nZXQoKS5lbmQoKSkKLSAgICAgICAgICAgIHJldHVybiBp
dC0+dmFsdWU7CisgICAgICAgIGlmIChhdXRvIHNjcmlwdENvZGUgPSB0cnlGaW5kU2NyaXB0Q29k
ZShjYW5vbmljYWxMb2NhbGUpKQorICAgICAgICAgICAgcmV0dXJuIHNjcmlwdENvZGUudmFsdWUo
KTsKICAgICAgICAgYXV0byB1bmRlcnNjb3JlUG9zaXRpb24gPSBjYW5vbmljYWxMb2NhbGUucmV2
ZXJzZUZpbmQoJ18nKTsKICAgICAgICAgaWYgKHVuZGVyc2NvcmVQb3NpdGlvbiA9PSBub3RGb3Vu
ZCkKICAgICAgICAgICAgIGJyZWFrOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>426368</attachid>
            <date>2021-04-17 22:27:30 -0700</date>
            <delta_ts>2021-04-17 22:27:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224727-20210417222729.patch</filename>
            <type>text/plain</type>
            <size>41291</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc2MjE3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjg2YWYzN2I3YTJlYWY3
NDA2OTNiYWNhZGFkODQyMTAwYWUyNWUxOS4uY2E3OGE4NDVmYThkZDhlMGVkYzRmZmU0YTdiZmMx
MDJjZTU5ODk0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDIxLTA0LTE3ICBZdXN1
a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CisKKyAgICAgICAgVXNlIGJpbmFyeS1zZWFy
Y2ggaW4gTG9jYWxlVG9TY3JpcHRNYXBwaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMjQ3MjcKKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBB
ZGxlci4KKworICAgICAgICBUaGlzIHBhdGNoIHJlbW92ZXMgSGFzaE1hcHMgaW4gTG9jYWxlVG9T
Y3JpcHRNYXBwaW5nLCBhbmQgYmluYXJ5LXNlYXJjaCBvbnRvIHRoZSBjb25zdGFudCBkYXRhIGFy
cmF5cy4KKyAgICAgICAgVGhlc2UgbWFwcyBhcmUgbm90IGZyZXF1ZW50bHkgdXNlZC4gS2V5cyBv
ZiB0aGUgbWFwcyBjYW4gYmUgZW5jb2RlZCBpbnRvIHVpbnQzMl90IG9yIHVpbnQ2NF90IHNvIHRo
YXQKKyAgICAgICAgY29tcGFyaXNvbiBiZWNvbWVzIHN1cGVyIGNoZWFwIGFuZCB3ZSBjYW4gaW5p
dGlhbGl6ZSB0aGlzIGFycmF5IGF0IGNvbXBpbGUtdGltZS4KKworICAgICAgICBXZSBpbnRyb2R1
Y2UgU2NyaXB0TmFtZSh1aW50MzJfdCkgYW5kIExvY2FsZU5hbWUodWludDY0X3QpIGluc3RlYWQg
b2YgU3RyaW5nLiBBbmQgdWVzIGl0IGFuZCBnZW5lcmF0ZQorICAgICAgICBzb3J0ZWQgY29uc3Rh
bnQgZGF0YSBhcnJheSBmb3IgbWFwcGluZ3MuIFdlIHVzZSBiaW5hcnktc2VhcmNoIHRvIGxvb2sg
ZW50cnkgdXAuIFNpbmNlICMgb2YgZW50cmllcyBhcmUKKyAgICAgICAgbm90IGh1Z2UgKH4yMDAp
LCBjb21wYXJpc29ucyBhcmUgZXh0cmVtZWx5IGNoZWFwICh1aW50MzJfdCAvIHVpbnQ2NF90IGNv
bXBhcmlzb24pLCBhbmQgdGhpcyBpcyBub3QgYQorICAgICAgICBob3QgY29kZSwgd2UgY2FuIGp1
c3QgdXNlIGJpbmFyeS1zZWFyY2ggaGVyZSBhbmQgZWxpbWluYXRlIEhhc2hNYXBzJyBtZW1vcnkg
YWxsb2NhdGlvbi4KKworICAgICAgICAqIHBsYXRmb3JtL3RleHQvTG9jYWxlVG9TY3JpcHRNYXBw
aW5nLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlKToKKyAg
ICAgICAgKFdlYkNvcmU6OnBhcnNlU2NyaXB0Q29kZSk6CisgICAgICAgIChXZWJDb3JlOjpzY3Jp
cHROYW1lVG9Db2RlKToKKyAgICAgICAgKFdlYkNvcmU6OmxvY2FsZVRvU2NyaXB0Q29kZUZvckZv
bnRTZWxlY3Rpb24pOgorCiAyMDIxLTA0LTE3ICBUaW0gTmd1eWVuICA8bnRpbUBhcHBsZS5jb20+
CiAKICAgICAgICAgQWRkIHN1cHBvcnQgZm9yIGlubGluZS17c3RhcnQvZW5kfSB2YWx1ZXMgdG8g
ZmxvYXQgJiBjbGVhciBwcm9wZXJ0aWVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS90ZXh0L0xvY2FsZVRvU2NyaXB0TWFwcGluZy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS90ZXh0L0xvY2FsZVRvU2NyaXB0TWFwcGluZy5jcHAKaW5kZXggNDllMGVhYTdiZWI5YjMz
NTdjMTcwYmIwZTEyMDQ2MTI5NmQxYTM0ZC4uNGEzNzAzNTYxYmFjNzAzZmI1M2Y4MzAxYmFiMzQw
OWFiMTQxNDg0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9Mb2Nh
bGVUb1NjcmlwdE1hcHBpbmcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQv
TG9jYWxlVG9TY3JpcHRNYXBwaW5nLmNwcApAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmln
aHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdo
dCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlCkBAIC0zNywzNjggKzM4LDQxNCBAQAogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKLXN0cnVjdCBTY3JpcHROYW1lQ29kZSB7Ci0gICAgQVNDSUlMaXRlcmFsIG5h
bWU7Ci0gICAgVVNjcmlwdENvZGUgY29kZTsKLX07Cit0ZW1wbGF0ZTx0eXBlbmFtZSBSZXN1bHRU
eXBlLCB1bnNpZ25lZCBjaGFyYWN0ZXJDb3VudFBsdXNPbmU+CitzdGF0aWMgY29uc3RleHByIFJl
c3VsdFR5cGUgcGFyc2VDb25zdGFudFNjcmlwdENvZGUoY29uc3QgY2hhciAoJnN0cmluZylbY2hh
cmFjdGVyQ291bnRQbHVzT25lXSkKK3sKKyAgICBjb25zdGV4cHIgdW5zaWduZWQgbGVuZ3RoID0g
Y2hhcmFjdGVyQ291bnRQbHVzT25lIC0gMTsKKyAgICBBU1NFUlRfVU5ERVJfQ09OU1RFWFBSX0NP
TlRFWFQobGVuZ3RoIDw9IHNpemVvZihSZXN1bHRUeXBlKSk7CisgICAgUmVzdWx0VHlwZSByZXN1
bHQgPSAwOworICAgIGZvciAodW5zaWduZWQgaW5kZXggPSAwOyBpbmRleCA8IGxlbmd0aDsgKytp
bmRleCkgeworICAgICAgICB1aW50OF90IGNvZGUgPSBzdGF0aWNfY2FzdDx1aW50OF90PihzdHJp
bmdbaW5kZXhdKTsKKyAgICAgICAgcmVzdWx0IHw9IChzdGF0aWNfY2FzdDxSZXN1bHRUeXBlPihj
b2RlKSA8PCAoKHNpemVvZihSZXN1bHRUeXBlKSAtIGluZGV4IC0gMSkgKiA4KSk7CisgICAgfQor
ICAgIHJldHVybiByZXN1bHQ7Cit9CiAKLS8vIFRoaXMgZ2VuZXJhbGx5IG1hcHMgYW4gSVNPIDE1
OTI0IHNjcmlwdCBjb2RlIHRvIGl0cyBVU2NyaXB0Q29kZSwgYnV0IGNlcnRhaW4gZmFtaWxpZXMg
b2Ygc2NyaXB0IGNvZGVzIGFyZQotLy8gdHJlYXRlZCBhcyBhIHNpbmdsZSBzY3JpcHQgZm9yIGFz
c2lnbmluZyBhIHBlci1zY3JpcHQgZm9udCBpbiBTZXR0aW5ncy4gRm9yIGV4YW1wbGUsICJoaXJh
IiBpcyBtYXBwZWQgdG8KLS8vIFVTQ1JJUFRfS0FUQUtBTkFfT1JfSElSQUdBTkEgaW5zdGVhZCBv
ZiBVU0NSSVBUX0hJUkFHQU5BLCBzaW5jZSB3ZSB3YW50IGFsbCBKYXBhbmVzZSBzY3JpcHRzIHRv
IGJlIHJlbmRlcmVkCi0vLyB1c2luZyB0aGUgc2FtZSBmb250IHNldHRpbmcuCi1zdGF0aWMgY29u
c3QgU2NyaXB0TmFtZUNvZGUgc2NyaXB0TmFtZUNvZGVMaXN0W10gPSB7Ci0gICAgeyAienl5eSJf
cywgVVNDUklQVF9DT01NT04gfSwKLSAgICB7ICJxYWFpIl9zLCBVU0NSSVBUX0lOSEVSSVRFRCB9
LAotICAgIHsgImFyYWIiX3MsIFVTQ1JJUFRfQVJBQklDIH0sCi0gICAgeyAiYXJtbiJfcywgVVND
UklQVF9BUk1FTklBTiB9LAotICAgIHsgImJlbmciX3MsIFVTQ1JJUFRfQkVOR0FMSSB9LAotICAg
IHsgImJvcG8iX3MsIFVTQ1JJUFRfQk9QT01PRk8gfSwKLSAgICB7ICJjaGVyIl9zLCBVU0NSSVBU
X0NIRVJPS0VFIH0sCi0gICAgeyAiY29wdCJfcywgVVNDUklQVF9DT1BUSUMgfSwKLSAgICB7ICJj
eXJsIl9zLCBVU0NSSVBUX0NZUklMTElDIH0sCi0gICAgeyAiZHNydCJfcywgVVNDUklQVF9ERVNF
UkVUIH0sCi0gICAgeyAiZGV2YSJfcywgVVNDUklQVF9ERVZBTkFHQVJJIH0sCi0gICAgeyAiZXRo
aSJfcywgVVNDUklQVF9FVEhJT1BJQyB9LAotICAgIHsgImdlb3IiX3MsIFVTQ1JJUFRfR0VPUkdJ
QU4gfSwKLSAgICB7ICJnb3RoIl9zLCBVU0NSSVBUX0dPVEhJQyB9LAotICAgIHsgImdyZWsiX3Ms
IFVTQ1JJUFRfR1JFRUsgfSwKLSAgICB7ICJndWpyIl9zLCBVU0NSSVBUX0dVSkFSQVRJIH0sCi0g
ICAgeyAiZ3VydSJfcywgVVNDUklQVF9HVVJNVUtISSB9LAotICAgIHsgImhhbmkiX3MsIFVTQ1JJ
UFRfSEFOIH0sCi0gICAgeyAiaGFuZyJfcywgVVNDUklQVF9IQU5HVUwgfSwKLSAgICB7ICJoZWJy
Il9zLCBVU0NSSVBUX0hFQlJFVyB9LAotICAgIHsgImhpcmEiX3MsIFVTQ1JJUFRfS0FUQUtBTkFf
T1JfSElSQUdBTkEgfSwKLSAgICB7ICJrbmRhIl9zLCBVU0NSSVBUX0tBTk5BREEgfSwKLSAgICB7
ICJrYW5hIl9zLCBVU0NSSVBUX0tBVEFLQU5BX09SX0hJUkFHQU5BIH0sCi0gICAgeyAia2htciJf
cywgVVNDUklQVF9LSE1FUiB9LAotICAgIHsgImxhb28iX3MsIFVTQ1JJUFRfTEFPIH0sCi0gICAg
eyAibGF0biJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgIm1seW0iX3MsIFVTQ1JJUFRfTUFM
QVlBTEFNIH0sCi0gICAgeyAibW9uZyJfcywgVVNDUklQVF9NT05HT0xJQU4gfSwKLSAgICB7ICJt
eW1yIl9zLCBVU0NSSVBUX01ZQU5NQVIgfSwKLSAgICB7ICJvZ2FtIl9zLCBVU0NSSVBUX09HSEFN
IH0sCi0gICAgeyAiaXRhbCJfcywgVVNDUklQVF9PTERfSVRBTElDIH0sCi0gICAgeyAib3J5YSJf
cywgVVNDUklQVF9PUklZQSB9LAotICAgIHsgInJ1bnIiX3MsIFVTQ1JJUFRfUlVOSUMgfSwKLSAg
ICB7ICJzaW5oIl9zLCBVU0NSSVBUX1NJTkhBTEEgfSwKLSAgICB7ICJzeXJjIl9zLCBVU0NSSVBU
X1NZUklBQyB9LAotICAgIHsgInRhbWwiX3MsIFVTQ1JJUFRfVEFNSUwgfSwKLSAgICB7ICJ0ZWx1
Il9zLCBVU0NSSVBUX1RFTFVHVSB9LAotICAgIHsgInRoYWEiX3MsIFVTQ1JJUFRfVEhBQU5BIH0s
Ci0gICAgeyAidGhhaSJfcywgVVNDUklQVF9USEFJIH0sCi0gICAgeyAidGlidCJfcywgVVNDUklQ
VF9USUJFVEFOIH0sCi0gICAgeyAiY2FucyJfcywgVVNDUklQVF9DQU5BRElBTl9BQk9SSUdJTkFM
IH0sCi0gICAgeyAieWlpaSJfcywgVVNDUklQVF9ZSSB9LAotICAgIHsgInRnbGciX3MsIFVTQ1JJ
UFRfVEFHQUxPRyB9LAotICAgIHsgImhhbm8iX3MsIFVTQ1JJUFRfSEFOVU5PTyB9LAotICAgIHsg
ImJ1aGQiX3MsIFVTQ1JJUFRfQlVISUQgfSwKLSAgICB7ICJ0YWdiIl9zLCBVU0NSSVBUX1RBR0JB
TldBIH0sCi0gICAgeyAiYnJhaSJfcywgVVNDUklQVF9CUkFJTExFIH0sCi0gICAgeyAiY3BydCJf
cywgVVNDUklQVF9DWVBSSU9UIH0sCi0gICAgeyAibGltYiJfcywgVVNDUklQVF9MSU1CVSB9LAot
ICAgIHsgImxpbmIiX3MsIFVTQ1JJUFRfTElORUFSX0IgfSwKLSAgICB7ICJvc21hIl9zLCBVU0NS
SVBUX09TTUFOWUEgfSwKLSAgICB7ICJzaGF3Il9zLCBVU0NSSVBUX1NIQVZJQU4gfSwKLSAgICB7
ICJ0YWxlIl9zLCBVU0NSSVBUX1RBSV9MRSB9LAotICAgIHsgInVnYXIiX3MsIFVTQ1JJUFRfVUdB
UklUSUMgfSwKLSAgICB7ICJocmt0Il9zLCBVU0NSSVBUX0tBVEFLQU5BX09SX0hJUkFHQU5BIH0s
Ci0gICAgeyAiYnVnaSJfcywgVVNDUklQVF9CVUdJTkVTRSB9LAotICAgIHsgImdsYWciX3MsIFVT
Q1JJUFRfR0xBR09MSVRJQyB9LAotICAgIHsgImtoYXIiX3MsIFVTQ1JJUFRfS0hBUk9TSFRISSB9
LAotICAgIHsgInN5bG8iX3MsIFVTQ1JJUFRfU1lMT1RJX05BR1JJIH0sCi0gICAgeyAidGFsdSJf
cywgVVNDUklQVF9ORVdfVEFJX0xVRSB9LAotICAgIHsgInRmbmciX3MsIFVTQ1JJUFRfVElGSU5B
R0ggfSwKLSAgICB7ICJ4cGVvIl9zLCBVU0NSSVBUX09MRF9QRVJTSUFOIH0sCi0gICAgeyAiYmFs
aSJfcywgVVNDUklQVF9CQUxJTkVTRSB9LAotICAgIHsgImJhdGsiX3MsIFVTQ1JJUFRfQkFUQUsg
fSwKLSAgICB7ICJibGlzIl9zLCBVU0NSSVBUX0JMSVNTWU1CT0xTIH0sCi0gICAgeyAiYnJhaCJf
cywgVVNDUklQVF9CUkFITUkgfSwKLSAgICB7ICJjaGFtIl9zLCBVU0NSSVBUX0NIQU0gfSwKLSAg
ICB7ICJjaXJ0Il9zLCBVU0NSSVBUX0NJUlRIIH0sCi0gICAgeyAiY3lycyJfcywgVVNDUklQVF9P
TERfQ0hVUkNIX1NMQVZPTklDX0NZUklMTElDIH0sCi0gICAgeyAiZWd5ZCJfcywgVVNDUklQVF9E
RU1PVElDX0VHWVBUSUFOIH0sCi0gICAgeyAiZWd5aCJfcywgVVNDUklQVF9ISUVSQVRJQ19FR1lQ
VElBTiB9LAotICAgIHsgImVneXAiX3MsIFVTQ1JJUFRfRUdZUFRJQU5fSElFUk9HTFlQSFMgfSwK
LSAgICB7ICJnZW9rIl9zLCBVU0NSSVBUX0tIVVRTVVJJIH0sCi0gICAgeyAiaGFucyJfcywgVVND
UklQVF9TSU1QTElGSUVEX0hBTiB9LAotICAgIHsgImhhbnQiX3MsIFVTQ1JJUFRfVFJBRElUSU9O
QUxfSEFOIH0sCi0gICAgeyAiaG1uZyJfcywgVVNDUklQVF9QQUhBV0hfSE1PTkcgfSwKLSAgICB7
ICJodW5nIl9zLCBVU0NSSVBUX09MRF9IVU5HQVJJQU4gfSwKLSAgICB7ICJpbmRzIl9zLCBVU0NS
SVBUX0hBUkFQUEFOX0lORFVTIH0sCi0gICAgeyAiamF2YSJfcywgVVNDUklQVF9KQVZBTkVTRSB9
LAotICAgIHsgImthbGkiX3MsIFVTQ1JJUFRfS0FZQUhfTEkgfSwKLSAgICB7ICJsYXRmIl9zLCBV
U0NSSVBUX0xBVElOX0ZSQUtUVVIgfSwKLSAgICB7ICJsYXRnIl9zLCBVU0NSSVBUX0xBVElOX0dB
RUxJQyB9LAotICAgIHsgImxlcGMiX3MsIFVTQ1JJUFRfTEVQQ0hBIH0sCi0gICAgeyAibGluYSJf
cywgVVNDUklQVF9MSU5FQVJfQSB9LAotICAgIHsgIm1hbmQiX3MsIFVTQ1JJUFRfTUFOREFFQU4g
fSwKLSAgICB7ICJtYXlhIl9zLCBVU0NSSVBUX01BWUFOX0hJRVJPR0xZUEhTIH0sCi0gICAgeyAi
bWVybyJfcywgVVNDUklQVF9NRVJPSVRJQyB9LAotICAgIHsgIm5rb28iX3MsIFVTQ1JJUFRfTktP
IH0sCi0gICAgeyAib3JraCJfcywgVVNDUklQVF9PUktIT04gfSwKLSAgICB7ICJwZXJtIl9zLCBV
U0NSSVBUX09MRF9QRVJNSUMgfSwKLSAgICB7ICJwaGFnIl9zLCBVU0NSSVBUX1BIQUdTX1BBIH0s
Ci0gICAgeyAicGhueCJfcywgVVNDUklQVF9QSE9FTklDSUFOIH0sCi0gICAgeyAicGxyZCJfcywg
VVNDUklQVF9QSE9ORVRJQ19QT0xMQVJEIH0sCi0gICAgeyAicm9ybyJfcywgVVNDUklQVF9ST05H
T1JPTkdPIH0sCi0gICAgeyAic2FyYSJfcywgVVNDUklQVF9TQVJBVEkgfSwKLSAgICB7ICJzeXJl
Il9zLCBVU0NSSVBUX0VTVFJBTkdFTE9fU1lSSUFDIH0sCi0gICAgeyAic3lyaiJfcywgVVNDUklQ
VF9XRVNURVJOX1NZUklBQyB9LAotICAgIHsgInN5cm4iX3MsIFVTQ1JJUFRfRUFTVEVSTl9TWVJJ
QUMgfSwKLSAgICB7ICJ0ZW5nIl9zLCBVU0NSSVBUX1RFTkdXQVIgfSwKLSAgICB7ICJ2YWlpIl9z
LCBVU0NSSVBUX1ZBSSB9LAotICAgIHsgInZpc3AiX3MsIFVTQ1JJUFRfVklTSUJMRV9TUEVFQ0gg
fSwKLSAgICB7ICJ4c3V4Il9zLCBVU0NSSVBUX0NVTkVJRk9STSB9LAotICAgIHsgImpwYW4iX3Ms
IFVTQ1JJUFRfS0FUQUtBTkFfT1JfSElSQUdBTkEgfSwKLSAgICB7ICJrb3JlIl9zLCBVU0NSSVBU
X0hBTkdVTCB9LAotICAgIHsgInp4eHgiX3MsIFVTQ1JJUFRfVU5XUklUVEVOX0xBTkdVQUdFUyB9
LAotICAgIHsgInp6enoiX3MsIFVTQ1JJUFRfVU5LTk9XTiB9Ci19OwordGVtcGxhdGU8dHlwZW5h
bWUgUmVzdWx0VHlwZT4KK3N0YXRpYyBPcHRpb25hbDxSZXN1bHRUeXBlPiBwYXJzZVNjcmlwdENv
ZGUoU3RyaW5nVmlldyBzdHJpbmcpCit7CisgICAgaWYgKHN0cmluZy5sZW5ndGgoKSA+IHNpemVv
ZihSZXN1bHRUeXBlKSkKKyAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKyAgICBSZXN1bHRU
eXBlIHJlc3VsdCA9IDA7CisgICAgZm9yICh1bnNpZ25lZCBpbmRleCA9IDA7IGluZGV4IDwgc3Ry
aW5nLmxlbmd0aCgpOyArK2luZGV4KSB7CisgICAgICAgIFVDaGFyIGNvZGUgPSBzdHJpbmdbaW5k
ZXhdOworICAgICAgICBpZiAoIWlzQVNDSUkoY29kZSkpCisgICAgICAgICAgICByZXR1cm4gV1RG
OjpudWxsb3B0OworICAgICAgICByZXN1bHQgfD0gKHN0YXRpY19jYXN0PFJlc3VsdFR5cGU+KHRv
QVNDSUlMb3dlcihjb2RlKSkgPDwgKChzaXplb2YoUmVzdWx0VHlwZSkgLSBpbmRleCAtIDEpICog
OCkpOworICAgIH0KKyAgICByZXR1cm4gcmVzdWx0OworfQogCi1zdHJ1Y3QgU2NyaXB0TmFtZUNv
ZGVNYXBIYXNoVHJhaXRzIDogcHVibGljIEhhc2hUcmFpdHM8U3RyaW5nPiB7Ci0gICAgc3RhdGlj
IGNvbnN0IGludCBtaW5pbXVtVGFibGVTaXplID0gV1RGOjpIYXNoVGFibGVDYXBhY2l0eUZvclNp
emU8V1RGX0FSUkFZX0xFTkdUSChzY3JpcHROYW1lQ29kZUxpc3QpPjo6dmFsdWU7Cit1c2luZyBT
Y3JpcHROYW1lID0gdWludDMyX3Q7CitzdHJ1Y3QgU2NyaXB0TmFtZUNvZGUgeworICAgIFNjcmlw
dE5hbWUgbmFtZTsKKyAgICBVU2NyaXB0Q29kZSBjb2RlOwogfTsKIAogVVNjcmlwdENvZGUgc2Ny
aXB0TmFtZVRvQ29kZShjb25zdCBTdHJpbmcmIHNjcmlwdE5hbWUpCiB7Ci0gICAgc3RhdGljIGNv
bnN0IGF1dG8gc2NyaXB0TmFtZUNvZGVNYXAgPSBtYWtlTmV2ZXJEZXN0cm95ZWQoW10gewotICAg
ICAgICBIYXNoTWFwPFN0cmluZywgVVNjcmlwdENvZGUsIEFTQ0lJQ2FzZUluc2Vuc2l0aXZlSGFz
aCwgU2NyaXB0TmFtZUNvZGVNYXBIYXNoVHJhaXRzPiBtYXA7Ci0gICAgICAgIGZvciAoYXV0byYg
bmFtZUFuZENvZGUgOiBzY3JpcHROYW1lQ29kZUxpc3QpCi0gICAgICAgICAgICBtYXAuYWRkKG5h
bWVBbmRDb2RlLm5hbWUsIG5hbWVBbmRDb2RlLmNvZGUpOwotICAgICAgICByZXR1cm4gbWFwOwot
ICAgIH0oKSk7CisgICAgLy8gVGhpcyBnZW5lcmFsbHkgbWFwcyBhbiBJU08gMTU5MjQgc2NyaXB0
IGNvZGUgdG8gaXRzIFVTY3JpcHRDb2RlLCBidXQgY2VydGFpbiBmYW1pbGllcyBvZiBzY3JpcHQg
Y29kZXMgYXJlCisgICAgLy8gdHJlYXRlZCBhcyBhIHNpbmdsZSBzY3JpcHQgZm9yIGFzc2lnbmlu
ZyBhIHBlci1zY3JpcHQgZm9udCBpbiBTZXR0aW5ncy4gRm9yIGV4YW1wbGUsICJoaXJhIiBpcyBt
YXBwZWQgdG8KKyAgICAvLyBVU0NSSVBUX0tBVEFLQU5BX09SX0hJUkFHQU5BIGluc3RlYWQgb2Yg
VVNDUklQVF9ISVJBR0FOQSwgc2luY2Ugd2Ugd2FudCBhbGwgSmFwYW5lc2Ugc2NyaXB0cyB0byBi
ZSByZW5kZXJlZAorICAgIC8vIHVzaW5nIHRoZSBzYW1lIGZvbnQgc2V0dGluZy4KKyAgICBzdGF0
aWMgY29uc3RleHByIFNjcmlwdE5hbWVDb2RlIHNjcmlwdE5hbWVDb2RlTGlzdFtdID0geworICAg
ICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPFNjcmlwdE5hbWU+KCJhcmFiIiksIFVTQ1JJ
UFRfQVJBQklDIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8U2NyaXB0TmFt
ZT4oImFybW4iKSwgVVNDUklQVF9BUk1FTklBTiB9LAorICAgICAgICB7IHBhcnNlQ29uc3RhbnRT
Y3JpcHRDb2RlPFNjcmlwdE5hbWU+KCJiYWxpIiksIFVTQ1JJUFRfQkFMSU5FU0UgfSwKKyAgICAg
ICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxTY3JpcHROYW1lPigiYmF0ayIpLCBVU0NSSVBU
X0JBVEFLIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8U2NyaXB0TmFtZT4o
ImJlbmciKSwgVVNDUklQVF9CRU5HQUxJIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlw
dENvZGU8U2NyaXB0TmFtZT4oImJsaXMiKSwgVVNDUklQVF9CTElTU1lNQk9MUyB9LAorICAgICAg
ICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPFNjcmlwdE5hbWU+KCJib3BvIiksIFVTQ1JJUFRf
Qk9QT01PRk8gfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxTY3JpcHROYW1l
PigiYnJhaCIpLCBVU0NSSVBUX0JSQUhNSSB9LAorICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3Jp
cHRDb2RlPFNjcmlwdE5hbWU+KCJicmFpIiksIFVTQ1JJUFRfQlJBSUxMRSB9LAorICAgICAgICB7
IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPFNjcmlwdE5hbWU+KCJidWdpIiksIFVTQ1JJUFRfQlVH
SU5FU0UgfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxTY3JpcHROYW1lPigi
YnVoZCIpLCBVU0NSSVBUX0JVSElEIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENv
ZGU8U2NyaXB0TmFtZT4oImNhbnMiKSwgVVNDUklQVF9DQU5BRElBTl9BQk9SSUdJTkFMIH0sCisg
ICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8U2NyaXB0TmFtZT4oImNoYW0iKSwgVVND
UklQVF9DSEFNIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8U2NyaXB0TmFt
ZT4oImNoZXIiKSwgVVNDUklQVF9DSEVST0tFRSB9LAorICAgICAgICB7IHBhcnNlQ29uc3RhbnRT
Y3JpcHRDb2RlPFNjcmlwdE5hbWU+KCJjaXJ0IiksIFVTQ1JJUFRfQ0lSVEggfSwKKyAgICAgICAg
eyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxTY3JpcHROYW1lPigiY29wdCIpLCBVU0NSSVBUX0NP
UFRJQyB9LAorICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPFNjcmlwdE5hbWU+KCJj
cHJ0IiksIFVTQ1JJUFRfQ1lQUklPVCB9LAorICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRD
b2RlPFNjcmlwdE5hbWU+KCJjeXJsIiksIFVTQ1JJUFRfQ1lSSUxMSUMgfSwKKyAgICAgICAgeyBw
YXJzZUNvbnN0YW50U2NyaXB0Q29kZTxTY3JpcHROYW1lPigiY3lycyIpLCBVU0NSSVBUX09MRF9D
SFVSQ0hfU0xBVk9OSUNfQ1lSSUxMSUMgfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0
Q29kZTxTY3JpcHROYW1lPigiZGV2YSIpLCBVU0NSSVBUX0RFVkFOQUdBUkkgfSwKKyAgICAgICAg
eyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxTY3JpcHROYW1lPigiZHNydCIpLCBVU0NSSVBUX0RF
U0VSRVQgfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxTY3JpcHROYW1lPigi
ZWd5ZCIpLCBVU0NSSVBUX0RFTU9USUNfRUdZUFRJQU4gfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0
YW50U2NyaXB0Q29kZTxTY3JpcHROYW1lPigiZWd5aCIpLCBVU0NSSVBUX0hJRVJBVElDX0VHWVBU
SUFOIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8U2NyaXB0TmFtZT4oImVn
eXAiKSwgVVNDUklQVF9FR1lQVElBTl9ISUVST0dMWVBIUyB9LAorICAgICAgICB7IHBhcnNlQ29u
c3RhbnRTY3JpcHRDb2RlPFNjcmlwdE5hbWU+KCJldGhpIiksIFVTQ1JJUFRfRVRISU9QSUMgfSwK
KyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxTY3JpcHROYW1lPigiZ2VvayIpLCBV
U0NSSVBUX0tIVVRTVVJJIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8U2Ny
aXB0TmFtZT4oImdlb3IiKSwgVVNDUklQVF9HRU9SR0lBTiB9LAorICAgICAgICB7IHBhcnNlQ29u
c3RhbnRTY3JpcHRDb2RlPFNjcmlwdE5hbWU+KCJnbGFnIiksIFVTQ1JJUFRfR0xBR09MSVRJQyB9
LAorICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPFNjcmlwdE5hbWU+KCJnb3RoIiks
IFVTQ1JJUFRfR09USElDIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8U2Ny
aXB0TmFtZT4oImdyZWsiKSwgVVNDUklQVF9HUkVFSyB9LAorICAgICAgICB7IHBhcnNlQ29uc3Rh
bnRTY3JpcHRDb2RlPFNjcmlwdE5hbWU+KCJndWpyIiksIFVTQ1JJUFRfR1VKQVJBVEkgfSwKKyAg
ICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxTY3JpcHROYW1lPigiZ3VydSIpLCBVU0NS
SVBUX0dVUk1VS0hJIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8U2NyaXB0
TmFtZT4oImhhbmciKSwgVVNDUklQVF9IQU5HVUwgfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50
U2NyaXB0Q29kZTxTY3JpcHROYW1lPigiaGFuaSIpLCBVU0NSSVBUX0hBTiB9LAorICAgICAgICB7
IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPFNjcmlwdE5hbWU+KCJoYW5vIiksIFVTQ1JJUFRfSEFO
VU5PTyB9LAorICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPFNjcmlwdE5hbWU+KCJo
YW5zIiksIFVTQ1JJUFRfU0lNUExJRklFRF9IQU4gfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50
U2NyaXB0Q29kZTxTY3JpcHROYW1lPigiaGFudCIpLCBVU0NSSVBUX1RSQURJVElPTkFMX0hBTiB9
LAorICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPFNjcmlwdE5hbWU+KCJoZWJyIiks
IFVTQ1JJUFRfSEVCUkVXIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8U2Ny
aXB0TmFtZT4oImhpcmEiKSwgVVNDUklQVF9LQVRBS0FOQV9PUl9ISVJBR0FOQSB9LAorICAgICAg
ICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPFNjcmlwdE5hbWU+KCJobW5nIiksIFVTQ1JJUFRf
UEFIQVdIX0hNT05HIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8U2NyaXB0
TmFtZT4oImhya3QiKSwgVVNDUklQVF9LQVRBS0FOQV9PUl9ISVJBR0FOQSB9LAorICAgICAgICB7
IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPFNjcmlwdE5hbWU+KCJodW5nIiksIFVTQ1JJUFRfT0xE
X0hVTkdBUklBTiB9LAorICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPFNjcmlwdE5h
bWU+KCJpbmRzIiksIFVTQ1JJUFRfSEFSQVBQQU5fSU5EVVMgfSwKKyAgICAgICAgeyBwYXJzZUNv
bnN0YW50U2NyaXB0Q29kZTxTY3JpcHROYW1lPigiaXRhbCIpLCBVU0NSSVBUX09MRF9JVEFMSUMg
fSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxTY3JpcHROYW1lPigiamF2YSIp
LCBVU0NSSVBUX0pBVkFORVNFIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8
U2NyaXB0TmFtZT4oImpwYW4iKSwgVVNDUklQVF9LQVRBS0FOQV9PUl9ISVJBR0FOQSB9LAorICAg
ICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPFNjcmlwdE5hbWU+KCJrYWxpIiksIFVTQ1JJ
UFRfS0FZQUhfTEkgfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxTY3JpcHRO
YW1lPigia2FuYSIpLCBVU0NSSVBUX0tBVEFLQU5BX09SX0hJUkFHQU5BIH0sCisgICAgICAgIHsg
cGFyc2VDb25zdGFudFNjcmlwdENvZGU8U2NyaXB0TmFtZT4oImtoYXIiKSwgVVNDUklQVF9LSEFS
T1NIVEhJIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8U2NyaXB0TmFtZT4o
ImtobXIiKSwgVVNDUklQVF9LSE1FUiB9LAorICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRD
b2RlPFNjcmlwdE5hbWU+KCJrbmRhIiksIFVTQ1JJUFRfS0FOTkFEQSB9LAorICAgICAgICB7IHBh
cnNlQ29uc3RhbnRTY3JpcHRDb2RlPFNjcmlwdE5hbWU+KCJrb3JlIiksIFVTQ1JJUFRfSEFOR1VM
IH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8U2NyaXB0TmFtZT4oImxhb28i
KSwgVVNDUklQVF9MQU8gfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxTY3Jp
cHROYW1lPigibGF0ZiIpLCBVU0NSSVBUX0xBVElOX0ZSQUtUVVIgfSwKKyAgICAgICAgeyBwYXJz
ZUNvbnN0YW50U2NyaXB0Q29kZTxTY3JpcHROYW1lPigibGF0ZyIpLCBVU0NSSVBUX0xBVElOX0dB
RUxJQyB9LAorICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPFNjcmlwdE5hbWU+KCJs
YXRuIiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29k
ZTxTY3JpcHROYW1lPigibGVwYyIpLCBVU0NSSVBUX0xFUENIQSB9LAorICAgICAgICB7IHBhcnNl
Q29uc3RhbnRTY3JpcHRDb2RlPFNjcmlwdE5hbWU+KCJsaW1iIiksIFVTQ1JJUFRfTElNQlUgfSwK
KyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxTY3JpcHROYW1lPigibGluYSIpLCBV
U0NSSVBUX0xJTkVBUl9BIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8U2Ny
aXB0TmFtZT4oImxpbmIiKSwgVVNDUklQVF9MSU5FQVJfQiB9LAorICAgICAgICB7IHBhcnNlQ29u
c3RhbnRTY3JpcHRDb2RlPFNjcmlwdE5hbWU+KCJtYW5kIiksIFVTQ1JJUFRfTUFOREFFQU4gfSwK
KyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxTY3JpcHROYW1lPigibWF5YSIpLCBV
U0NSSVBUX01BWUFOX0hJRVJPR0xZUEhTIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlw
dENvZGU8U2NyaXB0TmFtZT4oIm1lcm8iKSwgVVNDUklQVF9NRVJPSVRJQyB9LAorICAgICAgICB7
IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPFNjcmlwdE5hbWU+KCJtbHltIiksIFVTQ1JJUFRfTUFM
QVlBTEFNIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8U2NyaXB0TmFtZT4o
Im1vbmciKSwgVVNDUklQVF9NT05HT0xJQU4gfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2Ny
aXB0Q29kZTxTY3JpcHROYW1lPigibXltciIpLCBVU0NSSVBUX01ZQU5NQVIgfSwKKyAgICAgICAg
eyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxTY3JpcHROYW1lPigibmtvbyIpLCBVU0NSSVBUX05L
TyB9LAorICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPFNjcmlwdE5hbWU+KCJvZ2Ft
IiksIFVTQ1JJUFRfT0dIQU0gfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxT
Y3JpcHROYW1lPigib3JraCIpLCBVU0NSSVBUX09SS0hPTiB9LAorICAgICAgICB7IHBhcnNlQ29u
c3RhbnRTY3JpcHRDb2RlPFNjcmlwdE5hbWU+KCJvcnlhIiksIFVTQ1JJUFRfT1JJWUEgfSwKKyAg
ICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxTY3JpcHROYW1lPigib3NtYSIpLCBVU0NS
SVBUX09TTUFOWUEgfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxTY3JpcHRO
YW1lPigicGVybSIpLCBVU0NSSVBUX09MRF9QRVJNSUMgfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0
YW50U2NyaXB0Q29kZTxTY3JpcHROYW1lPigicGhhZyIpLCBVU0NSSVBUX1BIQUdTX1BBIH0sCisg
ICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8U2NyaXB0TmFtZT4oInBobngiKSwgVVND
UklQVF9QSE9FTklDSUFOIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8U2Ny
aXB0TmFtZT4oInBscmQiKSwgVVNDUklQVF9QSE9ORVRJQ19QT0xMQVJEIH0sCisgICAgICAgIHsg
cGFyc2VDb25zdGFudFNjcmlwdENvZGU8U2NyaXB0TmFtZT4oInFhYWkiKSwgVVNDUklQVF9JTkhF
UklURUQgfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxTY3JpcHROYW1lPigi
cm9ybyIpLCBVU0NSSVBUX1JPTkdPUk9OR08gfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2Ny
aXB0Q29kZTxTY3JpcHROYW1lPigicnVuciIpLCBVU0NSSVBUX1JVTklDIH0sCisgICAgICAgIHsg
cGFyc2VDb25zdGFudFNjcmlwdENvZGU8U2NyaXB0TmFtZT4oInNhcmEiKSwgVVNDUklQVF9TQVJB
VEkgfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxTY3JpcHROYW1lPigic2hh
dyIpLCBVU0NSSVBUX1NIQVZJQU4gfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29k
ZTxTY3JpcHROYW1lPigic2luaCIpLCBVU0NSSVBUX1NJTkhBTEEgfSwKKyAgICAgICAgeyBwYXJz
ZUNvbnN0YW50U2NyaXB0Q29kZTxTY3JpcHROYW1lPigic3lsbyIpLCBVU0NSSVBUX1NZTE9USV9O
QUdSSSB9LAorICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPFNjcmlwdE5hbWU+KCJz
eXJjIiksIFVTQ1JJUFRfU1lSSUFDIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENv
ZGU8U2NyaXB0TmFtZT4oInN5cmUiKSwgVVNDUklQVF9FU1RSQU5HRUxPX1NZUklBQyB9LAorICAg
ICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPFNjcmlwdE5hbWU+KCJzeXJqIiksIFVTQ1JJ
UFRfV0VTVEVSTl9TWVJJQUMgfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxT
Y3JpcHROYW1lPigic3lybiIpLCBVU0NSSVBUX0VBU1RFUk5fU1lSSUFDIH0sCisgICAgICAgIHsg
cGFyc2VDb25zdGFudFNjcmlwdENvZGU8U2NyaXB0TmFtZT4oInRhZ2IiKSwgVVNDUklQVF9UQUdC
QU5XQSB9LAorICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPFNjcmlwdE5hbWU+KCJ0
YWxlIiksIFVTQ1JJUFRfVEFJX0xFIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENv
ZGU8U2NyaXB0TmFtZT4oInRhbHUiKSwgVVNDUklQVF9ORVdfVEFJX0xVRSB9LAorICAgICAgICB7
IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPFNjcmlwdE5hbWU+KCJ0YW1sIiksIFVTQ1JJUFRfVEFN
SUwgfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxTY3JpcHROYW1lPigidGVs
dSIpLCBVU0NSSVBUX1RFTFVHVSB9LAorICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2Rl
PFNjcmlwdE5hbWU+KCJ0ZW5nIiksIFVTQ1JJUFRfVEVOR1dBUiB9LAorICAgICAgICB7IHBhcnNl
Q29uc3RhbnRTY3JpcHRDb2RlPFNjcmlwdE5hbWU+KCJ0Zm5nIiksIFVTQ1JJUFRfVElGSU5BR0gg
fSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxTY3JpcHROYW1lPigidGdsZyIp
LCBVU0NSSVBUX1RBR0FMT0cgfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxT
Y3JpcHROYW1lPigidGhhYSIpLCBVU0NSSVBUX1RIQUFOQSB9LAorICAgICAgICB7IHBhcnNlQ29u
c3RhbnRTY3JpcHRDb2RlPFNjcmlwdE5hbWU+KCJ0aGFpIiksIFVTQ1JJUFRfVEhBSSB9LAorICAg
ICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPFNjcmlwdE5hbWU+KCJ0aWJ0IiksIFVTQ1JJ
UFRfVElCRVRBTiB9LAorICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPFNjcmlwdE5h
bWU+KCJ1Z2FyIiksIFVTQ1JJUFRfVUdBUklUSUMgfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50
U2NyaXB0Q29kZTxTY3JpcHROYW1lPigidmFpaSIpLCBVU0NSSVBUX1ZBSSB9LAorICAgICAgICB7
IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPFNjcmlwdE5hbWU+KCJ2aXNwIiksIFVTQ1JJUFRfVklT
SUJMRV9TUEVFQ0ggfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxTY3JpcHRO
YW1lPigieHBlbyIpLCBVU0NSSVBUX09MRF9QRVJTSUFOIH0sCisgICAgICAgIHsgcGFyc2VDb25z
dGFudFNjcmlwdENvZGU8U2NyaXB0TmFtZT4oInhzdXgiKSwgVVNDUklQVF9DVU5FSUZPUk0gfSwK
KyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxTY3JpcHROYW1lPigieWlpaSIpLCBV
U0NSSVBUX1lJIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8U2NyaXB0TmFt
ZT4oInp4eHgiKSwgVVNDUklQVF9VTldSSVRURU5fTEFOR1VBR0VTIH0sCisgICAgICAgIHsgcGFy
c2VDb25zdGFudFNjcmlwdENvZGU8U2NyaXB0TmFtZT4oInp5eXkiKSwgVVNDUklQVF9DT01NT04g
fSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxTY3JpcHROYW1lPigienp6eiIp
LCBVU0NSSVBUX1VOS05PV04gfSwKKyAgICB9OwogCi0gICAgYXV0byBpdCA9IHNjcmlwdE5hbWVD
b2RlTWFwLmdldCgpLmZpbmQoc2NyaXB0TmFtZSk7Ci0gICAgaWYgKGl0ICE9IHNjcmlwdE5hbWVD
b2RlTWFwLmdldCgpLmVuZCgpKQotICAgICAgICByZXR1cm4gaXQtPnZhbHVlOworICAgIHN0YXRp
Y19hc3NlcnQocGFyc2VDb25zdGFudFNjcmlwdENvZGU8U2NyaXB0TmFtZT4oImFyYWIiKSA9PSAw
eDYxNzI2MTYyVSk7CisgICAgc3RhdGljX2Fzc2VydChwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxT
Y3JpcHROYW1lPigienp6eiIpID09IDB4N2E3YTdhN2FVKTsKKworICAgIEFTU0VSVCgKKyAgICAg
ICAgc3RkOjppc19zb3J0ZWQoc3RkOjpiZWdpbihzY3JpcHROYW1lQ29kZUxpc3QpLCBzdGQ6OmVu
ZChzY3JpcHROYW1lQ29kZUxpc3QpLAorICAgICAgICAgICAgW10oY29uc3QgU2NyaXB0TmFtZUNv
ZGUmIGEsIGNvbnN0IFNjcmlwdE5hbWVDb2RlJiBiKSB7CisgICAgICAgICAgICAgICAgcmV0dXJu
IGEubmFtZSA8IGIubmFtZTsKKyAgICAgICAgICAgIH0pKTsKKworICAgIGF1dG8gbmFtZSA9IHBh
cnNlU2NyaXB0Q29kZTxTY3JpcHROYW1lPihzY3JpcHROYW1lKTsKKyAgICBpZiAoIW5hbWUpCisg
ICAgICAgIHJldHVybiBVU0NSSVBUX0lOVkFMSURfQ09ERTsKKworICAgIGF1dG8qIGVsZW1lbnQg
PSB0cnlCaW5hcnlTZWFyY2g8U2NyaXB0TmFtZUNvZGU+KHNjcmlwdE5hbWVDb2RlTGlzdCwgc3Rk
OjpzaXplKHNjcmlwdE5hbWVDb2RlTGlzdCksIG5hbWUudmFsdWUoKSwKKyAgICAgICAgW10oY29u
c3QgU2NyaXB0TmFtZUNvZGUqIHNjcmlwdE5hbWVDb2RlKSB7CisgICAgICAgICAgICByZXR1cm4g
c2NyaXB0TmFtZUNvZGUtPm5hbWU7CisgICAgICAgIH0pOworICAgIGlmIChlbGVtZW50KQorICAg
ICAgICByZXR1cm4gZWxlbWVudC0+Y29kZTsKICAgICByZXR1cm4gVVNDUklQVF9JTlZBTElEX0NP
REU7CiB9CiAKK3VzaW5nIExvY2FsZU5hbWUgPSB1aW50NjRfdDsKIHN0cnVjdCBMb2NhbGVTY3Jp
cHQgewotICAgIEFTQ0lJTGl0ZXJhbCBsb2NhbGU7CisgICAgTG9jYWxlTmFtZSBsb2NhbGU7CiAg
ICAgVVNjcmlwdENvZGUgc2NyaXB0OwogfTsKIAotc3RhdGljIGNvbnN0IExvY2FsZVNjcmlwdCBs
b2NhbGVTY3JpcHRMaXN0W10gPSB7Ci0gICAgeyAiYWEiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAg
ICB7ICJhYiJfcywgVVNDUklQVF9DWVJJTExJQyB9LAotICAgIHsgImFkeSJfcywgVVNDUklQVF9D
WVJJTExJQyB9LAotICAgIHsgImFmIl9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAiYWsiX3Ms
IFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJhbSJfcywgVVNDUklQVF9FVEhJT1BJQyB9LAotICAg
IHsgImFyIl9zLCBVU0NSSVBUX0FSQUJJQyB9LAotICAgIHsgImFzIl9zLCBVU0NSSVBUX0JFTkdB
TEkgfSwKLSAgICB7ICJhc3QiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJhdiJfcywgVVND
UklQVF9DWVJJTExJQyB9LAotICAgIHsgImF5Il9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAi
YXoiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJiYSJfcywgVVNDUklQVF9DWVJJTExJQyB9
LAotICAgIHsgImJlIl9zLCBVU0NSSVBUX0NZUklMTElDIH0sCi0gICAgeyAiYmciX3MsIFVTQ1JJ
UFRfQ1lSSUxMSUMgfSwKLSAgICB7ICJiaSJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgImJu
Il9zLCBVU0NSSVBUX0JFTkdBTEkgfSwKLSAgICB7ICJibyJfcywgVVNDUklQVF9USUJFVEFOIH0s
Ci0gICAgeyAiYnMiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJjYSJfcywgVVNDUklQVF9M
QVRJTiB9LAotICAgIHsgImNlIl9zLCBVU0NSSVBUX0NZUklMTElDIH0sCi0gICAgeyAiY2ViIl9z
LCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAiY2giX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7
ICJjaGsiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJjcyJfcywgVVNDUklQVF9MQVRJTiB9
LAotICAgIHsgImN5Il9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAiZGEiX3MsIFVTQ1JJUFRf
TEFUSU4gfSwKLSAgICB7ICJkZSJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgImR2Il9zLCBV
U0NSSVBUX1RIQUFOQSB9LAotICAgIHsgImR6Il9zLCBVU0NSSVBUX1RJQkVUQU4gfSwKLSAgICB7
ICJlZSJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgImVmaSJfcywgVVNDUklQVF9MQVRJTiB9
LAotICAgIHsgImVsIl9zLCBVU0NSSVBUX0dSRUVLIH0sCi0gICAgeyAiZW4iX3MsIFVTQ1JJUFRf
TEFUSU4gfSwKLSAgICB7ICJlcyJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgImV0Il9zLCBV
U0NSSVBUX0xBVElOIH0sCi0gICAgeyAiZXUiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJm
YSJfcywgVVNDUklQVF9BUkFCSUMgfSwKLSAgICB7ICJmaSJfcywgVVNDUklQVF9MQVRJTiB9LAot
ICAgIHsgImZpbCJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgImZqIl9zLCBVU0NSSVBUX0xB
VElOIH0sCi0gICAgeyAiZm8iX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJmciJfcywgVVND
UklQVF9MQVRJTiB9LAotICAgIHsgImZ1ciJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgImZ5
Il9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAiZ2EiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAg
ICB7ICJnYWEiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJnZCJfcywgVVNDUklQVF9MQVRJ
TiB9LAotICAgIHsgImdpbCJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgImdsIl9zLCBVU0NS
SVBUX0xBVElOIH0sCi0gICAgeyAiZ24iX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJnc3ci
X3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJndSJfcywgVVNDUklQVF9HVUpBUkFUSSB9LAot
ICAgIHsgImhhIl9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAiaGF3Il9zLCBVU0NSSVBUX0xB
VElOIH0sCi0gICAgeyAiaGUiX3MsIFVTQ1JJUFRfSEVCUkVXIH0sCi0gICAgeyAiaGkiX3MsIFVT
Q1JJUFRfREVWQU5BR0FSSSB9LAotICAgIHsgImhpbCJfcywgVVNDUklQVF9MQVRJTiB9LAotICAg
IHsgImhvIl9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAiaHIiX3MsIFVTQ1JJUFRfTEFUSU4g
fSwKLSAgICB7ICJodCJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgImh1Il9zLCBVU0NSSVBU
X0xBVElOIH0sCi0gICAgeyAiaHkiX3MsIFVTQ1JJUFRfQVJNRU5JQU4gfSwKLSAgICB7ICJpZCJf
cywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgImlnIl9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAg
eyAiaWkiX3MsIFVTQ1JJUFRfWUkgfSwKLSAgICB7ICJpbG8iX3MsIFVTQ1JJUFRfTEFUSU4gfSwK
LSAgICB7ICJpbmgiX3MsIFVTQ1JJUFRfQ1lSSUxMSUMgfSwKLSAgICB7ICJpcyJfcywgVVNDUklQ
VF9MQVRJTiB9LAotICAgIHsgIml0Il9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAiaXUiX3Ms
IFVTQ1JJUFRfQ0FOQURJQU5fQUJPUklHSU5BTCB9LAotICAgIHsgImphIl9zLCBVU0NSSVBUX0tB
VEFLQU5BX09SX0hJUkFHQU5BIH0sCi0gICAgeyAianYiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAg
ICB7ICJrYSJfcywgVVNDUklQVF9HRU9SR0lBTiB9LAotICAgIHsgImthaiJfcywgVVNDUklQVF9M
QVRJTiB9LAotICAgIHsgImthbSJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgImtiZCJfcywg
VVNDUklQVF9DWVJJTExJQyB9LAotICAgIHsgImtoYSJfcywgVVNDUklQVF9MQVRJTiB9LAotICAg
IHsgImtrIl9zLCBVU0NSSVBUX0NZUklMTElDIH0sCi0gICAgeyAia2wiX3MsIFVTQ1JJUFRfTEFU
SU4gfSwKLSAgICB7ICJrbSJfcywgVVNDUklQVF9LSE1FUiB9LAotICAgIHsgImtuIl9zLCBVU0NS
SVBUX0tBTk5BREEgfSwKLSAgICB7ICJrbyJfcywgVVNDUklQVF9IQU5HVUwgfSwKLSAgICB7ICJr
b2siX3MsIFVTQ1JJUFRfREVWQU5BR0FSSSB9LAotICAgIHsgImtvcyJfcywgVVNDUklQVF9MQVRJ
TiB9LAotICAgIHsgImtwZSJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgImtyYyJfcywgVVND
UklQVF9DWVJJTExJQyB9LAotICAgIHsgImtzIl9zLCBVU0NSSVBUX0FSQUJJQyB9LAotICAgIHsg
Imt1Il9zLCBVU0NSSVBUX0FSQUJJQyB9LAotICAgIHsgImt1bSJfcywgVVNDUklQVF9DWVJJTExJ
QyB9LAotICAgIHsgImt5Il9zLCBVU0NSSVBUX0NZUklMTElDIH0sCi0gICAgeyAibGEiX3MsIFVT
Q1JJUFRfTEFUSU4gfSwKLSAgICB7ICJsYWgiX3MsIFVTQ1JJUFRfQVJBQklDIH0sCi0gICAgeyAi
bGIiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJsZXoiX3MsIFVTQ1JJUFRfQ1lSSUxMSUMg
fSwKLSAgICB7ICJsbiJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgImxvIl9zLCBVU0NSSVBU
X0xBTyB9LAotICAgIHsgImx0Il9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAibHYiX3MsIFVT
Q1JJUFRfTEFUSU4gfSwKLSAgICB7ICJtYWkiX3MsIFVTQ1JJUFRfREVWQU5BR0FSSSB9LAotICAg
IHsgIm1kZiJfcywgVVNDUklQVF9DWVJJTExJQyB9LAotICAgIHsgIm1nIl9zLCBVU0NSSVBUX0xB
VElOIH0sCi0gICAgeyAibWgiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJtaSJfcywgVVND
UklQVF9MQVRJTiB9LAotICAgIHsgIm1rIl9zLCBVU0NSSVBUX0NZUklMTElDIH0sCi0gICAgeyAi
bWwiX3MsIFVTQ1JJUFRfTUFMQVlBTEFNIH0sCi0gICAgeyAibW4iX3MsIFVTQ1JJUFRfQ1lSSUxM
SUMgfSwKLSAgICB7ICJtciJfcywgVVNDUklQVF9ERVZBTkFHQVJJIH0sCi0gICAgeyAibXMiX3Ms
IFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJtdCJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsg
Im15Il9zLCBVU0NSSVBUX01ZQU5NQVIgfSwKLSAgICB7ICJteXYiX3MsIFVTQ1JJUFRfQ1lSSUxM
SUMgfSwKLSAgICB7ICJuYSJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgIm5iIl9zLCBVU0NS
SVBUX0xBVElOIH0sCi0gICAgeyAibmUiX3MsIFVTQ1JJUFRfREVWQU5BR0FSSSB9LAotICAgIHsg
Im5pdSJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgIm5sIl9zLCBVU0NSSVBUX0xBVElOIH0s
Ci0gICAgeyAibm4iX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJuciJfcywgVVNDUklQVF9M
QVRJTiB9LAotICAgIHsgIm5zbyJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgIm55Il9zLCBV
U0NSSVBUX0xBVElOIH0sCi0gICAgeyAib2MiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJv
bSJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgIm9yIl9zLCBVU0NSSVBUX09SSVlBIH0sCi0g
ICAgeyAib3MiX3MsIFVTQ1JJUFRfQ1lSSUxMSUMgfSwKLSAgICB7ICJwYSJfcywgVVNDUklQVF9H
VVJNVUtISSB9LAotICAgIHsgInBhZyJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgInBhcCJf
cywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgInBhdSJfcywgVVNDUklQVF9MQVRJTiB9LAotICAg
IHsgInBsIl9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAicG9uIl9zLCBVU0NSSVBUX0xBVElO
IH0sCi0gICAgeyAicHMiX3MsIFVTQ1JJUFRfQVJBQklDIH0sCi0gICAgeyAicHQiX3MsIFVTQ1JJ
UFRfTEFUSU4gfSwKLSAgICB7ICJxdSJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgInJtIl9z
LCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAicm4iX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7
ICJybyJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgInJ1Il9zLCBVU0NSSVBUX0NZUklMTElD
IH0sCi0gICAgeyAicnciX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJzYSJfcywgVVNDUklQ
VF9ERVZBTkFHQVJJIH0sCi0gICAgeyAic2FoIl9zLCBVU0NSSVBUX0NZUklMTElDIH0sCi0gICAg
eyAic2F0Il9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAic2QiX3MsIFVTQ1JJUFRfQVJBQklD
IH0sCi0gICAgeyAic2UiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJzZyJfcywgVVNDUklQ
VF9MQVRJTiB9LAotICAgIHsgInNpIl9zLCBVU0NSSVBUX1NJTkhBTEEgfSwKLSAgICB7ICJzaWQi
X3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJzayJfcywgVVNDUklQVF9MQVRJTiB9LAotICAg
IHsgInNsIl9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAic20iX3MsIFVTQ1JJUFRfTEFUSU4g
fSwKLSAgICB7ICJzbyJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgInNxIl9zLCBVU0NSSVBU
X0xBVElOIH0sCi0gICAgeyAic3IiX3MsIFVTQ1JJUFRfQ1lSSUxMSUMgfSwKLSAgICB7ICJzcyJf
cywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgInN0Il9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAg
eyAic3UiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJzdiJfcywgVVNDUklQVF9MQVRJTiB9
LAotICAgIHsgInN3Il9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAidGEiX3MsIFVTQ1JJUFRf
VEFNSUwgfSwKLSAgICB7ICJ0ZSJfcywgVVNDUklQVF9URUxVR1UgfSwKLSAgICB7ICJ0ZXQiX3Ms
IFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJ0ZyJfcywgVVNDUklQVF9DWVJJTExJQyB9LAotICAg
IHsgInRoIl9zLCBVU0NSSVBUX1RIQUkgfSwKLSAgICB7ICJ0aSJfcywgVVNDUklQVF9FVEhJT1BJ
QyB9LAotICAgIHsgInRpZyJfcywgVVNDUklQVF9FVEhJT1BJQyB9LAotICAgIHsgInRrIl9zLCBV
U0NSSVBUX0xBVElOIH0sCi0gICAgeyAidGtsIl9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAi
dGwiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJ0biJfcywgVVNDUklQVF9MQVRJTiB9LAot
ICAgIHsgInRvIl9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAidHBpIl9zLCBVU0NSSVBUX0xB
VElOIH0sCi0gICAgeyAidHIiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJ0cnYiX3MsIFVT
Q1JJUFRfTEFUSU4gfSwKLSAgICB7ICJ0cyJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgInR0
Il9zLCBVU0NSSVBUX0NZUklMTElDIH0sCi0gICAgeyAidHZsIl9zLCBVU0NSSVBUX0xBVElOIH0s
Ci0gICAgeyAidHciX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJ0eSJfcywgVVNDUklQVF9M
QVRJTiB9LAotICAgIHsgInR5diJfcywgVVNDUklQVF9DWVJJTExJQyB9LAotICAgIHsgInVkbSJf
cywgVVNDUklQVF9DWVJJTExJQyB9LAotICAgIHsgInVnIl9zLCBVU0NSSVBUX0FSQUJJQyB9LAot
ICAgIHsgInVrIl9zLCBVU0NSSVBUX0NZUklMTElDIH0sCi0gICAgeyAidW5kIl9zLCBVU0NSSVBU
X0xBVElOIH0sCi0gICAgeyAidXIiX3MsIFVTQ1JJUFRfQVJBQklDIH0sCi0gICAgeyAidXoiX3Ms
IFVTQ1JJUFRfQ1lSSUxMSUMgfSwKLSAgICB7ICJ2ZSJfcywgVVNDUklQVF9MQVRJTiB9LAotICAg
IHsgInZpIl9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAid2FsIl9zLCBVU0NSSVBUX0VUSElP
UElDIH0sCi0gICAgeyAid2FyIl9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAid28iX3MsIFVT
Q1JJUFRfTEFUSU4gfSwKLSAgICB7ICJ4aCJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgInlh
cCJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgInlvIl9zLCBVU0NSSVBUX0xBVElOIH0sCi0g
ICAgeyAiemEiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJ6aCJfcywgVVNDUklQVF9IQU4g
fSwKLSAgICB7ICJ6aF9oayJfcywgVVNDUklQVF9UUkFESVRJT05BTF9IQU4gfSwKLSAgICB7ICJ6
aF90dyJfcywgVVNDUklQVF9UUkFESVRJT05BTF9IQU4gfSwKLSAgICB7ICJ6dSJfcywgVVNDUklQ
VF9MQVRJTiB9Ci19OwotCi1zdHJ1Y3QgTG9jYWxlU2NyaXB0TWFwSGFzaFRyYWl0cyA6IHB1Ymxp
YyBIYXNoVHJhaXRzPFN0cmluZz4gewotICAgIHN0YXRpYyBjb25zdCBpbnQgbWluaW11bVRhYmxl
U2l6ZSA9IFdURjo6SGFzaFRhYmxlQ2FwYWNpdHlGb3JTaXplPFdURl9BUlJBWV9MRU5HVEgobG9j
YWxlU2NyaXB0TGlzdCk+Ojp2YWx1ZTsKLX07Ci0KIFVTY3JpcHRDb2RlIGxvY2FsZVRvU2NyaXB0
Q29kZUZvckZvbnRTZWxlY3Rpb24oY29uc3QgU3RyaW5nJiBsb2NhbGUpCiB7Ci0gICAgc3RhdGlj
IGNvbnN0IGF1dG8gbG9jYWxlU2NyaXB0TWFwID0gbWFrZU5ldmVyRGVzdHJveWVkKFtdIHsKLSAg
ICAgICAgSGFzaE1hcDxTdHJpbmcsIFVTY3JpcHRDb2RlLCBBU0NJSUNhc2VJbnNlbnNpdGl2ZUhh
c2gsIExvY2FsZVNjcmlwdE1hcEhhc2hUcmFpdHM+IG1hcDsKLSAgICAgICAgZm9yIChhdXRvJiBs
b2NhbGVBbmRTY3JpcHQgOiBsb2NhbGVTY3JpcHRMaXN0KQotICAgICAgICAgICAgbWFwLmFkZChs
b2NhbGVBbmRTY3JpcHQubG9jYWxlLCBsb2NhbGVBbmRTY3JpcHQuc2NyaXB0KTsKLSAgICAgICAg
cmV0dXJuIG1hcDsKLSAgICB9KCkpOworICAgIHN0YXRpYyBjb25zdGV4cHIgTG9jYWxlU2NyaXB0
IGxvY2FsZVNjcmlwdExpc3RbXSA9IHsKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29k
ZTxMb2NhbGVOYW1lPigiYWEiKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlQ29u
c3RhbnRTY3JpcHRDb2RlPExvY2FsZU5hbWU+KCJhYiIpLCBVU0NSSVBUX0NZUklMTElDIH0sCisg
ICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8TG9jYWxlTmFtZT4oImFkeSIpLCBVU0NS
SVBUX0NZUklMTElDIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8TG9jYWxl
TmFtZT4oImFmIiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2Ny
aXB0Q29kZTxMb2NhbGVOYW1lPigiYWsiKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBh
cnNlQ29uc3RhbnRTY3JpcHRDb2RlPExvY2FsZU5hbWU+KCJhbSIpLCBVU0NSSVBUX0VUSElPUElD
IH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8TG9jYWxlTmFtZT4oImFyIiks
IFVTQ1JJUFRfQVJBQklDIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8TG9j
YWxlTmFtZT4oImFzIiksIFVTQ1JJUFRfQkVOR0FMSSB9LAorICAgICAgICB7IHBhcnNlQ29uc3Rh
bnRTY3JpcHRDb2RlPExvY2FsZU5hbWU+KCJhc3QiKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAg
ICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPExvY2FsZU5hbWU+KCJhdiIpLCBVU0NSSVBUX0NZ
UklMTElDIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8TG9jYWxlTmFtZT4o
ImF5IiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29k
ZTxMb2NhbGVOYW1lPigiYXoiKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlQ29u
c3RhbnRTY3JpcHRDb2RlPExvY2FsZU5hbWU+KCJiYSIpLCBVU0NSSVBUX0NZUklMTElDIH0sCisg
ICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8TG9jYWxlTmFtZT4oImJlIiksIFVTQ1JJ
UFRfQ1lSSUxMSUMgfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxMb2NhbGVO
YW1lPigiYmciKSwgVVNDUklQVF9DWVJJTExJQyB9LAorICAgICAgICB7IHBhcnNlQ29uc3RhbnRT
Y3JpcHRDb2RlPExvY2FsZU5hbWU+KCJiaSIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsg
cGFyc2VDb25zdGFudFNjcmlwdENvZGU8TG9jYWxlTmFtZT4oImJuIiksIFVTQ1JJUFRfQkVOR0FM
SSB9LAorICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPExvY2FsZU5hbWU+KCJibyIp
LCBVU0NSSVBUX1RJQkVUQU4gfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxM
b2NhbGVOYW1lPigiYnMiKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlQ29uc3Rh
bnRTY3JpcHRDb2RlPExvY2FsZU5hbWU+KCJjYSIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAg
IHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8TG9jYWxlTmFtZT4oImNlIiksIFVTQ1JJUFRfQ1lS
SUxMSUMgfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxMb2NhbGVOYW1lPigi
Y2ViIiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29k
ZTxMb2NhbGVOYW1lPigiY2giKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlQ29u
c3RhbnRTY3JpcHRDb2RlPExvY2FsZU5hbWU+KCJjaGsiKSwgVVNDUklQVF9MQVRJTiB9LAorICAg
ICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPExvY2FsZU5hbWU+KCJjcyIpLCBVU0NSSVBU
X0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8TG9jYWxlTmFtZT4o
ImN5IiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29k
ZTxMb2NhbGVOYW1lPigiZGEiKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlQ29u
c3RhbnRTY3JpcHRDb2RlPExvY2FsZU5hbWU+KCJkZSIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAg
ICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8TG9jYWxlTmFtZT4oImR2IiksIFVTQ1JJUFRf
VEhBQU5BIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8TG9jYWxlTmFtZT4o
ImR6IiksIFVTQ1JJUFRfVElCRVRBTiB9LAorICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRD
b2RlPExvY2FsZU5hbWU+KCJlZSIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VD
b25zdGFudFNjcmlwdENvZGU8TG9jYWxlTmFtZT4oImVmaSIpLCBVU0NSSVBUX0xBVElOIH0sCisg
ICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8TG9jYWxlTmFtZT4oImVsIiksIFVTQ1JJ
UFRfR1JFRUsgfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxMb2NhbGVOYW1l
PigiZW4iKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRD
b2RlPExvY2FsZU5hbWU+KCJlcyIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VD
b25zdGFudFNjcmlwdENvZGU8TG9jYWxlTmFtZT4oImV0IiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAg
ICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxMb2NhbGVOYW1lPigiZXUiKSwgVVNDUklQ
VF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPExvY2FsZU5hbWU+
KCJmYSIpLCBVU0NSSVBUX0FSQUJJQyB9LAorICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRD
b2RlPExvY2FsZU5hbWU+KCJmaSIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VD
b25zdGFudFNjcmlwdENvZGU8TG9jYWxlTmFtZT4oImZpbCIpLCBVU0NSSVBUX0xBVElOIH0sCisg
ICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8TG9jYWxlTmFtZT4oImZqIiksIFVTQ1JJ
UFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxMb2NhbGVOYW1l
PigiZm8iKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRD
b2RlPExvY2FsZU5hbWU+KCJmciIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VD
b25zdGFudFNjcmlwdENvZGU8TG9jYWxlTmFtZT4oImZ1ciIpLCBVU0NSSVBUX0xBVElOIH0sCisg
ICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8TG9jYWxlTmFtZT4oImZ5IiksIFVTQ1JJ
UFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxMb2NhbGVOYW1l
PigiZ2EiKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRD
b2RlPExvY2FsZU5hbWU+KCJnYWEiKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNl
Q29uc3RhbnRTY3JpcHRDb2RlPExvY2FsZU5hbWU+KCJnZCIpLCBVU0NSSVBUX0xBVElOIH0sCisg
ICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8TG9jYWxlTmFtZT4oImdpbCIpLCBVU0NS
SVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8TG9jYWxlTmFt
ZT4oImdsIiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0
Q29kZTxMb2NhbGVOYW1lPigiZ24iKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNl
Q29uc3RhbnRTY3JpcHRDb2RlPExvY2FsZU5hbWU+KCJnc3ciKSwgVVNDUklQVF9MQVRJTiB9LAor
ICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPExvY2FsZU5hbWU+KCJndSIpLCBVU0NS
SVBUX0dVSkFSQVRJIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8TG9jYWxl
TmFtZT4oImhhIiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2Ny
aXB0Q29kZTxMb2NhbGVOYW1lPigiaGF3IiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBw
YXJzZUNvbnN0YW50U2NyaXB0Q29kZTxMb2NhbGVOYW1lPigiaGUiKSwgVVNDUklQVF9IRUJSRVcg
fSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxMb2NhbGVOYW1lPigiaGkiKSwg
VVNDUklQVF9ERVZBTkFHQVJJIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8
TG9jYWxlTmFtZT4oImhpbCIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VDb25z
dGFudFNjcmlwdENvZGU8TG9jYWxlTmFtZT4oImhvIiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAg
ICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxMb2NhbGVOYW1lPigiaHIiKSwgVVNDUklQVF9M
QVRJTiB9LAorICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPExvY2FsZU5hbWU+KCJo
dCIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8
TG9jYWxlTmFtZT4oImh1IiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0
YW50U2NyaXB0Q29kZTxMb2NhbGVOYW1lPigiaHkiKSwgVVNDUklQVF9BUk1FTklBTiB9LAorICAg
ICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPExvY2FsZU5hbWU+KCJpZCIpLCBVU0NSSVBU
X0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8TG9jYWxlTmFtZT4o
ImlnIiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29k
ZTxMb2NhbGVOYW1lPigiaWkiKSwgVVNDUklQVF9ZSSB9LAorICAgICAgICB7IHBhcnNlQ29uc3Rh
bnRTY3JpcHRDb2RlPExvY2FsZU5hbWU+KCJpbG8iKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAg
ICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPExvY2FsZU5hbWU+KCJpbmgiKSwgVVNDUklQVF9D
WVJJTExJQyB9LAorICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPExvY2FsZU5hbWU+
KCJpcyIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENv
ZGU8TG9jYWxlTmFtZT4oIml0IiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUNv
bnN0YW50U2NyaXB0Q29kZTxMb2NhbGVOYW1lPigiaXUiKSwgVVNDUklQVF9DQU5BRElBTl9BQk9S
SUdJTkFMIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8TG9jYWxlTmFtZT4o
ImphIiksIFVTQ1JJUFRfS0FUQUtBTkFfT1JfSElSQUdBTkEgfSwKKyAgICAgICAgeyBwYXJzZUNv
bnN0YW50U2NyaXB0Q29kZTxMb2NhbGVOYW1lPigianYiKSwgVVNDUklQVF9MQVRJTiB9LAorICAg
ICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPExvY2FsZU5hbWU+KCJrYSIpLCBVU0NSSVBU
X0dFT1JHSUFOIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8TG9jYWxlTmFt
ZT4oImthaiIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlw
dENvZGU8TG9jYWxlTmFtZT4oImthbSIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFy
c2VDb25zdGFudFNjcmlwdENvZGU8TG9jYWxlTmFtZT4oImtiZCIpLCBVU0NSSVBUX0NZUklMTElD
IH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8TG9jYWxlTmFtZT4oImtoYSIp
LCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8TG9j
YWxlTmFtZT4oImtrIiksIFVTQ1JJUFRfQ1lSSUxMSUMgfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0
YW50U2NyaXB0Q29kZTxMb2NhbGVOYW1lPigia2wiKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAg
ICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPExvY2FsZU5hbWU+KCJrbSIpLCBVU0NSSVBUX0tI
TUVSIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8TG9jYWxlTmFtZT4oImtu
IiksIFVTQ1JJUFRfS0FOTkFEQSB9LAorICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2Rl
PExvY2FsZU5hbWU+KCJrbyIpLCBVU0NSSVBUX0hBTkdVTCB9LAorICAgICAgICB7IHBhcnNlQ29u
c3RhbnRTY3JpcHRDb2RlPExvY2FsZU5hbWU+KCJrb2siKSwgVVNDUklQVF9ERVZBTkFHQVJJIH0s
CisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8TG9jYWxlTmFtZT4oImtvcyIpLCBV
U0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8TG9jYWxl
TmFtZT4oImtwZSIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNj
cmlwdENvZGU8TG9jYWxlTmFtZT4oImtyYyIpLCBVU0NSSVBUX0NZUklMTElDIH0sCisgICAgICAg
IHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8TG9jYWxlTmFtZT4oImtzIiksIFVTQ1JJUFRfQVJB
QklDIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8TG9jYWxlTmFtZT4oImt1
IiksIFVTQ1JJUFRfQVJBQklDIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8
TG9jYWxlTmFtZT4oImt1bSIpLCBVU0NSSVBUX0NZUklMTElDIH0sCisgICAgICAgIHsgcGFyc2VD
b25zdGFudFNjcmlwdENvZGU8TG9jYWxlTmFtZT4oImt5IiksIFVTQ1JJUFRfQ1lSSUxMSUMgfSwK
KyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxMb2NhbGVOYW1lPigibGEiKSwgVVND
UklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPExvY2FsZU5h
bWU+KCJsYWgiKSwgVVNDUklQVF9BUkFCSUMgfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2Ny
aXB0Q29kZTxMb2NhbGVOYW1lPigibGIiKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBh
cnNlQ29uc3RhbnRTY3JpcHRDb2RlPExvY2FsZU5hbWU+KCJsZXoiKSwgVVNDUklQVF9DWVJJTExJ
QyB9LAorICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPExvY2FsZU5hbWU+KCJsbiIp
LCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8TG9j
YWxlTmFtZT4oImxvIiksIFVTQ1JJUFRfTEFPIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNj
cmlwdENvZGU8TG9jYWxlTmFtZT4oImx0IiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBw
YXJzZUNvbnN0YW50U2NyaXB0Q29kZTxMb2NhbGVOYW1lPigibHYiKSwgVVNDUklQVF9MQVRJTiB9
LAorICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPExvY2FsZU5hbWU+KCJtYWkiKSwg
VVNDUklQVF9ERVZBTkFHQVJJIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8
TG9jYWxlTmFtZT4oIm1kZiIpLCBVU0NSSVBUX0NZUklMTElDIH0sCisgICAgICAgIHsgcGFyc2VD
b25zdGFudFNjcmlwdENvZGU8TG9jYWxlTmFtZT4oIm1nIiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAg
ICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxMb2NhbGVOYW1lPigibWgiKSwgVVNDUklQ
VF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPExvY2FsZU5hbWU+
KCJtaSIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENv
ZGU8TG9jYWxlTmFtZT4oIm1rIiksIFVTQ1JJUFRfQ1lSSUxMSUMgfSwKKyAgICAgICAgeyBwYXJz
ZUNvbnN0YW50U2NyaXB0Q29kZTxMb2NhbGVOYW1lPigibWwiKSwgVVNDUklQVF9NQUxBWUFMQU0g
fSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxMb2NhbGVOYW1lPigibW4iKSwg
VVNDUklQVF9DWVJJTExJQyB9LAorICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPExv
Y2FsZU5hbWU+KCJtciIpLCBVU0NSSVBUX0RFVkFOQUdBUkkgfSwKKyAgICAgICAgeyBwYXJzZUNv
bnN0YW50U2NyaXB0Q29kZTxMb2NhbGVOYW1lPigibXMiKSwgVVNDUklQVF9MQVRJTiB9LAorICAg
ICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPExvY2FsZU5hbWU+KCJtdCIpLCBVU0NSSVBU
X0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8TG9jYWxlTmFtZT4o
Im15IiksIFVTQ1JJUFRfTVlBTk1BUiB9LAorICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRD
b2RlPExvY2FsZU5hbWU+KCJteXYiKSwgVVNDUklQVF9DWVJJTExJQyB9LAorICAgICAgICB7IHBh
cnNlQ29uc3RhbnRTY3JpcHRDb2RlPExvY2FsZU5hbWU+KCJuYSIpLCBVU0NSSVBUX0xBVElOIH0s
CisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8TG9jYWxlTmFtZT4oIm5iIiksIFVT
Q1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxMb2NhbGVO
YW1lPigibmUiKSwgVVNDUklQVF9ERVZBTkFHQVJJIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFu
dFNjcmlwdENvZGU8TG9jYWxlTmFtZT4oIm5pdSIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAg
IHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8TG9jYWxlTmFtZT4oIm5sIiksIFVTQ1JJUFRfTEFU
SU4gfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxMb2NhbGVOYW1lPigibm4i
KSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPExv
Y2FsZU5hbWU+KCJuciIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFu
dFNjcmlwdENvZGU8TG9jYWxlTmFtZT4oIm5zbyIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAg
IHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8TG9jYWxlTmFtZT4oIm55IiksIFVTQ1JJUFRfTEFU
SU4gfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxMb2NhbGVOYW1lPigib2Mi
KSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPExv
Y2FsZU5hbWU+KCJvbSIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFu
dFNjcmlwdENvZGU8TG9jYWxlTmFtZT4oIm9yIiksIFVTQ1JJUFRfT1JJWUEgfSwKKyAgICAgICAg
eyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxMb2NhbGVOYW1lPigib3MiKSwgVVNDUklQVF9DWVJJ
TExJQyB9LAorICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPExvY2FsZU5hbWU+KCJw
YSIpLCBVU0NSSVBUX0dVUk1VS0hJIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENv
ZGU8TG9jYWxlTmFtZT4oInBhZyIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VD
b25zdGFudFNjcmlwdENvZGU8TG9jYWxlTmFtZT4oInBhcCIpLCBVU0NSSVBUX0xBVElOIH0sCisg
ICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8TG9jYWxlTmFtZT4oInBhdSIpLCBVU0NS
SVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8TG9jYWxlTmFt
ZT4oInBsIiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0
Q29kZTxMb2NhbGVOYW1lPigicG9uIiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJz
ZUNvbnN0YW50U2NyaXB0Q29kZTxMb2NhbGVOYW1lPigicHMiKSwgVVNDUklQVF9BUkFCSUMgfSwK
KyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxMb2NhbGVOYW1lPigicHQiKSwgVVND
UklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPExvY2FsZU5h
bWU+KCJxdSIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlw
dENvZGU8TG9jYWxlTmFtZT4oInJtIiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJz
ZUNvbnN0YW50U2NyaXB0Q29kZTxMb2NhbGVOYW1lPigicm4iKSwgVVNDUklQVF9MQVRJTiB9LAor
ICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPExvY2FsZU5hbWU+KCJybyIpLCBVU0NS
SVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8TG9jYWxlTmFt
ZT4oInJ1IiksIFVTQ1JJUFRfQ1lSSUxMSUMgfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2Ny
aXB0Q29kZTxMb2NhbGVOYW1lPigicnciKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBh
cnNlQ29uc3RhbnRTY3JpcHRDb2RlPExvY2FsZU5hbWU+KCJzYSIpLCBVU0NSSVBUX0RFVkFOQUdB
UkkgfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxMb2NhbGVOYW1lPigic2Fo
IiksIFVTQ1JJUFRfQ1lSSUxMSUMgfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29k
ZTxMb2NhbGVOYW1lPigic2F0IiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUNv
bnN0YW50U2NyaXB0Q29kZTxMb2NhbGVOYW1lPigic2QiKSwgVVNDUklQVF9BUkFCSUMgfSwKKyAg
ICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxMb2NhbGVOYW1lPigic2UiKSwgVVNDUklQ
VF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPExvY2FsZU5hbWU+
KCJzZyIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENv
ZGU8TG9jYWxlTmFtZT4oInNpIiksIFVTQ1JJUFRfU0lOSEFMQSB9LAorICAgICAgICB7IHBhcnNl
Q29uc3RhbnRTY3JpcHRDb2RlPExvY2FsZU5hbWU+KCJzaWQiKSwgVVNDUklQVF9MQVRJTiB9LAor
ICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPExvY2FsZU5hbWU+KCJzayIpLCBVU0NS
SVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8TG9jYWxlTmFt
ZT4oInNsIiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0
Q29kZTxMb2NhbGVOYW1lPigic20iKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNl
Q29uc3RhbnRTY3JpcHRDb2RlPExvY2FsZU5hbWU+KCJzbyIpLCBVU0NSSVBUX0xBVElOIH0sCisg
ICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8TG9jYWxlTmFtZT4oInNxIiksIFVTQ1JJ
UFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxMb2NhbGVOYW1l
Pigic3IiKSwgVVNDUklQVF9DWVJJTExJQyB9LAorICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3Jp
cHRDb2RlPExvY2FsZU5hbWU+KCJzcyIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFy
c2VDb25zdGFudFNjcmlwdENvZGU8TG9jYWxlTmFtZT4oInN0IiksIFVTQ1JJUFRfTEFUSU4gfSwK
KyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxMb2NhbGVOYW1lPigic3UiKSwgVVND
UklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPExvY2FsZU5h
bWU+KCJzdiIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlw
dENvZGU8TG9jYWxlTmFtZT4oInN3IiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJz
ZUNvbnN0YW50U2NyaXB0Q29kZTxMb2NhbGVOYW1lPigidGEiKSwgVVNDUklQVF9UQU1JTCB9LAor
ICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPExvY2FsZU5hbWU+KCJ0ZSIpLCBVU0NS
SVBUX1RFTFVHVSB9LAorICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPExvY2FsZU5h
bWU+KCJ0ZXQiKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3Jp
cHRDb2RlPExvY2FsZU5hbWU+KCJ0ZyIpLCBVU0NSSVBUX0NZUklMTElDIH0sCisgICAgICAgIHsg
cGFyc2VDb25zdGFudFNjcmlwdENvZGU8TG9jYWxlTmFtZT4oInRoIiksIFVTQ1JJUFRfVEhBSSB9
LAorICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPExvY2FsZU5hbWU+KCJ0aSIpLCBV
U0NSSVBUX0VUSElPUElDIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8TG9j
YWxlTmFtZT4oInRpZyIpLCBVU0NSSVBUX0VUSElPUElDIH0sCisgICAgICAgIHsgcGFyc2VDb25z
dGFudFNjcmlwdENvZGU8TG9jYWxlTmFtZT4oInRrIiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAg
ICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxMb2NhbGVOYW1lPigidGtsIiksIFVTQ1JJUFRf
TEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxMb2NhbGVOYW1lPigi
dGwiKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2Rl
PExvY2FsZU5hbWU+KCJ0biIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VDb25z
dGFudFNjcmlwdENvZGU8TG9jYWxlTmFtZT4oInRvIiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAg
ICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxMb2NhbGVOYW1lPigidHBpIiksIFVTQ1JJUFRf
TEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxMb2NhbGVOYW1lPigi
dHIiKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2Rl
PExvY2FsZU5hbWU+KCJ0cnYiKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlQ29u
c3RhbnRTY3JpcHRDb2RlPExvY2FsZU5hbWU+KCJ0cyIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAg
ICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8TG9jYWxlTmFtZT4oInR0IiksIFVTQ1JJUFRf
Q1lSSUxMSUMgfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxMb2NhbGVOYW1l
PigidHZsIiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0
Q29kZTxMb2NhbGVOYW1lPigidHciKSwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNl
Q29uc3RhbnRTY3JpcHRDb2RlPExvY2FsZU5hbWU+KCJ0eSIpLCBVU0NSSVBUX0xBVElOIH0sCisg
ICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8TG9jYWxlTmFtZT4oInR5diIpLCBVU0NS
SVBUX0NZUklMTElDIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8TG9jYWxl
TmFtZT4oInVkbSIpLCBVU0NSSVBUX0NZUklMTElDIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFu
dFNjcmlwdENvZGU8TG9jYWxlTmFtZT4oInVnIiksIFVTQ1JJUFRfQVJBQklDIH0sCisgICAgICAg
IHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8TG9jYWxlTmFtZT4oInVrIiksIFVTQ1JJUFRfQ1lS
SUxMSUMgfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxMb2NhbGVOYW1lPigi
dW5kIiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29k
ZTxMb2NhbGVOYW1lPigidXIiKSwgVVNDUklQVF9BUkFCSUMgfSwKKyAgICAgICAgeyBwYXJzZUNv
bnN0YW50U2NyaXB0Q29kZTxMb2NhbGVOYW1lPigidXoiKSwgVVNDUklQVF9DWVJJTExJQyB9LAor
ICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPExvY2FsZU5hbWU+KCJ2ZSIpLCBVU0NS
SVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNjcmlwdENvZGU8TG9jYWxlTmFt
ZT4oInZpIiksIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0
Q29kZTxMb2NhbGVOYW1lPigid2FsIiksIFVTQ1JJUFRfRVRISU9QSUMgfSwKKyAgICAgICAgeyBw
YXJzZUNvbnN0YW50U2NyaXB0Q29kZTxMb2NhbGVOYW1lPigid2FyIiksIFVTQ1JJUFRfTEFUSU4g
fSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxMb2NhbGVOYW1lPigid28iKSwg
VVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPExvY2Fs
ZU5hbWU+KCJ4aCIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgcGFyc2VDb25zdGFudFNj
cmlwdENvZGU8TG9jYWxlTmFtZT4oInlhcCIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsg
cGFyc2VDb25zdGFudFNjcmlwdENvZGU8TG9jYWxlTmFtZT4oInlvIiksIFVTQ1JJUFRfTEFUSU4g
fSwKKyAgICAgICAgeyBwYXJzZUNvbnN0YW50U2NyaXB0Q29kZTxMb2NhbGVOYW1lPigiemEiKSwg
VVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPExvY2Fs
ZU5hbWU+KCJ6aCIpLCBVU0NSSVBUX0hBTiB9LAorICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3Jp
cHRDb2RlPExvY2FsZU5hbWU+KCJ6aF9oayIpLCBVU0NSSVBUX1RSQURJVElPTkFMX0hBTiB9LAor
ICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRDb2RlPExvY2FsZU5hbWU+KCJ6aF90dyIpLCBV
U0NSSVBUX1RSQURJVElPTkFMX0hBTiB9LAorICAgICAgICB7IHBhcnNlQ29uc3RhbnRTY3JpcHRD
b2RlPExvY2FsZU5hbWU+KCJ6dSIpLCBVU0NSSVBUX0xBVElOIH0sCisgICAgfTsKKworICAgIHN0
YXRpY19hc3NlcnQocGFyc2VDb25zdGFudFNjcmlwdENvZGU8TG9jYWxlTmFtZT4oImFhIikgPT0g
MHg2MTYxMDAwMDAwMDAwMDAwVUxMKTsKKyAgICBzdGF0aWNfYXNzZXJ0KHBhcnNlQ29uc3RhbnRT
Y3JpcHRDb2RlPExvY2FsZU5hbWU+KCJ6aF90dyIpID09IDB4N2E2ODVmNzQ3NzAwMDAwMFVMTCk7
CisKKyAgICBBU1NFUlQoCisgICAgICAgIHN0ZDo6aXNfc29ydGVkKHN0ZDo6YmVnaW4obG9jYWxl
U2NyaXB0TGlzdCksIHN0ZDo6ZW5kKGxvY2FsZVNjcmlwdExpc3QpLAorICAgICAgICAgICAgW10o
Y29uc3QgTG9jYWxlU2NyaXB0JiBhLCBjb25zdCBMb2NhbGVTY3JpcHQmIGIpIHsKKyAgICAgICAg
ICAgICAgICByZXR1cm4gYS5sb2NhbGUgPCBiLmxvY2FsZTsKKyAgICAgICAgICAgIH0pKTsKKwor
ICAgIGF1dG8gdHJ5RmluZFNjcmlwdENvZGUgPSBbJl0gKGNvbnN0IFN0cmluZyYgc3RyaW5nKSAt
PiBPcHRpb25hbDxVU2NyaXB0Q29kZT4geworICAgICAgICBhdXRvIGxvY2FsZU5hbWUgPSBwYXJz
ZVNjcmlwdENvZGU8TG9jYWxlTmFtZT4oc3RyaW5nKTsKKyAgICAgICAgaWYgKCFsb2NhbGVOYW1l
KQorICAgICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKworICAgICAgICBhdXRvKiBlbGVt
ZW50ID0gdHJ5QmluYXJ5U2VhcmNoPExvY2FsZVNjcmlwdD4obG9jYWxlU2NyaXB0TGlzdCwgc3Rk
OjpzaXplKGxvY2FsZVNjcmlwdExpc3QpLCBsb2NhbGVOYW1lLnZhbHVlKCksCisgICAgICAgICAg
ICBbXShjb25zdCBMb2NhbGVTY3JpcHQqIGxvY2FsZVNjcmlwdCkgeworICAgICAgICAgICAgICAg
IHJldHVybiBsb2NhbGVTY3JpcHQtPmxvY2FsZTsKKyAgICAgICAgICAgIH0pOworICAgICAgICBp
ZiAoZWxlbWVudCkKKyAgICAgICAgICAgIHJldHVybiBlbGVtZW50LT5zY3JpcHQ7CisgICAgICAg
IHJldHVybiBXVEY6Om51bGxvcHQ7CisgICAgfTsKIAogICAgIFN0cmluZyBjYW5vbmljYWxMb2Nh
bGUgPSBsb2NhbGU7CiAgICAgY2Fub25pY2FsTG9jYWxlLnJlcGxhY2UoJy0nLCAnXycpOwogICAg
IHdoaWxlICghY2Fub25pY2FsTG9jYWxlLmlzRW1wdHkoKSkgewotICAgICAgICBhdXRvIGl0ID0g
bG9jYWxlU2NyaXB0TWFwLmdldCgpLmZpbmQoY2Fub25pY2FsTG9jYWxlKTsKLSAgICAgICAgaWYg
KGl0ICE9IGxvY2FsZVNjcmlwdE1hcC5nZXQoKS5lbmQoKSkKLSAgICAgICAgICAgIHJldHVybiBp
dC0+dmFsdWU7CisgICAgICAgIGlmIChhdXRvIHNjcmlwdENvZGUgPSB0cnlGaW5kU2NyaXB0Q29k
ZShjYW5vbmljYWxMb2NhbGUpKQorICAgICAgICAgICAgcmV0dXJuIHNjcmlwdENvZGUudmFsdWUo
KTsKICAgICAgICAgYXV0byB1bmRlcnNjb3JlUG9zaXRpb24gPSBjYW5vbmljYWxMb2NhbGUucmV2
ZXJzZUZpbmQoJ18nKTsKICAgICAgICAgaWYgKHVuZGVyc2NvcmVQb3NpdGlvbiA9PSBub3RGb3Vu
ZCkKICAgICAgICAgICAgIGJyZWFrOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>426372</attachid>
            <date>2021-04-17 23:26:41 -0700</date>
            <delta_ts>2021-04-17 23:26:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224727-20210417232640.patch</filename>
            <type>text/plain</type>
            <size>31824</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc2MjE3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjg2YWYzN2I3YTJlYWY3
NDA2OTNiYWNhZGFkODQyMTAwYWUyNWUxOS4uMTdmZWE5NTM4OTc1Mjg4N2JhZjhhYTliODY0ZTli
MGQ5ZWU4YzE3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDIxLTA0LTE3ICBZdXN1
a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CisKKyAgICAgICAgVXNlIGJpbmFyeS1zZWFy
Y2ggaW4gTG9jYWxlVG9TY3JpcHRNYXBwaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMjQ3MjcKKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBB
ZGxlci4KKworICAgICAgICBUaGlzIHBhdGNoIHJlbW92ZXMgSGFzaE1hcHMgaW4gTG9jYWxlVG9T
Y3JpcHRNYXBwaW5nLCBhbmQgYmluYXJ5LXNlYXJjaCBvbnRvIHRoZSBjb25zdGFudCBkYXRhIGFy
cmF5cy4KKyAgICAgICAgVGhlc2UgbWFwcyBhcmUgbm90IGZyZXF1ZW50bHkgdXNlZC4gS2V5cyBv
ZiB0aGUgbWFwcyBjYW4gYmUgZW5jb2RlZCBpbnRvIHVpbnQzMl90IG9yIHVpbnQ2NF90IHNvIHRo
YXQKKyAgICAgICAgY29tcGFyaXNvbiBiZWNvbWVzIHN1cGVyIGNoZWFwIGFuZCB3ZSBjYW4gaW5p
dGlhbGl6ZSB0aGlzIGFycmF5IGF0IGNvbXBpbGUtdGltZS4KKworICAgICAgICBXZSBpbnRyb2R1
Y2UgU2NyaXB0TmFtZSh1aW50MzJfdCkgYW5kIExvY2FsZU5hbWUodWludDY0X3QpIGluc3RlYWQg
b2YgU3RyaW5nLiBBbmQgdWVzIGl0IGFuZCBnZW5lcmF0ZQorICAgICAgICBzb3J0ZWQgY29uc3Rh
bnQgZGF0YSBhcnJheSBmb3IgbWFwcGluZ3MuIFdlIHVzZSBiaW5hcnktc2VhcmNoIHRvIGxvb2sg
ZW50cnkgdXAuIFNpbmNlICMgb2YgZW50cmllcyBhcmUKKyAgICAgICAgbm90IGh1Z2UgKH4yMDAp
LCBjb21wYXJpc29ucyBhcmUgZXh0cmVtZWx5IGNoZWFwICh1aW50MzJfdCAvIHVpbnQ2NF90IGNv
bXBhcmlzb24pLCBhbmQgdGhpcyBpcyBub3QgYQorICAgICAgICBob3QgY29kZSwgd2UgY2FuIGp1
c3QgdXNlIGJpbmFyeS1zZWFyY2ggaGVyZSBhbmQgZWxpbWluYXRlIEhhc2hNYXBzJyBtZW1vcnkg
YWxsb2NhdGlvbi4KKworICAgICAgICAqIHBsYXRmb3JtL3RleHQvTG9jYWxlVG9TY3JpcHRNYXBw
aW5nLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBhY2tlZEFTQ0lJTG93ZXJDb2Rlczo6UGFja2Vk
QVNDSUlMb3dlckNvZGVzKToKKyAgICAgICAgKFdlYkNvcmU6OlBhY2tlZEFTQ0lJTG93ZXJDb2Rl
czo6cGFyc2UpOgorICAgICAgICAoV2ViQ29yZTo6UGFja2VkQVNDSUlMb3dlckNvZGVzOjpvcGVy
YXRvcj09KToKKyAgICAgICAgKFdlYkNvcmU6OlBhY2tlZEFTQ0lJTG93ZXJDb2Rlczo6b3BlcmF0
b3IhPSk6CisgICAgICAgIChXZWJDb3JlOjpQYWNrZWRBU0NJSUxvd2VyQ29kZXM6Om9wZXJhdG9y
PCk6CisgICAgICAgIChXZWJDb3JlOjpQYWNrZWRBU0NJSUxvd2VyQ29kZXM6Om9wZXJhdG9yPD0p
OgorICAgICAgICAoV2ViQ29yZTo6UGFja2VkQVNDSUlMb3dlckNvZGVzOjpvcGVyYXRvcj4pOgor
ICAgICAgICAoV2ViQ29yZTo6UGFja2VkQVNDSUlMb3dlckNvZGVzOjpvcGVyYXRvcj49KToKKyAg
ICAgICAgKFdlYkNvcmU6OlBhY2tlZEFTQ0lJTG93ZXJDb2Rlczo6dmFsdWUgY29uc3QpOgorICAg
ICAgICAoV2ViQ29yZTo6c2NyaXB0TmFtZVRvQ29kZSk6CisgICAgICAgIChXZWJDb3JlOjpsb2Nh
bGVUb1NjcmlwdENvZGVGb3JGb250U2VsZWN0aW9uKToKKwogMjAyMS0wNC0xNyAgVGltIE5ndXll
biAgPG50aW1AYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBzdXBwb3J0IGZvciBpbmxpbmUte3N0
YXJ0L2VuZH0gdmFsdWVzIHRvIGZsb2F0ICYgY2xlYXIgcHJvcGVydGllcwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9Mb2NhbGVUb1NjcmlwdE1hcHBpbmcuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9Mb2NhbGVUb1NjcmlwdE1hcHBpbmcuY3BwCmlu
ZGV4IDQ5ZTBlYWE3YmViOWIzMzU3YzE3MGJiMGUxMjA0NjEyOTZkMWEzNGQuLmFmMDRkNTMwMzBm
ZWNiY2ZiODVlYTQ1OTVjYzkxZjJlNGUwZTlhNDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL3RleHQvTG9jYWxlVG9TY3JpcHRNYXBwaW5nLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS90ZXh0L0xvY2FsZVRvU2NyaXB0TWFwcGluZy5jcHAKQEAgLTEsNSArMSw2
IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQpAQCAtMzcsMzY4ICszOCw0
NjAgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdHJ1Y3QgU2NyaXB0TmFtZUNvZGUgewot
ICAgIEFTQ0lJTGl0ZXJhbCBuYW1lOwotICAgIFVTY3JpcHRDb2RlIGNvZGU7Ci19OwordGVtcGxh
dGU8dHlwZW5hbWUgU3RvcmFnZUludGVnZXI+CitjbGFzcyBQYWNrZWRBU0NJSUxvd2VyQ29kZXMg
eworcHVibGljOgorICAgIHN0YXRpY19hc3NlcnQoc3RkOjppc191bnNpZ25lZF92PFN0b3JhZ2VJ
bnRlZ2VyPik7CisKKyAgICB0ZW1wbGF0ZTx1bnNpZ25lZCBjaGFyYWN0ZXJDb3VudFBsdXNPbmU+
CisgICAgY29uc3RleHByIFBhY2tlZEFTQ0lJTG93ZXJDb2Rlcyhjb25zdCBjaGFyICgmc3RyaW5n
KVtjaGFyYWN0ZXJDb3VudFBsdXNPbmVdKQorICAgIHsKKyAgICAgICAgY29uc3RleHByIHVuc2ln
bmVkIGxlbmd0aCA9IGNoYXJhY3RlckNvdW50UGx1c09uZSAtIDE7CisgICAgICAgIEFTU0VSVF9V
TkRFUl9DT05TVEVYUFJfQ09OVEVYVChsZW5ndGggPD0gc2l6ZW9mKFN0b3JhZ2VJbnRlZ2VyKSk7
CisgICAgICAgIEFTU0VSVF9VTkRFUl9DT05TVEVYUFJfQ09OVEVYVCghc3RyaW5nW2xlbmd0aF0p
OworICAgICAgICBTdG9yYWdlSW50ZWdlciByZXN1bHQgPSAwOworICAgICAgICBmb3IgKHVuc2ln
bmVkIGluZGV4ID0gMDsgaW5kZXggPCBsZW5ndGg7ICsraW5kZXgpIHsKKyAgICAgICAgICAgIHVp
bnQ4X3QgY29kZSA9IHN0YXRpY19jYXN0PHVpbnQ4X3Q+KHN0cmluZ1tpbmRleF0pOworICAgICAg
ICAgICAgcmVzdWx0IHw9IHN0YXRpY19jYXN0PFN0b3JhZ2VJbnRlZ2VyPihjb2RlKSA8PCAoKHNp
emVvZihTdG9yYWdlSW50ZWdlcikgLSBpbmRleCAtIDEpICogOCk7CisgICAgICAgIH0KKyAgICAg
ICAgbV92YWx1ZSA9IHJlc3VsdDsKKyAgICB9CisKKyAgICBzdGF0aWMgT3B0aW9uYWw8UGFja2Vk
QVNDSUlMb3dlckNvZGVzPiBwYXJzZShTdHJpbmdWaWV3IHN0cmluZykKKyAgICB7CisgICAgICAg
IGlmIChzdHJpbmcubGVuZ3RoKCkgPiBzaXplb2YoU3RvcmFnZUludGVnZXIpKQorICAgICAgICAg
ICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKyAgICAgICAgU3RvcmFnZUludGVnZXIgcmVzdWx0ID0g
MDsKKyAgICAgICAgZm9yICh1bnNpZ25lZCBpbmRleCA9IDA7IGluZGV4IDwgc3RyaW5nLmxlbmd0
aCgpOyArK2luZGV4KSB7CisgICAgICAgICAgICBVQ2hhciBjb2RlID0gc3RyaW5nW2luZGV4XTsK
KyAgICAgICAgICAgIGlmICghaXNBU0NJSShjb2RlKSkKKyAgICAgICAgICAgICAgICByZXR1cm4g
V1RGOjpudWxsb3B0OworICAgICAgICAgICAgcmVzdWx0IHw9IHN0YXRpY19jYXN0PFN0b3JhZ2VJ
bnRlZ2VyPih0b0FTQ0lJTG93ZXIoY29kZSkpIDw8ICgoc2l6ZW9mKFN0b3JhZ2VJbnRlZ2VyKSAt
IGluZGV4IC0gMSkgKiA4KTsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4gUGFja2VkQVNDSUlM
b3dlckNvZGVzKHJlc3VsdCk7CisgICAgfQorCisgICAgZnJpZW5kIGNvbnN0ZXhwciBib29sIG9w
ZXJhdG9yPT0oUGFja2VkQVNDSUlMb3dlckNvZGVzIGxocywgUGFja2VkQVNDSUlMb3dlckNvZGVz
IHJocykKKyAgICB7CisgICAgICAgIHJldHVybiBsaHMubV92YWx1ZSA9PSByaHMubV92YWx1ZTsK
KyAgICB9CiAKLS8vIFRoaXMgZ2VuZXJhbGx5IG1hcHMgYW4gSVNPIDE1OTI0IHNjcmlwdCBjb2Rl
IHRvIGl0cyBVU2NyaXB0Q29kZSwgYnV0IGNlcnRhaW4gZmFtaWxpZXMgb2Ygc2NyaXB0IGNvZGVz
IGFyZQotLy8gdHJlYXRlZCBhcyBhIHNpbmdsZSBzY3JpcHQgZm9yIGFzc2lnbmluZyBhIHBlci1z
Y3JpcHQgZm9udCBpbiBTZXR0aW5ncy4gRm9yIGV4YW1wbGUsICJoaXJhIiBpcyBtYXBwZWQgdG8K
LS8vIFVTQ1JJUFRfS0FUQUtBTkFfT1JfSElSQUdBTkEgaW5zdGVhZCBvZiBVU0NSSVBUX0hJUkFH
QU5BLCBzaW5jZSB3ZSB3YW50IGFsbCBKYXBhbmVzZSBzY3JpcHRzIHRvIGJlIHJlbmRlcmVkCi0v
LyB1c2luZyB0aGUgc2FtZSBmb250IHNldHRpbmcuCi1zdGF0aWMgY29uc3QgU2NyaXB0TmFtZUNv
ZGUgc2NyaXB0TmFtZUNvZGVMaXN0W10gPSB7Ci0gICAgeyAienl5eSJfcywgVVNDUklQVF9DT01N
T04gfSwKLSAgICB7ICJxYWFpIl9zLCBVU0NSSVBUX0lOSEVSSVRFRCB9LAotICAgIHsgImFyYWIi
X3MsIFVTQ1JJUFRfQVJBQklDIH0sCi0gICAgeyAiYXJtbiJfcywgVVNDUklQVF9BUk1FTklBTiB9
LAotICAgIHsgImJlbmciX3MsIFVTQ1JJUFRfQkVOR0FMSSB9LAotICAgIHsgImJvcG8iX3MsIFVT
Q1JJUFRfQk9QT01PRk8gfSwKLSAgICB7ICJjaGVyIl9zLCBVU0NSSVBUX0NIRVJPS0VFIH0sCi0g
ICAgeyAiY29wdCJfcywgVVNDUklQVF9DT1BUSUMgfSwKLSAgICB7ICJjeXJsIl9zLCBVU0NSSVBU
X0NZUklMTElDIH0sCi0gICAgeyAiZHNydCJfcywgVVNDUklQVF9ERVNFUkVUIH0sCi0gICAgeyAi
ZGV2YSJfcywgVVNDUklQVF9ERVZBTkFHQVJJIH0sCi0gICAgeyAiZXRoaSJfcywgVVNDUklQVF9F
VEhJT1BJQyB9LAotICAgIHsgImdlb3IiX3MsIFVTQ1JJUFRfR0VPUkdJQU4gfSwKLSAgICB7ICJn
b3RoIl9zLCBVU0NSSVBUX0dPVEhJQyB9LAotICAgIHsgImdyZWsiX3MsIFVTQ1JJUFRfR1JFRUsg
fSwKLSAgICB7ICJndWpyIl9zLCBVU0NSSVBUX0dVSkFSQVRJIH0sCi0gICAgeyAiZ3VydSJfcywg
VVNDUklQVF9HVVJNVUtISSB9LAotICAgIHsgImhhbmkiX3MsIFVTQ1JJUFRfSEFOIH0sCi0gICAg
eyAiaGFuZyJfcywgVVNDUklQVF9IQU5HVUwgfSwKLSAgICB7ICJoZWJyIl9zLCBVU0NSSVBUX0hF
QlJFVyB9LAotICAgIHsgImhpcmEiX3MsIFVTQ1JJUFRfS0FUQUtBTkFfT1JfSElSQUdBTkEgfSwK
LSAgICB7ICJrbmRhIl9zLCBVU0NSSVBUX0tBTk5BREEgfSwKLSAgICB7ICJrYW5hIl9zLCBVU0NS
SVBUX0tBVEFLQU5BX09SX0hJUkFHQU5BIH0sCi0gICAgeyAia2htciJfcywgVVNDUklQVF9LSE1F
UiB9LAotICAgIHsgImxhb28iX3MsIFVTQ1JJUFRfTEFPIH0sCi0gICAgeyAibGF0biJfcywgVVND
UklQVF9MQVRJTiB9LAotICAgIHsgIm1seW0iX3MsIFVTQ1JJUFRfTUFMQVlBTEFNIH0sCi0gICAg
eyAibW9uZyJfcywgVVNDUklQVF9NT05HT0xJQU4gfSwKLSAgICB7ICJteW1yIl9zLCBVU0NSSVBU
X01ZQU5NQVIgfSwKLSAgICB7ICJvZ2FtIl9zLCBVU0NSSVBUX09HSEFNIH0sCi0gICAgeyAiaXRh
bCJfcywgVVNDUklQVF9PTERfSVRBTElDIH0sCi0gICAgeyAib3J5YSJfcywgVVNDUklQVF9PUklZ
QSB9LAotICAgIHsgInJ1bnIiX3MsIFVTQ1JJUFRfUlVOSUMgfSwKLSAgICB7ICJzaW5oIl9zLCBV
U0NSSVBUX1NJTkhBTEEgfSwKLSAgICB7ICJzeXJjIl9zLCBVU0NSSVBUX1NZUklBQyB9LAotICAg
IHsgInRhbWwiX3MsIFVTQ1JJUFRfVEFNSUwgfSwKLSAgICB7ICJ0ZWx1Il9zLCBVU0NSSVBUX1RF
TFVHVSB9LAotICAgIHsgInRoYWEiX3MsIFVTQ1JJUFRfVEhBQU5BIH0sCi0gICAgeyAidGhhaSJf
cywgVVNDUklQVF9USEFJIH0sCi0gICAgeyAidGlidCJfcywgVVNDUklQVF9USUJFVEFOIH0sCi0g
ICAgeyAiY2FucyJfcywgVVNDUklQVF9DQU5BRElBTl9BQk9SSUdJTkFMIH0sCi0gICAgeyAieWlp
aSJfcywgVVNDUklQVF9ZSSB9LAotICAgIHsgInRnbGciX3MsIFVTQ1JJUFRfVEFHQUxPRyB9LAot
ICAgIHsgImhhbm8iX3MsIFVTQ1JJUFRfSEFOVU5PTyB9LAotICAgIHsgImJ1aGQiX3MsIFVTQ1JJ
UFRfQlVISUQgfSwKLSAgICB7ICJ0YWdiIl9zLCBVU0NSSVBUX1RBR0JBTldBIH0sCi0gICAgeyAi
YnJhaSJfcywgVVNDUklQVF9CUkFJTExFIH0sCi0gICAgeyAiY3BydCJfcywgVVNDUklQVF9DWVBS
SU9UIH0sCi0gICAgeyAibGltYiJfcywgVVNDUklQVF9MSU1CVSB9LAotICAgIHsgImxpbmIiX3Ms
IFVTQ1JJUFRfTElORUFSX0IgfSwKLSAgICB7ICJvc21hIl9zLCBVU0NSSVBUX09TTUFOWUEgfSwK
LSAgICB7ICJzaGF3Il9zLCBVU0NSSVBUX1NIQVZJQU4gfSwKLSAgICB7ICJ0YWxlIl9zLCBVU0NS
SVBUX1RBSV9MRSB9LAotICAgIHsgInVnYXIiX3MsIFVTQ1JJUFRfVUdBUklUSUMgfSwKLSAgICB7
ICJocmt0Il9zLCBVU0NSSVBUX0tBVEFLQU5BX09SX0hJUkFHQU5BIH0sCi0gICAgeyAiYnVnaSJf
cywgVVNDUklQVF9CVUdJTkVTRSB9LAotICAgIHsgImdsYWciX3MsIFVTQ1JJUFRfR0xBR09MSVRJ
QyB9LAotICAgIHsgImtoYXIiX3MsIFVTQ1JJUFRfS0hBUk9TSFRISSB9LAotICAgIHsgInN5bG8i
X3MsIFVTQ1JJUFRfU1lMT1RJX05BR1JJIH0sCi0gICAgeyAidGFsdSJfcywgVVNDUklQVF9ORVdf
VEFJX0xVRSB9LAotICAgIHsgInRmbmciX3MsIFVTQ1JJUFRfVElGSU5BR0ggfSwKLSAgICB7ICJ4
cGVvIl9zLCBVU0NSSVBUX09MRF9QRVJTSUFOIH0sCi0gICAgeyAiYmFsaSJfcywgVVNDUklQVF9C
QUxJTkVTRSB9LAotICAgIHsgImJhdGsiX3MsIFVTQ1JJUFRfQkFUQUsgfSwKLSAgICB7ICJibGlz
Il9zLCBVU0NSSVBUX0JMSVNTWU1CT0xTIH0sCi0gICAgeyAiYnJhaCJfcywgVVNDUklQVF9CUkFI
TUkgfSwKLSAgICB7ICJjaGFtIl9zLCBVU0NSSVBUX0NIQU0gfSwKLSAgICB7ICJjaXJ0Il9zLCBV
U0NSSVBUX0NJUlRIIH0sCi0gICAgeyAiY3lycyJfcywgVVNDUklQVF9PTERfQ0hVUkNIX1NMQVZP
TklDX0NZUklMTElDIH0sCi0gICAgeyAiZWd5ZCJfcywgVVNDUklQVF9ERU1PVElDX0VHWVBUSUFO
IH0sCi0gICAgeyAiZWd5aCJfcywgVVNDUklQVF9ISUVSQVRJQ19FR1lQVElBTiB9LAotICAgIHsg
ImVneXAiX3MsIFVTQ1JJUFRfRUdZUFRJQU5fSElFUk9HTFlQSFMgfSwKLSAgICB7ICJnZW9rIl9z
LCBVU0NSSVBUX0tIVVRTVVJJIH0sCi0gICAgeyAiaGFucyJfcywgVVNDUklQVF9TSU1QTElGSUVE
X0hBTiB9LAotICAgIHsgImhhbnQiX3MsIFVTQ1JJUFRfVFJBRElUSU9OQUxfSEFOIH0sCi0gICAg
eyAiaG1uZyJfcywgVVNDUklQVF9QQUhBV0hfSE1PTkcgfSwKLSAgICB7ICJodW5nIl9zLCBVU0NS
SVBUX09MRF9IVU5HQVJJQU4gfSwKLSAgICB7ICJpbmRzIl9zLCBVU0NSSVBUX0hBUkFQUEFOX0lO
RFVTIH0sCi0gICAgeyAiamF2YSJfcywgVVNDUklQVF9KQVZBTkVTRSB9LAotICAgIHsgImthbGki
X3MsIFVTQ1JJUFRfS0FZQUhfTEkgfSwKLSAgICB7ICJsYXRmIl9zLCBVU0NSSVBUX0xBVElOX0ZS
QUtUVVIgfSwKLSAgICB7ICJsYXRnIl9zLCBVU0NSSVBUX0xBVElOX0dBRUxJQyB9LAotICAgIHsg
ImxlcGMiX3MsIFVTQ1JJUFRfTEVQQ0hBIH0sCi0gICAgeyAibGluYSJfcywgVVNDUklQVF9MSU5F
QVJfQSB9LAotICAgIHsgIm1hbmQiX3MsIFVTQ1JJUFRfTUFOREFFQU4gfSwKLSAgICB7ICJtYXlh
Il9zLCBVU0NSSVBUX01BWUFOX0hJRVJPR0xZUEhTIH0sCi0gICAgeyAibWVybyJfcywgVVNDUklQ
VF9NRVJPSVRJQyB9LAotICAgIHsgIm5rb28iX3MsIFVTQ1JJUFRfTktPIH0sCi0gICAgeyAib3Jr
aCJfcywgVVNDUklQVF9PUktIT04gfSwKLSAgICB7ICJwZXJtIl9zLCBVU0NSSVBUX09MRF9QRVJN
SUMgfSwKLSAgICB7ICJwaGFnIl9zLCBVU0NSSVBUX1BIQUdTX1BBIH0sCi0gICAgeyAicGhueCJf
cywgVVNDUklQVF9QSE9FTklDSUFOIH0sCi0gICAgeyAicGxyZCJfcywgVVNDUklQVF9QSE9ORVRJ
Q19QT0xMQVJEIH0sCi0gICAgeyAicm9ybyJfcywgVVNDUklQVF9ST05HT1JPTkdPIH0sCi0gICAg
eyAic2FyYSJfcywgVVNDUklQVF9TQVJBVEkgfSwKLSAgICB7ICJzeXJlIl9zLCBVU0NSSVBUX0VT
VFJBTkdFTE9fU1lSSUFDIH0sCi0gICAgeyAic3lyaiJfcywgVVNDUklQVF9XRVNURVJOX1NZUklB
QyB9LAotICAgIHsgInN5cm4iX3MsIFVTQ1JJUFRfRUFTVEVSTl9TWVJJQUMgfSwKLSAgICB7ICJ0
ZW5nIl9zLCBVU0NSSVBUX1RFTkdXQVIgfSwKLSAgICB7ICJ2YWlpIl9zLCBVU0NSSVBUX1ZBSSB9
LAotICAgIHsgInZpc3AiX3MsIFVTQ1JJUFRfVklTSUJMRV9TUEVFQ0ggfSwKLSAgICB7ICJ4c3V4
Il9zLCBVU0NSSVBUX0NVTkVJRk9STSB9LAotICAgIHsgImpwYW4iX3MsIFVTQ1JJUFRfS0FUQUtB
TkFfT1JfSElSQUdBTkEgfSwKLSAgICB7ICJrb3JlIl9zLCBVU0NSSVBUX0hBTkdVTCB9LAotICAg
IHsgInp4eHgiX3MsIFVTQ1JJUFRfVU5XUklUVEVOX0xBTkdVQUdFUyB9LAotICAgIHsgInp6enoi
X3MsIFVTQ1JJUFRfVU5LTk9XTiB9CisgICAgZnJpZW5kIGNvbnN0ZXhwciBib29sIG9wZXJhdG9y
IT0oUGFja2VkQVNDSUlMb3dlckNvZGVzIGxocywgUGFja2VkQVNDSUlMb3dlckNvZGVzIHJocykK
KyAgICB7CisgICAgICAgIHJldHVybiBsaHMubV92YWx1ZSAhPSByaHMubV92YWx1ZTsKKyAgICB9
CisKKyAgICBmcmllbmQgY29uc3RleHByIGJvb2wgb3BlcmF0b3I8KFBhY2tlZEFTQ0lJTG93ZXJD
b2RlcyBsaHMsIFBhY2tlZEFTQ0lJTG93ZXJDb2RlcyByaHMpCisgICAgeworICAgICAgICByZXR1
cm4gbGhzLm1fdmFsdWUgPCByaHMubV92YWx1ZTsKKyAgICB9CisKKyAgICBmcmllbmQgY29uc3Rl
eHByIGJvb2wgb3BlcmF0b3I8PShQYWNrZWRBU0NJSUxvd2VyQ29kZXMgbGhzLCBQYWNrZWRBU0NJ
SUxvd2VyQ29kZXMgcmhzKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGxocy5tX3ZhbHVlIDw9IHJo
cy5tX3ZhbHVlOworICAgIH0KKworICAgIGZyaWVuZCBjb25zdGV4cHIgYm9vbCBvcGVyYXRvcj4o
UGFja2VkQVNDSUlMb3dlckNvZGVzIGxocywgUGFja2VkQVNDSUlMb3dlckNvZGVzIHJocykKKyAg
ICB7CisgICAgICAgIHJldHVybiBsaHMubV92YWx1ZSA+IHJocy5tX3ZhbHVlOworICAgIH0KKwor
ICAgIGZyaWVuZCBjb25zdGV4cHIgYm9vbCBvcGVyYXRvcj49KFBhY2tlZEFTQ0lJTG93ZXJDb2Rl
cyBsaHMsIFBhY2tlZEFTQ0lJTG93ZXJDb2RlcyByaHMpCisgICAgeworICAgICAgICByZXR1cm4g
bGhzLm1fdmFsdWUgPj0gcmhzLm1fdmFsdWU7CisgICAgfQorCisgICAgY29uc3RleHByIFN0b3Jh
Z2VJbnRlZ2VyIHZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV92YWx1ZTsgfQorCitwcml2YXRlOgor
ICAgIGV4cGxpY2l0IGNvbnN0ZXhwciBQYWNrZWRBU0NJSUxvd2VyQ29kZXMoU3RvcmFnZUludGVn
ZXIgdmFsdWUpCisgICAgICAgIDogbV92YWx1ZSh2YWx1ZSkKKyAgICB7CisgICAgfQorCisgICAg
U3RvcmFnZUludGVnZXIgbV92YWx1ZSB7IDAgfTsKIH07CiAKLXN0cnVjdCBTY3JpcHROYW1lQ29k
ZU1hcEhhc2hUcmFpdHMgOiBwdWJsaWMgSGFzaFRyYWl0czxTdHJpbmc+IHsKLSAgICBzdGF0aWMg
Y29uc3QgaW50IG1pbmltdW1UYWJsZVNpemUgPSBXVEY6Okhhc2hUYWJsZUNhcGFjaXR5Rm9yU2l6
ZTxXVEZfQVJSQVlfTEVOR1RIKHNjcmlwdE5hbWVDb2RlTGlzdCk+Ojp2YWx1ZTsKK3VzaW5nIFNj
cmlwdE5hbWUgPSBQYWNrZWRBU0NJSUxvd2VyQ29kZXM8dWludDMyX3Q+Oworc3RydWN0IFNjcmlw
dE5hbWVDb2RlIHsKKyAgICBTY3JpcHROYW1lIG5hbWU7CisgICAgVVNjcmlwdENvZGUgY29kZTsK
IH07CiAKIFVTY3JpcHRDb2RlIHNjcmlwdE5hbWVUb0NvZGUoY29uc3QgU3RyaW5nJiBzY3JpcHRO
YW1lKQogewotICAgIHN0YXRpYyBjb25zdCBhdXRvIHNjcmlwdE5hbWVDb2RlTWFwID0gbWFrZU5l
dmVyRGVzdHJveWVkKFtdIHsKLSAgICAgICAgSGFzaE1hcDxTdHJpbmcsIFVTY3JpcHRDb2RlLCBB
U0NJSUNhc2VJbnNlbnNpdGl2ZUhhc2gsIFNjcmlwdE5hbWVDb2RlTWFwSGFzaFRyYWl0cz4gbWFw
OwotICAgICAgICBmb3IgKGF1dG8mIG5hbWVBbmRDb2RlIDogc2NyaXB0TmFtZUNvZGVMaXN0KQot
ICAgICAgICAgICAgbWFwLmFkZChuYW1lQW5kQ29kZS5uYW1lLCBuYW1lQW5kQ29kZS5jb2RlKTsK
LSAgICAgICAgcmV0dXJuIG1hcDsKLSAgICB9KCkpOworICAgIC8vIFRoaXMgZ2VuZXJhbGx5IG1h
cHMgYW4gSVNPIDE1OTI0IHNjcmlwdCBjb2RlIHRvIGl0cyBVU2NyaXB0Q29kZSwgYnV0IGNlcnRh
aW4gZmFtaWxpZXMgb2Ygc2NyaXB0IGNvZGVzIGFyZQorICAgIC8vIHRyZWF0ZWQgYXMgYSBzaW5n
bGUgc2NyaXB0IGZvciBhc3NpZ25pbmcgYSBwZXItc2NyaXB0IGZvbnQgaW4gU2V0dGluZ3MuIEZv
ciBleGFtcGxlLCAiaGlyYSIgaXMgbWFwcGVkIHRvCisgICAgLy8gVVNDUklQVF9LQVRBS0FOQV9P
Ul9ISVJBR0FOQSBpbnN0ZWFkIG9mIFVTQ1JJUFRfSElSQUdBTkEsIHNpbmNlIHdlIHdhbnQgYWxs
IEphcGFuZXNlIHNjcmlwdHMgdG8gYmUgcmVuZGVyZWQKKyAgICAvLyB1c2luZyB0aGUgc2FtZSBm
b250IHNldHRpbmcuCisgICAgc3RhdGljIGNvbnN0ZXhwciBTY3JpcHROYW1lQ29kZSBzY3JpcHRO
YW1lQ29kZUxpc3RbXSA9IHsKKyAgICAgICAgeyAiYXJhYiIsIFVTQ1JJUFRfQVJBQklDIH0sCisg
ICAgICAgIHsgImFybW4iLCBVU0NSSVBUX0FSTUVOSUFOIH0sCisgICAgICAgIHsgImJhbGkiLCBV
U0NSSVBUX0JBTElORVNFIH0sCisgICAgICAgIHsgImJhdGsiLCBVU0NSSVBUX0JBVEFLIH0sCisg
ICAgICAgIHsgImJlbmciLCBVU0NSSVBUX0JFTkdBTEkgfSwKKyAgICAgICAgeyAiYmxpcyIsIFVT
Q1JJUFRfQkxJU1NZTUJPTFMgfSwKKyAgICAgICAgeyAiYm9wbyIsIFVTQ1JJUFRfQk9QT01PRk8g
fSwKKyAgICAgICAgeyAiYnJhaCIsIFVTQ1JJUFRfQlJBSE1JIH0sCisgICAgICAgIHsgImJyYWki
LCBVU0NSSVBUX0JSQUlMTEUgfSwKKyAgICAgICAgeyAiYnVnaSIsIFVTQ1JJUFRfQlVHSU5FU0Ug
fSwKKyAgICAgICAgeyAiYnVoZCIsIFVTQ1JJUFRfQlVISUQgfSwKKyAgICAgICAgeyAiY2FucyIs
IFVTQ1JJUFRfQ0FOQURJQU5fQUJPUklHSU5BTCB9LAorICAgICAgICB7ICJjaGFtIiwgVVNDUklQ
VF9DSEFNIH0sCisgICAgICAgIHsgImNoZXIiLCBVU0NSSVBUX0NIRVJPS0VFIH0sCisgICAgICAg
IHsgImNpcnQiLCBVU0NSSVBUX0NJUlRIIH0sCisgICAgICAgIHsgImNvcHQiLCBVU0NSSVBUX0NP
UFRJQyB9LAorICAgICAgICB7ICJjcHJ0IiwgVVNDUklQVF9DWVBSSU9UIH0sCisgICAgICAgIHsg
ImN5cmwiLCBVU0NSSVBUX0NZUklMTElDIH0sCisgICAgICAgIHsgImN5cnMiLCBVU0NSSVBUX09M
RF9DSFVSQ0hfU0xBVk9OSUNfQ1lSSUxMSUMgfSwKKyAgICAgICAgeyAiZGV2YSIsIFVTQ1JJUFRf
REVWQU5BR0FSSSB9LAorICAgICAgICB7ICJkc3J0IiwgVVNDUklQVF9ERVNFUkVUIH0sCisgICAg
ICAgIHsgImVneWQiLCBVU0NSSVBUX0RFTU9USUNfRUdZUFRJQU4gfSwKKyAgICAgICAgeyAiZWd5
aCIsIFVTQ1JJUFRfSElFUkFUSUNfRUdZUFRJQU4gfSwKKyAgICAgICAgeyAiZWd5cCIsIFVTQ1JJ
UFRfRUdZUFRJQU5fSElFUk9HTFlQSFMgfSwKKyAgICAgICAgeyAiZXRoaSIsIFVTQ1JJUFRfRVRI
SU9QSUMgfSwKKyAgICAgICAgeyAiZ2VvayIsIFVTQ1JJUFRfS0hVVFNVUkkgfSwKKyAgICAgICAg
eyAiZ2VvciIsIFVTQ1JJUFRfR0VPUkdJQU4gfSwKKyAgICAgICAgeyAiZ2xhZyIsIFVTQ1JJUFRf
R0xBR09MSVRJQyB9LAorICAgICAgICB7ICJnb3RoIiwgVVNDUklQVF9HT1RISUMgfSwKKyAgICAg
ICAgeyAiZ3JlayIsIFVTQ1JJUFRfR1JFRUsgfSwKKyAgICAgICAgeyAiZ3VqciIsIFVTQ1JJUFRf
R1VKQVJBVEkgfSwKKyAgICAgICAgeyAiZ3VydSIsIFVTQ1JJUFRfR1VSTVVLSEkgfSwKKyAgICAg
ICAgeyAiaGFuZyIsIFVTQ1JJUFRfSEFOR1VMIH0sCisgICAgICAgIHsgImhhbmkiLCBVU0NSSVBU
X0hBTiB9LAorICAgICAgICB7ICJoYW5vIiwgVVNDUklQVF9IQU5VTk9PIH0sCisgICAgICAgIHsg
ImhhbnMiLCBVU0NSSVBUX1NJTVBMSUZJRURfSEFOIH0sCisgICAgICAgIHsgImhhbnQiLCBVU0NS
SVBUX1RSQURJVElPTkFMX0hBTiB9LAorICAgICAgICB7ICJoZWJyIiwgVVNDUklQVF9IRUJSRVcg
fSwKKyAgICAgICAgeyAiaGlyYSIsIFVTQ1JJUFRfS0FUQUtBTkFfT1JfSElSQUdBTkEgfSwKKyAg
ICAgICAgeyAiaG1uZyIsIFVTQ1JJUFRfUEFIQVdIX0hNT05HIH0sCisgICAgICAgIHsgImhya3Qi
LCBVU0NSSVBUX0tBVEFLQU5BX09SX0hJUkFHQU5BIH0sCisgICAgICAgIHsgImh1bmciLCBVU0NS
SVBUX09MRF9IVU5HQVJJQU4gfSwKKyAgICAgICAgeyAiaW5kcyIsIFVTQ1JJUFRfSEFSQVBQQU5f
SU5EVVMgfSwKKyAgICAgICAgeyAiaXRhbCIsIFVTQ1JJUFRfT0xEX0lUQUxJQyB9LAorICAgICAg
ICB7ICJqYXZhIiwgVVNDUklQVF9KQVZBTkVTRSB9LAorICAgICAgICB7ICJqcGFuIiwgVVNDUklQ
VF9LQVRBS0FOQV9PUl9ISVJBR0FOQSB9LAorICAgICAgICB7ICJrYWxpIiwgVVNDUklQVF9LQVlB
SF9MSSB9LAorICAgICAgICB7ICJrYW5hIiwgVVNDUklQVF9LQVRBS0FOQV9PUl9ISVJBR0FOQSB9
LAorICAgICAgICB7ICJraGFyIiwgVVNDUklQVF9LSEFST1NIVEhJIH0sCisgICAgICAgIHsgImto
bXIiLCBVU0NSSVBUX0tITUVSIH0sCisgICAgICAgIHsgImtuZGEiLCBVU0NSSVBUX0tBTk5BREEg
fSwKKyAgICAgICAgeyAia29yZSIsIFVTQ1JJUFRfSEFOR1VMIH0sCisgICAgICAgIHsgImxhb28i
LCBVU0NSSVBUX0xBTyB9LAorICAgICAgICB7ICJsYXRmIiwgVVNDUklQVF9MQVRJTl9GUkFLVFVS
IH0sCisgICAgICAgIHsgImxhdGciLCBVU0NSSVBUX0xBVElOX0dBRUxJQyB9LAorICAgICAgICB7
ICJsYXRuIiwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7ICJsZXBjIiwgVVNDUklQVF9MRVBD
SEEgfSwKKyAgICAgICAgeyAibGltYiIsIFVTQ1JJUFRfTElNQlUgfSwKKyAgICAgICAgeyAibGlu
YSIsIFVTQ1JJUFRfTElORUFSX0EgfSwKKyAgICAgICAgeyAibGluYiIsIFVTQ1JJUFRfTElORUFS
X0IgfSwKKyAgICAgICAgeyAibWFuZCIsIFVTQ1JJUFRfTUFOREFFQU4gfSwKKyAgICAgICAgeyAi
bWF5YSIsIFVTQ1JJUFRfTUFZQU5fSElFUk9HTFlQSFMgfSwKKyAgICAgICAgeyAibWVybyIsIFVT
Q1JJUFRfTUVST0lUSUMgfSwKKyAgICAgICAgeyAibWx5bSIsIFVTQ1JJUFRfTUFMQVlBTEFNIH0s
CisgICAgICAgIHsgIm1vbmciLCBVU0NSSVBUX01PTkdPTElBTiB9LAorICAgICAgICB7ICJteW1y
IiwgVVNDUklQVF9NWUFOTUFSIH0sCisgICAgICAgIHsgIm5rb28iLCBVU0NSSVBUX05LTyB9LAor
ICAgICAgICB7ICJvZ2FtIiwgVVNDUklQVF9PR0hBTSB9LAorICAgICAgICB7ICJvcmtoIiwgVVND
UklQVF9PUktIT04gfSwKKyAgICAgICAgeyAib3J5YSIsIFVTQ1JJUFRfT1JJWUEgfSwKKyAgICAg
ICAgeyAib3NtYSIsIFVTQ1JJUFRfT1NNQU5ZQSB9LAorICAgICAgICB7ICJwZXJtIiwgVVNDUklQ
VF9PTERfUEVSTUlDIH0sCisgICAgICAgIHsgInBoYWciLCBVU0NSSVBUX1BIQUdTX1BBIH0sCisg
ICAgICAgIHsgInBobngiLCBVU0NSSVBUX1BIT0VOSUNJQU4gfSwKKyAgICAgICAgeyAicGxyZCIs
IFVTQ1JJUFRfUEhPTkVUSUNfUE9MTEFSRCB9LAorICAgICAgICB7ICJxYWFpIiwgVVNDUklQVF9J
TkhFUklURUQgfSwKKyAgICAgICAgeyAicm9ybyIsIFVTQ1JJUFRfUk9OR09ST05HTyB9LAorICAg
ICAgICB7ICJydW5yIiwgVVNDUklQVF9SVU5JQyB9LAorICAgICAgICB7ICJzYXJhIiwgVVNDUklQ
VF9TQVJBVEkgfSwKKyAgICAgICAgeyAic2hhdyIsIFVTQ1JJUFRfU0hBVklBTiB9LAorICAgICAg
ICB7ICJzaW5oIiwgVVNDUklQVF9TSU5IQUxBIH0sCisgICAgICAgIHsgInN5bG8iLCBVU0NSSVBU
X1NZTE9USV9OQUdSSSB9LAorICAgICAgICB7ICJzeXJjIiwgVVNDUklQVF9TWVJJQUMgfSwKKyAg
ICAgICAgeyAic3lyZSIsIFVTQ1JJUFRfRVNUUkFOR0VMT19TWVJJQUMgfSwKKyAgICAgICAgeyAi
c3lyaiIsIFVTQ1JJUFRfV0VTVEVSTl9TWVJJQUMgfSwKKyAgICAgICAgeyAic3lybiIsIFVTQ1JJ
UFRfRUFTVEVSTl9TWVJJQUMgfSwKKyAgICAgICAgeyAidGFnYiIsIFVTQ1JJUFRfVEFHQkFOV0Eg
fSwKKyAgICAgICAgeyAidGFsZSIsIFVTQ1JJUFRfVEFJX0xFIH0sCisgICAgICAgIHsgInRhbHUi
LCBVU0NSSVBUX05FV19UQUlfTFVFIH0sCisgICAgICAgIHsgInRhbWwiLCBVU0NSSVBUX1RBTUlM
IH0sCisgICAgICAgIHsgInRlbHUiLCBVU0NSSVBUX1RFTFVHVSB9LAorICAgICAgICB7ICJ0ZW5n
IiwgVVNDUklQVF9URU5HV0FSIH0sCisgICAgICAgIHsgInRmbmciLCBVU0NSSVBUX1RJRklOQUdI
IH0sCisgICAgICAgIHsgInRnbGciLCBVU0NSSVBUX1RBR0FMT0cgfSwKKyAgICAgICAgeyAidGhh
YSIsIFVTQ1JJUFRfVEhBQU5BIH0sCisgICAgICAgIHsgInRoYWkiLCBVU0NSSVBUX1RIQUkgfSwK
KyAgICAgICAgeyAidGlidCIsIFVTQ1JJUFRfVElCRVRBTiB9LAorICAgICAgICB7ICJ1Z2FyIiwg
VVNDUklQVF9VR0FSSVRJQyB9LAorICAgICAgICB7ICJ2YWlpIiwgVVNDUklQVF9WQUkgfSwKKyAg
ICAgICAgeyAidmlzcCIsIFVTQ1JJUFRfVklTSUJMRV9TUEVFQ0ggfSwKKyAgICAgICAgeyAieHBl
byIsIFVTQ1JJUFRfT0xEX1BFUlNJQU4gfSwKKyAgICAgICAgeyAieHN1eCIsIFVTQ1JJUFRfQ1VO
RUlGT1JNIH0sCisgICAgICAgIHsgInlpaWkiLCBVU0NSSVBUX1lJIH0sCisgICAgICAgIHsgInp4
eHgiLCBVU0NSSVBUX1VOV1JJVFRFTl9MQU5HVUFHRVMgfSwKKyAgICAgICAgeyAienl5eSIsIFVT
Q1JJUFRfQ09NTU9OIH0sCisgICAgICAgIHsgInp6enoiLCBVU0NSSVBUX1VOS05PV04gfSwKKyAg
ICB9OworCisgICAgc3RhdGljX2Fzc2VydChTY3JpcHROYW1lKCJhcmFiIikudmFsdWUoKSA9PSAw
eDYxNzI2MTYyVSk7CisgICAgc3RhdGljX2Fzc2VydChTY3JpcHROYW1lKCJ6enp6IikudmFsdWUo
KSA9PSAweDdhN2E3YTdhVSk7CisKKyAgICBBU1NFUlQoCisgICAgICAgIHN0ZDo6aXNfc29ydGVk
KHN0ZDo6YmVnaW4oc2NyaXB0TmFtZUNvZGVMaXN0KSwgc3RkOjplbmQoc2NyaXB0TmFtZUNvZGVM
aXN0KSwKKyAgICAgICAgICAgIFtdKGNvbnN0IFNjcmlwdE5hbWVDb2RlJiBhLCBjb25zdCBTY3Jp
cHROYW1lQ29kZSYgYikgeworICAgICAgICAgICAgICAgIHJldHVybiBhLm5hbWUgPCBiLm5hbWU7
CisgICAgICAgICAgICB9KSk7CisKKyAgICBhdXRvIG5hbWUgPSBTY3JpcHROYW1lOjpwYXJzZShz
Y3JpcHROYW1lKTsKKyAgICBpZiAoIW5hbWUpCisgICAgICAgIHJldHVybiBVU0NSSVBUX0lOVkFM
SURfQ09ERTsKIAotICAgIGF1dG8gaXQgPSBzY3JpcHROYW1lQ29kZU1hcC5nZXQoKS5maW5kKHNj
cmlwdE5hbWUpOwotICAgIGlmIChpdCAhPSBzY3JpcHROYW1lQ29kZU1hcC5nZXQoKS5lbmQoKSkK
LSAgICAgICAgcmV0dXJuIGl0LT52YWx1ZTsKKyAgICBhdXRvKiBlbGVtZW50ID0gdHJ5QmluYXJ5
U2VhcmNoPFNjcmlwdE5hbWVDb2RlPihzY3JpcHROYW1lQ29kZUxpc3QsIHN0ZDo6c2l6ZShzY3Jp
cHROYW1lQ29kZUxpc3QpLCBuYW1lLnZhbHVlKCksCisgICAgICAgIFtdKGNvbnN0IFNjcmlwdE5h
bWVDb2RlKiBzY3JpcHROYW1lQ29kZSkgeworICAgICAgICAgICAgcmV0dXJuIHNjcmlwdE5hbWVD
b2RlLT5uYW1lOworICAgICAgICB9KTsKKyAgICBpZiAoZWxlbWVudCkKKyAgICAgICAgcmV0dXJu
IGVsZW1lbnQtPmNvZGU7CiAgICAgcmV0dXJuIFVTQ1JJUFRfSU5WQUxJRF9DT0RFOwogfQogCit1
c2luZyBMb2NhbGVOYW1lID0gUGFja2VkQVNDSUlMb3dlckNvZGVzPHVpbnQ2NF90PjsKIHN0cnVj
dCBMb2NhbGVTY3JpcHQgewotICAgIEFTQ0lJTGl0ZXJhbCBsb2NhbGU7CisgICAgTG9jYWxlTmFt
ZSBsb2NhbGU7CiAgICAgVVNjcmlwdENvZGUgc2NyaXB0OwogfTsKIAotc3RhdGljIGNvbnN0IExv
Y2FsZVNjcmlwdCBsb2NhbGVTY3JpcHRMaXN0W10gPSB7Ci0gICAgeyAiYWEiX3MsIFVTQ1JJUFRf
TEFUSU4gfSwKLSAgICB7ICJhYiJfcywgVVNDUklQVF9DWVJJTExJQyB9LAotICAgIHsgImFkeSJf
cywgVVNDUklQVF9DWVJJTExJQyB9LAotICAgIHsgImFmIl9zLCBVU0NSSVBUX0xBVElOIH0sCi0g
ICAgeyAiYWsiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJhbSJfcywgVVNDUklQVF9FVEhJ
T1BJQyB9LAotICAgIHsgImFyIl9zLCBVU0NSSVBUX0FSQUJJQyB9LAotICAgIHsgImFzIl9zLCBV
U0NSSVBUX0JFTkdBTEkgfSwKLSAgICB7ICJhc3QiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7
ICJhdiJfcywgVVNDUklQVF9DWVJJTExJQyB9LAotICAgIHsgImF5Il9zLCBVU0NSSVBUX0xBVElO
IH0sCi0gICAgeyAiYXoiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJiYSJfcywgVVNDUklQ
VF9DWVJJTExJQyB9LAotICAgIHsgImJlIl9zLCBVU0NSSVBUX0NZUklMTElDIH0sCi0gICAgeyAi
YmciX3MsIFVTQ1JJUFRfQ1lSSUxMSUMgfSwKLSAgICB7ICJiaSJfcywgVVNDUklQVF9MQVRJTiB9
LAotICAgIHsgImJuIl9zLCBVU0NSSVBUX0JFTkdBTEkgfSwKLSAgICB7ICJibyJfcywgVVNDUklQ
VF9USUJFVEFOIH0sCi0gICAgeyAiYnMiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJjYSJf
cywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgImNlIl9zLCBVU0NSSVBUX0NZUklMTElDIH0sCi0g
ICAgeyAiY2ViIl9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAiY2giX3MsIFVTQ1JJUFRfTEFU
SU4gfSwKLSAgICB7ICJjaGsiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJjcyJfcywgVVND
UklQVF9MQVRJTiB9LAotICAgIHsgImN5Il9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAiZGEi
X3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJkZSJfcywgVVNDUklQVF9MQVRJTiB9LAotICAg
IHsgImR2Il9zLCBVU0NSSVBUX1RIQUFOQSB9LAotICAgIHsgImR6Il9zLCBVU0NSSVBUX1RJQkVU
QU4gfSwKLSAgICB7ICJlZSJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgImVmaSJfcywgVVND
UklQVF9MQVRJTiB9LAotICAgIHsgImVsIl9zLCBVU0NSSVBUX0dSRUVLIH0sCi0gICAgeyAiZW4i
X3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJlcyJfcywgVVNDUklQVF9MQVRJTiB9LAotICAg
IHsgImV0Il9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAiZXUiX3MsIFVTQ1JJUFRfTEFUSU4g
fSwKLSAgICB7ICJmYSJfcywgVVNDUklQVF9BUkFCSUMgfSwKLSAgICB7ICJmaSJfcywgVVNDUklQ
VF9MQVRJTiB9LAotICAgIHsgImZpbCJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgImZqIl9z
LCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAiZm8iX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7
ICJmciJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgImZ1ciJfcywgVVNDUklQVF9MQVRJTiB9
LAotICAgIHsgImZ5Il9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAiZ2EiX3MsIFVTQ1JJUFRf
TEFUSU4gfSwKLSAgICB7ICJnYWEiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJnZCJfcywg
VVNDUklQVF9MQVRJTiB9LAotICAgIHsgImdpbCJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsg
ImdsIl9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAiZ24iX3MsIFVTQ1JJUFRfTEFUSU4gfSwK
LSAgICB7ICJnc3ciX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJndSJfcywgVVNDUklQVF9H
VUpBUkFUSSB9LAotICAgIHsgImhhIl9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAiaGF3Il9z
LCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAiaGUiX3MsIFVTQ1JJUFRfSEVCUkVXIH0sCi0gICAg
eyAiaGkiX3MsIFVTQ1JJUFRfREVWQU5BR0FSSSB9LAotICAgIHsgImhpbCJfcywgVVNDUklQVF9M
QVRJTiB9LAotICAgIHsgImhvIl9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAiaHIiX3MsIFVT
Q1JJUFRfTEFUSU4gfSwKLSAgICB7ICJodCJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgImh1
Il9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAiaHkiX3MsIFVTQ1JJUFRfQVJNRU5JQU4gfSwK
LSAgICB7ICJpZCJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgImlnIl9zLCBVU0NSSVBUX0xB
VElOIH0sCi0gICAgeyAiaWkiX3MsIFVTQ1JJUFRfWUkgfSwKLSAgICB7ICJpbG8iX3MsIFVTQ1JJ
UFRfTEFUSU4gfSwKLSAgICB7ICJpbmgiX3MsIFVTQ1JJUFRfQ1lSSUxMSUMgfSwKLSAgICB7ICJp
cyJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgIml0Il9zLCBVU0NSSVBUX0xBVElOIH0sCi0g
ICAgeyAiaXUiX3MsIFVTQ1JJUFRfQ0FOQURJQU5fQUJPUklHSU5BTCB9LAotICAgIHsgImphIl9z
LCBVU0NSSVBUX0tBVEFLQU5BX09SX0hJUkFHQU5BIH0sCi0gICAgeyAianYiX3MsIFVTQ1JJUFRf
TEFUSU4gfSwKLSAgICB7ICJrYSJfcywgVVNDUklQVF9HRU9SR0lBTiB9LAotICAgIHsgImthaiJf
cywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgImthbSJfcywgVVNDUklQVF9MQVRJTiB9LAotICAg
IHsgImtiZCJfcywgVVNDUklQVF9DWVJJTExJQyB9LAotICAgIHsgImtoYSJfcywgVVNDUklQVF9M
QVRJTiB9LAotICAgIHsgImtrIl9zLCBVU0NSSVBUX0NZUklMTElDIH0sCi0gICAgeyAia2wiX3Ms
IFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJrbSJfcywgVVNDUklQVF9LSE1FUiB9LAotICAgIHsg
ImtuIl9zLCBVU0NSSVBUX0tBTk5BREEgfSwKLSAgICB7ICJrbyJfcywgVVNDUklQVF9IQU5HVUwg
fSwKLSAgICB7ICJrb2siX3MsIFVTQ1JJUFRfREVWQU5BR0FSSSB9LAotICAgIHsgImtvcyJfcywg
VVNDUklQVF9MQVRJTiB9LAotICAgIHsgImtwZSJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsg
ImtyYyJfcywgVVNDUklQVF9DWVJJTExJQyB9LAotICAgIHsgImtzIl9zLCBVU0NSSVBUX0FSQUJJ
QyB9LAotICAgIHsgImt1Il9zLCBVU0NSSVBUX0FSQUJJQyB9LAotICAgIHsgImt1bSJfcywgVVND
UklQVF9DWVJJTExJQyB9LAotICAgIHsgImt5Il9zLCBVU0NSSVBUX0NZUklMTElDIH0sCi0gICAg
eyAibGEiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJsYWgiX3MsIFVTQ1JJUFRfQVJBQklD
IH0sCi0gICAgeyAibGIiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJsZXoiX3MsIFVTQ1JJ
UFRfQ1lSSUxMSUMgfSwKLSAgICB7ICJsbiJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgImxv
Il9zLCBVU0NSSVBUX0xBTyB9LAotICAgIHsgImx0Il9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAg
eyAibHYiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJtYWkiX3MsIFVTQ1JJUFRfREVWQU5B
R0FSSSB9LAotICAgIHsgIm1kZiJfcywgVVNDUklQVF9DWVJJTExJQyB9LAotICAgIHsgIm1nIl9z
LCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAibWgiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7
ICJtaSJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgIm1rIl9zLCBVU0NSSVBUX0NZUklMTElD
IH0sCi0gICAgeyAibWwiX3MsIFVTQ1JJUFRfTUFMQVlBTEFNIH0sCi0gICAgeyAibW4iX3MsIFVT
Q1JJUFRfQ1lSSUxMSUMgfSwKLSAgICB7ICJtciJfcywgVVNDUklQVF9ERVZBTkFHQVJJIH0sCi0g
ICAgeyAibXMiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJtdCJfcywgVVNDUklQVF9MQVRJ
TiB9LAotICAgIHsgIm15Il9zLCBVU0NSSVBUX01ZQU5NQVIgfSwKLSAgICB7ICJteXYiX3MsIFVT
Q1JJUFRfQ1lSSUxMSUMgfSwKLSAgICB7ICJuYSJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsg
Im5iIl9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAibmUiX3MsIFVTQ1JJUFRfREVWQU5BR0FS
SSB9LAotICAgIHsgIm5pdSJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgIm5sIl9zLCBVU0NS
SVBUX0xBVElOIH0sCi0gICAgeyAibm4iX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJuciJf
cywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgIm5zbyJfcywgVVNDUklQVF9MQVRJTiB9LAotICAg
IHsgIm55Il9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAib2MiX3MsIFVTQ1JJUFRfTEFUSU4g
fSwKLSAgICB7ICJvbSJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgIm9yIl9zLCBVU0NSSVBU
X09SSVlBIH0sCi0gICAgeyAib3MiX3MsIFVTQ1JJUFRfQ1lSSUxMSUMgfSwKLSAgICB7ICJwYSJf
cywgVVNDUklQVF9HVVJNVUtISSB9LAotICAgIHsgInBhZyJfcywgVVNDUklQVF9MQVRJTiB9LAot
ICAgIHsgInBhcCJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgInBhdSJfcywgVVNDUklQVF9M
QVRJTiB9LAotICAgIHsgInBsIl9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAicG9uIl9zLCBV
U0NSSVBUX0xBVElOIH0sCi0gICAgeyAicHMiX3MsIFVTQ1JJUFRfQVJBQklDIH0sCi0gICAgeyAi
cHQiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJxdSJfcywgVVNDUklQVF9MQVRJTiB9LAot
ICAgIHsgInJtIl9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAicm4iX3MsIFVTQ1JJUFRfTEFU
SU4gfSwKLSAgICB7ICJybyJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgInJ1Il9zLCBVU0NS
SVBUX0NZUklMTElDIH0sCi0gICAgeyAicnciX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJz
YSJfcywgVVNDUklQVF9ERVZBTkFHQVJJIH0sCi0gICAgeyAic2FoIl9zLCBVU0NSSVBUX0NZUklM
TElDIH0sCi0gICAgeyAic2F0Il9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAic2QiX3MsIFVT
Q1JJUFRfQVJBQklDIH0sCi0gICAgeyAic2UiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJz
ZyJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgInNpIl9zLCBVU0NSSVBUX1NJTkhBTEEgfSwK
LSAgICB7ICJzaWQiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJzayJfcywgVVNDUklQVF9M
QVRJTiB9LAotICAgIHsgInNsIl9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAic20iX3MsIFVT
Q1JJUFRfTEFUSU4gfSwKLSAgICB7ICJzbyJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgInNx
Il9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAic3IiX3MsIFVTQ1JJUFRfQ1lSSUxMSUMgfSwK
LSAgICB7ICJzcyJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgInN0Il9zLCBVU0NSSVBUX0xB
VElOIH0sCi0gICAgeyAic3UiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJzdiJfcywgVVND
UklQVF9MQVRJTiB9LAotICAgIHsgInN3Il9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAidGEi
X3MsIFVTQ1JJUFRfVEFNSUwgfSwKLSAgICB7ICJ0ZSJfcywgVVNDUklQVF9URUxVR1UgfSwKLSAg
ICB7ICJ0ZXQiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJ0ZyJfcywgVVNDUklQVF9DWVJJ
TExJQyB9LAotICAgIHsgInRoIl9zLCBVU0NSSVBUX1RIQUkgfSwKLSAgICB7ICJ0aSJfcywgVVND
UklQVF9FVEhJT1BJQyB9LAotICAgIHsgInRpZyJfcywgVVNDUklQVF9FVEhJT1BJQyB9LAotICAg
IHsgInRrIl9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAidGtsIl9zLCBVU0NSSVBUX0xBVElO
IH0sCi0gICAgeyAidGwiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJ0biJfcywgVVNDUklQ
VF9MQVRJTiB9LAotICAgIHsgInRvIl9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAidHBpIl9z
LCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAidHIiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7
ICJ0cnYiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJ0cyJfcywgVVNDUklQVF9MQVRJTiB9
LAotICAgIHsgInR0Il9zLCBVU0NSSVBUX0NZUklMTElDIH0sCi0gICAgeyAidHZsIl9zLCBVU0NS
SVBUX0xBVElOIH0sCi0gICAgeyAidHciX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJ0eSJf
cywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgInR5diJfcywgVVNDUklQVF9DWVJJTExJQyB9LAot
ICAgIHsgInVkbSJfcywgVVNDUklQVF9DWVJJTExJQyB9LAotICAgIHsgInVnIl9zLCBVU0NSSVBU
X0FSQUJJQyB9LAotICAgIHsgInVrIl9zLCBVU0NSSVBUX0NZUklMTElDIH0sCi0gICAgeyAidW5k
Il9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAidXIiX3MsIFVTQ1JJUFRfQVJBQklDIH0sCi0g
ICAgeyAidXoiX3MsIFVTQ1JJUFRfQ1lSSUxMSUMgfSwKLSAgICB7ICJ2ZSJfcywgVVNDUklQVF9M
QVRJTiB9LAotICAgIHsgInZpIl9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAgeyAid2FsIl9zLCBV
U0NSSVBUX0VUSElPUElDIH0sCi0gICAgeyAid2FyIl9zLCBVU0NSSVBUX0xBVElOIH0sCi0gICAg
eyAid28iX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJ4aCJfcywgVVNDUklQVF9MQVRJTiB9
LAotICAgIHsgInlhcCJfcywgVVNDUklQVF9MQVRJTiB9LAotICAgIHsgInlvIl9zLCBVU0NSSVBU
X0xBVElOIH0sCi0gICAgeyAiemEiX3MsIFVTQ1JJUFRfTEFUSU4gfSwKLSAgICB7ICJ6aCJfcywg
VVNDUklQVF9IQU4gfSwKLSAgICB7ICJ6aF9oayJfcywgVVNDUklQVF9UUkFESVRJT05BTF9IQU4g
fSwKLSAgICB7ICJ6aF90dyJfcywgVVNDUklQVF9UUkFESVRJT05BTF9IQU4gfSwKLSAgICB7ICJ6
dSJfcywgVVNDUklQVF9MQVRJTiB9Ci19OwotCi1zdHJ1Y3QgTG9jYWxlU2NyaXB0TWFwSGFzaFRy
YWl0cyA6IHB1YmxpYyBIYXNoVHJhaXRzPFN0cmluZz4gewotICAgIHN0YXRpYyBjb25zdCBpbnQg
bWluaW11bVRhYmxlU2l6ZSA9IFdURjo6SGFzaFRhYmxlQ2FwYWNpdHlGb3JTaXplPFdURl9BUlJB
WV9MRU5HVEgobG9jYWxlU2NyaXB0TGlzdCk+Ojp2YWx1ZTsKLX07Ci0KIFVTY3JpcHRDb2RlIGxv
Y2FsZVRvU2NyaXB0Q29kZUZvckZvbnRTZWxlY3Rpb24oY29uc3QgU3RyaW5nJiBsb2NhbGUpCiB7
Ci0gICAgc3RhdGljIGNvbnN0IGF1dG8gbG9jYWxlU2NyaXB0TWFwID0gbWFrZU5ldmVyRGVzdHJv
eWVkKFtdIHsKLSAgICAgICAgSGFzaE1hcDxTdHJpbmcsIFVTY3JpcHRDb2RlLCBBU0NJSUNhc2VJ
bnNlbnNpdGl2ZUhhc2gsIExvY2FsZVNjcmlwdE1hcEhhc2hUcmFpdHM+IG1hcDsKLSAgICAgICAg
Zm9yIChhdXRvJiBsb2NhbGVBbmRTY3JpcHQgOiBsb2NhbGVTY3JpcHRMaXN0KQotICAgICAgICAg
ICAgbWFwLmFkZChsb2NhbGVBbmRTY3JpcHQubG9jYWxlLCBsb2NhbGVBbmRTY3JpcHQuc2NyaXB0
KTsKLSAgICAgICAgcmV0dXJuIG1hcDsKLSAgICB9KCkpOworICAgIHN0YXRpYyBjb25zdGV4cHIg
TG9jYWxlU2NyaXB0IGxvY2FsZVNjcmlwdExpc3RbXSA9IHsKKyAgICAgICAgeyAiYWEiLCBVU0NS
SVBUX0xBVElOIH0sCisgICAgICAgIHsgImFiIiwgVVNDUklQVF9DWVJJTExJQyB9LAorICAgICAg
ICB7ICJhZHkiLCBVU0NSSVBUX0NZUklMTElDIH0sCisgICAgICAgIHsgImFmIiwgVVNDUklQVF9M
QVRJTiB9LAorICAgICAgICB7ICJhayIsIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyAiYW0i
LCBVU0NSSVBUX0VUSElPUElDIH0sCisgICAgICAgIHsgImFyIiwgVVNDUklQVF9BUkFCSUMgfSwK
KyAgICAgICAgeyAiYXMiLCBVU0NSSVBUX0JFTkdBTEkgfSwKKyAgICAgICAgeyAiYXN0IiwgVVND
UklQVF9MQVRJTiB9LAorICAgICAgICB7ICJhdiIsIFVTQ1JJUFRfQ1lSSUxMSUMgfSwKKyAgICAg
ICAgeyAiYXkiLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgImF6IiwgVVNDUklQVF9MQVRJ
TiB9LAorICAgICAgICB7ICJiYSIsIFVTQ1JJUFRfQ1lSSUxMSUMgfSwKKyAgICAgICAgeyAiYmUi
LCBVU0NSSVBUX0NZUklMTElDIH0sCisgICAgICAgIHsgImJnIiwgVVNDUklQVF9DWVJJTExJQyB9
LAorICAgICAgICB7ICJiaSIsIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyAiYm4iLCBVU0NS
SVBUX0JFTkdBTEkgfSwKKyAgICAgICAgeyAiYm8iLCBVU0NSSVBUX1RJQkVUQU4gfSwKKyAgICAg
ICAgeyAiYnMiLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgImNhIiwgVVNDUklQVF9MQVRJ
TiB9LAorICAgICAgICB7ICJjZSIsIFVTQ1JJUFRfQ1lSSUxMSUMgfSwKKyAgICAgICAgeyAiY2Vi
IiwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7ICJjaCIsIFVTQ1JJUFRfTEFUSU4gfSwKKyAg
ICAgICAgeyAiY2hrIiwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7ICJjcyIsIFVTQ1JJUFRf
TEFUSU4gfSwKKyAgICAgICAgeyAiY3kiLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgImRh
IiwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7ICJkZSIsIFVTQ1JJUFRfTEFUSU4gfSwKKyAg
ICAgICAgeyAiZHYiLCBVU0NSSVBUX1RIQUFOQSB9LAorICAgICAgICB7ICJkeiIsIFVTQ1JJUFRf
VElCRVRBTiB9LAorICAgICAgICB7ICJlZSIsIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyAi
ZWZpIiwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7ICJlbCIsIFVTQ1JJUFRfR1JFRUsgfSwK
KyAgICAgICAgeyAiZW4iLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgImVzIiwgVVNDUklQ
VF9MQVRJTiB9LAorICAgICAgICB7ICJldCIsIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyAi
ZXUiLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgImZhIiwgVVNDUklQVF9BUkFCSUMgfSwK
KyAgICAgICAgeyAiZmkiLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgImZpbCIsIFVTQ1JJ
UFRfTEFUSU4gfSwKKyAgICAgICAgeyAiZmoiLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsg
ImZvIiwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7ICJmciIsIFVTQ1JJUFRfTEFUSU4gfSwK
KyAgICAgICAgeyAiZnVyIiwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7ICJmeSIsIFVTQ1JJ
UFRfTEFUSU4gfSwKKyAgICAgICAgeyAiZ2EiLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsg
ImdhYSIsIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyAiZ2QiLCBVU0NSSVBUX0xBVElOIH0s
CisgICAgICAgIHsgImdpbCIsIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyAiZ2wiLCBVU0NS
SVBUX0xBVElOIH0sCisgICAgICAgIHsgImduIiwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7
ICJnc3ciLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgImd1IiwgVVNDUklQVF9HVUpBUkFU
SSB9LAorICAgICAgICB7ICJoYSIsIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyAiaGF3Iiwg
VVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7ICJoZSIsIFVTQ1JJUFRfSEVCUkVXIH0sCisgICAg
ICAgIHsgImhpIiwgVVNDUklQVF9ERVZBTkFHQVJJIH0sCisgICAgICAgIHsgImhpbCIsIFVTQ1JJ
UFRfTEFUSU4gfSwKKyAgICAgICAgeyAiaG8iLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsg
ImhyIiwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7ICJodCIsIFVTQ1JJUFRfTEFUSU4gfSwK
KyAgICAgICAgeyAiaHUiLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgImh5IiwgVVNDUklQ
VF9BUk1FTklBTiB9LAorICAgICAgICB7ICJpZCIsIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAg
eyAiaWciLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgImlpIiwgVVNDUklQVF9ZSSB9LAor
ICAgICAgICB7ICJpbG8iLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgImluaCIsIFVTQ1JJ
UFRfQ1lSSUxMSUMgfSwKKyAgICAgICAgeyAiaXMiLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAg
IHsgIml0IiwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7ICJpdSIsIFVTQ1JJUFRfQ0FOQURJ
QU5fQUJPUklHSU5BTCB9LAorICAgICAgICB7ICJqYSIsIFVTQ1JJUFRfS0FUQUtBTkFfT1JfSElS
QUdBTkEgfSwKKyAgICAgICAgeyAianYiLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgImth
IiwgVVNDUklQVF9HRU9SR0lBTiB9LAorICAgICAgICB7ICJrYWoiLCBVU0NSSVBUX0xBVElOIH0s
CisgICAgICAgIHsgImthbSIsIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyAia2JkIiwgVVND
UklQVF9DWVJJTExJQyB9LAorICAgICAgICB7ICJraGEiLCBVU0NSSVBUX0xBVElOIH0sCisgICAg
ICAgIHsgImtrIiwgVVNDUklQVF9DWVJJTExJQyB9LAorICAgICAgICB7ICJrbCIsIFVTQ1JJUFRf
TEFUSU4gfSwKKyAgICAgICAgeyAia20iLCBVU0NSSVBUX0tITUVSIH0sCisgICAgICAgIHsgImtu
IiwgVVNDUklQVF9LQU5OQURBIH0sCisgICAgICAgIHsgImtvIiwgVVNDUklQVF9IQU5HVUwgfSwK
KyAgICAgICAgeyAia29rIiwgVVNDUklQVF9ERVZBTkFHQVJJIH0sCisgICAgICAgIHsgImtvcyIs
IFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyAia3BlIiwgVVNDUklQVF9MQVRJTiB9LAorICAg
ICAgICB7ICJrcmMiLCBVU0NSSVBUX0NZUklMTElDIH0sCisgICAgICAgIHsgImtzIiwgVVNDUklQ
VF9BUkFCSUMgfSwKKyAgICAgICAgeyAia3UiLCBVU0NSSVBUX0FSQUJJQyB9LAorICAgICAgICB7
ICJrdW0iLCBVU0NSSVBUX0NZUklMTElDIH0sCisgICAgICAgIHsgImt5IiwgVVNDUklQVF9DWVJJ
TExJQyB9LAorICAgICAgICB7ICJsYSIsIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyAibGFo
IiwgVVNDUklQVF9BUkFCSUMgfSwKKyAgICAgICAgeyAibGIiLCBVU0NSSVBUX0xBVElOIH0sCisg
ICAgICAgIHsgImxleiIsIFVTQ1JJUFRfQ1lSSUxMSUMgfSwKKyAgICAgICAgeyAibG4iLCBVU0NS
SVBUX0xBVElOIH0sCisgICAgICAgIHsgImxvIiwgVVNDUklQVF9MQU8gfSwKKyAgICAgICAgeyAi
bHQiLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgImx2IiwgVVNDUklQVF9MQVRJTiB9LAor
ICAgICAgICB7ICJtYWkiLCBVU0NSSVBUX0RFVkFOQUdBUkkgfSwKKyAgICAgICAgeyAibWRmIiwg
VVNDUklQVF9DWVJJTExJQyB9LAorICAgICAgICB7ICJtZyIsIFVTQ1JJUFRfTEFUSU4gfSwKKyAg
ICAgICAgeyAibWgiLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgIm1pIiwgVVNDUklQVF9M
QVRJTiB9LAorICAgICAgICB7ICJtayIsIFVTQ1JJUFRfQ1lSSUxMSUMgfSwKKyAgICAgICAgeyAi
bWwiLCBVU0NSSVBUX01BTEFZQUxBTSB9LAorICAgICAgICB7ICJtbiIsIFVTQ1JJUFRfQ1lSSUxM
SUMgfSwKKyAgICAgICAgeyAibXIiLCBVU0NSSVBUX0RFVkFOQUdBUkkgfSwKKyAgICAgICAgeyAi
bXMiLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgIm10IiwgVVNDUklQVF9MQVRJTiB9LAor
ICAgICAgICB7ICJteSIsIFVTQ1JJUFRfTVlBTk1BUiB9LAorICAgICAgICB7ICJteXYiLCBVU0NS
SVBUX0NZUklMTElDIH0sCisgICAgICAgIHsgIm5hIiwgVVNDUklQVF9MQVRJTiB9LAorICAgICAg
ICB7ICJuYiIsIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyAibmUiLCBVU0NSSVBUX0RFVkFO
QUdBUkkgfSwKKyAgICAgICAgeyAibml1IiwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7ICJu
bCIsIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyAibm4iLCBVU0NSSVBUX0xBVElOIH0sCisg
ICAgICAgIHsgIm5yIiwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7ICJuc28iLCBVU0NSSVBU
X0xBVElOIH0sCisgICAgICAgIHsgIm55IiwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7ICJv
YyIsIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyAib20iLCBVU0NSSVBUX0xBVElOIH0sCisg
ICAgICAgIHsgIm9yIiwgVVNDUklQVF9PUklZQSB9LAorICAgICAgICB7ICJvcyIsIFVTQ1JJUFRf
Q1lSSUxMSUMgfSwKKyAgICAgICAgeyAicGEiLCBVU0NSSVBUX0dVUk1VS0hJIH0sCisgICAgICAg
IHsgInBhZyIsIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyAicGFwIiwgVVNDUklQVF9MQVRJ
TiB9LAorICAgICAgICB7ICJwYXUiLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgInBsIiwg
VVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7ICJwb24iLCBVU0NSSVBUX0xBVElOIH0sCisgICAg
ICAgIHsgInBzIiwgVVNDUklQVF9BUkFCSUMgfSwKKyAgICAgICAgeyAicHQiLCBVU0NSSVBUX0xB
VElOIH0sCisgICAgICAgIHsgInF1IiwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7ICJybSIs
IFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyAicm4iLCBVU0NSSVBUX0xBVElOIH0sCisgICAg
ICAgIHsgInJvIiwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7ICJydSIsIFVTQ1JJUFRfQ1lS
SUxMSUMgfSwKKyAgICAgICAgeyAicnciLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgInNh
IiwgVVNDUklQVF9ERVZBTkFHQVJJIH0sCisgICAgICAgIHsgInNhaCIsIFVTQ1JJUFRfQ1lSSUxM
SUMgfSwKKyAgICAgICAgeyAic2F0IiwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7ICJzZCIs
IFVTQ1JJUFRfQVJBQklDIH0sCisgICAgICAgIHsgInNlIiwgVVNDUklQVF9MQVRJTiB9LAorICAg
ICAgICB7ICJzZyIsIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyAic2kiLCBVU0NSSVBUX1NJ
TkhBTEEgfSwKKyAgICAgICAgeyAic2lkIiwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7ICJz
ayIsIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyAic2wiLCBVU0NSSVBUX0xBVElOIH0sCisg
ICAgICAgIHsgInNtIiwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7ICJzbyIsIFVTQ1JJUFRf
TEFUSU4gfSwKKyAgICAgICAgeyAic3EiLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgInNy
IiwgVVNDUklQVF9DWVJJTExJQyB9LAorICAgICAgICB7ICJzcyIsIFVTQ1JJUFRfTEFUSU4gfSwK
KyAgICAgICAgeyAic3QiLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgInN1IiwgVVNDUklQ
VF9MQVRJTiB9LAorICAgICAgICB7ICJzdiIsIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyAi
c3ciLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgInRhIiwgVVNDUklQVF9UQU1JTCB9LAor
ICAgICAgICB7ICJ0ZSIsIFVTQ1JJUFRfVEVMVUdVIH0sCisgICAgICAgIHsgInRldCIsIFVTQ1JJ
UFRfTEFUSU4gfSwKKyAgICAgICAgeyAidGciLCBVU0NSSVBUX0NZUklMTElDIH0sCisgICAgICAg
IHsgInRoIiwgVVNDUklQVF9USEFJIH0sCisgICAgICAgIHsgInRpIiwgVVNDUklQVF9FVEhJT1BJ
QyB9LAorICAgICAgICB7ICJ0aWciLCBVU0NSSVBUX0VUSElPUElDIH0sCisgICAgICAgIHsgInRr
IiwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7ICJ0a2wiLCBVU0NSSVBUX0xBVElOIH0sCisg
ICAgICAgIHsgInRsIiwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7ICJ0biIsIFVTQ1JJUFRf
TEFUSU4gfSwKKyAgICAgICAgeyAidG8iLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgInRw
aSIsIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyAidHIiLCBVU0NSSVBUX0xBVElOIH0sCisg
ICAgICAgIHsgInRydiIsIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyAidHMiLCBVU0NSSVBU
X0xBVElOIH0sCisgICAgICAgIHsgInR0IiwgVVNDUklQVF9DWVJJTExJQyB9LAorICAgICAgICB7
ICJ0dmwiLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgInR3IiwgVVNDUklQVF9MQVRJTiB9
LAorICAgICAgICB7ICJ0eSIsIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyAidHl2IiwgVVND
UklQVF9DWVJJTExJQyB9LAorICAgICAgICB7ICJ1ZG0iLCBVU0NSSVBUX0NZUklMTElDIH0sCisg
ICAgICAgIHsgInVnIiwgVVNDUklQVF9BUkFCSUMgfSwKKyAgICAgICAgeyAidWsiLCBVU0NSSVBU
X0NZUklMTElDIH0sCisgICAgICAgIHsgInVuZCIsIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAg
eyAidXIiLCBVU0NSSVBUX0FSQUJJQyB9LAorICAgICAgICB7ICJ1eiIsIFVTQ1JJUFRfQ1lSSUxM
SUMgfSwKKyAgICAgICAgeyAidmUiLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgInZpIiwg
VVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7ICJ3YWwiLCBVU0NSSVBUX0VUSElPUElDIH0sCisg
ICAgICAgIHsgIndhciIsIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyAid28iLCBVU0NSSVBU
X0xBVElOIH0sCisgICAgICAgIHsgInhoIiwgVVNDUklQVF9MQVRJTiB9LAorICAgICAgICB7ICJ5
YXAiLCBVU0NSSVBUX0xBVElOIH0sCisgICAgICAgIHsgInlvIiwgVVNDUklQVF9MQVRJTiB9LAor
ICAgICAgICB7ICJ6YSIsIFVTQ1JJUFRfTEFUSU4gfSwKKyAgICAgICAgeyAiemgiLCBVU0NSSVBU
X0hBTiB9LAorICAgICAgICB7ICJ6aF9oayIsIFVTQ1JJUFRfVFJBRElUSU9OQUxfSEFOIH0sCisg
ICAgICAgIHsgInpoX3R3IiwgVVNDUklQVF9UUkFESVRJT05BTF9IQU4gfSwKKyAgICAgICAgeyAi
enUiLCBVU0NSSVBUX0xBVElOIH0sCisgICAgfTsKKworICAgIHN0YXRpY19hc3NlcnQoTG9jYWxl
TmFtZSgiYWEiKS52YWx1ZSgpID09IDB4NjE2MTAwMDAwMDAwMDAwMFVMTCk7CisgICAgc3RhdGlj
X2Fzc2VydChMb2NhbGVOYW1lKCJ6aF90dyIpLnZhbHVlKCkgPT0gMHg3YTY4NWY3NDc3MDAwMDAw
VUxMKTsKKworICAgIEFTU0VSVCgKKyAgICAgICAgc3RkOjppc19zb3J0ZWQoc3RkOjpiZWdpbihs
b2NhbGVTY3JpcHRMaXN0KSwgc3RkOjplbmQobG9jYWxlU2NyaXB0TGlzdCksCisgICAgICAgICAg
ICBbXShjb25zdCBMb2NhbGVTY3JpcHQmIGEsIGNvbnN0IExvY2FsZVNjcmlwdCYgYikgeworICAg
ICAgICAgICAgICAgIHJldHVybiBhLmxvY2FsZSA8IGIubG9jYWxlOworICAgICAgICAgICAgfSkp
OworCisgICAgYXV0byB0cnlGaW5kU2NyaXB0Q29kZSA9IFsmXSAoY29uc3QgU3RyaW5nJiBzdHJp
bmcpIC0+IE9wdGlvbmFsPFVTY3JpcHRDb2RlPiB7CisgICAgICAgIGF1dG8gbG9jYWxlTmFtZSA9
IExvY2FsZU5hbWU6OnBhcnNlKHN0cmluZyk7CisgICAgICAgIGlmICghbG9jYWxlTmFtZSkKKyAg
ICAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisKKyAgICAgICAgYXV0byogZWxlbWVudCA9
IHRyeUJpbmFyeVNlYXJjaDxMb2NhbGVTY3JpcHQ+KGxvY2FsZVNjcmlwdExpc3QsIHN0ZDo6c2l6
ZShsb2NhbGVTY3JpcHRMaXN0KSwgbG9jYWxlTmFtZS52YWx1ZSgpLAorICAgICAgICAgICAgW10o
Y29uc3QgTG9jYWxlU2NyaXB0KiBsb2NhbGVTY3JpcHQpIHsKKyAgICAgICAgICAgICAgICByZXR1
cm4gbG9jYWxlU2NyaXB0LT5sb2NhbGU7CisgICAgICAgICAgICB9KTsKKyAgICAgICAgaWYgKGVs
ZW1lbnQpCisgICAgICAgICAgICByZXR1cm4gZWxlbWVudC0+c2NyaXB0OworICAgICAgICByZXR1
cm4gV1RGOjpudWxsb3B0OworICAgIH07CiAKICAgICBTdHJpbmcgY2Fub25pY2FsTG9jYWxlID0g
bG9jYWxlOwogICAgIGNhbm9uaWNhbExvY2FsZS5yZXBsYWNlKCctJywgJ18nKTsKICAgICB3aGls
ZSAoIWNhbm9uaWNhbExvY2FsZS5pc0VtcHR5KCkpIHsKLSAgICAgICAgYXV0byBpdCA9IGxvY2Fs
ZVNjcmlwdE1hcC5nZXQoKS5maW5kKGNhbm9uaWNhbExvY2FsZSk7Ci0gICAgICAgIGlmIChpdCAh
PSBsb2NhbGVTY3JpcHRNYXAuZ2V0KCkuZW5kKCkpCi0gICAgICAgICAgICByZXR1cm4gaXQtPnZh
bHVlOworICAgICAgICBpZiAoYXV0byBzY3JpcHRDb2RlID0gdHJ5RmluZFNjcmlwdENvZGUoY2Fu
b25pY2FsTG9jYWxlKSkKKyAgICAgICAgICAgIHJldHVybiBzY3JpcHRDb2RlLnZhbHVlKCk7CiAg
ICAgICAgIGF1dG8gdW5kZXJzY29yZVBvc2l0aW9uID0gY2Fub25pY2FsTG9jYWxlLnJldmVyc2VG
aW5kKCdfJyk7CiAgICAgICAgIGlmICh1bmRlcnNjb3JlUG9zaXRpb24gPT0gbm90Rm91bmQpCiAg
ICAgICAgICAgICBicmVhazsK
</data>

          </attachment>
      

    </bug>

</bugzilla>