<?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>172849</bug_id>
          
          <creation_ts>2017-06-02 00:24:30 -0700</creation_ts>
          <short_desc>REGRESSION (r199558): WKWebView upload file which name contains Chinese character results in garbled code</short_desc>
          <delta_ts>2017-08-29 19:01:27 -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>Forms</component>
          <version>Other</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>macOS 10.12</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=164330</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=164311</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=137759</see_also>
          <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>johnhu456</reporter>
          <assigned_to name="Andy Estes">aestes</assigned_to>
          <cc>5803104</cc>
    
    <cc>aestes</cc>
    
    <cc>ap</cc>
    
    <cc>buildbot</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1314981</commentid>
    <comment_count>0</comment_count>
    <who name="">johnhu456</who>
    <bug_when>2017-06-02 00:24:30 -0700</bug_when>
    <thetext>I am working on a Mac app, just a simple web application encapsulated in WKWebView.

Here is the code when I tring to upload a file which name contains special character:

-(void)webView:(WKWebView *)webView runOpenPanelWithParameters:(WKOpenPanelParameters *)parameters initiatedByFrame:(WKFrameInfo *)frame completionHandler:(void (^)(NSArray&lt;NSURL *&gt; * _Nullable))completionHandler
{
     DEBUG_FUNC(@&quot;&quot;);

     NSOpenPanel* openDlg = [NSOpenPanel openPanel];
    [openDlg setCanChooseFiles:YES];
    [openDlg setCanChooseDirectories:NO];
    [openDlg setPrompt:NSLocalizedString(@&quot;Choose&quot;, nil)];
    openDlg.allowsMultipleSelection = YES;

    if ( [openDlg runModal] == NSOKButton ) 
    {
        if (completionHandler)
        {
            completionHandler([openDlg URLs]);
        }
    }  
}
When I was using WebView, this way can work, so it should not be a web problem.

But since the project used WKWebView,
for example: file &quot;证书.p12&quot; would be changed to &quot;è¯ä¹¦.p12&quot; after uploaded via WKWebView.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1315558</commentid>
    <comment_count>1</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2017-06-04 09:30:22 -0700</bug_when>
    <thetext>Could you please provide a complete test case? Is this problem reproducible for you in Safari with the same HTML content?

Such issues could be caused by not specifying an encoding in your HTML file.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1315604</commentid>
    <comment_count>2</comment_count>
    <who name="">johnhu456</who>
    <bug_when>2017-06-04 18:41:23 -0700</bug_when>
    <thetext>I post a demo on Github:
https://github.com/madao1237/WKWebViewUploadDemo
You can try this demo to do tests.(In reply to Alexey Proskuryakov from comment #1)
&gt; Could you please provide a complete test case? Is this problem reproducible
&gt; for you in Safari with the same HTML content?
&gt; 
&gt; Such issues could be caused by not specifying an encoding in your HTML file.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1315709</commentid>
    <comment_count>3</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2017-06-05 09:30:21 -0700</bug_when>
    <thetext>Thank you, this does reproduce, and is a WebKit issue.

Andy looked at this with me, and this should be the fix. Just need to add a regression test.


Index: Source/WebKit2/UIProcess/Cocoa/UIDelegate.mm
===================================================================
--- Source/WebKit2/UIProcess/Cocoa/UIDelegate.mm	(revision 216685)
+++ Source/WebKit2/UIProcess/Cocoa/UIDelegate.mm	(working copy)
@@ -365,7 +365,7 @@
 
         Vector&lt;String&gt; filenames;
         for (NSURL *url in URLs)
-            filenames.append(url.fileSystemRepresentation);
+            filenames.append(String::fromUTF8(url.fileSystemRepresentation));
 
         resultListener-&gt;chooseFiles(filenames);
     }];</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1315710</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-06-05 09:31:07 -0700</bug_when>
    <thetext>&lt;rdar://problem/32567454&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1315860</commentid>
    <comment_count>5</comment_count>
    <who name="">johnhu456</who>
    <bug_when>2017-06-05 19:57:06 -0700</bug_when>
    <thetext>(In reply to Alexey Proskuryakov from comment #3)
&gt; Thank you, this does reproduce, and is a WebKit issue.
&gt; 
&gt; Andy looked at this with me, and this should be the fix. Just need to add a
&gt; regression test.
&gt; 
&gt; 
&gt; Index: Source/WebKit2/UIProcess/Cocoa/UIDelegate.mm
&gt; ===================================================================
&gt; --- Source/WebKit2/UIProcess/Cocoa/UIDelegate.mm	(revision 216685)
&gt; +++ Source/WebKit2/UIProcess/Cocoa/UIDelegate.mm	(working copy)
&gt; @@ -365,7 +365,7 @@
&gt;  
&gt;          Vector&lt;String&gt; filenames;
&gt;          for (NSURL *url in URLs)
&gt; -            filenames.append(url.fileSystemRepresentation);
&gt; +           
&gt; filenames.append(String::fromUTF8(url.fileSystemRepresentation));
&gt;  
&gt;          resultListener-&gt;chooseFiles(filenames);
&gt;      }];


So is there anyway for developer to fix it from outside?
And in which macOS version will this issue be fixed?

I am so anxious because it&apos;s really inconvenient, and I want to fix it ASAP in my application too.
Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1316019</commentid>
    <comment_count>6</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2017-06-06 09:18:26 -0700</bug_when>
    <thetext>(In reply to Alexey Proskuryakov from comment #3)
&gt;          Vector&lt;String&gt; filenames;
&gt;          for (NSURL *url in URLs)
&gt; -            filenames.append(url.fileSystemRepresentation);
&gt; +           
&gt; filenames.append(String::fromUTF8(url.fileSystemRepresentation));

I have said before that if we want to make a String, we probably don’t want use -[NSURL fileSystemRepresentation]. I believe we can use either -[NSURL path] or CFURLCopyFileSystemPath instead to avoid the encoding/decoding process.

Alexey, Andy, did you decide you disagree with me on this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1316046</commentid>
    <comment_count>7</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2017-06-06 09:58:09 -0700</bug_when>
    <thetext>&gt; So is there anyway for developer to fix it from outside?

The only way I can think of is to make a renamed copy of the file in the delegate, one that doesn&apos;t have characters outside Latin-1 range. This is not a good workaround, as the file name would have to become different.

&gt; Alexey, Andy, did you decide you disagree with me on this?

I still don&apos;t have a complete clarity on which layer is supposed to perform normalization, if any. But this sounds like how the String/NSString based APIs *should* work, so I agree that switching to url.path would be a better fix here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1316062</commentid>
    <comment_count>8</comment_count>
      <attachid>312085</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2017-06-06 10:29:14 -0700</bug_when>
    <thetext>Created attachment 312085
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1316063</commentid>
    <comment_count>9</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-06-06 10:30:11 -0700</bug_when>
    <thetext>Attachment 312085 did not pass style-queue:


ERROR: Tools/TestWebKitAPI/Tests/WebKit2Cocoa/RunOpenPanel.mm:46:  The parameter name &quot;]&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 1 in 5 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>1316167</commentid>
    <comment_count>10</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2017-06-06 12:33:02 -0700</bug_when>
    <thetext>EWS is red.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1316183</commentid>
    <comment_count>11</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2017-06-06 12:56:17 -0700</bug_when>
    <thetext>(In reply to Alexey Proskuryakov from comment #7)
&gt; &gt; Alexey, Andy, did you decide you disagree with me on this?
&gt; 
&gt; I still don&apos;t have a complete clarity on which layer is supposed to perform
&gt; normalization, if any. But this sounds like how the String/NSString based
&gt; APIs *should* work, so I agree that switching to url.path would be a better
&gt; fix here.

I initially proposed Alexey try String::fromUTF8() as a test, but we also discussed whether we should use url.path based on Darin&apos;s earlier proposal. I agree that url.path should work here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1316193</commentid>
    <comment_count>12</comment_count>
      <attachid>312110</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2017-06-06 13:05:52 -0700</bug_when>
    <thetext>Created attachment 312110
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1316195</commentid>
    <comment_count>13</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-06-06 13:06:54 -0700</bug_when>
    <thetext>Attachment 312110 did not pass style-queue:


ERROR: Tools/TestWebKitAPI/Tests/WebKit2Cocoa/RunOpenPanel.mm:46:  The parameter name &quot;]&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 1 in 5 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>1316216</commentid>
    <comment_count>14</comment_count>
      <attachid>312117</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2017-06-06 13:50:26 -0700</bug_when>
    <thetext>Created attachment 312117
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1316217</commentid>
    <comment_count>15</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-06-06 13:51:45 -0700</bug_when>
    <thetext>Attachment 312117 did not pass style-queue:


ERROR: Tools/TestWebKitAPI/Tests/WebKit2Cocoa/RunOpenPanel.mm:47:  The parameter name &quot;]&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 1 in 5 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>1316242</commentid>
    <comment_count>16</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2017-06-06 14:41:14 -0700</bug_when>
    <thetext>Looks like RunOpenPanel.mm needs help from AppKitCompatibilityDeclarations.h.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1316249</commentid>
    <comment_count>17</comment_count>
      <attachid>312123</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2017-06-06 14:49:10 -0700</bug_when>
    <thetext>Created attachment 312123
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1316251</commentid>
    <comment_count>18</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2017-06-06 14:51:05 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #16)
&gt; Looks like RunOpenPanel.mm needs help from AppKitCompatibilityDeclarations.h.

In fact the whole test will fail prior to 10.12 because that&apos;s when -webView:runOpenPanelWithParameters:initiatedByFrame:completionHandler: was introduced. I&apos;ve skipped the test prior to 10.12.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1316252</commentid>
    <comment_count>19</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-06-06 14:52:09 -0700</bug_when>
    <thetext>Attachment 312123 did not pass style-queue:


ERROR: Tools/TestWebKitAPI/Tests/WebKit2Cocoa/RunOpenPanel.mm:47:  The parameter name &quot;]&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 1 in 5 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>1316291</commentid>
    <comment_count>20</comment_count>
      <attachid>312123</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-06-06 16:04:52 -0700</bug_when>
    <thetext>Comment on attachment 312123
Patch

Clearing flags on attachment: 312123

Committed r217865: &lt;http://trac.webkit.org/changeset/217865&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1316292</commentid>
    <comment_count>21</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-06-06 16:04:54 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1343386</commentid>
    <comment_count>22</comment_count>
    <who name="liaokobe">5803104</who>
    <bug_when>2017-08-29 19:01:27 -0700</bug_when>
    <thetext>It would be highly appreciated to know which macOS version will have this patch. The latest version is still 10.12.6 (16G29).</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>312085</attachid>
            <date>2017-06-06 10:29:14 -0700</date>
            <delta_ts>2017-06-06 13:05:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-172849-20170606102913.patch</filename>
            <type>text/plain</type>
            <size>13033</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE3Nzg5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNjc5YjYxODYzMTBlMTk3
