<?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>183485</bug_id>
          
          <creation_ts>2018-03-08 15:16:54 -0800</creation_ts>
          <short_desc>[macOS] Copying a table from the Numbers app and pasting into iCloud Numbers fails</short_desc>
          <delta_ts>2018-03-10 13:27:30 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>HTML Editing</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="Wenson Hsieh">wenson_hsieh</reporter>
          <assigned_to name="Wenson Hsieh">wenson_hsieh</assigned_to>
          <cc>aestes</cc>
    
    <cc>bdakin</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>kangil.han</cc>
    
    <cc>rniwa</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1404947</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2018-03-08 15:16:54 -0800</bug_when>
    <thetext>&lt;rdar://problem/38041984&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1405268</commentid>
    <comment_count>1</comment_count>
      <attachid>335450</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2018-03-09 12:38:23 -0800</bug_when>
    <thetext>Created attachment 335450
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1405303</commentid>
    <comment_count>2</comment_count>
      <attachid>335458</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2018-03-09 13:57:57 -0800</bug_when>
    <thetext>Created attachment 335458
Fix macOS 10.11 builds</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1405407</commentid>
    <comment_count>3</comment_count>
      <attachid>335458</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2018-03-09 17:09:41 -0800</bug_when>
    <thetext>Comment on attachment 335458
Fix macOS 10.11 builds

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

&gt; Source/WebCore/ChangeLog:12
&gt; +        r222688) this means we now don&apos;t allow web pages to access &quot;text/plain&quot; in the case where the user copies part

End the previous sentence and capitalize &quot;this&quot;?

&gt; Source/WebCore/ChangeLog:13
&gt; +        of a table from the native Numbers app, since Numbers additionally writes a snapshot of the table to the

No need for , here.

&gt; Source/WebCore/ChangeLog:16
&gt; +        In the first place, this restriction on getData/setData was intended to prevent web pages from extracting users&apos;

I don&apos;t think &quot;In the first place&quot; as much value to the description here.

&gt; Source/WebCore/ChangeLog:37
&gt; +        Only whitelist &quot;text/html&quot; or &quot;text/uri-list&quot; in the case where there are actual files in the pasteboard. If

Only allow*. We should avoid using terms such as whitelist and blacklist going forward.

&gt; Source/WebCore/ChangeLog:47
&gt; +        -   MayContainFilePaths indicates that there are real might be real file paths on the pasteboard. This means

Nit: there are real might be real file paths -&gt; there might be file paths.

&gt; Source/WebCore/dom/DataTransfer.cpp:207
&gt; +    return m_pasteboard-&gt;containsFiles() == Pasteboard::ContainsFilesResult::MayContainFilePaths;

Now that this function returns an enum, it&apos;s strange to call this function &quot;containsFile&quot;.
How about m_pasteboard-&gt;fileContentState()?

&gt; Source/WebCore/platform/Pasteboard.h:224
&gt; +    enum class ContainsFilesResult { NoImageDataOrFilePaths, OnlyImageData, MayContainFilePaths };
&gt; +    virtual WEBCORE_EXPORT ContainsFilesResult containsFiles();

How about FileContentState { NoFileOrImageData, InMemoryImage, MayContainFilePaths } and fileContentState().
I don&apos;t think &quot;OnlyImageData&quot; quite communicate as to why that&apos;s relevant to the presence of a file.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1405459</commentid>
    <comment_count>4</comment_count>
      <attachid>335458</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2018-03-10 00:56:36 -0800</bug_when>
    <thetext>Comment on attachment 335458
Fix macOS 10.11 builds

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

&gt;&gt; Source/WebCore/ChangeLog:12
&gt;&gt; +        r222688) this means we now don&apos;t allow web pages to access &quot;text/plain&quot; in the case where the user copies part
&gt; 
&gt; End the previous sentence and capitalize &quot;this&quot;?

Fixed!

&gt;&gt; Source/WebCore/ChangeLog:13
&gt;&gt; +        of a table from the native Numbers app, since Numbers additionally writes a snapshot of the table to the
&gt; 
&gt; No need for , here.

Removed the &quot;,&quot;

&gt;&gt; Source/WebCore/ChangeLog:16
&gt;&gt; +        In the first place, this restriction on getData/setData was intended to prevent web pages from extracting users&apos;
&gt; 
&gt; I don&apos;t think &quot;In the first place&quot; as much value to the description here.

Fair enough — removed!

&gt;&gt; Source/WebCore/ChangeLog:37
&gt;&gt; +        Only whitelist &quot;text/html&quot; or &quot;text/uri-list&quot; in the case where there are actual files in the pasteboard. If
&gt; 
&gt; Only allow*. We should avoid using terms such as whitelist and blacklist going forward.

Ah, right! Fixed.

&gt;&gt; Source/WebCore/ChangeLog:47
&gt;&gt; +        -   MayContainFilePaths indicates that there are real might be real file paths on the pasteboard. This means
&gt; 
&gt; Nit: there are real might be real file paths -&gt; there might be file paths.

Whoops, fixed.

&gt;&gt; Source/WebCore/dom/DataTransfer.cpp:207
&gt;&gt; +    return m_pasteboard-&gt;containsFiles() == Pasteboard::ContainsFilesResult::MayContainFilePaths;
&gt; 
&gt; Now that this function returns an enum, it&apos;s strange to call this function &quot;containsFile&quot;.
&gt; How about m_pasteboard-&gt;fileContentState()?

Good point — changed Pasteboard::containsFile() to Pasteboard::fileContentState()

&gt;&gt; Source/WebCore/platform/Pasteboard.h:224
&gt;&gt; +    virtual WEBCORE_EXPORT ContainsFilesResult containsFiles();
&gt; 
&gt; How about FileContentState { NoFileOrImageData, InMemoryImage, MayContainFilePaths } and fileContentState().
&gt; I don&apos;t think &quot;OnlyImageData&quot; quite communicate as to why that&apos;s relevant to the presence of a file.

Yeah, this sounds reasonable.

Renamed enum type and values to FileContentState { NoFileOrImageData, InMemoryImage, MayContainFilePaths } (And also renamed the method to fileContentState).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1405460</commentid>
    <comment_count>5</comment_count>
      <attachid>335506</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2018-03-10 01:09:50 -0800</bug_when>
    <thetext>Created attachment 335506
One more EWS run</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1405461</commentid>
    <comment_count>6</comment_count>
      <attachid>335507</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2018-03-10 01:43:15 -0800</bug_when>
    <thetext>Created attachment 335507
One more EWS run</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1405464</commentid>
    <comment_count>7</comment_count>
      <attachid>335507</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-03-10 03:33:25 -0800</bug_when>
    <thetext>Comment on attachment 335507
One more EWS run

Clearing flags on attachment: 335507

Committed r229503: &lt;https://trac.webkit.org/changeset/229503&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>335450</attachid>
            <date>2018-03-09 12:38:23 -0800</date>
            <delta_ts>2018-03-09 13:57:56 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-183485-20180309123822.patch</filename>
            <type>text/plain</type>
            <size>26260</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI5NDQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTI2MWNjNjg4NDVlOTU2
