<?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>195011</bug_id>
          
          <creation_ts>2019-02-25 12:06:17 -0800</creation_ts>
          <short_desc>[WPE][GTK] Deprecate WebSQL APIs</short_desc>
          <delta_ts>2019-06-12 09:07:50 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKitGTK</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Michael Catanzaro">mcatanzaro</reporter>
          <assigned_to name="Michael Catanzaro">mcatanzaro</assigned_to>
          <cc>aperez</cc>
    
    <cc>berto</cc>
    
    <cc>bugs-noreply</cc>
    
    <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gustavo</cc>
    
    <cc>mcatanzaro</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1509731</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2019-02-25 12:06:17 -0800</bug_when>
    <thetext>WebSQL is disabled at runtime since 2.24 and we don&apos;t have any way in our API to enable it. I don&apos;t think we want to add a way to do so, not unless some application actually needs it, which seems quite unlikely. So deprecate stuff.

Note: this is for 2.24</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1509734</commentid>
    <comment_count>1</comment_count>
      <attachid>362916</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2019-02-25 12:07:30 -0800</bug_when>
    <thetext>Created attachment 362916
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1509736</commentid>
    <comment_count>2</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-02-25 12:09:51 -0800</bug_when>
    <thetext>Thanks for the patch. If this patch contains new public API please make sure it follows the guidelines for new WebKit2 GTK+ API. See http://trac.webkit.org/wiki/WebKitGTK/AddingNewWebKit2API</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1509737</commentid>
    <comment_count>3</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-02-25 12:10:07 -0800</bug_when>
    <thetext>Attachment 362916 did not pass style-queue:


WARNING: File exempt from style guide. Skipping: &quot;Source/WebKit/UIProcess/API/wpe/WebKitWebsiteDataManager.h&quot;
WARNING: File exempt from style guide. Skipping: &quot;Source/WebKit/UIProcess/API/gtk/WebKitWebsiteData.h&quot;
WARNING: File exempt from style guide. Skipping: &quot;Source/WebKit/UIProcess/API/wpe/WebKitWebsiteData.h&quot;
WARNING: File exempt from style guide. Skipping: &quot;Source/WebKit/UIProcess/API/gtk/WebKitWebsiteDataManager.h&quot;
ERROR: Source/WebKit/UIProcess/API/glib/WebKitWebsiteDataManager.cpp:135:  Non-label code inside switch statements should be indented.  [whitespace/indent] [4]
Total errors found: 1 in 10 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1533734</commentid>
    <comment_count>4</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2019-05-06 19:03:21 -0700</bug_when>
    <thetext>Ping for review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1533828</commentid>
    <comment_count>5</comment_count>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2019-05-07 01:31:00 -0700</bug_when>
    <thetext>According to https://caniuse.com/#feat=sql-storage the feature is
available still in Safari... I wonder if it might cause trouble due
to websites deciding to use WebSQL after doing UA sniffing and finding
that “looks like Safari” 🤔

On the other hand, Firefox does not have WebSQL, and I see that there
has been no work on the spec since 2010 so it seems like it should be
safe (ish?) to completely disable it.

Other than the commentary above, patch LGTM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1533904</commentid>
    <comment_count>6</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2019-05-07 07:22:05 -0700</bug_when>
    <thetext>I think caniuse.com is outdated.

This patch doesn&apos;t disable WebSQL anyway. It only updates our API docs to reflect that WebSQL is already disabled since 2.24 and cannot be enabled. Currently our API docs are wrong.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1542371</commentid>
    <comment_count>7</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2019-06-06 06:24:58 -0700</bug_when>
    <thetext>Ping reviewers. This is broken in 2.24.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1544034</commentid>
    <comment_count>8</comment_count>
      <attachid>362916</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2019-06-12 05:01:55 -0700</bug_when>
    <thetext>Comment on attachment 362916
Patch

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

&gt; Source/WebKit/UIProcess/API/glib/WebKitWebsiteDataManager.cpp:323
&gt; +     * Deprecated: 2.24. WebSQL is no longer supported. Use IndexedDB instead.

2.26 now

&gt; Source/WebKit/UIProcess/API/gtk/WebKitWebsiteData.h:43
&gt; + * @WEBKIT_WEBSITE_DATA_WEBSQL_DATABASES: WebSQL databases (deprecated).

WebSQL databases. Deprecated 2.26

&gt; Source/WebKit/UIProcess/API/wpe/WebKitWebsiteData.h:43
&gt; - * @WEBKIT_WEBSITE_DATA_WEBSQL_DATABASES: WebSQL databases.
&gt; + * @WEBKIT_WEBSITE_DATA_WEBSQL_DATABASES: WebSQL databases (deprecated).

Ditto.

&gt; Tools/TestWebKitAPI/Tests/WebKitGLib/TestWebsiteData.cpp:156
&gt; +ALLOW_DEPRECATED_DECLARATIONS_BEGIN
&gt;      GUniquePtr&lt;char&gt; webSQLDirectory(g_build_filename(Test::dataDirectory(), &quot;websql&quot;, nullptr));
&gt;      g_assert_cmpstr(webSQLDirectory.get(), ==, webkit_website_data_manager_get_websql_directory(test-&gt;m_manager));
&gt;      test-&gt;runJavaScriptAndWaitUntilFinished(&quot;db = openDatabase(\&quot;TestDatabase\&quot;, \&quot;1.0\&quot;, \&quot;TestDatabase\&quot;, 1);&quot;, nullptr);
&gt;      g_assert_true(g_file_test(webSQLDirectory.get(), G_FILE_TEST_IS_DIR));
&gt; +ALLOW_DEPRECATED_DECLARATIONS_END