NzQxZDU1NGQ0ZDFlNDNmZTBlYWIxZmI1Zi4uMmI3OWZjYmE5YjQzNDdmMmY0MWM5ZjkwNDFkZDE2
ZmQ1ZjVlNDRlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDE3LTA2LTA2ICBBbmR5
IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OIChyMTk5NTU4
KTogV0tXZWJWaWV3IHVwbG9hZCBmaWxlIHdoaWNoIG5hbWUgY29udGFpbnMgQ2hpbmVzZSBjaGFy
YWN0ZXIgcmVzdWx0cyBpbiBnYXJibGVkIGNvZGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE3Mjg0OQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzI1
Njc0NTQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
U2ltaWxhciB0byByMjA4Mjk1LCB3ZSBuZWVkIHRvIHVzZSBTdHJpbmc6OmZyb21VVEY4KCkgd2hl
biBjb252ZXJ0aW5nIGEgTlNVUkwncworICAgICAgICBmaWxlU3lzdGVtUmVwcmVzZW50YXRpb24g
dG8gYSBXVEY6OlN0cmluZy4KKworICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRl
Lm1tOgorICAgICAgICAoV2ViS2l0OjpVSURlbGVnYXRlOjpVSUNsaWVudDo6cnVuT3BlblBhbmVs
KToKKwogMjAxNy0wNi0wNSAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5j
b20+CiAKICAgICAgICAgVW5yZXZpZXdlZC4gRml4IEdUSysgYnVpbGQgd2l0aCBPcGVuR0wgZGlz
YWJsZWQgYWZ0ZXIgcjIxNzc3OS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9Db2NvYS9VSURlbGVnYXRlLm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1VJ
RGVsZWdhdGUubW0KaW5kZXggYzhlY2FiNTE2MjA0NmJkOWRlMzU3ODhjZGVhZmRjYmY3MmI2MTQ4
MC4uNjRkYmZkNTM0NGIwMDQ4OGViZTg0ZjI0YTM1NmE5YTM1OTFmZTBkZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUubW0KKysrIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUubW0KQEAgLTM5NSw3ICszOTUsNyBA
QCBib29sIFVJRGVsZWdhdGU6OlVJQ2xpZW50OjpydW5PcGVuUGFuZWwoV2ViUGFnZVByb3h5Kiwg
V2ViRnJhbWVQcm94eSogd2ViRnJhbWVQcgogCiAgICAgICAgIFZlY3RvcjxTdHJpbmc+IGZpbGVu
YW1lczsKICAgICAgICAgZm9yIChOU1VSTCAqdXJsIGluIFVSTHMpCi0gICAgICAgICAgICBmaWxl
bmFtZXMuYXBwZW5kKHVybC5maWxlU3lzdGVtUmVwcmVzZW50YXRpb24pOworICAgICAgICAgICAg
ZmlsZW5hbWVzLmFwcGVuZChTdHJpbmc6OmZyb21VVEY4KHVybC5maWxlU3lzdGVtUmVwcmVzZW50
YXRpb24pKTsKIAogICAgICAgICByZXN1bHRMaXN0ZW5lci0+Y2hvb3NlRmlsZXMoZmlsZW5hbWVz
KTsKICAgICB9XTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxv
ZwppbmRleCBlYzBhYTBkY2JjYjk0OGQxYjNkNDQwYzdlOGRmNWY0MTNlOGZmNjUwLi5jNDAzNTdj
ZWYyODNjMzg4ZmZlMTA1YTQzYzNkMzdiZDIzNGM3NmM1IDEwMDY0NAotLS0gYS9Ub29scy9DaGFu
Z2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTctMDYtMDYg
IEFuZHkgRXN0ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgorCisgICAgICAgIFJFR1JFU1NJT04gKHIx
OTk1NTgpOiBXS1dlYlZpZXcgdXBsb2FkIGZpbGUgd2hpY2ggbmFtZSBjb250YWlucyBDaGluZXNl
IGNoYXJhY3RlciByZXN1bHRzIGluIGdhcmJsZWQgY29kZQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcyODQ5CisgICAgICAgIDxyZGFyOi8vcHJvYmxl
bS8zMjU2NzQ1ND4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL1J1bk9wZW5Q
YW5lbC5tbTogQWRkZWQuCisgICAgICAgICgtW1J1bk9wZW5QYW5lbFVJRGVsZWdhdGUgd2ViVmll
dzpydW5PcGVuUGFuZWxXaXRoUGFyYW1ldGVyczppbml0aWF0ZWRCeUZyYW1lOmNvbXBsZXRpb25I
YW5kbGVyOl0pOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisKIDIwMTctMDYtMDUg
IFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CiAKICAgICAgICAgQVNTRVJU
SU9OIEZBSUxFRDogbV9jdXJyZW50U2NyaXB0Q2FsbGJhY2tJRCBpbiBVSVNjcmlwdENvbnRleHQ6
OnJlcXVlc3RVSVNjcmlwdENvbXBsZXRpb24oSlNTdHJpbmdSZWYpIHJ1bm5pbmcgZmFzdC9ldmVu
dHMvaW9zL2F1dG9jb3JyZWN0LXdpdGgtcmFuZ2Utc2VsZWN0aW9uLmh0bWwKZGlmZiAtLWdpdCBh
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKaW5kZXggMWM0YjMyNDcwMjY5YjgwODIyY2U1MTcwNDY0MmRmYzBkM2MzZTMwMC4u
NjI4MzQ0ZDc4MTcwOGI1YmUxNWI1YTY5NGE5ZmQ3OTc5Y2M5ZWVmOCAxMDA2NDQKLS0tIGEvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
KysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKQEAgLTUyOSw4ICs1MjksMTAgQEAKIAkJQTE2RjY2QkExQzQwRUI0RjAwQkQ0RDI0
IC8qIENvbnRlbnRGaWx0ZXJpbmcuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMTZGNjZCOTFDNDBFQTIwMDBCRDREMjQgLyogQ29udGVu
dEZpbHRlcmluZy5odG1sICovOyB9OwogCQlBMTc5OTE4ODFFMUM5OTRFMDBBNTA1RUQgLyogU2hh
cmVkQnVmZmVyLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQTE3OTkxODYxRTFDOTk0RTAwQTUwNUVEIC8qIFNoYXJlZEJ1ZmZlci5tbSAqLzsgfTsKIAkJ
QTE3OTkxOEIxRTFDQTI0MTAwQTUwNUVEIC8qIFNoYXJlZEJ1ZmZlclRlc3QuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTE3OTkxODkxRTFDQTI0MTAw
QTUwNUVEIC8qIFNoYXJlZEJ1ZmZlclRlc3QuY3BwICovOyB9OworCQlBMTgwQzBGQTFFRTY3REYw
MDA0NjhGNDcgLyogUnVuT3BlblBhbmVsLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQTE4MEMwRjkxRUU2N0RGMDAwNDY4RjQ3IC8qIFJ1bk9wZW5QYW5l
bC5tbSAqLzsgfTsKIAkJQTFDNEZCNzMxQkFDRDFDQTAwMzc0MkQwIC8qIHBhZ2VzLnBhZ2VzIGlu
IENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExQzRG
QjcyMUJBQ0QxQjcwMDM3NDJEMCAvKiBwYWdlcy5wYWdlcyAqLzsgfTsKIAkJQTFERjc0MzIxQzQx
QjY1ODAwQTJGNEQwIC8qIEFsd2F5c1JldmFsaWRhdGVkVVJMU2NoZW1lcy5tbSBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExREY3NDMwMUM0MUI2NTgwMEEy
RjREMCAvKiBBbHdheXNSZXZhbGlkYXRlZFVSTFNjaGVtZXMubW0gKi87IH07CisJCUExRUQzNDFF
MUVFNjg1RTUwMENDQ0YxOSAvKiDov5nmmK/kuK3mlocudHh0IGluIENvcHkgUmVzb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExRUQzNDFEMUVFNjg1M0EwMENDQ0Yx
OSAvKiDov5nmmK/kuK3mlocudHh0ICovOyB9OwogCQlBNTdBMzRGMjE2QUY2QjJCMDBDMjUwMUYg
LyogUGFnZVZpc2liaWxpdHlTdGF0ZVdpdGhXaW5kb3dDaGFuZ2VzLmh0bWwgaW4gQ29weSBSZXNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTU3QTM0RjExNkFGNjlF
MjAwQzI1MDFGIC8qIFBhZ2VWaXNpYmlsaXR5U3RhdGVXaXRoV2luZG93Q2hhbmdlcy5odG1sICov
OyB9OwogCQlBNUUyMDI3NTE1QjIxRjZFMDBDMTNFMTQgLyogV2luZG93bGVzc1dlYlZpZXdXaXRo
TWVkaWEuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBBNUUyMDI3MDE1QjIxODA2MDBDMTNFMTQgLyogV2luZG93bGVzc1dlYlZpZXdXaXRo
TWVkaWEuaHRtbCAqLzsgfTsKIAkJQUQ1N0FDMjAxREE3NDY1MDAwRkYxQkRFIC8qIERpZFJlbW92
ZUZyYW1lRnJvbUhpZWFyY2h5SW5QYWdlQ2FjaGVfQnVuZGxlLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEFENTdBQzFFMURBNzQ2NEQwMEZGMUJERSAv
KiBEaWRSZW1vdmVGcmFtZUZyb21IaWVhcmNoeUluUGFnZUNhY2hlX0J1bmRsZS5jcHAgKi87IH07
CkBAIC03MDIsNiArNzA0LDcgQEAKIAkJCWRzdFBhdGggPSBUZXN0V2ViS2l0QVBJLnJlc291cmNl
czsKIAkJCWRzdFN1YmZvbGRlclNwZWMgPSA3OwogCQkJZmlsZXMgPSAoCisJCQkJQTFFRDM0MUUx
RUU2ODVFNTAwQ0NDRjE5IC8qIOi/meaYr+S4reaWhy50eHQgaW4gQ29weSBSZXNvdXJjZXMgKi8s
CiAJCQkJOTNFMkQyNzYxRUQ3RDUzMjAwRkE3NkY2IC8qIG9mZnNjcmVlbi1pZnJhbWUtb2YtbWVk
aWEtZG9jdW1lbnQuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywKIAkJCQlGNDZBMDk1QTFFRDhB
NkU2MDBENEFBNTUgLyogYXBwbGUuZ2lmIGluIENvcHkgUmVzb3VyY2VzICovLAogCQkJCUY0NkEw
OTVCMUVEOEE2RTYwMEQ0QUE1NSAvKiBnaWYtYW5kLWZpbGUtaW5wdXQuaHRtbCBpbiBDb3B5IFJl
c291cmNlcyAqLywKQEAgLTEzNjMsMTEgKzEzNjYsMTMgQEAKIAkJQTE3OTkxODYxRTFDOTk0RTAw
QTUwNUVEIC8qIFNoYXJlZEJ1ZmZlci5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNw
cDsgcGF0aCA9IFNoYXJlZEJ1ZmZlci5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
QTE3OTkxODkxRTFDQTI0MTAwQTUwNUVEIC8qIFNoYXJlZEJ1ZmZlclRlc3QuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2hhcmVkQnVmZmVyVGVzdC5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUExNzk5MThBMUUxQ0EyNDEwMEE1MDVFRCAvKiBTaGFy
ZWRCdWZmZXJUZXN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNoYXJlZEJ1
ZmZlclRlc3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTE4MEMwRjkxRUU2N0RG
MDAwNDY4RjQ3IC8qIFJ1bk9wZW5QYW5lbC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFJ1bk9w
ZW5QYW5lbC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTE4QUE4Q0MxQzNGQTIx
ODAwOUIyQjk3IC8qIENvbnRlbnRGaWx0ZXJpbmcuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gQ29udGVudEZpbHRlcmluZy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlBMUE0RkU1RDE4REQzREI3MDBCNUVBOEEgLyogRG93bmxvYWQubW0gKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBEb3dubG9hZC5tbTsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJQTFDNEZCNkMxQkFDQ0U1MDAwMzc0MkQwIC8qIFF1aWNrTG9vay5tbSAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFF1aWNrTG9vay5tbTsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTFDNEZCNzIxQkFDRDFCNzAwMzc0MkQwIC8qIHBhZ2Vz
LnBhZ2VzICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
ZmlsZTsgbmFtZSA9IHBhZ2VzLnBhZ2VzOyBwYXRoID0gaW9zL3BhZ2VzLnBhZ2VzOyBzb3VyY2VU
cmVlID0gU09VUkNFX1JPT1Q7IH07CiAJCUExREY3NDMwMUM0MUI2NTgwMEEyRjREMCAvKiBBbHdh
eXNSZXZhbGlkYXRlZFVSTFNjaGVtZXMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpj
cHA7IHBhdGggPSBBbHdheXNSZXZhbGlkYXRlZFVSTFNjaGVtZXMubW07IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCUExRUQzNDFEMUVFNjg1M0EwMENDQ0YxOSAvKiDov5nmmK/kuK3mlocu
dHh0ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9ICLov5nmmK/kuK3mlocudHh0Ijsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTFGREZEMkUxOUMyODhCQjAwNTE0OEE0IC8qIFdLSW1hZ2VD
cmVhdGVDR0ltYWdlQ3Jhc2guY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gV0tJbWFnZUNyZWF0ZUNHSW1hZ2VDcmFzaC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUE1N0EzNEVGMTZBRjY3NzIwMEMyNTAxRiAvKiBQYWdlVmlzaWJpbGl0eVN0YXRlV2l0
aFdpbmRvd0NoYW5nZXMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGgg
PSBQYWdlVmlzaWJpbGl0eVN0YXRlV2l0aFdpbmRvd0NoYW5nZXMubW07IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUE1N0EzNEYxMTZBRjY5RTIwMEMyNTAxRiAvKiBQYWdlVmlzaWJpbGl0
eVN0YXRlV2l0aFdpbmRvd0NoYW5nZXMuaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9
IFBhZ2VWaXNpYmlsaXR5U3RhdGVXaXRoV2luZG93Q2hhbmdlcy5odG1sOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwpAQCAtMTc4Myw2ICsxNzg4LDcgQEAKIAkJCQlBMTJEREJGQzFFODM2RkYx
MDBDRjZDQUUgLyogUmVuZGVyZWRJbWFnZVdpdGhPcHRpb25zUGx1Z0luLm1tICovLAogCQkJCUEx
MkREQzAxMUU4Mzc0RjUwMENGNkNBRSAvKiBSZW5kZXJlZEltYWdlV2l0aE9wdGlvbnNQcm90b2Nv
bC5oICovLAogCQkJCUNEOUUyOTJCMUM5MEE3MUYwMDBCQjgwMCAvKiBSZXF1aXJlc1VzZXJBY3Rp
b25Gb3JQbGF5YmFjay5tbSAqLywKKwkJCQlBMTgwQzBGOTFFRTY3REYwMDA0NjhGNDcgLyogUnVu
T3BlblBhbmVsLm1tICovLAogCQkJCTM3QkNBNjFCMUI1OTZCQTkwMDIwMTJDQSAvKiBTaG91bGRP
cGVuRXh0ZXJuYWxVUkxzSW5OZXdXaW5kb3dBY3Rpb25zLm1tICovLAogCQkJCTJEOUE1M0FFMUIz
MUZBOEQwMDc0RDVBQSAvKiBTaHJpbmtUb0ZpdC5tbSAqLywKIAkJCQkyREZGN0I2QzFEQTQ4N0FG
MDA4MTQ2MTQgLyogU25hcHNob3RTdG9yZS5tbSAqLywKQEAgLTIwMjEsNiArMjAyNyw3IEBACiAJ
CQkJNTEyMEM4M0IxRTY3NEUzNTAwMjVCMjUwIC8qIFdlYnNpdGVEYXRhU3RvcmVDdXN0b21QYXRo
cy5odG1sICovLAogCQkJCTJFMTMxQzE3MUQ4M0E5N0UwMDFCQTM2QyAvKiB3aWRlLWF1dG9wbGF5
aW5nLXZpZGVvLXdpdGgtYXVkaW8uaHRtbCAqLywKIAkJCQlGNDdEMzBFRDFFRDI4QTZDMDAwNDgy
RTEgLyogZ2lmLWFuZC1maWxlLWlucHV0Lmh0bWwgKi8sCisJCQkJQTFFRDM0MUQxRUU2ODUzQTAw
Q0NDRjE5IC8qIOi/meaYr+S4reaWhy50eHQgKi8sCiAJCQkpOwogCQkJbmFtZSA9IFJlc291cmNl
czsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CkBAIC0zMDg3LDYgKzMwOTQsNyBAQAogCQkJ
CUNFMzUyNEY5MUIxNDQxQzQwMDI4QTdDNSAvKiBUZXh0RmllbGREaWRCZWdpbkFuZEVuZEVkaXRp
bmcuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0NDRTdFREQxQTQxMUE5MjAwNDQ3QzRDIC8qIFRp
bWVSYW5nZXMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEY0RkZBOUUxRUQzQUE4NTAwRjcxMTFG
IC8qIFNuYXBzaG90VmlhUmVuZGVySW5Db250ZXh0Lm1tIGluIFNvdXJjZXMgKi8sCisJCQkJQTE4
MEMwRkExRUU2N0RGMDAwNDY4RjQ3IC8qIFJ1bk9wZW5QYW5lbC5tbSBpbiBTb3VyY2VzICovLAog
CQkJCTdDQ0U3RUQzMUE0MTFBN0UwMDQ0N0M0QyAvKiBUeXBpbmdTdHlsZUNyYXNoLm1tIGluIFNv
dXJjZXMgKi8sCiAJCQkJN0NDRTdFREUxQTQxMUE5MjAwNDQ3QzRDIC8qIFVSTC5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQk3Q0NFN0VCMDFBNDExQTQ0MDA0NDdDNEMgLyogVVJMRXh0cmFzLm1tIGlu
IFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktp
dDJDb2NvYS9SdW5PcGVuUGFuZWwubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktp
dDJDb2NvYS9SdW5PcGVuUGFuZWwubW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTFmN2ZkMGFhZTE1N2NlZWYyZWY4
NzliZTRhNGU2ZjdiZDk3OWIyYwotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViS2l0MkNvY29hL1J1bk9wZW5QYW5lbC5tbQpAQCAtMCwwICsxLDgwIEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI2ltcG9ydCAiY29uZmlnLmgiCisKKyNpZiBXS19BUElfRU5BQkxFRCAmJiBQ
TEFURk9STShNQUMpCisKKyNpbXBvcnQgIlBsYXRmb3JtVXRpbGl0aWVzLmgiCisjaW1wb3J0ICJU
ZXN0TmF2aWdhdGlvbkRlbGVnYXRlLmgiCisjaW1wb3J0ICJVdGlsaXRpZXMuaCIKKyNpbXBvcnQg
PFdlYktpdC9XZWJLaXQuaD4KKyNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KKworc3RhdGljIGJv
b2wgZmlsZVNlbGVjdGVkOworc3RhdGljIE5TU3RyaW5nICogY29uc3QgcmVzb3VyY2VOYW1lID0g
QCLov5nmmK/kuK3mlociOworCitAaW50ZXJmYWNlIFJ1bk9wZW5QYW5lbFVJRGVsZWdhdGUgOiBO
U09iamVjdCA8V0tVSURlbGVnYXRlPgorQGVuZAorCitAaW1wbGVtZW50YXRpb24gUnVuT3BlblBh
bmVsVUlEZWxlZ2F0ZQorCistICh2b2lkKXdlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgcnVu
T3BlblBhbmVsV2l0aFBhcmFtZXRlcnM6KFdLT3BlblBhbmVsUGFyYW1ldGVycyAqKXBhcmFtZXRl
cnMgaW5pdGlhdGVkQnlGcmFtZTooV0tGcmFtZUluZm8gKilmcmFtZSBjb21wbGV0aW9uSGFuZGxl
cjoodm9pZCAoXikoTlNBcnJheTxOU1VSTCAqPiAqIF9OdWxsYWJsZSkpY29tcGxldGlvbkhhbmRs
ZXIKK3sKKyAgICBjb21wbGV0aW9uSGFuZGxlcihAWyBbTlNCdW5kbGUubWFpbkJ1bmRsZSBVUkxG
b3JSZXNvdXJjZTpyZXNvdXJjZU5hbWUgd2l0aEV4dGVuc2lvbjpAInR4dCIgc3ViZGlyZWN0b3J5
OkAiVGVzdFdlYktpdEFQSS5yZXNvdXJjZXMiXSBdKTsKKyAgICBmaWxlU2VsZWN0ZWQgPSB0cnVl
OworfQorCitAZW5kCisKK25hbWVzcGFjZSBUZXN0V2ViS2l0QVBJIHsKKworVEVTVChXZWJLaXQy
LCBSdW5PcGVuUGFuZWxOb25MYXRpbjEpCit7CisgICAgYXV0byB3ZWJWaWV3ID0gYWRvcHROUyhb
W1dLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDEwMCwgMTAw
KV0pOworICAgIGF1dG8gdWlEZWxlZ2F0ZSA9IGFkb3B0TlMoW1tSdW5PcGVuUGFuZWxVSURlbGVn
YXRlIGFsbG9jXSBpbml0XSk7CisgICAgW3dlYlZpZXcgc2V0VUlEZWxlZ2F0ZTp1aURlbGVnYXRl
LmdldCgpXTsKKyAgICBbd2ViVmlldyBsb2FkSFRNTFN0cmluZzpAIjwhRE9DVFlQRSBodG1sPjxp
bnB1dCBzdHlsZT0nd2lkdGg6IDEwMHZ3OyBoZWlnaHQ6IDEwMHZoOycgdHlwZT0nZmlsZSc+IiBi
YXNlVVJMOm5pbF07CisgICAgW3dlYlZpZXcgX3Rlc3Rfd2FpdEZvckRpZEZpbmlzaE5hdmlnYXRp
b25dOworICAgIAorICAgIE5TUG9pbnQgY2xpY2tQb2ludCA9IE5TTWFrZVBvaW50KDUwLCA1MCk7
CisgICAgTlNJbnRlZ2VyIHdpbmRvd051bWJlciA9IFt3ZWJWaWV3IHdpbmRvd10ud2luZG93TnVt
YmVyOworICAgIFt3ZWJWaWV3IG1vdXNlRG93bjpbTlNFdmVudCBtb3VzZUV2ZW50V2l0aFR5cGU6
TlNFdmVudFR5cGVMZWZ0TW91c2VEb3duIGxvY2F0aW9uOmNsaWNrUG9pbnQgbW9kaWZpZXJGbGFn
czowIHRpbWVzdGFtcDowIHdpbmRvd051bWJlcjp3aW5kb3dOdW1iZXIgY29udGV4dDpuaWwgZXZl
bnROdW1iZXI6MCBjbGlja0NvdW50OjEgcHJlc3N1cmU6MV1dOworICAgIFt3ZWJWaWV3IG1vdXNl
VXA6W05TRXZlbnQgbW91c2VFdmVudFdpdGhUeXBlOk5TRXZlbnRUeXBlTGVmdE1vdXNlVXAgbG9j
YXRpb246Y2xpY2tQb2ludCBtb2RpZmllckZsYWdzOjAgdGltZXN0YW1wOjAgd2luZG93TnVtYmVy
OndpbmRvd051bWJlciBjb250ZXh0Om5pbCBldmVudE51bWJlcjowIGNsaWNrQ291bnQ6MSBwcmVz
c3VyZToxXV07CisgICAgVXRpbDo6cnVuKCZmaWxlU2VsZWN0ZWQpOworICAgIAorICAgIF9fYmxv
Y2sgYm9vbCB0ZXN0RmluaXNoZWQgPSBmYWxzZTsKKyAgICBbd2ViVmlldyBldmFsdWF0ZUphdmFT
Y3JpcHQ6QCJkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaW5wdXQnKVswXS5maWxlc1sw
XS5uYW1lIiBjb21wbGV0aW9uSGFuZGxlcjpeKGlkIF9OdWxsYWJsZSByZXN1bHQsIE5TRXJyb3Ig
KiBfTnVsbGFibGUgZXJyb3IpIHsKKyAgICAgICAgRVhQRUNUX1RSVUUoW3Jlc3VsdCBpc0tpbmRP
ZkNsYXNzOk5TU3RyaW5nLmNsYXNzXSk7CisgICAgICAgIE5TU3RyaW5nICpleHBlY3RlZEZpbGVO
YW1lID0gW05TU3RyaW5nIHN0cmluZ1dpdGhGb3JtYXQ6QCIlQC50eHQiLCByZXNvdXJjZU5hbWVd
OworICAgICAgICBFWFBFQ1RfV0tfU1RSRVEoZXhwZWN0ZWRGaWxlTmFtZSwgcmVzdWx0KTsKKyAg
ICAgICAgdGVzdEZpbmlzaGVkID0gdHJ1ZTsKKyAgICB9XTsKKyAgICBVdGlsOjpydW4oJnRlc3RG
aW5pc2hlZCk7Cit9CisgICAgCit9IC8vIG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJCisKKyNlbmRp
ZiAvLyBXS19BUElfRU5BQkxFRCAmJiBQTEFURk9STShNQUMpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>312110</attachid>
            <date>2017-06-06 13:05:52 -0700</date>
            <delta_ts>2017-06-06 13:50:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-172849-20170606130551.patch</filename>
            <type>text/plain</type>
            <size>10413</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE3Nzg5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNjc5YjYxODYzMTBlMTk3