YTg5ZWE1OTNkNDFhYmZkYTJhNmRhOTJlMy4uNWU4ZjhiMDE3YTdjMzE2YmM0NmFlMDM0MTZjMzlk
NDc0YmY4OTkxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY5IEBACisyMDE4LTAzLTA5ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFttYWNPU10gQ29w
eWluZyBhIHRhYmxlIGZyb20gdGhlIE51bWJlcnMgYXBwIGFuZCBwYXN0aW5nIGludG8gaUNsb3Vk
IE51bWJlcnMgZmFpbHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE4MzQ4NQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzgwNDE5ODQ+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWZ0ZXIgMjIyNjU2LCBX
ZWJLaXQgbm93IHRyZWF0cyByYXcgaW1hZ2UgZGF0YSBvbiB0aGUgcGFzdGVib2FyZCBhcyBmaWxl
cyBmb3IgdGhlIHB1cnBvc2VzIG9mIGNvbXB1dGluZworICAgICAgICBEYXRhVHJhbnNmZXIuZmls
ZXMgYW5kIERhdGFUcmFuc2Zlci50eXBlcy4gSG93ZXZlciwgd2hlbiBjb21iaW5lZCB3aXRoIGV4
aXN0aW5nIHBvbGljaWVzIHRoYXQgc3VwcHJlc3MKKyAgICAgICAgRGF0YVRyYW5zZmVyLmdldERh
dGEgYW5kIERhdGFUcmFuc2Zlci5zZXREYXRhIHdoZW4gdGhlIHBhc3RlYm9hcmQgY29udGFpbnMg
ZmlsZXMgKGdlbmVyYWxpemVkIHRvIGNvcHkvcGFzdGUgaW4KKyAgICAgICAgcjIyMjY4OCkgdGhp
cyBtZWFucyB3ZSBub3cgZG9uJ3QgYWxsb3cgd2ViIHBhZ2VzIHRvIGFjY2VzcyAidGV4dC9wbGFp
biIgaW4gdGhlIGNhc2Ugd2hlcmUgdGhlIHVzZXIgY29waWVzIHBhcnQKKyAgICAgICAgb2YgYSB0
YWJsZSBmcm9tIHRoZSBuYXRpdmUgTnVtYmVycyBhcHAsIHNpbmNlIE51bWJlcnMgYWRkaXRpb25h
bGx5IHdyaXRlcyBhIHNuYXBzaG90IG9mIHRoZSB0YWJsZSB0byB0aGUKKyAgICAgICAgcGxhdGZv
cm0gcGFzdGVib2FyZC4KKworICAgICAgICBJbiB0aGUgZmlyc3QgcGxhY2UsIHRoaXMgcmVzdHJp
Y3Rpb24gb24gZ2V0RGF0YS9zZXREYXRhIHdhcyBpbnRlbmRlZCB0byBwcmV2ZW50IHdlYiBwYWdl
cyBmcm9tIGV4dHJhY3RpbmcgdXNlcnMnCisgICAgICAgIGZpbGUgcGF0aHMgd2hlbiBwYXN0aW5n
IG9yIGRyb3BwaW5nLCBzbyBpdCBkb2Vzbid0IG1ha2Ugc2Vuc2UgdG8gZW5mb3JjZSB0aGlzIHJl
c3RyaWN0aW9uIGV2ZW4gd2hlbiB0aGVyZSBpcworICAgICAgICBvbmx5IGluLW1lbW9yeSBpbWFn
ZSBkYXRhIG9uIHRoZSBwYXN0ZWJvYXJkLiBUbyBmaXggdGhpcyBidWcsIHdlIG1ha2UgUGFzdGVi
b2FyZDo6Y29udGFpbnNGaWxlcygpIGRpZmZlcmVudGlhdGUKKyAgICAgICAgYmV0d2VlbiBjYXNl
cyB3aGVyZSB0aGVyZSBhcmUgKHJlYWwpIGZpbGVzIG9uIHRoZSBwYXN0ZWJvYXJkLCBhbmQgY2Fz
ZXMgd2hlcmUgd2UndmUgZmFsbGVuIGJhY2sgdG8gdHJlYXRpbmcKKyAgICAgICAgaW1hZ2UgZGF0
YSBhcyBmaWxlcy4KKworICAgICAgICBSZWJhc2VsaW5lZCBleGlzdGluZyBMYXlvdXRUZXN0cyB0
byBtYXRjaCBuZXcgYmVoYXZpb3IuCisgICAgICAgIEFsc28gY292ZXJlZCBieSA0IG5ldyBBUEkg
dGVzdHM6CisgICAgICAgICAgICDigKIgUGFzdGVNaXhlZENvbnRlbnQuSW1hZ2VEYXRhQW5kUGxh
aW5UZXh0CisgICAgICAgICAgICDigKIgUGFzdGVNaXhlZENvbnRlbnQuSW1hZ2VEYXRhQW5kUGxh
aW5UZXh0QW5kVVJMCisgICAgICAgICAgICDigKIgUGFzdGVNaXhlZENvbnRlbnQuSW1hZ2VEYXRh
QW5kUGxhaW5UZXh0QW5kVVJMQW5kSFRNTAorICAgICAgICAgICAg4oCiIFVJUGFzdGVib2FyZFRl
c3RzLkRhdGFUcmFuc2ZlckdldERhdGFXaGVuUGFzdGluZ0ltYWdlQW5kVGV4dAorCisgICAgICAg
ICogZG9tL0RhdGFUcmFuc2Zlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEYXRhVHJhbnNmZXI6
OnNob3VsZFN1cHByZXNzR2V0QW5kU2V0RGF0YVRvQXZvaWRFeHBvc2luZ0ZpbGVQYXRocyBjb25z
dCk6CisKKyAgICAgICAgSWYgY3VzdG9tIHBhc3RlYm9hcmQgZGF0YSBpcyBlbmFibGVkLCBzdXBw
cmVzcyBnZXREYXRhIGFuZCBzZXREYXRhIGlmIGFuZCBvbmx5IGlmIHdlIG1pZ2h0IGFjdHVhbGx5
IGV4cG9zZSBmaWxlCisgICAgICAgIHBhdGhzIChzZWUgUGFzdGVib2FyZDo6Y29udGFpbnNGaWxl
cykuCisKKyAgICAgICAgKFdlYkNvcmU6OkRhdGFUcmFuc2Zlcjo6dHlwZXMgY29uc3QpOgorCisg
ICAgICAgIE9ubHkgd2hpdGVsaXN0ICJ0ZXh0L2h0bWwiIG9yICJ0ZXh0L3VyaS1saXN0IiBpbiB0
aGUgY2FzZSB3aGVyZSB0aGVyZSBhcmUgYWN0dWFsIGZpbGVzIGluIHRoZSBwYXN0ZWJvYXJkLiBJ
ZgorICAgICAgICB0aGVyZSdzIG9ubHkgaW1hZ2UgZGF0YSwgYWRkIGFsbCBvZiB0aGUgRE9NLXNh
ZmUgdHlwZXMgYmFjayBpbnRvIHRoZSBsaXN0IG9mIHR5cGVzLgorCisgICAgICAgICogcGxhdGZv
cm0vUGFzdGVib2FyZC5oOgorCisgICAgICAgIEFkZCBhbiBlbnVtIHR5cGUgdG8gcmVwcmVzZW50
IHRoZSByZXN1bHQgb2YgUGFzdGVib2FyZDo6Y29udGFpbnNGaWxlcy4KKyAgICAgICAgLSAgIE5v
SW1hZ2VEYXRhT3JGaWxlUGF0aHMgaW5kaWNhdGVzIHRoYXQgdGhlcmUgd2FzIG5vdGhpbmcgb24g
dGhlIHBhc3RlYm9hcmQgdGhhdCBjb3VsZCBiZSBjb25zaWRlcmVkIGEgZmlsZQorICAgICAgICAg
ICAgZnJvbSB0aGUgcG9pbnQgb2YgdmlldyBvZiB0aGUgcGFnZS4KKyAgICAgICAgLSAgIE9ubHlJ
bWFnZURhdGEgaW5kaWNhdGVzIHRoYXQgdGhlcmUgYXJlIG5vIHJlYWwgZmlsZXMgb24gdGhlIHBh
c3RlYm9hcmQsIGJ1dCB0aGVyZSBpcyBpbWFnZSBkYXRhIHRoYXQgd2UKKyAgICAgICAgICAgIGNv
bnNpZGVyIHRvIGJlIGZpbGVzLCBleHBvc2VkIHZpYSBEYXRhVHJhbnNmZXIgQVBJLgorICAgICAg
ICAtICAgTWF5Q29udGFpbkZpbGVQYXRocyBpbmRpY2F0ZXMgdGhhdCB0aGVyZSBhcmUgcmVhbCBt
aWdodCBiZSByZWFsIGZpbGUgcGF0aHMgb24gdGhlIHBhc3RlYm9hcmQuIFRoaXMgbWVhbnMKKyAg
ICAgICAgICAgIHRoYXQgdGhlIHNvdXJjZSBoYXMgZWl0aGVyIHdyaXR0ZW4gZmlsZSBwYXRocyB0
byB0aGUgcGFzdGVib2FyZCAoZm9yIGV4YW1wbGUsIHRocm91Z2ggTlNGaWxlbmFtZXNQYm9hcmRU
eXBlKQorICAgICAgICAgICAgb3IgdGhlIHNvdXJjZSBoYXMgd3JpdHRlbiBpbWFnZSBkYXRhIGFs
b25nIHdpdGggYSBVUkwgdHlwZSBvZiBzb21lIHNvcnQgdGhhdCBkb2VzIG5vdCBtYXRjaCBvbmUg
b2YgdGhlCisgICAgICAgICAgICB3aGl0ZS1saXN0ZWQgVVJMIHNjaGVtZXMgdGhhdCBhcmUgc2Fm
ZSB0byBleHBvc2UgKGN1cnJlbnRseSwgdGhlc2UgYXJlIGh0dHAtZmFtaWx5LCBkYXRhLCBvciBi
bG9iKS4KKworICAgICAgICAqIHBsYXRmb3JtL1N0YXRpY1Bhc3RlYm9hcmQuaDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9jb2NvYS9QYXN0ZWJvYXJkQ29jb2EubW06CisgICAgICAgIChXZWJDb3JlOjpQ
YXN0ZWJvYXJkOjpjb250YWluc0ZpbGVzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvUGFzdGVi
b2FyZEd0ay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQYXN0ZWJvYXJkOjpjb250YWluc0ZpbGVz
KToKKworICAgICAgICBSZWZhY3RvciB0byByZXR1cm4gb25lIG9mIHRoZSB0aHJlZSBlbnVtIHR5
cGVzIGRlc2NyaWJlZCBhYm92ZS4KKworICAgICAgICAqIHBsYXRmb3JtL3dpbi9QYXN0ZWJvYXJk
V2luLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBhc3RlYm9hcmQ6OmNvbnRhaW5zRmlsZXMpOgor
ICAgICAgICAqIHBsYXRmb3JtL3dwZS9QYXN0ZWJvYXJkV1BFLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlBhc3RlYm9hcmQ6OmNvbnRhaW5zRmlsZXMpOgorCisgICAgICAgIEFkanVzdCBmb3IgUGFz
dGVib2FyZDo6Y29udGFpbnNGaWxlcygpIHR3ZWFrcy4KKwogMjAxOC0wMy0wOCAgTWVnYW4gR2Fy
ZG5lciAgPG1lZ2FuX2dhcmRuZXJAYXBwbGUuY29tPgogCiAgICAgICAgIEVuc3VyZSBkZWZhdWx0
IGFwcGVhcmFuY2UgZm9yIHNlbGVjdGlvbiBmb3JtIGNvbnRyb2wKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9EYXRhVHJhbnNmZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RhdGFU
cmFuc2Zlci5jcHAKaW5kZXggM2U3MWE3M2YzNDA1MzVhNmI0YjE0ZDQ3NzlhMzdlOTE0NTg3NzQ3
YS4uYWExZGMxZDgwY2ViNTljYzA4MGY0NmU2ZDkxMTcwNDJkMGU0MmI3ZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvZG9tL0RhdGFUcmFuc2Zlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0RhdGFUcmFuc2Zlci5jcHAKQEAgLTIwNCw3ICsyMDQsNyBAQCBib29sIERhdGFUcmFuc2Zl
cjo6c2hvdWxkU3VwcHJlc3NHZXRBbmRTZXREYXRhVG9Bdm9pZEV4cG9zaW5nRmlsZVBhdGhzKCkg
Y29uc3QKIHsKICAgICBpZiAoIWZvckZpbGVEcmFnKCkgJiYgIVJ1bnRpbWVFbmFibGVkRmVhdHVy
ZXM6OnNoYXJlZEZlYXR1cmVzKCkuY3VzdG9tUGFzdGVib2FyZERhdGFFbmFibGVkKCkpCiAgICAg
ICAgIHJldHVybiBmYWxzZTsKLSAgICByZXR1cm4gbV9wYXN0ZWJvYXJkLT5jb250YWluc0ZpbGVz
KCk7CisgICAgcmV0dXJuIG1fcGFzdGVib2FyZC0+Y29udGFpbnNGaWxlcygpID09IFBhc3RlYm9h
cmQ6OkNvbnRhaW5zRmlsZXNSZXN1bHQ6Ok1heUNvbnRhaW5GaWxlUGF0aHM7CiB9CiAKIHZvaWQg
RGF0YVRyYW5zZmVyOjpzZXREYXRhKGNvbnN0IFN0cmluZyYgdHlwZSwgY29uc3QgU3RyaW5nJiBk
YXRhKQpAQCAtMjkxLDcgKzI5MSw3IEBAIFZlY3RvcjxTdHJpbmc+IERhdGFUcmFuc2Zlcjo6dHlw
ZXMoQWRkRmlsZXNUeXBlIGFkZEZpbGVzVHlwZSkgY29uc3QKICAgICBpZiAoIVJ1bnRpbWVFbmFi
bGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuY3VzdG9tUGFzdGVib2FyZERhdGFFbmFibGVk
KCkpIHsKICAgICAgICAgYXV0byB0eXBlcyA9IG1fcGFzdGVib2FyZC0+dHlwZXNGb3JMZWdhY3lV
bnNhZmVCaW5kaW5ncygpOwogICAgICAgICBBU1NFUlQoIXR5cGVzLmNvbnRhaW5zKCJGaWxlcyIp
KTsKLSAgICAgICAgaWYgKG1fcGFzdGVib2FyZC0+Y29udGFpbnNGaWxlcygpICYmIGFkZEZpbGVz
VHlwZSA9PSBBZGRGaWxlc1R5cGU6OlllcykKKyAgICAgICAgaWYgKG1fcGFzdGVib2FyZC0+Y29u
dGFpbnNGaWxlcygpICE9IFBhc3RlYm9hcmQ6OkNvbnRhaW5zRmlsZXNSZXN1bHQ6Ok5vSW1hZ2VE
YXRhT3JGaWxlUGF0aHMgJiYgYWRkRmlsZXNUeXBlID09IEFkZEZpbGVzVHlwZTo6WWVzKQogICAg
ICAgICAgICAgdHlwZXMuYXBwZW5kKCJGaWxlcyIpOwogICAgICAgICByZXR1cm4gdHlwZXM7CiAg
ICAgfQpAQCAtMzAxLDEwICszMDEsMTcgQEAgVmVjdG9yPFN0cmluZz4gRGF0YVRyYW5zZmVyOjp0
eXBlcyhBZGRGaWxlc1R5cGUgYWRkRmlsZXNUeXBlKSBjb25zdAogICAgICAgICByZXR1cm4gaXRl
bS0+aXNGaWxlKCk7CiAgICAgfSk7CiAKLSAgICBpZiAoaGFzRmlsZUJhY2tlZEl0ZW0gfHwgbV9w
YXN0ZWJvYXJkLT5jb250YWluc0ZpbGVzKCkpIHsKKyAgICBhdXRvIGNvbnRhaW5zRmlsZXMgPSBt
X3Bhc3RlYm9hcmQtPmNvbnRhaW5zRmlsZXMoKTsKKyAgICBpZiAoaGFzRmlsZUJhY2tlZEl0ZW0g
fHwgY29udGFpbnNGaWxlcyAhPSBQYXN0ZWJvYXJkOjpDb250YWluc0ZpbGVzUmVzdWx0OjpOb0lt
YWdlRGF0YU9yRmlsZVBhdGhzKSB7CiAgICAgICAgIFZlY3RvcjxTdHJpbmc+IHR5cGVzOwogICAg
ICAgICBpZiAoYWRkRmlsZXNUeXBlID09IEFkZEZpbGVzVHlwZTo6WWVzKQogICAgICAgICAgICAg
dHlwZXMuYXBwZW5kKEFTQ0lJTGl0ZXJhbCgiRmlsZXMiKSk7CisKKyAgICAgICAgaWYgKGNvbnRh
aW5zRmlsZXMgIT0gUGFzdGVib2FyZDo6Q29udGFpbnNGaWxlc1Jlc3VsdDo6TWF5Q29udGFpbkZp
bGVQYXRocykgeworICAgICAgICAgICAgdHlwZXMuYXBwZW5kVmVjdG9yKFdURk1vdmUoc2FmZVR5
cGVzKSk7CisgICAgICAgICAgICByZXR1cm4gdHlwZXM7CisgICAgICAgIH0KKwogICAgICAgICBp
ZiAoc2FmZVR5cGVzLmNvbnRhaW5zKCJ0ZXh0L3VyaS1saXN0IikpCiAgICAgICAgICAgICB0eXBl
cy5hcHBlbmQoQVNDSUlMaXRlcmFsKCJ0ZXh0L3VyaS1saXN0IikpOwogICAgICAgICBpZiAoc2Fm
ZVR5cGVzLmNvbnRhaW5zKCJ0ZXh0L2h0bWwiKSAmJiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpz
aGFyZWRGZWF0dXJlcygpLmN1c3RvbVBhc3RlYm9hcmREYXRhRW5hYmxlZCgpKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGFzdGVib2FyZC5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vUGFzdGVib2FyZC5oCmluZGV4IDM4YmQzZWIxMjcwMjgyMmI4NDA0M2RmOWUxYTQ1
M2MyMGQ2OTVhMjUuLmY5Y2NmYWY4YzcwZmNiYWU3MGEyODhkOWM2Njc0YjFmMDU4YzM5ZDEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9QYXN0ZWJvYXJkLmgKQEAgLTIyMCw3ICsyMjAsOCBAQCBwdWJs
aWM6CiAKICAgICB2aXJ0dWFsIFdFQkNPUkVfRVhQT1JUIHZvaWQgd3JpdGVDdXN0b21EYXRhKGNv
bnN0IFBhc3RlYm9hcmRDdXN0b21EYXRhJik7CiAKLSAgICB2aXJ0dWFsIFdFQkNPUkVfRVhQT1JU
IGJvb2wgY29udGFpbnNGaWxlcygpOworICAgIGVudW0gY2xhc3MgQ29udGFpbnNGaWxlc1Jlc3Vs
dCB7IE5vSW1hZ2VEYXRhT3JGaWxlUGF0aHMsIE9ubHlJbWFnZURhdGEsIE1heUNvbnRhaW5GaWxl
UGF0aHMgfTsKKyAgICB2aXJ0dWFsIFdFQkNPUkVfRVhQT1JUIENvbnRhaW5zRmlsZXNSZXN1bHQg
Y29udGFpbnNGaWxlcygpOwogICAgIHZpcnR1YWwgV0VCQ09SRV9FWFBPUlQgYm9vbCBjYW5TbWFy
dFJlcGxhY2UoKTsKIAogICAgIHZpcnR1YWwgV0VCQ09SRV9FWFBPUlQgdm9pZCB3cml0ZU1hcmt1
cChjb25zdCBTdHJpbmcmIG1hcmt1cCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9TdGF0aWNQYXN0ZWJvYXJkLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TdGF0aWNQ
YXN0ZWJvYXJkLmgKaW5kZXggMDA3ZTQzYTE4ZWM1N2Y3YjcwYzliNGYwMzRkN2I3NTBkYTdjNGI5
YS4uODk3NTJjOWVmOWNjNWU0NmViZDdkMjQ5ZTM5ZjAzYWQ2ZmY1ODBmZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU3RhdGljUGFzdGVib2FyZC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1N0YXRpY1Bhc3RlYm9hcmQuaApAQCAtNjEsNyArNjEsNyBAQCBwdWJs
aWM6CiAKICAgICB2b2lkIHdyaXRlQ3VzdG9tRGF0YShjb25zdCBQYXN0ZWJvYXJkQ3VzdG9tRGF0
YSYpIGZpbmFsIHsgfQogCi0gICAgYm9vbCBjb250YWluc0ZpbGVzKCkgZmluYWwgeyByZXR1cm4g
ZmFsc2U7IH0KKyAgICBQYXN0ZWJvYXJkOjpDb250YWluc0ZpbGVzUmVzdWx0IGNvbnRhaW5zRmls
ZXMoKSBmaW5hbCB7IHJldHVybiBDb250YWluc0ZpbGVzUmVzdWx0OjpOb0ltYWdlRGF0YU9yRmls
ZVBhdGhzOyB9CiAgICAgYm9vbCBjYW5TbWFydFJlcGxhY2UoKSBmaW5hbCB7IHJldHVybiBmYWxz
ZTsgfQogCiAgICAgdm9pZCB3cml0ZU1hcmt1cChjb25zdCBTdHJpbmcmKSBmaW5hbCB7IH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1Bhc3RlYm9hcmRDb2NvYS5t
bSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1Bhc3RlYm9hcmRDb2NvYS5tbQppbmRl
eCBhNWUxNTVlMTY5OTk1NjVlNDk5MTJkZGFmMzdiNTUxODk2MmM3MDhjLi5iMmEyNTY2ZjVjMjg1
ZjNhNWI5NjFhNmY5MzVlNTk3ZmE2NDY0NTNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9jb2NvYS9QYXN0ZWJvYXJkQ29jb2EubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vY29jb2EvUGFzdGVib2FyZENvY29hLm1tCkBAIC0xMzQsMjEgKzEzNCwzNSBAQCBib29s
IFBhc3RlYm9hcmQ6OnNob3VsZFRyZWF0Q29jb2FUeXBlQXNGaWxlKGNvbnN0IFN0cmluZyYgY29j
b2FUeXBlKQogICAgIHJldHVybiBjb2NvYVR5cGVUb0ltYWdlVHlwZShjb2NvYVR5cGUpICE9IElt
YWdlVHlwZTo6SW52YWxpZDsKIH0KIAotYm9vbCBQYXN0ZWJvYXJkOjpjb250YWluc0ZpbGVzKCkK
K1Bhc3RlYm9hcmQ6OkNvbnRhaW5zRmlsZXNSZXN1bHQgUGFzdGVib2FyZDo6Y29udGFpbnNGaWxl
cygpCiB7Ci0gICAgaWYgKCFwbGF0Zm9ybVN0cmF0ZWdpZXMoKS0+cGFzdGVib2FyZFN0cmF0ZWd5
KCktPmdldE51bWJlck9mRmlsZXMobV9wYXN0ZWJvYXJkTmFtZSkpIHsKKyAgICBib29sIG1heUNv
bnRhaW5GaWxlUGF0aHMgPSBwbGF0Zm9ybVN0cmF0ZWdpZXMoKS0+cGFzdGVib2FyZFN0cmF0ZWd5
KCktPmdldE51bWJlck9mRmlsZXMobV9wYXN0ZWJvYXJkTmFtZSk7CisgICAgaWYgKCFtYXlDb250
YWluRmlsZVBhdGhzKSB7CiAgICAgICAgIFZlY3RvcjxTdHJpbmc+IGNvY29hVHlwZXM7CiAgICAg
ICAgIHBsYXRmb3JtU3RyYXRlZ2llcygpLT5wYXN0ZWJvYXJkU3RyYXRlZ3koKS0+Z2V0VHlwZXMo
Y29jb2FUeXBlcywgbV9wYXN0ZWJvYXJkTmFtZSk7CiAgICAgICAgIGlmIChjb2NvYVR5cGVzLmZp
bmRNYXRjaGluZyhbXShjb25zdCBTdHJpbmcmIGNvY29hVHlwZSkgeyByZXR1cm4gc2hvdWxkVHJl
YXRDb2NvYVR5cGVBc0ZpbGUoY29jb2FUeXBlKTsgfSkgPT0gbm90Rm91bmQpCi0gICAgICAgICAg
ICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICByZXR1cm4gQ29udGFpbnNGaWxlc1Jlc3VsdDo6
Tm9JbWFnZURhdGFPckZpbGVQYXRoczsKKworICAgICAgICBib29sIGNvbnRhaW5zVVJMID0gbm90
Rm91bmQgIT0gY29jb2FUeXBlcy5maW5kTWF0Y2hpbmcoW10gKGF1dG8mIGNvY29hVHlwZSkgewor
I2lmIFBMQVRGT1JNKE1BQykKKyAgICAgICAgICAgIGlmIChjb2NvYVR5cGUgPT0gU3RyaW5nKGxl
Z2FjeVVSTFBhc3RlYm9hcmRUeXBlKCkpKQorICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwor
I2VuZGlmCisgICAgICAgICAgICByZXR1cm4gY29jb2FUeXBlID09IFN0cmluZyhrVVRUeXBlVVJM
KTsKKyAgICAgICAgfSk7CisgICAgICAgIG1heUNvbnRhaW5GaWxlUGF0aHMgPSBjb250YWluc1VS
TCAmJiAhUGFzdGVib2FyZDo6Y2FuRXhwb3NlVVJMVG9ET01XaGVuUGFzdGVib2FyZENvbnRhaW5z
RmlsZXMocmVhZFN0cmluZyhBU0NJSUxpdGVyYWwoInRleHQvdXJpLWxpc3QiKSkpOwogICAgIH0K
IAogICAgIC8vIEVuZm9yY2UgY2hhbmdlQ291bnQgb3Vyc2VsdmVzIGZvciBzZWN1cml0eS4gV2Ug
Y2hlY2sgYWZ0ZXIgcmVhZGluZyBpbnN0ZWFkIG9mIGJlZm9yZSB0byBiZQogICAgIC8vIHN1cmUg
aXQgZG9lc24ndCBjaGFuZ2UgYmV0d2VlbiBvdXIgdGVzdGluZyB0aGUgY2hhbmdlIGNvdW50IGFu
ZCBhY2Nlc3NpbmcgdGhlIGRhdGEuCiAgICAgaWYgKG1fY2hhbmdlQ291bnQgIT0gcGxhdGZvcm1T
dHJhdGVnaWVzKCktPnBhc3RlYm9hcmRTdHJhdGVneSgpLT5jaGFuZ2VDb3VudChtX3Bhc3RlYm9h
cmROYW1lKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICByZXR1cm4gQ29udGFpbnNG
aWxlc1Jlc3VsdDo6Tm9JbWFnZURhdGFPckZpbGVQYXRoczsKIAotICAgIHJldHVybiB0cnVlOwor
ICAgIC8vIEV2ZW4gd2hlbiB0aGVyZSdzIG9ubHkgaW1hZ2UgZGF0YSBpbiB0aGUgcGFzdGVib2Fy
ZCBhbmQgbm8gZmlsZSByZXByZXNlbnRhdGlvbnMsIHdlIHN0aWxsIHJ1biB0aGUgcmlzayBvZiBl
eHBvc2luZyBmaWxlIHBhdGhzCisgICAgLy8gdG8gdGhlIHBhZ2UgaWYgdGhlIGFwcCBoYXMgd3Jp
dHRlbiBpbWFnZSBkYXRhIHRvIHRoZSBwYXN0ZWJvYXJkIHdpdGggYSBjb3JyZXNwb25kaW5nIGZp
bGUgcGF0aCBhcyBwbGFpbiB0ZXh0LiBBbiBleGFtcGxlIG9mCisgICAgLy8gdGhpcyBpcyBjb3B5
aW5nIGFuIGltYWdlIHdpdGggYSBsb2NhbCBgc3JjYCBpbiBTYWZhcmkuIFRvIG1pdGlnYXRlIHRo
aXMsIHdlIGFkZGl0aW9uYWxseSByZXF1aXJlIHRoYXQgdGhlIGFwcCBoYXMgbm90IGFsc28KKyAg
ICAvLyB3cml0dGVuIFVSTHMgdG8gdGhlIHBhc3RlYm9hcmQsIGFzIHRoaXMgd291bGQgc3VnZ2Vz
dCB0aGF0IHRoZSBwbGFpbiB0ZXh0IGRhdGEgbWlnaHQgY29udGFpbiBmaWxlIHBhdGhzLgorICAg
IHJldHVybiBtYXlDb250YWluRmlsZVBhdGhzID8gQ29udGFpbnNGaWxlc1Jlc3VsdDo6TWF5Q29u
dGFpbkZpbGVQYXRocyA6IENvbnRhaW5zRmlsZXNSZXN1bHQ6Ok9ubHlJbWFnZURhdGE7CiB9CiAK
IFZlY3RvcjxTdHJpbmc+IFBhc3RlYm9hcmQ6OnR5cGVzU2FmZUZvckJpbmRpbmdzKGNvbnN0IFN0
cmluZyYgb3JpZ2luKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1Bh
c3RlYm9hcmRHdGsuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1Bhc3RlYm9hcmRH
dGsuY3BwCmluZGV4IDk5ZDEyMDNkNjMwZjQyMTFmM2ZlYzhjYmVhZjIzMDUyMzM1NmQwNjkuLmY5
NzFlYTBiYjVjY2RiZGEyOWFhZDJjZDYxYzA0ZWNlOGQ0ZDY3NjUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9QYXN0ZWJvYXJkR3RrLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ndGsvUGFzdGVib2FyZEd0ay5jcHAKQEAgLTMxOCwxMCArMzE4LDEwIEBA
IFN0cmluZyBQYXN0ZWJvYXJkOjpyZWFkU3RyaW5nSW5DdXN0b21EYXRhKGNvbnN0IFN0cmluZyYp
CiAgICAgcmV0dXJuIHsgfTsKIH0KIAotYm9vbCBQYXN0ZWJvYXJkOjpjb250YWluc0ZpbGVzKCkK
K1Bhc3RlYm9hcmQ6OkNvbnRhaW5zRmlsZXNSZXN1bHQgUGFzdGVib2FyZDo6Y29udGFpbnNGaWxl
cygpCiB7CiAgICAgcmVhZEZyb21DbGlwYm9hcmQoKTsKLSAgICByZXR1cm4gIW1fc2VsZWN0aW9u
RGF0YS0+ZmlsZW5hbWVzKCkuaXNFbXB0eSgpOworICAgIHJldHVybiBtX3NlbGVjdGlvbkRhdGEt
PmZpbGVuYW1lcygpLmlzRW1wdHkoKSA/IENvbnRhaW5zRmlsZXNSZXN1bHQ6Ok5vSW1hZ2VEYXRh
T3JGaWxlUGF0aHMgOiBDb250YWluc0ZpbGVzUmVzdWx0OjpNYXlDb250YWluRmlsZVBhdGhzOwog
fQogCiB2b2lkIFBhc3RlYm9hcmQ6OndyaXRlTWFya3VwKGNvbnN0IFN0cmluZyYpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vUGFzdGVib2FyZFdpbi5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vUGFzdGVib2FyZFdpbi5jcHAKaW5kZXggNDY2NTBmMDVl
YThjMmQxMTkyZmUyZGZhNmNlMTEyM2ZiYjg0NzA5MC4uYmUwODkxNjI1NWVkZmZjMTM1ZmMyOWQx
NjAxMDAyMjY3NDYzZGY3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2lu
L1Bhc3RlYm9hcmRXaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9QYXN0
ZWJvYXJkV2luLmNwcApAQCAtMzE1LDEyICszMTUsMTIgQEAgc3RydWN0IFBhc3RlYm9hcmRGaWxl
Q291bnRlciBmaW5hbCA6IFBhc3RlYm9hcmRGaWxlUmVhZGVyIHsKICAgICB1bnNpZ25lZCBjb3Vu
dCB7IDAgfTsKIH07CiAKLWJvb2wgUGFzdGVib2FyZDo6Y29udGFpbnNGaWxlcygpCitQYXN0ZWJv
YXJkOjpDb250YWluc0ZpbGVzUmVzdWx0IFBhc3RlYm9hcmQ6OmNvbnRhaW5zRmlsZXMoKQogewog
ICAgIC8vIEZJWE1FOiBUaGlzIGltcGxlbWVudGF0aW9uIGNhbiBiZSBzbGlnaHRseSBtb3JlIGVm
ZmljaWVudCBieSBhdm9pZGluZyBjYWxscyB0byBEcmFnUXVlcnlGaWxlVy4KICAgICBQYXN0ZWJv
YXJkRmlsZUNvdW50ZXIgcmVhZGVyOwogICAgIHJlYWQocmVhZGVyKTsKLSAgICByZXR1cm4gcmVh
ZGVyLmNvdW50OworICAgIHJldHVybiByZWFkZXIuY291bnQgPyBDb250YWluc0ZpbGVzUmVzdWx0
OjpNYXlDb250YWluRmlsZVBhdGhzIDogQ29udGFpbnNGaWxlc1Jlc3VsdDo6Tm9JbWFnZURhdGFP
ckZpbGVQYXRoczsKIH0KIAogdm9pZCBQYXN0ZWJvYXJkOjpyZWFkKFBhc3RlYm9hcmRGaWxlUmVh
ZGVyJiByZWFkZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93cGUvUGFz
dGVib2FyZFdQRS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93cGUvUGFzdGVib2FyZFdQ
RS5jcHAKaW5kZXggMWViMmQyOWE1OGU5MGJiYzBlNGNhNTg4Y2M2OGUxNjY0Y2VmYzMzMy4uNjc2
ZmFmZjE2NjYzY2FhYjAzZDE2MjBkZTFkN2I3YmNhYjViYzhjOSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vd3BlL1Bhc3RlYm9hcmRXUEUuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL3dwZS9QYXN0ZWJvYXJkV1BFLmNwcApAQCAtMTI1LDEwICsxMjUsMTAgQEAg
dm9pZCBQYXN0ZWJvYXJkOjp3cml0ZShjb25zdCBQYXN0ZWJvYXJkV2ViQ29udGVudCYgY29udGVu
dCkKICAgICBwbGF0Zm9ybVN0cmF0ZWdpZXMoKS0+cGFzdGVib2FyZFN0cmF0ZWd5KCktPndyaXRl
VG9QYXN0ZWJvYXJkKGNvbnRlbnQpOwogfQogCi1ib29sIFBhc3RlYm9hcmQ6OmNvbnRhaW5zRmls
ZXMoKQorUGFzdGVib2FyZDo6Q29udGFpbnNGaWxlc1Jlc3VsdCBQYXN0ZWJvYXJkOjpjb250YWlu
c0ZpbGVzKCkKIHsKICAgICBub3RJbXBsZW1lbnRlZCgpOwotICAgIHJldHVybiBmYWxzZTsKKyAg
ICByZXR1cm4gQ29udGFpbnNGaWxlc1Jlc3VsdDo6Tm9JbWFnZURhdGFPckZpbGVQYXRoczsKIH0K
IAogYm9vbCBQYXN0ZWJvYXJkOjpjYW5TbWFydFJlcGxhY2UoKQpkaWZmIC0tZ2l0IGEvVG9vbHMv
Q2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IGE1NzNkMTVlODhkZTk5NzZiMTc1YWYw
NzMyNWU0NWJkZTYyYTE4YTMuLmMyZGI1NjQ0OWQ1NjdiN2U5MmMzNTY4OWRjYjMzOTcwOWQ2MzFk
YTkgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxOCBAQAorMjAxOC0wMy0wOSAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFw
cGxlLmNvbT4KKworICAgICAgICBbbWFjT1NdIENvcHlpbmcgYSB0YWJsZSBmcm9tIHRoZSBOdW1i
ZXJzIGFwcCBhbmQgcGFzdGluZyBpbnRvIGlDbG91ZCBOdW1iZXJzIGZhaWxzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODM0ODUKKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzM4MDQxOTg0PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEFkZCBuZXcgQVBJIHRlc3RzIHRvIGNvdmVyIHNjZW5hcmlvcyBpbiB3
aGljaCB3ZSBwYXN0ZSBpbWFnZSBkYXRhIGFsb25nc2lkZSB0ZXh0IGRhdGEuCisKKyAgICAgICAg
KiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1Bhc3RlTWl4ZWRDb250ZW50Lm1tOgor
ICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9U
ZXN0cy9pb3MvVUlQYXN0ZWJvYXJkVGVzdHMubW06CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpU
RVNUKToKKwogMjAxOC0wMy0wOCAgU3RlcGhhbiBTemFibyAgPHN0ZXBoYW4uc3phYm9Ac29ueS5j
b20+CiAKICAgICAgICAgV2ViS2l0VGVzdFJ1bm5lcjogRG9uJ3QgdXNlIGFjY2Vzc2liaWxpdHkg
Y29udHJvbGxlciB3aGVuICFIQVZFKEFDQ0VTU0lCSUxJVFkpCmRpZmYgLS1naXQgYS9Ub29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1Bhc3RlTWl4ZWRDb250ZW50Lm1tIGIvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9QYXN0ZU1peGVkQ29udGVudC5tbQpp
bmRleCAwZGQzM2UxZTZjZTczMjc2N2UwMmY3MDViZjY1MDlkMzU0NWZjM2M0Li5hOGVmOTYyNmYx
Y2ExNTljOTlmNzY1NDhiZjlhMDA4NTE5M2Y5NmUxIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1Bhc3RlTWl4ZWRDb250ZW50Lm1tCisrKyBiL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvUGFzdGVNaXhlZENvbnRlbnQubW0KQEAg
LTE5NCw2ICsxOTQsNDkgQEAgVEVTVChQYXN0ZU1peGVkQ29udGVudCwgSW1hZ2VGaWxlV2l0aEhU
TUxBbmRVUkwpCiAgICAgRVhQRUNUX0ZBTFNFKFtbd2ViVmlldyBzdHJpbmdCeUV2YWx1YXRpbmdK
YXZhU2NyaXB0OkAicmF3SFRNTERhdGEudGV4dENvbnRlbnQiXSBjb250YWluc1N0cmluZzpAInNj
cmlwdCJdKTsKIH0KIAorVEVTVChQYXN0ZU1peGVkQ29udGVudCwgSW1hZ2VEYXRhQW5kUGxhaW5U
ZXh0KQoreworICAgIGF1dG8gd2ViVmlldyA9IHNldFVwV2ViVmlldygpOworICAgIHdyaXRlVHlw
ZXNBbmREYXRhVG9QYXN0ZWJvYXJkKE5TUGFzdGVib2FyZFR5cGVTdHJpbmcsIEAiSGVsbG8gd29y
bGQiLCBOU1Bhc3RlYm9hcmRUeXBlUE5HLCBbTlNEYXRhIGRhdGFXaXRoQ29udGVudHNPZkZpbGU6
aW1hZ2VQYXRoKCldLCBuaWwpOworICAgIFt3ZWJWaWV3IHBhc3RlOm5pbF07CisKKyAgICBFWFBF
Q1RfV0tfU1RSRVEoIkZpbGVzLCB0ZXh0L3BsYWluIiwgW3dlYlZpZXcgc3RyaW5nQnlFdmFsdWF0
aW5nSmF2YVNjcmlwdDpAInR5cGVzLnRleHRDb250ZW50Il0pOworICAgIEVYUEVDVF9XS19TVFJF
USgiKFNUUklORywgdGV4dC9wbGFpbiksIChGSUxFLCBpbWFnZS9wbmcpIiwgW3dlYlZpZXcgc3Ry
aW5nQnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpAIml0ZW1zLnRleHRDb250ZW50Il0pOworICAgIEVY
UEVDVF9XS19TVFJFUSgiKCdpbWFnZS5wbmcnLCBpbWFnZS9wbmcpIiwgW3dlYlZpZXcgc3RyaW5n
QnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpAImZpbGVzLnRleHRDb250ZW50Il0pOworICAgIEVYUEVD
VF9XS19TVFJFUSgiIiwgW3dlYlZpZXcgc3RyaW5nQnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpAInVy
bERhdGEudGV4dENvbnRlbnQiXSk7CisgICAgRVhQRUNUX1dLX1NUUkVRKCJIZWxsbyB3b3JsZCIs
IFt3ZWJWaWV3IHN0cmluZ0J5RXZhbHVhdGluZ0phdmFTY3JpcHQ6QCJ0ZXh0RGF0YS50ZXh0Q29u
dGVudCJdKTsKKyAgICBFWFBFQ1RfV0tfU1RSRVEoIiIsIFt3ZWJWaWV3IHN0cmluZ0J5RXZhbHVh
dGluZ0phdmFTY3JpcHQ6QCJodG1sRGF0YS50ZXh0Q29udGVudCJdKTsKK30KKworVEVTVChQYXN0
ZU1peGVkQ29udGVudCwgSW1hZ2VEYXRhQW5kUGxhaW5UZXh0QW5kVVJMKQoreworICAgIGF1dG8g
d2ViVmlldyA9IHNldFVwV2ViVmlldygpOworICAgIHdyaXRlVHlwZXNBbmREYXRhVG9QYXN0ZWJv
YXJkKE5TUGFzdGVib2FyZFR5cGVTdHJpbmcsIGltYWdlUGF0aCgpLCBOU1Bhc3RlYm9hcmRUeXBl
VVJMLCBpbWFnZVBhdGgoKSwgTlNQYXN0ZWJvYXJkVHlwZVBORywgW05TRGF0YSBkYXRhV2l0aENv
bnRlbnRzT2ZGaWxlOmltYWdlUGF0aCgpXSwgbmlsKTsKKyAgICBbd2ViVmlldyBwYXN0ZTpuaWxd
OworCisgICAgRVhQRUNUX1dLX1NUUkVRKCJGaWxlcyIsIFt3ZWJWaWV3IHN0cmluZ0J5RXZhbHVh
dGluZ0phdmFTY3JpcHQ6QCJ0eXBlcy50ZXh0Q29udGVudCJdKTsKKyAgICBFWFBFQ1RfV0tfU1RS
RVEoIihGSUxFLCBpbWFnZS9wbmcpIiwgW3dlYlZpZXcgc3RyaW5nQnlFdmFsdWF0aW5nSmF2YVNj
cmlwdDpAIml0ZW1zLnRleHRDb250ZW50Il0pOworICAgIEVYUEVDVF9XS19TVFJFUSgiKCdpbWFn
ZS5wbmcnLCBpbWFnZS9wbmcpIiwgW3dlYlZpZXcgc3RyaW5nQnlFdmFsdWF0aW5nSmF2YVNjcmlw
dDpAImZpbGVzLnRleHRDb250ZW50Il0pOworICAgIEVYUEVDVF9XS19TVFJFUSgiIiwgW3dlYlZp
ZXcgc3RyaW5nQnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpAInVybERhdGEudGV4dENvbnRlbnQiXSk7
CisgICAgRVhQRUNUX1dLX1NUUkVRKCIiLCBbd2ViVmlldyBzdHJpbmdCeUV2YWx1YXRpbmdKYXZh
U2NyaXB0OkAidGV4dERhdGEudGV4dENvbnRlbnQiXSk7CisgICAgRVhQRUNUX1dLX1NUUkVRKCIi
LCBbd2ViVmlldyBzdHJpbmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0OkAiaHRtbERhdGEudGV4dENv
bnRlbnQiXSk7Cit9CisKK1RFU1QoUGFzdGVNaXhlZENvbnRlbnQsIEltYWdlRGF0YUFuZFBsYWlu
VGV4dEFuZFVSTEFuZEhUTUwpCit7CisgICAgYXV0byB3ZWJWaWV3ID0gc2V0VXBXZWJWaWV3KCk7
CisgICAgd3JpdGVUeXBlc0FuZERhdGFUb1Bhc3RlYm9hcmQoTlNQYXN0ZWJvYXJkVHlwZVN0cmlu
ZywgaW1hZ2VQYXRoKCksIE5TUGFzdGVib2FyZFR5cGVVUkwsIGltYWdlUGF0aCgpLCBOU1Bhc3Rl
Ym9hcmRUeXBlSFRNTCwgbWFya3VwU3RyaW5nKCksIE5TUGFzdGVib2FyZFR5cGVQTkcsIFtOU0Rh
dGEgZGF0YVdpdGhDb250ZW50c09mRmlsZTppbWFnZVBhdGgoKV0sIG5pbCk7CisgICAgW3dlYlZp
ZXcgcGFzdGU6bmlsXTsKKworICAgIEVYUEVDVF9XS19TVFJFUSgiRmlsZXMsIHRleHQvaHRtbCIs
IFt3ZWJWaWV3IHN0cmluZ0J5RXZhbHVhdGluZ0phdmFTY3JpcHQ6QCJ0eXBlcy50ZXh0Q29udGVu
dCJdKTsKKyAgICBFWFBFQ1RfV0tfU1RSRVEoIihTVFJJTkcsIHRleHQvaHRtbCksIChGSUxFLCBp
bWFnZS9wbmcpIiwgW3dlYlZpZXcgc3RyaW5nQnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpAIml0ZW1z
LnRleHRDb250ZW50Il0pOworICAgIEVYUEVDVF9XS19TVFJFUSgiKCdpbWFnZS5wbmcnLCBpbWFn
ZS9wbmcpIiwgW3dlYlZpZXcgc3RyaW5nQnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpAImZpbGVzLnRl
eHRDb250ZW50Il0pOworICAgIEVYUEVDVF9XS19TVFJFUSgiIiwgW3dlYlZpZXcgc3RyaW5nQnlF
dmFsdWF0aW5nSmF2YVNjcmlwdDpAInVybERhdGEudGV4dENvbnRlbnQiXSk7CisgICAgRVhQRUNU
X1dLX1NUUkVRKCIiLCBbd2ViVmlldyBzdHJpbmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0OkAidGV4
dERhdGEudGV4dENvbnRlbnQiXSk7CisgICAgRVhQRUNUX1dLX1NUUkVRKCJIRUxMTyBXT1JMRCIs
IFt3ZWJWaWV3IHN0cmluZ0J5RXZhbHVhdGluZ0phdmFTY3JpcHQ6QCJodG1sRGF0YS50ZXh0Q29u
dGVudCJdKTsKKyAgICBFWFBFQ1RfRkFMU0UoW1t3ZWJWaWV3IHN0cmluZ0J5RXZhbHVhdGluZ0ph
dmFTY3JpcHQ6QCJyYXdIVE1MRGF0YS50ZXh0Q29udGVudCJdIGNvbnRhaW5zU3RyaW5nOkAic2Ny
aXB0Il0pOworfQorCiB9IC8vIG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJCiAKICNlbmRpZiAvLyBQ
TEFURk9STShNQUMpICYmIFdLX0FQSV9FTkFCTEVECmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RzL2lvcy9VSVBhc3RlYm9hcmRUZXN0cy5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvaW9zL1VJUGFzdGVib2FyZFRlc3RzLm1tCmluZGV4IDI1NTA1NjIzYzBmMTI3MzY5
MzhjOTcyNjRmMTNjNzk1Y2MzYmVmNDcuLjQzMzQ4NTU2MWU1MGQ1YzBjN2UyZGEwNDQ3OWVmM2Zi
M2E0NzA4MGYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvaW9zL1VJUGFz
dGVib2FyZFRlc3RzLm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvaW9zL1VJUGFz
dGVib2FyZFRlc3RzLm1tCkBAIC0xOTQsNiArMTk0LDMwIEBAIFRFU1QoVUlQYXN0ZWJvYXJkVGVz
dHMsIERhdGFUcmFuc2ZlckdldERhdGFXaGVuUGFzdGluZ1BsYXRmb3JtUmVwcmVzZW50YXRpb25z
KQogICAgIH0pOwogfQogCitURVNUKFVJUGFzdGVib2FyZFRlc3RzLCBEYXRhVHJhbnNmZXJHZXRE
YXRhV2hlblBhc3RpbmdJbWFnZUFuZFRleHQpCit7CisgICAgYXV0byB3ZWJWaWV3ID0gc2V0VXBX
ZWJWaWV3Rm9yUGFzdGVib2FyZFRlc3RzKEAiRGF0YVRyYW5zZmVyIik7CisgICAgYXV0byBjb3Bp
ZWRUZXh0ID0gcmV0YWluUHRyKEAiQXBwbGUgSW5jLiIpOworICAgIGF1dG8gaXRlbVByb3ZpZGVy
ID0gYWRvcHROUyhbW05TSXRlbVByb3ZpZGVyIGFsbG9jXSBpbml0XSk7CisgICAgW2l0ZW1Qcm92
aWRlciByZWdpc3RlckRhdGFSZXByZXNlbnRhdGlvbkZvclR5cGVJZGVudGlmaWVyOihOU1N0cmlu
ZyAqKWtVVFR5cGVQTkcgdmlzaWJpbGl0eTpOU0l0ZW1Qcm92aWRlclJlcHJlc2VudGF0aW9uVmlz
aWJpbGl0eUFsbCBsb2FkSGFuZGxlcjpbXSAoRGF0YUxvYWRDb21wbGV0aW9uQmxvY2sgY29tcGxl
dGlvbkhhbmRsZXIpIC0+IE5TUHJvZ3Jlc3MgKiB7CisgICAgICAgIGNvbXBsZXRpb25IYW5kbGVy
KFtOU0RhdGEgZGF0YVdpdGhDb250ZW50c09mVVJMOltbTlNCdW5kbGUgbWFpbkJ1bmRsZV0gVVJM
Rm9yUmVzb3VyY2U6QCJpY29uIiB3aXRoRXh0ZW5zaW9uOkAicG5nIiBzdWJkaXJlY3Rvcnk6QCJU
ZXN0V2ViS2l0QVBJLnJlc291cmNlcyJdXSwgbmlsKTsKKyAgICAgICAgcmV0dXJuIG5pbDsKKyAg
ICB9XTsKKyAgICBbaXRlbVByb3ZpZGVyIHJlZ2lzdGVyRGF0YVJlcHJlc2VudGF0aW9uRm9yVHlw
ZUlkZW50aWZpZXI6KE5TU3RyaW5nICopa1VUVHlwZVVURjhQbGFpblRleHQgdmlzaWJpbGl0eTpO
U0l0ZW1Qcm92aWRlclJlcHJlc2VudGF0aW9uVmlzaWJpbGl0eUFsbCBsb2FkSGFuZGxlcjpbY29w
aWVkVGV4dF0gKERhdGFMb2FkQ29tcGxldGlvbkJsb2NrIGNvbXBsZXRpb25IYW5kbGVyKSAtPiBO
U1Byb2dyZXNzICogeworICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihbY29waWVkVGV4dCBkYXRh
VXNpbmdFbmNvZGluZzpOU1VURjhTdHJpbmdFbmNvZGluZ10sIG5pbCk7CisgICAgICAgIHJldHVy
biBuaWw7CisgICAgfV07CisgICAgW1VJUGFzdGVib2FyZCBnZW5lcmFsUGFzdGVib2FyZF0uaXRl
bVByb3ZpZGVycyA9IEBbIGl0ZW1Qcm92aWRlci5nZXQoKSBdOworICAgIFt3ZWJWaWV3IHBhc3Rl
Om5pbF07CisKKyAgICBFWFBFQ1RfV0tfU1RSRVEoIkZpbGVzLCB0ZXh0L3BsYWluIiwgW3dlYlZp
ZXcgc3RyaW5nQnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpAInR5cGVzLnRleHRDb250ZW50Il0pOwor
ICAgIEVYUEVDVF9XS19TVFJFUSgiKFNUUklORywgdGV4dC9wbGFpbiksIChGSUxFLCBpbWFnZS9w
bmcpIiwgW3dlYlZpZXcgc3RyaW5nQnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpAIml0ZW1zLnRleHRD
b250ZW50Il0pOworICAgIEVYUEVDVF9XS19TVFJFUSgiKCdpbWFnZS5wbmcnLCBpbWFnZS9wbmcp
IiwgW3dlYlZpZXcgc3RyaW5nQnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpAImZpbGVzLnRleHRDb250
ZW50Il0pOworICAgIEVYUEVDVF9XS19TVFJFUSgiIiwgW3dlYlZpZXcgc3RyaW5nQnlFdmFsdWF0
aW5nSmF2YVNjcmlwdDpAInVybERhdGEudGV4dENvbnRlbnQiXSk7CisgICAgRVhQRUNUX1dLX1NU
UkVRKCJBcHBsZSBJbmMuIiwgW3dlYlZpZXcgc3RyaW5nQnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpA
InRleHREYXRhLnRleHRDb250ZW50Il0pOworICAgIEVYUEVDVF9XS19TVFJFUSgiIiwgW3dlYlZp
ZXcgc3RyaW5nQnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpAImh0bWxEYXRhLnRleHRDb250ZW50Il0p
OworfQorCiBURVNUKFVJUGFzdGVib2FyZFRlc3RzLCBEYXRhVHJhbnNmZXJTZXREYXRhQ2Fubm90
V3JpdGVQbGF0Zm9ybVR5cGVzKQogewogICAgIGF1dG8gd2ViVmlldyA9IHNldFVwV2ViVmlld0Zv
clBhc3RlYm9hcmRUZXN0cyhAImR1bXAtZGF0YXRyYW5zZmVyLXR5cGVzIik7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZmMz
ZGU5ODA2ZDI2NjY1ODIxNmRlZTJlN2YwNWI4MzgzMTY5YjQxZC4uZjAxZjQ2NjkwZmRkMGQ5ZTI0
NzgwYWFmZDQ4ZjQ4NDBiY2NjODU4ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE4LTAzLTA5
ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFttYWNP
U10gQ29weWluZyBhIHRhYmxlIGZyb20gdGhlIE51bWJlcnMgYXBwIGFuZCBwYXN0aW5nIGludG8g
aUNsb3VkIE51bWJlcnMgZmFpbHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE4MzQ4NQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzgwNDE5ODQ+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmViYXNlbGlu
ZSBzb21lIHBhc3RlYm9hcmQtcmVsYXRlZCBsYXlvdXQgdGVzdHMsIGluIHdoaWNoIHdlIG5vdyBl
eHBvc2UgdGV4dC9wbGFpbiBhbG9uZ3NpZGUgZmlsZXMgdGhhdCB3ZXJlCisgICAgICAgIHdyaXR0
ZW4gdG8gdGhlIERhdGFUcmFuc2ZlciBieSB0aGUgcGFnZSBpdHNlbGYuCisKKyAgICAgICAgKiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvZGF0YS10cmFuc2Zlci1pdGVtLWxpc3QtYWRkLWZpbGUtbXVsdGlw
bGUtdGltZXMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9kYXRh
LXRyYW5zZmVyLWl0ZW0tbGlzdC1hZGQtZmlsZS1vbi1jb3B5LWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvZGF0YS10cmFuc2Zlci1pdGVtLWxpc3QtYWRkLWZpbGUt
b24tZHJhZy1leHBlY3RlZC50eHQ6CisKIDIwMTgtMDMtMDggIENocmlzIER1bWV6ICA8Y2R1bWV6
QGFwcGxlLmNvbT4KIAogICAgICAgICBmYXN0L2h0bWwvbWFycXVlZS1yZXBhcmVudC1jaGVjay5o
dG1sIGlzIGZsYWt5IHdpdGggYXN5bmMgZGVsZWdhdGVzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvZGF0YS10cmFuc2Zlci1pdGVtLWxpc3QtYWRkLWZpbGUtbXVs
dGlwbGUtdGltZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJk
L2RhdGEtdHJhbnNmZXItaXRlbS1saXN0LWFkZC1maWxlLW11bHRpcGxlLXRpbWVzLWV4cGVjdGVk
LnR4dAppbmRleCA2ZWYxMDM4NGMxYWE3MGQ1NGVhMzdjMmI4YmM0YmU5M2I4MzkzYzFhLi4wM2E0
YjZlOGEyMjU2MDQ2NjQ3Y2FhZmExNjMxNjA5MzczN2IyN2I1IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvZGF0YS10cmFuc2Zlci1pdGVtLWxpc3QtYWRkLWZpbGUt
bXVsdGlwbGUtdGltZXMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9kYXRhLXRyYW5zZmVyLWl0ZW0tbGlzdC1hZGQtZmlsZS1tdWx0aXBsZS10aW1lcy1l
eHBlY3RlZC50eHQKQEAgLTEwLDYgKzEwLDcgQEAgb3BlcmF0aW9uIHBlcmZvcm1lZCBhdCBlYWNo
IHN0ZXAuCiB7CiAgICAgImRhdGEiOiB7CiAgICAgICAgICJGaWxlcyI6ICIiLAorICAgICAgICAi
dGV4dC9wbGFpbiI6ICJwbGFpbiB0ZXh0IHN0cmluZyIsCiAgICAgICAgICJ0ZXh0L3VyaS1saXN0
IjogImh0dHBzOi8vd2Via2l0Lm9yZyIKICAgICB9LAogICAgICJpdGVtcyI6IFsKQEAgLTg4LDYg
Kzg5LDcgQEAgb3BlcmF0aW9uIHBlcmZvcm1lZCBhdCBlYWNoIHN0ZXAuCiB7CiAgICAgImRhdGEi
OiB7CiAgICAgICAgICJGaWxlcyI6ICIiLAorICAgICAgICAidGV4dC9wbGFpbiI6ICJwbGFpbiB0
ZXh0IHN0cmluZyIsCiAgICAgICAgICJ0ZXh0L3VyaS1saXN0IjogImh0dHBzOi8vd2Via2l0Lm9y
ZyIKICAgICB9LAogICAgICJpdGVtcyI6IFsKQEAgLTE1Myw2ICsxNTUsNyBAQCByZW1vdmVkSXRl
bS5nZXRBc0ZpbGUoKSBzaG91bGQgYmUgbnVsbDogbnVsbAogewogICAgICJkYXRhIjogewogICAg
ICAgICAiRmlsZXMiOiAiIiwKKyAgICAgICAgInRleHQvcGxhaW4iOiAicGxhaW4gdGV4dCBzdHJp
bmciLAogICAgICAgICAidGV4dC91cmktbGlzdCI6ICJodHRwczovL3dlYmtpdC5vcmciCiAgICAg
fSwKICAgICAiaXRlbXMiOiBbCkBAIC0yMDQsNiArMjA3LDcgQEAgcmVtb3ZlZEl0ZW0uZ2V0QXNG
aWxlKCkgc2hvdWxkIGJlIG51bGw6IG51bGwKIHsKICAgICAiZGF0YSI6IHsKICAgICAgICAgIkZp
bGVzIjogIiIsCisgICAgICAgICJ0ZXh0L3BsYWluIjogInBsYWluIHRleHQgc3RyaW5nIiwKICAg
ICAgICAgInRleHQvdXJpLWxpc3QiOiAiaHR0cHM6Ly93ZWJraXQub3JnIgogICAgIH0sCiAgICAg
Iml0ZW1zIjogWwpAQCAtMjQ4LDcgKzI1Miw4IEBAIHJlbW92ZWRJdGVtLmdldEFzRmlsZSgpIHNo
b3VsZCBiZSBudWxsOiBudWxsCiB7CiAgICAgImRhdGEiOiB7CiAgICAgICAgICJGaWxlcyI6ICIi
LAotICAgICAgICAidGV4dC9odG1sIjogIjxzdHJvbmc+c29tZSBzdHlsZWQgdGV4dDwvc3Ryb25n
PiIKKyAgICAgICAgInRleHQvaHRtbCI6ICI8c3Ryb25nPnNvbWUgc3R5bGVkIHRleHQ8L3N0cm9u
Zz4iLAorICAgICAgICAidGV4dC9wbGFpbiI6ICJzb21lIHBsYWluIHRleHQiCiAgICAgfSwKICAg
ICAiaXRlbXMiOiBbCiAgICAgICAgIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9kYXRhLXRyYW5zZmVyLWl0ZW0tbGlzdC1hZGQtZmlsZS1vbi1jb3B5LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9kYXRhLXRyYW5zZmVyLWl0
ZW0tbGlzdC1hZGQtZmlsZS1vbi1jb3B5LWV4cGVjdGVkLnR4dAppbmRleCAyOWJjOTQ5YTQ4OWNl
Zjk5ZWQxNmNiOGY0MDI2YTg5NjI1ZjBkM2QxLi4yNzA3NDUwNmNjNjg3NzE1ODE1NzkwYTVjMjg5
ZDc5YTNjODNiZGEzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
ZGF0YS10cmFuc2Zlci1pdGVtLWxpc3QtYWRkLWZpbGUtb24tY29weS1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL2RhdGEtdHJhbnNmZXItaXRlbS1saXN0
LWFkZC1maWxlLW9uLWNvcHktZXhwZWN0ZWQudHh0CkBAIC0yNCw3ICsyNCw4IEBAIG9wZXJhdGlv
biBwZXJmb3JtZWQgYXQgZWFjaCBzdGVwLgogMi4gQWZ0ZXIgYWRkaW5nIGEgZmlsZSBvZiBjdXN0
b20gdHlwZQogewogICAgICJkYXRhIjogewotICAgICAgICAiRmlsZXMiOiAiIgorICAgICAgICAi
RmlsZXMiOiAiIiwKKyAgICAgICAgInRleHQvcGxhaW4iOiAiaGVsbG8gd29ybGQiCiAgICAgfSwK
ICAgICAiaXRlbXMiOiBbCiAgICAgICAgIHsKQEAgLTU0LDcgKzU1LDggQEAgb3BlcmF0aW9uIHBl
cmZvcm1lZCBhdCBlYWNoIHN0ZXAuCiAzLiBBZnRlciBhZGRpbmcgdGhlIGZpcnN0IHBsYWluIHRl
eHQgZmlsZQogewogICAgICJkYXRhIjogewotICAgICAgICAiRmlsZXMiOiAiIgorICAgICAgICAi
RmlsZXMiOiAiIiwKKyAgICAgICAgInRleHQvcGxhaW4iOiAiaGVsbG8gd29ybGQiCiAgICAgfSwK
ICAgICAiaXRlbXMiOiBbCiAgICAgICAgIHsKQEAgLTk4LDcgKzEwMCw4IEBAIG9wZXJhdGlvbiBw
ZXJmb3JtZWQgYXQgZWFjaCBzdGVwLgogNC4gQWZ0ZXIgcmVtb3ZpbmcgdGhlIGxhc3QgZmlsZQog
ewogICAgICJkYXRhIjogewotICAgICAgICAiRmlsZXMiOiAiIgorICAgICAgICAiRmlsZXMiOiAi
IiwKKyAgICAgICAgInRleHQvcGxhaW4iOiAiaGVsbG8gd29ybGQiCiAgICAgfSwKICAgICAiaXRl
bXMiOiBbCiAgICAgICAgIHsKQEAgLTEzMCw2ICsxMzMsNyBAQCByZW1vdmVkSXRlbS5nZXRBc0Zp
bGUoKSBzaG91bGQgYmUgbnVsbDogbnVsbAogewogICAgICJkYXRhIjogewogICAgICAgICAiRmls
ZXMiOiAiIiwKKyAgICAgICAgInRleHQvcGxhaW4iOiAiaGVsbG8gd29ybGQiLAogICAgICAgICAi
dGV4dC9odG1sIjogIjxhPmdvb2RieWUgd29ybGQ8L2E+IgogICAgIH0sCiAgICAgIml0ZW1zIjog
WwpAQCAtMTY2LDYgKzE3MCw3IEBAIHJlbW92ZWRJdGVtLmdldEFzRmlsZSgpIHNob3VsZCBiZSBu
dWxsOiBudWxsCiB7CiAgICAgImRhdGEiOiB7CiAgICAgICAgICJGaWxlcyI6ICIiLAorICAgICAg
ICAidGV4dC9wbGFpbiI6ICJoZWxsbyB3b3JsZCIsCiAgICAgICAgICJ0ZXh0L2h0bWwiOiAiPGE+
Z29vZGJ5ZSB3b3JsZDwvYT4iCiAgICAgfSwKICAgICAiaXRlbXMiOiBbCkBAIC0yMTYsNiArMjIx
LDcgQEAgcmVtb3ZlZEl0ZW0uZ2V0QXNGaWxlKCkgc2hvdWxkIGJlIG51bGw6IG51bGwKIHsKICAg
ICAiZGF0YSI6IHsKICAgICAgICAgIkZpbGVzIjogIiIsCisgICAgICAgICJ0ZXh0L3BsYWluIjog
ImhlbGxvIHdvcmxkIiwKICAgICAgICAgInRleHQvaHRtbCI6ICI8YT5nb29kYnllIHdvcmxkPC9h
PiIKICAgICB9LAogICAgICJpdGVtcyI6IFsKQEAgLTI1Miw3ICsyNTgsOCBAQCByZW1vdmVkSXRl
bS5nZXRBc0ZpbGUoKSBzaG91bGQgYmUgbnVsbDogbnVsbAogOC4gQWZ0ZXIgcmVtb3ZpbmcgdGhl
IEhUTUwgc3RyaW5nCiB7CiAgICAgImRhdGEiOiB7Ci0gICAgICAgICJGaWxlcyI6ICIiCisgICAg
ICAgICJGaWxlcyI6ICIiLAorICAgICAgICAidGV4dC9wbGFpbiI6ICJoZWxsbyB3b3JsZCIKICAg
ICB9LAogICAgICJpdGVtcyI6IFsKICAgICAgICAgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9wYXN0ZWJvYXJkL2RhdGEtdHJhbnNmZXItaXRlbS1saXN0LWFkZC1maWxlLW9uLWRy
YWctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL2RhdGEtdHJh
bnNmZXItaXRlbS1saXN0LWFkZC1maWxlLW9uLWRyYWctZXhwZWN0ZWQudHh0CmluZGV4IDA3YzA2
Y2NkZTVkZWYzOTU0MWJlODlhMDg4MzczOWU4OWQ4ZjU4NjMuLjE1NTg5OWRlODY5OThlNjNkMWNi
Mzk3OTVjYzBkZTRjZThiMThlZGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFz
dGVib2FyZC9kYXRhLXRyYW5zZmVyLWl0ZW0tbGlzdC1hZGQtZmlsZS1vbi1kcmFnLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvZGF0YS10cmFuc2Zlci1p
dGVtLWxpc3QtYWRkLWZpbGUtb24tZHJhZy1leHBlY3RlZC50eHQKQEAgLTI0LDcgKzI0LDggQEAg
b3BlcmF0aW9uIHBlcmZvcm1lZCBhdCBlYWNoIHN0ZXAuCiAyLiBBZnRlciBhZGRpbmcgYSBmaWxl
IG9mIGN1c3RvbSB0eXBlCiB7CiAgICAgImRhdGEiOiB7Ci0gICAgICAgICJGaWxlcyI6ICIiCisg
ICAgICAgICJGaWxlcyI6ICIiLAorICAgICAgICAidGV4dC9wbGFpbiI6ICJoZWxsbyB3b3JsZCIK
ICAgICB9LAogICAgICJpdGVtcyI6IFsKICAgICAgICAgewpAQCAtNTQsNyArNTUsOCBAQCBvcGVy
YXRpb24gcGVyZm9ybWVkIGF0IGVhY2ggc3RlcC4KIDMuIEFmdGVyIGFkZGluZyB0aGUgZmlyc3Qg
cGxhaW4gdGV4dCBmaWxlCiB7CiAgICAgImRhdGEiOiB7Ci0gICAgICAgICJGaWxlcyI6ICIiCisg
ICAgICAgICJGaWxlcyI6ICIiLAorICAgICAgICAidGV4dC9wbGFpbiI6ICJoZWxsbyB3b3JsZCIK
ICAgICB9LAogICAgICJpdGVtcyI6IFsKICAgICAgICAgewpAQCAtOTgsNyArMTAwLDggQEAgb3Bl
cmF0aW9uIHBlcmZvcm1lZCBhdCBlYWNoIHN0ZXAuCiA0LiBBZnRlciByZW1vdmluZyB0aGUgbGFz
dCBmaWxlCiB7CiAgICAgImRhdGEiOiB7Ci0gICAgICAgICJGaWxlcyI6ICIiCisgICAgICAgICJG
aWxlcyI6ICIiLAorICAgICAgICAidGV4dC9wbGFpbiI6ICJoZWxsbyB3b3JsZCIKICAgICB9LAog
ICAgICJpdGVtcyI6IFsKICAgICAgICAgewpAQCAtMTMwLDYgKzEzMyw3IEBAIHJlbW92ZWRJdGVt
LmdldEFzRmlsZSgpIHNob3VsZCBiZSBudWxsOiBudWxsCiB7CiAgICAgImRhdGEiOiB7CiAgICAg
ICAgICJGaWxlcyI6ICIiLAorICAgICAgICAidGV4dC9wbGFpbiI6ICJoZWxsbyB3b3JsZCIsCiAg
ICAgICAgICJ0ZXh0L2h0bWwiOiAiPGE+Z29vZGJ5ZSB3b3JsZDwvYT4iCiAgICAgfSwKICAgICAi
aXRlbXMiOiBbCkBAIC0xNjYsNiArMTcwLDcgQEAgcmVtb3ZlZEl0ZW0uZ2V0QXNGaWxlKCkgc2hv
dWxkIGJlIG51bGw6IG51bGwKIHsKICAgICAiZGF0YSI6IHsKICAgICAgICAgIkZpbGVzIjogIiIs
CisgICAgICAgICJ0ZXh0L3BsYWluIjogImhlbGxvIHdvcmxkIiwKICAgICAgICAgInRleHQvaHRt
bCI6ICI8YT5nb29kYnllIHdvcmxkPC9hPiIKICAgICB9LAogICAgICJpdGVtcyI6IFsKQEAgLTIx
Niw2ICsyMjEsNyBAQCByZW1vdmVkSXRlbS5nZXRBc0ZpbGUoKSBzaG91bGQgYmUgbnVsbDogbnVs
bAogewogICAgICJkYXRhIjogewogICAgICAgICAiRmlsZXMiOiAiIiwKKyAgICAgICAgInRleHQv
cGxhaW4iOiAiaGVsbG8gd29ybGQiLAogICAgICAgICAidGV4dC9odG1sIjogIjxhPmdvb2RieWUg
d29ybGQ8L2E+IgogICAgIH0sCiAgICAgIml0ZW1zIjogWwpAQCAtMjUyLDcgKzI1OCw4IEBAIHJl
bW92ZWRJdGVtLmdldEFzRmlsZSgpIHNob3VsZCBiZSBudWxsOiBudWxsCiA4LiBBZnRlciByZW1v
dmluZyB0aGUgSFRNTCBzdHJpbmcKIHsKICAgICAiZGF0YSI6IHsKLSAgICAgICAgIkZpbGVzIjog
IiIKKyAgICAgICAgIkZpbGVzIjogIiIsCisgICAgICAgICJ0ZXh0L3BsYWluIjogImhlbGxvIHdv
cmxkIgogICAgIH0sCiAgICAgIml0ZW1zIjogWwogICAgICAgICB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>335458</attachid>
            <date>2018-03-09 13:57:57 -0800</date>
            <delta_ts>2018-03-09 17:09:41 -0800</delta_ts>
            <desc>Fix macOS 10.11 builds</desc>
            <filename>bug-183485-20180309135756.patch</filename>
            <type>text/plain</type>
            <size>26252</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI5NDQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTI2MWNjNjg4NDVlOTU2