Let&apos;s remove the tests, since it does nothing in the end.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1544035</commentid>
    <comment_count>9</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2019-06-12 05:03:31 -0700</bug_when>
    <thetext>hmm, since it&apos;s not only deprecated but disabled, we might consider to add a g_warning() to let the user know that WebSQL is not going to work anyway. And document that as well. Just saying it&apos;s deprecated sounds like it still works.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1544073</commentid>
    <comment_count>10</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2019-06-12 07:25:43 -0700</bug_when>
    <thetext>(In reply to Carlos Garcia Campos from comment #8)
&gt; Comment on attachment 362916 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=362916&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/UIProcess/API/glib/WebKitWebsiteDataManager.cpp:323
&gt; &gt; +     * Deprecated: 2.24. WebSQL is no longer supported. Use IndexedDB instead.
&gt; 
&gt; 2.26 now

No, it&apos;s really for 2.24, late or not. Remember WebSQL is not available at all since 2.24.

&gt; &gt; Source/WebKit/UIProcess/API/gtk/WebKitWebsiteData.h:43
&gt; &gt; + * @WEBKIT_WEBSITE_DATA_WEBSQL_DATABASES: WebSQL databases (deprecated).
&gt; 
&gt; WebSQL databases. Deprecated 2.26
&gt; 
&gt; &gt; Source/WebKit/UIProcess/API/wpe/WebKitWebsiteData.h:43
&gt; &gt; - * @WEBKIT_WEBSITE_DATA_WEBSQL_DATABASES: WebSQL databases.
&gt; &gt; + * @WEBKIT_WEBSITE_DATA_WEBSQL_DATABASES: WebSQL databases (deprecated).
&gt; 
&gt; Ditto.

OK (2.24)

&gt; &gt; Tools/TestWebKitAPI/Tests/WebKitGLib/TestWebsiteData.cpp:156
&gt; &gt; +ALLOW_DEPRECATED_DECLARATIONS_BEGIN
&gt; &gt;      GUniquePtr&lt;char&gt; webSQLDirectory(g_build_filename(Test::dataDirectory(), &quot;websql&quot;, nullptr));
&gt; &gt;      g_assert_cmpstr(webSQLDirectory.get(), ==, webkit_website_data_manager_get_websql_directory(test-&gt;m_manager));
&gt; &gt;      test-&gt;runJavaScriptAndWaitUntilFinished(&quot;db = openDatabase(\&quot;TestDatabase\&quot;, \&quot;1.0\&quot;, \&quot;TestDatabase\&quot;, 1);&quot;, nullptr);
&gt; &gt;      g_assert_true(g_file_test(webSQLDirectory.get(), G_FILE_TEST_IS_DIR));
&gt; &gt; +ALLOW_DEPRECATED_DECLARATIONS_END
&gt; 
&gt; Let&apos;s remove the tests, since it does nothing in the end.

OK</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1544077</commentid>
    <comment_count>11</comment_count>
      <attachid>371954</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2019-06-12 07:32:45 -0700</bug_when>
    <thetext>Created attachment 371954
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1544079</commentid>
    <comment_count>12</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2019-06-12 07:33:32 -0700</bug_when>
    <thetext>(cq? to see if you&apos;re OK with the 2.24 deprecations. I know it&apos;s odd to use these retroactively, but it&apos;s weird to say it&apos;s deprecated in 2.26 as that might trick people into thinking it&apos;s available in 2.24.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1544080</commentid>
    <comment_count>13</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2019-06-12 07:34:08 -0700</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #12)
&gt; (cq? to see if you&apos;re OK with the 2.24 deprecations. I know it&apos;s odd to use
&gt; these retroactively, but it&apos;s weird to say it&apos;s deprecated in 2.26 as that
&gt; might trick people into thinking it&apos;s available in 2.24.)

BTW I do intend this for 2.24 branch as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1544121</commentid>
    <comment_count>14</comment_count>
      <attachid>371954</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-06-12 09:07:48 -0700</bug_when>
    <thetext>Comment on attachment 371954
Patch

Clearing flags on attachment: 371954

Committed r246353: &lt;https://trac.webkit.org/changeset/246353&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1544122</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-06-12 09:07:50 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>362916</attachid>
            <date>2019-02-25 12:07:30 -0800</date>
            <delta_ts>2019-06-12 07:32:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-195011-20190225140729.patch</filename>
            <type>text/plain</type>
            <size>16577</size>
            <attacher name="Michael Catanzaro">mcatanzaro</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQyMDM4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGU1Njg4NGJmNjFiNTUxMGQ5
YjdjODcyZGJjNDg1MjYwMTM5ODllOWMuLjdlMjNlNzFiY2MxMzU2MGEwZjY0NDIyMTEyNzUxZTM3
YTFkYmUyNDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTktMDItMjUgIE1pY2hhZWwg
Q2F0YW56YXJvICA8bWNhdGFuemFyb0BpZ2FsaWEuY29tPgorCisgICAgICAgIFtXUEVdW0dUS10g
RGVwcmVjYXRlIFdlYlNRTCBBUElzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xOTUwMTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRTZXR0aW5ncy5jcHA6Cisg
ICAgICAgICh3ZWJraXRfc2V0dGluZ3NfY2xhc3NfaW5pdCk6CisgICAgICAgICogVUlQcm9jZXNz
L0FQSS9nbGliL1dlYktpdFdlYkNvbnRleHQuY3BwOgorICAgICAgICAod2Via2l0V2ViQ29udGV4
dENvbnN0cnVjdGVkKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0V2Vic2l0
ZURhdGFNYW5hZ2VyLmNwcDoKKyAgICAgICAgKHdlYmtpdFdlYnNpdGVEYXRhTWFuYWdlckdldFBy
b3BlcnR5KToKKyAgICAgICAgKHdlYmtpdF93ZWJzaXRlX2RhdGFfbWFuYWdlcl9jbGFzc19pbml0
KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJzaXRlRGF0YS5oOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYnNpdGVEYXRhTWFuYWdlci5oOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9BUEkvd3BlL1dlYktpdFdlYnNpdGVEYXRhLmg6CisgICAgICAgICog
VUlQcm9jZXNzL0FQSS93cGUvV2ViS2l0V2Vic2l0ZURhdGFNYW5hZ2VyLmg6CisKIDIwMTktMDIt
MjQgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBJbnRyb2R1Y2Ug
Q29udGVudENoYW5nZU9ic2VydmVyIGNsYXNzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRTZXR0aW5ncy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvZ2xpYi9XZWJLaXRTZXR0aW5ncy5jcHAKaW5kZXggMDM2NTRkZDA0ODFlYjdmMzU3
ZWNhNTM3ZjY5ODEzZWIyODAzMzQ5Yi4uOGU1OGRiYThjZWUyYmFiYjgwZWFhNWU3MzU5NjJlNmUw
NTE1NjA5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2Vi
S2l0U2V0dGluZ3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dl
YktpdFNldHRpbmdzLmNwcApAQCAtNjc0LDEyICs2NzQsNyBAQCBzdGF0aWMgdm9pZCB3ZWJraXRf
c2V0dGluZ3NfY2xhc3NfaW5pdChXZWJLaXRTZXR0aW5nc0NsYXNzKiBrbGFzcykKICAgICAvKioK
ICAgICAgKiBXZWJLaXRTZXR0aW5nczplbmFibGUtaHRtbDUtZGF0YWJhc2U6CiAgICAgICoKLSAg
ICAgKiBXaGV0aGVyIHRvIGVuYWJsZSBIVE1MNSBjbGllbnQtc2lkZSBTUUwgZGF0YWJhc2Ugc3Vw
cG9ydC4gQ2xpZW50LXNpZGUKLSAgICAgKiBTUUwgZGF0YWJhc2UgYWxsb3dzIHdlYiBwYWdlcyB0
byBzdG9yZSBzdHJ1Y3R1cmVkIGRhdGEgYW5kIGJlIGFibGUgdG8KLSAgICAgKiB1c2UgU1FMIHRv
IG1hbmlwdWxhdGUgdGhhdCBkYXRhIGFzeW5jaHJvbm91c2x5LgotICAgICAqCi0gICAgICogSFRN
TDUgZGF0YWJhc2Ugc3BlY2lmaWNhdGlvbiBpcyBhdmFpbGFibGUgYXQKLSAgICAgKiBodHRwOi8v
d3d3LnczLm9yZy9UUi93ZWJkYXRhYmFzZS8uCisgICAgICogV2hldGhlciB0byBlbmFibGUgSFRN
TDUgY2xpZW50LXNpZGUgU1FMIGRhdGFiYXNlIHN1cHBvcnQgKEluZGV4ZWREQikuCiAgICAgICov
CiAgICAgZ19vYmplY3RfY2xhc3NfaW5zdGFsbF9wcm9wZXJ0eShnT2JqZWN0Q2xhc3MsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQUk9QX0VOQUJMRV9IVE1MNV9EQVRBQkFT
RSwKQEAgLTE3MTUsNyArMTcxMCw3IEBAIHZvaWQgd2Via2l0X3NldHRpbmdzX3NldF9lbmFibGVf
aHRtbDVfbG9jYWxfc3RvcmFnZShXZWJLaXRTZXR0aW5ncyogc2V0dGluZ3MsIGdiCiAgKgogICog
R2V0IHRoZSAjV2ViS2l0U2V0dGluZ3M6ZW5hYmxlLWh0bWw1LWRhdGFiYXNlIHByb3BlcnR5Lgog
ICoKLSAqIFJldHVybnM6ICVUUlVFIElmIEhUTUw1IGRhdGFiYXNlIHN1cHBvcnQgaXMgZW5hYmxl
ZCBvciAlRkFMU0Ugb3RoZXJ3aXNlLgorICogUmV0dXJuczogJVRSVUUgaWYgSW5kZXhlZERCIHN1
cHBvcnQgaXMgZW5hYmxlZCBvciAlRkFMU0Ugb3RoZXJ3aXNlLgogICovCiBnYm9vbGVhbiB3ZWJr
aXRfc2V0dGluZ3NfZ2V0X2VuYWJsZV9odG1sNV9kYXRhYmFzZShXZWJLaXRTZXR0aW5ncyogc2V0
dGluZ3MpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9X
ZWJLaXRXZWJDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dl
YktpdFdlYkNvbnRleHQuY3BwCmluZGV4IDFlY2JmMzgwM2U1ZTQwNWQ1MTc2ZjkzNTFkOTIzZThj
ZDE3MzQzMjcuLjkxZjQ4MDI4YTZiYTM4NGQyM2ZjMzI3YmVjODViMDJlNWY2ZjQ3ZDIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFdlYkNvbnRleHQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFdlYkNvbnRl
eHQuY3BwCkBAIC0zNDMsNyArMzQzLDkgQEAgc3RhdGljIHZvaWQgd2Via2l0V2ViQ29udGV4dENv
bnN0cnVjdGVkKEdPYmplY3QqIG9iamVjdCkKICAgICAgICAgY29uZmlndXJhdGlvbi5zZXREaXNr
Q2FjaGVEaXJlY3RvcnkoRmlsZVN5c3RlbTo6cGF0aEJ5QXBwZW5kaW5nQ29tcG9uZW50KEZpbGVT
eXN0ZW06OnN0cmluZ0Zyb21GaWxlU3lzdGVtUmVwcmVzZW50YXRpb24od2Via2l0X3dlYnNpdGVf
ZGF0YV9tYW5hZ2VyX2dldF9kaXNrX2NhY2hlX2RpcmVjdG9yeShwcml2LT53ZWJzaXRlRGF0YU1h
bmFnZXIuZ2V0KCkpKSwgbmV0d29ya0NhY2hlU3ViZGlyZWN0b3J5KSk7CiAgICAgICAgIGNvbmZp
Z3VyYXRpb24uc2V0QXBwbGljYXRpb25DYWNoZURpcmVjdG9yeShGaWxlU3lzdGVtOjpzdHJpbmdG
cm9tRmlsZVN5c3RlbVJlcHJlc2VudGF0aW9uKHdlYmtpdF93ZWJzaXRlX2RhdGFfbWFuYWdlcl9n
ZXRfb2ZmbGluZV9hcHBsaWNhdGlvbl9jYWNoZV9kaXJlY3RvcnkocHJpdi0+d2Vic2l0ZURhdGFN
YW5hZ2VyLmdldCgpKSkpOwogICAgICAgICBjb25maWd1cmF0aW9uLnNldEluZGV4ZWREQkRhdGFi
YXNlRGlyZWN0b3J5KEZpbGVTeXN0ZW06OnN0cmluZ0Zyb21GaWxlU3lzdGVtUmVwcmVzZW50YXRp
b24od2Via2l0X3dlYnNpdGVfZGF0YV9tYW5hZ2VyX2dldF9pbmRleGVkZGJfZGlyZWN0b3J5KHBy
aXYtPndlYnNpdGVEYXRhTWFuYWdlci5nZXQoKSkpKTsKK0FMTE9XX0RFUFJFQ0FURURfREVDTEFS
QVRJT05TX0JFR0lOCiAgICAgICAgIGNvbmZpZ3VyYXRpb24uc2V0V2ViU1FMRGF0YWJhc2VEaXJl
Y3RvcnkoRmlsZVN5c3RlbTo6c3RyaW5nRnJvbUZpbGVTeXN0ZW1SZXByZXNlbnRhdGlvbih3ZWJr
aXRfd2Vic2l0ZV9kYXRhX21hbmFnZXJfZ2V0X3dlYnNxbF9kaXJlY3RvcnkocHJpdi0+d2Vic2l0
ZURhdGFNYW5hZ2VyLmdldCgpKSkpOworQUxMT1dfREVQUkVDQVRFRF9ERUNMQVJBVElPTlNfRU5E
CiAgICAgfSBlbHNlIGlmICghcHJpdi0+bG9jYWxTdG9yYWdlRGlyZWN0b3J5LmlzTnVsbCgpKQog
ICAgICAgICBjb25maWd1cmF0aW9uLnNldExvY2FsU3RvcmFnZURpcmVjdG9yeShGaWxlU3lzdGVt
OjpzdHJpbmdGcm9tRmlsZVN5c3RlbVJlcHJlc2VudGF0aW9uKHByaXYtPmxvY2FsU3RvcmFnZURp
cmVjdG9yeS5kYXRhKCkpKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL2dsaWIvV2ViS2l0V2Vic2l0ZURhdGFNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9nbGliL1dlYktpdFdlYnNpdGVEYXRhTWFuYWdlci5jcHAKaW5kZXggMWNjMDY1
NDExZTczMWZhNjcyYzQzNGYzYjNjMGFiZTlhNTY5M2ViZC4uZDdmYjE4ZjBlN2FjYmU5ZTRlOWI3
NDM5ODIwZTUwOGRkMzg4OTUwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL2dsaWIvV2ViS2l0V2Vic2l0ZURhdGFNYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRXZWJzaXRlRGF0YU1hbmFnZXIuY3BwCkBAIC0xMzIs
NyArMTMyLDkgQEAgc3RhdGljIHZvaWQgd2Via2l0V2Vic2l0ZURhdGFNYW5hZ2VyR2V0UHJvcGVy
dHkoR09iamVjdCogb2JqZWN0LCBndWludCBwcm9wSUQsIEcKICAgICAgICAgZ192YWx1ZV9zZXRf
c3RyaW5nKHZhbHVlLCB3ZWJraXRfd2Vic2l0ZV9kYXRhX21hbmFnZXJfZ2V0X2luZGV4ZWRkYl9k
aXJlY3RvcnkobWFuYWdlcikpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFBST1BfV0VCU1FM
X0RJUkVDVE9SWToKK0FMTE9XX0RFUFJFQ0FURURfREVDTEFSQVRJT05TX0JFR0lOCiAgICAgICAg
IGdfdmFsdWVfc2V0X3N0cmluZyh2YWx1ZSwgd2Via2l0X3dlYnNpdGVfZGF0YV9tYW5hZ2VyX2dl
dF93ZWJzcWxfZGlyZWN0b3J5KG1hbmFnZXIpKTsKK0FMTE9XX0RFUFJFQ0FURURfREVDTEFSQVRJ
T05TX0VORAogICAgICAgICBicmVhazsKICAgICBjYXNlIFBST1BfSVNfRVBIRU1FUkFMOgogICAg
ICAgICBnX3ZhbHVlX3NldF9ib29sZWFuKHZhbHVlLCB3ZWJraXRfd2Vic2l0ZV9kYXRhX21hbmFn
ZXJfaXNfZXBoZW1lcmFsKG1hbmFnZXIpKTsKQEAgLTMxNyw2ICszMTksOCBAQCBzdGF0aWMgdm9p
ZCB3ZWJraXRfd2Vic2l0ZV9kYXRhX21hbmFnZXJfY2xhc3NfaW5pdChXZWJLaXRXZWJzaXRlRGF0
YU1hbmFnZXJDbGFzcwogICAgICAqIFRoZSBkaXJlY3Rvcnkgd2hlcmUgV2ViU1FMIGRhdGFiYXNl
cyB3aWxsIGJlIHN0b3JlZC4KICAgICAgKgogICAgICAqIFNpbmNlOiAyLjEwCisgICAgICoKKyAg
ICAgKiBEZXByZWNhdGVkOiAyLjI0LiBXZWJTUUwgaXMgbm8gbG9uZ2VyIHN1cHBvcnRlZC4gVXNl
IEluZGV4ZWREQiBpbnN0ZWFkLgogICAgICAqLwogICAgIGdfb2JqZWN0X2NsYXNzX2luc3RhbGxf
cHJvcGVydHkoCiAgICAgICAgIGdPYmplY3RDbGFzcywKQEAgLTMyNiw3ICszMzAsNyBAQCBzdGF0
aWMgdm9pZCB3ZWJraXRfd2Vic2l0ZV9kYXRhX21hbmFnZXJfY2xhc3NfaW5pdChXZWJLaXRXZWJz
aXRlRGF0YU1hbmFnZXJDbGFzcwogICAgICAgICAgICAgXygiV2ViU1FMIERpcmVjdG9yeSIpLAog
ICAgICAgICAgICAgXygiVGhlIGRpcmVjdG9yeSB3aGVyZSBXZWJTUUwgZGF0YWJhc2VzIHdpbGwg
YmUgc3RvcmVkIiksCiAgICAgICAgICAgICBudWxscHRyLAotICAgICAgICAgICAgc3RhdGljX2Nh
c3Q8R1BhcmFtRmxhZ3M+KFdFQktJVF9QQVJBTV9SRUFEV1JJVEUgfCBHX1BBUkFNX0NPTlNUUlVD
VF9PTkxZKSkpOworICAgICAgICAgICAgc3RhdGljX2Nhc3Q8R1BhcmFtRmxhZ3M+KFdFQktJVF9Q
QVJBTV9SRUFEV1JJVEUgfCBHX1BBUkFNX0NPTlNUUlVDVF9PTkxZIHwgR19QQVJBTV9ERVBSRUNB
VEVEKSkpOwogCiAgICAgLyoqCiAgICAgICogV2ViS2l0V2Vic2l0ZURhdGFNYW5hZ2VyOmlzLWVw
aGVtZXJhbDoKQEAgLTU5Miw2ICs1OTYsOCBAQCBjb25zdCBnY2hhciogd2Via2l0X3dlYnNpdGVf
ZGF0YV9tYW5hZ2VyX2dldF9pbmRleGVkZGJfZGlyZWN0b3J5KFdlYktpdFdlYnNpdGVEYQogICog
UmV0dXJuczogKGFsbG93LW5vbmUpOiB0aGUgZGlyZWN0b3J5IHdoZXJlIFdlYlNRTCBkYXRhYmFz
ZXMgYXJlIHN0b3JlZCBvciAlTlVMTCBpZiBAbWFuYWdlciBpcyBlcGhlbWVyYWwuCiAgKgogICog
U2luY2U6IDIuMTAKKyAqCisgKiBEZXByZWNhdGVkOiAyLjI0LiBXZWJTUUwgaXMgbm8gbG9uZ2Vy
IHN1cHBvcnRlZC4gVXNlIEluZGV4ZWREQiBpbnN0ZWFkLgogICovCiBjb25zdCBnY2hhciogd2Vi
a2l0X3dlYnNpdGVfZGF0YV9tYW5hZ2VyX2dldF93ZWJzcWxfZGlyZWN0b3J5KFdlYktpdFdlYnNp
dGVEYXRhTWFuYWdlciogbWFuYWdlcikKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9ndGsvV2ViS2l0V2Vic2l0ZURhdGEuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9ndGsvV2ViS2l0V2Vic2l0ZURhdGEuaAppbmRleCAyMDhjNjViZmU4YzE0ZjZhZjlm
NjQ2ZjMyMWI0ZTAwZDAyYmJiNTczLi41ZWYyMjMwNmVkZTk0YzNkMjcwZDM5NjU3YjJlM2YyMDIy
YTRmNmEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktp
dFdlYnNpdGVEYXRhLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0ay9XZWJL
aXRXZWJzaXRlRGF0YS5oCkBAIC00MCw3ICs0MCw3IEBAIHR5cGVkZWYgc3RydWN0IF9XZWJLaXRX
ZWJzaXRlRGF0YSBXZWJLaXRXZWJzaXRlRGF0YTsKICAqIEBXRUJLSVRfV0VCU0lURV9EQVRBX09G
RkxJTkVfQVBQTElDQVRJT05fQ0FDSEU6IE9mZmxpbmUgd2ViIGFwcGxpY2F0aW9uIGNhY2hlLgog
ICogQFdFQktJVF9XRUJTSVRFX0RBVEFfU0VTU0lPTl9TVE9SQUdFOiBTZXNzaW9uIHN0b3JhZ2Ug
ZGF0YS4KICAqIEBXRUJLSVRfV0VCU0lURV9EQVRBX0xPQ0FMX1NUT1JBR0U6IExvY2FsIHN0b3Jh
Z2UgZGF0YS4KLSAqIEBXRUJLSVRfV0VCU0lURV9EQVRBX1dFQlNRTF9EQVRBQkFTRVM6IFdlYlNR
TCBkYXRhYmFzZXMuCisgKiBAV0VCS0lUX1dFQlNJVEVfREFUQV9XRUJTUUxfREFUQUJBU0VTOiBX
ZWJTUUwgZGF0YWJhc2VzIChkZXByZWNhdGVkKS4KICAqIEBXRUJLSVRfV0VCU0lURV9EQVRBX0lO
REVYRUREQl9EQVRBQkFTRVM6IEluZGV4ZWREQiBkYXRhYmFzZXMuCiAgKiBAV0VCS0lUX1dFQlNJ
VEVfREFUQV9QTFVHSU5fREFUQTogUGx1Z2lucyBkYXRhLgogICogQFdFQktJVF9XRUJTSVRFX0RB
VEFfQ09PS0lFUzogQ29va2llcy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9ndGsvV2ViS2l0V2Vic2l0ZURhdGFNYW5hZ2VyLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvZ3RrL1dlYktpdFdlYnNpdGVEYXRhTWFuYWdlci5oCmluZGV4IGNjNjJhZDNkNDI1
NThiMTVmYmY1YThlZjc3NjYzYmU3YWNjYWM0NDAuLjhkZTdjNGJiMmMyNjBlNTcwZmM2ZDA5ZWIw
NDE0ZGY5MTIyM2UzNzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9n
dGsvV2ViS2l0V2Vic2l0ZURhdGFNYW5hZ2VyLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL2d0ay9XZWJLaXRXZWJzaXRlRGF0YU1hbmFnZXIuaApAQCAtODcsNyArODcsNyBAQCB3
ZWJraXRfd2Vic2l0ZV9kYXRhX21hbmFnZXJfZ2V0X29mZmxpbmVfYXBwbGljYXRpb25fY2FjaGVf
ZGlyZWN0b3J5ICAgKFdlYktpdFdlYgogV0VCS0lUX0FQSSBjb25zdCBnY2hhciAqCiB3ZWJraXRf
d2Vic2l0ZV9kYXRhX21hbmFnZXJfZ2V0X2luZGV4ZWRkYl9kaXJlY3RvcnkgICAgICAgICAgICAg
ICAgICAgKFdlYktpdFdlYnNpdGVEYXRhTWFuYWdlciAqbWFuYWdlcik7CiAKLVdFQktJVF9BUEkg
Y29uc3QgZ2NoYXIgKgorV0VCS0lUX0RFUFJFQ0FURUQgY29uc3QgZ2NoYXIgKgogd2Via2l0X3dl
YnNpdGVfZGF0YV9tYW5hZ2VyX2dldF93ZWJzcWxfZGlyZWN0b3J5ICAgICAgICAgICAgICAgICAg
ICAgIChXZWJLaXRXZWJzaXRlRGF0YU1hbmFnZXIgKm1hbmFnZXIpOwogCiBXRUJLSVRfQVBJIFdl
YktpdENvb2tpZU1hbmFnZXIgKgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL3dwZS9XZWJLaXRXZWJzaXRlRGF0YS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L3dwZS9XZWJLaXRXZWJzaXRlRGF0YS5oCmluZGV4IDQ5NTJjOGFiOTgzNzFiNWNmMTNhZDg0NTg5
M2Q3ZDI4MzRhYTIzMWYuLjVhNjcxZmZmZTAzNGRhN2UyOWM1ODEwNWM0NWMxOTdlYjEyMmRiOWEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS93cGUvV2ViS2l0V2Vic2l0
ZURhdGEuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvd3BlL1dlYktpdFdlYnNp
dGVEYXRhLmgKQEAgLTQwLDcgKzQwLDcgQEAgdHlwZWRlZiBzdHJ1Y3QgX1dlYktpdFdlYnNpdGVE
YXRhIFdlYktpdFdlYnNpdGVEYXRhOwogICogQFdFQktJVF9XRUJTSVRFX0RBVEFfT0ZGTElORV9B
UFBMSUNBVElPTl9DQUNIRTogT2ZmbGluZSB3ZWIgYXBwbGljYXRpb24gY2FjaGUuCiAgKiBAV0VC
S0lUX1dFQlNJVEVfREFUQV9TRVNTSU9OX1NUT1JBR0U6IFNlc3Npb24gc3RvcmFnZSBkYXRhLgog
ICogQFdFQktJVF9XRUJTSVRFX0RBVEFfTE9DQUxfU1RPUkFHRTogTG9jYWwgc3RvcmFnZSBkYXRh
LgotICogQFdFQktJVF9XRUJTSVRFX0RBVEFfV0VCU1FMX0RBVEFCQVNFUzogV2ViU1FMIGRhdGFi
YXNlcy4KKyAqIEBXRUJLSVRfV0VCU0lURV9EQVRBX1dFQlNRTF9EQVRBQkFTRVM6IFdlYlNRTCBk
YXRhYmFzZXMgKGRlcHJlY2F0ZWQpLgogICogQFdFQktJVF9XRUJTSVRFX0RBVEFfSU5ERVhFRERC
X0RBVEFCQVNFUzogSW5kZXhlZERCIGRhdGFiYXNlcy4KICAqIEBXRUJLSVRfV0VCU0lURV9EQVRB
X1BMVUdJTl9EQVRBOiBQbHVnaW5zIGRhdGEuCiAgKiBAV0VCS0lUX1dFQlNJVEVfREFUQV9DT09L
SUVTOiBDb29raWVzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL3dw
ZS9XZWJLaXRXZWJzaXRlRGF0YU1hbmFnZXIuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS93cGUvV2ViS2l0V2Vic2l0ZURhdGFNYW5hZ2VyLmgKaW5kZXggMTY1NWQ1MzZhM2QxNmUyYzNh
ZmYyYTVhY2RiMDVjYTQwNjY0N2MzMy4uMWU2Y2M1NmFhNGY3ZWMzODdhYzY2ZGY2MDgxM2M4NTJi
YTcwMTIwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL3dwZS9XZWJL
aXRXZWJzaXRlRGF0YU1hbmFnZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
d3BlL1dlYktpdFdlYnNpdGVEYXRhTWFuYWdlci5oCkBAIC04Nyw3ICs4Nyw3IEBAIHdlYmtpdF93
ZWJzaXRlX2RhdGFfbWFuYWdlcl9nZXRfb2ZmbGluZV9hcHBsaWNhdGlvbl9jYWNoZV9kaXJlY3Rv
cnkgICAoV2ViS2l0V2ViCiBXRUJLSVRfQVBJIGNvbnN0IGdjaGFyICoKIHdlYmtpdF93ZWJzaXRl
X2RhdGFfbWFuYWdlcl9nZXRfaW5kZXhlZGRiX2RpcmVjdG9yeSAgICAgICAgICAgICAgICAgICAo
V2ViS2l0V2Vic2l0ZURhdGFNYW5hZ2VyICptYW5hZ2VyKTsKIAotV0VCS0lUX0FQSSBjb25zdCBn
Y2hhciAqCitXRUJLSVRfREVQUkVDQVRFRCBjb25zdCBnY2hhciAqCiB3ZWJraXRfd2Vic2l0ZV9k
YXRhX21hbmFnZXJfZ2V0X3dlYnNxbF9kaXJlY3RvcnkgICAgICAgICAgICAgICAgICAgICAgKFdl
YktpdFdlYnNpdGVEYXRhTWFuYWdlciAqbWFuYWdlcik7CiAKIFdFQktJVF9BUEkgV2ViS2l0Q29v
a2llTWFuYWdlciAqCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VM
b2cKaW5kZXggYjQ2NjBmMDNjMDlkOWI2ZDQxMTAyNGE5MjU1OTdmZjhmYjk2ZmQ3MC4uZDU5YzJl
YjFjODdlYTc2NWYyZWI2MDg2N2FmMDQ2NzA3MzYxNzEwNiAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hh
bmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE5LTAyLTI1
ICBNaWNoYWVsIENhdGFuemFybyAgPG1jYXRhbnphcm9AaWdhbGlhLmNvbT4KKworICAgICAgICBb
V1BFXVtHVEtdIERlcHJlY2F0ZSBXZWJTUUwgQVBJcworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk1MDExCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBNaW5pQnJvd3Nlci9ndGsvbWFpbi5jOgorICAgICAg
ICAoZ290V2Vic2l0ZURhdGFDYWxsYmFjayk6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJLaXRHTGliL1Rlc3RXZWJzaXRlRGF0YS5jcHA6CisgICAgICAgICh0ZXN0V2Vic2l0ZURh
dGFDb25maWd1cmF0aW9uKToKKyAgICAgICAgKHRlc3RXZWJzaXRlRGF0YUVwaGVtZXJhbCk6CisK
IDIwMTktMDItMjUgIFphbiBEb2JlcnNlayAgPHpkb2JlcnNla0BpZ2FsaWEuY29tPgogCiAgICAg
ICAgIFtXUEVdIEJ1bXAgV1BFQmFja2VuZC1mZG8gSmhidWlsZCBwYWNrYWdlIHRvIGxhdGVzdCBj
aGFuZ2VzCmRpZmYgLS1naXQgYS9Ub29scy9NaW5pQnJvd3Nlci9ndGsvbWFpbi5jIGIvVG9vbHMv
TWluaUJyb3dzZXIvZ3RrL21haW4uYwppbmRleCAxMzMyODRmZjE1YThlMjUwYTY3MGFlNTNkYmVl
ODJiZTlhODQ0YTU5Li44NDM5MDM4YzYxYTIxOGEyNzMyZDQwMzI2MDY3MzgyMzI0OWJiZGJhIDEw
MDY0NAotLS0gYS9Ub29scy9NaW5pQnJvd3Nlci9ndGsvbWFpbi5jCisrKyBiL1Rvb2xzL01pbmlC
cm93c2VyL2d0ay9tYWluLmMKQEAgLTQxMSw3ICs0MTEsNiBAQCBzdGF0aWMgdm9pZCBnb3RXZWJz
aXRlRGF0YUNhbGxiYWNrKFdlYktpdFdlYnNpdGVEYXRhTWFuYWdlciAqbWFuYWdlciwgR0FzeW5j
UmVzdQogICAgIGFib3V0RGF0YUZpbGxUYWJsZShyZXN1bHQsIGRhdGFSZXF1ZXN0LCBkYXRhTGlz
dCwgIkRpc2sgQ2FjaGUiLCBXRUJLSVRfV0VCU0lURV9EQVRBX0RJU0tfQ0FDSEUsIHdlYmtpdF93
ZWJzaXRlX2RhdGFfbWFuYWdlcl9nZXRfZGlza19jYWNoZV9kaXJlY3RvcnkobWFuYWdlciksIHBh
Z2VJRCk7CiAgICAgYWJvdXREYXRhRmlsbFRhYmxlKHJlc3VsdCwgZGF0YVJlcXVlc3QsIGRhdGFM
aXN0LCAiU2Vzc2lvbiBTdG9yYWdlIiwgV0VCS0lUX1dFQlNJVEVfREFUQV9TRVNTSU9OX1NUT1JB
R0UsIE5VTEwsIHBhZ2VJRCk7CiAgICAgYWJvdXREYXRhRmlsbFRhYmxlKHJlc3VsdCwgZGF0YVJl
cXVlc3QsIGRhdGFMaXN0LCAiTG9jYWwgU3RvcmFnZSIsIFdFQktJVF9XRUJTSVRFX0RBVEFfTE9D
QUxfU1RPUkFHRSwgd2Via2l0X3dlYnNpdGVfZGF0YV9tYW5hZ2VyX2dldF9sb2NhbF9zdG9yYWdl
X2RpcmVjdG9yeShtYW5hZ2VyKSwgcGFnZUlEKTsKLSAgICBhYm91dERhdGFGaWxsVGFibGUocmVz
dWx0LCBkYXRhUmVxdWVzdCwgZGF0YUxpc3QsICJXZWJTUUwgRGF0YWJhc2VzIiwgV0VCS0lUX1dF
QlNJVEVfREFUQV9XRUJTUUxfREFUQUJBU0VTLCB3ZWJraXRfd2Vic2l0ZV9kYXRhX21hbmFnZXJf
Z2V0X3dlYnNxbF9kaXJlY3RvcnkobWFuYWdlciksIHBhZ2VJRCk7CiAgICAgYWJvdXREYXRhRmls
bFRhYmxlKHJlc3VsdCwgZGF0YVJlcXVlc3QsIGRhdGFMaXN0LCAiSW5kZXhlZERCIERhdGFiYXNl
cyIsIFdFQktJVF9XRUJTSVRFX0RBVEFfSU5ERVhFRERCX0RBVEFCQVNFUywgd2Via2l0X3dlYnNp
dGVfZGF0YV9tYW5hZ2VyX2dldF9pbmRleGVkZGJfZGlyZWN0b3J5KG1hbmFnZXIpLCBwYWdlSUQp
OwogICAgIGFib3V0RGF0YUZpbGxUYWJsZShyZXN1bHQsIGRhdGFSZXF1ZXN0LCBkYXRhTGlzdCwg
IlBsdWdpbnMgRGF0YSIsIFdFQktJVF9XRUJTSVRFX0RBVEFfUExVR0lOX0RBVEEsIE5VTEwsIHBh
Z2VJRCk7CiAgICAgYWJvdXREYXRhRmlsbFRhYmxlKHJlc3VsdCwgZGF0YVJlcXVlc3QsIGRhdGFM
aXN0LCAiT2ZmbGluZSBXZWIgQXBwbGljYXRpb25zIENhY2hlIiwgV0VCS0lUX1dFQlNJVEVfREFU
QV9PRkZMSU5FX0FQUExJQ0FUSU9OX0NBQ0hFLCB3ZWJraXRfd2Vic2l0ZV9kYXRhX21hbmFnZXJf
Z2V0X29mZmxpbmVfYXBwbGljYXRpb25fY2FjaGVfZGlyZWN0b3J5KG1hbmFnZXIpLCBwYWdlSUQp
OwpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRHTGliL1Rlc3RX
ZWJzaXRlRGF0YS5jcHAgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdEdMaWIvVGVz
dFdlYnNpdGVEYXRhLmNwcAppbmRleCA2Mzg3OGYxNDM4OWI4ZDM1MTAwNGU1ZThlN2I0OTQwZmEw
NTZlN2UzLi43NDQ0MjQ3YmRkNTgxMTEyZjU3ZTIxZWY3ODhiMTRhM2RkM2JjY2VkIDEwMDY0NAot
LS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdEdMaWIvVGVzdFdlYnNpdGVEYXRh
LmNwcAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdEdMaWIvVGVzdFdlYnNp
dGVEYXRhLmNwcApAQCAtMTQ4LDEwICsxNDgsMTIgQEAgc3RhdGljIHZvaWQgdGVzdFdlYnNpdGVE
YXRhQ29uZmlndXJhdGlvbihXZWJzaXRlRGF0YVRlc3QqIHRlc3QsIGdjb25zdHBvaW50ZXIpCiAg
ICAgZ19hc3NlcnRfY21wc3RyKGluZGV4ZWREQkRpcmVjdG9yeS5nZXQoKSwgPT0sIHdlYmtpdF93
ZWJzaXRlX2RhdGFfbWFuYWdlcl9nZXRfaW5kZXhlZGRiX2RpcmVjdG9yeSh0ZXN0LT5tX21hbmFn
ZXIpKTsKICAgICBnX2Fzc2VydF90cnVlKGdfZmlsZV90ZXN0KGluZGV4ZWREQkRpcmVjdG9yeS5n
ZXQoKSwgR19GSUxFX1RFU1RfSVNfRElSKSk7CiAKK0FMTE9XX0RFUFJFQ0FURURfREVDTEFSQVRJ
T05TX0JFR0lOCiAgICAgR1VuaXF1ZVB0cjxjaGFyPiB3ZWJTUUxEaXJlY3RvcnkoZ19idWlsZF9m
aWxlbmFtZShUZXN0OjpkYXRhRGlyZWN0b3J5KCksICJ3ZWJzcWwiLCBudWxscHRyKSk7CiAgICAg
Z19hc3NlcnRfY21wc3RyKHdlYlNRTERpcmVjdG9yeS5nZXQoKSwgPT0sIHdlYmtpdF93ZWJzaXRl
X2RhdGFfbWFuYWdlcl9nZXRfd2Vic3FsX2RpcmVjdG9yeSh0ZXN0LT5tX21hbmFnZXIpKTsKICAg
ICB0ZXN0LT5ydW5KYXZhU2NyaXB0QW5kV2FpdFVudGlsRmluaXNoZWQoImRiID0gb3BlbkRhdGFi
YXNlKFwiVGVzdERhdGFiYXNlXCIsIFwiMS4wXCIsIFwiVGVzdERhdGFiYXNlXCIsIDEpOyIsIG51
bGxwdHIpOwogICAgIGdfYXNzZXJ0X3RydWUoZ19maWxlX3Rlc3Qod2ViU1FMRGlyZWN0b3J5Lmdl
dCgpLCBHX0ZJTEVfVEVTVF9JU19ESVIpKTsKK0FMTE9XX0RFUFJFQ0FURURfREVDTEFSQVRJT05T
X0VORAogCiAgICAgdGVzdC0+bG9hZFVSSShrU2VydmVyLT5nZXRVUklGb3JQYXRoKCIvYXBwY2Fj
aGUiKS5kYXRhKCkpOwogICAgIHRlc3QtPndhaXRVbnRpbExvYWRGaW5pc2hlZCgpOwpAQCAtMTgx
LDcgKzE4Myw5IEBAIHN0YXRpYyB2b2lkIHRlc3RXZWJzaXRlRGF0YUNvbmZpZ3VyYXRpb24oV2Vi
c2l0ZURhdGFUZXN0KiB0ZXN0LCBnY29uc3Rwb2ludGVyKQogICAgIGdfYXNzZXJ0X2NtcHN0cih3
ZWJraXRfd2Vic2l0ZV9kYXRhX21hbmFnZXJfZ2V0X2luZGV4ZWRkYl9kaXJlY3RvcnkodGVzdC0+
bV9tYW5hZ2VyKSwgIT0sIHdlYmtpdF93ZWJzaXRlX2RhdGFfbWFuYWdlcl9nZXRfaW5kZXhlZGRi
X2RpcmVjdG9yeShkZWZhdWx0TWFuYWdlcikpOwogICAgIGdfYXNzZXJ0X2NtcHN0cih3ZWJraXRf
d2Vic2l0ZV9kYXRhX21hbmFnZXJfZ2V0X2Rpc2tfY2FjaGVfZGlyZWN0b3J5KHRlc3QtPm1fbWFu
YWdlciksICE9LCB3ZWJraXRfd2Vic2l0ZV9kYXRhX21hbmFnZXJfZ2V0X2Rpc2tfY2FjaGVfZGly
ZWN0b3J5KGRlZmF1bHRNYW5hZ2VyKSk7CiAgICAgZ19hc3NlcnRfY21wc3RyKHdlYmtpdF93ZWJz
aXRlX2RhdGFfbWFuYWdlcl9nZXRfb2ZmbGluZV9hcHBsaWNhdGlvbl9jYWNoZV9kaXJlY3Rvcnko
dGVzdC0+bV9tYW5hZ2VyKSwgIT0sIHdlYmtpdF93ZWJzaXRlX2RhdGFfbWFuYWdlcl9nZXRfb2Zm
bGluZV9hcHBsaWNhdGlvbl9jYWNoZV9kaXJlY3RvcnkoZGVmYXVsdE1hbmFnZXIpKTsKK0FMTE9X
X0RFUFJFQ0FURURfREVDTEFSQVRJT05TX0JFR0lOCiAgICAgZ19hc3NlcnRfY21wc3RyKHdlYmtp
dF93ZWJzaXRlX2RhdGFfbWFuYWdlcl9nZXRfd2Vic3FsX2RpcmVjdG9yeSh0ZXN0LT5tX21hbmFn
ZXIpLCAhPSwgd2Via2l0X3dlYnNpdGVfZGF0YV9tYW5hZ2VyX2dldF93ZWJzcWxfZGlyZWN0b3J5
KGRlZmF1bHRNYW5hZ2VyKSk7CitBTExPV19ERVBSRUNBVEVEX0RFQ0xBUkFUSU9OU19FTkQKIAog
ICAgIC8vIFVzaW5nIFRlc3Q6OmRhdGFEaXJlY3RvcnkoKSB3ZSBnZXQgdGhlIGRlZmF1bHQgY29u
ZmlndXJhdGlvbiBidXQgZm9yIGEgZGlmZmVycmVudCBwcmVmaXguCiAgICAgR1JlZlB0cjxXZWJL
aXRXZWJzaXRlRGF0YU1hbmFnZXI+IGJhc2VEYXRhTWFuYWdlciA9IGFkb3B0R1JlZih3ZWJraXRf
d2Vic2l0ZV9kYXRhX21hbmFnZXJfbmV3KCJiYXNlLWRhdGEtZGlyZWN0b3J5IiwgVGVzdDo6ZGF0
YURpcmVjdG9yeSgpLCAiYmFzZS1jYWNoZS1kaXJlY3RvcnkiLCBUZXN0OjpkYXRhRGlyZWN0b3J5
KCksIG51bGxwdHIpKTsKQEAgLTE5Niw4ICsyMDAsMTAgQEAgc3RhdGljIHZvaWQgdGVzdFdlYnNp
dGVEYXRhQ29uZmlndXJhdGlvbihXZWJzaXRlRGF0YVRlc3QqIHRlc3QsIGdjb25zdHBvaW50ZXIp
CiAgICAgYXBwbGljYXRpb25DYWNoZURpcmVjdG9yeS5yZXNldChnX2J1aWxkX2ZpbGVuYW1lKFRl
c3Q6OmRhdGFEaXJlY3RvcnkoKSwgImFwcGxpY2F0aW9ucyIsIG51bGxwdHIpKTsKICAgICBnX2Fz
c2VydF9jbXBzdHIod2Via2l0X3dlYnNpdGVfZGF0YV9tYW5hZ2VyX2dldF9vZmZsaW5lX2FwcGxp
Y2F0aW9uX2NhY2hlX2RpcmVjdG9yeShiYXNlRGF0YU1hbmFnZXIuZ2V0KCkpLCA9PSwgYXBwbGlj
YXRpb25DYWNoZURpcmVjdG9yeS5nZXQoKSk7CiAKK0FMTE9XX0RFUFJFQ0FURURfREVDTEFSQVRJ
T05TX0JFR0lOCiAgICAgd2ViU1FMRGlyZWN0b3J5LnJlc2V0KGdfYnVpbGRfZmlsZW5hbWUoVGVz
dDo6ZGF0YURpcmVjdG9yeSgpLCAiZGF0YWJhc2VzIiwgbnVsbHB0cikpOwogICAgIGdfYXNzZXJ0
X2NtcHN0cih3ZWJraXRfd2Vic2l0ZV9kYXRhX21hbmFnZXJfZ2V0X3dlYnNxbF9kaXJlY3Rvcnko
YmFzZURhdGFNYW5hZ2VyLmdldCgpKSwgPT0sIHdlYlNRTERpcmVjdG9yeS5nZXQoKSk7CitBTExP
V19ERVBSRUNBVEVEX0RFQ0xBUkFUSU9OU19FTkQKIAogICAgIGdfYXNzZXJ0X2NtcHN0cih3ZWJr
aXRfd2Vic2l0ZV9kYXRhX21hbmFnZXJfZ2V0X2Rpc2tfY2FjaGVfZGlyZWN0b3J5KGJhc2VEYXRh
TWFuYWdlci5nZXQoKSksID09LCBUZXN0OjpkYXRhRGlyZWN0b3J5KCkpOwogCkBAIC0yMTAsNyAr
MjE2LDkgQEAgc3RhdGljIHZvaWQgdGVzdFdlYnNpdGVEYXRhQ29uZmlndXJhdGlvbihXZWJzaXRl
RGF0YVRlc3QqIHRlc3QsIGdjb25zdHBvaW50ZXIpCiAgICAgZ19hc3NlcnRfY21wc3RyKHdlYmtp
dF93ZWJzaXRlX2RhdGFfbWFuYWdlcl9nZXRfb2ZmbGluZV9hcHBsaWNhdGlvbl9jYWNoZV9kaXJl
Y3RvcnkoYmFzZURhdGFNYW5hZ2VyLmdldCgpKSwgPT0sIGFwcGxpY2F0aW9uQ2FjaGVEaXJlY3Rv
cnkuZ2V0KCkpOwogICAgIC8vIFRoZSByZXN1bHQgc2hvdWxkIGJlIHRoZSBzYW1lIGFzIHByZXZp
b3VzIG1hbmFnZXIuCiAgICAgZ19hc3NlcnRfY21wc3RyKHdlYmtpdF93ZWJzaXRlX2RhdGFfbWFu
YWdlcl9nZXRfbG9jYWxfc3RvcmFnZV9kaXJlY3RvcnkoYmFzZURhdGFNYW5hZ2VyLmdldCgpKSwg
PT0sIGxvY2FsU3RvcmFnZURpcmVjdG9yeS5nZXQoKSk7CitBTExPV19ERVBSRUNBVEVEX0RFQ0xB
UkFUSU9OU19CRUdJTgogICAgIGdfYXNzZXJ0X2NtcHN0cih3ZWJraXRfd2Vic2l0ZV9kYXRhX21h
bmFnZXJfZ2V0X3dlYnNxbF9kaXJlY3RvcnkoYmFzZURhdGFNYW5hZ2VyLmdldCgpKSwgPT0sIHdl
YlNRTERpcmVjdG9yeS5nZXQoKSk7CitBTExPV19ERVBSRUNBVEVEX0RFQ0xBUkFUSU9OU19FTkQK
ICAgICBnX2Fzc2VydF9jbXBzdHIod2Via2l0X3dlYnNpdGVfZGF0YV9tYW5hZ2VyX2dldF9kaXNr
X2NhY2hlX2RpcmVjdG9yeShiYXNlRGF0YU1hbmFnZXIuZ2V0KCkpLCA9PSwgVGVzdDo6ZGF0YURp
cmVjdG9yeSgpKTsKIH0KIApAQCAtMjMyLDcgKzI0MCw5IEBAIHN0YXRpYyB2b2lkIHRlc3RXZWJz
aXRlRGF0YUVwaGVtZXJhbChXZWJWaWV3VGVzdCogdGVzdCwgZ2NvbnN0cG9pbnRlcikKICAgICBn
X2Fzc2VydF9udWxsKHdlYmtpdF93ZWJzaXRlX2RhdGFfbWFuYWdlcl9nZXRfZGlza19jYWNoZV9k
aXJlY3RvcnkobWFuYWdlci5nZXQoKSkpOwogICAgIGdfYXNzZXJ0X251bGwod2Via2l0X3dlYnNp
dGVfZGF0YV9tYW5hZ2VyX2dldF9vZmZsaW5lX2FwcGxpY2F0aW9uX2NhY2hlX2RpcmVjdG9yeSht
YW5hZ2VyLmdldCgpKSk7CiAgICAgZ19hc3NlcnRfbnVsbCh3ZWJraXRfd2Vic2l0ZV9kYXRhX21h
bmFnZXJfZ2V0X2luZGV4ZWRkYl9kaXJlY3RvcnkobWFuYWdlci5nZXQoKSkpOworQUxMT1dfREVQ
UkVDQVRFRF9ERUNMQVJBVElPTlNfQkVHSU4KICAgICBnX2Fzc2VydF9udWxsKHdlYmtpdF93ZWJz
aXRlX2RhdGFfbWFuYWdlcl9nZXRfd2Vic3FsX2RpcmVjdG9yeShtYW5hZ2VyLmdldCgpKSk7CitB
TExPV19ERVBSRUNBVEVEX0RFQ0xBUkFUSU9OU19FTkQKIAogICAgIC8vIENvbmZpZ3VyYXRpb24g
aXMgaWdub3JlZCB3aGVuIGlzLWVwaGVtZXJhbCBpcyB1c2VkLgogICAgIG1hbmFnZXIgPSBhZG9w
dEdSZWYoV0VCS0lUX1dFQlNJVEVfREFUQV9NQU5BR0VSKGdfb2JqZWN0X25ldyhXRUJLSVRfVFlQ
RV9XRUJTSVRFX0RBVEFfTUFOQUdFUiwgImJhc2UtZGF0YS1kaXJlY3RvcnkiLCBUZXN0OjpkYXRh
RGlyZWN0b3J5KCksICJpcy1lcGhlbWVyYWwiLCBUUlVFLCBudWxscHRyKSkpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>371954</attachid>
            <date>2019-06-12 07:32:45 -0700</date>
            <delta_ts>2019-06-12 09:07:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-195011-20190612093244.patch</filename>
            <type>text/plain</type>
            <size>18346</size>
            <attacher name="Michael Catanzaro">mcatanzaro</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ2MzUxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDk3MTYzZTUxZDA1NGYxN2E0
ZDM2NTk2NzYxZDFhOTA5MWFiMDkwMzMuLjI4M2Y0ODkwZGRhNDM5MGFlOTc3M2I0Mzg3ZjY4Mjc3
Y2JkMGVkZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTktMDYtMTIgIE1pY2hhZWwg
Q2F0YW56YXJvICA8bWNhdGFuemFyb0BpZ2FsaWEuY29tPgorCisgICAgICAgIFtXUEVdW0dUS10g
RGVwcmVjYXRlIFdlYlNRTCBBUElzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xOTUwMTEKKworICAgICAgICBSZXZpZXdlZCBieSBDYXJsb3MgR2FyY2lh
IENhbXBvcy4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRTZXR0aW5ncy5j
cHA6CisgICAgICAgICh3ZWJraXRfc2V0dGluZ3NfY2xhc3NfaW5pdCk6CisgICAgICAgICogVUlQ
cm9jZXNzL0FQSS9nbGliL1dlYktpdFdlYkNvbnRleHQuY3BwOgorICAgICAgICAod2Via2l0V2Vi
Q29udGV4dENvbnN0cnVjdGVkKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0
V2Vic2l0ZURhdGFNYW5hZ2VyLmNwcDoKKyAgICAgICAgKHdlYmtpdFdlYnNpdGVEYXRhTWFuYWdl
ckdldFByb3BlcnR5KToKKyAgICAgICAgKHdlYmtpdF93ZWJzaXRlX2RhdGFfbWFuYWdlcl9jbGFz
c19pbml0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJzaXRlRGF0YS5o
OgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYnNpdGVEYXRhTWFuYWdlci5o
OgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvd3BlL1dlYktpdFdlYnNpdGVEYXRhLmg6CisgICAg
ICAgICogVUlQcm9jZXNzL0FQSS93cGUvV2ViS2l0V2Vic2l0ZURhdGFNYW5hZ2VyLmg6CisKIDIw
MTktMDYtMTIgIEx1ZG92aWNvIGRlIE5pdHRpcyAgPGx1ZG92aWNvLmRlbml0dGlzQGNvbGxhYm9y
YS5jb20+CiAKICAgICAgICAgW0dUS10gZ3RrX21pc2Nfc2V0X2FsaWdubWVudCBpcyBkZXByZWNh
dGVkIHNpbmNlIEdUSyAzLjE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvZ2xpYi9XZWJLaXRTZXR0aW5ncy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Z2xpYi9XZWJLaXRTZXR0aW5ncy5jcHAKaW5kZXggNjU3YjFmZWJmNWQxZWUzMjYxMjY3MDRjYzIx
ZGE5NWU2NDM3ZjhjOC4uNDc4Mzc2OTY2ZGVjOTZiZjlkMDY4MzI5OTJiNzI5YjBiOGRiM2U0YSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0U2V0dGlu
Z3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFNldHRp
bmdzLmNwcApAQCAtNjgxLDEyICs2ODEsNyBAQCBzdGF0aWMgdm9pZCB3ZWJraXRfc2V0dGluZ3Nf
Y2xhc3NfaW5pdChXZWJLaXRTZXR0aW5nc0NsYXNzKiBrbGFzcykKICAgICAvKioKICAgICAgKiBX
ZWJLaXRTZXR0aW5nczplbmFibGUtaHRtbDUtZGF0YWJhc2U6CiAgICAgICoKLSAgICAgKiBXaGV0
aGVyIHRvIGVuYWJsZSBIVE1MNSBjbGllbnQtc2lkZSBTUUwgZGF0YWJhc2Ugc3VwcG9ydC4gQ2xp
ZW50LXNpZGUKLSAgICAgKiBTUUwgZGF0YWJhc2UgYWxsb3dzIHdlYiBwYWdlcyB0byBzdG9yZSBz
dHJ1Y3R1cmVkIGRhdGEgYW5kIGJlIGFibGUgdG8KLSAgICAgKiB1c2UgU1FMIHRvIG1hbmlwdWxh
dGUgdGhhdCBkYXRhIGFzeW5jaHJvbm91c2x5LgotICAgICAqCi0gICAgICogSFRNTDUgZGF0YWJh
c2Ugc3BlY2lmaWNhdGlvbiBpcyBhdmFpbGFibGUgYXQKLSAgICAgKiBodHRwOi8vd3d3LnczLm9y
Zy9UUi93ZWJkYXRhYmFzZS8uCisgICAgICogV2hldGhlciB0byBlbmFibGUgSFRNTDUgY2xpZW50
LXNpZGUgU1FMIGRhdGFiYXNlIHN1cHBvcnQgKEluZGV4ZWREQikuCiAgICAgICovCiAgICAgZ19v
YmplY3RfY2xhc3NfaW5zdGFsbF9wcm9wZXJ0eShnT2JqZWN0Q2xhc3MsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBQUk9QX0VOQUJMRV9IVE1MNV9EQVRBQkFTRSwKQEAgLTE3
NDAsNyArMTczNSw3IEBAIHZvaWQgd2Via2l0X3NldHRpbmdzX3NldF9lbmFibGVfaHRtbDVfbG9j
YWxfc3RvcmFnZShXZWJLaXRTZXR0aW5ncyogc2V0dGluZ3MsIGdiCiAgKgogICogR2V0IHRoZSAj
V2ViS2l0U2V0dGluZ3M6ZW5hYmxlLWh0bWw1LWRhdGFiYXNlIHByb3BlcnR5LgogICoKLSAqIFJl
dHVybnM6ICVUUlVFIElmIEhUTUw1IGRhdGFiYXNlIHN1cHBvcnQgaXMgZW5hYmxlZCBvciAlRkFM
U0Ugb3RoZXJ3aXNlLgorICogUmV0dXJuczogJVRSVUUgaWYgSW5kZXhlZERCIHN1cHBvcnQgaXMg
ZW5hYmxlZCBvciAlRkFMU0Ugb3RoZXJ3aXNlLgogICovCiBnYm9vbGVhbiB3ZWJraXRfc2V0dGlu
Z3NfZ2V0X2VuYWJsZV9odG1sNV9kYXRhYmFzZShXZWJLaXRTZXR0aW5ncyogc2V0dGluZ3MpCiB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRXZWJD
b250ZXh0LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFdlYkNv
bnRleHQuY3BwCmluZGV4IGFiZDdlOGY2Njg2MzM5YWQ5N2Q0YzZkMTk3MGY5MmIzNGE2ODA5NGUu
LmE0YTBmZWZlMmY5NGIzNWRiZDQ1OGE4MWNjZjVhMzJjNTA3NGMzYWUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFdlYkNvbnRleHQuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFdlYkNvbnRleHQuY3BwCkBA
IC0zNDAsNyArMzQwLDkgQEAgc3RhdGljIHZvaWQgd2Via2l0V2ViQ29udGV4dENvbnN0cnVjdGVk
KEdPYmplY3QqIG9iamVjdCkKICAgICAgICAgY29uZmlndXJhdGlvbi5zZXREaXNrQ2FjaGVEaXJl
Y3RvcnkoRmlsZVN5c3RlbTo6cGF0aEJ5QXBwZW5kaW5nQ29tcG9uZW50KEZpbGVTeXN0ZW06OnN0
cmluZ0Zyb21GaWxlU3lzdGVtUmVwcmVzZW50YXRpb24od2Via2l0X3dlYnNpdGVfZGF0YV9tYW5h
Z2VyX2dldF9kaXNrX2NhY2hlX2RpcmVjdG9yeShwcml2LT53ZWJzaXRlRGF0YU1hbmFnZXIuZ2V0
KCkpKSwgbmV0d29ya0NhY2hlU3ViZGlyZWN0b3J5KSk7CiAgICAgICAgIGNvbmZpZ3VyYXRpb24u
c2V0QXBwbGljYXRpb25DYWNoZURpcmVjdG9yeShGaWxlU3lzdGVtOjpzdHJpbmdGcm9tRmlsZVN5
c3RlbVJlcHJlc2VudGF0aW9uKHdlYmtpdF93ZWJzaXRlX2RhdGFfbWFuYWdlcl9nZXRfb2ZmbGlu
ZV9hcHBsaWNhdGlvbl9jYWNoZV9kaXJlY3RvcnkocHJpdi0+d2Vic2l0ZURhdGFNYW5hZ2VyLmdl
dCgpKSkpOwogICAgICAgICBjb25maWd1cmF0aW9uLnNldEluZGV4ZWREQkRhdGFiYXNlRGlyZWN0
b3J5KEZpbGVTeXN0ZW06OnN0cmluZ0Zyb21GaWxlU3lzdGVtUmVwcmVzZW50YXRpb24od2Via2l0
X3dlYnNpdGVfZGF0YV9tYW5hZ2VyX2dldF9pbmRleGVkZGJfZGlyZWN0b3J5KHByaXYtPndlYnNp
dGVEYXRhTWFuYWdlci5nZXQoKSkpKTsKK0FMTE9XX0RFUFJFQ0FURURfREVDTEFSQVRJT05TX0JF
R0lOCiAgICAgICAgIGNvbmZpZ3VyYXRpb24uc2V0V2ViU1FMRGF0YWJhc2VEaXJlY3RvcnkoRmls
ZVN5c3RlbTo6c3RyaW5nRnJvbUZpbGVTeXN0ZW1SZXByZXNlbnRhdGlvbih3ZWJraXRfd2Vic2l0
ZV9kYXRhX21hbmFnZXJfZ2V0X3dlYnNxbF9kaXJlY3RvcnkocHJpdi0+d2Vic2l0ZURhdGFNYW5h
Z2VyLmdldCgpKSkpOworQUxMT1dfREVQUkVDQVRFRF9ERUNMQVJBVElPTlNfRU5ECiAgICAgfSBl
bHNlIGlmICghcHJpdi0+bG9jYWxTdG9yYWdlRGlyZWN0b3J5LmlzTnVsbCgpKQogICAgICAgICBj
b25maWd1cmF0aW9uLnNldExvY2FsU3RvcmFnZURpcmVjdG9yeShGaWxlU3lzdGVtOjpzdHJpbmdG
cm9tRmlsZVN5c3RlbVJlcHJlc2VudGF0aW9uKHByaXYtPmxvY2FsU3RvcmFnZURpcmVjdG9yeS5k
YXRhKCkpKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIv
V2ViS2l0V2Vic2l0ZURhdGFNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9nbGliL1dlYktpdFdlYnNpdGVEYXRhTWFuYWdlci5jcHAKaW5kZXggMWNjMDY1NDExZTczMWZh
NjcyYzQzNGYzYjNjMGFiZTlhNTY5M2ViZC4uYzBmOTFjYzU2ZWE1MjQ0ODlhMjZhOGExNGU4NTg0
YjJhYjQ5ZTY0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIv
V2ViS2l0V2Vic2l0ZURhdGFNYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvZ2xpYi9XZWJLaXRXZWJzaXRlRGF0YU1hbmFnZXIuY3BwCkBAIC0xMzIsNyArMTMyLDkg
QEAgc3RhdGljIHZvaWQgd2Via2l0V2Vic2l0ZURhdGFNYW5hZ2VyR2V0UHJvcGVydHkoR09iamVj
dCogb2JqZWN0LCBndWludCBwcm9wSUQsIEcKICAgICAgICAgZ192YWx1ZV9zZXRfc3RyaW5nKHZh
bHVlLCB3ZWJraXRfd2Vic2l0ZV9kYXRhX21hbmFnZXJfZ2V0X2luZGV4ZWRkYl9kaXJlY3Rvcnko
bWFuYWdlcikpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFBST1BfV0VCU1FMX0RJUkVDVE9S
WToKKyAgICAgICAgQUxMT1dfREVQUkVDQVRFRF9ERUNMQVJBVElPTlNfQkVHSU4KICAgICAgICAg
Z192YWx1ZV9zZXRfc3RyaW5nKHZhbHVlLCB3ZWJraXRfd2Vic2l0ZV9kYXRhX21hbmFnZXJfZ2V0
X3dlYnNxbF9kaXJlY3RvcnkobWFuYWdlcikpOworICAgICAgICBBTExPV19ERVBSRUNBVEVEX0RF
Q0xBUkFUSU9OU19FTkQKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBQUk9QX0lTX0VQSEVNRVJB
TDoKICAgICAgICAgZ192YWx1ZV9zZXRfYm9vbGVhbih2YWx1ZSwgd2Via2l0X3dlYnNpdGVfZGF0
YV9tYW5hZ2VyX2lzX2VwaGVtZXJhbChtYW5hZ2VyKSk7CkBAIC0zMTcsNiArMzE5LDggQEAgc3Rh
dGljIHZvaWQgd2Via2l0X3dlYnNpdGVfZGF0YV9tYW5hZ2VyX2NsYXNzX2luaXQoV2ViS2l0V2Vi
c2l0ZURhdGFNYW5hZ2VyQ2xhc3MKICAgICAgKiBUaGUgZGlyZWN0b3J5IHdoZXJlIFdlYlNRTCBk
YXRhYmFzZXMgd2lsbCBiZSBzdG9yZWQuCiAgICAgICoKICAgICAgKiBTaW5jZTogMi4xMAorICAg
ICAqCisgICAgICogRGVwcmVjYXRlZDogMi4yNC4gV2ViU1FMIGlzIG5vIGxvbmdlciBzdXBwb3J0
ZWQuIFVzZSBJbmRleGVkREIgaW5zdGVhZC4KICAgICAgKi8KICAgICBnX29iamVjdF9jbGFzc19p
bnN0YWxsX3Byb3BlcnR5KAogICAgICAgICBnT2JqZWN0Q2xhc3MsCkBAIC0zMjYsNyArMzMwLDcg
QEAgc3RhdGljIHZvaWQgd2Via2l0X3dlYnNpdGVfZGF0YV9tYW5hZ2VyX2NsYXNzX2luaXQoV2Vi
S2l0V2Vic2l0ZURhdGFNYW5hZ2VyQ2xhc3MKICAgICAgICAgICAgIF8oIldlYlNRTCBEaXJlY3Rv
cnkiKSwKICAgICAgICAgICAgIF8oIlRoZSBkaXJlY3Rvcnkgd2hlcmUgV2ViU1FMIGRhdGFiYXNl
cyB3aWxsIGJlIHN0b3JlZCIpLAogICAgICAgICAgICAgbnVsbHB0ciwKLSAgICAgICAgICAgIHN0
YXRpY19jYXN0PEdQYXJhbUZsYWdzPihXRUJLSVRfUEFSQU1fUkVBRFdSSVRFIHwgR19QQVJBTV9D
T05TVFJVQ1RfT05MWSkpKTsKKyAgICAgICAgICAgIHN0YXRpY19jYXN0PEdQYXJhbUZsYWdzPihX
RUJLSVRfUEFSQU1fUkVBRFdSSVRFIHwgR19QQVJBTV9DT05TVFJVQ1RfT05MWSB8IEdfUEFSQU1f
REVQUkVDQVRFRCkpKTsKIAogICAgIC8qKgogICAgICAqIFdlYktpdFdlYnNpdGVEYXRhTWFuYWdl
cjppcy1lcGhlbWVyYWw6CkBAIC01OTIsNiArNTk2LDggQEAgY29uc3QgZ2NoYXIqIHdlYmtpdF93
ZWJzaXRlX2RhdGFfbWFuYWdlcl9nZXRfaW5kZXhlZGRiX2RpcmVjdG9yeShXZWJLaXRXZWJzaXRl
RGEKICAqIFJldHVybnM6IChhbGxvdy1ub25lKTogdGhlIGRpcmVjdG9yeSB3aGVyZSBXZWJTUUwg
ZGF0YWJhc2VzIGFyZSBzdG9yZWQgb3IgJU5VTEwgaWYgQG1hbmFnZXIgaXMgZXBoZW1lcmFsLgog
ICoKICAqIFNpbmNlOiAyLjEwCisgKgorICogRGVwcmVjYXRlZDogMi4yNC4gV2ViU1FMIGlzIG5v
IGxvbmdlciBzdXBwb3J0ZWQuIFVzZSBJbmRleGVkREIgaW5zdGVhZC4KICAqLwogY29uc3QgZ2No
YXIqIHdlYmtpdF93ZWJzaXRlX2RhdGFfbWFuYWdlcl9nZXRfd2Vic3FsX2RpcmVjdG9yeShXZWJL
aXRXZWJzaXRlRGF0YU1hbmFnZXIqIG1hbmFnZXIpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYnNpdGVEYXRhLmggYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYnNpdGVEYXRhLmgKaW5kZXggMjA4YzY1YmZlOGMx
NGY2YWY5ZjY0NmYzMjFiNGUwMGQwMmJiYjU3My4uMDE4OGU3N2Q5MDEwYzFlZGZmNmIwNTcwZWM4
NGM1YTQzZjQ4ZjcyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0
ay9XZWJLaXRXZWJzaXRlRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9n
dGsvV2ViS2l0V2Vic2l0ZURhdGEuaApAQCAtNDAsNyArNDAsNyBAQCB0eXBlZGVmIHN0cnVjdCBf
V2ViS2l0V2Vic2l0ZURhdGEgV2ViS2l0V2Vic2l0ZURhdGE7CiAgKiBAV0VCS0lUX1dFQlNJVEVf
REFUQV9PRkZMSU5FX0FQUExJQ0FUSU9OX0NBQ0hFOiBPZmZsaW5lIHdlYiBhcHBsaWNhdGlvbiBj
YWNoZS4KICAqIEBXRUJLSVRfV0VCU0lURV9EQVRBX1NFU1NJT05fU1RPUkFHRTogU2Vzc2lvbiBz
dG9yYWdlIGRhdGEuCiAgKiBAV0VCS0lUX1dFQlNJVEVfREFUQV9MT0NBTF9TVE9SQUdFOiBMb2Nh
bCBzdG9yYWdlIGRhdGEuCi0gKiBAV0VCS0lUX1dFQlNJVEVfREFUQV9XRUJTUUxfREFUQUJBU0VT
OiBXZWJTUUwgZGF0YWJhc2VzLgorICogQFdFQktJVF9XRUJTSVRFX0RBVEFfV0VCU1FMX0RBVEFC
QVNFUzogV2ViU1FMIGRhdGFiYXNlcy4gRGVwcmVjYXRlZCAyLjI0CiAgKiBAV0VCS0lUX1dFQlNJ
VEVfREFUQV9JTkRFWEVEREJfREFUQUJBU0VTOiBJbmRleGVkREIgZGF0YWJhc2VzLgogICogQFdF
QktJVF9XRUJTSVRFX0RBVEFfUExVR0lOX0RBVEE6IFBsdWdpbnMgZGF0YS4KICAqIEBXRUJLSVRf
V0VCU0lURV9EQVRBX0NPT0tJRVM6IENvb2tpZXMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYnNpdGVEYXRhTWFuYWdlci5oIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJzaXRlRGF0YU1hbmFnZXIuaAppbmRleCBj
YzYyYWQzZDQyNTU4YjE1ZmJmNWE4ZWY3NzY2M2JlN2FjY2FjNDQwLi44ZGU3YzRiYjJjMjYwZTU3
MGZjNmQwOWViMDQxNGRmOTEyMjNlMzc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvZ3RrL1dlYktpdFdlYnNpdGVEYXRhTWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2Vic2l0ZURhdGFNYW5hZ2VyLmgKQEAgLTg3LDcg
Kzg3LDcgQEAgd2Via2l0X3dlYnNpdGVfZGF0YV9tYW5hZ2VyX2dldF9vZmZsaW5lX2FwcGxpY2F0
aW9uX2NhY2hlX2RpcmVjdG9yeSAgIChXZWJLaXRXZWIKIFdFQktJVF9BUEkgY29uc3QgZ2NoYXIg
Kgogd2Via2l0X3dlYnNpdGVfZGF0YV9tYW5hZ2VyX2dldF9pbmRleGVkZGJfZGlyZWN0b3J5ICAg
ICAgICAgICAgICAgICAgIChXZWJLaXRXZWJzaXRlRGF0YU1hbmFnZXIgKm1hbmFnZXIpOwogCi1X
RUJLSVRfQVBJIGNvbnN0IGdjaGFyICoKK1dFQktJVF9ERVBSRUNBVEVEIGNvbnN0IGdjaGFyICoK
IHdlYmtpdF93ZWJzaXRlX2RhdGFfbWFuYWdlcl9nZXRfd2Vic3FsX2RpcmVjdG9yeSAgICAgICAg
ICAgICAgICAgICAgICAoV2ViS2l0V2Vic2l0ZURhdGFNYW5hZ2VyICptYW5hZ2VyKTsKIAogV0VC
S0lUX0FQSSBXZWJLaXRDb29raWVNYW5hZ2VyICoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS93cGUvV2ViS2l0V2Vic2l0ZURhdGEuaCBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS93cGUvV2ViS2l0V2Vic2l0ZURhdGEuaAppbmRleCA0OTUyYzhhYjk4MzcxYjVj
ZjEzYWQ4NDU4OTNkN2QyODM0YWEyMzFmLi43NzhmZjUwOTEwZTlkNGM1Zjg1ZDVlNzc0YzYyM2Jk
MTViNTc1Njc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvd3BlL1dl
YktpdFdlYnNpdGVEYXRhLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL3dwZS9X
ZWJLaXRXZWJzaXRlRGF0YS5oCkBAIC00MCw3ICs0MCw3IEBAIHR5cGVkZWYgc3RydWN0IF9XZWJL
aXRXZWJzaXRlRGF0YSBXZWJLaXRXZWJzaXRlRGF0YTsKICAqIEBXRUJLSVRfV0VCU0lURV9EQVRB
X09GRkxJTkVfQVBQTElDQVRJT05fQ0FDSEU6IE9mZmxpbmUgd2ViIGFwcGxpY2F0aW9uIGNhY2hl
LgogICogQFdFQktJVF9XRUJTSVRFX0RBVEFfU0VTU0lPTl9TVE9SQUdFOiBTZXNzaW9uIHN0b3Jh
Z2UgZGF0YS4KICAqIEBXRUJLSVRfV0VCU0lURV9EQVRBX0xPQ0FMX1NUT1JBR0U6IExvY2FsIHN0
b3JhZ2UgZGF0YS4KLSAqIEBXRUJLSVRfV0VCU0lURV9EQVRBX1dFQlNRTF9EQVRBQkFTRVM6IFdl
YlNRTCBkYXRhYmFzZXMuCisgKiBAV0VCS0lUX1dFQlNJVEVfREFUQV9XRUJTUUxfREFUQUJBU0VT
OiBXZWJTUUwgZGF0YWJhc2VzLiBEZXByZWNhdGVkIDIuMjQKICAqIEBXRUJLSVRfV0VCU0lURV9E
QVRBX0lOREVYRUREQl9EQVRBQkFTRVM6IEluZGV4ZWREQiBkYXRhYmFzZXMuCiAgKiBAV0VCS0lU
X1dFQlNJVEVfREFUQV9QTFVHSU5fREFUQTogUGx1Z2lucyBkYXRhLgogICogQFdFQktJVF9XRUJT
SVRFX0RBVEFfQ09PS0lFUzogQ29va2llcy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS93cGUvV2ViS2l0V2Vic2l0ZURhdGFNYW5hZ2VyLmggYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvd3BlL1dlYktpdFdlYnNpdGVEYXRhTWFuYWdlci5oCmluZGV4IDE2NTVk
NTM2YTNkMTZlMmMzYWZmMmE1YWNkYjA1Y2E0MDY2NDdjMzMuLjFlNmNjNTZhYTRmN2VjMzg3YWM2
NmRmNjA4MTNjODUyYmE3MDEyMDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS93cGUvV2ViS2l0V2Vic2l0ZURhdGFNYW5hZ2VyLmgKKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL3dwZS9XZWJLaXRXZWJzaXRlRGF0YU1hbmFnZXIuaApAQCAtODcsNyArODcs
NyBAQCB3ZWJraXRfd2Vic2l0ZV9kYXRhX21hbmFnZXJfZ2V0X29mZmxpbmVfYXBwbGljYXRpb25f
Y2FjaGVfZGlyZWN0b3J5ICAgKFdlYktpdFdlYgogV0VCS0lUX0FQSSBjb25zdCBnY2hhciAqCiB3
ZWJraXRfd2Vic2l0ZV9kYXRhX21hbmFnZXJfZ2V0X2luZGV4ZWRkYl9kaXJlY3RvcnkgICAgICAg
ICAgICAgICAgICAgKFdlYktpdFdlYnNpdGVEYXRhTWFuYWdlciAqbWFuYWdlcik7CiAKLVdFQktJ
VF9BUEkgY29uc3QgZ2NoYXIgKgorV0VCS0lUX0RFUFJFQ0FURUQgY29uc3QgZ2NoYXIgKgogd2Vi
a2l0X3dlYnNpdGVfZGF0YV9tYW5hZ2VyX2dldF93ZWJzcWxfZGlyZWN0b3J5ICAgICAgICAgICAg
ICAgICAgICAgIChXZWJLaXRXZWJzaXRlRGF0YU1hbmFnZXIgKm1hbmFnZXIpOwogCiBXRUJLSVRf
QVBJIFdlYktpdENvb2tpZU1hbmFnZXIgKgpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIv
VG9vbHMvQ2hhbmdlTG9nCmluZGV4IDA3NzMyMTA4YWZlZWQ4ZjU1Y2ZiNmZlMjBhMzAzZWZiNGI5
NTY2MmQuLjM3ZjViMmMyNzdmZWNhZjI3MmE1N2FjOTRiODQ1ZDY1NTY4YmIxNGYgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBA
QAorMjAxOS0wNi0xMiAgTWljaGFlbCBDYXRhbnphcm8gIDxtY2F0YW56YXJvQGlnYWxpYS5jb20+
CisKKyAgICAgICAgW1dQRV1bR1RLXSBEZXByZWNhdGUgV2ViU1FMIEFQSXMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NTAxMQorCisgICAgICAgIFJl
dmlld2VkIGJ5IENhcmxvcyBHYXJjaWEgQ2FtcG9zLgorCisgICAgICAgICogTWluaUJyb3dzZXIv
Z3RrL21haW4uYzoKKyAgICAgICAgKGdvdFdlYnNpdGVEYXRhQ2FsbGJhY2spOgorICAgICAgICAq
IFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0R0xpYi9UZXN0V2Vic2l0ZURhdGEuY3BwOgorICAg
ICAgICAodGVzdFdlYnNpdGVEYXRhQ29uZmlndXJhdGlvbik6CisgICAgICAgICh0ZXN0V2Vic2l0
ZURhdGFFcGhlbWVyYWwpOgorICAgICAgICAodGVzdFdlYnNpdGVEYXRhRGF0YWJhc2VzKToKKwog
MjAxOS0wNi0xMSAgS2VpdGggUm9sbGluICA8a3JvbGxpbkBhcHBsZS5jb20+CiAKICAgICAgICAg
T3BlbiB1cCB4Y2ZpbGVsaXN0IHByb2Nlc3NpbmcgdG8gbW9yZSBwbGF0Zm9ybXMKZGlmZiAtLWdp
dCBhL1Rvb2xzL01pbmlCcm93c2VyL2d0ay9tYWluLmMgYi9Ub29scy9NaW5pQnJvd3Nlci9ndGsv
bWFpbi5jCmluZGV4IGUzOWFhYzM5MGQ0Yjk5YjM0NTI1ODkwNjEzN2M5ODczNmM4MmRiZWQuLjli
YjQ0YmRkN2JkODJhYjRmM2RmNmVhZDRiYjAwNWRkNDAxNjZlZTMgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L01pbmlCcm93c2VyL2d0ay9tYWluLmMKKysrIGIvVG9vbHMvTWluaUJyb3dzZXIvZ3RrL21haW4u
YwpAQCAtNDEzLDcgKzQxMyw2IEBAIHN0YXRpYyB2b2lkIGdvdFdlYnNpdGVEYXRhQ2FsbGJhY2so
V2ViS2l0V2Vic2l0ZURhdGFNYW5hZ2VyICptYW5hZ2VyLCBHQXN5bmNSZXN1CiAgICAgYWJvdXRE
YXRhRmlsbFRhYmxlKHJlc3VsdCwgZGF0YVJlcXVlc3QsIGRhdGFMaXN0LCAiRGlzayBDYWNoZSIs
IFdFQktJVF9XRUJTSVRFX0RBVEFfRElTS19DQUNIRSwgd2Via2l0X3dlYnNpdGVfZGF0YV9tYW5h
Z2VyX2dldF9kaXNrX2NhY2hlX2RpcmVjdG9yeShtYW5hZ2VyKSwgcGFnZUlEKTsKICAgICBhYm91
dERhdGFGaWxsVGFibGUocmVzdWx0LCBkYXRhUmVxdWVzdCwgZGF0YUxpc3QsICJTZXNzaW9uIFN0
b3JhZ2UiLCBXRUJLSVRfV0VCU0lURV9EQVRBX1NFU1NJT05fU1RPUkFHRSwgTlVMTCwgcGFnZUlE
KTsKICAgICBhYm91dERhdGFGaWxsVGFibGUocmVzdWx0LCBkYXRhUmVxdWVzdCwgZGF0YUxpc3Qs
ICJMb2NhbCBTdG9yYWdlIiwgV0VCS0lUX1dFQlNJVEVfREFUQV9MT0NBTF9TVE9SQUdFLCB3ZWJr
aXRfd2Vic2l0ZV9kYXRhX21hbmFnZXJfZ2V0X2xvY2FsX3N0b3JhZ2VfZGlyZWN0b3J5KG1hbmFn
ZXIpLCBwYWdlSUQpOwotICAgIGFib3V0RGF0YUZpbGxUYWJsZShyZXN1bHQsIGRhdGFSZXF1ZXN0
LCBkYXRhTGlzdCwgIldlYlNRTCBEYXRhYmFzZXMiLCBXRUJLSVRfV0VCU0lURV9EQVRBX1dFQlNR
TF9EQVRBQkFTRVMsIHdlYmtpdF93ZWJzaXRlX2RhdGFfbWFuYWdlcl9nZXRfd2Vic3FsX2RpcmVj
dG9yeShtYW5hZ2VyKSwgcGFnZUlEKTsKICAgICBhYm91dERhdGFGaWxsVGFibGUocmVzdWx0LCBk
YXRhUmVxdWVzdCwgZGF0YUxpc3QsICJJbmRleGVkREIgRGF0YWJhc2VzIiwgV0VCS0lUX1dFQlNJ
VEVfREFUQV9JTkRFWEVEREJfREFUQUJBU0VTLCB3ZWJraXRfd2Vic2l0ZV9kYXRhX21hbmFnZXJf
Z2V0X2luZGV4ZWRkYl9kaXJlY3RvcnkobWFuYWdlciksIHBhZ2VJRCk7CiAgICAgYWJvdXREYXRh
RmlsbFRhYmxlKHJlc3VsdCwgZGF0YVJlcXVlc3QsIGRhdGFMaXN0LCAiUGx1Z2lucyBEYXRhIiwg
V0VCS0lUX1dFQlNJVEVfREFUQV9QTFVHSU5fREFUQSwgTlVMTCwgcGFnZUlEKTsKICAgICBhYm91
dERhdGFGaWxsVGFibGUocmVzdWx0LCBkYXRhUmVxdWVzdCwgZGF0YUxpc3QsICJPZmZsaW5lIFdl
YiBBcHBsaWNhdGlvbnMgQ2FjaGUiLCBXRUJLSVRfV0VCU0lURV9EQVRBX09GRkxJTkVfQVBQTElD
QVRJT05fQ0FDSEUsIHdlYmtpdF93ZWJzaXRlX2RhdGFfbWFuYWdlcl9nZXRfb2ZmbGluZV9hcHBs
aWNhdGlvbl9jYWNoZV9kaXJlY3RvcnkobWFuYWdlciksIHBhZ2VJRCk7CmRpZmYgLS1naXQgYS9U
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdEdMaWIvVGVzdFdlYnNpdGVEYXRhLmNwcCBi
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0R0xpYi9UZXN0V2Vic2l0ZURhdGEuY3Bw
CmluZGV4IDYzODc4ZjE0Mzg5YjhkMzUxMDA0ZTVlOGU3YjQ5NDBmYTA1NmU3ZTMuLjJmN2M4MWYx
NzEyMGE3YzI5NmYzOWFmNTJlZDRkZGI5NmUzNzY2NDIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViS2l0R0xpYi9UZXN0V2Vic2l0ZURhdGEuY3BwCisrKyBiL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0R0xpYi9UZXN0V2Vic2l0ZURhdGEuY3BwCkBAIC0x
NDgsMTEgKzE0OCw2IEBAIHN0YXRpYyB2b2lkIHRlc3RXZWJzaXRlRGF0YUNvbmZpZ3VyYXRpb24o
V2Vic2l0ZURhdGFUZXN0KiB0ZXN0LCBnY29uc3Rwb2ludGVyKQogICAgIGdfYXNzZXJ0X2NtcHN0
cihpbmRleGVkREJEaXJlY3RvcnkuZ2V0KCksID09LCB3ZWJraXRfd2Vic2l0ZV9kYXRhX21hbmFn
ZXJfZ2V0X2luZGV4ZWRkYl9kaXJlY3RvcnkodGVzdC0+bV9tYW5hZ2VyKSk7CiAgICAgZ19hc3Nl
cnRfdHJ1ZShnX2ZpbGVfdGVzdChpbmRleGVkREJEaXJlY3RvcnkuZ2V0KCksIEdfRklMRV9URVNU
X0lTX0RJUikpOwogCi0gICAgR1VuaXF1ZVB0cjxjaGFyPiB3ZWJTUUxEaXJlY3RvcnkoZ19idWls
ZF9maWxlbmFtZShUZXN0OjpkYXRhRGlyZWN0b3J5KCksICJ3ZWJzcWwiLCBudWxscHRyKSk7Ci0g
ICAgZ19hc3NlcnRfY21wc3RyKHdlYlNRTERpcmVjdG9yeS5nZXQoKSwgPT0sIHdlYmtpdF93ZWJz
aXRlX2RhdGFfbWFuYWdlcl9nZXRfd2Vic3FsX2RpcmVjdG9yeSh0ZXN0LT5tX21hbmFnZXIpKTsK
LSAgICB0ZXN0LT5ydW5KYXZhU2NyaXB0QW5kV2FpdFVudGlsRmluaXNoZWQoImRiID0gb3BlbkRh
dGFiYXNlKFwiVGVzdERhdGFiYXNlXCIsIFwiMS4wXCIsIFwiVGVzdERhdGFiYXNlXCIsIDEpOyIs
IG51bGxwdHIpOwotICAgIGdfYXNzZXJ0X3RydWUoZ19maWxlX3Rlc3Qod2ViU1FMRGlyZWN0b3J5
LmdldCgpLCBHX0ZJTEVfVEVTVF9JU19ESVIpKTsKLQogICAgIHRlc3QtPmxvYWRVUkkoa1NlcnZl
ci0+Z2V0VVJJRm9yUGF0aCgiL2FwcGNhY2hlIikuZGF0YSgpKTsKICAgICB0ZXN0LT53YWl0VW50
aWxMb2FkRmluaXNoZWQoKTsKICAgICBHVW5pcXVlUHRyPGNoYXI+IGFwcGxpY2F0aW9uQ2FjaGVE
aXJlY3RvcnkoZ19idWlsZF9maWxlbmFtZShUZXN0OjpkYXRhRGlyZWN0b3J5KCksICJhcHBjYWNo
ZSIsIG51bGxwdHIpKTsKQEAgLTE2OSw3ICsxNjQsNyBAQCBzdGF0aWMgdm9pZCB0ZXN0V2Vic2l0
ZURhdGFDb25maWd1cmF0aW9uKFdlYnNpdGVEYXRhVGVzdCogdGVzdCwgZ2NvbnN0cG9pbnRlcikK
IAogICAgIC8vIENsZWFyIGFsbCBwZXJzaXN0ZW50IGNhY2hlcywgc2luY2UgdGhlIGRhdGEgZGly
IGlzIGNvbW1vbiB0byBhbGwgdGVzdCBjYXNlcy4KICAgICBzdGF0aWMgY29uc3QgV2ViS2l0V2Vi
c2l0ZURhdGFUeXBlcyBwZXJzaXN0ZW50Q2FjaGVzID0gc3RhdGljX2Nhc3Q8V2ViS2l0V2Vic2l0
ZURhdGFUeXBlcz4oV0VCS0lUX1dFQlNJVEVfREFUQV9ESVNLX0NBQ0hFIHwgV0VCS0lUX1dFQlNJ
VEVfREFUQV9MT0NBTF9TVE9SQUdFCi0gICAgICAgIHwgV0VCS0lUX1dFQlNJVEVfREFUQV9XRUJT
UUxfREFUQUJBU0VTIHwgV0VCS0lUX1dFQlNJVEVfREFUQV9JTkRFWEVEREJfREFUQUJBU0VTIHwg
V0VCS0lUX1dFQlNJVEVfREFUQV9PRkZMSU5FX0FQUExJQ0FUSU9OX0NBQ0hFIHwgV0VCS0lUX1dF
QlNJVEVfREFUQV9ERVZJQ0VfSURfSEFTSF9TQUxUKTsKKyAgICAgICAgfCBXRUJLSVRfV0VCU0lU
RV9EQVRBX0lOREVYRUREQl9EQVRBQkFTRVMgfCBXRUJLSVRfV0VCU0lURV9EQVRBX09GRkxJTkVf
QVBQTElDQVRJT05fQ0FDSEUgfCBXRUJLSVRfV0VCU0lURV9EQVRBX0RFVklDRV9JRF9IQVNIX1NB
TFQpOwogICAgIHRlc3QtPmNsZWFyKHBlcnNpc3RlbnRDYWNoZXMsIDApOwogICAgIGdfYXNzZXJ0
X251bGwodGVzdC0+ZmV0Y2gocGVyc2lzdGVudENhY2hlcykpOwogCkBAIC0xODEsNyArMTc2LDYg
QEAgc3RhdGljIHZvaWQgdGVzdFdlYnNpdGVEYXRhQ29uZmlndXJhdGlvbihXZWJzaXRlRGF0YVRl
c3QqIHRlc3QsIGdjb25zdHBvaW50ZXIpCiAgICAgZ19hc3NlcnRfY21wc3RyKHdlYmtpdF93ZWJz
aXRlX2RhdGFfbWFuYWdlcl9nZXRfaW5kZXhlZGRiX2RpcmVjdG9yeSh0ZXN0LT5tX21hbmFnZXIp
LCAhPSwgd2Via2l0X3dlYnNpdGVfZGF0YV9tYW5hZ2VyX2dldF9pbmRleGVkZGJfZGlyZWN0b3J5
KGRlZmF1bHRNYW5hZ2VyKSk7CiAgICAgZ19hc3NlcnRfY21wc3RyKHdlYmtpdF93ZWJzaXRlX2Rh
dGFfbWFuYWdlcl9nZXRfZGlza19jYWNoZV9kaXJlY3RvcnkodGVzdC0+bV9tYW5hZ2VyKSwgIT0s
IHdlYmtpdF93ZWJzaXRlX2RhdGFfbWFuYWdlcl9nZXRfZGlza19jYWNoZV9kaXJlY3RvcnkoZGVm
YXVsdE1hbmFnZXIpKTsKICAgICBnX2Fzc2VydF9jbXBzdHIod2Via2l0X3dlYnNpdGVfZGF0YV9t
YW5hZ2VyX2dldF9vZmZsaW5lX2FwcGxpY2F0aW9uX2NhY2hlX2RpcmVjdG9yeSh0ZXN0LT5tX21h
bmFnZXIpLCAhPSwgd2Via2l0X3dlYnNpdGVfZGF0YV9tYW5hZ2VyX2dldF9vZmZsaW5lX2FwcGxp
Y2F0aW9uX2NhY2hlX2RpcmVjdG9yeShkZWZhdWx0TWFuYWdlcikpOwotICAgIGdfYXNzZXJ0X2Nt
cHN0cih3ZWJraXRfd2Vic2l0ZV9kYXRhX21hbmFnZXJfZ2V0X3dlYnNxbF9kaXJlY3RvcnkodGVz
dC0+bV9tYW5hZ2VyKSwgIT0sIHdlYmtpdF93ZWJzaXRlX2RhdGFfbWFuYWdlcl9nZXRfd2Vic3Fs
X2RpcmVjdG9yeShkZWZhdWx0TWFuYWdlcikpOwogCiAgICAgLy8gVXNpbmcgVGVzdDo6ZGF0YURp
cmVjdG9yeSgpIHdlIGdldCB0aGUgZGVmYXVsdCBjb25maWd1cmF0aW9uIGJ1dCBmb3IgYSBkaWZm
ZXJyZW50IHByZWZpeC4KICAgICBHUmVmUHRyPFdlYktpdFdlYnNpdGVEYXRhTWFuYWdlcj4gYmFz
ZURhdGFNYW5hZ2VyID0gYWRvcHRHUmVmKHdlYmtpdF93ZWJzaXRlX2RhdGFfbWFuYWdlcl9uZXco
ImJhc2UtZGF0YS1kaXJlY3RvcnkiLCBUZXN0OjpkYXRhRGlyZWN0b3J5KCksICJiYXNlLWNhY2hl
LWRpcmVjdG9yeSIsIFRlc3Q6OmRhdGFEaXJlY3RvcnkoKSwgbnVsbHB0cikpOwpAQCAtMTk2LDkg
KzE5MCw2IEBAIHN0YXRpYyB2b2lkIHRlc3RXZWJzaXRlRGF0YUNvbmZpZ3VyYXRpb24oV2Vic2l0
ZURhdGFUZXN0KiB0ZXN0LCBnY29uc3Rwb2ludGVyKQogICAgIGFwcGxpY2F0aW9uQ2FjaGVEaXJl
Y3RvcnkucmVzZXQoZ19idWlsZF9maWxlbmFtZShUZXN0OjpkYXRhRGlyZWN0b3J5KCksICJhcHBs
aWNhdGlvbnMiLCBudWxscHRyKSk7CiAgICAgZ19hc3NlcnRfY21wc3RyKHdlYmtpdF93ZWJzaXRl
X2RhdGFfbWFuYWdlcl9nZXRfb2ZmbGluZV9hcHBsaWNhdGlvbl9jYWNoZV9kaXJlY3RvcnkoYmFz
ZURhdGFNYW5hZ2VyLmdldCgpKSwgPT0sIGFwcGxpY2F0aW9uQ2FjaGVEaXJlY3RvcnkuZ2V0KCkp
OwogCi0gICAgd2ViU1FMRGlyZWN0b3J5LnJlc2V0KGdfYnVpbGRfZmlsZW5hbWUoVGVzdDo6ZGF0
YURpcmVjdG9yeSgpLCAiZGF0YWJhc2VzIiwgbnVsbHB0cikpOwotICAgIGdfYXNzZXJ0X2NtcHN0
cih3ZWJraXRfd2Vic2l0ZV9kYXRhX21hbmFnZXJfZ2V0X3dlYnNxbF9kaXJlY3RvcnkoYmFzZURh
dGFNYW5hZ2VyLmdldCgpKSwgPT0sIHdlYlNRTERpcmVjdG9yeS5nZXQoKSk7Ci0KICAgICBnX2Fz
c2VydF9jbXBzdHIod2Via2l0X3dlYnNpdGVfZGF0YV9tYW5hZ2VyX2dldF9kaXNrX2NhY2hlX2Rp
cmVjdG9yeShiYXNlRGF0YU1hbmFnZXIuZ2V0KCkpLCA9PSwgVGVzdDo6ZGF0YURpcmVjdG9yeSgp
KTsKIAogICAgIC8vIEFueSBzcGVjaWZpYyBjb25maWd1cmF0aW9uIHByb3ZpZGVkIHRha2VzIHBy
ZWNlZGVuY2Ugb3ZlciBiYXNlIGRpcnMuCkBAIC0yMTAsNyArMjAxLDYgQEAgc3RhdGljIHZvaWQg
dGVzdFdlYnNpdGVEYXRhQ29uZmlndXJhdGlvbihXZWJzaXRlRGF0YVRlc3QqIHRlc3QsIGdjb25z
dHBvaW50ZXIpCiAgICAgZ19hc3NlcnRfY21wc3RyKHdlYmtpdF93ZWJzaXRlX2RhdGFfbWFuYWdl
cl9nZXRfb2ZmbGluZV9hcHBsaWNhdGlvbl9jYWNoZV9kaXJlY3RvcnkoYmFzZURhdGFNYW5hZ2Vy
LmdldCgpKSwgPT0sIGFwcGxpY2F0aW9uQ2FjaGVEaXJlY3RvcnkuZ2V0KCkpOwogICAgIC8vIFRo
ZSByZXN1bHQgc2hvdWxkIGJlIHRoZSBzYW1lIGFzIHByZXZpb3VzIG1hbmFnZXIuCiAgICAgZ19h
c3NlcnRfY21wc3RyKHdlYmtpdF93ZWJzaXRlX2RhdGFfbWFuYWdlcl9nZXRfbG9jYWxfc3RvcmFn
ZV9kaXJlY3RvcnkoYmFzZURhdGFNYW5hZ2VyLmdldCgpKSwgPT0sIGxvY2FsU3RvcmFnZURpcmVj
dG9yeS5nZXQoKSk7Ci0gICAgZ19hc3NlcnRfY21wc3RyKHdlYmtpdF93ZWJzaXRlX2RhdGFfbWFu
YWdlcl9nZXRfd2Vic3FsX2RpcmVjdG9yeShiYXNlRGF0YU1hbmFnZXIuZ2V0KCkpLCA9PSwgd2Vi
U1FMRGlyZWN0b3J5LmdldCgpKTsKICAgICBnX2Fzc2VydF9jbXBzdHIod2Via2l0X3dlYnNpdGVf
ZGF0YV9tYW5hZ2VyX2dldF9kaXNrX2NhY2hlX2RpcmVjdG9yeShiYXNlRGF0YU1hbmFnZXIuZ2V0
KCkpLCA9PSwgVGVzdDo6ZGF0YURpcmVjdG9yeSgpKTsKIH0KIApAQCAtMjMyLDcgKzIyMiw2IEBA
IHN0YXRpYyB2b2lkIHRlc3RXZWJzaXRlRGF0YUVwaGVtZXJhbChXZWJWaWV3VGVzdCogdGVzdCwg
Z2NvbnN0cG9pbnRlcikKICAgICBnX2Fzc2VydF9udWxsKHdlYmtpdF93ZWJzaXRlX2RhdGFfbWFu
YWdlcl9nZXRfZGlza19jYWNoZV9kaXJlY3RvcnkobWFuYWdlci5nZXQoKSkpOwogICAgIGdfYXNz
ZXJ0X251bGwod2Via2l0X3dlYnNpdGVfZGF0YV9tYW5hZ2VyX2dldF9vZmZsaW5lX2FwcGxpY2F0
aW9uX2NhY2hlX2RpcmVjdG9yeShtYW5hZ2VyLmdldCgpKSk7CiAgICAgZ19hc3NlcnRfbnVsbCh3
ZWJraXRfd2Vic2l0ZV9kYXRhX21hbmFnZXJfZ2V0X2luZGV4ZWRkYl9kaXJlY3RvcnkobWFuYWdl
ci5nZXQoKSkpOwotICAgIGdfYXNzZXJ0X251bGwod2Via2l0X3dlYnNpdGVfZGF0YV9tYW5hZ2Vy
X2dldF93ZWJzcWxfZGlyZWN0b3J5KG1hbmFnZXIuZ2V0KCkpKTsKIAogICAgIC8vIENvbmZpZ3Vy
YXRpb24gaXMgaWdub3JlZCB3aGVuIGlzLWVwaGVtZXJhbCBpcyB1c2VkLgogICAgIG1hbmFnZXIg
PSBhZG9wdEdSZWYoV0VCS0lUX1dFQlNJVEVfREFUQV9NQU5BR0VSKGdfb2JqZWN0X25ldyhXRUJL
SVRfVFlQRV9XRUJTSVRFX0RBVEFfTUFOQUdFUiwgImJhc2UtZGF0YS1kaXJlY3RvcnkiLCBUZXN0
OjpkYXRhRGlyZWN0b3J5KCksICJpcy1lcGhlbWVyYWwiLCBUUlVFLCBudWxscHRyKSkpOwpAQCAt
NDE2LDcgKzQwNSw3IEBAIHN0YXRpYyB2b2lkIHRlc3RXZWJzaXRlRGF0YVN0b3JhZ2UoV2Vic2l0
ZURhdGFUZXN0KiB0ZXN0LCBnY29uc3Rwb2ludGVyKQogCiBzdGF0aWMgdm9pZCB0ZXN0V2Vic2l0
ZURhdGFEYXRhYmFzZXMoV2Vic2l0ZURhdGFUZXN0KiB0ZXN0LCBnY29uc3Rwb2ludGVyKQogewot
ICAgIHN0YXRpYyBjb25zdCBXZWJLaXRXZWJzaXRlRGF0YVR5cGVzIGRhdGFiYXNlVHlwZXMgPSBz
dGF0aWNfY2FzdDxXZWJLaXRXZWJzaXRlRGF0YVR5cGVzPihXRUJLSVRfV0VCU0lURV9EQVRBX1dF
QlNRTF9EQVRBQkFTRVMgfCBXRUJLSVRfV0VCU0lURV9EQVRBX0lOREVYRUREQl9EQVRBQkFTRVMp
OworICAgIHN0YXRpYyBjb25zdCBXZWJLaXRXZWJzaXRlRGF0YVR5cGVzIGRhdGFiYXNlVHlwZXMg
PSBzdGF0aWNfY2FzdDxXZWJLaXRXZWJzaXRlRGF0YVR5cGVzPihXRUJLSVRfV0VCU0lURV9EQVRB
X0lOREVYRUREQl9EQVRBQkFTRVMpOwogICAgIEdMaXN0KiBkYXRhTGlzdCA9IHRlc3QtPmZldGNo
KGRhdGFiYXNlVHlwZXMpOwogICAgIGdfYXNzZXJ0X251bGwoZGF0YUxpc3QpOwogCkBAIC00NDUs
NyArNDM0LDYgQEAgc3RhdGljIHZvaWQgdGVzdFdlYnNpdGVEYXRhRGF0YWJhc2VzKFdlYnNpdGVE
YXRhVGVzdCogdGVzdCwgZ2NvbnN0cG9pbnRlcikKICAgICBnX2Fzc2VydF9jbXB1aW50KHdlYmtp
dF93ZWJzaXRlX2RhdGFfZ2V0X3R5cGVzKGRhdGEpLCA9PSwgZGF0YWJhc2VUeXBlcyk7CiAgICAg
Ly8gRGF0YWJhc2Ugc2l6ZXMgYXJlIHVua25vd24uCiAgICAgZ19hc3NlcnRfY21wdWludCh3ZWJr
aXRfd2Vic2l0ZV9kYXRhX2dldF9zaXplKGRhdGEsIFdFQktJVF9XRUJTSVRFX0RBVEFfSU5ERVhF
RERCX0RBVEFCQVNFUyksID09LCAwKTsKLSAgICBnX2Fzc2VydF9jbXB1aW50KHdlYmtpdF93ZWJz
aXRlX2RhdGFfZ2V0X3NpemUoZGF0YSwgV0VCS0lUX1dFQlNJVEVfREFUQV9XRUJTUUxfREFUQUJB
U0VTKSwgPT0sIDApOwogCiAgICAgLy8gUmVtb3ZlIGFsbCBkYXRhYmFzZXMgYXQgb25jZS4KICAg
ICBHTGlzdCByZW1vdmVMaXN0ID0geyBkYXRhLCBudWxscHRyLCBudWxscHRyIH07Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>