NzQxZDU1NGQ0ZDFlNDNmZTBlYWIxZmI1Zi4uYWVlZjRjYWZmYjg3YjYyMGRmYmYzNmI5OWVmNGFl
MDg0ZWUzOGQwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDE3LTA2LTA2ICBBbmR5
IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OIChyMTk5NTU4
KTogV0tXZWJWaWV3IHVwbG9hZCBmaWxlIHdoaWNoIG5hbWUgY29udGFpbnMgQ2hpbmVzZSBjaGFy
YWN0ZXIgcmVzdWx0cyBpbiBnYXJibGVkIGNvZGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE3Mjg0OQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzI1
Njc0NTQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
VGhpcyBpcyB0aGUgTWFjIGVxdWl2YWxlbnQgb2Ygd2hhdCB3YXMgZml4ZWQgaW4gcjIwODI5NS4g
VGhpcyB0aW1lIHdlIHVzZSAtW05TVVJMIHBhdGhdIHRvCisgICAgICAgIGNvbnN0cnVjdCBhIFdU
Rjo6U3RyaW5nIGluc3RlYWQgb2YgY2FsbGluZyBTdHJpbmc6OmZyb21VVEY4KCkgb24gLVtOU1VS
TCBmaWxlU3lzdGVtUmVwcmVzZW50YXRpb25dLgorCisgICAgICAgICogVUlQcm9jZXNzL0NvY29h
L1VJRGVsZWdhdGUubW06CisgICAgICAgIChXZWJLaXQ6OlVJRGVsZWdhdGU6OlVJQ2xpZW50Ojpy
dW5PcGVuUGFuZWwpOgorCiAyMDE3LTA2LTA1ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJj
aWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLiBGaXggR1RLKyBidWlsZCB3aXRo
IE9wZW5HTCBkaXNhYmxlZCBhZnRlciByMjE3Nzc5LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQ29jb2EvVUlEZWxlZ2F0ZS5tbQppbmRleCBjOGVjYWI1MTYyMDQ2YmQ5ZGUzNTc4OGNkZWFm
ZGNiZjcyYjYxNDgwLi43YzVmNmZhNDA4YWM1MDdjMzlmMDg3YjBlYjE3NmJiYzNlMzVlMzIzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5tbQor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5tbQpAQCAtMzk1
LDcgKzM5NSw3IEBAIGJvb2wgVUlEZWxlZ2F0ZTo6VUlDbGllbnQ6OnJ1bk9wZW5QYW5lbChXZWJQ
YWdlUHJveHkqLCBXZWJGcmFtZVByb3h5KiB3ZWJGcmFtZVByCiAKICAgICAgICAgVmVjdG9yPFN0
cmluZz4gZmlsZW5hbWVzOwogICAgICAgICBmb3IgKE5TVVJMICp1cmwgaW4gVVJMcykKLSAgICAg
ICAgICAgIGZpbGVuYW1lcy5hcHBlbmQodXJsLmZpbGVTeXN0ZW1SZXByZXNlbnRhdGlvbik7Cisg
ICAgICAgICAgICBmaWxlbmFtZXMuYXBwZW5kKHVybC5wYXRoKTsKIAogICAgICAgICByZXN1bHRM
aXN0ZW5lci0+Y2hvb3NlRmlsZXMoZmlsZW5hbWVzKTsKICAgICB9XTsKZGlmZiAtLWdpdCBhL1Rv
b2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBlYzBhYTBkY2JjYjk0OGQxYjNk
NDQwYzdlOGRmNWY0MTNlOGZmNjUwLi5jNDAzNTdjZWYyODNjMzg4ZmZlMTA1YTQzYzNkMzdiZDIz
NGM3NmM1IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTYgQEAKKzIwMTctMDYtMDYgIEFuZHkgRXN0ZXMgIDxhZXN0ZXNAYXBwbGUu
Y29tPgorCisgICAgICAgIFJFR1JFU1NJT04gKHIxOTk1NTgpOiBXS1dlYlZpZXcgdXBsb2FkIGZp
bGUgd2hpY2ggbmFtZSBjb250YWlucyBDaGluZXNlIGNoYXJhY3RlciByZXN1bHRzIGluIGdhcmJs
ZWQgY29kZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTcyODQ5CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zMjU2NzQ1ND4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdFdl
YktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFRlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViS2l0MkNvY29hL1J1bk9wZW5QYW5lbC5tbTogQWRkZWQuCisgICAgICAgICgt
W1J1bk9wZW5QYW5lbFVJRGVsZWdhdGUgd2ViVmlldzpydW5PcGVuUGFuZWxXaXRoUGFyYW1ldGVy
czppbml0aWF0ZWRCeUZyYW1lOmNvbXBsZXRpb25IYW5kbGVyOl0pOgorICAgICAgICAoVGVzdFdl
YktpdEFQSTo6VEVTVCk6CisKIDIwMTctMDYtMDUgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRv
bkBhcHBsZS5jb20+CiAKICAgICAgICAgQVNTRVJUSU9OIEZBSUxFRDogbV9jdXJyZW50U2NyaXB0
Q2FsbGJhY2tJRCBpbiBVSVNjcmlwdENvbnRleHQ6OnJlcXVlc3RVSVNjcmlwdENvbXBsZXRpb24o
SlNTdHJpbmdSZWYpIHJ1bm5pbmcgZmFzdC9ldmVudHMvaW9zL2F1dG9jb3JyZWN0LXdpdGgtcmFu
Z2Utc2VsZWN0aW9uLmh0bWwKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdl
YktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggMWM0YjMyNDcwMjY5
YjgwODIyY2U1MTcwNDY0MmRmYzBkM2MzZTMwMC4uY2RhOWVjMDMyYWM2YjM2YmQxMTgzZjQ5N2I1
ZDkwMGQ2NTQxYmIxNyAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0
QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTUyOSw2ICs1MjksNyBA
QAogCQlBMTZGNjZCQTFDNDBFQjRGMDBCRDREMjQgLyogQ29udGVudEZpbHRlcmluZy5odG1sIGlu
IENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExNkY2
NkI5MUM0MEVBMjAwMEJENEQyNCAvKiBDb250ZW50RmlsdGVyaW5nLmh0bWwgKi87IH07CiAJCUEx
Nzk5MTg4MUUxQzk5NEUwMEE1MDVFRCAvKiBTaGFyZWRCdWZmZXIubW0gaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMTc5OTE4NjFFMUM5OTRFMDBBNTA1RUQg
LyogU2hhcmVkQnVmZmVyLm1tICovOyB9OwogCQlBMTc5OTE4QjFFMUNBMjQxMDBBNTA1RUQgLyog
U2hhcmVkQnVmZmVyVGVzdC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBBMTc5OTE4OTFFMUNBMjQxMDBBNTA1RUQgLyogU2hhcmVkQnVmZmVyVGVzdC5j
cHAgKi87IH07CisJCUExODBDMEZBMUVFNjdERjAwMDQ2OEY0NyAvKiBSdW5PcGVuUGFuZWwubW0g
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMTgwQzBGOTFF
RTY3REYwMDA0NjhGNDcgLyogUnVuT3BlblBhbmVsLm1tICovOyB9OwogCQlBMUM0RkI3MzFCQUNE
MUNBMDAzNzQyRDAgLyogcGFnZXMucGFnZXMgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTFDNEZCNzIxQkFDRDFCNzAwMzc0MkQwIC8qIHBhZ2Vz
LnBhZ2VzICovOyB9OwogCQlBMURGNzQzMjFDNDFCNjU4MDBBMkY0RDAgLyogQWx3YXlzUmV2YWxp
ZGF0ZWRVUkxTY2hlbWVzLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQTFERjc0MzAxQzQxQjY1ODAwQTJGNEQwIC8qIEFsd2F5c1JldmFsaWRhdGVkVVJM
U2NoZW1lcy5tbSAqLzsgfTsKIAkJQTU3QTM0RjIxNkFGNkIyQjAwQzI1MDFGIC8qIFBhZ2VWaXNp
YmlsaXR5U3RhdGVXaXRoV2luZG93Q2hhbmdlcy5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1N0EzNEYxMTZBRjY5RTIwMEMyNTAxRiAv
KiBQYWdlVmlzaWJpbGl0eVN0YXRlV2l0aFdpbmRvd0NoYW5nZXMuaHRtbCAqLzsgfTsKQEAgLTEz
NjMsNiArMTM2NCw3IEBACiAJCUExNzk5MTg2MUUxQzk5NEUwMEE1MDVFRCAvKiBTaGFyZWRCdWZm
ZXIubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBTaGFyZWRCdWZm
ZXIubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUExNzk5MTg5MUUxQ0EyNDEwMEE1
MDVFRCAvKiBTaGFyZWRCdWZmZXJUZXN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IFNoYXJlZEJ1ZmZlclRlc3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlBMTc5OTE4QTFFMUNBMjQxMDBBNTA1RUQgLyogU2hhcmVkQnVmZmVyVGVzdC5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTaGFyZWRCdWZmZXJUZXN0Lmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCUExODBDMEY5MUVFNjdERjAwMDQ2OEY0NyAvKiBSdW5PcGVu
UGFuZWwubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBSdW5PcGVuUGFuZWwubW07IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUExOEFBOENDMUMzRkEyMTgwMDlCMkI5NyAvKiBDb250ZW50
RmlsdGVyaW5nLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvbnRlbnRGaWx0
ZXJpbmcuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTFBNEZFNUQxOEREM0RCNzAw
QjVFQThBIC8qIERvd25sb2FkLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBw
YXRoID0gRG93bmxvYWQubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUExQzRGQjZD
MUJBQ0NFNTAwMDM3NDJEMCAvKiBRdWlja0xvb2subW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5vYmpjcHA7IHBhdGggPSBRdWlja0xvb2subW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CkBAIC0xNzgzLDYgKzE3ODUsNyBAQAogCQkJCUExMkREQkZDMUU4MzZGRjEwMENGNkNBRSAvKiBS
ZW5kZXJlZEltYWdlV2l0aE9wdGlvbnNQbHVnSW4ubW0gKi8sCiAJCQkJQTEyRERDMDExRTgzNzRG
NTAwQ0Y2Q0FFIC8qIFJlbmRlcmVkSW1hZ2VXaXRoT3B0aW9uc1Byb3RvY29sLmggKi8sCiAJCQkJ
Q0Q5RTI5MkIxQzkwQTcxRjAwMEJCODAwIC8qIFJlcXVpcmVzVXNlckFjdGlvbkZvclBsYXliYWNr
Lm1tICovLAorCQkJCUExODBDMEY5MUVFNjdERjAwMDQ2OEY0NyAvKiBSdW5PcGVuUGFuZWwubW0g
Ki8sCiAJCQkJMzdCQ0E2MUIxQjU5NkJBOTAwMjAxMkNBIC8qIFNob3VsZE9wZW5FeHRlcm5hbFVS
THNJbk5ld1dpbmRvd0FjdGlvbnMubW0gKi8sCiAJCQkJMkQ5QTUzQUUxQjMxRkE4RDAwNzRENUFB
IC8qIFNocmlua1RvRml0Lm1tICovLAogCQkJCTJERkY3QjZDMURBNDg3QUYwMDgxNDYxNCAvKiBT
bmFwc2hvdFN0b3JlLm1tICovLApAQCAtMzA4Nyw2ICszMDkwLDcgQEAKIAkJCQlDRTM1MjRGOTFC
MTQ0MUM0MDAyOEE3QzUgLyogVGV4dEZpZWxkRGlkQmVnaW5BbmRFbmRFZGl0aW5nLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTdDQ0U3RUREMUE0MTFBOTIwMDQ0N0M0QyAvKiBUaW1lUmFuZ2VzLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTBGNEZGQTlFMUVEM0FBODUwMEY3MTExRiAvKiBTbmFwc2hv
dFZpYVJlbmRlckluQ29udGV4dC5tbSBpbiBTb3VyY2VzICovLAorCQkJCUExODBDMEZBMUVFNjdE
RjAwMDQ2OEY0NyAvKiBSdW5PcGVuUGFuZWwubW0gaW4gU291cmNlcyAqLywKIAkJCQk3Q0NFN0VE
MzFBNDExQTdFMDA0NDdDNEMgLyogVHlwaW5nU3R5bGVDcmFzaC5tbSBpbiBTb3VyY2VzICovLAog
CQkJCTdDQ0U3RURFMUE0MTFBOTIwMDQ0N0M0QyAvKiBVUkwuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJN0NDRTdFQjAxQTQxMUE0NDAwNDQ3QzRDIC8qIFVSTEV4dHJhcy5tbSBpbiBTb3VyY2VzICov
LApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvUnVu
T3BlblBhbmVsLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvUnVu
T3BlblBhbmVsLm1tCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxZmViZmVhNzQ5YmY4ZWY3MzdlMTYyZGE0ZGVkZTQx
MjQ1ZGIxMzIKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dl
YktpdDJDb2NvYS9SdW5PcGVuUGFuZWwubW0KQEAgLTAsMCArMSw3OSBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpbXBvcnQgImNvbmZpZy5oIgorCisjaWYgV0tfQVBJX0VOQUJMRUQgJiYgUExBVEZPUk0oTUFD
KQorCisjaW1wb3J0ICJQbGF0Zm9ybVV0aWxpdGllcy5oIgorI2ltcG9ydCAiVGVzdE5hdmlnYXRp
b25EZWxlZ2F0ZS5oIgorI2ltcG9ydCAiVXRpbGl0aWVzLmgiCisjaW1wb3J0IDxXZWJLaXQvV2Vi
S2l0Lmg+CisjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CisKK3N0YXRpYyBib29sIGZpbGVTZWxl
Y3RlZDsKK3N0YXRpYyBOU1N0cmluZyAqIGNvbnN0IGV4cGVjdGVkRmlsZU5hbWUgPSBAIui/meaY
r+S4reaWhyI7CisKK0BpbnRlcmZhY2UgUnVuT3BlblBhbmVsVUlEZWxlZ2F0ZSA6IE5TT2JqZWN0
IDxXS1VJRGVsZWdhdGU+CitAZW5kCisKK0BpbXBsZW1lbnRhdGlvbiBSdW5PcGVuUGFuZWxVSURl
bGVnYXRlCisKKy0gKHZvaWQpd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBydW5PcGVuUGFu
ZWxXaXRoUGFyYW1ldGVyczooV0tPcGVuUGFuZWxQYXJhbWV0ZXJzICopcGFyYW1ldGVycyBpbml0
aWF0ZWRCeUZyYW1lOihXS0ZyYW1lSW5mbyAqKWZyYW1lIGNvbXBsZXRpb25IYW5kbGVyOih2b2lk
ICheKShOU0FycmF5PE5TVVJMICo+ICogX051bGxhYmxlKSljb21wbGV0aW9uSGFuZGxlcgorewor
ICAgIGNvbXBsZXRpb25IYW5kbGVyKEBbIFtOU1VSTCBmaWxlVVJMV2l0aFBhdGg6W05TVGVtcG9y
YXJ5RGlyZWN0b3J5KCkgc3RyaW5nQnlBcHBlbmRpbmdQYXRoQ29tcG9uZW50OmV4cGVjdGVkRmls
ZU5hbWVdXSBdKTsKKyAgICBmaWxlU2VsZWN0ZWQgPSB0cnVlOworfQorCitAZW5kCisKK25hbWVz
cGFjZSBUZXN0V2ViS2l0QVBJIHsKKworVEVTVChXZWJLaXQyLCBSdW5PcGVuUGFuZWxOb25MYXRp
bjEpCit7CisgICAgYXV0byB3ZWJWaWV3ID0gYWRvcHROUyhbW1dLV2ViVmlldyBhbGxvY10gaW5p
dFdpdGhGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDEwMCwgMTAwKV0pOworICAgIGF1dG8gdWlEZWxl
Z2F0ZSA9IGFkb3B0TlMoW1tSdW5PcGVuUGFuZWxVSURlbGVnYXRlIGFsbG9jXSBpbml0XSk7Cisg
ICAgW3dlYlZpZXcgc2V0VUlEZWxlZ2F0ZTp1aURlbGVnYXRlLmdldCgpXTsKKyAgICBbd2ViVmll
dyBsb2FkSFRNTFN0cmluZzpAIjwhRE9DVFlQRSBodG1sPjxpbnB1dCBzdHlsZT0nd2lkdGg6IDEw
MHZ3OyBoZWlnaHQ6IDEwMHZoOycgdHlwZT0nZmlsZSc+IiBiYXNlVVJMOm5pbF07CisgICAgW3dl
YlZpZXcgX3Rlc3Rfd2FpdEZvckRpZEZpbmlzaE5hdmlnYXRpb25dOworICAgIAorICAgIE5TUG9p
bnQgY2xpY2tQb2ludCA9IE5TTWFrZVBvaW50KDUwLCA1MCk7CisgICAgTlNJbnRlZ2VyIHdpbmRv
d051bWJlciA9IFt3ZWJWaWV3IHdpbmRvd10ud2luZG93TnVtYmVyOworICAgIFt3ZWJWaWV3IG1v
dXNlRG93bjpbTlNFdmVudCBtb3VzZUV2ZW50V2l0aFR5cGU6TlNFdmVudFR5cGVMZWZ0TW91c2VE
b3duIGxvY2F0aW9uOmNsaWNrUG9pbnQgbW9kaWZpZXJGbGFnczowIHRpbWVzdGFtcDowIHdpbmRv
d051bWJlcjp3aW5kb3dOdW1iZXIgY29udGV4dDpuaWwgZXZlbnROdW1iZXI6MCBjbGlja0NvdW50
OjEgcHJlc3N1cmU6MV1dOworICAgIFt3ZWJWaWV3IG1vdXNlVXA6W05TRXZlbnQgbW91c2VFdmVu
dFdpdGhUeXBlOk5TRXZlbnRUeXBlTGVmdE1vdXNlVXAgbG9jYXRpb246Y2xpY2tQb2ludCBtb2Rp
ZmllckZsYWdzOjAgdGltZXN0YW1wOjAgd2luZG93TnVtYmVyOndpbmRvd051bWJlciBjb250ZXh0
Om5pbCBldmVudE51bWJlcjowIGNsaWNrQ291bnQ6MSBwcmVzc3VyZToxXV07CisgICAgVXRpbDo6
cnVuKCZmaWxlU2VsZWN0ZWQpOworICAgIAorICAgIF9fYmxvY2sgYm9vbCB0ZXN0RmluaXNoZWQg
PSBmYWxzZTsKKyAgICBbd2ViVmlldyBldmFsdWF0ZUphdmFTY3JpcHQ6QCJkb2N1bWVudC5nZXRF
bGVtZW50c0J5VGFnTmFtZSgnaW5wdXQnKVswXS5maWxlc1swXS5uYW1lIiBjb21wbGV0aW9uSGFu
ZGxlcjpeKGlkIF9OdWxsYWJsZSByZXN1bHQsIE5TRXJyb3IgKiBfTnVsbGFibGUgZXJyb3IpIHsK
KyAgICAgICAgRVhQRUNUX1RSVUUoW3Jlc3VsdCBpc0tpbmRPZkNsYXNzOk5TU3RyaW5nLmNsYXNz
XSk7CisgICAgICAgIEVYUEVDVF9XS19TVFJFUShleHBlY3RlZEZpbGVOYW1lLCByZXN1bHQpOwor
ICAgICAgICB0ZXN0RmluaXNoZWQgPSB0cnVlOworICAgIH1dOworICAgIFV0aWw6OnJ1bigmdGVz
dEZpbmlzaGVkKTsKK30KKyAgICAKK30gLy8gbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkKKworI2Vu
ZGlmIC8vIFdLX0FQSV9FTkFCTEVEICYmIFBMQVRGT1JNKE1BQykK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>312117</attachid>
            <date>2017-06-06 13:50:26 -0700</date>
            <delta_ts>2017-06-06 14:49:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-172849-20170606135025.patch</filename>
            <type>text/plain</type>
            <size>10346</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE3ODU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYWQwYmM5MDc2NDBhNjZm