YTg5ZWE1OTNkNDFhYmZkYTJhNmRhOTJlMy4uNWU4ZjhiMDE3YTdjMzE2YmM0NmFlMDM0MTZjMzlk
NDc0YmY4OTkxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY5IEBACisyMDE4LTAzLTA5ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFttYWNPU10gQ29w
eWluZyBhIHRhYmxlIGZyb20gdGhlIE51bWJlcnMgYXBwIGFuZCBwYXN0aW5nIGludG8gaUNsb3Vk
IE51bWJlcnMgZmFpbHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE4MzQ4NQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzgwNDE5ODQ+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWZ0ZXIgMjIyNjU2LCBX
ZWJLaXQgbm93IHRyZWF0cyByYXcgaW1hZ2UgZGF0YSBvbiB0aGUgcGFzdGVib2FyZCBhcyBmaWxl
cyBmb3IgdGhlIHB1cnBvc2VzIG9mIGNvbXB1dGluZworICAgICAgICBEYXRhVHJhbnNmZXIuZmls
ZXMgYW5kIERhdGFUcmFuc2Zlci50eXBlcy4gSG93ZXZlciwgd2hlbiBjb21iaW5lZCB3aXRoIGV4
aXN0aW5nIHBvbGljaWVzIHRoYXQgc3VwcHJlc3MKKyAgICAgICAgRGF0YVRyYW5zZmVyLmdldERh
dGEgYW5kIERhdGFUcmFuc2Zlci5zZXREYXRhIHdoZW4gdGhlIHBhc3RlYm9hcmQgY29udGFpbnMg
ZmlsZXMgKGdlbmVyYWxpemVkIHRvIGNvcHkvcGFzdGUgaW4KKyAgICAgICAgcjIyMjY4OCkgdGhp
cyBtZWFucyB3ZSBub3cgZG9uJ3QgYWxsb3cgd2ViIHBhZ2VzIHRvIGFjY2VzcyAidGV4dC9wbGFp
biIgaW4gdGhlIGNhc2Ugd2hlcmUgdGhlIHVzZXIgY29waWVzIHBhcnQKKyAgICAgICAgb2YgYSB0
YWJsZSBmcm9tIHRoZSBuYXRpdmUgTnVtYmVycyBhcHAsIHNpbmNlIE51bWJlcnMgYWRkaXRpb25h
bGx5IHdyaXRlcyBhIHNuYXBzaG90IG9mIHRoZSB0YWJsZSB0byB0aGUKKyAgICAgICAgcGxhdGZv
cm0gcGFzdGVib2FyZC4KKworICAgICAgICBJbiB0aGUgZmlyc3QgcGxhY2UsIHRoaXMgcmVzdHJp
Y3Rpb24gb24gZ2V0RGF0YS9zZXREYXRhIHdhcyBpbnRlbmRlZCB0byBwcmV2ZW50IHdlYiBwYWdl
cyBmcm9tIGV4dHJhY3RpbmcgdXNlcnMnCisgICAgICAgIGZpbGUgcGF0aHMgd2hlbiBwYXN0aW5n
IG9yIGRyb3BwaW5nLCBzbyBpdCBkb2Vzbid0IG1ha2Ugc2Vuc2UgdG8gZW5mb3JjZSB0aGlzIHJl
c3RyaWN0aW9uIGV2ZW4gd2hlbiB0aGVyZSBpcworICAgICAgICBvbmx5IGluLW1lbW9yeSBpbWFn
ZSBkYXRhIG9uIHRoZSBwYXN0ZWJvYXJkLiBUbyBmaXggdGhpcyBidWcsIHdlIG1ha2UgUGFzdGVi
b2FyZDo6Y29udGFpbnNGaWxlcygpIGRpZmZlcmVudGlhdGUKKyAgICAgICAgYmV0d2VlbiBjYXNl
cyB3aGVyZSB0aGVyZSBhcmUgKHJlYWwpIGZpbGVzIG9uIHRoZSBwYXN0ZWJvYXJkLCBhbmQgY2Fz
ZXMgd2hlcmUgd2UndmUgZmFsbGVuIGJhY2sgdG8gdHJlYXRpbmcKKyAgICAgICAgaW1hZ2UgZGF0
YSBhcyBmaWxlcy4KKworICAgICAgICBSZWJhc2VsaW5lZCBleGlzdGluZyBMYXlvdXRUZXN0cyB0
byBtYXRjaCBuZXcgYmVoYXZpb3IuCisgICAgICAgIEFsc28gY292ZXJlZCBieSA0IG5ldyBBUEkg
dGVzdHM6CisgICAgICAgICAgICDigKIgUGFzdGVNaXhlZENvbnRlbnQuSW1hZ2VEYXRhQW5kUGxh
aW5UZXh0CisgICAgICAgICAgICDigKIgUGFzdGVNaXhlZENvbnRlbnQuSW1hZ2VEYXRhQW5kUGxh
aW5UZXh0QW5kVVJMCisgICAgICAgICAgICDigKIgUGFzdGVNaXhlZENvbnRlbnQuSW1hZ2VEYXRh
QW5kUGxhaW5UZXh0QW5kVVJMQW5kSFRNTAorICAgICAgICAgICAg4oCiIFVJUGFzdGVib2FyZFRl
c3RzLkRhdGFUcmFuc2ZlckdldERhdGFXaGVuUGFzdGluZ0ltYWdlQW5kVGV4dAorCisgICAgICAg
ICogZG9tL0RhdGFUcmFuc2Zlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEYXRhVHJhbnNmZXI6
OnNob3VsZFN1cHByZXNzR2V0QW5kU2V0RGF0YVRvQXZvaWRFeHBvc2luZ0ZpbGVQYXRocyBjb25z
dCk6CisKKyAgICAgICAgSWYgY3VzdG9tIHBhc3RlYm9hcmQgZGF0YSBpcyBlbmFibGVkLCBzdXBw
cmVzcyBnZXREYXRhIGFuZCBzZXREYXRhIGlmIGFuZCBvbmx5IGlmIHdlIG1pZ2h0IGFjdHVhbGx5
IGV4cG9zZSBmaWxlCisgICAgICAgIHBhdGhzIChzZWUgUGFzdGVib2FyZDo6Y29udGFpbnNGaWxl
cykuCisKKyAgICAgICAgKFdlYkNvcmU6OkRhdGFUcmFuc2Zlcjo6dHlwZXMgY29uc3QpOgorCisg
ICAgICAgIE9ubHkgd2hpdGVsaXN0ICJ0ZXh0L2h0bWwiIG9yICJ0ZXh0L3VyaS1saXN0IiBpbiB0
aGUgY2FzZSB3aGVyZSB0aGVyZSBhcmUgYWN0dWFsIGZpbGVzIGluIHRoZSBwYXN0ZWJvYXJkLiBJ
ZgorICAgICAgICB0aGVyZSdzIG9ubHkgaW1hZ2UgZGF0YSwgYWRkIGFsbCBvZiB0aGUgRE9NLXNh
ZmUgdHlwZXMgYmFjayBpbnRvIHRoZSBsaXN0IG9mIHR5cGVzLgorCisgICAgICAgICogcGxhdGZv
cm0vUGFzdGVib2FyZC5oOgorCisgICAgICAgIEFkZCBhbiBlbnVtIHR5cGUgdG8gcmVwcmVzZW50
IHRoZSByZXN1bHQgb2YgUGFzdGVib2FyZDo6Y29udGFpbnNGaWxlcy4KKyAgICAgICAgLSAgIE5v
SW1hZ2VEYXRhT3JGaWxlUGF0aHMgaW5kaWNhdGVzIHRoYXQgdGhlcmUgd2FzIG5vdGhpbmcgb24g
dGhlIHBhc3RlYm9hcmQgdGhhdCBjb3VsZCBiZSBjb25zaWRlcmVkIGEgZmlsZQorICAgICAgICAg
ICAgZnJvbSB0aGUgcG9pbnQgb2YgdmlldyBvZiB0aGUgcGFnZS4KKyAgICAgICAgLSAgIE9ubHlJ
bWFnZURhdGEgaW5kaWNhdGVzIHRoYXQgdGhlcmUgYXJlIG5vIHJlYWwgZmlsZXMgb24gdGhlIHBh
c3RlYm9hcmQsIGJ1dCB0aGVyZSBpcyBpbWFnZSBkYXRhIHRoYXQgd2UKKyAgICAgICAgICAgIGNv
bnNpZGVyIHRvIGJlIGZpbGVzLCBleHBvc2VkIHZpYSBEYXRhVHJhbnNmZXIgQVBJLgorICAgICAg
ICAtICAgTWF5Q29udGFpbkZpbGVQYXRocyBpbmRpY2F0ZXMgdGhhdCB0aGVyZSBhcmUgcmVhbCBt
aWdodCBiZSByZWFsIGZpbGUgcGF0aHMgb24gdGhlIHBhc3RlYm9hcmQuIFRoaXMgbWVhbnMKKyAg
ICAgICAgICAgIHRoYXQgdGhlIHNvdXJjZSBoYXMgZWl0aGVyIHdyaXR0ZW4gZmlsZSBwYXRocyB0
byB0aGUgcGFzdGVib2FyZCAoZm9yIGV4YW1wbGUsIHRocm91Z2ggTlNGaWxlbmFtZXNQYm9hcmRU
eXBlKQorICAgICAgICAgICAgb3IgdGhlIHNvdXJjZSBoYXMgd3JpdHRlbiBpbWFnZSBkYXRhIGFs
b25nIHdpdGggYSBVUkwgdHlwZSBvZiBzb21lIHNvcnQgdGhhdCBkb2VzIG5vdCBtYXRjaCBvbmUg
b2YgdGhlCisgICAgICAgICAgICB3aGl0ZS1saXN0ZWQgVVJMIHNjaGVtZXMgdGhhdCBhcmUgc2Fm
ZSB0byBleHBvc2UgKGN1cnJlbnRseSwgdGhlc2UgYXJlIGh0dHAtZmFtaWx5LCBkYXRhLCBvciBi
bG9iKS4KKworICAgICAgICAqIHBsYXRmb3JtL1N0YXRpY1Bhc3RlYm9hcmQuaDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9jb2NvYS9QYXN0ZWJvYXJkQ29jb2EubW06CisgICAgICAgIChXZWJDb3JlOjpQ
YXN0ZWJvYXJkOjpjb250YWluc0ZpbGVzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvUGFzdGVi
b2FyZEd0ay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQYXN0ZWJvYXJkOjpjb250YWluc0ZpbGVz
KToKKworICAgICAgICBSZWZhY3RvciB0byByZXR1cm4gb25lIG9mIHRoZSB0aHJlZSBlbnVtIHR5
cGVzIGRlc2NyaWJlZCBhYm92ZS4KKworICAgICAgICAqIHBsYXRmb3JtL3dpbi9QYXN0ZWJvYXJk
V2luLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBhc3RlYm9hcmQ6OmNvbnRhaW5zRmlsZXMpOgor
ICAgICAgICAqIHBsYXRmb3JtL3dwZS9QYXN0ZWJvYXJkV1BFLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlBhc3RlYm9hcmQ6OmNvbnRhaW5zRmlsZXMpOgorCisgICAgICAgIEFkanVzdCBmb3IgUGFz
dGVib2FyZDo6Y29udGFpbnNGaWxlcygpIHR3ZWFrcy4KKwogMjAxOC0wMy0wOCAgTWVnYW4gR2Fy
ZG5lciAgPG1lZ2FuX2dhcmRuZXJAYXBwbGUuY29tPgogCiAgICAgICAgIEVuc3VyZSBkZWZhdWx0
IGFwcGVhcmFuY2UgZm9yIHNlbGVjdGlvbiBmb3JtIGNvbnRyb2wKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9EYXRhVHJhbnNmZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RhdGFU
cmFuc2Zlci5jcHAKaW5kZXggM2U3MWE3M2YzNDA1MzVhNmI0YjE0ZDQ3NzlhMzdlOTE0NTg3NzQ3
YS4uYWExZGMxZDgwY2ViNTljYzA4MGY0NmU2ZDkxMTcwNDJkMGU0MmI3ZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvZG9tL0RhdGFUcmFuc2Zlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0RhdGFUcmFuc2Zlci5jcHAKQEAgLTIwNCw3ICsyMDQsNyBAQCBib29sIERhdGFUcmFuc2Zl
cjo6c2hvdWxkU3VwcHJlc3NHZXRBbmRTZXREYXRhVG9Bdm9pZEV4cG9zaW5nRmlsZVBhdGhzKCkg
Y29uc3QKIHsKICAgICBpZiAoIWZvckZpbGVEcmFnKCkgJiYgIVJ1bnRpbWVFbmFibGVkRmVhdHVy
ZXM6OnNoYXJlZEZlYXR1cmVzKCkuY3VzdG9tUGFzdGVib2FyZERhdGFFbmFibGVkKCkpCiAgICAg
ICAgIHJldHVybiBmYWxzZTsKLSAgICByZXR1cm4gbV9wYXN0ZWJvYXJkLT5jb250YWluc0ZpbGVz
KCk7CisgICAgcmV0dXJuIG1fcGFzdGVib2FyZC0+Y29udGFpbnNGaWxlcygpID09IFBhc3RlYm9h
cmQ6OkNvbnRhaW5zRmlsZXNSZXN1bHQ6Ok1heUNvbnRhaW5GaWxlUGF0aHM7CiB9CiAKIHZvaWQg
RGF0YVRyYW5zZmVyOjpzZXREYXRhKGNvbnN0IFN0cmluZyYgdHlwZSwgY29uc3QgU3RyaW5nJiBk
YXRhKQpAQCAtMjkxLDcgKzI5MSw3IEBAIFZlY3RvcjxTdHJpbmc+IERhdGFUcmFuc2Zlcjo6dHlw
ZXMoQWRkRmlsZXNUeXBlIGFkZEZpbGVzVHlwZSkgY29uc3QKICAgICBpZiAoIVJ1bnRpbWVFbmFi
bGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuY3VzdG9tUGFzdGVib2FyZERhdGFFbmFibGVk
KCkpIHsKICAgICAgICAgYXV0byB0eXBlcyA9IG1fcGFzdGVib2FyZC0+dHlwZXNGb3JMZWdhY3lV
bnNhZmVCaW5kaW5ncygpOwogICAgICAgICBBU1NFUlQoIXR5cGVzLmNvbnRhaW5zKCJGaWxlcyIp
KTsKLSAgICAgICAgaWYgKG1fcGFzdGVib2FyZC0+Y29udGFpbnNGaWxlcygpICYmIGFkZEZpbGVz
VHlwZSA9PSBBZGRGaWxlc1R5cGU6OlllcykKKyAgICAgICAgaWYgKG1fcGFzdGVib2FyZC0+Y29u
dGFpbnNGaWxlcygpICE9IFBhc3RlYm9hcmQ6OkNvbnRhaW5zRmlsZXNSZXN1bHQ6Ok5vSW1hZ2VE
YXRhT3JGaWxlUGF0aHMgJiYgYWRkRmlsZXNUeXBlID09IEFkZEZpbGVzVHlwZTo6WWVzKQogICAg
ICAgICAgICAgdHlwZXMuYXBwZW5kKCJGaWxlcyIpOwogICAgICAgICByZXR1cm4gdHlwZXM7CiAg
ICAgfQpAQCAtMzAxLDEwICszMDEsMTcgQEAgVmVjdG9yPFN0cmluZz4gRGF0YVRyYW5zZmVyOjp0
eXBlcyhBZGRGaWxlc1R5cGUgYWRkRmlsZXNUeXBlKSBjb25zdAogICAgICAgICByZXR1cm4gaXRl
bS0+aXNGaWxlKCk7CiAgICAgfSk7CiAKLSAgICBpZiAoaGFzRmlsZUJhY2tlZEl0ZW0gfHwgbV9w
YXN0ZWJvYXJkLT5jb250YWluc0ZpbGVzKCkpIHsKKyAgICBhdXRvIGNvbnRhaW5zRmlsZXMgPSBt
X3Bhc3RlYm9hcmQtPmNvbnRhaW5zRmlsZXMoKTsKKyAgICBpZiAoaGFzRmlsZUJhY2tlZEl0ZW0g
fHwgY29udGFpbnNGaWxlcyAhPSBQYXN0ZWJvYXJkOjpDb250YWluc0ZpbGVzUmVzdWx0OjpOb0lt
YWdlRGF0YU9yRmlsZVBhdGhzKSB7CiAgICAgICAgIFZlY3RvcjxTdHJpbmc+IHR5cGVzOwogICAg
ICAgICBpZiAoYWRkRmlsZXNUeXBlID09IEFkZEZpbGVzVHlwZTo6WWVzKQogICAgICAgICAgICAg
dHlwZXMuYXBwZW5kKEFTQ0lJTGl0ZXJhbCgiRmlsZXMiKSk7CisKKyAgICAgICAgaWYgKGNvbnRh
aW5zRmlsZXMgIT0gUGFzdGVib2FyZDo6Q29udGFpbnNGaWxlc1Jlc3VsdDo6TWF5Q29udGFpbkZp
bGVQYXRocykgeworICAgICAgICAgICAgdHlwZXMuYXBwZW5kVmVjdG9yKFdURk1vdmUoc2FmZVR5
cGVzKSk7CisgICAgICAgICAgICByZXR1cm4gdHlwZXM7CisgICAgICAgIH0KKwogICAgICAgICBp
ZiAoc2FmZVR5cGVzLmNvbnRhaW5zKCJ0ZXh0L3VyaS1saXN0IikpCiAgICAgICAgICAgICB0eXBl
cy5hcHBlbmQoQVNDSUlMaXRlcmFsKCJ0ZXh0L3VyaS1saXN0IikpOwogICAgICAgICBpZiAoc2Fm
ZVR5cGVzLmNvbnRhaW5zKCJ0ZXh0L2h0bWwiKSAmJiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpz
aGFyZWRGZWF0dXJlcygpLmN1c3RvbVBhc3RlYm9hcmREYXRhRW5hYmxlZCgpKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGFzdGVib2FyZC5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vUGFzdGVib2FyZC5oCmluZGV4IDM4YmQzZWIxMjcwMjgyMmI4NDA0M2RmOWUxYTQ1
M2MyMGQ2OTVhMjUuLmY5Y2NmYWY4YzcwZmNiYWU3MGEyODhkOWM2Njc0YjFmMDU4YzM5ZDEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9QYXN0ZWJvYXJkLmgKQEAgLTIyMCw3ICsyMjAsOCBAQCBwdWJs
aWM6CiAKICAgICB2aXJ0dWFsIFdFQkNPUkVfRVhQT1JUIHZvaWQgd3JpdGVDdXN0b21EYXRhKGNv
bnN0IFBhc3RlYm9hcmRDdXN0b21EYXRhJik7CiAKLSAgICB2aXJ0dWFsIFdFQkNPUkVfRVhQT1JU
IGJvb2wgY29udGFpbnNGaWxlcygpOworICAgIGVudW0gY2xhc3MgQ29udGFpbnNGaWxlc1Jlc3Vs
dCB7IE5vSW1hZ2VEYXRhT3JGaWxlUGF0aHMsIE9ubHlJbWFnZURhdGEsIE1heUNvbnRhaW5GaWxl
UGF0aHMgfTsKKyAgICB2aXJ0dWFsIFdFQkNPUkVfRVhQT1JUIENvbnRhaW5zRmlsZXNSZXN1bHQg
Y29udGFpbnNGaWxlcygpOwogICAgIHZpcnR1YWwgV0VCQ09SRV9FWFBPUlQgYm9vbCBjYW5TbWFy
dFJlcGxhY2UoKTsKIAogICAgIHZpcnR1YWwgV0VCQ09SRV9FWFBPUlQgdm9pZCB3cml0ZU1hcmt1
cChjb25zdCBTdHJpbmcmIG1hcmt1cCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9TdGF0aWNQYXN0ZWJvYXJkLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TdGF0aWNQ
YXN0ZWJvYXJkLmgKaW5kZXggMDA3ZTQzYTE4ZWM1N2Y3YjcwYzliNGYwMzRkN2I3NTBkYTdjNGI5
YS4uODk3NTJjOWVmOWNjNWU0NmViZDdkMjQ5ZTM5ZjAzYWQ2ZmY1ODBmZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU3RhdGljUGFzdGVib2FyZC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1N0YXRpY1Bhc3RlYm9hcmQuaApAQCAtNjEsNyArNjEsNyBAQCBwdWJs
aWM6CiAKICAgICB2b2lkIHdyaXRlQ3VzdG9tRGF0YShjb25zdCBQYXN0ZWJvYXJkQ3VzdG9tRGF0
YSYpIGZpbmFsIHsgfQogCi0gICAgYm9vbCBjb250YWluc0ZpbGVzKCkgZmluYWwgeyByZXR1cm4g
ZmFsc2U7IH0KKyAgICBQYXN0ZWJvYXJkOjpDb250YWluc0ZpbGVzUmVzdWx0IGNvbnRhaW5zRmls
ZXMoKSBmaW5hbCB7IHJldHVybiBDb250YWluc0ZpbGVzUmVzdWx0OjpOb0ltYWdlRGF0YU9yRmls
ZVBhdGhzOyB9CiAgICAgYm9vbCBjYW5TbWFydFJlcGxhY2UoKSBmaW5hbCB7IHJldHVybiBmYWxz
ZTsgfQogCiAgICAgdm9pZCB3cml0ZU1hcmt1cChjb25zdCBTdHJpbmcmKSBmaW5hbCB7IH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1Bhc3RlYm9hcmRDb2NvYS5t
bSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1Bhc3RlYm9hcmRDb2NvYS5tbQppbmRl
eCBhNWUxNTVlMTY5OTk1NjVlNDk5MTJkZGFmMzdiNTUxODk2MmM3MDhjLi5iMmEyNTY2ZjVjMjg1
ZjNhNWI5NjFhNmY5MzVlNTk3ZmE2NDY0NTNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9jb2NvYS9QYXN0ZWJvYXJkQ29jb2EubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vY29jb2EvUGFzdGVib2FyZENvY29hLm1tCkBAIC0xMzQsMjEgKzEzNCwzNSBAQCBib29s
IFBhc3RlYm9hcmQ6OnNob3VsZFRyZWF0Q29jb2FUeXBlQXNGaWxlKGNvbnN0IFN0cmluZyYgY29j
b2FUeXBlKQogICAgIHJldHVybiBjb2NvYVR5cGVUb0ltYWdlVHlwZShjb2NvYVR5cGUpICE9IElt
YWdlVHlwZTo6SW52YWxpZDsKIH0KIAotYm9vbCBQYXN0ZWJvYXJkOjpjb250YWluc0ZpbGVzKCkK
K1Bhc3RlYm9hcmQ6OkNvbnRhaW5zRmlsZXNSZXN1bHQgUGFzdGVib2FyZDo6Y29udGFpbnNGaWxl
cygpCiB7Ci0gICAgaWYgKCFwbGF0Zm9ybVN0cmF0ZWdpZXMoKS0+cGFzdGVib2FyZFN0cmF0ZWd5
KCktPmdldE51bWJlck9mRmlsZXMobV9wYXN0ZWJvYXJkTmFtZSkpIHsKKyAgICBib29sIG1heUNv
bnRhaW5GaWxlUGF0aHMgPSBwbGF0Zm9ybVN0cmF0ZWdpZXMoKS0+cGFzdGVib2FyZFN0cmF0ZWd5
KCktPmdldE51bWJlck9mRmlsZXMobV9wYXN0ZWJvYXJkTmFtZSk7CisgICAgaWYgKCFtYXlDb250
YWluRmlsZVBhdGhzKSB7CiAgICAgICAgIFZlY3RvcjxTdHJpbmc+IGNvY29hVHlwZXM7CiAgICAg
ICAgIHBsYXRmb3JtU3RyYXRlZ2llcygpLT5wYXN0ZWJvYXJkU3RyYXRlZ3koKS0+Z2V0VHlwZXMo
Y29jb2FUeXBlcywgbV9wYXN0ZWJvYXJkTmFtZSk7CiAgICAgICAgIGlmIChjb2NvYVR5cGVzLmZp
bmRNYXRjaGluZyhbXShjb25zdCBTdHJpbmcmIGNvY29hVHlwZSkgeyByZXR1cm4gc2hvdWxkVHJl
YXRDb2NvYVR5cGVBc0ZpbGUoY29jb2FUeXBlKTsgfSkgPT0gbm90Rm91bmQpCi0gICAgICAgICAg
ICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICByZXR1cm4gQ29udGFpbnNGaWxlc1Jlc3VsdDo6
Tm9JbWFnZURhdGFPckZpbGVQYXRoczsKKworICAgICAgICBib29sIGNvbnRhaW5zVVJMID0gbm90
Rm91bmQgIT0gY29jb2FUeXBlcy5maW5kTWF0Y2hpbmcoW10gKGF1dG8mIGNvY29hVHlwZSkgewor
I2lmIFBMQVRGT1JNKE1BQykKKyAgICAgICAgICAgIGlmIChjb2NvYVR5cGUgPT0gU3RyaW5nKGxl
Z2FjeVVSTFBhc3RlYm9hcmRUeXBlKCkpKQorICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwor
I2VuZGlmCisgICAgICAgICAgICByZXR1cm4gY29jb2FUeXBlID09IFN0cmluZyhrVVRUeXBlVVJM
KTsKKyAgICAgICAgfSk7CisgICAgICAgIG1heUNvbnRhaW5GaWxlUGF0aHMgPSBjb250YWluc1VS
TCAmJiAhUGFzdGVib2FyZDo6Y2FuRXhwb3NlVVJMVG9ET01XaGVuUGFzdGVib2FyZENvbnRhaW5z
RmlsZXMocmVhZFN0cmluZyhBU0NJSUxpdGVyYWwoInRleHQvdXJpLWxpc3QiKSkpOwogICAgIH0K
IAogICAgIC8vIEVuZm9yY2UgY2hhbmdlQ291bnQgb3Vyc2VsdmVzIGZvciBzZWN1cml0eS4gV2Ug
Y2hlY2sgYWZ0ZXIgcmVhZGluZyBpbnN0ZWFkIG9mIGJlZm9yZSB0byBiZQogICAgIC8vIHN1cmUg
aXQgZG9lc24ndCBjaGFuZ2UgYmV0d2VlbiBvdXIgdGVzdGluZyB0aGUgY2hhbmdlIGNvdW50IGFu
ZCBhY2Nlc3NpbmcgdGhlIGRhdGEuCiAgICAgaWYgKG1fY2hhbmdlQ291bnQgIT0gcGxhdGZvcm1T
dHJhdGVnaWVzKCktPnBhc3RlYm9hcmRTdHJhdGVneSgpLT5jaGFuZ2VDb3VudChtX3Bhc3RlYm9h
cmROYW1lKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICByZXR1cm4gQ29udGFpbnNG
aWxlc1Jlc3VsdDo6Tm9JbWFnZURhdGFPckZpbGVQYXRoczsKIAotICAgIHJldHVybiB0cnVlOwor
ICAgIC8vIEV2ZW4gd2hlbiB0aGVyZSdzIG9ubHkgaW1hZ2UgZGF0YSBpbiB0aGUgcGFzdGVib2Fy
ZCBhbmQgbm8gZmlsZSByZXByZXNlbnRhdGlvbnMsIHdlIHN0aWxsIHJ1biB0aGUgcmlzayBvZiBl
eHBvc2luZyBmaWxlIHBhdGhzCisgICAgLy8gdG8gdGhlIHBhZ2UgaWYgdGhlIGFwcCBoYXMgd3Jp
dHRlbiBpbWFnZSBkYXRhIHRvIHRoZSBwYXN0ZWJvYXJkIHdpdGggYSBjb3JyZXNwb25kaW5nIGZp
bGUgcGF0aCBhcyBwbGFpbiB0ZXh0LiBBbiBleGFtcGxlIG9mCisgICAgLy8gdGhpcyBpcyBjb3B5
aW5nIGFuIGltYWdlIHdpdGggYSBsb2NhbCBgc3JjYCBpbiBTYWZhcmkuIFRvIG1pdGlnYXRlIHRo
aXMsIHdlIGFkZGl0aW9uYWxseSByZXF1aXJlIHRoYXQgdGhlIGFwcCBoYXMgbm90IGFsc28KKyAg
ICAvLyB3cml0dGVuIFVSTHMgdG8gdGhlIHBhc3RlYm9hcmQsIGFzIHRoaXMgd291bGQgc3VnZ2Vz
dCB0aGF0IHRoZSBwbGFpbiB0ZXh0IGRhdGEgbWlnaHQgY29udGFpbiBmaWxlIHBhdGhzLgorICAg
IHJldHVybiBtYXlDb250YWluRmlsZVBhdGhzID8gQ29udGFpbnNGaWxlc1Jlc3VsdDo6TWF5Q29u
dGFpbkZpbGVQYXRocyA6IENvbnRhaW5zRmlsZXNSZXN1bHQ6Ok9ubHlJbWFnZURhdGE7CiB9CiAK
IFZlY3RvcjxTdHJpbmc+IFBhc3RlYm9hcmQ6OnR5cGVzU2FmZUZvckJpbmRpbmdzKGNvbnN0IFN0
cmluZyYgb3JpZ2luKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1Bh
c3RlYm9hcmRHdGsuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1Bhc3RlYm9hcmRH
dGsuY3BwCmluZGV4IDk5ZDEyMDNkNjMwZjQyMTFmM2ZlYzhjYmVhZjIzMDUyMzM1NmQwNjkuLmY5
NzFlYTBiYjVjY2RiZGEyOWFhZDJjZDYxYzA0ZWNlOGQ0ZDY3NjUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9QYXN0ZWJvYXJkR3RrLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ndGsvUGFzdGVib2FyZEd0ay5jcHAKQEAgLTMxOCwxMCArMzE4LDEwIEBA
IFN0cmluZyBQYXN0ZWJvYXJkOjpyZWFkU3RyaW5nSW5DdXN0b21EYXRhKGNvbnN0IFN0cmluZyYp
CiAgICAgcmV0dXJuIHsgfTsKIH0KIAotYm9vbCBQYXN0ZWJvYXJkOjpjb250YWluc0ZpbGVzKCkK
K1Bhc3RlYm9hcmQ6OkNvbnRhaW5zRmlsZXNSZXN1bHQgUGFzdGVib2FyZDo6Y29udGFpbnNGaWxl
cygpCiB7CiAgICAgcmVhZEZyb21DbGlwYm9hcmQoKTsKLSAgICByZXR1cm4gIW1fc2VsZWN0aW9u
RGF0YS0+ZmlsZW5hbWVzKCkuaXNFbXB0eSgpOworICAgIHJldHVybiBtX3NlbGVjdGlvbkRhdGEt
PmZpbGVuYW1lcygpLmlzRW1wdHkoKSA/IENvbnRhaW5zRmlsZXNSZXN1bHQ6Ok5vSW1hZ2VEYXRh
T3JGaWxlUGF0aHMgOiBDb250YWluc0ZpbGVzUmVzdWx0OjpNYXlDb250YWluRmlsZVBhdGhzOwog
fQogCiB2b2lkIFBhc3RlYm9hcmQ6OndyaXRlTWFya3VwKGNvbnN0IFN0cmluZyYpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vUGFzdGVib2FyZFdpbi5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vUGFzdGVib2FyZFdpbi5jcHAKaW5kZXggNDY2NTBmMDVl
YThjMmQxMTkyZmUyZGZhNmNlMTEyM2ZiYjg0NzA5MC4uYmUwODkxNjI1NWVkZmZjMTM1ZmMyOWQx
NjAxMDAyMjY3NDYzZGY3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2lu
L1Bhc3RlYm9hcmRXaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9QYXN0
ZWJvYXJkV2luLmNwcApAQCAtMzE1LDEyICszMTUsMTIgQEAgc3RydWN0IFBhc3RlYm9hcmRGaWxl
Q291bnRlciBmaW5hbCA6IFBhc3RlYm9hcmRGaWxlUmVhZGVyIHsKICAgICB1bnNpZ25lZCBjb3Vu
dCB7IDAgfTsKIH07CiAKLWJvb2wgUGFzdGVib2FyZDo6Y29udGFpbnNGaWxlcygpCitQYXN0ZWJv
YXJkOjpDb250YWluc0ZpbGVzUmVzdWx0IFBhc3RlYm9hcmQ6OmNvbnRhaW5zRmlsZXMoKQogewog
ICAgIC8vIEZJWE1FOiBUaGlzIGltcGxlbWVudGF0aW9uIGNhbiBiZSBzbGlnaHRseSBtb3JlIGVm
ZmljaWVudCBieSBhdm9pZGluZyBjYWxscyB0byBEcmFnUXVlcnlGaWxlVy4KICAgICBQYXN0ZWJv
YXJkRmlsZUNvdW50ZXIgcmVhZGVyOwogICAgIHJlYWQocmVhZGVyKTsKLSAgICByZXR1cm4gcmVh
ZGVyLmNvdW50OworICAgIHJldHVybiByZWFkZXIuY291bnQgPyBDb250YWluc0ZpbGVzUmVzdWx0
OjpNYXlDb250YWluRmlsZVBhdGhzIDogQ29udGFpbnNGaWxlc1Jlc3VsdDo6Tm9JbWFnZURhdGFP
ckZpbGVQYXRoczsKIH0KIAogdm9pZCBQYXN0ZWJvYXJkOjpyZWFkKFBhc3RlYm9hcmRGaWxlUmVh
ZGVyJiByZWFkZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93cGUvUGFz
dGVib2FyZFdQRS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93cGUvUGFzdGVib2FyZFdQ
RS5jcHAKaW5kZXggMWViMmQyOWE1OGU5MGJiYzBlNGNhNTg4Y2M2OGUxNjY0Y2VmYzMzMy4uNjc2
ZmFmZjE2NjYzY2FhYjAzZDE2MjBkZTFkN2I3YmNhYjViYzhjOSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vd3BlL1Bhc3RlYm9hcmRXUEUuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL3dwZS9QYXN0ZWJvYXJkV1BFLmNwcApAQCAtMTI1LDEwICsxMjUsMTAgQEAg
dm9pZCBQYXN0ZWJvYXJkOjp3cml0ZShjb25zdCBQYXN0ZWJvYXJkV2ViQ29udGVudCYgY29udGVu
dCkKICAgICBwbGF0Zm9ybVN0cmF0ZWdpZXMoKS0+cGFzdGVib2FyZFN0cmF0ZWd5KCktPndyaXRl
VG9QYXN0ZWJvYXJkKGNvbnRlbnQpOwogfQogCi1ib29sIFBhc3RlYm9hcmQ6OmNvbnRhaW5zRmls
ZXMoKQorUGFzdGVib2FyZDo6Q29udGFpbnNGaWxlc1Jlc3VsdCBQYXN0ZWJvYXJkOjpjb250YWlu
c0ZpbGVzKCkKIHsKICAgICBub3RJbXBsZW1lbnRlZCgpOwotICAgIHJldHVybiBmYWxzZTsKKyAg
ICByZXR1cm4gQ29udGFpbnNGaWxlc1Jlc3VsdDo6Tm9JbWFnZURhdGFPckZpbGVQYXRoczsKIH0K
IAogYm9vbCBQYXN0ZWJvYXJkOjpjYW5TbWFydFJlcGxhY2UoKQpkaWZmIC0tZ2l0IGEvVG9vbHMv
Q2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IGE1NzNkMTVlODhkZTk5NzZiMTc1YWYw
NzMyNWU0NWJkZTYyYTE4YTMuLmMyZGI1NjQ0OWQ1NjdiN2U5MmMzNTY4OWRjYjMzOTcwOWQ2MzFk
YTkgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxOCBAQAorMjAxOC0wMy0wOSAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFw
cGxlLmNvbT4KKworICAgICAgICBbbWFjT1NdIENvcHlpbmcgYSB0YWJsZSBmcm9tIHRoZSBOdW1i
ZXJzIGFwcCBhbmQgcGFzdGluZyBpbnRvIGlDbG91ZCBOdW1iZXJzIGZhaWxzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODM0ODUKKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzM4MDQxOTg0PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEFkZCBuZXcgQVBJIHRlc3RzIHRvIGNvdmVyIHNjZW5hcmlvcyBpbiB3
aGljaCB3ZSBwYXN0ZSBpbWFnZSBkYXRhIGFsb25nc2lkZSB0ZXh0IGRhdGEuCisKKyAgICAgICAg
KiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1Bhc3RlTWl4ZWRDb250ZW50Lm1tOgor
ICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9U
ZXN0cy9pb3MvVUlQYXN0ZWJvYXJkVGVzdHMubW06CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpU
RVNUKToKKwogMjAxOC0wMy0wOCAgU3RlcGhhbiBTemFibyAgPHN0ZXBoYW4uc3phYm9Ac29ueS5j
b20+CiAKICAgICAgICAgV2ViS2l0VGVzdFJ1bm5lcjogRG9uJ3QgdXNlIGFjY2Vzc2liaWxpdHkg
Y29udHJvbGxlciB3aGVuICFIQVZFKEFDQ0VTU0lCSUxJVFkpCmRpZmYgLS1naXQgYS9Ub29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1Bhc3RlTWl4ZWRDb250ZW50Lm1tIGIvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9QYXN0ZU1peGVkQ29udGVudC5tbQpp
bmRleCAwZGQzM2UxZTZjZTczMjc2N2UwMmY3MDViZjY1MDlkMzU0NWZjM2M0Li4wNDExNGFiNGZl
NWU0NzQ1Zjg5MThjMmFiOTU3OWU5Y2RkNGJkZWYxIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1Bhc3RlTWl4ZWRDb250ZW50Lm1tCisrKyBiL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvUGFzdGVNaXhlZENvbnRlbnQubW0KQEAg
LTE5NCw2ICsxOTQsNDkgQEAgVEVTVChQYXN0ZU1peGVkQ29udGVudCwgSW1hZ2VGaWxlV2l0aEhU
TUxBbmRVUkwpCiAgICAgRVhQRUNUX0ZBTFNFKFtbd2ViVmlldyBzdHJpbmdCeUV2YWx1YXRpbmdK
YXZhU2NyaXB0OkAicmF3SFRNTERhdGEudGV4dENvbnRlbnQiXSBjb250YWluc1N0cmluZzpAInNj
cmlwdCJdKTsKIH0KIAorVEVTVChQYXN0ZU1peGVkQ29udGVudCwgSW1hZ2VEYXRhQW5kUGxhaW5U
ZXh0KQoreworICAgIGF1dG8gd2ViVmlldyA9IHNldFVwV2ViVmlldygpOworICAgIHdyaXRlVHlw
ZXNBbmREYXRhVG9QYXN0ZWJvYXJkKE5TUGFzdGVib2FyZFR5cGVTdHJpbmcsIEAiSGVsbG8gd29y
bGQiLCBOU1Bhc3RlYm9hcmRUeXBlUE5HLCBbTlNEYXRhIGRhdGFXaXRoQ29udGVudHNPZkZpbGU6
aW1hZ2VQYXRoKCldLCBuaWwpOworICAgIFt3ZWJWaWV3IHBhc3RlOm5pbF07CisKKyAgICBFWFBF
Q1RfV0tfU1RSRVEoIkZpbGVzLCB0ZXh0L3BsYWluIiwgW3dlYlZpZXcgc3RyaW5nQnlFdmFsdWF0
aW5nSmF2YVNjcmlwdDpAInR5cGVzLnRleHRDb250ZW50Il0pOworICAgIEVYUEVDVF9XS19TVFJF
USgiKFNUUklORywgdGV4dC9wbGFpbiksIChGSUxFLCBpbWFnZS9wbmcpIiwgW3dlYlZpZXcgc3Ry
aW5nQnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpAIml0ZW1zLnRleHRDb250ZW50Il0pOworICAgIEVY
UEVDVF9XS19TVFJFUSgiKCdpbWFnZS5wbmcnLCBpbWFnZS9wbmcpIiwgW3dlYlZpZXcgc3RyaW5n
QnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpAImZpbGVzLnRleHRDb250ZW50Il0pOworICAgIEVYUEVD
VF9XS19TVFJFUSgiIiwgW3dlYlZpZXcgc3RyaW5nQnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpAInVy
bERhdGEudGV4dENvbnRlbnQiXSk7CisgICAgRVhQRUNUX1dLX1NUUkVRKCJIZWxsbyB3b3JsZCIs
IFt3ZWJWaWV3IHN0cmluZ0J5RXZhbHVhdGluZ0phdmFTY3JpcHQ6QCJ0ZXh0RGF0YS50ZXh0Q29u
dGVudCJdKTsKKyAgICBFWFBFQ1RfV0tfU1RSRVEoIiIsIFt3ZWJWaWV3IHN0cmluZ0J5RXZhbHVh
dGluZ0phdmFTY3JpcHQ6QCJodG1sRGF0YS50ZXh0Q29udGVudCJdKTsKK30KKworVEVTVChQYXN0
ZU1peGVkQ29udGVudCwgSW1hZ2VEYXRhQW5kUGxhaW5UZXh0QW5kVVJMKQoreworICAgIGF1dG8g
d2ViVmlldyA9IHNldFVwV2ViVmlldygpOworICAgIHdyaXRlVHlwZXNBbmREYXRhVG9QYXN0ZWJv
YXJkKE5TUGFzdGVib2FyZFR5cGVTdHJpbmcsIGltYWdlUGF0aCgpLCBOU1VSTFBib2FyZFR5cGUs
IGltYWdlUGF0aCgpLCBOU1Bhc3RlYm9hcmRUeXBlUE5HLCBbTlNEYXRhIGRhdGFXaXRoQ29udGVu
dHNPZkZpbGU6aW1hZ2VQYXRoKCldLCBuaWwpOworICAgIFt3ZWJWaWV3IHBhc3RlOm5pbF07CisK
KyAgICBFWFBFQ1RfV0tfU1RSRVEoIkZpbGVzIiwgW3dlYlZpZXcgc3RyaW5nQnlFdmFsdWF0aW5n
SmF2YVNjcmlwdDpAInR5cGVzLnRleHRDb250ZW50Il0pOworICAgIEVYUEVDVF9XS19TVFJFUSgi
KEZJTEUsIGltYWdlL3BuZykiLCBbd2ViVmlldyBzdHJpbmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0
OkAiaXRlbXMudGV4dENvbnRlbnQiXSk7CisgICAgRVhQRUNUX1dLX1NUUkVRKCIoJ2ltYWdlLnBu
ZycsIGltYWdlL3BuZykiLCBbd2ViVmlldyBzdHJpbmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0OkAi
ZmlsZXMudGV4dENvbnRlbnQiXSk7CisgICAgRVhQRUNUX1dLX1NUUkVRKCIiLCBbd2ViVmlldyBz
dHJpbmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0OkAidXJsRGF0YS50ZXh0Q29udGVudCJdKTsKKyAg
ICBFWFBFQ1RfV0tfU1RSRVEoIiIsIFt3ZWJWaWV3IHN0cmluZ0J5RXZhbHVhdGluZ0phdmFTY3Jp
cHQ6QCJ0ZXh0RGF0YS50ZXh0Q29udGVudCJdKTsKKyAgICBFWFBFQ1RfV0tfU1RSRVEoIiIsIFt3
ZWJWaWV3IHN0cmluZ0J5RXZhbHVhdGluZ0phdmFTY3JpcHQ6QCJodG1sRGF0YS50ZXh0Q29udGVu
dCJdKTsKK30KKworVEVTVChQYXN0ZU1peGVkQ29udGVudCwgSW1hZ2VEYXRhQW5kUGxhaW5UZXh0
QW5kVVJMQW5kSFRNTCkKK3sKKyAgICBhdXRvIHdlYlZpZXcgPSBzZXRVcFdlYlZpZXcoKTsKKyAg
ICB3cml0ZVR5cGVzQW5kRGF0YVRvUGFzdGVib2FyZChOU1Bhc3RlYm9hcmRUeXBlU3RyaW5nLCBp
bWFnZVBhdGgoKSwgTlNVUkxQYm9hcmRUeXBlLCBpbWFnZVBhdGgoKSwgTlNQYXN0ZWJvYXJkVHlw
ZUhUTUwsIG1hcmt1cFN0cmluZygpLCBOU1Bhc3RlYm9hcmRUeXBlUE5HLCBbTlNEYXRhIGRhdGFX
aXRoQ29udGVudHNPZkZpbGU6aW1hZ2VQYXRoKCldLCBuaWwpOworICAgIFt3ZWJWaWV3IHBhc3Rl
Om5pbF07CisKKyAgICBFWFBFQ1RfV0tfU1RSRVEoIkZpbGVzLCB0ZXh0L2h0bWwiLCBbd2ViVmll
dyBzdHJpbmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0OkAidHlwZXMudGV4dENvbnRlbnQiXSk7Cisg
ICAgRVhQRUNUX1dLX1NUUkVRKCIoU1RSSU5HLCB0ZXh0L2h0bWwpLCAoRklMRSwgaW1hZ2UvcG5n
KSIsIFt3ZWJWaWV3IHN0cmluZ0J5RXZhbHVhdGluZ0phdmFTY3JpcHQ6QCJpdGVtcy50ZXh0Q29u
dGVudCJdKTsKKyAgICBFWFBFQ1RfV0tfU1RSRVEoIignaW1hZ2UucG5nJywgaW1hZ2UvcG5nKSIs
IFt3ZWJWaWV3IHN0cmluZ0J5RXZhbHVhdGluZ0phdmFTY3JpcHQ6QCJmaWxlcy50ZXh0Q29udGVu
dCJdKTsKKyAgICBFWFBFQ1RfV0tfU1RSRVEoIiIsIFt3ZWJWaWV3IHN0cmluZ0J5RXZhbHVhdGlu
Z0phdmFTY3JpcHQ6QCJ1cmxEYXRhLnRleHRDb250ZW50Il0pOworICAgIEVYUEVDVF9XS19TVFJF
USgiIiwgW3dlYlZpZXcgc3RyaW5nQnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpAInRleHREYXRhLnRl
eHRDb250ZW50Il0pOworICAgIEVYUEVDVF9XS19TVFJFUSgiSEVMTE8gV09STEQiLCBbd2ViVmll
dyBzdHJpbmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0OkAiaHRtbERhdGEudGV4dENvbnRlbnQiXSk7
CisgICAgRVhQRUNUX0ZBTFNFKFtbd2ViVmlldyBzdHJpbmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0
OkAicmF3SFRNTERhdGEudGV4dENvbnRlbnQiXSBjb250YWluc1N0cmluZzpAInNjcmlwdCJdKTsK
K30KKwogfSAvLyBuYW1lc3BhY2UgVGVzdFdlYktpdEFQSQogCiAjZW5kaWYgLy8gUExBVEZPUk0o
TUFDKSAmJiBXS19BUElfRU5BQkxFRApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0cy9pb3MvVUlQYXN0ZWJvYXJkVGVzdHMubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3Rz
L2lvcy9VSVBhc3RlYm9hcmRUZXN0cy5tbQppbmRleCAyNTUwNTYyM2MwZjEyNzM2OTM4Yzk3MjY0
ZjEzYzc5NWNjM2JlZjQ3Li40MzM0ODU1NjFlNTBkNWMwYzdlMmRhMDQ0NzllZjNmYjNhNDcwODBm
IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL2lvcy9VSVBhc3RlYm9hcmRU
ZXN0cy5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL2lvcy9VSVBhc3RlYm9hcmRU
ZXN0cy5tbQpAQCAtMTk0LDYgKzE5NCwzMCBAQCBURVNUKFVJUGFzdGVib2FyZFRlc3RzLCBEYXRh
VHJhbnNmZXJHZXREYXRhV2hlblBhc3RpbmdQbGF0Zm9ybVJlcHJlc2VudGF0aW9ucykKICAgICB9
KTsKIH0KIAorVEVTVChVSVBhc3RlYm9hcmRUZXN0cywgRGF0YVRyYW5zZmVyR2V0RGF0YVdoZW5Q
YXN0aW5nSW1hZ2VBbmRUZXh0KQoreworICAgIGF1dG8gd2ViVmlldyA9IHNldFVwV2ViVmlld0Zv
clBhc3RlYm9hcmRUZXN0cyhAIkRhdGFUcmFuc2ZlciIpOworICAgIGF1dG8gY29waWVkVGV4dCA9
IHJldGFpblB0cihAIkFwcGxlIEluYy4iKTsKKyAgICBhdXRvIGl0ZW1Qcm92aWRlciA9IGFkb3B0
TlMoW1tOU0l0ZW1Qcm92aWRlciBhbGxvY10gaW5pdF0pOworICAgIFtpdGVtUHJvdmlkZXIgcmVn
aXN0ZXJEYXRhUmVwcmVzZW50YXRpb25Gb3JUeXBlSWRlbnRpZmllcjooTlNTdHJpbmcgKilrVVRU
eXBlUE5HIHZpc2liaWxpdHk6TlNJdGVtUHJvdmlkZXJSZXByZXNlbnRhdGlvblZpc2liaWxpdHlB
bGwgbG9hZEhhbmRsZXI6W10gKERhdGFMb2FkQ29tcGxldGlvbkJsb2NrIGNvbXBsZXRpb25IYW5k
bGVyKSAtPiBOU1Byb2dyZXNzICogeworICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihbTlNEYXRh
IGRhdGFXaXRoQ29udGVudHNPZlVSTDpbW05TQnVuZGxlIG1haW5CdW5kbGVdIFVSTEZvclJlc291
cmNlOkAiaWNvbiIgd2l0aEV4dGVuc2lvbjpAInBuZyIgc3ViZGlyZWN0b3J5OkAiVGVzdFdlYktp
dEFQSS5yZXNvdXJjZXMiXV0sIG5pbCk7CisgICAgICAgIHJldHVybiBuaWw7CisgICAgfV07Cisg
ICAgW2l0ZW1Qcm92aWRlciByZWdpc3RlckRhdGFSZXByZXNlbnRhdGlvbkZvclR5cGVJZGVudGlm
aWVyOihOU1N0cmluZyAqKWtVVFR5cGVVVEY4UGxhaW5UZXh0IHZpc2liaWxpdHk6TlNJdGVtUHJv
dmlkZXJSZXByZXNlbnRhdGlvblZpc2liaWxpdHlBbGwgbG9hZEhhbmRsZXI6W2NvcGllZFRleHRd
IChEYXRhTG9hZENvbXBsZXRpb25CbG9jayBjb21wbGV0aW9uSGFuZGxlcikgLT4gTlNQcm9ncmVz
cyAqIHsKKyAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoW2NvcGllZFRleHQgZGF0YVVzaW5nRW5j
b2Rpbmc6TlNVVEY4U3RyaW5nRW5jb2RpbmddLCBuaWwpOworICAgICAgICByZXR1cm4gbmlsOwor
ICAgIH1dOworICAgIFtVSVBhc3RlYm9hcmQgZ2VuZXJhbFBhc3RlYm9hcmRdLml0ZW1Qcm92aWRl
cnMgPSBAWyBpdGVtUHJvdmlkZXIuZ2V0KCkgXTsKKyAgICBbd2ViVmlldyBwYXN0ZTpuaWxdOwor
CisgICAgRVhQRUNUX1dLX1NUUkVRKCJGaWxlcywgdGV4dC9wbGFpbiIsIFt3ZWJWaWV3IHN0cmlu
Z0J5RXZhbHVhdGluZ0phdmFTY3JpcHQ6QCJ0eXBlcy50ZXh0Q29udGVudCJdKTsKKyAgICBFWFBF
Q1RfV0tfU1RSRVEoIihTVFJJTkcsIHRleHQvcGxhaW4pLCAoRklMRSwgaW1hZ2UvcG5nKSIsIFt3
ZWJWaWV3IHN0cmluZ0J5RXZhbHVhdGluZ0phdmFTY3JpcHQ6QCJpdGVtcy50ZXh0Q29udGVudCJd
KTsKKyAgICBFWFBFQ1RfV0tfU1RSRVEoIignaW1hZ2UucG5nJywgaW1hZ2UvcG5nKSIsIFt3ZWJW
aWV3IHN0cmluZ0J5RXZhbHVhdGluZ0phdmFTY3JpcHQ6QCJmaWxlcy50ZXh0Q29udGVudCJdKTsK
KyAgICBFWFBFQ1RfV0tfU1RSRVEoIiIsIFt3ZWJWaWV3IHN0cmluZ0J5RXZhbHVhdGluZ0phdmFT
Y3JpcHQ6QCJ1cmxEYXRhLnRleHRDb250ZW50Il0pOworICAgIEVYUEVDVF9XS19TVFJFUSgiQXBw
bGUgSW5jLiIsIFt3ZWJWaWV3IHN0cmluZ0J5RXZhbHVhdGluZ0phdmFTY3JpcHQ6QCJ0ZXh0RGF0
YS50ZXh0Q29udGVudCJdKTsKKyAgICBFWFBFQ1RfV0tfU1RSRVEoIiIsIFt3ZWJWaWV3IHN0cmlu
Z0J5RXZhbHVhdGluZ0phdmFTY3JpcHQ6QCJodG1sRGF0YS50ZXh0Q29udGVudCJdKTsKK30KKwog
VEVTVChVSVBhc3RlYm9hcmRUZXN0cywgRGF0YVRyYW5zZmVyU2V0RGF0YUNhbm5vdFdyaXRlUGxh
dGZvcm1UeXBlcykKIHsKICAgICBhdXRvIHdlYlZpZXcgPSBzZXRVcFdlYlZpZXdGb3JQYXN0ZWJv
YXJkVGVzdHMoQCJkdW1wLWRhdGF0cmFuc2Zlci10eXBlcyIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGZjM2RlOTgwNmQy
NjY2NTgyMTZkZWUyZTdmMDViODM4MzE2OWI0MWQuLmYwMWY0NjY5MGZkZDBkOWUyNDc4MGFhZmQ0
OGY0ODQwYmNjYzg1OGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxOC0wMy0wOSAgV2Vuc29u
IEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KKworICAgICAgICBbbWFjT1NdIENvcHlp
bmcgYSB0YWJsZSBmcm9tIHRoZSBOdW1iZXJzIGFwcCBhbmQgcGFzdGluZyBpbnRvIGlDbG91ZCBO
dW1iZXJzIGZhaWxzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xODM0ODUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzM4MDQxOTg0PgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlYmFzZWxpbmUgc29tZSBw
YXN0ZWJvYXJkLXJlbGF0ZWQgbGF5b3V0IHRlc3RzLCBpbiB3aGljaCB3ZSBub3cgZXhwb3NlIHRl
eHQvcGxhaW4gYWxvbmdzaWRlIGZpbGVzIHRoYXQgd2VyZQorICAgICAgICB3cml0dGVuIHRvIHRo
ZSBEYXRhVHJhbnNmZXIgYnkgdGhlIHBhZ2UgaXRzZWxmLgorCisgICAgICAgICogZWRpdGluZy9w
YXN0ZWJvYXJkL2RhdGEtdHJhbnNmZXItaXRlbS1saXN0LWFkZC1maWxlLW11bHRpcGxlLXRpbWVz
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvZGF0YS10cmFuc2Zl
ci1pdGVtLWxpc3QtYWRkLWZpbGUtb24tY29weS1leHBlY3RlZC50eHQ6CisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL2RhdGEtdHJhbnNmZXItaXRlbS1saXN0LWFkZC1maWxlLW9uLWRyYWct
ZXhwZWN0ZWQudHh0OgorCiAyMDE4LTAzLTA4ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5j
b20+CiAKICAgICAgICAgZmFzdC9odG1sL21hcnF1ZWUtcmVwYXJlbnQtY2hlY2suaHRtbCBpcyBm
bGFreSB3aXRoIGFzeW5jIGRlbGVnYXRlcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9wYXN0ZWJvYXJkL2RhdGEtdHJhbnNmZXItaXRlbS1saXN0LWFkZC1maWxlLW11bHRpcGxlLXRp
bWVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9kYXRhLXRy
YW5zZmVyLWl0ZW0tbGlzdC1hZGQtZmlsZS1tdWx0aXBsZS10aW1lcy1leHBlY3RlZC50eHQKaW5k
ZXggNmVmMTAzODRjMWFhNzBkNTRlYTM3YzJiOGJjNGJlOTNiODM5M2MxYS4uMDNhNGI2ZThhMjI1
NjA0NjY0N2NhYWZhMTYzMTYwOTM3MzdiMjdiNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9wYXN0ZWJvYXJkL2RhdGEtdHJhbnNmZXItaXRlbS1saXN0LWFkZC1maWxlLW11bHRpcGxl
LXRpbWVzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
ZGF0YS10cmFuc2Zlci1pdGVtLWxpc3QtYWRkLWZpbGUtbXVsdGlwbGUtdGltZXMtZXhwZWN0ZWQu
dHh0CkBAIC0xMCw2ICsxMCw3IEBAIG9wZXJhdGlvbiBwZXJmb3JtZWQgYXQgZWFjaCBzdGVwLgog
ewogICAgICJkYXRhIjogewogICAgICAgICAiRmlsZXMiOiAiIiwKKyAgICAgICAgInRleHQvcGxh
aW4iOiAicGxhaW4gdGV4dCBzdHJpbmciLAogICAgICAgICAidGV4dC91cmktbGlzdCI6ICJodHRw
czovL3dlYmtpdC5vcmciCiAgICAgfSwKICAgICAiaXRlbXMiOiBbCkBAIC04OCw2ICs4OSw3IEBA
IG9wZXJhdGlvbiBwZXJmb3JtZWQgYXQgZWFjaCBzdGVwLgogewogICAgICJkYXRhIjogewogICAg
ICAgICAiRmlsZXMiOiAiIiwKKyAgICAgICAgInRleHQvcGxhaW4iOiAicGxhaW4gdGV4dCBzdHJp
bmciLAogICAgICAgICAidGV4dC91cmktbGlzdCI6ICJodHRwczovL3dlYmtpdC5vcmciCiAgICAg
fSwKICAgICAiaXRlbXMiOiBbCkBAIC0xNTMsNiArMTU1LDcgQEAgcmVtb3ZlZEl0ZW0uZ2V0QXNG
aWxlKCkgc2hvdWxkIGJlIG51bGw6IG51bGwKIHsKICAgICAiZGF0YSI6IHsKICAgICAgICAgIkZp
bGVzIjogIiIsCisgICAgICAgICJ0ZXh0L3BsYWluIjogInBsYWluIHRleHQgc3RyaW5nIiwKICAg
ICAgICAgInRleHQvdXJpLWxpc3QiOiAiaHR0cHM6Ly93ZWJraXQub3JnIgogICAgIH0sCiAgICAg
Iml0ZW1zIjogWwpAQCAtMjA0LDYgKzIwNyw3IEBAIHJlbW92ZWRJdGVtLmdldEFzRmlsZSgpIHNo
b3VsZCBiZSBudWxsOiBudWxsCiB7CiAgICAgImRhdGEiOiB7CiAgICAgICAgICJGaWxlcyI6ICIi
LAorICAgICAgICAidGV4dC9wbGFpbiI6ICJwbGFpbiB0ZXh0IHN0cmluZyIsCiAgICAgICAgICJ0
ZXh0L3VyaS1saXN0IjogImh0dHBzOi8vd2Via2l0Lm9yZyIKICAgICB9LAogICAgICJpdGVtcyI6
IFsKQEAgLTI0OCw3ICsyNTIsOCBAQCByZW1vdmVkSXRlbS5nZXRBc0ZpbGUoKSBzaG91bGQgYmUg
bnVsbDogbnVsbAogewogICAgICJkYXRhIjogewogICAgICAgICAiRmlsZXMiOiAiIiwKLSAgICAg
ICAgInRleHQvaHRtbCI6ICI8c3Ryb25nPnNvbWUgc3R5bGVkIHRleHQ8L3N0cm9uZz4iCisgICAg
ICAgICJ0ZXh0L2h0bWwiOiAiPHN0cm9uZz5zb21lIHN0eWxlZCB0ZXh0PC9zdHJvbmc+IiwKKyAg
ICAgICAgInRleHQvcGxhaW4iOiAic29tZSBwbGFpbiB0ZXh0IgogICAgIH0sCiAgICAgIml0ZW1z
IjogWwogICAgICAgICB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvZGF0YS10cmFuc2Zlci1pdGVtLWxpc3QtYWRkLWZpbGUtb24tY29weS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvZGF0YS10cmFuc2Zlci1pdGVtLWxpc3Qt
YWRkLWZpbGUtb24tY29weS1leHBlY3RlZC50eHQKaW5kZXggMjliYzk0OWE0ODljZWY5OWVkMTZj
YjhmNDAyNmE4OTYyNWYwZDNkMS4uMjcwNzQ1MDZjYzY4NzcxNTgxNTc5MGE1YzI4OWQ3OWEzYzgz
YmRhMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL2RhdGEtdHJh
bnNmZXItaXRlbS1saXN0LWFkZC1maWxlLW9uLWNvcHktZXhwZWN0ZWQudHh0CisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9kYXRhLXRyYW5zZmVyLWl0ZW0tbGlzdC1hZGQtZmls
ZS1vbi1jb3B5LWV4cGVjdGVkLnR4dApAQCAtMjQsNyArMjQsOCBAQCBvcGVyYXRpb24gcGVyZm9y
bWVkIGF0IGVhY2ggc3RlcC4KIDIuIEFmdGVyIGFkZGluZyBhIGZpbGUgb2YgY3VzdG9tIHR5cGUK
IHsKICAgICAiZGF0YSI6IHsKLSAgICAgICAgIkZpbGVzIjogIiIKKyAgICAgICAgIkZpbGVzIjog
IiIsCisgICAgICAgICJ0ZXh0L3BsYWluIjogImhlbGxvIHdvcmxkIgogICAgIH0sCiAgICAgIml0
ZW1zIjogWwogICAgICAgICB7CkBAIC01NCw3ICs1NSw4IEBAIG9wZXJhdGlvbiBwZXJmb3JtZWQg
YXQgZWFjaCBzdGVwLgogMy4gQWZ0ZXIgYWRkaW5nIHRoZSBmaXJzdCBwbGFpbiB0ZXh0IGZpbGUK
IHsKICAgICAiZGF0YSI6IHsKLSAgICAgICAgIkZpbGVzIjogIiIKKyAgICAgICAgIkZpbGVzIjog
IiIsCisgICAgICAgICJ0ZXh0L3BsYWluIjogImhlbGxvIHdvcmxkIgogICAgIH0sCiAgICAgIml0
ZW1zIjogWwogICAgICAgICB7CkBAIC05OCw3ICsxMDAsOCBAQCBvcGVyYXRpb24gcGVyZm9ybWVk
IGF0IGVhY2ggc3RlcC4KIDQuIEFmdGVyIHJlbW92aW5nIHRoZSBsYXN0IGZpbGUKIHsKICAgICAi
ZGF0YSI6IHsKLSAgICAgICAgIkZpbGVzIjogIiIKKyAgICAgICAgIkZpbGVzIjogIiIsCisgICAg
ICAgICJ0ZXh0L3BsYWluIjogImhlbGxvIHdvcmxkIgogICAgIH0sCiAgICAgIml0ZW1zIjogWwog
ICAgICAgICB7CkBAIC0xMzAsNiArMTMzLDcgQEAgcmVtb3ZlZEl0ZW0uZ2V0QXNGaWxlKCkgc2hv
dWxkIGJlIG51bGw6IG51bGwKIHsKICAgICAiZGF0YSI6IHsKICAgICAgICAgIkZpbGVzIjogIiIs
CisgICAgICAgICJ0ZXh0L3BsYWluIjogImhlbGxvIHdvcmxkIiwKICAgICAgICAgInRleHQvaHRt
bCI6ICI8YT5nb29kYnllIHdvcmxkPC9hPiIKICAgICB9LAogICAgICJpdGVtcyI6IFsKQEAgLTE2
Niw2ICsxNzAsNyBAQCByZW1vdmVkSXRlbS5nZXRBc0ZpbGUoKSBzaG91bGQgYmUgbnVsbDogbnVs
bAogewogICAgICJkYXRhIjogewogICAgICAgICAiRmlsZXMiOiAiIiwKKyAgICAgICAgInRleHQv
cGxhaW4iOiAiaGVsbG8gd29ybGQiLAogICAgICAgICAidGV4dC9odG1sIjogIjxhPmdvb2RieWUg
d29ybGQ8L2E+IgogICAgIH0sCiAgICAgIml0ZW1zIjogWwpAQCAtMjE2LDYgKzIyMSw3IEBAIHJl
bW92ZWRJdGVtLmdldEFzRmlsZSgpIHNob3VsZCBiZSBudWxsOiBudWxsCiB7CiAgICAgImRhdGEi
OiB7CiAgICAgICAgICJGaWxlcyI6ICIiLAorICAgICAgICAidGV4dC9wbGFpbiI6ICJoZWxsbyB3
b3JsZCIsCiAgICAgICAgICJ0ZXh0L2h0bWwiOiAiPGE+Z29vZGJ5ZSB3b3JsZDwvYT4iCiAgICAg
fSwKICAgICAiaXRlbXMiOiBbCkBAIC0yNTIsNyArMjU4LDggQEAgcmVtb3ZlZEl0ZW0uZ2V0QXNG
aWxlKCkgc2hvdWxkIGJlIG51bGw6IG51bGwKIDguIEFmdGVyIHJlbW92aW5nIHRoZSBIVE1MIHN0
cmluZwogewogICAgICJkYXRhIjogewotICAgICAgICAiRmlsZXMiOiAiIgorICAgICAgICAiRmls
ZXMiOiAiIiwKKyAgICAgICAgInRleHQvcGxhaW4iOiAiaGVsbG8gd29ybGQiCiAgICAgfSwKICAg
ICAiaXRlbXMiOiBbCiAgICAgICAgIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9kYXRhLXRyYW5zZmVyLWl0ZW0tbGlzdC1hZGQtZmlsZS1vbi1kcmFnLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9kYXRhLXRyYW5zZmVyLWl0
ZW0tbGlzdC1hZGQtZmlsZS1vbi1kcmFnLWV4cGVjdGVkLnR4dAppbmRleCAwN2MwNmNjZGU1ZGVm
Mzk1NDFiZTg5YTA4ODM3MzllODlkOGY1ODYzLi4xNTU4OTlkZTg2OTk4ZTYzZDFjYjM5Nzk1Y2Mw
ZGU0Y2U4YjE4ZWRmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQv
ZGF0YS10cmFuc2Zlci1pdGVtLWxpc3QtYWRkLWZpbGUtb24tZHJhZy1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL2RhdGEtdHJhbnNmZXItaXRlbS1saXN0
LWFkZC1maWxlLW9uLWRyYWctZXhwZWN0ZWQudHh0CkBAIC0yNCw3ICsyNCw4IEBAIG9wZXJhdGlv
biBwZXJmb3JtZWQgYXQgZWFjaCBzdGVwLgogMi4gQWZ0ZXIgYWRkaW5nIGEgZmlsZSBvZiBjdXN0
b20gdHlwZQogewogICAgICJkYXRhIjogewotICAgICAgICAiRmlsZXMiOiAiIgorICAgICAgICAi
RmlsZXMiOiAiIiwKKyAgICAgICAgInRleHQvcGxhaW4iOiAiaGVsbG8gd29ybGQiCiAgICAgfSwK
ICAgICAiaXRlbXMiOiBbCiAgICAgICAgIHsKQEAgLTU0LDcgKzU1LDggQEAgb3BlcmF0aW9uIHBl
cmZvcm1lZCBhdCBlYWNoIHN0ZXAuCiAzLiBBZnRlciBhZGRpbmcgdGhlIGZpcnN0IHBsYWluIHRl
eHQgZmlsZQogewogICAgICJkYXRhIjogewotICAgICAgICAiRmlsZXMiOiAiIgorICAgICAgICAi
RmlsZXMiOiAiIiwKKyAgICAgICAgInRleHQvcGxhaW4iOiAiaGVsbG8gd29ybGQiCiAgICAgfSwK
ICAgICAiaXRlbXMiOiBbCiAgICAgICAgIHsKQEAgLTk4LDcgKzEwMCw4IEBAIG9wZXJhdGlvbiBw
ZXJmb3JtZWQgYXQgZWFjaCBzdGVwLgogNC4gQWZ0ZXIgcmVtb3ZpbmcgdGhlIGxhc3QgZmlsZQog
ewogICAgICJkYXRhIjogewotICAgICAgICAiRmlsZXMiOiAiIgorICAgICAgICAiRmlsZXMiOiAi
IiwKKyAgICAgICAgInRleHQvcGxhaW4iOiAiaGVsbG8gd29ybGQiCiAgICAgfSwKICAgICAiaXRl
bXMiOiBbCiAgICAgICAgIHsKQEAgLTEzMCw2ICsxMzMsNyBAQCByZW1vdmVkSXRlbS5nZXRBc0Zp
bGUoKSBzaG91bGQgYmUgbnVsbDogbnVsbAogewogICAgICJkYXRhIjogewogICAgICAgICAiRmls
ZXMiOiAiIiwKKyAgICAgICAgInRleHQvcGxhaW4iOiAiaGVsbG8gd29ybGQiLAogICAgICAgICAi
dGV4dC9odG1sIjogIjxhPmdvb2RieWUgd29ybGQ8L2E+IgogICAgIH0sCiAgICAgIml0ZW1zIjog
WwpAQCAtMTY2LDYgKzE3MCw3IEBAIHJlbW92ZWRJdGVtLmdldEFzRmlsZSgpIHNob3VsZCBiZSBu
dWxsOiBudWxsCiB7CiAgICAgImRhdGEiOiB7CiAgICAgICAgICJGaWxlcyI6ICIiLAorICAgICAg
ICAidGV4dC9wbGFpbiI6ICJoZWxsbyB3b3JsZCIsCiAgICAgICAgICJ0ZXh0L2h0bWwiOiAiPGE+
Z29vZGJ5ZSB3b3JsZDwvYT4iCiAgICAgfSwKICAgICAiaXRlbXMiOiBbCkBAIC0yMTYsNiArMjIx
LDcgQEAgcmVtb3ZlZEl0ZW0uZ2V0QXNGaWxlKCkgc2hvdWxkIGJlIG51bGw6IG51bGwKIHsKICAg
ICAiZGF0YSI6IHsKICAgICAgICAgIkZpbGVzIjogIiIsCisgICAgICAgICJ0ZXh0L3BsYWluIjog
ImhlbGxvIHdvcmxkIiwKICAgICAgICAgInRleHQvaHRtbCI6ICI8YT5nb29kYnllIHdvcmxkPC9h
PiIKICAgICB9LAogICAgICJpdGVtcyI6IFsKQEAgLTI1Miw3ICsyNTgsOCBAQCByZW1vdmVkSXRl
bS5nZXRBc0ZpbGUoKSBzaG91bGQgYmUgbnVsbDogbnVsbAogOC4gQWZ0ZXIgcmVtb3ZpbmcgdGhl
IEhUTUwgc3RyaW5nCiB7CiAgICAgImRhdGEiOiB7Ci0gICAgICAgICJGaWxlcyI6ICIiCisgICAg
ICAgICJGaWxlcyI6ICIiLAorICAgICAgICAidGV4dC9wbGFpbiI6ICJoZWxsbyB3b3JsZCIKICAg
ICB9LAogICAgICJpdGVtcyI6IFsKICAgICAgICAgewo=
</data>
<flag name="review"
          id="354094"
          type_id="1"
          status="+"
          setter="rniwa"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>335506</attachid>
            <date>2018-03-10 01:09:50 -0800</date>
            <delta_ts>2018-03-10 01:43:25 -0800</delta_ts>
            <desc>One more EWS run</desc>
            <filename>bug-183485-20180310010949.patch</filename>
            <type>text/plain</type>
            <size>26394</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI5NDQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTI2MWNjNjg4NDVlOTU2
YTg5ZWE1OTNkNDFhYmZkYTJhNmRhOTJlMy4uYzE0NjhmMTdiMmQ2OTExZDlhYTg1MDNlNGEwMzJj
YjQ0MzE0YzM1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDczIEBACisyMDE4LTAzLTEwICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFttYWNPU10gQ29w
eWluZyBhIHRhYmxlIGZyb20gdGhlIE51bWJlcnMgYXBwIGFuZCBwYXN0aW5nIGludG8gaUNsb3Vk
IE51bWJlcnMgZmFpbHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE4MzQ4NQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzgwNDE5ODQ+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgUnlvc3VrZSBOaXdhLgorCisgICAgICAgIEFmdGVyIHIyMjI2NTYsIFdl
YktpdCBub3cgdHJlYXRzIHJhdyBpbWFnZSBkYXRhIG9uIHRoZSBwYXN0ZWJvYXJkIGFzIGZpbGVz
IGZvciB0aGUgcHVycG9zZXMgb2YgY29tcHV0aW5nCisgICAgICAgIERhdGFUcmFuc2Zlci5maWxl
cyBhbmQgRGF0YVRyYW5zZmVyLnR5cGVzLiBIb3dldmVyLCB0aGlzIGlzIGNvbWJpbmVkIHdpdGgg
ZXhpc3RpbmcgcG9saWNpZXMgdGhhdCBzdXBwcmVzcworICAgICAgICBEYXRhVHJhbnNmZXIuZ2V0
RGF0YSBhbmQgRGF0YVRyYW5zZmVyLnNldERhdGEgd2hlbiB0aGUgcGFzdGVib2FyZCBjb250YWlu
cyBmaWxlcyAoZ2VuZXJhbGl6ZWQgdG8gY29weS9wYXN0ZSBpbgorICAgICAgICByMjIyNjg4KS4g
VGhpcyBtZWFucyB3ZSBub3cgZG9uJ3QgYWxsb3cgd2ViIHBhZ2VzIHRvIGFjY2VzcyAidGV4dC9w
bGFpbiIgaW4gdGhlIGNhc2Ugd2hlcmUgdGhlIHVzZXIgY29waWVzIHBhcnQKKyAgICAgICAgb2Yg
YSB0YWJsZSBmcm9tIHRoZSBuYXRpdmUgTnVtYmVycyBhcHAgc2luY2UgTnVtYmVycyBhZGRpdGlv
bmFsbHkgd3JpdGVzIGEgc25hcHNob3Qgb2YgdGhlIHRhYmxlIHRvIHRoZSBwbGF0Zm9ybQorICAg
ICAgICBwYXN0ZWJvYXJkLgorCisgICAgICAgIFRoaXMgcmVzdHJpY3Rpb24gb24gZ2V0RGF0YS9z
ZXREYXRhIHdhcyBpbnRlbmRlZCB0byBwcmV2ZW50IHdlYiBwYWdlcyBmcm9tIGV4dHJhY3Rpbmcg
dXNlcnMnIGZpbGUgcGF0aHMgd2hlbgorICAgICAgICBwYXN0aW5nIG9yIGRyb3BwaW5nLCBzbyBp
dCBkb2Vzbid0IG1ha2Ugc2Vuc2UgdG8gZW5mb3JjZSB0aGlzIHJlc3RyaWN0aW9uIGV2ZW4gd2hl
biB0aGVyZSBpcyBvbmx5IGluLW1lbW9yeQorICAgICAgICBpbWFnZSBkYXRhIG9uIHRoZSBwYXN0
ZWJvYXJkLiBUbyBmaXggdGhpcyBidWcsIHdlIG1ha2UgUGFzdGVib2FyZDo6ZmlsZUNvbnRlbnRT
dGF0ZSgpIGRpZmZlcmVudGlhdGUgYmV0d2VlbgorICAgICAgICBjYXNlcyB3aGVyZSB0aGVyZSBh
cmUgKHJlYWwpIGZpbGVzIG9uIHRoZSBwYXN0ZWJvYXJkLCBhbmQgY2FzZXMgd2hlcmUgd2UndmUg
ZmFsbGVuIGJhY2sgdG8gdHJlYXRpbmcgaW1hZ2UgZGF0YQorICAgICAgICBhcyBmaWxlcy4KKwor
ICAgICAgICBSZWJhc2VsaW5lZCBleGlzdGluZyBMYXlvdXRUZXN0cyB0byBtYXRjaCBuZXcgYmVo
YXZpb3IuCisgICAgICAgIEFsc28gY292ZXJlZCBieSA0IG5ldyBBUEkgdGVzdHM6CisgICAgICAg
ICAgICDigKIgUGFzdGVNaXhlZENvbnRlbnQuSW1hZ2VEYXRhQW5kUGxhaW5UZXh0CisgICAgICAg
ICAgICDigKIgUGFzdGVNaXhlZENvbnRlbnQuSW1hZ2VEYXRhQW5kUGxhaW5UZXh0QW5kVVJMCisg
ICAgICAgICAgICDigKIgUGFzdGVNaXhlZENvbnRlbnQuSW1hZ2VEYXRhQW5kUGxhaW5UZXh0QW5k
VVJMQW5kSFRNTAorICAgICAgICAgICAg4oCiIFVJUGFzdGVib2FyZFRlc3RzLkRhdGFUcmFuc2Zl
ckdldERhdGFXaGVuUGFzdGluZ0ltYWdlQW5kVGV4dAorCisgICAgICAgICogZG9tL0RhdGFUcmFu
c2Zlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEYXRhVHJhbnNmZXI6OnNob3VsZFN1cHByZXNz
R2V0QW5kU2V0RGF0YVRvQXZvaWRFeHBvc2luZ0ZpbGVQYXRocyBjb25zdCk6CisKKyAgICAgICAg
SWYgY3VzdG9tIHBhc3RlYm9hcmQgZGF0YSBpcyBlbmFibGVkLCBzdXBwcmVzcyBnZXREYXRhIGFu
ZCBzZXREYXRhIGlmIGFuZCBvbmx5IGlmIHdlIG1pZ2h0IGFjdHVhbGx5IGV4cG9zZSBmaWxlCisg
ICAgICAgIHBhdGhzIChzZWUgUGFzdGVib2FyZDo6ZmlsZUNvbnRlbnRTdGF0ZSkuCisKKyAgICAg
ICAgKFdlYkNvcmU6OkRhdGFUcmFuc2Zlcjo6dHlwZXMgY29uc3QpOgorCisgICAgICAgIE9ubHkg
YWxsb3cgInRleHQvaHRtbCIgb3IgInRleHQvdXJpLWxpc3QiIGluIHRoZSBjYXNlIHdoZXJlIHRo
ZXJlIGFyZSBhY3R1YWwgZmlsZXMgaW4gdGhlIHBhc3RlYm9hcmQuIElmIHRoZXJlJ3MKKyAgICAg
ICAgb25seSBpbWFnZSBkYXRhLCBhZGQgYWxsIG9mIHRoZSBET00tc2FmZSB0eXBlcyBiYWNrIGlu
dG8gdGhlIGxpc3Qgb2YgdHlwZXMuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9QYXN0ZWJvYXJkLmg6
CisgICAgICAgICogcGxhdGZvcm0vU3RhdGljUGFzdGVib2FyZC5oOgorCisgICAgICAgIEFkZCBh
biBlbnVtIHR5cGUgdG8gcmVwcmVzZW50IHRoZSByZXN1bHQgb2YgUGFzdGVib2FyZDo6ZmlsZUNv
bnRlbnRTdGF0ZS4KKyAgICAgICAg4oCiICAgTm9GaWxlT3JJbWFnZURhdGEgaW5kaWNhdGVzIHRo
YXQgdGhlcmUgd2FzIG5vdGhpbmcgb24gdGhlIHBhc3RlYm9hcmQgdGhhdCBjb3VsZCBiZSBjb25z
aWRlcmVkIGEgZmlsZQorICAgICAgICAgICAgZnJvbSB0aGUgcG9pbnQgb2YgdmlldyBvZiB0aGUg
cGFnZS4KKyAgICAgICAg4oCiICAgSW5NZW1vcnlJbWFnZSBpbmRpY2F0ZXMgdGhhdCB0aGVyZSBh
cmUgbm8gZmlsZXMgb24gdGhlIHBhc3RlYm9hcmQsIGJ1dCB0aGVyZSBpcyBpbWFnZSBkYXRhIHRo
YXQgd2UgY29uc2lkZXIKKyAgICAgICAgICAgIHRvIGJlIGZpbGVzLCBleHBvc2VkIHZpYSBEYXRh
VHJhbnNmZXIgQVBJLgorICAgICAgICDigKIgICBNYXlDb250YWluRmlsZVBhdGhzIGluZGljYXRl
cyB0aGF0IHRoZXJlIG1pZ2h0IGJlIGZpbGUgcGF0aHMgb24gdGhlIHBhc3RlYm9hcmQuIFRoaXMg
bWVhbnMgdGhhdCB0aGUgc291cmNlCisgICAgICAgICAgICBoYXMgZWl0aGVyIHdyaXR0ZW4gZmls
ZSBwYXRocyB0byB0aGUgcGFzdGVib2FyZCAoZm9yIGV4YW1wbGUsIHRocm91Z2ggTlNGaWxlbmFt
ZXNQYm9hcmRUeXBlKSBvciB0aGUgc291cmNlCisgICAgICAgICAgICBoYXMgd3JpdHRlbiBpbWFn
ZSBkYXRhIGFsb25nIHdpdGggYSBVUkwgdHlwZSBvZiBzb21lIHNvcnQgdGhhdCBkb2VzIG5vdCBt
YXRjaCBvbmUgb2YgdGhlIGFsbG93ZWQgVVJMIHNjaGVtZXMKKyAgICAgICAgICAgIHRoYXQgYXJl
IHNhZmUgdG8gZXhwb3NlIChjdXJyZW50bHksIHRoZXNlIGFyZSBodHRwLWZhbWlseSwgZGF0YSwg
b3IgYmxvYikuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9jb2NvYS9QYXN0ZWJvYXJkQ29jb2EubW06
CisgICAgICAgIChXZWJDb3JlOjpQYXN0ZWJvYXJkOjpmaWxlQ29udGVudFN0YXRlKToKKworICAg
ICAgICBSZWZhY3RvciB0byByZXR1cm4gb25lIG9mIHRoZSB0aHJlZSBlbnVtIHR5cGVzIGRlc2Ny
aWJlZCBhYm92ZS4KKworICAgICAgICAoV2ViQ29yZTo6UGFzdGVib2FyZDo6Y29udGFpbnNGaWxl
cyk6IERlbGV0ZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3RrL1Bhc3RlYm9hcmRHdGsuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UGFzdGVib2FyZDo6ZmlsZUNvbnRlbnRTdGF0ZSk6CisgICAgICAg
IChXZWJDb3JlOjpQYXN0ZWJvYXJkOjpjb250YWluc0ZpbGVzKTogRGVsZXRlZC4KKyAgICAgICAg
KiBwbGF0Zm9ybS93aW4vUGFzdGVib2FyZFdpbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQYXN0
ZWJvYXJkOjpmaWxlQ29udGVudFN0YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlBhc3RlYm9hcmQ6
OmNvbnRhaW5zRmlsZXMpOiBEZWxldGVkLgorICAgICAgICAqIHBsYXRmb3JtL3dwZS9QYXN0ZWJv
YXJkV1BFLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBhc3RlYm9hcmQ6OmZpbGVDb250ZW50U3Rh
dGUpOgorICAgICAgICAoV2ViQ29yZTo6UGFzdGVib2FyZDo6Y29udGFpbnNGaWxlcyk6IERlbGV0
ZWQuCisKKyAgICAgICAgQWRqdXN0IGZvciBQYXN0ZWJvYXJkOjpmaWxlQ29udGVudFN0YXRlKCkg
dHdlYWtzLgorCiAyMDE4LTAzLTA4ICBNZWdhbiBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBs
ZS5jb20+CiAKICAgICAgICAgRW5zdXJlIGRlZmF1bHQgYXBwZWFyYW5jZSBmb3Igc2VsZWN0aW9u
IGZvcm0gY29udHJvbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RhdGFUcmFuc2Zl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRGF0YVRyYW5zZmVyLmNwcAppbmRleCAzZTcxYTcz
ZjM0MDUzNWE2YjRiMTRkNDc3OWEzN2U5MTQ1ODc3NDdhLi43NjllNTFlYzNhOGZhZWY1ODkwYzJk
YmUyZWRjZjhhYzJmNzhhNmQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRGF0YVRy
YW5zZmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRGF0YVRyYW5zZmVyLmNwcApAQCAt
MjA0LDcgKzIwNCw3IEBAIGJvb2wgRGF0YVRyYW5zZmVyOjpzaG91bGRTdXBwcmVzc0dldEFuZFNl
dERhdGFUb0F2b2lkRXhwb3NpbmdGaWxlUGF0aHMoKSBjb25zdAogewogICAgIGlmICghZm9yRmls
ZURyYWcoKSAmJiAhUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5jdXN0
b21QYXN0ZWJvYXJkRGF0YUVuYWJsZWQoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIHJl
dHVybiBtX3Bhc3RlYm9hcmQtPmNvbnRhaW5zRmlsZXMoKTsKKyAgICByZXR1cm4gbV9wYXN0ZWJv
YXJkLT5maWxlQ29udGVudFN0YXRlKCkgPT0gUGFzdGVib2FyZDo6RmlsZUNvbnRlbnRTdGF0ZTo6
TWF5Q29udGFpbkZpbGVQYXRoczsKIH0KIAogdm9pZCBEYXRhVHJhbnNmZXI6OnNldERhdGEoY29u
c3QgU3RyaW5nJiB0eXBlLCBjb25zdCBTdHJpbmcmIGRhdGEpCkBAIC0yOTEsNyArMjkxLDcgQEAg
VmVjdG9yPFN0cmluZz4gRGF0YVRyYW5zZmVyOjp0eXBlcyhBZGRGaWxlc1R5cGUgYWRkRmlsZXNU
eXBlKSBjb25zdAogICAgIGlmICghUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVy
ZXMoKS5jdXN0b21QYXN0ZWJvYXJkRGF0YUVuYWJsZWQoKSkgewogICAgICAgICBhdXRvIHR5cGVz
ID0gbV9wYXN0ZWJvYXJkLT50eXBlc0ZvckxlZ2FjeVVuc2FmZUJpbmRpbmdzKCk7CiAgICAgICAg
IEFTU0VSVCghdHlwZXMuY29udGFpbnMoIkZpbGVzIikpOwotICAgICAgICBpZiAobV9wYXN0ZWJv
YXJkLT5jb250YWluc0ZpbGVzKCkgJiYgYWRkRmlsZXNUeXBlID09IEFkZEZpbGVzVHlwZTo6WWVz
KQorICAgICAgICBpZiAobV9wYXN0ZWJvYXJkLT5maWxlQ29udGVudFN0YXRlKCkgIT0gUGFzdGVi
b2FyZDo6RmlsZUNvbnRlbnRTdGF0ZTo6Tm9GaWxlT3JJbWFnZURhdGEgJiYgYWRkRmlsZXNUeXBl
ID09IEFkZEZpbGVzVHlwZTo6WWVzKQogICAgICAgICAgICAgdHlwZXMuYXBwZW5kKCJGaWxlcyIp
OwogICAgICAgICByZXR1cm4gdHlwZXM7CiAgICAgfQpAQCAtMzAxLDEwICszMDEsMTcgQEAgVmVj
dG9yPFN0cmluZz4gRGF0YVRyYW5zZmVyOjp0eXBlcyhBZGRGaWxlc1R5cGUgYWRkRmlsZXNUeXBl
KSBjb25zdAogICAgICAgICByZXR1cm4gaXRlbS0+aXNGaWxlKCk7CiAgICAgfSk7CiAKLSAgICBp
ZiAoaGFzRmlsZUJhY2tlZEl0ZW0gfHwgbV9wYXN0ZWJvYXJkLT5jb250YWluc0ZpbGVzKCkpIHsK
KyAgICBhdXRvIGZpbGVDb250ZW50U3RhdGUgPSBtX3Bhc3RlYm9hcmQtPmZpbGVDb250ZW50U3Rh
dGUoKTsKKyAgICBpZiAoaGFzRmlsZUJhY2tlZEl0ZW0gfHwgZmlsZUNvbnRlbnRTdGF0ZSAhPSBQ
YXN0ZWJvYXJkOjpGaWxlQ29udGVudFN0YXRlOjpOb0ZpbGVPckltYWdlRGF0YSkgewogICAgICAg
ICBWZWN0b3I8U3RyaW5nPiB0eXBlczsKICAgICAgICAgaWYgKGFkZEZpbGVzVHlwZSA9PSBBZGRG
aWxlc1R5cGU6OlllcykKICAgICAgICAgICAgIHR5cGVzLmFwcGVuZChBU0NJSUxpdGVyYWwoIkZp
bGVzIikpOworCisgICAgICAgIGlmIChmaWxlQ29udGVudFN0YXRlICE9IFBhc3RlYm9hcmQ6OkZp
bGVDb250ZW50U3RhdGU6Ok1heUNvbnRhaW5GaWxlUGF0aHMpIHsKKyAgICAgICAgICAgIHR5cGVz
LmFwcGVuZFZlY3RvcihXVEZNb3ZlKHNhZmVUeXBlcykpOworICAgICAgICAgICAgcmV0dXJuIHR5
cGVzOworICAgICAgICB9CisKICAgICAgICAgaWYgKHNhZmVUeXBlcy5jb250YWlucygidGV4dC91
cmktbGlzdCIpKQogICAgICAgICAgICAgdHlwZXMuYXBwZW5kKEFTQ0lJTGl0ZXJhbCgidGV4dC91
cmktbGlzdCIpKTsKICAgICAgICAgaWYgKHNhZmVUeXBlcy5jb250YWlucygidGV4dC9odG1sIikg
JiYgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5jdXN0b21QYXN0ZWJv
YXJkRGF0YUVuYWJsZWQoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Bh
c3RlYm9hcmQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmQuaAppbmRleCAz
OGJkM2ViMTI3MDI4MjJiODQwNDNkZjllMWE0NTNjMjBkNjk1YTI1Li5lODhlMjhiMzhlYTIyM2Vk
ZWY3MGM3NjcxYjliYzVmYjRjODExYTQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9QYXN0ZWJvYXJkLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGFzdGVib2Fy
ZC5oCkBAIC0yMjAsNyArMjIwLDggQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBXRUJDT1JFX0VY
UE9SVCB2b2lkIHdyaXRlQ3VzdG9tRGF0YShjb25zdCBQYXN0ZWJvYXJkQ3VzdG9tRGF0YSYpOwog
Ci0gICAgdmlydHVhbCBXRUJDT1JFX0VYUE9SVCBib29sIGNvbnRhaW5zRmlsZXMoKTsKKyAgICBl
bnVtIGNsYXNzIEZpbGVDb250ZW50U3RhdGUgeyBOb0ZpbGVPckltYWdlRGF0YSwgSW5NZW1vcnlJ
bWFnZSwgTWF5Q29udGFpbkZpbGVQYXRocyB9OworICAgIHZpcnR1YWwgV0VCQ09SRV9FWFBPUlQg
RmlsZUNvbnRlbnRTdGF0ZSBmaWxlQ29udGVudFN0YXRlKCk7CiAgICAgdmlydHVhbCBXRUJDT1JF
X0VYUE9SVCBib29sIGNhblNtYXJ0UmVwbGFjZSgpOwogCiAgICAgdmlydHVhbCBXRUJDT1JFX0VY
UE9SVCB2b2lkIHdyaXRlTWFya3VwKGNvbnN0IFN0cmluZyYgbWFya3VwKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1N0YXRpY1Bhc3RlYm9hcmQuaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL1N0YXRpY1Bhc3RlYm9hcmQuaAppbmRleCAwMDdlNDNhMThlYzU3ZjdiNzBj
OWI0ZjAzNGQ3Yjc1MGRhN2M0YjlhLi5lZWRkNzAyOWI0ZjQzOTQ1NzEyMjQ2NWZlNDZjYWI3ZmI0
YzZkODI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TdGF0aWNQYXN0ZWJv
YXJkLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU3RhdGljUGFzdGVib2FyZC5oCkBA
IC02MSw3ICs2MSw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgd3JpdGVDdXN0b21EYXRhKGNvbnN0
IFBhc3RlYm9hcmRDdXN0b21EYXRhJikgZmluYWwgeyB9CiAKLSAgICBib29sIGNvbnRhaW5zRmls
ZXMoKSBmaW5hbCB7IHJldHVybiBmYWxzZTsgfQorICAgIFBhc3RlYm9hcmQ6OkZpbGVDb250ZW50
U3RhdGUgZmlsZUNvbnRlbnRTdGF0ZSgpIGZpbmFsIHsgcmV0dXJuIEZpbGVDb250ZW50U3RhdGU6
Ok5vRmlsZU9ySW1hZ2VEYXRhOyB9CiAgICAgYm9vbCBjYW5TbWFydFJlcGxhY2UoKSBmaW5hbCB7
IHJldHVybiBmYWxzZTsgfQogCiAgICAgdm9pZCB3cml0ZU1hcmt1cChjb25zdCBTdHJpbmcmKSBm
aW5hbCB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1Bhc3Rl
Ym9hcmRDb2NvYS5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1Bhc3RlYm9hcmRD
b2NvYS5tbQppbmRleCBhNWUxNTVlMTY5OTk1NjVlNDk5MTJkZGFmMzdiNTUxODk2MmM3MDhjLi5h
Mjg2NTE5ZjE4YmE2NWEzM2FjZjYwZDRlOTBlY2YyM2E4NjY2M2E0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9QYXN0ZWJvYXJkQ29jb2EubW0KKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvUGFzdGVib2FyZENvY29hLm1tCkBAIC0xMzQsMjEgKzEz
NCwzNSBAQCBib29sIFBhc3RlYm9hcmQ6OnNob3VsZFRyZWF0Q29jb2FUeXBlQXNGaWxlKGNvbnN0
IFN0cmluZyYgY29jb2FUeXBlKQogICAgIHJldHVybiBjb2NvYVR5cGVUb0ltYWdlVHlwZShjb2Nv
YVR5cGUpICE9IEltYWdlVHlwZTo6SW52YWxpZDsKIH0KIAotYm9vbCBQYXN0ZWJvYXJkOjpjb250
YWluc0ZpbGVzKCkKK1Bhc3RlYm9hcmQ6OkZpbGVDb250ZW50U3RhdGUgUGFzdGVib2FyZDo6Zmls
ZUNvbnRlbnRTdGF0ZSgpCiB7Ci0gICAgaWYgKCFwbGF0Zm9ybVN0cmF0ZWdpZXMoKS0+cGFzdGVi
b2FyZFN0cmF0ZWd5KCktPmdldE51bWJlck9mRmlsZXMobV9wYXN0ZWJvYXJkTmFtZSkpIHsKKyAg
ICBib29sIG1heUNvbnRhaW5GaWxlUGF0aHMgPSBwbGF0Zm9ybVN0cmF0ZWdpZXMoKS0+cGFzdGVi
b2FyZFN0cmF0ZWd5KCktPmdldE51bWJlck9mRmlsZXMobV9wYXN0ZWJvYXJkTmFtZSk7CisgICAg
aWYgKCFtYXlDb250YWluRmlsZVBhdGhzKSB7CiAgICAgICAgIFZlY3RvcjxTdHJpbmc+IGNvY29h
VHlwZXM7CiAgICAgICAgIHBsYXRmb3JtU3RyYXRlZ2llcygpLT5wYXN0ZWJvYXJkU3RyYXRlZ3ko
KS0+Z2V0VHlwZXMoY29jb2FUeXBlcywgbV9wYXN0ZWJvYXJkTmFtZSk7CiAgICAgICAgIGlmIChj
b2NvYVR5cGVzLmZpbmRNYXRjaGluZyhbXShjb25zdCBTdHJpbmcmIGNvY29hVHlwZSkgeyByZXR1
cm4gc2hvdWxkVHJlYXRDb2NvYVR5cGVBc0ZpbGUoY29jb2FUeXBlKTsgfSkgPT0gbm90Rm91bmQp
Ci0gICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICByZXR1cm4gRmlsZUNvbnRl
bnRTdGF0ZTo6Tm9GaWxlT3JJbWFnZURhdGE7CisKKyAgICAgICAgYm9vbCBjb250YWluc1VSTCA9
IG5vdEZvdW5kICE9IGNvY29hVHlwZXMuZmluZE1hdGNoaW5nKFtdIChhdXRvJiBjb2NvYVR5cGUp
IHsKKyNpZiBQTEFURk9STShNQUMpCisgICAgICAgICAgICBpZiAoY29jb2FUeXBlID09IFN0cmlu
ZyhsZWdhY3lVUkxQYXN0ZWJvYXJkVHlwZSgpKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gdHJ1
ZTsKKyNlbmRpZgorICAgICAgICAgICAgcmV0dXJuIGNvY29hVHlwZSA9PSBTdHJpbmcoa1VUVHlw
ZVVSTCk7CisgICAgICAgIH0pOworICAgICAgICBtYXlDb250YWluRmlsZVBhdGhzID0gY29udGFp
bnNVUkwgJiYgIVBhc3RlYm9hcmQ6OmNhbkV4cG9zZVVSTFRvRE9NV2hlblBhc3RlYm9hcmRDb250
YWluc0ZpbGVzKHJlYWRTdHJpbmcoQVNDSUlMaXRlcmFsKCJ0ZXh0L3VyaS1saXN0IikpKTsKICAg
ICB9CiAKICAgICAvLyBFbmZvcmNlIGNoYW5nZUNvdW50IG91cnNlbHZlcyBmb3Igc2VjdXJpdHku
IFdlIGNoZWNrIGFmdGVyIHJlYWRpbmcgaW5zdGVhZCBvZiBiZWZvcmUgdG8gYmUKICAgICAvLyBz
dXJlIGl0IGRvZXNuJ3QgY2hhbmdlIGJldHdlZW4gb3VyIHRlc3RpbmcgdGhlIGNoYW5nZSBjb3Vu
dCBhbmQgYWNjZXNzaW5nIHRoZSBkYXRhLgogICAgIGlmIChtX2NoYW5nZUNvdW50ICE9IHBsYXRm
b3JtU3RyYXRlZ2llcygpLT5wYXN0ZWJvYXJkU3RyYXRlZ3koKS0+Y2hhbmdlQ291bnQobV9wYXN0
ZWJvYXJkTmFtZSkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgcmV0dXJuIEZpbGVD
b250ZW50U3RhdGU6Ok5vRmlsZU9ySW1hZ2VEYXRhOwogCi0gICAgcmV0dXJuIHRydWU7CisgICAg
Ly8gRXZlbiB3aGVuIHRoZXJlJ3Mgb25seSBpbWFnZSBkYXRhIGluIHRoZSBwYXN0ZWJvYXJkIGFu
ZCBubyBmaWxlIHJlcHJlc2VudGF0aW9ucywgd2Ugc3RpbGwgcnVuIHRoZSByaXNrIG9mIGV4cG9z
aW5nIGZpbGUgcGF0aHMKKyAgICAvLyB0byB0aGUgcGFnZSBpZiB0aGUgYXBwIGhhcyB3cml0dGVu
IGltYWdlIGRhdGEgdG8gdGhlIHBhc3RlYm9hcmQgd2l0aCBhIGNvcnJlc3BvbmRpbmcgZmlsZSBw
YXRoIGFzIHBsYWluIHRleHQuIEFuIGV4YW1wbGUgb2YKKyAgICAvLyB0aGlzIGlzIGNvcHlpbmcg
YW4gaW1hZ2Ugd2l0aCBhIGxvY2FsIGBzcmNgIGluIFNhZmFyaS4gVG8gbWl0aWdhdGUgdGhpcywg
d2UgYWRkaXRpb25hbGx5IHJlcXVpcmUgdGhhdCB0aGUgYXBwIGhhcyBub3QgYWxzbworICAgIC8v
IHdyaXR0ZW4gVVJMcyB0byB0aGUgcGFzdGVib2FyZCwgYXMgdGhpcyB3b3VsZCBzdWdnZXN0IHRo
YXQgdGhlIHBsYWluIHRleHQgZGF0YSBtaWdodCBjb250YWluIGZpbGUgcGF0aHMuCisgICAgcmV0
dXJuIG1heUNvbnRhaW5GaWxlUGF0aHMgPyBGaWxlQ29udGVudFN0YXRlOjpNYXlDb250YWluRmls
ZVBhdGhzIDogRmlsZUNvbnRlbnRTdGF0ZTo6SW5NZW1vcnlJbWFnZTsKIH0KIAogVmVjdG9yPFN0
cmluZz4gUGFzdGVib2FyZDo6dHlwZXNTYWZlRm9yQmluZGluZ3MoY29uc3QgU3RyaW5nJiBvcmln
aW4pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvUGFzdGVib2FyZEd0
ay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvUGFzdGVib2FyZEd0ay5jcHAKaW5k
ZXggOTlkMTIwM2Q2MzBmNDIxMWYzZmVjOGNiZWFmMjMwNTIzMzU2ZDA2OS4uMTcwMTM3NzExZThk
NDVlZDIyNTRhMGY4Mzc4MDYyZjgxYjlkZGM0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3RrL1Bhc3RlYm9hcmRHdGsuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2d0ay9QYXN0ZWJvYXJkR3RrLmNwcApAQCAtMzE4LDEwICszMTgsMTAgQEAgU3RyaW5nIFBh
c3RlYm9hcmQ6OnJlYWRTdHJpbmdJbkN1c3RvbURhdGEoY29uc3QgU3RyaW5nJikKICAgICByZXR1
cm4geyB9OwogfQogCi1ib29sIFBhc3RlYm9hcmQ6OmNvbnRhaW5zRmlsZXMoKQorUGFzdGVib2Fy
ZDo6RmlsZUNvbnRlbnRTdGF0ZSBQYXN0ZWJvYXJkOjpmaWxlQ29udGVudFN0YXRlKCkKIHsKICAg
ICByZWFkRnJvbUNsaXBib2FyZCgpOwotICAgIHJldHVybiAhbV9zZWxlY3Rpb25EYXRhLT5maWxl
bmFtZXMoKS5pc0VtcHR5KCk7CisgICAgcmV0dXJuIG1fc2VsZWN0aW9uRGF0YS0+ZmlsZW5hbWVz
KCkuaXNFbXB0eSgpID8gRmlsZUNvbnRlbnRTdGF0ZTo6Tm9JbWFnZURhdGFPckZpbGVQYXRocyA6
IEZpbGVDb250ZW50U3RhdGU6Ok1heUNvbnRhaW5GaWxlUGF0aHM7CiB9CiAKIHZvaWQgUGFzdGVi
b2FyZDo6d3JpdGVNYXJrdXAoY29uc3QgU3RyaW5nJikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL3dpbi9QYXN0ZWJvYXJkV2luLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL3dpbi9QYXN0ZWJvYXJkV2luLmNwcAppbmRleCA0NjY1MGYwNWVhOGMyZDExOTJmZTJkZmE2
Y2UxMTIzZmJiODQ3MDkwLi5mYTUyZjA1M2ZiMzgxODcwMjVhN2RmNjhhYjI0NjcxYjFhODZlNDEz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vUGFzdGVib2FyZFdpbi5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL1Bhc3RlYm9hcmRXaW4uY3BwCkBA
IC0zMTUsMTIgKzMxNSwxMiBAQCBzdHJ1Y3QgUGFzdGVib2FyZEZpbGVDb3VudGVyIGZpbmFsIDog
UGFzdGVib2FyZEZpbGVSZWFkZXIgewogICAgIHVuc2lnbmVkIGNvdW50IHsgMCB9OwogfTsKIAot
Ym9vbCBQYXN0ZWJvYXJkOjpjb250YWluc0ZpbGVzKCkKK1Bhc3RlYm9hcmQ6OkZpbGVDb250ZW50
U3RhdGUgUGFzdGVib2FyZDo6ZmlsZUNvbnRlbnRTdGF0ZSgpCiB7CiAgICAgLy8gRklYTUU6IFRo
aXMgaW1wbGVtZW50YXRpb24gY2FuIGJlIHNsaWdodGx5IG1vcmUgZWZmaWNpZW50IGJ5IGF2b2lk
aW5nIGNhbGxzIHRvIERyYWdRdWVyeUZpbGVXLgogICAgIFBhc3RlYm9hcmRGaWxlQ291bnRlciBy
ZWFkZXI7CiAgICAgcmVhZChyZWFkZXIpOwotICAgIHJldHVybiByZWFkZXIuY291bnQ7CisgICAg
cmV0dXJuIHJlYWRlci5jb3VudCA/IEZpbGVDb250ZW50U3RhdGU6Ok1heUNvbnRhaW5GaWxlUGF0
aHMgOiBGaWxlQ29udGVudFN0YXRlOjpOb0ltYWdlRGF0YU9yRmlsZVBhdGhzOwogfQogCiB2b2lk
IFBhc3RlYm9hcmQ6OnJlYWQoUGFzdGVib2FyZEZpbGVSZWFkZXImIHJlYWRlcikKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dwZS9QYXN0ZWJvYXJkV1BFLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL3dwZS9QYXN0ZWJvYXJkV1BFLmNwcAppbmRleCAxZWIyZDI5YTU4
ZTkwYmJjMGU0Y2E1ODhjYzY4ZTE2NjRjZWZjMzMzLi5kZWFhMGE4NmE3ZmM2ZmZmYTRkNGRiMjU5
ZjQyMjg2NjM0Mzc1ODUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93cGUv
UGFzdGVib2FyZFdQRS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd3BlL1Bhc3Rl
Ym9hcmRXUEUuY3BwCkBAIC0xMjUsMTAgKzEyNSwxMCBAQCB2b2lkIFBhc3RlYm9hcmQ6OndyaXRl
KGNvbnN0IFBhc3RlYm9hcmRXZWJDb250ZW50JiBjb250ZW50KQogICAgIHBsYXRmb3JtU3RyYXRl
Z2llcygpLT5wYXN0ZWJvYXJkU3RyYXRlZ3koKS0+d3JpdGVUb1Bhc3RlYm9hcmQoY29udGVudCk7
CiB9CiAKLWJvb2wgUGFzdGVib2FyZDo6Y29udGFpbnNGaWxlcygpCitQYXN0ZWJvYXJkOjpGaWxl
Q29udGVudFN0YXRlIFBhc3RlYm9hcmQ6OmZpbGVDb250ZW50U3RhdGUoKQogewogICAgIG5vdElt
cGxlbWVudGVkKCk7Ci0gICAgcmV0dXJuIGZhbHNlOworICAgIHJldHVybiBGaWxlQ29udGVudFN0
YXRlOjpOb0ltYWdlRGF0YU9yRmlsZVBhdGhzOwogfQogCiBib29sIFBhc3RlYm9hcmQ6OmNhblNt
YXJ0UmVwbGFjZSgpCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VM
b2cKaW5kZXggYTU3M2QxNWU4OGRlOTk3NmIxNzVhZjA3MzI1ZTQ1YmRlNjJhMThhMy4uZTUwY2Ez
YjI3NTI3ZDhiODc5MWFhMjM1MjE2NWM2MDlmYTU5MjRmZiAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hh
bmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE4LTAzLTA5
ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFttYWNP
U10gQ29weWluZyBhIHRhYmxlIGZyb20gdGhlIE51bWJlcnMgYXBwIGFuZCBwYXN0aW5nIGludG8g
aUNsb3VkIE51bWJlcnMgZmFpbHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE4MzQ4NQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzgwNDE5ODQ+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgUnlvc3VrZSBOaXdhLgorCisgICAgICAgIEFkZCBuZXcgQVBJ
IHRlc3RzIHRvIGNvdmVyIHNjZW5hcmlvcyBpbiB3aGljaCB3ZSBwYXN0ZSBpbWFnZSBkYXRhIGFs
b25nc2lkZSB0ZXh0IGRhdGEuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktp
dENvY29hL1Bhc3RlTWl4ZWRDb250ZW50Lm1tOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVT
VCk6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9pb3MvVUlQYXN0ZWJvYXJkVGVzdHMu
bW06CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKKwogMjAxOC0wMy0wOCAgU3RlcGhh
biBTemFibyAgPHN0ZXBoYW4uc3phYm9Ac29ueS5jb20+CiAKICAgICAgICAgV2ViS2l0VGVzdFJ1
bm5lcjogRG9uJ3QgdXNlIGFjY2Vzc2liaWxpdHkgY29udHJvbGxlciB3aGVuICFIQVZFKEFDQ0VT
U0lCSUxJVFkpCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENv
Y29hL1Bhc3RlTWl4ZWRDb250ZW50Lm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJL
aXRDb2NvYS9QYXN0ZU1peGVkQ29udGVudC5tbQppbmRleCAwZGQzM2UxZTZjZTczMjc2N2UwMmY3
MDViZjY1MDlkMzU0NWZjM2M0Li4wNDExNGFiNGZlNWU0NzQ1Zjg5MThjMmFiOTU3OWU5Y2RkNGJk
ZWYxIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1Bh
c3RlTWl4ZWRDb250ZW50Lm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0
Q29jb2EvUGFzdGVNaXhlZENvbnRlbnQubW0KQEAgLTE5NCw2ICsxOTQsNDkgQEAgVEVTVChQYXN0
ZU1peGVkQ29udGVudCwgSW1hZ2VGaWxlV2l0aEhUTUxBbmRVUkwpCiAgICAgRVhQRUNUX0ZBTFNF
KFtbd2ViVmlldyBzdHJpbmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0OkAicmF3SFRNTERhdGEudGV4
dENvbnRlbnQiXSBjb250YWluc1N0cmluZzpAInNjcmlwdCJdKTsKIH0KIAorVEVTVChQYXN0ZU1p
eGVkQ29udGVudCwgSW1hZ2VEYXRhQW5kUGxhaW5UZXh0KQoreworICAgIGF1dG8gd2ViVmlldyA9
IHNldFVwV2ViVmlldygpOworICAgIHdyaXRlVHlwZXNBbmREYXRhVG9QYXN0ZWJvYXJkKE5TUGFz
dGVib2FyZFR5cGVTdHJpbmcsIEAiSGVsbG8gd29ybGQiLCBOU1Bhc3RlYm9hcmRUeXBlUE5HLCBb
TlNEYXRhIGRhdGFXaXRoQ29udGVudHNPZkZpbGU6aW1hZ2VQYXRoKCldLCBuaWwpOworICAgIFt3
ZWJWaWV3IHBhc3RlOm5pbF07CisKKyAgICBFWFBFQ1RfV0tfU1RSRVEoIkZpbGVzLCB0ZXh0L3Bs
YWluIiwgW3dlYlZpZXcgc3RyaW5nQnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpAInR5cGVzLnRleHRD
b250ZW50Il0pOworICAgIEVYUEVDVF9XS19TVFJFUSgiKFNUUklORywgdGV4dC9wbGFpbiksIChG
SUxFLCBpbWFnZS9wbmcpIiwgW3dlYlZpZXcgc3RyaW5nQnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpA
Iml0ZW1zLnRleHRDb250ZW50Il0pOworICAgIEVYUEVDVF9XS19TVFJFUSgiKCdpbWFnZS5wbmcn
LCBpbWFnZS9wbmcpIiwgW3dlYlZpZXcgc3RyaW5nQnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpAImZp
bGVzLnRleHRDb250ZW50Il0pOworICAgIEVYUEVDVF9XS19TVFJFUSgiIiwgW3dlYlZpZXcgc3Ry
aW5nQnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpAInVybERhdGEudGV4dENvbnRlbnQiXSk7CisgICAg
RVhQRUNUX1dLX1NUUkVRKCJIZWxsbyB3b3JsZCIsIFt3ZWJWaWV3IHN0cmluZ0J5RXZhbHVhdGlu
Z0phdmFTY3JpcHQ6QCJ0ZXh0RGF0YS50ZXh0Q29udGVudCJdKTsKKyAgICBFWFBFQ1RfV0tfU1RS
RVEoIiIsIFt3ZWJWaWV3IHN0cmluZ0J5RXZhbHVhdGluZ0phdmFTY3JpcHQ6QCJodG1sRGF0YS50
ZXh0Q29udGVudCJdKTsKK30KKworVEVTVChQYXN0ZU1peGVkQ29udGVudCwgSW1hZ2VEYXRhQW5k
UGxhaW5UZXh0QW5kVVJMKQoreworICAgIGF1dG8gd2ViVmlldyA9IHNldFVwV2ViVmlldygpOwor
ICAgIHdyaXRlVHlwZXNBbmREYXRhVG9QYXN0ZWJvYXJkKE5TUGFzdGVib2FyZFR5cGVTdHJpbmcs
IGltYWdlUGF0aCgpLCBOU1VSTFBib2FyZFR5cGUsIGltYWdlUGF0aCgpLCBOU1Bhc3RlYm9hcmRU
eXBlUE5HLCBbTlNEYXRhIGRhdGFXaXRoQ29udGVudHNPZkZpbGU6aW1hZ2VQYXRoKCldLCBuaWwp
OworICAgIFt3ZWJWaWV3IHBhc3RlOm5pbF07CisKKyAgICBFWFBFQ1RfV0tfU1RSRVEoIkZpbGVz
IiwgW3dlYlZpZXcgc3RyaW5nQnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpAInR5cGVzLnRleHRDb250
ZW50Il0pOworICAgIEVYUEVDVF9XS19TVFJFUSgiKEZJTEUsIGltYWdlL3BuZykiLCBbd2ViVmll
dyBzdHJpbmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0OkAiaXRlbXMudGV4dENvbnRlbnQiXSk7Cisg
ICAgRVhQRUNUX1dLX1NUUkVRKCIoJ2ltYWdlLnBuZycsIGltYWdlL3BuZykiLCBbd2ViVmlldyBz
dHJpbmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0OkAiZmlsZXMudGV4dENvbnRlbnQiXSk7CisgICAg
RVhQRUNUX1dLX1NUUkVRKCIiLCBbd2ViVmlldyBzdHJpbmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0
OkAidXJsRGF0YS50ZXh0Q29udGVudCJdKTsKKyAgICBFWFBFQ1RfV0tfU1RSRVEoIiIsIFt3ZWJW
aWV3IHN0cmluZ0J5RXZhbHVhdGluZ0phdmFTY3JpcHQ6QCJ0ZXh0RGF0YS50ZXh0Q29udGVudCJd
KTsKKyAgICBFWFBFQ1RfV0tfU1RSRVEoIiIsIFt3ZWJWaWV3IHN0cmluZ0J5RXZhbHVhdGluZ0ph
dmFTY3JpcHQ6QCJodG1sRGF0YS50ZXh0Q29udGVudCJdKTsKK30KKworVEVTVChQYXN0ZU1peGVk
Q29udGVudCwgSW1hZ2VEYXRhQW5kUGxhaW5UZXh0QW5kVVJMQW5kSFRNTCkKK3sKKyAgICBhdXRv
IHdlYlZpZXcgPSBzZXRVcFdlYlZpZXcoKTsKKyAgICB3cml0ZVR5cGVzQW5kRGF0YVRvUGFzdGVi
b2FyZChOU1Bhc3RlYm9hcmRUeXBlU3RyaW5nLCBpbWFnZVBhdGgoKSwgTlNVUkxQYm9hcmRUeXBl
LCBpbWFnZVBhdGgoKSwgTlNQYXN0ZWJvYXJkVHlwZUhUTUwsIG1hcmt1cFN0cmluZygpLCBOU1Bh
c3RlYm9hcmRUeXBlUE5HLCBbTlNEYXRhIGRhdGFXaXRoQ29udGVudHNPZkZpbGU6aW1hZ2VQYXRo
KCldLCBuaWwpOworICAgIFt3ZWJWaWV3IHBhc3RlOm5pbF07CisKKyAgICBFWFBFQ1RfV0tfU1RS
RVEoIkZpbGVzLCB0ZXh0L2h0bWwiLCBbd2ViVmlldyBzdHJpbmdCeUV2YWx1YXRpbmdKYXZhU2Ny
aXB0OkAidHlwZXMudGV4dENvbnRlbnQiXSk7CisgICAgRVhQRUNUX1dLX1NUUkVRKCIoU1RSSU5H
LCB0ZXh0L2h0bWwpLCAoRklMRSwgaW1hZ2UvcG5nKSIsIFt3ZWJWaWV3IHN0cmluZ0J5RXZhbHVh
dGluZ0phdmFTY3JpcHQ6QCJpdGVtcy50ZXh0Q29udGVudCJdKTsKKyAgICBFWFBFQ1RfV0tfU1RS
RVEoIignaW1hZ2UucG5nJywgaW1hZ2UvcG5nKSIsIFt3ZWJWaWV3IHN0cmluZ0J5RXZhbHVhdGlu
Z0phdmFTY3JpcHQ6QCJmaWxlcy50ZXh0Q29udGVudCJdKTsKKyAgICBFWFBFQ1RfV0tfU1RSRVEo
IiIsIFt3ZWJWaWV3IHN0cmluZ0J5RXZhbHVhdGluZ0phdmFTY3JpcHQ6QCJ1cmxEYXRhLnRleHRD
b250ZW50Il0pOworICAgIEVYUEVDVF9XS19TVFJFUSgiIiwgW3dlYlZpZXcgc3RyaW5nQnlFdmFs
dWF0aW5nSmF2YVNjcmlwdDpAInRleHREYXRhLnRleHRDb250ZW50Il0pOworICAgIEVYUEVDVF9X
S19TVFJFUSgiSEVMTE8gV09STEQiLCBbd2ViVmlldyBzdHJpbmdCeUV2YWx1YXRpbmdKYXZhU2Ny
aXB0OkAiaHRtbERhdGEudGV4dENvbnRlbnQiXSk7CisgICAgRVhQRUNUX0ZBTFNFKFtbd2ViVmll
dyBzdHJpbmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0OkAicmF3SFRNTERhdGEudGV4dENvbnRlbnQi
XSBjb250YWluc1N0cmluZzpAInNjcmlwdCJdKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgVGVzdFdl
YktpdEFQSQogCiAjZW5kaWYgLy8gUExBVEZPUk0oTUFDKSAmJiBXS19BUElfRU5BQkxFRApkaWZm
IC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9pb3MvVUlQYXN0ZWJvYXJkVGVzdHMu
bW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL2lvcy9VSVBhc3RlYm9hcmRUZXN0cy5tbQpp
bmRleCAyNTUwNTYyM2MwZjEyNzM2OTM4Yzk3MjY0ZjEzYzc5NWNjM2JlZjQ3Li40MzM0ODU1NjFl
NTBkNWMwYzdlMmRhMDQ0NzllZjNmYjNhNDcwODBmIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RzL2lvcy9VSVBhc3RlYm9hcmRUZXN0cy5tbQorKysgYi9Ub29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RzL2lvcy9VSVBhc3RlYm9hcmRUZXN0cy5tbQpAQCAtMTk0LDYgKzE5NCwzMCBA
QCBURVNUKFVJUGFzdGVib2FyZFRlc3RzLCBEYXRhVHJhbnNmZXJHZXREYXRhV2hlblBhc3RpbmdQ
bGF0Zm9ybVJlcHJlc2VudGF0aW9ucykKICAgICB9KTsKIH0KIAorVEVTVChVSVBhc3RlYm9hcmRU
ZXN0cywgRGF0YVRyYW5zZmVyR2V0RGF0YVdoZW5QYXN0aW5nSW1hZ2VBbmRUZXh0KQoreworICAg
IGF1dG8gd2ViVmlldyA9IHNldFVwV2ViVmlld0ZvclBhc3RlYm9hcmRUZXN0cyhAIkRhdGFUcmFu
c2ZlciIpOworICAgIGF1dG8gY29waWVkVGV4dCA9IHJldGFpblB0cihAIkFwcGxlIEluYy4iKTsK
KyAgICBhdXRvIGl0ZW1Qcm92aWRlciA9IGFkb3B0TlMoW1tOU0l0ZW1Qcm92aWRlciBhbGxvY10g
aW5pdF0pOworICAgIFtpdGVtUHJvdmlkZXIgcmVnaXN0ZXJEYXRhUmVwcmVzZW50YXRpb25Gb3JU
eXBlSWRlbnRpZmllcjooTlNTdHJpbmcgKilrVVRUeXBlUE5HIHZpc2liaWxpdHk6TlNJdGVtUHJv
dmlkZXJSZXByZXNlbnRhdGlvblZpc2liaWxpdHlBbGwgbG9hZEhhbmRsZXI6W10gKERhdGFMb2Fk
Q29tcGxldGlvbkJsb2NrIGNvbXBsZXRpb25IYW5kbGVyKSAtPiBOU1Byb2dyZXNzICogeworICAg
ICAgICBjb21wbGV0aW9uSGFuZGxlcihbTlNEYXRhIGRhdGFXaXRoQ29udGVudHNPZlVSTDpbW05T
QnVuZGxlIG1haW5CdW5kbGVdIFVSTEZvclJlc291cmNlOkAiaWNvbiIgd2l0aEV4dGVuc2lvbjpA
InBuZyIgc3ViZGlyZWN0b3J5OkAiVGVzdFdlYktpdEFQSS5yZXNvdXJjZXMiXV0sIG5pbCk7Cisg
ICAgICAgIHJldHVybiBuaWw7CisgICAgfV07CisgICAgW2l0ZW1Qcm92aWRlciByZWdpc3RlckRh
dGFSZXByZXNlbnRhdGlvbkZvclR5cGVJZGVudGlmaWVyOihOU1N0cmluZyAqKWtVVFR5cGVVVEY4
UGxhaW5UZXh0IHZpc2liaWxpdHk6TlNJdGVtUHJvdmlkZXJSZXByZXNlbnRhdGlvblZpc2liaWxp
dHlBbGwgbG9hZEhhbmRsZXI6W2NvcGllZFRleHRdIChEYXRhTG9hZENvbXBsZXRpb25CbG9jayBj
b21wbGV0aW9uSGFuZGxlcikgLT4gTlNQcm9ncmVzcyAqIHsKKyAgICAgICAgY29tcGxldGlvbkhh
bmRsZXIoW2NvcGllZFRleHQgZGF0YVVzaW5nRW5jb2Rpbmc6TlNVVEY4U3RyaW5nRW5jb2Rpbmdd
LCBuaWwpOworICAgICAgICByZXR1cm4gbmlsOworICAgIH1dOworICAgIFtVSVBhc3RlYm9hcmQg
Z2VuZXJhbFBhc3RlYm9hcmRdLml0ZW1Qcm92aWRlcnMgPSBAWyBpdGVtUHJvdmlkZXIuZ2V0KCkg
XTsKKyAgICBbd2ViVmlldyBwYXN0ZTpuaWxdOworCisgICAgRVhQRUNUX1dLX1NUUkVRKCJGaWxl
cywgdGV4dC9wbGFpbiIsIFt3ZWJWaWV3IHN0cmluZ0J5RXZhbHVhdGluZ0phdmFTY3JpcHQ6QCJ0
eXBlcy50ZXh0Q29udGVudCJdKTsKKyAgICBFWFBFQ1RfV0tfU1RSRVEoIihTVFJJTkcsIHRleHQv
cGxhaW4pLCAoRklMRSwgaW1hZ2UvcG5nKSIsIFt3ZWJWaWV3IHN0cmluZ0J5RXZhbHVhdGluZ0ph
dmFTY3JpcHQ6QCJpdGVtcy50ZXh0Q29udGVudCJdKTsKKyAgICBFWFBFQ1RfV0tfU1RSRVEoIign
aW1hZ2UucG5nJywgaW1hZ2UvcG5nKSIsIFt3ZWJWaWV3IHN0cmluZ0J5RXZhbHVhdGluZ0phdmFT
Y3JpcHQ6QCJmaWxlcy50ZXh0Q29udGVudCJdKTsKKyAgICBFWFBFQ1RfV0tfU1RSRVEoIiIsIFt3
ZWJWaWV3IHN0cmluZ0J5RXZhbHVhdGluZ0phdmFTY3JpcHQ6QCJ1cmxEYXRhLnRleHRDb250ZW50
Il0pOworICAgIEVYUEVDVF9XS19TVFJFUSgiQXBwbGUgSW5jLiIsIFt3ZWJWaWV3IHN0cmluZ0J5
RXZhbHVhdGluZ0phdmFTY3JpcHQ6QCJ0ZXh0RGF0YS50ZXh0Q29udGVudCJdKTsKKyAgICBFWFBF
Q1RfV0tfU1RSRVEoIiIsIFt3ZWJWaWV3IHN0cmluZ0J5RXZhbHVhdGluZ0phdmFTY3JpcHQ6QCJo
dG1sRGF0YS50ZXh0Q29udGVudCJdKTsKK30KKwogVEVTVChVSVBhc3RlYm9hcmRUZXN0cywgRGF0
YVRyYW5zZmVyU2V0RGF0YUNhbm5vdFdyaXRlUGxhdGZvcm1UeXBlcykKIHsKICAgICBhdXRvIHdl
YlZpZXcgPSBzZXRVcFdlYlZpZXdGb3JQYXN0ZWJvYXJkVGVzdHMoQCJkdW1wLWRhdGF0cmFuc2Zl
ci10eXBlcyIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCmluZGV4IGZjM2RlOTgwNmQyNjY2NTgyMTZkZWUyZTdmMDViODM4MzE2OWI0
MWQuLjc0ZTU1NjgzOTFjZmEyZDUxMWNhYTI3NTgwNmE3Zjk2YzNmZGEwNzIgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOCBAQAorMjAxOC0wMy0wOSAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxl
LmNvbT4KKworICAgICAgICBbbWFjT1NdIENvcHlpbmcgYSB0YWJsZSBmcm9tIHRoZSBOdW1iZXJz
IGFwcCBhbmQgcGFzdGluZyBpbnRvIGlDbG91ZCBOdW1iZXJzIGZhaWxzCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODM0ODUKKyAgICAgICAgPHJkYXI6
Ly9wcm9ibGVtLzM4MDQxOTg0PgorCisgICAgICAgIFJldmlld2VkIGJ5IFJ5b3N1a2UgTml3YS4K
KworICAgICAgICBSZWJhc2VsaW5lIHNvbWUgcGFzdGVib2FyZC1yZWxhdGVkIGxheW91dCB0ZXN0
cywgaW4gd2hpY2ggd2Ugbm93IGV4cG9zZSB0ZXh0L3BsYWluIGFsb25nc2lkZSBmaWxlcyB0aGF0
IHdlcmUKKyAgICAgICAgd3JpdHRlbiB0byB0aGUgRGF0YVRyYW5zZmVyIGJ5IHRoZSBwYWdlIGl0
c2VsZi4KKworICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9kYXRhLXRyYW5zZmVyLWl0ZW0t
bGlzdC1hZGQtZmlsZS1tdWx0aXBsZS10aW1lcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogZWRp
dGluZy9wYXN0ZWJvYXJkL2RhdGEtdHJhbnNmZXItaXRlbS1saXN0LWFkZC1maWxlLW9uLWNvcHkt
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9kYXRhLXRyYW5zZmVy
LWl0ZW0tbGlzdC1hZGQtZmlsZS1vbi1kcmFnLWV4cGVjdGVkLnR4dDoKKwogMjAxOC0wMy0wOCAg
Q2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIGZhc3QvaHRtbC9tYXJx
dWVlLXJlcGFyZW50LWNoZWNrLmh0bWwgaXMgZmxha3kgd2l0aCBhc3luYyBkZWxlZ2F0ZXMKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9kYXRhLXRyYW5zZmVyLWl0
ZW0tbGlzdC1hZGQtZmlsZS1tdWx0aXBsZS10aW1lcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3Bhc3RlYm9hcmQvZGF0YS10cmFuc2Zlci1pdGVtLWxpc3QtYWRkLWZpbGUtbXVs
dGlwbGUtdGltZXMtZXhwZWN0ZWQudHh0CmluZGV4IDZlZjEwMzg0YzFhYTcwZDU0ZWEzN2MyYjhi
YzRiZTkzYjgzOTNjMWEuLjAzYTRiNmU4YTIyNTYwNDY2NDdjYWFmYTE2MzE2MDkzNzM3YjI3YjUg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9kYXRhLXRyYW5zZmVy
LWl0ZW0tbGlzdC1hZGQtZmlsZS1tdWx0aXBsZS10aW1lcy1leHBlY3RlZC50eHQKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL2RhdGEtdHJhbnNmZXItaXRlbS1saXN0LWFkZC1m
aWxlLW11bHRpcGxlLXRpbWVzLWV4cGVjdGVkLnR4dApAQCAtMTAsNiArMTAsNyBAQCBvcGVyYXRp
b24gcGVyZm9ybWVkIGF0IGVhY2ggc3RlcC4KIHsKICAgICAiZGF0YSI6IHsKICAgICAgICAgIkZp
bGVzIjogIiIsCisgICAgICAgICJ0ZXh0L3BsYWluIjogInBsYWluIHRleHQgc3RyaW5nIiwKICAg
ICAgICAgInRleHQvdXJpLWxpc3QiOiAiaHR0cHM6Ly93ZWJraXQub3JnIgogICAgIH0sCiAgICAg
Iml0ZW1zIjogWwpAQCAtODgsNiArODksNyBAQCBvcGVyYXRpb24gcGVyZm9ybWVkIGF0IGVhY2gg
c3RlcC4KIHsKICAgICAiZGF0YSI6IHsKICAgICAgICAgIkZpbGVzIjogIiIsCisgICAgICAgICJ0
ZXh0L3BsYWluIjogInBsYWluIHRleHQgc3RyaW5nIiwKICAgICAgICAgInRleHQvdXJpLWxpc3Qi
OiAiaHR0cHM6Ly93ZWJraXQub3JnIgogICAgIH0sCiAgICAgIml0ZW1zIjogWwpAQCAtMTUzLDYg
KzE1NSw3IEBAIHJlbW92ZWRJdGVtLmdldEFzRmlsZSgpIHNob3VsZCBiZSBudWxsOiBudWxsCiB7
CiAgICAgImRhdGEiOiB7CiAgICAgICAgICJGaWxlcyI6ICIiLAorICAgICAgICAidGV4dC9wbGFp
biI6ICJwbGFpbiB0ZXh0IHN0cmluZyIsCiAgICAgICAgICJ0ZXh0L3VyaS1saXN0IjogImh0dHBz
Oi8vd2Via2l0Lm9yZyIKICAgICB9LAogICAgICJpdGVtcyI6IFsKQEAgLTIwNCw2ICsyMDcsNyBA
QCByZW1vdmVkSXRlbS5nZXRBc0ZpbGUoKSBzaG91bGQgYmUgbnVsbDogbnVsbAogewogICAgICJk
YXRhIjogewogICAgICAgICAiRmlsZXMiOiAiIiwKKyAgICAgICAgInRleHQvcGxhaW4iOiAicGxh
aW4gdGV4dCBzdHJpbmciLAogICAgICAgICAidGV4dC91cmktbGlzdCI6ICJodHRwczovL3dlYmtp
dC5vcmciCiAgICAgfSwKICAgICAiaXRlbXMiOiBbCkBAIC0yNDgsNyArMjUyLDggQEAgcmVtb3Zl
ZEl0ZW0uZ2V0QXNGaWxlKCkgc2hvdWxkIGJlIG51bGw6IG51bGwKIHsKICAgICAiZGF0YSI6IHsK
ICAgICAgICAgIkZpbGVzIjogIiIsCi0gICAgICAgICJ0ZXh0L2h0bWwiOiAiPHN0cm9uZz5zb21l
IHN0eWxlZCB0ZXh0PC9zdHJvbmc+IgorICAgICAgICAidGV4dC9odG1sIjogIjxzdHJvbmc+c29t
ZSBzdHlsZWQgdGV4dDwvc3Ryb25nPiIsCisgICAgICAgICJ0ZXh0L3BsYWluIjogInNvbWUgcGxh
aW4gdGV4dCIKICAgICB9LAogICAgICJpdGVtcyI6IFsKICAgICAgICAgewpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL2RhdGEtdHJhbnNmZXItaXRlbS1saXN0LWFk
ZC1maWxlLW9uLWNvcHktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJv
YXJkL2RhdGEtdHJhbnNmZXItaXRlbS1saXN0LWFkZC1maWxlLW9uLWNvcHktZXhwZWN0ZWQudHh0
CmluZGV4IDI5YmM5NDlhNDg5Y2VmOTllZDE2Y2I4ZjQwMjZhODk2MjVmMGQzZDEuLjI3MDc0NTA2
Y2M2ODc3MTU4MTU3OTBhNWMyODlkNzlhM2M4M2JkYTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvcGFzdGVib2FyZC9kYXRhLXRyYW5zZmVyLWl0ZW0tbGlzdC1hZGQtZmlsZS1vbi1j
b3B5LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvZGF0
YS10cmFuc2Zlci1pdGVtLWxpc3QtYWRkLWZpbGUtb24tY29weS1leHBlY3RlZC50eHQKQEAgLTI0
LDcgKzI0LDggQEAgb3BlcmF0aW9uIHBlcmZvcm1lZCBhdCBlYWNoIHN0ZXAuCiAyLiBBZnRlciBh
ZGRpbmcgYSBmaWxlIG9mIGN1c3RvbSB0eXBlCiB7CiAgICAgImRhdGEiOiB7Ci0gICAgICAgICJG
aWxlcyI6ICIiCisgICAgICAgICJGaWxlcyI6ICIiLAorICAgICAgICAidGV4dC9wbGFpbiI6ICJo
ZWxsbyB3b3JsZCIKICAgICB9LAogICAgICJpdGVtcyI6IFsKICAgICAgICAgewpAQCAtNTQsNyAr
NTUsOCBAQCBvcGVyYXRpb24gcGVyZm9ybWVkIGF0IGVhY2ggc3RlcC4KIDMuIEFmdGVyIGFkZGlu
ZyB0aGUgZmlyc3QgcGxhaW4gdGV4dCBmaWxlCiB7CiAgICAgImRhdGEiOiB7Ci0gICAgICAgICJG
aWxlcyI6ICIiCisgICAgICAgICJGaWxlcyI6ICIiLAorICAgICAgICAidGV4dC9wbGFpbiI6ICJo
ZWxsbyB3b3JsZCIKICAgICB9LAogICAgICJpdGVtcyI6IFsKICAgICAgICAgewpAQCAtOTgsNyAr
MTAwLDggQEAgb3BlcmF0aW9uIHBlcmZvcm1lZCBhdCBlYWNoIHN0ZXAuCiA0LiBBZnRlciByZW1v
dmluZyB0aGUgbGFzdCBmaWxlCiB7CiAgICAgImRhdGEiOiB7Ci0gICAgICAgICJGaWxlcyI6ICIi
CisgICAgICAgICJGaWxlcyI6ICIiLAorICAgICAgICAidGV4dC9wbGFpbiI6ICJoZWxsbyB3b3Js
ZCIKICAgICB9LAogICAgICJpdGVtcyI6IFsKICAgICAgICAgewpAQCAtMTMwLDYgKzEzMyw3IEBA
IHJlbW92ZWRJdGVtLmdldEFzRmlsZSgpIHNob3VsZCBiZSBudWxsOiBudWxsCiB7CiAgICAgImRh
dGEiOiB7CiAgICAgICAgICJGaWxlcyI6ICIiLAorICAgICAgICAidGV4dC9wbGFpbiI6ICJoZWxs
byB3b3JsZCIsCiAgICAgICAgICJ0ZXh0L2h0bWwiOiAiPGE+Z29vZGJ5ZSB3b3JsZDwvYT4iCiAg
ICAgfSwKICAgICAiaXRlbXMiOiBbCkBAIC0xNjYsNiArMTcwLDcgQEAgcmVtb3ZlZEl0ZW0uZ2V0
QXNGaWxlKCkgc2hvdWxkIGJlIG51bGw6IG51bGwKIHsKICAgICAiZGF0YSI6IHsKICAgICAgICAg
IkZpbGVzIjogIiIsCisgICAgICAgICJ0ZXh0L3BsYWluIjogImhlbGxvIHdvcmxkIiwKICAgICAg
ICAgInRleHQvaHRtbCI6ICI8YT5nb29kYnllIHdvcmxkPC9hPiIKICAgICB9LAogICAgICJpdGVt
cyI6IFsKQEAgLTIxNiw2ICsyMjEsNyBAQCByZW1vdmVkSXRlbS5nZXRBc0ZpbGUoKSBzaG91bGQg
YmUgbnVsbDogbnVsbAogewogICAgICJkYXRhIjogewogICAgICAgICAiRmlsZXMiOiAiIiwKKyAg
ICAgICAgInRleHQvcGxhaW4iOiAiaGVsbG8gd29ybGQiLAogICAgICAgICAidGV4dC9odG1sIjog
IjxhPmdvb2RieWUgd29ybGQ8L2E+IgogICAgIH0sCiAgICAgIml0ZW1zIjogWwpAQCAtMjUyLDcg
KzI1OCw4IEBAIHJlbW92ZWRJdGVtLmdldEFzRmlsZSgpIHNob3VsZCBiZSBudWxsOiBudWxsCiA4
LiBBZnRlciByZW1vdmluZyB0aGUgSFRNTCBzdHJpbmcKIHsKICAgICAiZGF0YSI6IHsKLSAgICAg
ICAgIkZpbGVzIjogIiIKKyAgICAgICAgIkZpbGVzIjogIiIsCisgICAgICAgICJ0ZXh0L3BsYWlu
IjogImhlbGxvIHdvcmxkIgogICAgIH0sCiAgICAgIml0ZW1zIjogWwogICAgICAgICB7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvZGF0YS10cmFuc2Zlci1pdGVt
LWxpc3QtYWRkLWZpbGUtb24tZHJhZy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvZGF0YS10cmFuc2Zlci1pdGVtLWxpc3QtYWRkLWZpbGUtb24tZHJhZy1leHBl
Y3RlZC50eHQKaW5kZXggMDdjMDZjY2RlNWRlZjM5NTQxYmU4OWEwODgzNzM5ZTg5ZDhmNTg2My4u
MTU1ODk5ZGU4Njk5OGU2M2QxY2IzOTc5NWNjMGRlNGNlOGIxOGVkZiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL2RhdGEtdHJhbnNmZXItaXRlbS1saXN0LWFkZC1m
aWxlLW9uLWRyYWctZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9kYXRhLXRyYW5zZmVyLWl0ZW0tbGlzdC1hZGQtZmlsZS1vbi1kcmFnLWV4cGVjdGVkLnR4
dApAQCAtMjQsNyArMjQsOCBAQCBvcGVyYXRpb24gcGVyZm9ybWVkIGF0IGVhY2ggc3RlcC4KIDIu
IEFmdGVyIGFkZGluZyBhIGZpbGUgb2YgY3VzdG9tIHR5cGUKIHsKICAgICAiZGF0YSI6IHsKLSAg
ICAgICAgIkZpbGVzIjogIiIKKyAgICAgICAgIkZpbGVzIjogIiIsCisgICAgICAgICJ0ZXh0L3Bs
YWluIjogImhlbGxvIHdvcmxkIgogICAgIH0sCiAgICAgIml0ZW1zIjogWwogICAgICAgICB7CkBA
IC01NCw3ICs1NSw4IEBAIG9wZXJhdGlvbiBwZXJmb3JtZWQgYXQgZWFjaCBzdGVwLgogMy4gQWZ0
ZXIgYWRkaW5nIHRoZSBmaXJzdCBwbGFpbiB0ZXh0IGZpbGUKIHsKICAgICAiZGF0YSI6IHsKLSAg
ICAgICAgIkZpbGVzIjogIiIKKyAgICAgICAgIkZpbGVzIjogIiIsCisgICAgICAgICJ0ZXh0L3Bs
YWluIjogImhlbGxvIHdvcmxkIgogICAgIH0sCiAgICAgIml0ZW1zIjogWwogICAgICAgICB7CkBA
IC05OCw3ICsxMDAsOCBAQCBvcGVyYXRpb24gcGVyZm9ybWVkIGF0IGVhY2ggc3RlcC4KIDQuIEFm
dGVyIHJlbW92aW5nIHRoZSBsYXN0IGZpbGUKIHsKICAgICAiZGF0YSI6IHsKLSAgICAgICAgIkZp
bGVzIjogIiIKKyAgICAgICAgIkZpbGVzIjogIiIsCisgICAgICAgICJ0ZXh0L3BsYWluIjogImhl
bGxvIHdvcmxkIgogICAgIH0sCiAgICAgIml0ZW1zIjogWwogICAgICAgICB7CkBAIC0xMzAsNiAr
MTMzLDcgQEAgcmVtb3ZlZEl0ZW0uZ2V0QXNGaWxlKCkgc2hvdWxkIGJlIG51bGw6IG51bGwKIHsK
ICAgICAiZGF0YSI6IHsKICAgICAgICAgIkZpbGVzIjogIiIsCisgICAgICAgICJ0ZXh0L3BsYWlu
IjogImhlbGxvIHdvcmxkIiwKICAgICAgICAgInRleHQvaHRtbCI6ICI8YT5nb29kYnllIHdvcmxk
PC9hPiIKICAgICB9LAogICAgICJpdGVtcyI6IFsKQEAgLTE2Niw2ICsxNzAsNyBAQCByZW1vdmVk
SXRlbS5nZXRBc0ZpbGUoKSBzaG91bGQgYmUgbnVsbDogbnVsbAogewogICAgICJkYXRhIjogewog
ICAgICAgICAiRmlsZXMiOiAiIiwKKyAgICAgICAgInRleHQvcGxhaW4iOiAiaGVsbG8gd29ybGQi
LAogICAgICAgICAidGV4dC9odG1sIjogIjxhPmdvb2RieWUgd29ybGQ8L2E+IgogICAgIH0sCiAg
ICAgIml0ZW1zIjogWwpAQCAtMjE2LDYgKzIyMSw3IEBAIHJlbW92ZWRJdGVtLmdldEFzRmlsZSgp
IHNob3VsZCBiZSBudWxsOiBudWxsCiB7CiAgICAgImRhdGEiOiB7CiAgICAgICAgICJGaWxlcyI6
ICIiLAorICAgICAgICAidGV4dC9wbGFpbiI6ICJoZWxsbyB3b3JsZCIsCiAgICAgICAgICJ0ZXh0
L2h0bWwiOiAiPGE+Z29vZGJ5ZSB3b3JsZDwvYT4iCiAgICAgfSwKICAgICAiaXRlbXMiOiBbCkBA
IC0yNTIsNyArMjU4LDggQEAgcmVtb3ZlZEl0ZW0uZ2V0QXNGaWxlKCkgc2hvdWxkIGJlIG51bGw6
IG51bGwKIDguIEFmdGVyIHJlbW92aW5nIHRoZSBIVE1MIHN0cmluZwogewogICAgICJkYXRhIjog
ewotICAgICAgICAiRmlsZXMiOiAiIgorICAgICAgICAiRmlsZXMiOiAiIiwKKyAgICAgICAgInRl
eHQvcGxhaW4iOiAiaGVsbG8gd29ybGQiCiAgICAgfSwKICAgICAiaXRlbXMiOiBbCiAgICAgICAg
IHsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>335507</attachid>
            <date>2018-03-10 01:43:15 -0800</date>
            <delta_ts>2018-03-10 03:33:25 -0800</delta_ts>
            <desc>One more EWS run</desc>
            <filename>bug-183485-20180310014314.patch</filename>
            <type>text/plain</type>
            <size>26365</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI5NDQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTI2MWNjNjg4NDVlOTU2