MDY5ZWVlZTY2MjdlZmI1MjdjODhhYTQyMC4uYWYxZGY4Yjk4YmIzZDUyMjYwN2VhMTc2ZThkZTJm
MTY5YzA4ZDAyZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDE3LTA2LTA2ICBBbmR5
IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OIChyMTk5NTU4
KTogV0tXZWJWaWV3IHVwbG9hZCBmaWxlIHdoaWNoIG5hbWUgY29udGFpbnMgQ2hpbmVzZSBjaGFy
YWN0ZXIgcmVzdWx0cyBpbiBnYXJibGVkIGNvZGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE3Mjg0OQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzI1
Njc0NTQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
VGhpcyBpcyB0aGUgTWFjIGVxdWl2YWxlbnQgb2Ygd2hhdCB3YXMgZml4ZWQgaW4gcjIwODI5NS4g
VGhpcyB0aW1lIHdlIHVzZSAtW05TVVJMIHBhdGhdIHRvCisgICAgICAgIGNvbnN0cnVjdCBhIFdU
Rjo6U3RyaW5nIGluc3RlYWQgb2YgY2FsbGluZyBTdHJpbmc6OmZyb21VVEY4KCkgb24gLVtOU1VS
TCBmaWxlU3lzdGVtUmVwcmVzZW50YXRpb25dLgorCisgICAgICAgICogVUlQcm9jZXNzL0NvY29h
L1VJRGVsZWdhdGUubW06CisgICAgICAgIChXZWJLaXQ6OlVJRGVsZWdhdGU6OlVJQ2xpZW50Ojpy
dW5PcGVuUGFuZWwpOgorCiAyMDE3LTA2LTA2ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUu
Y29tPgogCiAgICAgICAgIFtDb2NvYV0gU2V0IGRlZmF1bHRzIGZvciBtZWRpYUNvbnRlbnRUeXBl
c1JlcXVpcmluZ0hhcmR3YXJlU3VwcG9ydCBzZXR0aW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9Db2NvYS9VSURlbGVnYXRlLm1tCmluZGV4IGM4ZWNhYjUxNjIwNDZiZDlkZTM1Nzg4Y2Rl
YWZkY2JmNzJiNjE0ODAuLjdjNWY2ZmE0MDhhYzUwN2MzOWYwODdiMGViMTc2YmJjM2UzNWUzMjMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLm1t
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLm1tCkBAIC0z
OTUsNyArMzk1LDcgQEAgYm9vbCBVSURlbGVnYXRlOjpVSUNsaWVudDo6cnVuT3BlblBhbmVsKFdl
YlBhZ2VQcm94eSosIFdlYkZyYW1lUHJveHkqIHdlYkZyYW1lUHIKIAogICAgICAgICBWZWN0b3I8
U3RyaW5nPiBmaWxlbmFtZXM7CiAgICAgICAgIGZvciAoTlNVUkwgKnVybCBpbiBVUkxzKQotICAg
ICAgICAgICAgZmlsZW5hbWVzLmFwcGVuZCh1cmwuZmlsZVN5c3RlbVJlcHJlc2VudGF0aW9uKTsK
KyAgICAgICAgICAgIGZpbGVuYW1lcy5hcHBlbmQodXJsLnBhdGgpOwogCiAgICAgICAgIHJlc3Vs
dExpc3RlbmVyLT5jaG9vc2VGaWxlcyhmaWxlbmFtZXMpOwogICAgIH1dOwpkaWZmIC0tZ2l0IGEv
VG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDJjNDdmMzNkZTlkMzg5M2Yy
ODA5YmVhMzRhODBjZDhkYTA0NjNmMjQuLjFjMDZhMzI3YmI4MjdiZWVkN2MwNDNjYThmZTNiNmIy
NDhlNGFkNjAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxNiBAQAorMjAxNy0wNi0wNiAgQW5keSBFc3RlcyAgPGFlc3Rlc0BhcHBs
ZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lPTiAocjE5OTU1OCk6IFdLV2ViVmlldyB1cGxvYWQg
ZmlsZSB3aGljaCBuYW1lIGNvbnRhaW5zIENoaW5lc2UgY2hhcmFjdGVyIHJlc3VsdHMgaW4gZ2Fy
YmxlZCBjb2RlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xNzI4NDkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzMyNTY3NDU0PgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0
V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvUnVuT3BlblBhbmVsLm1tOiBBZGRlZC4KKyAgICAgICAg
KC1bUnVuT3BlblBhbmVsVUlEZWxlZ2F0ZSB3ZWJWaWV3OnJ1bk9wZW5QYW5lbFdpdGhQYXJhbWV0
ZXJzOmluaXRpYXRlZEJ5RnJhbWU6Y29tcGxldGlvbkhhbmRsZXI6XSk6CisgICAgICAgIChUZXN0
V2ViS2l0QVBJOjpURVNUKToKKwogMjAxNy0wNi0wNiAgRGVhbiBKb2huc29uICA8ZGVhbl9qb2hu
c29uQGFwcGxlLmNvbT4KIAogICAgICAgICB0ZXN0LXdlYmtpdHB5OiBzdG9wIGZvcmtpbmcgdW5z
YWZlbHkgZnJvbSB3aXRoaW4gYSBzcGF3bmVkIHByb2Nlc3MKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
aW5kZXggMWM0YjMyNDcwMjY5YjgwODIyY2U1MTcwNDY0MmRmYzBkM2MzZTMwMC4uY2RhOWVjMDMy
YWM2YjM2YmQxMTgzZjQ5N2I1ZDkwMGQ2NTQxYmIxNyAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdl
YktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
QEAgLTUyOSw2ICs1MjksNyBAQAogCQlBMTZGNjZCQTFDNDBFQjRGMDBCRDREMjQgLyogQ29udGVu
dEZpbHRlcmluZy5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEExNkY2NkI5MUM0MEVBMjAwMEJENEQyNCAvKiBDb250ZW50RmlsdGVyaW5n
Lmh0bWwgKi87IH07CiAJCUExNzk5MTg4MUUxQzk5NEUwMEE1MDVFRCAvKiBTaGFyZWRCdWZmZXIu
bW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMTc5OTE4
NjFFMUM5OTRFMDBBNTA1RUQgLyogU2hhcmVkQnVmZmVyLm1tICovOyB9OwogCQlBMTc5OTE4QjFF
MUNBMjQxMDBBNTA1RUQgLyogU2hhcmVkQnVmZmVyVGVzdC5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMTc5OTE4OTFFMUNBMjQxMDBBNTA1RUQgLyog
U2hhcmVkQnVmZmVyVGVzdC5jcHAgKi87IH07CisJCUExODBDMEZBMUVFNjdERjAwMDQ2OEY0NyAv
KiBSdW5PcGVuUGFuZWwubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBBMTgwQzBGOTFFRTY3REYwMDA0NjhGNDcgLyogUnVuT3BlblBhbmVsLm1tICovOyB9
OwogCQlBMUM0RkI3MzFCQUNEMUNBMDAzNzQyRDAgLyogcGFnZXMucGFnZXMgaW4gQ29weSBSZXNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTFDNEZCNzIxQkFDRDFC
NzAwMzc0MkQwIC8qIHBhZ2VzLnBhZ2VzICovOyB9OwogCQlBMURGNzQzMjFDNDFCNjU4MDBBMkY0
RDAgLyogQWx3YXlzUmV2YWxpZGF0ZWRVUkxTY2hlbWVzLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTFERjc0MzAxQzQxQjY1ODAwQTJGNEQwIC8qIEFs
d2F5c1JldmFsaWRhdGVkVVJMU2NoZW1lcy5tbSAqLzsgfTsKIAkJQTU3QTM0RjIxNkFGNkIyQjAw
QzI1MDFGIC8qIFBhZ2VWaXNpYmlsaXR5U3RhdGVXaXRoV2luZG93Q2hhbmdlcy5odG1sIGluIENv
cHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1N0EzNEYx
MTZBRjY5RTIwMEMyNTAxRiAvKiBQYWdlVmlzaWJpbGl0eVN0YXRlV2l0aFdpbmRvd0NoYW5nZXMu
aHRtbCAqLzsgfTsKQEAgLTEzNjMsNiArMTM2NCw3IEBACiAJCUExNzk5MTg2MUUxQzk5NEUwMEE1
MDVFRCAvKiBTaGFyZWRCdWZmZXIubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7
IHBhdGggPSBTaGFyZWRCdWZmZXIubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUEx
Nzk5MTg5MUUxQ0EyNDEwMEE1MDVFRCAvKiBTaGFyZWRCdWZmZXJUZXN0LmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNoYXJlZEJ1ZmZlclRlc3QuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlBMTc5OTE4QTFFMUNBMjQxMDBBNTA1RUQgLyogU2hhcmVk
QnVmZmVyVGVzdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTaGFyZWRCdWZm
ZXJUZXN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUExODBDMEY5MUVFNjdERjAw
MDQ2OEY0NyAvKiBSdW5PcGVuUGFuZWwubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBSdW5PcGVu
UGFuZWwubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUExOEFBOENDMUMzRkEyMTgw
MDlCMkI5NyAvKiBDb250ZW50RmlsdGVyaW5nLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IENvbnRlbnRGaWx0ZXJpbmcuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
QTFBNEZFNUQxOEREM0RCNzAwQjVFQThBIC8qIERvd25sb2FkLm1tICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAub2JqY3BwOyBwYXRoID0gRG93bmxvYWQubW07IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUExQzRGQjZDMUJBQ0NFNTAwMDM3NDJEMCAvKiBRdWlja0xvb2subW0gKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBRdWlja0xvb2subW07IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNzgzLDYgKzE3ODUsNyBAQAogCQkJCUExMkREQkZDMUU4
MzZGRjEwMENGNkNBRSAvKiBSZW5kZXJlZEltYWdlV2l0aE9wdGlvbnNQbHVnSW4ubW0gKi8sCiAJ
CQkJQTEyRERDMDExRTgzNzRGNTAwQ0Y2Q0FFIC8qIFJlbmRlcmVkSW1hZ2VXaXRoT3B0aW9uc1By
b3RvY29sLmggKi8sCiAJCQkJQ0Q5RTI5MkIxQzkwQTcxRjAwMEJCODAwIC8qIFJlcXVpcmVzVXNl
ckFjdGlvbkZvclBsYXliYWNrLm1tICovLAorCQkJCUExODBDMEY5MUVFNjdERjAwMDQ2OEY0NyAv
KiBSdW5PcGVuUGFuZWwubW0gKi8sCiAJCQkJMzdCQ0E2MUIxQjU5NkJBOTAwMjAxMkNBIC8qIFNo
b3VsZE9wZW5FeHRlcm5hbFVSTHNJbk5ld1dpbmRvd0FjdGlvbnMubW0gKi8sCiAJCQkJMkQ5QTUz
QUUxQjMxRkE4RDAwNzRENUFBIC8qIFNocmlua1RvRml0Lm1tICovLAogCQkJCTJERkY3QjZDMURB
NDg3QUYwMDgxNDYxNCAvKiBTbmFwc2hvdFN0b3JlLm1tICovLApAQCAtMzA4Nyw2ICszMDkwLDcg
QEAKIAkJCQlDRTM1MjRGOTFCMTQ0MUM0MDAyOEE3QzUgLyogVGV4dEZpZWxkRGlkQmVnaW5BbmRF
bmRFZGl0aW5nLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdDQ0U3RUREMUE0MTFBOTIwMDQ0N0M0
QyAvKiBUaW1lUmFuZ2VzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGNEZGQTlFMUVEM0FBODUw
MEY3MTExRiAvKiBTbmFwc2hvdFZpYVJlbmRlckluQ29udGV4dC5tbSBpbiBTb3VyY2VzICovLAor
CQkJCUExODBDMEZBMUVFNjdERjAwMDQ2OEY0NyAvKiBSdW5PcGVuUGFuZWwubW0gaW4gU291cmNl
cyAqLywKIAkJCQk3Q0NFN0VEMzFBNDExQTdFMDA0NDdDNEMgLyogVHlwaW5nU3R5bGVDcmFzaC5t
bSBpbiBTb3VyY2VzICovLAogCQkJCTdDQ0U3RURFMUE0MTFBOTIwMDQ0N0M0QyAvKiBVUkwuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJN0NDRTdFQjAxQTQxMUE0NDAwNDQ3QzRDIC8qIFVSTEV4dHJh
cy5tbSBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJLaXQyQ29jb2EvUnVuT3BlblBhbmVsLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJLaXQyQ29jb2EvUnVuT3BlblBhbmVsLm1tCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg1YjUzYzZkYWI3M2U3
YTIxZWYwMTQ1MGNiZjcxNzYxOGI5NTkwZGQKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9SdW5PcGVuUGFuZWwubW0KQEAgLTAsMCArMSw4
MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpbXBvcnQgImNvbmZpZy5oIgorCisjaWYgV0tfQVBJX0VOQUJM
RUQgJiYgUExBVEZPUk0oTUFDKQorCisjaW1wb3J0ICJQbGF0Zm9ybVV0aWxpdGllcy5oIgorI2lt
cG9ydCAiVGVzdE5hdmlnYXRpb25EZWxlZ2F0ZS5oIgorI2ltcG9ydCAiVXRpbGl0aWVzLmgiCisj
aW1wb3J0IDxBcHBLaXQvQXBwS2l0Lmg+CisjaW1wb3J0IDxXZWJLaXQvV2ViS2l0Lmg+CisjaW1w
b3J0IDx3dGYvUmV0YWluUHRyLmg+CisKK3N0YXRpYyBib29sIGZpbGVTZWxlY3RlZDsKK3N0YXRp
YyBOU1N0cmluZyAqIGNvbnN0IGV4cGVjdGVkRmlsZU5hbWUgPSBAIui/meaYr+S4reaWhyI7CisK
K0BpbnRlcmZhY2UgUnVuT3BlblBhbmVsVUlEZWxlZ2F0ZSA6IE5TT2JqZWN0IDxXS1VJRGVsZWdh
dGU+CitAZW5kCisKK0BpbXBsZW1lbnRhdGlvbiBSdW5PcGVuUGFuZWxVSURlbGVnYXRlCisKKy0g
KHZvaWQpd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBydW5PcGVuUGFuZWxXaXRoUGFyYW1l
dGVyczooV0tPcGVuUGFuZWxQYXJhbWV0ZXJzICopcGFyYW1ldGVycyBpbml0aWF0ZWRCeUZyYW1l
OihXS0ZyYW1lSW5mbyAqKWZyYW1lIGNvbXBsZXRpb25IYW5kbGVyOih2b2lkICheKShOU0FycmF5
PE5TVVJMICo+ICogX051bGxhYmxlKSljb21wbGV0aW9uSGFuZGxlcgoreworICAgIGNvbXBsZXRp
b25IYW5kbGVyKEBbIFtOU1VSTCBmaWxlVVJMV2l0aFBhdGg6W05TVGVtcG9yYXJ5RGlyZWN0b3J5
KCkgc3RyaW5nQnlBcHBlbmRpbmdQYXRoQ29tcG9uZW50OmV4cGVjdGVkRmlsZU5hbWVdXSBdKTsK
KyAgICBmaWxlU2VsZWN0ZWQgPSB0cnVlOworfQorCitAZW5kCisKK25hbWVzcGFjZSBUZXN0V2Vi
S2l0QVBJIHsKKworVEVTVChXZWJLaXQyLCBSdW5PcGVuUGFuZWxOb25MYXRpbjEpCit7CisgICAg
YXV0byB3ZWJWaWV3ID0gYWRvcHROUyhbW1dLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpO
U01ha2VSZWN0KDAsIDAsIDEwMCwgMTAwKV0pOworICAgIGF1dG8gdWlEZWxlZ2F0ZSA9IGFkb3B0
TlMoW1tSdW5PcGVuUGFuZWxVSURlbGVnYXRlIGFsbG9jXSBpbml0XSk7CisgICAgW3dlYlZpZXcg
c2V0VUlEZWxlZ2F0ZTp1aURlbGVnYXRlLmdldCgpXTsKKyAgICBbd2ViVmlldyBsb2FkSFRNTFN0
cmluZzpAIjwhRE9DVFlQRSBodG1sPjxpbnB1dCBzdHlsZT0nd2lkdGg6IDEwMHZ3OyBoZWlnaHQ6
IDEwMHZoOycgdHlwZT0nZmlsZSc+IiBiYXNlVVJMOm5pbF07CisgICAgW3dlYlZpZXcgX3Rlc3Rf
d2FpdEZvckRpZEZpbmlzaE5hdmlnYXRpb25dOworICAgIAorICAgIE5TUG9pbnQgY2xpY2tQb2lu
dCA9IE5TTWFrZVBvaW50KDUwLCA1MCk7CisgICAgTlNJbnRlZ2VyIHdpbmRvd051bWJlciA9IFt3
ZWJWaWV3IHdpbmRvd10ud2luZG93TnVtYmVyOworICAgIFt3ZWJWaWV3IG1vdXNlRG93bjpbTlNF
dmVudCBtb3VzZUV2ZW50V2l0aFR5cGU6TlNFdmVudFR5cGVMZWZ0TW91c2VEb3duIGxvY2F0aW9u
OmNsaWNrUG9pbnQgbW9kaWZpZXJGbGFnczowIHRpbWVzdGFtcDowIHdpbmRvd051bWJlcjp3aW5k
b3dOdW1iZXIgY29udGV4dDpuaWwgZXZlbnROdW1iZXI6MCBjbGlja0NvdW50OjEgcHJlc3N1cmU6
MV1dOworICAgIFt3ZWJWaWV3IG1vdXNlVXA6W05TRXZlbnQgbW91c2VFdmVudFdpdGhUeXBlOk5T
RXZlbnRUeXBlTGVmdE1vdXNlVXAgbG9jYXRpb246Y2xpY2tQb2ludCBtb2RpZmllckZsYWdzOjAg
dGltZXN0YW1wOjAgd2luZG93TnVtYmVyOndpbmRvd051bWJlciBjb250ZXh0Om5pbCBldmVudE51
bWJlcjowIGNsaWNrQ291bnQ6MSBwcmVzc3VyZToxXV07CisgICAgVXRpbDo6cnVuKCZmaWxlU2Vs
ZWN0ZWQpOworICAgIAorICAgIF9fYmxvY2sgYm9vbCB0ZXN0RmluaXNoZWQgPSBmYWxzZTsKKyAg
ICBbd2ViVmlldyBldmFsdWF0ZUphdmFTY3JpcHQ6QCJkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFn
TmFtZSgnaW5wdXQnKVswXS5maWxlc1swXS5uYW1lIiBjb21wbGV0aW9uSGFuZGxlcjpeKGlkIF9O
dWxsYWJsZSByZXN1bHQsIE5TRXJyb3IgKiBfTnVsbGFibGUgZXJyb3IpIHsKKyAgICAgICAgRVhQ
RUNUX1RSVUUoW3Jlc3VsdCBpc0tpbmRPZkNsYXNzOltOU1N0cmluZyBjbGFzc11dKTsKKyAgICAg
ICAgRVhQRUNUX1dLX1NUUkVRKGV4cGVjdGVkRmlsZU5hbWUsIHJlc3VsdCk7CisgICAgICAgIHRl
c3RGaW5pc2hlZCA9IHRydWU7CisgICAgfV07CisgICAgVXRpbDo6cnVuKCZ0ZXN0RmluaXNoZWQp
OworfQorICAgIAorfSAvLyBuYW1lc3BhY2UgVGVzdFdlYktpdEFQSQorCisjZW5kaWYgLy8gV0tf
QVBJX0VOQUJMRUQgJiYgUExBVEZPUk0oTUFDKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>312123</attachid>
            <date>2017-06-06 14:49:10 -0700</date>
            <delta_ts>2017-06-06 16:04:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-172849-20170606144909.patch</filename>
            <type>text/plain</type>
            <size>10436</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE3ODU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYWQwYmM5MDc2NDBhNjZm