YTg5ZWE1OTNkNDFhYmZkYTJhNmRhOTJlMy4uODY3ZThiMmFkMzlkYjE0MzQ1NDUxZWMwZjlhNWY5
MGUzYTM3MjFiMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDczIEBACisyMDE4LTAzLTEwICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFttYWNPU10gQ29w
eWluZyBhIHRhYmxlIGZyb20gdGhlIE51bWJlcnMgYXBwIGFuZCBwYXN0aW5nIGludG8gaUNsb3Vk
IE51bWJlcnMgZmFpbHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE4MzQ4NQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzgwNDE5ODQ+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgUnlvc3VrZSBOaXdhLgorCisgICAgICAgIEFmdGVyIHIyMjI2NTYsIFdl
YktpdCBub3cgdHJlYXRzIHJhdyBpbWFnZSBkYXRhIG9uIHRoZSBwYXN0ZWJvYXJkIGFzIGZpbGVz
IGZvciB0aGUgcHVycG9zZXMgb2YgY29tcHV0aW5nCisgICAgICAgIERhdGFUcmFuc2Zlci5maWxl
cyBhbmQgRGF0YVRyYW5zZmVyLnR5cGVzLiBIb3dldmVyLCB0aGlzIGlzIGNvbWJpbmVkIHdpdGgg
ZXhpc3RpbmcgcG9saWNpZXMgdGhhdCBzdXBwcmVzcworICAgICAgICBEYXRhVHJhbnNmZXIuZ2V0
RGF0YSBhbmQgRGF0YVRyYW5zZmVyLnNldERhdGEgd2hlbiB0aGUgcGFzdGVib2FyZCBjb250YWlu
cyBmaWxlcyAoZ2VuZXJhbGl6ZWQgdG8gY29weS9wYXN0ZSBpbgorICAgICAgICByMjIyNjg4KS4g
VGhpcyBtZWFucyB3ZSBub3cgZG9uJ3QgYWxsb3cgd2ViIHBhZ2VzIHRvIGFjY2VzcyAidGV4dC9w
bGFpbiIgaW4gdGhlIGNhc2Ugd2hlcmUgdGhlIHVzZXIgY29waWVzIHBhcnQKKyAgICAgICAgb2Yg
YSB0YWJsZSBmcm9tIHRoZSBuYXRpdmUgTnVtYmVycyBhcHAgc2luY2UgTnVtYmVycyBhZGRpdGlv
bmFsbHkgd3JpdGVzIGEgc25hcHNob3Qgb2YgdGhlIHRhYmxlIHRvIHRoZSBwbGF0Zm9ybQorICAg
ICAgICBwYXN0ZWJvYXJkLgorCisgICAgICAgIFRoaXMgcmVzdHJpY3Rpb24gb24gZ2V0RGF0YS9z
ZXREYXRhIHdhcyBpbnRlbmRlZCB0byBwcmV2ZW50IHdlYiBwYWdlcyBmcm9tIGV4dHJhY3Rpbmcg
dXNlcnMnIGZpbGUgcGF0aHMgd2hlbgorICAgICAgICBwYXN0aW5nIG9yIGRyb3BwaW5nLCBzbyBp
dCBkb2Vzbid0IG1ha2Ugc2Vuc2UgdG8gZW5mb3JjZSB0aGlzIHJlc3RyaWN0aW9uIGV2ZW4gd2hl
biB0aGVyZSBpcyBvbmx5IGluLW1lbW9yeQorICAgICAgICBpbWFnZSBkYXRhIG9uIHRoZSBwYXN0
ZWJvYXJkLiBUbyBmaXggdGhpcyBidWcsIHdlIG1ha2UgUGFzdGVib2FyZDo6ZmlsZUNvbnRlbnRT
dGF0ZSgpIGRpZmZlcmVudGlhdGUgYmV0d2VlbgorICAgICAgICBjYXNlcyB3aGVyZSB0aGVyZSBh
cmUgKHJlYWwpIGZpbGVzIG9uIHRoZSBwYXN0ZWJvYXJkLCBhbmQgY2FzZXMgd2hlcmUgd2UndmUg
ZmFsbGVuIGJhY2sgdG8gdHJlYXRpbmcgaW1hZ2UgZGF0YQorICAgICAgICBhcyBmaWxlcy4KKwor
ICAgICAgICBSZWJhc2VsaW5lZCBleGlzdGluZyBMYXlvdXRUZXN0cyB0byBtYXRjaCBuZXcgYmVo
YXZpb3IuCisgICAgICAgIEFsc28gY292ZXJlZCBieSA0IG5ldyBBUEkgdGVzdHM6CisgICAgICAg
ICAgICAtIFBhc3RlTWl4ZWRDb250ZW50LkltYWdlRGF0YUFuZFBsYWluVGV4dAorICAgICAgICAg
ICAgLSBQYXN0ZU1peGVkQ29udGVudC5JbWFnZURhdGFBbmRQbGFpblRleHRBbmRVUkwKKyAgICAg
ICAgICAgIC0gUGFzdGVNaXhlZENvbnRlbnQuSW1hZ2VEYXRhQW5kUGxhaW5UZXh0QW5kVVJMQW5k
SFRNTAorICAgICAgICAgICAgLSBVSVBhc3RlYm9hcmRUZXN0cy5EYXRhVHJhbnNmZXJHZXREYXRh
V2hlblBhc3RpbmdJbWFnZUFuZFRleHQKKworICAgICAgICAqIGRvbS9EYXRhVHJhbnNmZXIuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6RGF0YVRyYW5zZmVyOjpzaG91bGRTdXBwcmVzc0dldEFuZFNl
dERhdGFUb0F2b2lkRXhwb3NpbmdGaWxlUGF0aHMgY29uc3QpOgorCisgICAgICAgIElmIGN1c3Rv
bSBwYXN0ZWJvYXJkIGRhdGEgaXMgZW5hYmxlZCwgc3VwcHJlc3MgZ2V0RGF0YSBhbmQgc2V0RGF0
YSBpZiBhbmQgb25seSBpZiB3ZSBtaWdodCBhY3R1YWxseSBleHBvc2UgZmlsZQorICAgICAgICBw
YXRocyAoc2VlIFBhc3RlYm9hcmQ6OmZpbGVDb250ZW50U3RhdGUpLgorCisgICAgICAgIChXZWJD
b3JlOjpEYXRhVHJhbnNmZXI6OnR5cGVzIGNvbnN0KToKKworICAgICAgICBPbmx5IGFsbG93ICJ0
ZXh0L2h0bWwiIG9yICJ0ZXh0L3VyaS1saXN0IiBpbiB0aGUgY2FzZSB3aGVyZSB0aGVyZSBhcmUg
YWN0dWFsIGZpbGVzIGluIHRoZSBwYXN0ZWJvYXJkLiBJZiB0aGVyZSdzCisgICAgICAgIG9ubHkg
aW1hZ2UgZGF0YSwgYWRkIGFsbCBvZiB0aGUgRE9NLXNhZmUgdHlwZXMgYmFjayBpbnRvIHRoZSBs
aXN0IG9mIHR5cGVzLgorCisgICAgICAgICogcGxhdGZvcm0vUGFzdGVib2FyZC5oOgorICAgICAg
ICAqIHBsYXRmb3JtL1N0YXRpY1Bhc3RlYm9hcmQuaDoKKworICAgICAgICBBZGQgYW4gZW51bSB0
eXBlIHRvIHJlcHJlc2VudCB0aGUgcmVzdWx0IG9mIFBhc3RlYm9hcmQ6OmZpbGVDb250ZW50U3Rh
dGUuCisgICAgICAgIC0gICBOb0ZpbGVPckltYWdlRGF0YSBpbmRpY2F0ZXMgdGhhdCB0aGVyZSB3
YXMgbm90aGluZyBvbiB0aGUgcGFzdGVib2FyZCB0aGF0IGNvdWxkIGJlIGNvbnNpZGVyZWQgYSBm
aWxlCisgICAgICAgICAgICBmcm9tIHRoZSBwb2ludCBvZiB2aWV3IG9mIHRoZSBwYWdlLgorICAg
ICAgICAtICAgSW5NZW1vcnlJbWFnZSBpbmRpY2F0ZXMgdGhhdCB0aGVyZSBhcmUgbm8gZmlsZXMg
b24gdGhlIHBhc3RlYm9hcmQsIGJ1dCB0aGVyZSBpcyBpbWFnZSBkYXRhIHRoYXQgd2UgY29uc2lk
ZXIKKyAgICAgICAgICAgIHRvIGJlIGZpbGVzLCBleHBvc2VkIHZpYSBEYXRhVHJhbnNmZXIgQVBJ
LgorICAgICAgICAtICAgTWF5Q29udGFpbkZpbGVQYXRocyBpbmRpY2F0ZXMgdGhhdCB0aGVyZSBt
aWdodCBiZSBmaWxlIHBhdGhzIG9uIHRoZSBwYXN0ZWJvYXJkLiBUaGlzIG1lYW5zIHRoYXQgdGhl
IHNvdXJjZQorICAgICAgICAgICAgaGFzIGVpdGhlciB3cml0dGVuIGZpbGUgcGF0aHMgdG8gdGhl
IHBhc3RlYm9hcmQgKGZvciBleGFtcGxlLCB0aHJvdWdoIE5TRmlsZW5hbWVzUGJvYXJkVHlwZSkg
b3IgdGhlIHNvdXJjZQorICAgICAgICAgICAgaGFzIHdyaXR0ZW4gaW1hZ2UgZGF0YSBhbG9uZyB3
aXRoIGEgVVJMIHR5cGUgb2Ygc29tZSBzb3J0IHRoYXQgZG9lcyBub3QgbWF0Y2ggb25lIG9mIHRo
ZSBhbGxvd2VkIFVSTCBzY2hlbWVzCisgICAgICAgICAgICB0aGF0IGFyZSBzYWZlIHRvIGV4cG9z
ZSAoY3VycmVudGx5LCB0aGVzZSBhcmUgaHR0cC1mYW1pbHksIGRhdGEsIG9yIGJsb2IpLgorCisg
ICAgICAgICogcGxhdGZvcm0vY29jb2EvUGFzdGVib2FyZENvY29hLm1tOgorICAgICAgICAoV2Vi
Q29yZTo6UGFzdGVib2FyZDo6ZmlsZUNvbnRlbnRTdGF0ZSk6CisKKyAgICAgICAgUmVmYWN0b3Ig
dG8gcmV0dXJuIG9uZSBvZiB0aGUgdGhyZWUgZW51bSB0eXBlcyBkZXNjcmliZWQgYWJvdmUuCisK
KyAgICAgICAgKFdlYkNvcmU6OlBhc3RlYm9hcmQ6OmNvbnRhaW5zRmlsZXMpOiBEZWxldGVkLgor
ICAgICAgICAqIHBsYXRmb3JtL2d0ay9QYXN0ZWJvYXJkR3RrLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlBhc3RlYm9hcmQ6OmZpbGVDb250ZW50U3RhdGUpOgorICAgICAgICAoV2ViQ29yZTo6UGFz
dGVib2FyZDo6Y29udGFpbnNGaWxlcyk6IERlbGV0ZWQuCisgICAgICAgICogcGxhdGZvcm0vd2lu
L1Bhc3RlYm9hcmRXaW4uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFzdGVib2FyZDo6ZmlsZUNv
bnRlbnRTdGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpQYXN0ZWJvYXJkOjpjb250YWluc0ZpbGVz
KTogRGVsZXRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS93cGUvUGFzdGVib2FyZFdQRS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpQYXN0ZWJvYXJkOjpmaWxlQ29udGVudFN0YXRlKToKKyAgICAgICAg
KFdlYkNvcmU6OlBhc3RlYm9hcmQ6OmNvbnRhaW5zRmlsZXMpOiBEZWxldGVkLgorCisgICAgICAg
IEFkanVzdCBmb3IgUGFzdGVib2FyZDo6ZmlsZUNvbnRlbnRTdGF0ZSgpIHR3ZWFrcy4KKwogMjAx
OC0wMy0wOCAgTWVnYW4gR2FyZG5lciAgPG1lZ2FuX2dhcmRuZXJAYXBwbGUuY29tPgogCiAgICAg
ICAgIEVuc3VyZSBkZWZhdWx0IGFwcGVhcmFuY2UgZm9yIHNlbGVjdGlvbiBmb3JtIGNvbnRyb2wK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9EYXRhVHJhbnNmZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvZG9tL0RhdGFUcmFuc2Zlci5jcHAKaW5kZXggM2U3MWE3M2YzNDA1MzVhNmI0YjE0
ZDQ3NzlhMzdlOTE0NTg3NzQ3YS4uNzY5ZTUxZWMzYThmYWVmNTg5MGMyZGJlMmVkY2Y4YWMyZjc4
YTZkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RhdGFUcmFuc2Zlci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvZG9tL0RhdGFUcmFuc2Zlci5jcHAKQEAgLTIwNCw3ICsyMDQsNyBA
QCBib29sIERhdGFUcmFuc2Zlcjo6c2hvdWxkU3VwcHJlc3NHZXRBbmRTZXREYXRhVG9Bdm9pZEV4
cG9zaW5nRmlsZVBhdGhzKCkgY29uc3QKIHsKICAgICBpZiAoIWZvckZpbGVEcmFnKCkgJiYgIVJ1
bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuY3VzdG9tUGFzdGVib2FyZERh
dGFFbmFibGVkKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICByZXR1cm4gbV9wYXN0ZWJv
YXJkLT5jb250YWluc0ZpbGVzKCk7CisgICAgcmV0dXJuIG1fcGFzdGVib2FyZC0+ZmlsZUNvbnRl
bnRTdGF0ZSgpID09IFBhc3RlYm9hcmQ6OkZpbGVDb250ZW50U3RhdGU6Ok1heUNvbnRhaW5GaWxl
UGF0aHM7CiB9CiAKIHZvaWQgRGF0YVRyYW5zZmVyOjpzZXREYXRhKGNvbnN0IFN0cmluZyYgdHlw
ZSwgY29uc3QgU3RyaW5nJiBkYXRhKQpAQCAtMjkxLDcgKzI5MSw3IEBAIFZlY3RvcjxTdHJpbmc+
IERhdGFUcmFuc2Zlcjo6dHlwZXMoQWRkRmlsZXNUeXBlIGFkZEZpbGVzVHlwZSkgY29uc3QKICAg
ICBpZiAoIVJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuY3VzdG9tUGFz
dGVib2FyZERhdGFFbmFibGVkKCkpIHsKICAgICAgICAgYXV0byB0eXBlcyA9IG1fcGFzdGVib2Fy
ZC0+dHlwZXNGb3JMZWdhY3lVbnNhZmVCaW5kaW5ncygpOwogICAgICAgICBBU1NFUlQoIXR5cGVz
LmNvbnRhaW5zKCJGaWxlcyIpKTsKLSAgICAgICAgaWYgKG1fcGFzdGVib2FyZC0+Y29udGFpbnNG
aWxlcygpICYmIGFkZEZpbGVzVHlwZSA9PSBBZGRGaWxlc1R5cGU6OlllcykKKyAgICAgICAgaWYg
KG1fcGFzdGVib2FyZC0+ZmlsZUNvbnRlbnRTdGF0ZSgpICE9IFBhc3RlYm9hcmQ6OkZpbGVDb250
ZW50U3RhdGU6Ok5vRmlsZU9ySW1hZ2VEYXRhICYmIGFkZEZpbGVzVHlwZSA9PSBBZGRGaWxlc1R5
cGU6OlllcykKICAgICAgICAgICAgIHR5cGVzLmFwcGVuZCgiRmlsZXMiKTsKICAgICAgICAgcmV0
dXJuIHR5cGVzOwogICAgIH0KQEAgLTMwMSwxMCArMzAxLDE3IEBAIFZlY3RvcjxTdHJpbmc+IERh
dGFUcmFuc2Zlcjo6dHlwZXMoQWRkRmlsZXNUeXBlIGFkZEZpbGVzVHlwZSkgY29uc3QKICAgICAg
ICAgcmV0dXJuIGl0ZW0tPmlzRmlsZSgpOwogICAgIH0pOwogCi0gICAgaWYgKGhhc0ZpbGVCYWNr
ZWRJdGVtIHx8IG1fcGFzdGVib2FyZC0+Y29udGFpbnNGaWxlcygpKSB7CisgICAgYXV0byBmaWxl
Q29udGVudFN0YXRlID0gbV9wYXN0ZWJvYXJkLT5maWxlQ29udGVudFN0YXRlKCk7CisgICAgaWYg
KGhhc0ZpbGVCYWNrZWRJdGVtIHx8IGZpbGVDb250ZW50U3RhdGUgIT0gUGFzdGVib2FyZDo6Rmls
ZUNvbnRlbnRTdGF0ZTo6Tm9GaWxlT3JJbWFnZURhdGEpIHsKICAgICAgICAgVmVjdG9yPFN0cmlu
Zz4gdHlwZXM7CiAgICAgICAgIGlmIChhZGRGaWxlc1R5cGUgPT0gQWRkRmlsZXNUeXBlOjpZZXMp
CiAgICAgICAgICAgICB0eXBlcy5hcHBlbmQoQVNDSUlMaXRlcmFsKCJGaWxlcyIpKTsKKworICAg
ICAgICBpZiAoZmlsZUNvbnRlbnRTdGF0ZSAhPSBQYXN0ZWJvYXJkOjpGaWxlQ29udGVudFN0YXRl
OjpNYXlDb250YWluRmlsZVBhdGhzKSB7CisgICAgICAgICAgICB0eXBlcy5hcHBlbmRWZWN0b3Io
V1RGTW92ZShzYWZlVHlwZXMpKTsKKyAgICAgICAgICAgIHJldHVybiB0eXBlczsKKyAgICAgICAg
fQorCiAgICAgICAgIGlmIChzYWZlVHlwZXMuY29udGFpbnMoInRleHQvdXJpLWxpc3QiKSkKICAg
ICAgICAgICAgIHR5cGVzLmFwcGVuZChBU0NJSUxpdGVyYWwoInRleHQvdXJpLWxpc3QiKSk7CiAg
ICAgICAgIGlmIChzYWZlVHlwZXMuY29udGFpbnMoInRleHQvaHRtbCIpICYmIFJ1bnRpbWVFbmFi
bGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuY3VzdG9tUGFzdGVib2FyZERhdGFFbmFibGVk
KCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QYXN0ZWJvYXJkLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QYXN0ZWJvYXJkLmgKaW5kZXggMzhiZDNlYjEyNzAyODIy
Yjg0MDQzZGY5ZTFhNDUzYzIwZDY5NWEyNS4uZTg4ZTI4YjM4ZWEyMjNlZGVmNzBjNzY3MWI5YmM1
ZmI0YzgxMWE0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGFzdGVib2Fy
ZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmQuaApAQCAtMjIwLDcg
KzIyMCw4IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgV0VCQ09SRV9FWFBPUlQgdm9pZCB3cml0
ZUN1c3RvbURhdGEoY29uc3QgUGFzdGVib2FyZEN1c3RvbURhdGEmKTsKIAotICAgIHZpcnR1YWwg
V0VCQ09SRV9FWFBPUlQgYm9vbCBjb250YWluc0ZpbGVzKCk7CisgICAgZW51bSBjbGFzcyBGaWxl
Q29udGVudFN0YXRlIHsgTm9GaWxlT3JJbWFnZURhdGEsIEluTWVtb3J5SW1hZ2UsIE1heUNvbnRh
aW5GaWxlUGF0aHMgfTsKKyAgICB2aXJ0dWFsIFdFQkNPUkVfRVhQT1JUIEZpbGVDb250ZW50U3Rh
dGUgZmlsZUNvbnRlbnRTdGF0ZSgpOwogICAgIHZpcnR1YWwgV0VCQ09SRV9FWFBPUlQgYm9vbCBj
YW5TbWFydFJlcGxhY2UoKTsKIAogICAgIHZpcnR1YWwgV0VCQ09SRV9FWFBPUlQgdm9pZCB3cml0
ZU1hcmt1cChjb25zdCBTdHJpbmcmIG1hcmt1cCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9TdGF0aWNQYXN0ZWJvYXJkLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9T
dGF0aWNQYXN0ZWJvYXJkLmgKaW5kZXggMDA3ZTQzYTE4ZWM1N2Y3YjcwYzliNGYwMzRkN2I3NTBk
YTdjNGI5YS4uZWVkZDcwMjliNGY0Mzk0NTcxMjI0NjVmZTQ2Y2FiN2ZiNGM2ZDgyNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU3RhdGljUGFzdGVib2FyZC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1N0YXRpY1Bhc3RlYm9hcmQuaApAQCAtNjEsNyArNjEsNyBA
QCBwdWJsaWM6CiAKICAgICB2b2lkIHdyaXRlQ3VzdG9tRGF0YShjb25zdCBQYXN0ZWJvYXJkQ3Vz
dG9tRGF0YSYpIGZpbmFsIHsgfQogCi0gICAgYm9vbCBjb250YWluc0ZpbGVzKCkgZmluYWwgeyBy
ZXR1cm4gZmFsc2U7IH0KKyAgICBQYXN0ZWJvYXJkOjpGaWxlQ29udGVudFN0YXRlIGZpbGVDb250
ZW50U3RhdGUoKSBmaW5hbCB7IHJldHVybiBGaWxlQ29udGVudFN0YXRlOjpOb0ZpbGVPckltYWdl
RGF0YTsgfQogICAgIGJvb2wgY2FuU21hcnRSZXBsYWNlKCkgZmluYWwgeyByZXR1cm4gZmFsc2U7
IH0KIAogICAgIHZvaWQgd3JpdGVNYXJrdXAoY29uc3QgU3RyaW5nJikgZmluYWwgeyB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9QYXN0ZWJvYXJkQ29jb2EubW0g
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9QYXN0ZWJvYXJkQ29jb2EubW0KaW5kZXgg
YTVlMTU1ZTE2OTk5NTY1ZTQ5OTEyZGRhZjM3YjU1MTg5NjJjNzA4Yy4uYTI4NjUxOWYxOGJhNjVh
MzNhY2Y2MGQ0ZTkwZWNmMjNhODY2NjNhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vY29jb2EvUGFzdGVib2FyZENvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2NvY29hL1Bhc3RlYm9hcmRDb2NvYS5tbQpAQCAtMTM0LDIxICsxMzQsMzUgQEAgYm9vbCBQ
YXN0ZWJvYXJkOjpzaG91bGRUcmVhdENvY29hVHlwZUFzRmlsZShjb25zdCBTdHJpbmcmIGNvY29h
VHlwZSkKICAgICByZXR1cm4gY29jb2FUeXBlVG9JbWFnZVR5cGUoY29jb2FUeXBlKSAhPSBJbWFn
ZVR5cGU6OkludmFsaWQ7CiB9CiAKLWJvb2wgUGFzdGVib2FyZDo6Y29udGFpbnNGaWxlcygpCitQ
YXN0ZWJvYXJkOjpGaWxlQ29udGVudFN0YXRlIFBhc3RlYm9hcmQ6OmZpbGVDb250ZW50U3RhdGUo
KQogewotICAgIGlmICghcGxhdGZvcm1TdHJhdGVnaWVzKCktPnBhc3RlYm9hcmRTdHJhdGVneSgp
LT5nZXROdW1iZXJPZkZpbGVzKG1fcGFzdGVib2FyZE5hbWUpKSB7CisgICAgYm9vbCBtYXlDb250
YWluRmlsZVBhdGhzID0gcGxhdGZvcm1TdHJhdGVnaWVzKCktPnBhc3RlYm9hcmRTdHJhdGVneSgp
LT5nZXROdW1iZXJPZkZpbGVzKG1fcGFzdGVib2FyZE5hbWUpOworICAgIGlmICghbWF5Q29udGFp
bkZpbGVQYXRocykgewogICAgICAgICBWZWN0b3I8U3RyaW5nPiBjb2NvYVR5cGVzOwogICAgICAg
ICBwbGF0Zm9ybVN0cmF0ZWdpZXMoKS0+cGFzdGVib2FyZFN0cmF0ZWd5KCktPmdldFR5cGVzKGNv
Y29hVHlwZXMsIG1fcGFzdGVib2FyZE5hbWUpOwogICAgICAgICBpZiAoY29jb2FUeXBlcy5maW5k
TWF0Y2hpbmcoW10oY29uc3QgU3RyaW5nJiBjb2NvYVR5cGUpIHsgcmV0dXJuIHNob3VsZFRyZWF0
Q29jb2FUeXBlQXNGaWxlKGNvY29hVHlwZSk7IH0pID09IG5vdEZvdW5kKQotICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOworICAgICAgICAgICAgcmV0dXJuIEZpbGVDb250ZW50U3RhdGU6Ok5vRmls
ZU9ySW1hZ2VEYXRhOworCisgICAgICAgIGJvb2wgY29udGFpbnNVUkwgPSBub3RGb3VuZCAhPSBj
b2NvYVR5cGVzLmZpbmRNYXRjaGluZyhbXSAoYXV0byYgY29jb2FUeXBlKSB7CisjaWYgUExBVEZP
Uk0oTUFDKQorICAgICAgICAgICAgaWYgKGNvY29hVHlwZSA9PSBTdHJpbmcobGVnYWN5VVJMUGFz
dGVib2FyZFR5cGUoKSkpCisgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CisjZW5kaWYKKyAg
ICAgICAgICAgIHJldHVybiBjb2NvYVR5cGUgPT0gU3RyaW5nKGtVVFR5cGVVUkwpOworICAgICAg
ICB9KTsKKyAgICAgICAgbWF5Q29udGFpbkZpbGVQYXRocyA9IGNvbnRhaW5zVVJMICYmICFQYXN0
ZWJvYXJkOjpjYW5FeHBvc2VVUkxUb0RPTVdoZW5QYXN0ZWJvYXJkQ29udGFpbnNGaWxlcyhyZWFk
U3RyaW5nKEFTQ0lJTGl0ZXJhbCgidGV4dC91cmktbGlzdCIpKSk7CiAgICAgfQogCiAgICAgLy8g
RW5mb3JjZSBjaGFuZ2VDb3VudCBvdXJzZWx2ZXMgZm9yIHNlY3VyaXR5LiBXZSBjaGVjayBhZnRl
ciByZWFkaW5nIGluc3RlYWQgb2YgYmVmb3JlIHRvIGJlCiAgICAgLy8gc3VyZSBpdCBkb2Vzbid0
IGNoYW5nZSBiZXR3ZWVuIG91ciB0ZXN0aW5nIHRoZSBjaGFuZ2UgY291bnQgYW5kIGFjY2Vzc2lu
ZyB0aGUgZGF0YS4KICAgICBpZiAobV9jaGFuZ2VDb3VudCAhPSBwbGF0Zm9ybVN0cmF0ZWdpZXMo
KS0+cGFzdGVib2FyZFN0cmF0ZWd5KCktPmNoYW5nZUNvdW50KG1fcGFzdGVib2FyZE5hbWUpKQot
ICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIHJldHVybiBGaWxlQ29udGVudFN0YXRlOjpO
b0ZpbGVPckltYWdlRGF0YTsKIAotICAgIHJldHVybiB0cnVlOworICAgIC8vIEV2ZW4gd2hlbiB0
aGVyZSdzIG9ubHkgaW1hZ2UgZGF0YSBpbiB0aGUgcGFzdGVib2FyZCBhbmQgbm8gZmlsZSByZXBy
ZXNlbnRhdGlvbnMsIHdlIHN0aWxsIHJ1biB0aGUgcmlzayBvZiBleHBvc2luZyBmaWxlIHBhdGhz
CisgICAgLy8gdG8gdGhlIHBhZ2UgaWYgdGhlIGFwcCBoYXMgd3JpdHRlbiBpbWFnZSBkYXRhIHRv
IHRoZSBwYXN0ZWJvYXJkIHdpdGggYSBjb3JyZXNwb25kaW5nIGZpbGUgcGF0aCBhcyBwbGFpbiB0
ZXh0LiBBbiBleGFtcGxlIG9mCisgICAgLy8gdGhpcyBpcyBjb3B5aW5nIGFuIGltYWdlIHdpdGgg
YSBsb2NhbCBgc3JjYCBpbiBTYWZhcmkuIFRvIG1pdGlnYXRlIHRoaXMsIHdlIGFkZGl0aW9uYWxs
eSByZXF1aXJlIHRoYXQgdGhlIGFwcCBoYXMgbm90IGFsc28KKyAgICAvLyB3cml0dGVuIFVSTHMg
dG8gdGhlIHBhc3RlYm9hcmQsIGFzIHRoaXMgd291bGQgc3VnZ2VzdCB0aGF0IHRoZSBwbGFpbiB0
ZXh0IGRhdGEgbWlnaHQgY29udGFpbiBmaWxlIHBhdGhzLgorICAgIHJldHVybiBtYXlDb250YWlu
RmlsZVBhdGhzID8gRmlsZUNvbnRlbnRTdGF0ZTo6TWF5Q29udGFpbkZpbGVQYXRocyA6IEZpbGVD
b250ZW50U3RhdGU6OkluTWVtb3J5SW1hZ2U7CiB9CiAKIFZlY3RvcjxTdHJpbmc+IFBhc3RlYm9h
cmQ6OnR5cGVzU2FmZUZvckJpbmRpbmdzKGNvbnN0IFN0cmluZyYgb3JpZ2luKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1Bhc3RlYm9hcmRHdGsuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1Bhc3RlYm9hcmRHdGsuY3BwCmluZGV4IDk5ZDEyMDNkNjMw
ZjQyMTFmM2ZlYzhjYmVhZjIzMDUyMzM1NmQwNjkuLmU5ZmM5ZWE3MWM3MDI3MmY5ZDQzMDYzYTVl
Y2JkYzk4MWY2YjljZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9Q
YXN0ZWJvYXJkR3RrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvUGFzdGVi
b2FyZEd0ay5jcHAKQEAgLTMxOCwxMCArMzE4LDEwIEBAIFN0cmluZyBQYXN0ZWJvYXJkOjpyZWFk
U3RyaW5nSW5DdXN0b21EYXRhKGNvbnN0IFN0cmluZyYpCiAgICAgcmV0dXJuIHsgfTsKIH0KIAot
Ym9vbCBQYXN0ZWJvYXJkOjpjb250YWluc0ZpbGVzKCkKK1Bhc3RlYm9hcmQ6OkZpbGVDb250ZW50
U3RhdGUgUGFzdGVib2FyZDo6ZmlsZUNvbnRlbnRTdGF0ZSgpCiB7CiAgICAgcmVhZEZyb21DbGlw
Ym9hcmQoKTsKLSAgICByZXR1cm4gIW1fc2VsZWN0aW9uRGF0YS0+ZmlsZW5hbWVzKCkuaXNFbXB0
eSgpOworICAgIHJldHVybiBtX3NlbGVjdGlvbkRhdGEtPmZpbGVuYW1lcygpLmlzRW1wdHkoKSA/
IEZpbGVDb250ZW50U3RhdGU6Ok5vRmlsZU9ySW1hZ2VEYXRhIDogRmlsZUNvbnRlbnRTdGF0ZTo6
TWF5Q29udGFpbkZpbGVQYXRoczsKIH0KIAogdm9pZCBQYXN0ZWJvYXJkOjp3cml0ZU1hcmt1cChj
b25zdCBTdHJpbmcmKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL1Bh
c3RlYm9hcmRXaW4uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL1Bhc3RlYm9hcmRX
aW4uY3BwCmluZGV4IDQ2NjUwZjA1ZWE4YzJkMTE5MmZlMmRmYTZjZTExMjNmYmI4NDcwOTAuLmEy
ZTI5ZmEyOTFmZDUxZDkyZTk5YjZkMmE5OTViMTg0MjNiMWE5YjcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9QYXN0ZWJvYXJkV2luLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS93aW4vUGFzdGVib2FyZFdpbi5jcHAKQEAgLTMxNSwxMiArMzE1LDEyIEBA
IHN0cnVjdCBQYXN0ZWJvYXJkRmlsZUNvdW50ZXIgZmluYWwgOiBQYXN0ZWJvYXJkRmlsZVJlYWRl
ciB7CiAgICAgdW5zaWduZWQgY291bnQgeyAwIH07CiB9OwogCi1ib29sIFBhc3RlYm9hcmQ6OmNv
bnRhaW5zRmlsZXMoKQorUGFzdGVib2FyZDo6RmlsZUNvbnRlbnRTdGF0ZSBQYXN0ZWJvYXJkOjpm
aWxlQ29udGVudFN0YXRlKCkKIHsKICAgICAvLyBGSVhNRTogVGhpcyBpbXBsZW1lbnRhdGlvbiBj
YW4gYmUgc2xpZ2h0bHkgbW9yZSBlZmZpY2llbnQgYnkgYXZvaWRpbmcgY2FsbHMgdG8gRHJhZ1F1
ZXJ5RmlsZVcuCiAgICAgUGFzdGVib2FyZEZpbGVDb3VudGVyIHJlYWRlcjsKICAgICByZWFkKHJl
YWRlcik7Ci0gICAgcmV0dXJuIHJlYWRlci5jb3VudDsKKyAgICByZXR1cm4gcmVhZGVyLmNvdW50
ID8gRmlsZUNvbnRlbnRTdGF0ZTo6TWF5Q29udGFpbkZpbGVQYXRocyA6IEZpbGVDb250ZW50U3Rh
dGU6Ok5vRmlsZU9ySW1hZ2VEYXRhOwogfQogCiB2b2lkIFBhc3RlYm9hcmQ6OnJlYWQoUGFzdGVi
b2FyZEZpbGVSZWFkZXImIHJlYWRlcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL3dwZS9QYXN0ZWJvYXJkV1BFLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dwZS9Q
YXN0ZWJvYXJkV1BFLmNwcAppbmRleCAxZWIyZDI5YTU4ZTkwYmJjMGU0Y2E1ODhjYzY4ZTE2NjRj
ZWZjMzMzLi44YTE1MTNlNzFlZjRkNzQ3OGNkNmY4OThmYTlhOTBiOGZhZTM4N2EwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93cGUvUGFzdGVib2FyZFdQRS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd3BlL1Bhc3RlYm9hcmRXUEUuY3BwCkBAIC0xMjUsMTAg
KzEyNSwxMCBAQCB2b2lkIFBhc3RlYm9hcmQ6OndyaXRlKGNvbnN0IFBhc3RlYm9hcmRXZWJDb250
ZW50JiBjb250ZW50KQogICAgIHBsYXRmb3JtU3RyYXRlZ2llcygpLT5wYXN0ZWJvYXJkU3RyYXRl
Z3koKS0+d3JpdGVUb1Bhc3RlYm9hcmQoY29udGVudCk7CiB9CiAKLWJvb2wgUGFzdGVib2FyZDo6
Y29udGFpbnNGaWxlcygpCitQYXN0ZWJvYXJkOjpGaWxlQ29udGVudFN0YXRlIFBhc3RlYm9hcmQ6
OmZpbGVDb250ZW50U3RhdGUoKQogewogICAgIG5vdEltcGxlbWVudGVkKCk7Ci0gICAgcmV0dXJu
IGZhbHNlOworICAgIHJldHVybiBGaWxlQ29udGVudFN0YXRlOjpOb0ZpbGVPckltYWdlRGF0YTsK
IH0KIAogYm9vbCBQYXN0ZWJvYXJkOjpjYW5TbWFydFJlcGxhY2UoKQpkaWZmIC0tZ2l0IGEvVG9v
bHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IGE1NzNkMTVlODhkZTk5NzZiMTc1
YWYwNzMyNWU0NWJkZTYyYTE4YTMuLmU1MGNhM2IyNzUyN2Q4Yjg3OTFhYTIzNTIxNjVjNjA5ZmE1
OTI0ZmYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxOCBAQAorMjAxOC0wMy0wOSAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVo
QGFwcGxlLmNvbT4KKworICAgICAgICBbbWFjT1NdIENvcHlpbmcgYSB0YWJsZSBmcm9tIHRoZSBO
dW1iZXJzIGFwcCBhbmQgcGFzdGluZyBpbnRvIGlDbG91ZCBOdW1iZXJzIGZhaWxzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODM0ODUKKyAgICAgICAg
PHJkYXI6Ly9wcm9ibGVtLzM4MDQxOTg0PgorCisgICAgICAgIFJldmlld2VkIGJ5IFJ5b3N1a2Ug
Tml3YS4KKworICAgICAgICBBZGQgbmV3IEFQSSB0ZXN0cyB0byBjb3ZlciBzY2VuYXJpb3MgaW4g
d2hpY2ggd2UgcGFzdGUgaW1hZ2UgZGF0YSBhbG9uZ3NpZGUgdGV4dCBkYXRhLgorCisgICAgICAg
ICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9QYXN0ZU1peGVkQ29udGVudC5tbToK
KyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkv
VGVzdHMvaW9zL1VJUGFzdGVib2FyZFRlc3RzLm1tOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6
VEVTVCk6CisKIDIwMTgtMDMtMDggIFN0ZXBoYW4gU3phYm8gIDxzdGVwaGFuLnN6YWJvQHNvbnku
Y29tPgogCiAgICAgICAgIFdlYktpdFRlc3RSdW5uZXI6IERvbid0IHVzZSBhY2Nlc3NpYmlsaXR5
IGNvbnRyb2xsZXIgd2hlbiAhSEFWRShBQ0NFU1NJQklMSVRZKQpkaWZmIC0tZ2l0IGEvVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9QYXN0ZU1peGVkQ29udGVudC5tbSBiL1Rv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvUGFzdGVNaXhlZENvbnRlbnQubW0K
aW5kZXggMGRkMzNlMWU2Y2U3MzI3NjdlMDJmNzA1YmY2NTA5ZDM1NDVmYzNjNC4uMDQxMTRhYjRm
ZTVlNDc0NWY4OTE4YzJhYjk1NzllOWNkZDRiZGVmMSAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdl
YktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9QYXN0ZU1peGVkQ29udGVudC5tbQorKysgYi9Ub29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1Bhc3RlTWl4ZWRDb250ZW50Lm1tCkBA
IC0xOTQsNiArMTk0LDQ5IEBAIFRFU1QoUGFzdGVNaXhlZENvbnRlbnQsIEltYWdlRmlsZVdpdGhI
VE1MQW5kVVJMKQogICAgIEVYUEVDVF9GQUxTRShbW3dlYlZpZXcgc3RyaW5nQnlFdmFsdWF0aW5n
SmF2YVNjcmlwdDpAInJhd0hUTUxEYXRhLnRleHRDb250ZW50Il0gY29udGFpbnNTdHJpbmc6QCJz
Y3JpcHQiXSk7CiB9CiAKK1RFU1QoUGFzdGVNaXhlZENvbnRlbnQsIEltYWdlRGF0YUFuZFBsYWlu
VGV4dCkKK3sKKyAgICBhdXRvIHdlYlZpZXcgPSBzZXRVcFdlYlZpZXcoKTsKKyAgICB3cml0ZVR5
cGVzQW5kRGF0YVRvUGFzdGVib2FyZChOU1Bhc3RlYm9hcmRUeXBlU3RyaW5nLCBAIkhlbGxvIHdv
cmxkIiwgTlNQYXN0ZWJvYXJkVHlwZVBORywgW05TRGF0YSBkYXRhV2l0aENvbnRlbnRzT2ZGaWxl
OmltYWdlUGF0aCgpXSwgbmlsKTsKKyAgICBbd2ViVmlldyBwYXN0ZTpuaWxdOworCisgICAgRVhQ
RUNUX1dLX1NUUkVRKCJGaWxlcywgdGV4dC9wbGFpbiIsIFt3ZWJWaWV3IHN0cmluZ0J5RXZhbHVh
dGluZ0phdmFTY3JpcHQ6QCJ0eXBlcy50ZXh0Q29udGVudCJdKTsKKyAgICBFWFBFQ1RfV0tfU1RS
RVEoIihTVFJJTkcsIHRleHQvcGxhaW4pLCAoRklMRSwgaW1hZ2UvcG5nKSIsIFt3ZWJWaWV3IHN0
cmluZ0J5RXZhbHVhdGluZ0phdmFTY3JpcHQ6QCJpdGVtcy50ZXh0Q29udGVudCJdKTsKKyAgICBF
WFBFQ1RfV0tfU1RSRVEoIignaW1hZ2UucG5nJywgaW1hZ2UvcG5nKSIsIFt3ZWJWaWV3IHN0cmlu
Z0J5RXZhbHVhdGluZ0phdmFTY3JpcHQ6QCJmaWxlcy50ZXh0Q29udGVudCJdKTsKKyAgICBFWFBF
Q1RfV0tfU1RSRVEoIiIsIFt3ZWJWaWV3IHN0cmluZ0J5RXZhbHVhdGluZ0phdmFTY3JpcHQ6QCJ1
cmxEYXRhLnRleHRDb250ZW50Il0pOworICAgIEVYUEVDVF9XS19TVFJFUSgiSGVsbG8gd29ybGQi
LCBbd2ViVmlldyBzdHJpbmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0OkAidGV4dERhdGEudGV4dENv
bnRlbnQiXSk7CisgICAgRVhQRUNUX1dLX1NUUkVRKCIiLCBbd2ViVmlldyBzdHJpbmdCeUV2YWx1
YXRpbmdKYXZhU2NyaXB0OkAiaHRtbERhdGEudGV4dENvbnRlbnQiXSk7Cit9CisKK1RFU1QoUGFz
dGVNaXhlZENvbnRlbnQsIEltYWdlRGF0YUFuZFBsYWluVGV4dEFuZFVSTCkKK3sKKyAgICBhdXRv
IHdlYlZpZXcgPSBzZXRVcFdlYlZpZXcoKTsKKyAgICB3cml0ZVR5cGVzQW5kRGF0YVRvUGFzdGVi
b2FyZChOU1Bhc3RlYm9hcmRUeXBlU3RyaW5nLCBpbWFnZVBhdGgoKSwgTlNVUkxQYm9hcmRUeXBl
LCBpbWFnZVBhdGgoKSwgTlNQYXN0ZWJvYXJkVHlwZVBORywgW05TRGF0YSBkYXRhV2l0aENvbnRl
bnRzT2ZGaWxlOmltYWdlUGF0aCgpXSwgbmlsKTsKKyAgICBbd2ViVmlldyBwYXN0ZTpuaWxdOwor
CisgICAgRVhQRUNUX1dLX1NUUkVRKCJGaWxlcyIsIFt3ZWJWaWV3IHN0cmluZ0J5RXZhbHVhdGlu
Z0phdmFTY3JpcHQ6QCJ0eXBlcy50ZXh0Q29udGVudCJdKTsKKyAgICBFWFBFQ1RfV0tfU1RSRVEo
IihGSUxFLCBpbWFnZS9wbmcpIiwgW3dlYlZpZXcgc3RyaW5nQnlFdmFsdWF0aW5nSmF2YVNjcmlw
dDpAIml0ZW1zLnRleHRDb250ZW50Il0pOworICAgIEVYUEVDVF9XS19TVFJFUSgiKCdpbWFnZS5w
bmcnLCBpbWFnZS9wbmcpIiwgW3dlYlZpZXcgc3RyaW5nQnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpA
ImZpbGVzLnRleHRDb250ZW50Il0pOworICAgIEVYUEVDVF9XS19TVFJFUSgiIiwgW3dlYlZpZXcg
c3RyaW5nQnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpAInVybERhdGEudGV4dENvbnRlbnQiXSk7Cisg
ICAgRVhQRUNUX1dLX1NUUkVRKCIiLCBbd2ViVmlldyBzdHJpbmdCeUV2YWx1YXRpbmdKYXZhU2Ny
aXB0OkAidGV4dERhdGEudGV4dENvbnRlbnQiXSk7CisgICAgRVhQRUNUX1dLX1NUUkVRKCIiLCBb
d2ViVmlldyBzdHJpbmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0OkAiaHRtbERhdGEudGV4dENvbnRl
bnQiXSk7Cit9CisKK1RFU1QoUGFzdGVNaXhlZENvbnRlbnQsIEltYWdlRGF0YUFuZFBsYWluVGV4
dEFuZFVSTEFuZEhUTUwpCit7CisgICAgYXV0byB3ZWJWaWV3ID0gc2V0VXBXZWJWaWV3KCk7Cisg
ICAgd3JpdGVUeXBlc0FuZERhdGFUb1Bhc3RlYm9hcmQoTlNQYXN0ZWJvYXJkVHlwZVN0cmluZywg
aW1hZ2VQYXRoKCksIE5TVVJMUGJvYXJkVHlwZSwgaW1hZ2VQYXRoKCksIE5TUGFzdGVib2FyZFR5
cGVIVE1MLCBtYXJrdXBTdHJpbmcoKSwgTlNQYXN0ZWJvYXJkVHlwZVBORywgW05TRGF0YSBkYXRh
V2l0aENvbnRlbnRzT2ZGaWxlOmltYWdlUGF0aCgpXSwgbmlsKTsKKyAgICBbd2ViVmlldyBwYXN0
ZTpuaWxdOworCisgICAgRVhQRUNUX1dLX1NUUkVRKCJGaWxlcywgdGV4dC9odG1sIiwgW3dlYlZp
ZXcgc3RyaW5nQnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpAInR5cGVzLnRleHRDb250ZW50Il0pOwor
ICAgIEVYUEVDVF9XS19TVFJFUSgiKFNUUklORywgdGV4dC9odG1sKSwgKEZJTEUsIGltYWdlL3Bu
ZykiLCBbd2ViVmlldyBzdHJpbmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0OkAiaXRlbXMudGV4dENv
bnRlbnQiXSk7CisgICAgRVhQRUNUX1dLX1NUUkVRKCIoJ2ltYWdlLnBuZycsIGltYWdlL3BuZyki
LCBbd2ViVmlldyBzdHJpbmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0OkAiZmlsZXMudGV4dENvbnRl
bnQiXSk7CisgICAgRVhQRUNUX1dLX1NUUkVRKCIiLCBbd2ViVmlldyBzdHJpbmdCeUV2YWx1YXRp
bmdKYXZhU2NyaXB0OkAidXJsRGF0YS50ZXh0Q29udGVudCJdKTsKKyAgICBFWFBFQ1RfV0tfU1RS
RVEoIiIsIFt3ZWJWaWV3IHN0cmluZ0J5RXZhbHVhdGluZ0phdmFTY3JpcHQ6QCJ0ZXh0RGF0YS50
ZXh0Q29udGVudCJdKTsKKyAgICBFWFBFQ1RfV0tfU1RSRVEoIkhFTExPIFdPUkxEIiwgW3dlYlZp
ZXcgc3RyaW5nQnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpAImh0bWxEYXRhLnRleHRDb250ZW50Il0p
OworICAgIEVYUEVDVF9GQUxTRShbW3dlYlZpZXcgc3RyaW5nQnlFdmFsdWF0aW5nSmF2YVNjcmlw
dDpAInJhd0hUTUxEYXRhLnRleHRDb250ZW50Il0gY29udGFpbnNTdHJpbmc6QCJzY3JpcHQiXSk7
Cit9CisKIH0gLy8gbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkKIAogI2VuZGlmIC8vIFBMQVRGT1JN
KE1BQykgJiYgV0tfQVBJX0VOQUJMRUQKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvaW9zL1VJUGFzdGVib2FyZFRlc3RzLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9pb3MvVUlQYXN0ZWJvYXJkVGVzdHMubW0KaW5kZXggMjU1MDU2MjNjMGYxMjczNjkzOGM5NzI2
NGYxM2M3OTVjYzNiZWY0Ny4uNDMzNDg1NTYxZTUwZDVjMGM3ZTJkYTA0NDc5ZWYzZmIzYTQ3MDgw
ZiAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9pb3MvVUlQYXN0ZWJvYXJk
VGVzdHMubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9pb3MvVUlQYXN0ZWJvYXJk
VGVzdHMubW0KQEAgLTE5NCw2ICsxOTQsMzAgQEAgVEVTVChVSVBhc3RlYm9hcmRUZXN0cywgRGF0
YVRyYW5zZmVyR2V0RGF0YVdoZW5QYXN0aW5nUGxhdGZvcm1SZXByZXNlbnRhdGlvbnMpCiAgICAg
fSk7CiB9CiAKK1RFU1QoVUlQYXN0ZWJvYXJkVGVzdHMsIERhdGFUcmFuc2ZlckdldERhdGFXaGVu
UGFzdGluZ0ltYWdlQW5kVGV4dCkKK3sKKyAgICBhdXRvIHdlYlZpZXcgPSBzZXRVcFdlYlZpZXdG
b3JQYXN0ZWJvYXJkVGVzdHMoQCJEYXRhVHJhbnNmZXIiKTsKKyAgICBhdXRvIGNvcGllZFRleHQg
PSByZXRhaW5QdHIoQCJBcHBsZSBJbmMuIik7CisgICAgYXV0byBpdGVtUHJvdmlkZXIgPSBhZG9w
dE5TKFtbTlNJdGVtUHJvdmlkZXIgYWxsb2NdIGluaXRdKTsKKyAgICBbaXRlbVByb3ZpZGVyIHJl
Z2lzdGVyRGF0YVJlcHJlc2VudGF0aW9uRm9yVHlwZUlkZW50aWZpZXI6KE5TU3RyaW5nICopa1VU
VHlwZVBORyB2aXNpYmlsaXR5Ok5TSXRlbVByb3ZpZGVyUmVwcmVzZW50YXRpb25WaXNpYmlsaXR5
QWxsIGxvYWRIYW5kbGVyOltdIChEYXRhTG9hZENvbXBsZXRpb25CbG9jayBjb21wbGV0aW9uSGFu
ZGxlcikgLT4gTlNQcm9ncmVzcyAqIHsKKyAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoW05TRGF0
YSBkYXRhV2l0aENvbnRlbnRzT2ZVUkw6W1tOU0J1bmRsZSBtYWluQnVuZGxlXSBVUkxGb3JSZXNv
dXJjZTpAImljb24iIHdpdGhFeHRlbnNpb246QCJwbmciIHN1YmRpcmVjdG9yeTpAIlRlc3RXZWJL
aXRBUEkucmVzb3VyY2VzIl1dLCBuaWwpOworICAgICAgICByZXR1cm4gbmlsOworICAgIH1dOwor
ICAgIFtpdGVtUHJvdmlkZXIgcmVnaXN0ZXJEYXRhUmVwcmVzZW50YXRpb25Gb3JUeXBlSWRlbnRp
ZmllcjooTlNTdHJpbmcgKilrVVRUeXBlVVRGOFBsYWluVGV4dCB2aXNpYmlsaXR5Ok5TSXRlbVBy
b3ZpZGVyUmVwcmVzZW50YXRpb25WaXNpYmlsaXR5QWxsIGxvYWRIYW5kbGVyOltjb3BpZWRUZXh0
XSAoRGF0YUxvYWRDb21wbGV0aW9uQmxvY2sgY29tcGxldGlvbkhhbmRsZXIpIC0+IE5TUHJvZ3Jl
c3MgKiB7CisgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKFtjb3BpZWRUZXh0IGRhdGFVc2luZ0Vu
Y29kaW5nOk5TVVRGOFN0cmluZ0VuY29kaW5nXSwgbmlsKTsKKyAgICAgICAgcmV0dXJuIG5pbDsK
KyAgICB9XTsKKyAgICBbVUlQYXN0ZWJvYXJkIGdlbmVyYWxQYXN0ZWJvYXJkXS5pdGVtUHJvdmlk
ZXJzID0gQFsgaXRlbVByb3ZpZGVyLmdldCgpIF07CisgICAgW3dlYlZpZXcgcGFzdGU6bmlsXTsK
KworICAgIEVYUEVDVF9XS19TVFJFUSgiRmlsZXMsIHRleHQvcGxhaW4iLCBbd2ViVmlldyBzdHJp
bmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0OkAidHlwZXMudGV4dENvbnRlbnQiXSk7CisgICAgRVhQ
RUNUX1dLX1NUUkVRKCIoU1RSSU5HLCB0ZXh0L3BsYWluKSwgKEZJTEUsIGltYWdlL3BuZykiLCBb
d2ViVmlldyBzdHJpbmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0OkAiaXRlbXMudGV4dENvbnRlbnQi
XSk7CisgICAgRVhQRUNUX1dLX1NUUkVRKCIoJ2ltYWdlLnBuZycsIGltYWdlL3BuZykiLCBbd2Vi
VmlldyBzdHJpbmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0OkAiZmlsZXMudGV4dENvbnRlbnQiXSk7
CisgICAgRVhQRUNUX1dLX1NUUkVRKCIiLCBbd2ViVmlldyBzdHJpbmdCeUV2YWx1YXRpbmdKYXZh
U2NyaXB0OkAidXJsRGF0YS50ZXh0Q29udGVudCJdKTsKKyAgICBFWFBFQ1RfV0tfU1RSRVEoIkFw
cGxlIEluYy4iLCBbd2ViVmlldyBzdHJpbmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0OkAidGV4dERh
dGEudGV4dENvbnRlbnQiXSk7CisgICAgRVhQRUNUX1dLX1NUUkVRKCIiLCBbd2ViVmlldyBzdHJp
bmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0OkAiaHRtbERhdGEudGV4dENvbnRlbnQiXSk7Cit9CisK
IFRFU1QoVUlQYXN0ZWJvYXJkVGVzdHMsIERhdGFUcmFuc2ZlclNldERhdGFDYW5ub3RXcml0ZVBs
YXRmb3JtVHlwZXMpCiB7CiAgICAgYXV0byB3ZWJWaWV3ID0gc2V0VXBXZWJWaWV3Rm9yUGFzdGVi
b2FyZFRlc3RzKEAiZHVtcC1kYXRhdHJhbnNmZXItdHlwZXMiKTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBmYzNkZTk4MDZk
MjY2NjU4MjE2ZGVlMmU3ZjA1YjgzODMxNjliNDFkLi43NGU1NTY4MzkxY2ZhMmQ1MTFjYWEyNzU4
MDZhN2Y5NmMzZmRhMDcyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTgtMDMtMDkgIFdlbnNv
biBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgW21hY09TXSBDb3B5
aW5nIGEgdGFibGUgZnJvbSB0aGUgTnVtYmVycyBhcHAgYW5kIHBhc3RpbmcgaW50byBpQ2xvdWQg
TnVtYmVycyBmYWlscworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTgzNDg1CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zODA0MTk4ND4KKworICAgICAg
ICBSZXZpZXdlZCBieSBSeW9zdWtlIE5pd2EuCisKKyAgICAgICAgUmViYXNlbGluZSBzb21lIHBh
c3RlYm9hcmQtcmVsYXRlZCBsYXlvdXQgdGVzdHMsIGluIHdoaWNoIHdlIG5vdyBleHBvc2UgdGV4
dC9wbGFpbiBhbG9uZ3NpZGUgZmlsZXMgdGhhdCB3ZXJlCisgICAgICAgIHdyaXR0ZW4gdG8gdGhl
IERhdGFUcmFuc2ZlciBieSB0aGUgcGFnZSBpdHNlbGYuCisKKyAgICAgICAgKiBlZGl0aW5nL3Bh
c3RlYm9hcmQvZGF0YS10cmFuc2Zlci1pdGVtLWxpc3QtYWRkLWZpbGUtbXVsdGlwbGUtdGltZXMt
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9kYXRhLXRyYW5zZmVy
LWl0ZW0tbGlzdC1hZGQtZmlsZS1vbi1jb3B5LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBlZGl0
aW5nL3Bhc3RlYm9hcmQvZGF0YS10cmFuc2Zlci1pdGVtLWxpc3QtYWRkLWZpbGUtb24tZHJhZy1l
eHBlY3RlZC50eHQ6CisKIDIwMTgtMDMtMDggIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNv
bT4KIAogICAgICAgICBmYXN0L2h0bWwvbWFycXVlZS1yZXBhcmVudC1jaGVjay5odG1sIGlzIGZs
YWt5IHdpdGggYXN5bmMgZGVsZWdhdGVzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3Bhc3RlYm9hcmQvZGF0YS10cmFuc2Zlci1pdGVtLWxpc3QtYWRkLWZpbGUtbXVsdGlwbGUtdGlt
ZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL2RhdGEtdHJh
bnNmZXItaXRlbS1saXN0LWFkZC1maWxlLW11bHRpcGxlLXRpbWVzLWV4cGVjdGVkLnR4dAppbmRl
eCA2ZWYxMDM4NGMxYWE3MGQ1NGVhMzdjMmI4YmM0YmU5M2I4MzkzYzFhLi4wM2E0YjZlOGEyMjU2
MDQ2NjQ3Y2FhZmExNjMxNjA5MzczN2IyN2I1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvZGF0YS10cmFuc2Zlci1pdGVtLWxpc3QtYWRkLWZpbGUtbXVsdGlwbGUt
dGltZXMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9k
YXRhLXRyYW5zZmVyLWl0ZW0tbGlzdC1hZGQtZmlsZS1tdWx0aXBsZS10aW1lcy1leHBlY3RlZC50
eHQKQEAgLTEwLDYgKzEwLDcgQEAgb3BlcmF0aW9uIHBlcmZvcm1lZCBhdCBlYWNoIHN0ZXAuCiB7
CiAgICAgImRhdGEiOiB7CiAgICAgICAgICJGaWxlcyI6ICIiLAorICAgICAgICAidGV4dC9wbGFp
biI6ICJwbGFpbiB0ZXh0IHN0cmluZyIsCiAgICAgICAgICJ0ZXh0L3VyaS1saXN0IjogImh0dHBz
Oi8vd2Via2l0Lm9yZyIKICAgICB9LAogICAgICJpdGVtcyI6IFsKQEAgLTg4LDYgKzg5LDcgQEAg
b3BlcmF0aW9uIHBlcmZvcm1lZCBhdCBlYWNoIHN0ZXAuCiB7CiAgICAgImRhdGEiOiB7CiAgICAg
ICAgICJGaWxlcyI6ICIiLAorICAgICAgICAidGV4dC9wbGFpbiI6ICJwbGFpbiB0ZXh0IHN0cmlu
ZyIsCiAgICAgICAgICJ0ZXh0L3VyaS1saXN0IjogImh0dHBzOi8vd2Via2l0Lm9yZyIKICAgICB9
LAogICAgICJpdGVtcyI6IFsKQEAgLTE1Myw2ICsxNTUsNyBAQCByZW1vdmVkSXRlbS5nZXRBc0Zp
bGUoKSBzaG91bGQgYmUgbnVsbDogbnVsbAogewogICAgICJkYXRhIjogewogICAgICAgICAiRmls
ZXMiOiAiIiwKKyAgICAgICAgInRleHQvcGxhaW4iOiAicGxhaW4gdGV4dCBzdHJpbmciLAogICAg
ICAgICAidGV4dC91cmktbGlzdCI6ICJodHRwczovL3dlYmtpdC5vcmciCiAgICAgfSwKICAgICAi
aXRlbXMiOiBbCkBAIC0yMDQsNiArMjA3LDcgQEAgcmVtb3ZlZEl0ZW0uZ2V0QXNGaWxlKCkgc2hv
dWxkIGJlIG51bGw6IG51bGwKIHsKICAgICAiZGF0YSI6IHsKICAgICAgICAgIkZpbGVzIjogIiIs
CisgICAgICAgICJ0ZXh0L3BsYWluIjogInBsYWluIHRleHQgc3RyaW5nIiwKICAgICAgICAgInRl
eHQvdXJpLWxpc3QiOiAiaHR0cHM6Ly93ZWJraXQub3JnIgogICAgIH0sCiAgICAgIml0ZW1zIjog
WwpAQCAtMjQ4LDcgKzI1Miw4IEBAIHJlbW92ZWRJdGVtLmdldEFzRmlsZSgpIHNob3VsZCBiZSBu
dWxsOiBudWxsCiB7CiAgICAgImRhdGEiOiB7CiAgICAgICAgICJGaWxlcyI6ICIiLAotICAgICAg
ICAidGV4dC9odG1sIjogIjxzdHJvbmc+c29tZSBzdHlsZWQgdGV4dDwvc3Ryb25nPiIKKyAgICAg
ICAgInRleHQvaHRtbCI6ICI8c3Ryb25nPnNvbWUgc3R5bGVkIHRleHQ8L3N0cm9uZz4iLAorICAg
ICAgICAidGV4dC9wbGFpbiI6ICJzb21lIHBsYWluIHRleHQiCiAgICAgfSwKICAgICAiaXRlbXMi
OiBbCiAgICAgICAgIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9kYXRhLXRyYW5zZmVyLWl0ZW0tbGlzdC1hZGQtZmlsZS1vbi1jb3B5LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9kYXRhLXRyYW5zZmVyLWl0ZW0tbGlzdC1h
ZGQtZmlsZS1vbi1jb3B5LWV4cGVjdGVkLnR4dAppbmRleCAyOWJjOTQ5YTQ4OWNlZjk5ZWQxNmNi
OGY0MDI2YTg5NjI1ZjBkM2QxLi4yNzA3NDUwNmNjNjg3NzE1ODE1NzkwYTVjMjg5ZDc5YTNjODNi
ZGEzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvZGF0YS10cmFu
c2Zlci1pdGVtLWxpc3QtYWRkLWZpbGUtb24tY29weS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL2RhdGEtdHJhbnNmZXItaXRlbS1saXN0LWFkZC1maWxl
LW9uLWNvcHktZXhwZWN0ZWQudHh0CkBAIC0yNCw3ICsyNCw4IEBAIG9wZXJhdGlvbiBwZXJmb3Jt
ZWQgYXQgZWFjaCBzdGVwLgogMi4gQWZ0ZXIgYWRkaW5nIGEgZmlsZSBvZiBjdXN0b20gdHlwZQog
ewogICAgICJkYXRhIjogewotICAgICAgICAiRmlsZXMiOiAiIgorICAgICAgICAiRmlsZXMiOiAi
IiwKKyAgICAgICAgInRleHQvcGxhaW4iOiAiaGVsbG8gd29ybGQiCiAgICAgfSwKICAgICAiaXRl
bXMiOiBbCiAgICAgICAgIHsKQEAgLTU0LDcgKzU1LDggQEAgb3BlcmF0aW9uIHBlcmZvcm1lZCBh
dCBlYWNoIHN0ZXAuCiAzLiBBZnRlciBhZGRpbmcgdGhlIGZpcnN0IHBsYWluIHRleHQgZmlsZQog
ewogICAgICJkYXRhIjogewotICAgICAgICAiRmlsZXMiOiAiIgorICAgICAgICAiRmlsZXMiOiAi
IiwKKyAgICAgICAgInRleHQvcGxhaW4iOiAiaGVsbG8gd29ybGQiCiAgICAgfSwKICAgICAiaXRl
bXMiOiBbCiAgICAgICAgIHsKQEAgLTk4LDcgKzEwMCw4IEBAIG9wZXJhdGlvbiBwZXJmb3JtZWQg
YXQgZWFjaCBzdGVwLgogNC4gQWZ0ZXIgcmVtb3ZpbmcgdGhlIGxhc3QgZmlsZQogewogICAgICJk
YXRhIjogewotICAgICAgICAiRmlsZXMiOiAiIgorICAgICAgICAiRmlsZXMiOiAiIiwKKyAgICAg
ICAgInRleHQvcGxhaW4iOiAiaGVsbG8gd29ybGQiCiAgICAgfSwKICAgICAiaXRlbXMiOiBbCiAg
ICAgICAgIHsKQEAgLTEzMCw2ICsxMzMsNyBAQCByZW1vdmVkSXRlbS5nZXRBc0ZpbGUoKSBzaG91
bGQgYmUgbnVsbDogbnVsbAogewogICAgICJkYXRhIjogewogICAgICAgICAiRmlsZXMiOiAiIiwK
KyAgICAgICAgInRleHQvcGxhaW4iOiAiaGVsbG8gd29ybGQiLAogICAgICAgICAidGV4dC9odG1s
IjogIjxhPmdvb2RieWUgd29ybGQ8L2E+IgogICAgIH0sCiAgICAgIml0ZW1zIjogWwpAQCAtMTY2
LDYgKzE3MCw3IEBAIHJlbW92ZWRJdGVtLmdldEFzRmlsZSgpIHNob3VsZCBiZSBudWxsOiBudWxs
CiB7CiAgICAgImRhdGEiOiB7CiAgICAgICAgICJGaWxlcyI6ICIiLAorICAgICAgICAidGV4dC9w
bGFpbiI6ICJoZWxsbyB3b3JsZCIsCiAgICAgICAgICJ0ZXh0L2h0bWwiOiAiPGE+Z29vZGJ5ZSB3
b3JsZDwvYT4iCiAgICAgfSwKICAgICAiaXRlbXMiOiBbCkBAIC0yMTYsNiArMjIxLDcgQEAgcmVt
b3ZlZEl0ZW0uZ2V0QXNGaWxlKCkgc2hvdWxkIGJlIG51bGw6IG51bGwKIHsKICAgICAiZGF0YSI6
IHsKICAgICAgICAgIkZpbGVzIjogIiIsCisgICAgICAgICJ0ZXh0L3BsYWluIjogImhlbGxvIHdv
cmxkIiwKICAgICAgICAgInRleHQvaHRtbCI6ICI8YT5nb29kYnllIHdvcmxkPC9hPiIKICAgICB9
LAogICAgICJpdGVtcyI6IFsKQEAgLTI1Miw3ICsyNTgsOCBAQCByZW1vdmVkSXRlbS5nZXRBc0Zp
bGUoKSBzaG91bGQgYmUgbnVsbDogbnVsbAogOC4gQWZ0ZXIgcmVtb3ZpbmcgdGhlIEhUTUwgc3Ry
aW5nCiB7CiAgICAgImRhdGEiOiB7Ci0gICAgICAgICJGaWxlcyI6ICIiCisgICAgICAgICJGaWxl
cyI6ICIiLAorICAgICAgICAidGV4dC9wbGFpbiI6ICJoZWxsbyB3b3JsZCIKICAgICB9LAogICAg
ICJpdGVtcyI6IFsKICAgICAgICAgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL2RhdGEtdHJhbnNmZXItaXRlbS1saXN0LWFkZC1maWxlLW9uLWRyYWctZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL2RhdGEtdHJhbnNmZXItaXRl
bS1saXN0LWFkZC1maWxlLW9uLWRyYWctZXhwZWN0ZWQudHh0CmluZGV4IDA3YzA2Y2NkZTVkZWYz
OTU0MWJlODlhMDg4MzczOWU4OWQ4ZjU4NjMuLjE1NTg5OWRlODY5OThlNjNkMWNiMzk3OTVjYzBk
ZTRjZThiMThlZGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9k
YXRhLXRyYW5zZmVyLWl0ZW0tbGlzdC1hZGQtZmlsZS1vbi1kcmFnLWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvZGF0YS10cmFuc2Zlci1pdGVtLWxpc3Qt
YWRkLWZpbGUtb24tZHJhZy1leHBlY3RlZC50eHQKQEAgLTI0LDcgKzI0LDggQEAgb3BlcmF0aW9u
IHBlcmZvcm1lZCBhdCBlYWNoIHN0ZXAuCiAyLiBBZnRlciBhZGRpbmcgYSBmaWxlIG9mIGN1c3Rv
bSB0eXBlCiB7CiAgICAgImRhdGEiOiB7Ci0gICAgICAgICJGaWxlcyI6ICIiCisgICAgICAgICJG
aWxlcyI6ICIiLAorICAgICAgICAidGV4dC9wbGFpbiI6ICJoZWxsbyB3b3JsZCIKICAgICB9LAog
ICAgICJpdGVtcyI6IFsKICAgICAgICAgewpAQCAtNTQsNyArNTUsOCBAQCBvcGVyYXRpb24gcGVy
Zm9ybWVkIGF0IGVhY2ggc3RlcC4KIDMuIEFmdGVyIGFkZGluZyB0aGUgZmlyc3QgcGxhaW4gdGV4
dCBmaWxlCiB7CiAgICAgImRhdGEiOiB7Ci0gICAgICAgICJGaWxlcyI6ICIiCisgICAgICAgICJG
aWxlcyI6ICIiLAorICAgICAgICAidGV4dC9wbGFpbiI6ICJoZWxsbyB3b3JsZCIKICAgICB9LAog
ICAgICJpdGVtcyI6IFsKICAgICAgICAgewpAQCAtOTgsNyArMTAwLDggQEAgb3BlcmF0aW9uIHBl
cmZvcm1lZCBhdCBlYWNoIHN0ZXAuCiA0LiBBZnRlciByZW1vdmluZyB0aGUgbGFzdCBmaWxlCiB7
CiAgICAgImRhdGEiOiB7Ci0gICAgICAgICJGaWxlcyI6ICIiCisgICAgICAgICJGaWxlcyI6ICIi
LAorICAgICAgICAidGV4dC9wbGFpbiI6ICJoZWxsbyB3b3JsZCIKICAgICB9LAogICAgICJpdGVt
cyI6IFsKICAgICAgICAgewpAQCAtMTMwLDYgKzEzMyw3IEBAIHJlbW92ZWRJdGVtLmdldEFzRmls
ZSgpIHNob3VsZCBiZSBudWxsOiBudWxsCiB7CiAgICAgImRhdGEiOiB7CiAgICAgICAgICJGaWxl
cyI6ICIiLAorICAgICAgICAidGV4dC9wbGFpbiI6ICJoZWxsbyB3b3JsZCIsCiAgICAgICAgICJ0
ZXh0L2h0bWwiOiAiPGE+Z29vZGJ5ZSB3b3JsZDwvYT4iCiAgICAgfSwKICAgICAiaXRlbXMiOiBb
CkBAIC0xNjYsNiArMTcwLDcgQEAgcmVtb3ZlZEl0ZW0uZ2V0QXNGaWxlKCkgc2hvdWxkIGJlIG51
bGw6IG51bGwKIHsKICAgICAiZGF0YSI6IHsKICAgICAgICAgIkZpbGVzIjogIiIsCisgICAgICAg
ICJ0ZXh0L3BsYWluIjogImhlbGxvIHdvcmxkIiwKICAgICAgICAgInRleHQvaHRtbCI6ICI8YT5n
b29kYnllIHdvcmxkPC9hPiIKICAgICB9LAogICAgICJpdGVtcyI6IFsKQEAgLTIxNiw2ICsyMjEs
NyBAQCByZW1vdmVkSXRlbS5nZXRBc0ZpbGUoKSBzaG91bGQgYmUgbnVsbDogbnVsbAogewogICAg
ICJkYXRhIjogewogICAgICAgICAiRmlsZXMiOiAiIiwKKyAgICAgICAgInRleHQvcGxhaW4iOiAi
aGVsbG8gd29ybGQiLAogICAgICAgICAidGV4dC9odG1sIjogIjxhPmdvb2RieWUgd29ybGQ8L2E+
IgogICAgIH0sCiAgICAgIml0ZW1zIjogWwpAQCAtMjUyLDcgKzI1OCw4IEBAIHJlbW92ZWRJdGVt
LmdldEFzRmlsZSgpIHNob3VsZCBiZSBudWxsOiBudWxsCiA4LiBBZnRlciByZW1vdmluZyB0aGUg
SFRNTCBzdHJpbmcKIHsKICAgICAiZGF0YSI6IHsKLSAgICAgICAgIkZpbGVzIjogIiIKKyAgICAg
ICAgIkZpbGVzIjogIiIsCisgICAgICAgICJ0ZXh0L3BsYWluIjogImhlbGxvIHdvcmxkIgogICAg
IH0sCiAgICAgIml0ZW1zIjogWwogICAgICAgICB7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>