MDY5ZWVlZTY2MjdlZmI1MjdjODhhYTQyMC4uYWYxZGY4Yjk4YmIzZDUyMjYwN2VhMTc2ZThkZTJm
MTY5YzA4ZDAyZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDE3LTA2LTA2ICBBbmR5
IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OIChyMTk5NTU4
KTogV0tXZWJWaWV3IHVwbG9hZCBmaWxlIHdoaWNoIG5hbWUgY29udGFpbnMgQ2hpbmVzZSBjaGFy
YWN0ZXIgcmVzdWx0cyBpbiBnYXJibGVkIGNvZGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE3Mjg0OQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzI1
Njc0NTQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
VGhpcyBpcyB0aGUgTWFjIGVxdWl2YWxlbnQgb2Ygd2hhdCB3YXMgZml4ZWQgaW4gcjIwODI5NS4g
VGhpcyB0aW1lIHdlIHVzZSAtW05TVVJMIHBhdGhdIHRvCisgICAgICAgIGNvbnN0cnVjdCBhIFdU
Rjo6U3RyaW5nIGluc3RlYWQgb2YgY2FsbGluZyBTdHJpbmc6OmZyb21VVEY4KCkgb24gLVtOU1VS
TCBmaWxlU3lzdGVtUmVwcmVzZW50YXRpb25dLgorCisgICAgICAgICogVUlQcm9jZXNzL0NvY29h
L1VJRGVsZWdhdGUubW06CisgICAgICAgIChXZWJLaXQ6OlVJRGVsZWdhdGU6OlVJQ2xpZW50Ojpy
dW5PcGVuUGFuZWwpOgorCiAyMDE3LTA2LTA2ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUu
Y29tPgogCiAgICAgICAgIFtDb2NvYV0gU2V0IGRlZmF1bHRzIGZvciBtZWRpYUNvbnRlbnRUeXBl
c1JlcXVpcmluZ0hhcmR3YXJlU3VwcG9ydCBzZXR0aW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9Db2NvYS9VSURlbGVnYXRlLm1tCmluZGV4IGM4ZWNhYjUxNjIwNDZiZDlkZTM1Nzg4Y2Rl
YWZkY2JmNzJiNjE0ODAuLjdjNWY2ZmE0MDhhYzUwN2MzOWYwODdiMGViMTc2YmJjM2UzNWUzMjMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLm1t
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLm1tCkBAIC0z
OTUsNyArMzk1LDcgQEAgYm9vbCBVSURlbGVnYXRlOjpVSUNsaWVudDo6cnVuT3BlblBhbmVsKFdl
YlBhZ2VQcm94eSosIFdlYkZyYW1lUHJveHkqIHdlYkZyYW1lUHIKIAogICAgICAgICBWZWN0b3I8
U3RyaW5nPiBmaWxlbmFtZXM7CiAgICAgICAgIGZvciAoTlNVUkwgKnVybCBpbiBVUkxzKQotICAg
ICAgICAgICAgZmlsZW5hbWVzLmFwcGVuZCh1cmwuZmlsZVN5c3RlbVJlcHJlc2VudGF0aW9uKTsK
KyAgICAgICAgICAgIGZpbGVuYW1lcy5hcHBlbmQodXJsLnBhdGgpOwogCiAgICAgICAgIHJlc3Vs
dExpc3RlbmVyLT5jaG9vc2VGaWxlcyhmaWxlbmFtZXMpOwogICAgIH1dOwpkaWZmIC0tZ2l0IGEv
VG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDJjNDdmMzNkZTlkMzg5M2Yy
ODA5YmVhMzRhODBjZDhkYTA0NjNmMjQuLjFjMDZhMzI3YmI4MjdiZWVkN2MwNDNjYThmZTNiNmIy
NDhlNGFkNjAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxNiBAQAorMjAxNy0wNi0wNiAgQW5keSBFc3RlcyAgPGFlc3Rlc0BhcHBs
ZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lPTiAocjE5OTU1OCk6IFdLV2ViVmlldyB1cGxvYWQg
ZmlsZSB3aGljaCBuYW1lIGNvbnRhaW5zIENoaW5lc2UgY2hhcmFjdGVyIHJlc3VsdHMgaW4gZ2Fy
YmxlZCBjb2RlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xNzI4NDkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzMyNTY3NDU0PgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0
V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvUnVuT3BlblBhbmVsLm1tOiBBZGRlZC4KKyAgICAgICAg
KC1bUnVuT3BlblBhbmVsVUlEZWxlZ2F0ZSB3ZWJWaWV3OnJ1bk9wZW5QYW5lbFdpdGhQYXJhbWV0
ZXJzOmluaXRpYXRlZEJ5RnJhbWU6Y29tcGxldGlvbkhhbmRsZXI6XSk6CisgICAgICAgIChUZXN0
V2ViS2l0QVBJOjpURVNUKToKKwogMjAxNy0wNi0wNiAgRGVhbiBKb2huc29uICA8ZGVhbl9qb2hu
c29uQGFwcGxlLmNvbT4KIAogICAgICAgICB0ZXN0LXdlYmtpdHB5OiBzdG9wIGZvcmtpbmcgdW5z
YWZlbHkgZnJvbSB3aXRoaW4gYSBzcGF3bmVkIHByb2Nlc3MKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
aW5kZXggMWM0YjMyNDcwMjY5YjgwODIyY2U1MTcwNDY0MmRmYzBkM2MzZTMwMC4uY2RhOWVjMDMy
YWM2YjM2YmQxMTgzZjQ5N2I1ZDkwMGQ2NTQxYmIxNyAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdl
YktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
QEAgLTUyOSw2ICs1MjksNyBAQAogCQlBMTZGNjZCQTFDNDBFQjRGMDBCRDREMjQgLyogQ29udGVu
dEZpbHRlcmluZy5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEExNkY2NkI5MUM0MEVBMjAwMEJENEQyNCAvKiBDb250ZW50RmlsdGVyaW5n
Lmh0bWwgKi87IH07CiAJCUExNzk5MTg4MUUxQzk5NEUwMEE1MDVFRCAvKiBTaGFyZWRCdWZmZXIu
bW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMTc5OTE4
NjFFMUM5OTRFMDBBNTA1RUQgLyogU2hhcmVkQnVmZmVyLm1tICovOyB9OwogCQlBMTc5OTE4QjFF
MUNBMjQxMDBBNTA1RUQgLyogU2hhcmVkQnVmZmVyVGVzdC5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMTc5OTE4OTFFMUNBMjQxMDBBNTA1RUQgLyog
U2hhcmVkQnVmZmVyVGVzdC5jcHAgKi87IH07CisJCUExODBDMEZBMUVFNjdERjAwMDQ2OEY0NyAv
KiBSdW5PcGVuUGFuZWwubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBBMTgwQzBGOTFFRTY3REYwMDA0NjhGNDcgLyogUnVuT3BlblBhbmVsLm1tICovOyB9
OwogCQlBMUM0RkI3MzFCQUNEMUNBMDAzNzQyRDAgLyogcGFnZXMucGFnZXMgaW4gQ29weSBSZXNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTFDNEZCNzIxQkFDRDFC
NzAwMzc0MkQwIC8qIHBhZ2VzLnBhZ2VzICovOyB9OwogCQlBMURGNzQzMjFDNDFCNjU4MDBBMkY0
RDAgLyogQWx3YXlzUmV2YWxpZGF0ZWRVUkxTY2hlbWVzLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTFERjc0MzAxQzQxQjY1ODAwQTJGNEQwIC8qIEFs
d2F5c1JldmFsaWRhdGVkVVJMU2NoZW1lcy5tbSAqLzsgfTsKIAkJQTU3QTM0RjIxNkFGNkIyQjAw
QzI1MDFGIC8qIFBhZ2VWaXNpYmlsaXR5U3RhdGVXaXRoV2luZG93Q2hhbmdlcy5odG1sIGluIENv
cHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1N0EzNEYx
MTZBRjY5RTIwMEMyNTAxRiAvKiBQYWdlVmlzaWJpbGl0eVN0YXRlV2l0aFdpbmRvd0NoYW5nZXMu
aHRtbCAqLzsgfTsKQEAgLTEzNjMsNiArMTM2NCw3IEBACiAJCUExNzk5MTg2MUUxQzk5NEUwMEE1
MDVFRCAvKiBTaGFyZWRCdWZmZXIubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7
IHBhdGggPSBTaGFyZWRCdWZmZXIubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUEx
Nzk5MTg5MUUxQ0EyNDEwMEE1MDVFRCAvKiBTaGFyZWRCdWZmZXJUZXN0LmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNoYXJlZEJ1ZmZlclRlc3QuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlBMTc5OTE4QTFFMUNBMjQxMDBBNTA1RUQgLyogU2hhcmVk
QnVmZmVyVGVzdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTaGFyZWRCdWZm
ZXJUZXN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUExODBDMEY5MUVFNjdERjAw
MDQ2OEY0NyAvKiBSdW5PcGVuUGFuZWwubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBSdW5PcGVu
UGFuZWwubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUExOEFBOENDMUMzRkEyMTgw
MDlCMkI5NyAvKiBDb250ZW50RmlsdGVyaW5nLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IENvbnRlbnRGaWx0ZXJpbmcuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
QTFBNEZFNUQxOEREM0RCNzAwQjVFQThBIC8qIERvd25sb2FkLm1tICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAub2JqY3BwOyBwYXRoID0gRG93bmxvYWQubW07IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUExQzRGQjZDMUJBQ0NFNTAwMDM3NDJEMCAvKiBRdWlja0xvb2subW0gKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBRdWlja0xvb2subW07IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNzgzLDYgKzE3ODUsNyBAQAogCQkJCUExMkREQkZDMUU4
MzZGRjEwMENGNkNBRSAvKiBSZW5kZXJlZEltYWdlV2l0aE9wdGlvbnNQbHVnSW4ubW0gKi8sCiAJ
CQkJQTEyRERDMDExRTgzNzRGNTAwQ0Y2Q0FFIC8qIFJlbmRlcmVkSW1hZ2VXaXRoT3B0aW9uc1By
b3RvY29sLmggKi8sCiAJCQkJQ0Q5RTI5MkIxQzkwQTcxRjAwMEJCODAwIC8qIFJlcXVpcmVzVXNl
ckFjdGlvbkZvclBsYXliYWNrLm1tICovLAorCQkJCUExODBDMEY5MUVFNjdERjAwMDQ2OEY0NyAv
KiBSdW5PcGVuUGFuZWwubW0gKi8sCiAJCQkJMzdCQ0E2MUIxQjU5NkJBOTAwMjAxMkNBIC8qIFNo
b3VsZE9wZW5FeHRlcm5hbFVSTHNJbk5ld1dpbmRvd0FjdGlvbnMubW0gKi8sCiAJCQkJMkQ5QTUz
QUUxQjMxRkE4RDAwNzRENUFBIC8qIFNocmlua1RvRml0Lm1tICovLAogCQkJCTJERkY3QjZDMURB
NDg3QUYwMDgxNDYxNCAvKiBTbmFwc2hvdFN0b3JlLm1tICovLApAQCAtMzA4Nyw2ICszMDkwLDcg
QEAKIAkJCQlDRTM1MjRGOTFCMTQ0MUM0MDAyOEE3QzUgLyogVGV4dEZpZWxkRGlkQmVnaW5BbmRF
bmRFZGl0aW5nLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdDQ0U3RUREMUE0MTFBOTIwMDQ0N0M0
QyAvKiBUaW1lUmFuZ2VzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGNEZGQTlFMUVEM0FBODUw
MEY3MTExRiAvKiBTbmFwc2hvdFZpYVJlbmRlckluQ29udGV4dC5tbSBpbiBTb3VyY2VzICovLAor
CQkJCUExODBDMEZBMUVFNjdERjAwMDQ2OEY0NyAvKiBSdW5PcGVuUGFuZWwubW0gaW4gU291cmNl
cyAqLywKIAkJCQk3Q0NFN0VEMzFBNDExQTdFMDA0NDdDNEMgLyogVHlwaW5nU3R5bGVDcmFzaC5t
bSBpbiBTb3VyY2VzICovLAogCQkJCTdDQ0U3RURFMUE0MTFBOTIwMDQ0N0M0QyAvKiBVUkwuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJN0NDRTdFQjAxQTQxMUE0NDAwNDQ3QzRDIC8qIFVSTEV4dHJh
cy5tbSBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJLaXQyQ29jb2EvUnVuT3BlblBhbmVsLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJLaXQyQ29jb2EvUnVuT3BlblBhbmVsLm1tCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjExNGE5MmVmNDVlMmNh
OGQ3MmRkODEyOWQzMGM3MTBmZTJmODM0ZjkKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9SdW5PcGVuUGFuZWwubW0KQEAgLTAsMCArMSw4
MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpbXBvcnQgImNvbmZpZy5oIgorCisjaWYgV0tfQVBJX0VOQUJM
RUQgJiYgUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49
IDEwMTIwMAorCisjaW1wb3J0ICJQbGF0Zm9ybVV0aWxpdGllcy5oIgorI2ltcG9ydCAiVGVzdE5h
dmlnYXRpb25EZWxlZ2F0ZS5oIgorI2ltcG9ydCAiVXRpbGl0aWVzLmgiCisjaW1wb3J0IDxBcHBL
aXQvQXBwS2l0Lmg+CisjaW1wb3J0IDxXZWJLaXQvV2ViS2l0Lmg+CisjaW1wb3J0IDx3dGYvUmV0
YWluUHRyLmg+CisKK3N0YXRpYyBib29sIGZpbGVTZWxlY3RlZDsKK3N0YXRpYyBOU1N0cmluZyAq
IGNvbnN0IGV4cGVjdGVkRmlsZU5hbWUgPSBAIui/meaYr+S4reaWhyI7CisKK0BpbnRlcmZhY2Ug
UnVuT3BlblBhbmVsVUlEZWxlZ2F0ZSA6IE5TT2JqZWN0IDxXS1VJRGVsZWdhdGU+CitAZW5kCisK
K0BpbXBsZW1lbnRhdGlvbiBSdW5PcGVuUGFuZWxVSURlbGVnYXRlCisKKy0gKHZvaWQpd2ViVmll
dzooV0tXZWJWaWV3ICopd2ViVmlldyBydW5PcGVuUGFuZWxXaXRoUGFyYW1ldGVyczooV0tPcGVu
UGFuZWxQYXJhbWV0ZXJzICopcGFyYW1ldGVycyBpbml0aWF0ZWRCeUZyYW1lOihXS0ZyYW1lSW5m
byAqKWZyYW1lIGNvbXBsZXRpb25IYW5kbGVyOih2b2lkICheKShOU0FycmF5PE5TVVJMICo+ICog
X051bGxhYmxlKSljb21wbGV0aW9uSGFuZGxlcgoreworICAgIGNvbXBsZXRpb25IYW5kbGVyKEBb
IFtOU1VSTCBmaWxlVVJMV2l0aFBhdGg6W05TVGVtcG9yYXJ5RGlyZWN0b3J5KCkgc3RyaW5nQnlB
cHBlbmRpbmdQYXRoQ29tcG9uZW50OmV4cGVjdGVkRmlsZU5hbWVdXSBdKTsKKyAgICBmaWxlU2Vs
ZWN0ZWQgPSB0cnVlOworfQorCitAZW5kCisKK25hbWVzcGFjZSBUZXN0V2ViS2l0QVBJIHsKKwor
VEVTVChXZWJLaXQyLCBSdW5PcGVuUGFuZWxOb25MYXRpbjEpCit7CisgICAgYXV0byB3ZWJWaWV3
ID0gYWRvcHROUyhbW1dLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0KDAs
IDAsIDEwMCwgMTAwKV0pOworICAgIGF1dG8gdWlEZWxlZ2F0ZSA9IGFkb3B0TlMoW1tSdW5PcGVu
UGFuZWxVSURlbGVnYXRlIGFsbG9jXSBpbml0XSk7CisgICAgW3dlYlZpZXcgc2V0VUlEZWxlZ2F0
ZTp1aURlbGVnYXRlLmdldCgpXTsKKyAgICBbd2ViVmlldyBsb2FkSFRNTFN0cmluZzpAIjwhRE9D
VFlQRSBodG1sPjxpbnB1dCBzdHlsZT0nd2lkdGg6IDEwMHZ3OyBoZWlnaHQ6IDEwMHZoOycgdHlw
ZT0nZmlsZSc+IiBiYXNlVVJMOm5pbF07CisgICAgW3dlYlZpZXcgX3Rlc3Rfd2FpdEZvckRpZEZp
bmlzaE5hdmlnYXRpb25dOworICAgIAorICAgIE5TUG9pbnQgY2xpY2tQb2ludCA9IE5TTWFrZVBv
aW50KDUwLCA1MCk7CisgICAgTlNJbnRlZ2VyIHdpbmRvd051bWJlciA9IFt3ZWJWaWV3IHdpbmRv
d10ud2luZG93TnVtYmVyOworICAgIFt3ZWJWaWV3IG1vdXNlRG93bjpbTlNFdmVudCBtb3VzZUV2
ZW50V2l0aFR5cGU6TlNFdmVudFR5cGVMZWZ0TW91c2VEb3duIGxvY2F0aW9uOmNsaWNrUG9pbnQg
bW9kaWZpZXJGbGFnczowIHRpbWVzdGFtcDowIHdpbmRvd051bWJlcjp3aW5kb3dOdW1iZXIgY29u
dGV4dDpuaWwgZXZlbnROdW1iZXI6MCBjbGlja0NvdW50OjEgcHJlc3N1cmU6MV1dOworICAgIFt3
ZWJWaWV3IG1vdXNlVXA6W05TRXZlbnQgbW91c2VFdmVudFdpdGhUeXBlOk5TRXZlbnRUeXBlTGVm
dE1vdXNlVXAgbG9jYXRpb246Y2xpY2tQb2ludCBtb2RpZmllckZsYWdzOjAgdGltZXN0YW1wOjAg
d2luZG93TnVtYmVyOndpbmRvd051bWJlciBjb250ZXh0Om5pbCBldmVudE51bWJlcjowIGNsaWNr
Q291bnQ6MSBwcmVzc3VyZToxXV07CisgICAgVXRpbDo6cnVuKCZmaWxlU2VsZWN0ZWQpOworICAg
IAorICAgIF9fYmxvY2sgYm9vbCB0ZXN0RmluaXNoZWQgPSBmYWxzZTsKKyAgICBbd2ViVmlldyBl
dmFsdWF0ZUphdmFTY3JpcHQ6QCJkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaW5wdXQn
KVswXS5maWxlc1swXS5uYW1lIiBjb21wbGV0aW9uSGFuZGxlcjpeKGlkIF9OdWxsYWJsZSByZXN1
bHQsIE5TRXJyb3IgKiBfTnVsbGFibGUgZXJyb3IpIHsKKyAgICAgICAgRVhQRUNUX1RSVUUoW3Jl
c3VsdCBpc0tpbmRPZkNsYXNzOltOU1N0cmluZyBjbGFzc11dKTsKKyAgICAgICAgRVhQRUNUX1dL
X1NUUkVRKGV4cGVjdGVkRmlsZU5hbWUsIHJlc3VsdCk7CisgICAgICAgIHRlc3RGaW5pc2hlZCA9
IHRydWU7CisgICAgfV07CisgICAgVXRpbDo6cnVuKCZ0ZXN0RmluaXNoZWQpOworfQorICAgIAor
fSAvLyBuYW1lc3BhY2UgVGVzdFdlYktpdEFQSQorCisjZW5kaWYgLy8gV0tfQVBJX0VOQUJMRUQg
JiYgUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEw
MTIwMAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>