<?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>182301</bug_id>
          
          <creation_ts>2018-01-30 11:43:07 -0800</creation_ts>
          <short_desc>Delay service worker process creation until actually needed by SWServer</short_desc>
          <delta_ts>2018-02-01 16:26:30 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Service Workers</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>182375</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>achristensen</cc>
    
    <cc>beidson</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1394646</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-01-30 11:43:07 -0800</bug_when>
    <thetext>This would allow not creating a service worker process if there is no need for it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1394647</commentid>
    <comment_count>1</comment_count>
      <attachid>332676</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-01-30 11:45:00 -0800</bug_when>
    <thetext>Created attachment 332676
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1394650</commentid>
    <comment_count>2</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-01-30 11:48:16 -0800</bug_when>
    <thetext>Patch tested locally and it waits to create a service worker for a page to match.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1394651</commentid>
    <comment_count>3</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-01-30 11:48:28 -0800</bug_when>
    <thetext>Would need API test probably.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1395190</commentid>
    <comment_count>4</comment_count>
      <attachid>332809</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-01-31 15:30:48 -0800</bug_when>
    <thetext>Created attachment 332809
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1395193</commentid>
    <comment_count>5</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2018-01-31 15:33:41 -0800</bug_when>
    <thetext>Attachment 332809 did not pass style-queue:


ERROR: Tools/TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:179:  Multi-line string (&quot;...&quot;) found.  This lint script doesn&apos;t do well with such strings, and may give bogus warnings.  They&apos;re ugly and unnecessary, and you should use concatenation instead&quot;.  [readability/multiline_string] [5]
ERROR: Tools/TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:193:  Missing spaces around /  [whitespace/operators] [3]
ERROR: Tools/TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:195:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Tools/TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:198:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Tools/TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:203:  Multi-line string (&quot;...&quot;) found.  This lint script doesn&apos;t do well with such strings, and may give bogus warnings.  They&apos;re ugly and unnecessary, and you should use concatenation instead&quot;.  [readability/multiline_string] [5]
Total errors found: 5 in 7 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>1395200</commentid>
    <comment_count>6</comment_count>
      <attachid>332813</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-01-31 15:44:43 -0800</bug_when>
    <thetext>Created attachment 332813
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1395202</commentid>
    <comment_count>7</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2018-01-31 15:47:37 -0800</bug_when>
    <thetext>Attachment 332813 did not pass style-queue:


ERROR: Tools/TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:734:  Multi-line string (&quot;...&quot;) found.  This lint script doesn&apos;t do well with such strings, and may give bogus warnings.  They&apos;re ugly and unnecessary, and you should use concatenation instead&quot;.  [readability/multiline_string] [5]
ERROR: Tools/TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:748:  Missing spaces around /  [whitespace/operators] [3]
ERROR: Tools/TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:750:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Tools/TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:753:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Tools/TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:758:  Multi-line string (&quot;...&quot;) found.  This lint script doesn&apos;t do well with such strings, and may give bogus warnings.  They&apos;re ugly and unnecessary, and you should use concatenation instead&quot;.  [readability/multiline_string] [5]
Total errors found: 5 in 7 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>1395339</commentid>
    <comment_count>8</comment_count>
      <attachid>332813</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-01-31 21:27:08 -0800</bug_when>
    <thetext>Comment on attachment 332813
Patch

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

&gt; Source/WebKit/StorageProcess/ServiceWorker/WebSWServerConnection.cpp:210
&gt; +    if (!StorageProcess::singleton().globalServerToContextConnection())

We no longer need this part if we land the patch at Bug 182375 first.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1395534</commentid>
    <comment_count>9</comment_count>
      <attachid>332886</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-02-01 10:26:08 -0800</bug_when>
    <thetext>Created attachment 332886
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1395535</commentid>
    <comment_count>10</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2018-02-01 10:27:49 -0800</bug_when>
    <thetext>Attachment 332886 did not pass style-queue:


ERROR: Tools/TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:734:  Multi-line string (&quot;...&quot;) found.  This lint script doesn&apos;t do well with such strings, and may give bogus warnings.  They&apos;re ugly and unnecessary, and you should use concatenation instead&quot;.  [readability/multiline_string] [5]
ERROR: Tools/TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:748:  Missing spaces around /  [whitespace/operators] [3]
ERROR: Tools/TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:750:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Tools/TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:753:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Tools/TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:758:  Multi-line string (&quot;...&quot;) found.  This lint script doesn&apos;t do well with such strings, and may give bogus warnings.  They&apos;re ugly and unnecessary, and you should use concatenation instead&quot;.  [readability/multiline_string] [5]
Total errors found: 5 in 6 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>1395582</commentid>
    <comment_count>11</comment_count>
      <attachid>332813</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-02-01 11:36:57 -0800</bug_when>
    <thetext>Comment on attachment 332813
Patch

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

&gt; Source/WebCore/workers/service/server/SWServer.h:96
&gt; +        virtual void scheduleJobInServer(ServiceWorkerJobData&amp;&amp;) = 0;

This seems weird. This is called due to IPC iirc. Therefore, I would expect this method to not be virtual and be on WebSWServerConnection instead.
Also, it looks like you kept SWServer::Connection::scheduleJobInServer() in the cpp?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1395594</commentid>
    <comment_count>12</comment_count>
      <attachid>332901</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-02-01 12:11:06 -0800</bug_when>
    <thetext>Created attachment 332901
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1395596</commentid>
    <comment_count>13</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2018-02-01 12:13:55 -0800</bug_when>
    <thetext>Attachment 332901 did not pass style-queue:


ERROR: Tools/TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:734:  Multi-line string (&quot;...&quot;) found.  This lint script doesn&apos;t do well with such strings, and may give bogus warnings.  They&apos;re ugly and unnecessary, and you should use concatenation instead&quot;.  [readability/multiline_string] [5]
ERROR: Tools/TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:748:  Missing spaces around /  [whitespace/operators] [3]
ERROR: Tools/TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:750:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Tools/TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:753:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Tools/TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:758:  Multi-line string (&quot;...&quot;) found.  This lint script doesn&apos;t do well with such strings, and may give bogus warnings.  They&apos;re ugly and unnecessary, and you should use concatenation instead&quot;.  [readability/multiline_string] [5]
Total errors found: 5 in 8 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>1395597</commentid>
    <comment_count>14</comment_count>
      <attachid>332901</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-02-01 12:18:35 -0800</bug_when>
    <thetext>Comment on attachment 332901
Patch

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

r=me with comment.

&gt; Source/WebCore/workers/service/server/SWServer.cpp:219
&gt; +void SWServer::Connection::scheduleJob(ServiceWorkerJobData&amp;&amp; jobData)

I do not think we need this method on SWServer::Connection.

&gt; Source/WebKit/StorageProcess/ServiceWorker/WebSWServerConnection.cpp:210
&gt; +    scheduleJob(WTFMove(jobData));

we can call server().scheduleJob(WTFMove(jobData)); directly, like we do in the other methods. No needs for a scheduleJob on Connection.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1395616</commentid>
    <comment_count>15</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-02-01 13:46:12 -0800</bug_when>
    <thetext>(In reply to Chris Dumez from comment #14)
&gt; Comment on attachment 332901 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=332901&amp;action=review
&gt; 
&gt; r=me with comment.
&gt; 
&gt; &gt; Source/WebCore/workers/service/server/SWServer.cpp:219
&gt; &gt; +void SWServer::Connection::scheduleJob(ServiceWorkerJobData&amp;&amp; jobData)
&gt; 
&gt; I do not think we need this method on SWServer::Connection.
&gt; 
&gt; &gt; Source/WebKit/StorageProcess/ServiceWorker/WebSWServerConnection.cpp:210
&gt; &gt; +    scheduleJob(WTFMove(jobData));
&gt; 
&gt; we can call server().scheduleJob(WTFMove(jobData)); directly, like we do in
&gt; the other methods. No needs for a scheduleJob on Connection.

Initially I did that, I kept it there as there is some logging done in SWServer.
I can convert it to release logging in WebKit2 code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1395621</commentid>
    <comment_count>16</comment_count>
      <attachid>332901</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-02-01 13:49:31 -0800</bug_when>
    <thetext>Comment on attachment 332901
Patch

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

&gt;&gt;&gt; Source/WebCore/workers/service/server/SWServer.cpp:219
&gt;&gt;&gt; +void SWServer::Connection::scheduleJob(ServiceWorkerJobData&amp;&amp; jobData)
&gt;&gt; 
&gt;&gt; I do not think we need this method on SWServer::Connection.
&gt; 
&gt; Initially I did that, I kept it there as there is some logging done in SWServer.
&gt; I can convert it to release logging in WebKit2 code.

Yes please.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1395644</commentid>
    <comment_count>17</comment_count>
      <attachid>332912</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-02-01 15:01:58 -0800</bug_when>
    <thetext>Created attachment 332912
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1395645</commentid>
    <comment_count>18</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2018-02-01 15:02:59 -0800</bug_when>
    <thetext>Attachment 332912 did not pass style-queue:


ERROR: Tools/TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:734:  Multi-line string (&quot;...&quot;) found.  This lint script doesn&apos;t do well with such strings, and may give bogus warnings.  They&apos;re ugly and unnecessary, and you should use concatenation instead&quot;.  [readability/multiline_string] [5]
ERROR: Tools/TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:748:  Missing spaces around /  [whitespace/operators] [3]
ERROR: Tools/TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:750:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Tools/TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:753:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Tools/TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:758:  Multi-line string (&quot;...&quot;) found.  This lint script doesn&apos;t do well with such strings, and may give bogus warnings.  They&apos;re ugly and unnecessary, and you should use concatenation instead&quot;.  [readability/multiline_string] [5]
Total errors found: 5 in 7 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>1395690</commentid>
    <comment_count>19</comment_count>
      <attachid>332912</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-02-01 16:25:17 -0800</bug_when>
    <thetext>Comment on attachment 332912
Patch for landing

Clearing flags on attachment: 332912

Committed r227989: &lt;https://trac.webkit.org/changeset/227989&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1395691</commentid>
    <comment_count>20</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-02-01 16:25:18 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1395692</commentid>
    <comment_count>21</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-02-01 16:26:30 -0800</bug_when>
    <thetext>&lt;rdar://problem/37136277&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>332676</attachid>
            <date>2018-01-30 11:45:00 -0800</date>
            <delta_ts>2018-01-31 15:30:47 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-182301-20180130114459.patch</filename>
            <type>text/plain</type>
            <size>8576</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI3NzMxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGJjZGYxZDQxMzIxNzlj
OTI4ZjY0OTM5N2U1NWNiMGIxMGQyZTk3Ni4uNDk4YjAxYjYxNzlkNDUzMTM1N2E1MTcwN2ExYzg2
ZjU3MjE0ZDI5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE4LTAxLTMwICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBEZWxheSBzZXJ2aWNlIHdv
cmtlciBwcm9jZXNzIGNyZWF0aW9uIHVudGlsIGFjdHVhbGx5IG5lZWRlZCBieSBTV1NlcnZlcgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgyMzAxCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3b3JrZXJz
L3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmg6CisgICAgICAgIChXZWJDb3JlOjpTV1NlcnZlcjo6
c2Vzc2lvbklEIGNvbnN0KToKKwogMjAxOC0wMS0yOSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBh
cHBsZS5jb20+CiAKICAgICAgICAgQ2FjaGUgQVBJIHNob3VsZCBtYWtlIHN1cmUgdG8gcmVzb2x2
ZSBjYWNoZXMub3BlbiBwcm9taXNlcyBpbiB0aGUgc2FtZSBvcmRlciBhcyBjYWxsZWQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cK
aW5kZXggZTQ1YmI2NDFjZTM3ODAwNjU1MjM3ZmFjNDc5NGQ2ZGU0OTBmYWE2My4uYWYzNDU2Yzgw
NDA5NmI1M2E4MWUyNTQ3MWMwMmY5MDFkY2Y2MTdjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNCBA
QAorMjAxOC0wMS0zMCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAg
ICAgRGVsYXkgc2VydmljZSB3b3JrZXIgcHJvY2VzcyBjcmVhdGlvbiB1bnRpbCBhY3R1YWxseSBu
ZWVkZWQgYnkgU1dTZXJ2ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE4MjMwMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIERvIG5vdCBjcmVhdGUgYSBzZXJ2aWNlIHdvcmtlciBwcm9jZXNzIGF0IGNyZWF0
aW9uIG9mIHRoZSBmaXJzdCBTV1NlcnZlckNvbm5lY3Rpb24uCisgICAgICAgIFdhaXQgZm9yIGEg
V2ViUHJvY2VzcyBtZXNzYWdlIHRoYXQgbmVlZHMgaXQ6CisgICAgICAgIC0gcG9zdE1lc3NhZ2Ug
bWVzc2FnZQorICAgICAgICAtIGZldGNoRXZlbnQgbWVzc2FnZQorICAgICAgICAtIGpvYiBzY2hl
ZHVsaW5nLgorCisgICAgICAgICogU3RvcmFnZVByb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1Nl
cnZlckNvbm5lY3Rpb24uY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJTV1NlcnZlckNvbm5lY3Rp
b246OnN0YXJ0RmV0Y2gpOgorICAgICAgICAoV2ViS2l0OjpXZWJTV1NlcnZlckNvbm5lY3Rpb246
OnBvc3RNZXNzYWdlVG9TZXJ2aWNlV29ya2VyKToKKyAgICAgICAgKFdlYktpdDo6V2ViU1dTZXJ2
ZXJDb25uZWN0aW9uOjpzY2hlZHVsZUpvYkluU2VydmVyKToKKyAgICAgICAgKiBTdG9yYWdlUHJv
Y2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5oOgorICAgICAgICAqIFN0
b3JhZ2VQcm9jZXNzL1N0b3JhZ2VUb1dlYlByb2Nlc3NDb25uZWN0aW9uLmNwcDoKKyAgICAgICAg
KFdlYktpdDo6U3RvcmFnZVRvV2ViUHJvY2Vzc0Nvbm5lY3Rpb246OmVzdGFibGlzaFNXU2VydmVy
Q29ubmVjdGlvbik6CisKIDIwMTgtMDEtMjkgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUu
Y29tPgogCiAgICAgICAgIENhY2hlIEFQSSBzaG91bGQgbWFrZSBzdXJlIHRvIHJlc29sdmUgY2Fj
aGVzLm9wZW4gcHJvbWlzZXMgaW4gdGhlIHNhbWUgb3JkZXIgYXMgY2FsbGVkCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmggYi9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmgKaW5kZXggZmZjMWU1
OTNjZDc2YjExNDNkYmFmM2JjNDBkYTVkZTk5OTA1ODU2Yi4uYjlhZGEwNGQ1ZmQzYjdjZTUyM2I5
MzEyZWYxMzg0MjljN2YyYTg0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9z
ZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vy
dmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuaApAQCAtOTQsNyArOTQsOCBAQCBwdWJsaWM6CiAgICAgICAg
IFdFQkNPUkVfRVhQT1JUIGV4cGxpY2l0IENvbm5lY3Rpb24oU1dTZXJ2ZXImKTsKICAgICAgICAg
U1dTZXJ2ZXImIHNlcnZlcigpIHsgcmV0dXJuIG1fc2VydmVyOyB9CiAKLSAgICAgICAgV0VCQ09S
RV9FWFBPUlQgdm9pZCBzY2hlZHVsZUpvYkluU2VydmVyKFNlcnZpY2VXb3JrZXJKb2JEYXRhJiYp
OworICAgICAgICAvLyBNZXNzYWdlcyBmcm9tIHRoZSBjbGllbnQgV2ViUHJvY2VzcworICAgICAg
ICB2aXJ0dWFsIHZvaWQgc2NoZWR1bGVKb2JJblNlcnZlcihTZXJ2aWNlV29ya2VySm9iRGF0YSYm
KSA9IDA7CiAgICAgICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgZmluaXNoRmV0Y2hpbmdTY3JpcHRJ
blNlcnZlcihjb25zdCBTZXJ2aWNlV29ya2VyRmV0Y2hSZXN1bHQmKTsKICAgICAgICAgV0VCQ09S
RV9FWFBPUlQgdm9pZCBhZGRTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSW5TZXJ2ZXIoU2Vydmlj
ZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIpOwogICAgICAgICBXRUJDT1JFX0VYUE9SVCB2
b2lkIHJlbW92ZVNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JblNlcnZlcihTZXJ2aWNlV29ya2Vy
UmVnaXN0cmF0aW9uSWRlbnRpZmllcik7CkBAIC0xMzEsNyArMTMyLDcgQEAgcHVibGljOgogICAg
IHZvaWQgcmVtb3ZlUmVnaXN0cmF0aW9uKGNvbnN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25L
ZXkmKTsKICAgICBXRUJDT1JFX0VYUE9SVCBWZWN0b3I8U2VydmljZVdvcmtlclJlZ2lzdHJhdGlv
bkRhdGE+IGdldFJlZ2lzdHJhdGlvbnMoY29uc3QgU2VjdXJpdHlPcmlnaW5EYXRhJiB0b3BPcmln
aW4sIGNvbnN0IFVSTCYgY2xpZW50VVJMKTsKIAotICAgIHZvaWQgc2NoZWR1bGVKb2IoU2Vydmlj
ZVdvcmtlckpvYkRhdGEmJik7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzY2hlZHVsZUpvYihT
ZXJ2aWNlV29ya2VySm9iRGF0YSYmKTsKICAgICB2b2lkIHJlamVjdEpvYihjb25zdCBTZXJ2aWNl
V29ya2VySm9iRGF0YSYsIGNvbnN0IEV4Y2VwdGlvbkRhdGEmKTsKICAgICB2b2lkIHJlc29sdmVS
ZWdpc3RyYXRpb25Kb2IoY29uc3QgU2VydmljZVdvcmtlckpvYkRhdGEmLCBjb25zdCBTZXJ2aWNl
V29ya2VyUmVnaXN0cmF0aW9uRGF0YSYsIFNob3VsZE5vdGlmeVdoZW5SZXNvbHZlZCk7CiAgICAg
dm9pZCByZXNvbHZlVW5yZWdpc3RyYXRpb25Kb2IoY29uc3QgU2VydmljZVdvcmtlckpvYkRhdGEm
LCBjb25zdCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uS2V5JiwgYm9vbCB1bnJlZ2lzdHJhdGlv
blJlc3VsdCk7CkBAIC0xODIsNiArMTgzLDggQEAgcHVibGljOgogCiAgICAgV0VCQ09SRV9FWFBP
UlQgdm9pZCBnZXRPcmlnaW5zV2l0aFJlZ2lzdHJhdGlvbnMoV1RGOjpGdW5jdGlvbjx2b2lkKGNv
bnN0IEhhc2hTZXQ8U2VjdXJpdHlPcmlnaW5EYXRhPiYpPik7CiAKKyAgICBQQUw6OlNlc3Npb25J
RCBzZXNzaW9uSUQoKSBjb25zdCB7IHJldHVybiBtX3Nlc3Npb25JRDsgfQorCiBwcml2YXRlOgog
ICAgIHZvaWQgcmVnaXN0ZXJDb25uZWN0aW9uKENvbm5lY3Rpb24mKTsKICAgICB2b2lkIHVucmVn
aXN0ZXJDb25uZWN0aW9uKENvbm5lY3Rpb24mKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
U3RvcmFnZVByb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24uY3BwIGIv
U291cmNlL1dlYktpdC9TdG9yYWdlUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29u
bmVjdGlvbi5jcHAKaW5kZXggYWQwOGYxZDQzYjQ5Nzc0ZDU0ZGNlZDNlZTRjZjZkNzE3NzIzMWJl
Ny4uZmM4YjU3MTE3MWRmZmQ1NzJjMWY4YWViZDU5NmQ3MDgzZDc4MTJkNiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9TdG9yYWdlUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29u
bmVjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9TdG9yYWdlUHJvY2Vzcy9TZXJ2aWNlV29y
a2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5jcHAKQEAgLTE0OSw2ICsxNDksOSBAQCB2b2lkIFdl
YlNXU2VydmVyQ29ubmVjdGlvbjo6c3RhcnRGZXRjaCh1aW50NjRfdCBmZXRjaElkZW50aWZpZXIs
IFNlcnZpY2VXb3JrZXJSZQogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAKKyAgICAg
ICAgaWYgKCFTdG9yYWdlUHJvY2Vzczo6c2luZ2xldG9uKCkuZ2xvYmFsU2VydmVyVG9Db250ZXh0
Q29ubmVjdGlvbigpKQorICAgICAgICAgICAgU3RvcmFnZVByb2Nlc3M6OnNpbmdsZXRvbigpLmNy
ZWF0ZVNlcnZlclRvQ29udGV4dENvbm5lY3Rpb24oc2VydmVyKCkuc2Vzc2lvbklEKCkpOworCiAg
ICAgICAgIHNlcnZlcigpLnJ1blNlcnZpY2VXb3JrZXJJZk5lY2Vzc2FyeShzZXJ2aWNlV29ya2Vy
SWRlbnRpZmllciwgW3dlYWtUaGlzID0gV1RGTW92ZSh3ZWFrVGhpcyksIHRoaXMsIGZldGNoSWRl
bnRpZmllciwgc2VydmljZVdvcmtlcklkZW50aWZpZXIsIHJlcXVlc3QgPSBXVEZNb3ZlKHJlcXVl
c3QpLCBvcHRpb25zID0gV1RGTW92ZShvcHRpb25zKSwgZm9ybURhdGEgPSBXVEZNb3ZlKGZvcm1E
YXRhKSwgcmVmZXJyZXIgPSBXVEZNb3ZlKHJlZmVycmVyKV0oYm9vbCBzdWNjZXNzLCBhdXRvJiBj
b250ZXh0Q29ubmVjdGlvbikgewogICAgICAgICAgICAgaWYgKCF3ZWFrVGhpcykKICAgICAgICAg
ICAgICAgICByZXR1cm47CkBAIC0xODksNiArMTkyLDkgQEAgdm9pZCBXZWJTV1NlcnZlckNvbm5l
Y3Rpb246OnBvc3RNZXNzYWdlVG9TZXJ2aWNlV29ya2VyKFNlcnZpY2VXb3JrZXJJZGVudGlmaWVy
IGQKICAgICBpZiAoIXNvdXJjZURhdGEpCiAgICAgICAgIHJldHVybjsKIAorICAgIGlmICghU3Rv
cmFnZVByb2Nlc3M6OnNpbmdsZXRvbigpLmdsb2JhbFNlcnZlclRvQ29udGV4dENvbm5lY3Rpb24o
KSkKKyAgICAgICAgU3RvcmFnZVByb2Nlc3M6OnNpbmdsZXRvbigpLmNyZWF0ZVNlcnZlclRvQ29u
dGV4dENvbm5lY3Rpb24oc2VydmVyKCkuc2Vzc2lvbklEKCkpOworCiAgICAgLy8gSXQncyBwb3Nz
aWJsZSB0aGlzIHNwZWNpZmljIHdvcmtlciBjYW5ub3QgYmUgcmUtcnVuIChlLmcuIGl0cyByZWdp
c3RyYXRpb24gaGFzIGJlZW4gcmVtb3ZlZCkKICAgICBzZXJ2ZXIoKS5ydW5TZXJ2aWNlV29ya2Vy
SWZOZWNlc3NhcnkoZGVzdGluYXRpb25JZGVudGlmaWVyLCBbZGVzdGluYXRpb25JZGVudGlmaWVy
LCBtZXNzYWdlID0gV1RGTW92ZShtZXNzYWdlKSwgc291cmNlRGF0YSA9IFdURk1vdmUoKnNvdXJj
ZURhdGEpXShib29sIHN1Y2Nlc3MsIGF1dG8mIGNvbnRleHRDb25uZWN0aW9uKSBtdXRhYmxlIHsK
ICAgICAgICAgaWYgKHN1Y2Nlc3MpCkBAIC0xOTYsNiArMjAyLDE4IEBAIHZvaWQgV2ViU1dTZXJ2
ZXJDb25uZWN0aW9uOjpwb3N0TWVzc2FnZVRvU2VydmljZVdvcmtlcihTZXJ2aWNlV29ya2VySWRl
bnRpZmllciBkCiAgICAgfSk7CiB9CiAKK3ZvaWQgV2ViU1dTZXJ2ZXJDb25uZWN0aW9uOjpzY2hl
ZHVsZUpvYkluU2VydmVyKFNlcnZpY2VXb3JrZXJKb2JEYXRhJiYgam9iRGF0YSkKK3sKKyAgICBT
V1NFUlZFUkNPTk5FQ1RJT05fUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgiU2NoZWR1bGluZyBTZXJ2
aWNlV29ya2VyIGpvYiAlcyBpbiBzZXJ2ZXIiLCBqb2JEYXRhLmlkZW50aWZpZXIoKS5sb2dnaW5n
U3RyaW5nKCkudXRmOCgpLmRhdGEoKSk7CisgICAgQVNTRVJUKGlkZW50aWZpZXIoKSA9PSBqb2JE
YXRhLmNvbm5lY3Rpb25JZGVudGlmaWVyKCkpOworCisgICAgaWYgKCFTdG9yYWdlUHJvY2Vzczo6
c2luZ2xldG9uKCkuZ2xvYmFsU2VydmVyVG9Db250ZXh0Q29ubmVjdGlvbigpKQorICAgICAgICBT
dG9yYWdlUHJvY2Vzczo6c2luZ2xldG9uKCkuY3JlYXRlU2VydmVyVG9Db250ZXh0Q29ubmVjdGlv
bihzZXJ2ZXIoKS5zZXNzaW9uSUQoKSk7CisKKyAgICBzZXJ2ZXIoKS5zY2hlZHVsZUpvYihXVEZN
b3ZlKGpvYkRhdGEpKTsKK30KKworCiB2b2lkIFdlYlNXU2VydmVyQ29ubmVjdGlvbjo6ZGlkUmVj
ZWl2ZUZldGNoUmVzcG9uc2UodWludDY0X3QgZmV0Y2hJZGVudGlmaWVyLCBjb25zdCBSZXNvdXJj
ZVJlc3BvbnNlJiByZXNwb25zZSkKIHsKICAgICBtX2NvbnRlbnRDb25uZWN0aW9uLT5zZW5kKE1l
c3NhZ2VzOjpTZXJ2aWNlV29ya2VyQ2xpZW50RmV0Y2g6OkRpZFJlY2VpdmVSZXNwb25zZSB7IHJl
c3BvbnNlIH0sIGZldGNoSWRlbnRpZmllcik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1N0
b3JhZ2VQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmggYi9Tb3Vy
Y2UvV2ViS2l0L1N0b3JhZ2VQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0
aW9uLmgKaW5kZXggMDY4Y2I4MGFkNjU2MTkwNTRjZThjMGJhMmNjOTYyZTI0MGE1MDY1Mi4uYmVj
ZDkwZmY0MTEwNWRlMzlmMmFiMzFkNGU0MjI4NzBlOTMxMWM3NyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9TdG9yYWdlUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlv
bi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU3RvcmFnZVByb2Nlc3MvU2VydmljZVdvcmtlci9XZWJT
V1NlcnZlckNvbm5lY3Rpb24uaApAQCAtODQsNiArODQsOCBAQCBwcml2YXRlOgogICAgIHZvaWQg
bm90aWZ5Q2xpZW50c09mQ29udHJvbGxlckNoYW5nZShjb25zdCBIYXNoU2V0PFdlYkNvcmU6OkRv
Y3VtZW50SWRlbnRpZmllcj4mIGNvbnRleHRJZGVudGlmaWVycywgY29uc3QgV2ViQ29yZTo6U2Vy
dmljZVdvcmtlckRhdGEmIG5ld0NvbnRyb2xsZXIpOwogICAgIHZvaWQgcmVnaXN0cmF0aW9uUmVh
ZHkodWludDY0X3QgcmVnaXN0cmF0aW9uUmVhZHlSZXF1ZXN0SWRlbnRpZmllciwgV2ViQ29yZTo6
U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGEmJikgZmluYWw7CiAKKyAgICB2b2lkIHNjaGVk
dWxlSm9iSW5TZXJ2ZXIoV2ViQ29yZTo6U2VydmljZVdvcmtlckpvYkRhdGEmJik7CisKICAgICB2
b2lkIHN0YXJ0RmV0Y2godWludDY0X3QgZmV0Y2hJZGVudGlmaWVyLCBXZWJDb3JlOjpTZXJ2aWNl
V29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciwgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiYs
IFdlYkNvcmU6OkZldGNoT3B0aW9ucyYmLCBJUEM6OkZvcm1EYXRhUmVmZXJlbmNlJiYsIFN0cmlu
ZyYmIHJlZmVycmVyKTsKIAogICAgIHZvaWQgcG9zdE1lc3NhZ2VUb1NlcnZpY2VXb3JrZXIoV2Vi
Q29yZTo6U2VydmljZVdvcmtlcklkZW50aWZpZXIgZGVzdGluYXRpb24sIFdlYkNvcmU6Ok1lc3Nh
Z2VXaXRoTWVzc2FnZVBvcnRzJiYsIGNvbnN0IFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJPckNsaWVu
dElkZW50aWZpZXImIHNvdXJjZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2VQ
cm9jZXNzL1N0b3JhZ2VUb1dlYlByb2Nlc3NDb25uZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQv
U3RvcmFnZVByb2Nlc3MvU3RvcmFnZVRvV2ViUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwCmluZGV4IDQ2
NzA4Mjg2YjkwNTMyZjMxYzFiNjUzZTdhNjc5NDhmMDE0MTQzZTcuLjUxN2VhNTM0Y2UyMmFkYmRk
N2FkYzEyYWNlZDk1NjQwZDQ0MzdhNTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU3RvcmFn
ZVByb2Nlc3MvU3RvcmFnZVRvV2ViUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvU3RvcmFnZVByb2Nlc3MvU3RvcmFnZVRvV2ViUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwCkBA
IC0xNjksOSArMTY5LDYgQEAgdm9pZCBTdG9yYWdlVG9XZWJQcm9jZXNzQ29ubmVjdGlvbjo6ZXN0
YWJsaXNoU1dTZXJ2ZXJDb25uZWN0aW9uKFNlc3Npb25JRCBzZXNzaW8KIAogICAgIGF1dG8gYWRk
UmVzdWx0ID0gbV9zd0Nvbm5lY3Rpb25zLmFkZChzZXJ2ZXJDb25uZWN0aW9uSWRlbnRpZmllciwg
V1RGTW92ZShjb25uZWN0aW9uKSk7CiAgICAgQVNTRVJUX1VOVVNFRChhZGRSZXN1bHQsIGFkZFJl
c3VsdC5pc05ld0VudHJ5KTsKLQotICAgIGlmICghU3RvcmFnZVByb2Nlc3M6OnNpbmdsZXRvbigp
Lmdsb2JhbFNlcnZlclRvQ29udGV4dENvbm5lY3Rpb24oKSkKLSAgICAgICAgU3RvcmFnZVByb2Nl
c3M6OnNpbmdsZXRvbigpLmNyZWF0ZVNlcnZlclRvQ29udGV4dENvbm5lY3Rpb24oc2Vzc2lvbklE
KTsKIH0KIAogdm9pZCBTdG9yYWdlVG9XZWJQcm9jZXNzQ29ubmVjdGlvbjo6cmVtb3ZlU1dTZXJ2
ZXJDb25uZWN0aW9uKFdlYkNvcmU6OlNXU2VydmVyOjpDb25uZWN0aW9uOjpJZGVudGlmaWVyIHNl
cnZlckNvbm5lY3Rpb25JZGVudGlmaWVyKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>332809</attachid>
            <date>2018-01-31 15:30:48 -0800</date>
            <delta_ts>2018-01-31 15:44:42 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-182301-20180131153047.patch</filename>
            <type>text/plain</type>
            <size>15117</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI3OTAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzI1Nzk2Yzg3MmQ4YzEw
ZTlkN2UxNWIxOGNjN2M0YmNiNzJlMWM1OC4uMjAwYTEyMjA1MDcwYWYxNTk0N2ZlZTc3ZWIyODEx
ZTkxYjI1YTc4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE4LTAxLTMxICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBEZWxheSBzZXJ2aWNlIHdv
cmtlciBwcm9jZXNzIGNyZWF0aW9uIHVudGlsIGFjdHVhbGx5IG5lZWRlZCBieSBTV1NlcnZlcgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgyMzAxCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3b3JrZXJz
L3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmg6CisgICAgICAgIChXZWJDb3JlOjpTV1NlcnZlcjo6
c2Vzc2lvbklEIGNvbnN0KToKKwogMjAxOC0wMS0zMSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBh
cHBsZS5jb20+CiAKICAgICAgICAgQ2hhbmdlIFNXU2VydmVyOjpjbGFpbSB0byBzZXQgdGhlIGl0
ZXJhdG9yIHZhbHVlIGFzIHNvb24gYXMgcG9zc2libGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggYjNkYWI4ODYxZDg5
Zjg3NTVhNjYwMGEyZTMyOTllNTZiZjU3MWUwNS4uNTkxOTUyYWMwMTU1ZmIxZGNhOTg2MjI3ZWYz
NDY0ZjA1ZDg2MDc3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNCBAQAorMjAxOC0wMS0zMSAgWW91
ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgRGVsYXkgc2VydmljZSB3
b3JrZXIgcHJvY2VzcyBjcmVhdGlvbiB1bnRpbCBhY3R1YWxseSBuZWVkZWQgYnkgU1dTZXJ2ZXIK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MjMwMQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIERvIG5vdCBj
cmVhdGUgYSBzZXJ2aWNlIHdvcmtlciBwcm9jZXNzIGF0IGNyZWF0aW9uIG9mIHRoZSBmaXJzdCBT
V1NlcnZlckNvbm5lY3Rpb24uCisgICAgICAgIFdhaXQgZm9yIGEgV2ViUHJvY2VzcyBtZXNzYWdl
IHRoYXQgbmVlZHMgaXQ6CisgICAgICAgIC0gcG9zdE1lc3NhZ2UgbWVzc2FnZQorICAgICAgICAt
IGZldGNoRXZlbnQgbWVzc2FnZQorICAgICAgICAtIGpvYiBzY2hlZHVsaW5nLgorCisgICAgICAg
ICogU3RvcmFnZVByb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24uY3Bw
OgorICAgICAgICAoV2ViS2l0OjpXZWJTV1NlcnZlckNvbm5lY3Rpb246OnN0YXJ0RmV0Y2gpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJTV1NlcnZlckNvbm5lY3Rpb246OnBvc3RNZXNzYWdlVG9TZXJ2
aWNlV29ya2VyKToKKyAgICAgICAgKFdlYktpdDo6V2ViU1dTZXJ2ZXJDb25uZWN0aW9uOjpzY2hl
ZHVsZUpvYkluU2VydmVyKToKKyAgICAgICAgKiBTdG9yYWdlUHJvY2Vzcy9TZXJ2aWNlV29ya2Vy
L1dlYlNXU2VydmVyQ29ubmVjdGlvbi5oOgorICAgICAgICAqIFN0b3JhZ2VQcm9jZXNzL1N0b3Jh
Z2VUb1dlYlByb2Nlc3NDb25uZWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYktpdDo6U3RvcmFnZVRv
V2ViUHJvY2Vzc0Nvbm5lY3Rpb246OmVzdGFibGlzaFNXU2VydmVyQ29ubmVjdGlvbik6CisKIDIw
MTgtMDEtMzEgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAg
ICAgICAgIFJFR1JFU1NJT04ocjIyNzU0NCk6IFtHVEtdIGNvbnRleHRNZW51RXZlbnQgaXMgTlVM
TCBvbiBDT05URVhUX01FTlUgY2FsbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2
aWNlL3NlcnZlci9TV1NlcnZlci5oCmluZGV4IDg2YmIzMmNmMTVlNGI1NDhlM2FkOTBjOTRjZGU5
NjY5YmU0NTFhNzAuLjc5MDg3MDE3NjBkOTRjNjE4NzFmNWRhYzI2MWE3MDRmNDZjODQ3MjkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmgK
QEAgLTkyLDcgKzkyLDggQEAgcHVibGljOgogICAgICAgICBXRUJDT1JFX0VYUE9SVCBleHBsaWNp
dCBDb25uZWN0aW9uKFNXU2VydmVyJik7CiAgICAgICAgIFNXU2VydmVyJiBzZXJ2ZXIoKSB7IHJl
dHVybiBtX3NlcnZlcjsgfQogCi0gICAgICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2NoZWR1bGVK
b2JJblNlcnZlcihTZXJ2aWNlV29ya2VySm9iRGF0YSYmKTsKKyAgICAgICAgLy8gTWVzc2FnZXMg
ZnJvbSB0aGUgY2xpZW50IFdlYlByb2Nlc3MKKyAgICAgICAgdmlydHVhbCB2b2lkIHNjaGVkdWxl
Sm9iSW5TZXJ2ZXIoU2VydmljZVdvcmtlckpvYkRhdGEmJikgPSAwOwogICAgICAgICBXRUJDT1JF
X0VYUE9SVCB2b2lkIGZpbmlzaEZldGNoaW5nU2NyaXB0SW5TZXJ2ZXIoY29uc3QgU2VydmljZVdv
cmtlckZldGNoUmVzdWx0Jik7CiAgICAgICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgYWRkU2Vydmlj
ZVdvcmtlclJlZ2lzdHJhdGlvbkluU2VydmVyKFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVu
dGlmaWVyKTsKICAgICAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCByZW1vdmVTZXJ2aWNlV29ya2Vy
UmVnaXN0cmF0aW9uSW5TZXJ2ZXIoU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIp
OwpAQCAtMTI5LDcgKzEzMCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHJlbW92ZVJlZ2lzdHJhdGlv
bihjb25zdCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uS2V5Jik7CiAgICAgV0VCQ09SRV9FWFBP
UlQgVmVjdG9yPFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhPiBnZXRSZWdpc3RyYXRpb25z
KGNvbnN0IFNlY3VyaXR5T3JpZ2luRGF0YSYgdG9wT3JpZ2luLCBjb25zdCBVUkwmIGNsaWVudFVS
TCk7CiAKLSAgICB2b2lkIHNjaGVkdWxlSm9iKFNlcnZpY2VXb3JrZXJKb2JEYXRhJiYpOworICAg
IFdFQkNPUkVfRVhQT1JUIHZvaWQgc2NoZWR1bGVKb2IoU2VydmljZVdvcmtlckpvYkRhdGEmJik7
CiAgICAgdm9pZCByZWplY3RKb2IoY29uc3QgU2VydmljZVdvcmtlckpvYkRhdGEmLCBjb25zdCBF
eGNlcHRpb25EYXRhJik7CiAgICAgdm9pZCByZXNvbHZlUmVnaXN0cmF0aW9uSm9iKGNvbnN0IFNl
cnZpY2VXb3JrZXJKb2JEYXRhJiwgY29uc3QgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGEm
LCBTaG91bGROb3RpZnlXaGVuUmVzb2x2ZWQpOwogICAgIHZvaWQgcmVzb2x2ZVVucmVnaXN0cmF0
aW9uSm9iKGNvbnN0IFNlcnZpY2VXb3JrZXJKb2JEYXRhJiwgY29uc3QgU2VydmljZVdvcmtlclJl
Z2lzdHJhdGlvbktleSYsIGJvb2wgdW5yZWdpc3RyYXRpb25SZXN1bHQpOwpAQCAtMTc3LDYgKzE3
OCw4IEBAIHB1YmxpYzoKIAogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgZ2V0T3JpZ2luc1dpdGhS
ZWdpc3RyYXRpb25zKFdURjo6RnVuY3Rpb248dm9pZChjb25zdCBIYXNoU2V0PFNlY3VyaXR5T3Jp
Z2luRGF0YT4mKT4pOwogCisgICAgUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklEKCkgY29uc3QgeyBy
ZXR1cm4gbV9zZXNzaW9uSUQ7IH0KKwogcHJpdmF0ZToKICAgICB2b2lkIHJlZ2lzdGVyQ29ubmVj
dGlvbihDb25uZWN0aW9uJik7CiAgICAgdm9pZCB1bnJlZ2lzdGVyQ29ubmVjdGlvbihDb25uZWN0
aW9uJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2VQcm9jZXNzL1NlcnZpY2VX
b3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQvU3RvcmFnZVBy
b2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24uY3BwCmluZGV4IGFkMDhm
MWQ0M2I0OTc3NGQ1NGRjZWQzZWU0Y2Y2ZDcxNzcyMzFiZTcuLmZjOGI1NzExNzFkZmZkNTcyYzFm
OGFlYmQ1OTZkNzA4M2Q3ODEyZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU3RvcmFnZVBy
b2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvU3RvcmFnZVByb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rp
b24uY3BwCkBAIC0xNDksNiArMTQ5LDkgQEAgdm9pZCBXZWJTV1NlcnZlckNvbm5lY3Rpb246OnN0
YXJ0RmV0Y2godWludDY0X3QgZmV0Y2hJZGVudGlmaWVyLCBTZXJ2aWNlV29ya2VyUmUKICAgICAg
ICAgICAgIHJldHVybjsKICAgICAgICAgfQogCisgICAgICAgIGlmICghU3RvcmFnZVByb2Nlc3M6
OnNpbmdsZXRvbigpLmdsb2JhbFNlcnZlclRvQ29udGV4dENvbm5lY3Rpb24oKSkKKyAgICAgICAg
ICAgIFN0b3JhZ2VQcm9jZXNzOjpzaW5nbGV0b24oKS5jcmVhdGVTZXJ2ZXJUb0NvbnRleHRDb25u
ZWN0aW9uKHNlcnZlcigpLnNlc3Npb25JRCgpKTsKKwogICAgICAgICBzZXJ2ZXIoKS5ydW5TZXJ2
aWNlV29ya2VySWZOZWNlc3Nhcnkoc2VydmljZVdvcmtlcklkZW50aWZpZXIsIFt3ZWFrVGhpcyA9
IFdURk1vdmUod2Vha1RoaXMpLCB0aGlzLCBmZXRjaElkZW50aWZpZXIsIHNlcnZpY2VXb3JrZXJJ
ZGVudGlmaWVyLCByZXF1ZXN0ID0gV1RGTW92ZShyZXF1ZXN0KSwgb3B0aW9ucyA9IFdURk1vdmUo
b3B0aW9ucyksIGZvcm1EYXRhID0gV1RGTW92ZShmb3JtRGF0YSksIHJlZmVycmVyID0gV1RGTW92
ZShyZWZlcnJlcildKGJvb2wgc3VjY2VzcywgYXV0byYgY29udGV4dENvbm5lY3Rpb24pIHsKICAg
ICAgICAgICAgIGlmICghd2Vha1RoaXMpCiAgICAgICAgICAgICAgICAgcmV0dXJuOwpAQCAtMTg5
LDYgKzE5Miw5IEBAIHZvaWQgV2ViU1dTZXJ2ZXJDb25uZWN0aW9uOjpwb3N0TWVzc2FnZVRvU2Vy
dmljZVdvcmtlcihTZXJ2aWNlV29ya2VySWRlbnRpZmllciBkCiAgICAgaWYgKCFzb3VyY2VEYXRh
KQogICAgICAgICByZXR1cm47CiAKKyAgICBpZiAoIVN0b3JhZ2VQcm9jZXNzOjpzaW5nbGV0b24o
KS5nbG9iYWxTZXJ2ZXJUb0NvbnRleHRDb25uZWN0aW9uKCkpCisgICAgICAgIFN0b3JhZ2VQcm9j
ZXNzOjpzaW5nbGV0b24oKS5jcmVhdGVTZXJ2ZXJUb0NvbnRleHRDb25uZWN0aW9uKHNlcnZlcigp
LnNlc3Npb25JRCgpKTsKKwogICAgIC8vIEl0J3MgcG9zc2libGUgdGhpcyBzcGVjaWZpYyB3b3Jr
ZXIgY2Fubm90IGJlIHJlLXJ1biAoZS5nLiBpdHMgcmVnaXN0cmF0aW9uIGhhcyBiZWVuIHJlbW92
ZWQpCiAgICAgc2VydmVyKCkucnVuU2VydmljZVdvcmtlcklmTmVjZXNzYXJ5KGRlc3RpbmF0aW9u
SWRlbnRpZmllciwgW2Rlc3RpbmF0aW9uSWRlbnRpZmllciwgbWVzc2FnZSA9IFdURk1vdmUobWVz
c2FnZSksIHNvdXJjZURhdGEgPSBXVEZNb3ZlKCpzb3VyY2VEYXRhKV0oYm9vbCBzdWNjZXNzLCBh
dXRvJiBjb250ZXh0Q29ubmVjdGlvbikgbXV0YWJsZSB7CiAgICAgICAgIGlmIChzdWNjZXNzKQpA
QCAtMTk2LDYgKzIwMiwxOCBAQCB2b2lkIFdlYlNXU2VydmVyQ29ubmVjdGlvbjo6cG9zdE1lc3Nh
Z2VUb1NlcnZpY2VXb3JrZXIoU2VydmljZVdvcmtlcklkZW50aWZpZXIgZAogICAgIH0pOwogfQog
Cit2b2lkIFdlYlNXU2VydmVyQ29ubmVjdGlvbjo6c2NoZWR1bGVKb2JJblNlcnZlcihTZXJ2aWNl
V29ya2VySm9iRGF0YSYmIGpvYkRhdGEpCit7CisgICAgU1dTRVJWRVJDT05ORUNUSU9OX1JFTEVB
U0VfTE9HX0lGX0FMTE9XRUQoIlNjaGVkdWxpbmcgU2VydmljZVdvcmtlciBqb2IgJXMgaW4gc2Vy
dmVyIiwgam9iRGF0YS5pZGVudGlmaWVyKCkubG9nZ2luZ1N0cmluZygpLnV0ZjgoKS5kYXRhKCkp
OworICAgIEFTU0VSVChpZGVudGlmaWVyKCkgPT0gam9iRGF0YS5jb25uZWN0aW9uSWRlbnRpZmll
cigpKTsKKworICAgIGlmICghU3RvcmFnZVByb2Nlc3M6OnNpbmdsZXRvbigpLmdsb2JhbFNlcnZl
clRvQ29udGV4dENvbm5lY3Rpb24oKSkKKyAgICAgICAgU3RvcmFnZVByb2Nlc3M6OnNpbmdsZXRv
bigpLmNyZWF0ZVNlcnZlclRvQ29udGV4dENvbm5lY3Rpb24oc2VydmVyKCkuc2Vzc2lvbklEKCkp
OworCisgICAgc2VydmVyKCkuc2NoZWR1bGVKb2IoV1RGTW92ZShqb2JEYXRhKSk7Cit9CisKKwog
dm9pZCBXZWJTV1NlcnZlckNvbm5lY3Rpb246OmRpZFJlY2VpdmVGZXRjaFJlc3BvbnNlKHVpbnQ2
NF90IGZldGNoSWRlbnRpZmllciwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UpCiB7
CiAgICAgbV9jb250ZW50Q29ubmVjdGlvbi0+c2VuZChNZXNzYWdlczo6U2VydmljZVdvcmtlckNs
aWVudEZldGNoOjpEaWRSZWNlaXZlUmVzcG9uc2UgeyByZXNwb25zZSB9LCBmZXRjaElkZW50aWZp
ZXIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TdG9yYWdlUHJvY2Vzcy9TZXJ2aWNlV29y
a2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5oIGIvU291cmNlL1dlYktpdC9TdG9yYWdlUHJvY2Vz
cy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5oCmluZGV4IDA2OGNiODBhZDY1
NjE5MDU0Y2U4YzBiYTJjYzk2MmUyNDBhNTA2NTIuLmJlY2Q5MGZmNDExMDVkZTM5ZjJhYjMxZDRl
NDIyODcwZTkzMTFjNzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU3RvcmFnZVByb2Nlc3Mv
U2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0
L1N0b3JhZ2VQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmgKQEAg
LTg0LDYgKzg0LDggQEAgcHJpdmF0ZToKICAgICB2b2lkIG5vdGlmeUNsaWVudHNPZkNvbnRyb2xs
ZXJDaGFuZ2UoY29uc3QgSGFzaFNldDxXZWJDb3JlOjpEb2N1bWVudElkZW50aWZpZXI+JiBjb250
ZXh0SWRlbnRpZmllcnMsIGNvbnN0IFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJEYXRhJiBuZXdDb250
cm9sbGVyKTsKICAgICB2b2lkIHJlZ2lzdHJhdGlvblJlYWR5KHVpbnQ2NF90IHJlZ2lzdHJhdGlv
blJlYWR5UmVxdWVzdElkZW50aWZpZXIsIFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRp
b25EYXRhJiYpIGZpbmFsOwogCisgICAgdm9pZCBzY2hlZHVsZUpvYkluU2VydmVyKFdlYkNvcmU6
OlNlcnZpY2VXb3JrZXJKb2JEYXRhJiYpOworCiAgICAgdm9pZCBzdGFydEZldGNoKHVpbnQ2NF90
IGZldGNoSWRlbnRpZmllciwgV2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50
aWZpZXIsIFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYmLCBXZWJDb3JlOjpGZXRjaE9wdGlvbnMm
JiwgSVBDOjpGb3JtRGF0YVJlZmVyZW5jZSYmLCBTdHJpbmcmJiByZWZlcnJlcik7CiAKICAgICB2
b2lkIHBvc3RNZXNzYWdlVG9TZXJ2aWNlV29ya2VyKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJJZGVu
dGlmaWVyIGRlc3RpbmF0aW9uLCBXZWJDb3JlOjpNZXNzYWdlV2l0aE1lc3NhZ2VQb3J0cyYmLCBj
b25zdCBXZWJDb3JlOjpTZXJ2aWNlV29ya2VyT3JDbGllbnRJZGVudGlmaWVyJiBzb3VyY2UpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TdG9yYWdlUHJvY2Vzcy9TdG9yYWdlVG9XZWJQcm9j
ZXNzQ29ubmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2VQcm9jZXNzL1N0b3JhZ2VU
b1dlYlByb2Nlc3NDb25uZWN0aW9uLmNwcAppbmRleCA0NjcwODI4NmI5MDUzMmYzMWMxYjY1M2U3
YTY3OTQ4ZjAxNDE0M2U3Li41MTdlYTUzNGNlMjJhZGJkZDdhZGMxMmFjZWQ5NTY0MGQ0NDM3YTU0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2VQcm9jZXNzL1N0b3JhZ2VUb1dlYlBy
b2Nlc3NDb25uZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2VQcm9jZXNzL1N0
b3JhZ2VUb1dlYlByb2Nlc3NDb25uZWN0aW9uLmNwcApAQCAtMTY5LDkgKzE2OSw2IEBAIHZvaWQg
U3RvcmFnZVRvV2ViUHJvY2Vzc0Nvbm5lY3Rpb246OmVzdGFibGlzaFNXU2VydmVyQ29ubmVjdGlv
bihTZXNzaW9uSUQgc2Vzc2lvCiAKICAgICBhdXRvIGFkZFJlc3VsdCA9IG1fc3dDb25uZWN0aW9u
cy5hZGQoc2VydmVyQ29ubmVjdGlvbklkZW50aWZpZXIsIFdURk1vdmUoY29ubmVjdGlvbikpOwog
ICAgIEFTU0VSVF9VTlVTRUQoYWRkUmVzdWx0LCBhZGRSZXN1bHQuaXNOZXdFbnRyeSk7Ci0KLSAg
ICBpZiAoIVN0b3JhZ2VQcm9jZXNzOjpzaW5nbGV0b24oKS5nbG9iYWxTZXJ2ZXJUb0NvbnRleHRD
b25uZWN0aW9uKCkpCi0gICAgICAgIFN0b3JhZ2VQcm9jZXNzOjpzaW5nbGV0b24oKS5jcmVhdGVT
ZXJ2ZXJUb0NvbnRleHRDb25uZWN0aW9uKHNlc3Npb25JRCk7CiB9CiAKIHZvaWQgU3RvcmFnZVRv
V2ViUHJvY2Vzc0Nvbm5lY3Rpb246OnJlbW92ZVNXU2VydmVyQ29ubmVjdGlvbihXZWJDb3JlOjpT
V1NlcnZlcjo6Q29ubmVjdGlvbjo6SWRlbnRpZmllciBzZXJ2ZXJDb25uZWN0aW9uSWRlbnRpZmll
cikKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA3
NGM4MjBlYTgyNjI4ZDk5Y2NmNzkzZTM2ZDc0YmZkN2U0YjQ3ZTY5Li5lYjJlYzgzOTMyOGMzNTFi
OWM2MWQ0ZDFmZDQ0ZmZlMDAyYjEyNzA1IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysr
IGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTgtMDEtMzEgIFlvdWVubiBG
YWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIERlbGF5IHNlcnZpY2Ugd29ya2Vy
IHByb2Nlc3MgY3JlYXRpb24gdW50aWwgYWN0dWFsbHkgbmVlZGVkIGJ5IFNXU2VydmVyCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODIzMDEKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFRlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViS2l0Q29jb2EvU2VydmljZVdvcmtlckJhc2ljLm1tOgorICAgICAgICAoZnVu
Y3Rpb24pOgorCiAyMDE4LTAxLTMxICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlh
LmNvbT4KIAogICAgICAgICBbSkhCdWlsZF0gQWRkIGdzdHJlYW1lci12YWFwaSBpbiBtb2R1bGVz
ZXQKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvU2Vy
dmljZVdvcmtlckJhc2ljLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2Nv
YS9TZXJ2aWNlV29ya2VyQmFzaWMubW0KaW5kZXggM2NiYWQyYjcxYzUyZWVhYWU4ZjUxZDhlZmIz
YWI2N2Y5NTQwNjU5NC4uYzZlODE2NzY2ODFlODAxOWY3ZmVmYmNjMjU0N2I3ODA4OTZhZWUwMiAx
MDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9TZXJ2aWNl
V29ya2VyQmFzaWMubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2Nv
YS9TZXJ2aWNlV29ya2VyQmFzaWMubW0KQEAgLTE3Niw2ICsxNzYsMzIgQEAgbmF2aWdhdG9yLnNl
cnZpY2VXb3JrZXIucmVnaXN0ZXIoJy9zdy5qcycpLnRoZW4oZnVuY3Rpb24ocmVnKSB7CiA8L3Nj
cmlwdD4KIClTV1JFU09VUkNFIjsKIAorc3RhdGljIGNvbnN0IGNoYXIqIG1haW5CeXRlc1dpdGhT
Y29wZSA9IFIiU1dSRVNPVVJDRSgKKzxzY3JpcHQ+CisKK2Z1bmN0aW9uIGxvZyhtc2cpCit7Cisg
ICAgd2luZG93LndlYmtpdC5tZXNzYWdlSGFuZGxlcnMuc3cucG9zdE1lc3NhZ2UobXNnKTsKK30K
KworbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsIGZ1
bmN0aW9uKGV2ZW50KSB7CisgICAgbG9nKCJNZXNzYWdlIGZyb20gd29ya2VyOiAiICsgZXZlbnQu
ZGF0YSk7Cit9KTsKKwordHJ5IHsKKworbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIucmVnaXN0ZXIo
Jy9zdy5qcycsIHtzY29wZTogJ3doYXRldmVyc2NvcGUnfSkudGhlbihmdW5jdGlvbihyZWcpIHsK
KyAgICByZWcuaW5zdGFsbGluZy5wb3N0TWVzc2FnZSgiSGVsbG8gZnJvbSB0aGUgd2ViIHBhZ2Ui
KTsKK30pLmNhdGNoKGZ1bmN0aW9uKGVycm9yKSB7CisgICAgbG9nKCJSZWdpc3RyYXRpb24gZmFp
bGVkIHdpdGg6ICIgKyBlcnJvcik7Cit9KTsKK30gY2F0Y2goZSkgeworICAgIGxvZygiRXhjZXB0
aW9uOiAiICsgZSk7Cit9CisKKzwvc2NyaXB0PgorKVNXUkVTT1VSQ0UiOworCiBzdGF0aWMgY29u
c3QgY2hhciogc2NyaXB0Qnl0ZXMgPSBSIlNXUkVTT1VSQ0UoCiAKIHNlbGYuYWRkRXZlbnRMaXN0
ZW5lcigibWVzc2FnZSIsIChldmVudCkgPT4gewpAQCAtNzMxLDYgKzc1Nyw4OCBAQCBURVNUKFNl
cnZpY2VXb3JrZXJzLCBTdG9yYWdlUHJvY2Vzc0Nvbm5lY3Rpb25DcmVhdGlvbikKICAgICBFWFBF
Q1RfRVEoMCwgd2ViVmlldy5nZXQoKS5jb25maWd1cmF0aW9uLnByb2Nlc3NQb29sLl9zdG9yYWdl
UHJvY2Vzc0lkZW50aWZpZXIpOwogfQogCisKK1RFU1QoU2VydmljZVdvcmtlcnMsIFNlcnZpY2VX
b3JrZXJQcm9jZXNzQ3JlYXRpb24pCit7CisgICAgW1dLV2Vic2l0ZURhdGFTdG9yZSBfYWxsb3dX
ZWJzaXRlRGF0YVJlY29yZHNGb3JBbGxPcmlnaW5zXTsKKworICAgIFJldGFpblB0cjxXS1dlYlZp
ZXdDb25maWd1cmF0aW9uPiBjb25maWd1cmF0aW9uID0gYWRvcHROUyhbW1dLV2ViVmlld0NvbmZp
Z3VyYXRpb24gYWxsb2NdIGluaXRdKTsKKyAgICBzZXRDb25maWd1cmF0aW9uSW5qZWN0ZWRCdW5k
bGVQYXRoKGNvbmZpZ3VyYXRpb24uZ2V0KCkpOworCisgICAgZG9uZSA9IGZhbHNlOworCisgICAg
W1tjb25maWd1cmF0aW9uIHdlYnNpdGVEYXRhU3RvcmVdIHJlbW92ZURhdGFPZlR5cGVzOltXS1dl
YnNpdGVEYXRhU3RvcmUgYWxsV2Vic2l0ZURhdGFUeXBlc10gbW9kaWZpZWRTaW5jZTpbTlNEYXRl
IGRpc3RhbnRQYXN0XSBjb21wbGV0aW9uSGFuZGxlcjpeKCkgeworICAgICAgICBkb25lID0gdHJ1
ZTsKKyAgICB9XTsKKyAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRvbmUpOworICAgIGRv
bmUgPSBmYWxzZTsKKworICAgIFtbY29uZmlndXJhdGlvbiB3ZWJzaXRlRGF0YVN0b3JlXSBmZXRj
aERhdGFSZWNvcmRzT2ZUeXBlczpbTlNTZXQgc2V0V2l0aE9iamVjdDpXS1dlYnNpdGVEYXRhVHlw
ZVNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25zXSBjb21wbGV0aW9uSGFuZGxlcjpeKE5TQXJyYXk8
V0tXZWJzaXRlRGF0YVJlY29yZCAqPiAqd2Vic2l0ZURhdGFSZWNvcmRzKSB7CisKKyAgICAgICAg
ZG9uZSA9IHRydWU7CisgICAgfV07CisgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZkb25l
KTsKKyAgICBkb25lID0gZmFsc2U7CisKKyAgICBSZXRhaW5QdHI8U1dNZXNzYWdlSGFuZGxlcj4g
bWVzc2FnZUhhbmRsZXIgPSBhZG9wdE5TKFtbU1dNZXNzYWdlSGFuZGxlciBhbGxvY10gaW5pdF0p
OworICAgIFtbY29uZmlndXJhdGlvbiB1c2VyQ29udGVudENvbnRyb2xsZXJdIGFkZFNjcmlwdE1l
c3NhZ2VIYW5kbGVyOm1lc3NhZ2VIYW5kbGVyLmdldCgpIG5hbWU6QCJzdyJdOworICAgIFJldGFp
blB0cjxSZWd1bGFyUGFnZU1lc3NhZ2VIYW5kbGVyPiByZWd1bGFyUGFnZU1lc3NhZ2VIYW5kbGVy
ID0gYWRvcHROUyhbW1JlZ3VsYXJQYWdlTWVzc2FnZUhhbmRsZXIgYWxsb2NdIGluaXRdKTsKKyAg
ICBbW2NvbmZpZ3VyYXRpb24gdXNlckNvbnRlbnRDb250cm9sbGVyXSBhZGRTY3JpcHRNZXNzYWdl
SGFuZGxlcjpyZWd1bGFyUGFnZU1lc3NhZ2VIYW5kbGVyLmdldCgpIG5hbWU6QCJyZWd1bGFyUGFn
ZSJdOworCisgICAgUmV0YWluUHRyPFNXU2NoZW1lcz4gaGFuZGxlciA9IGFkb3B0TlMoW1tTV1Nj
aGVtZXMgYWxsb2NdIGluaXRdKTsKKyAgICBoYW5kbGVyLT5yZXNvdXJjZXMuc2V0KCJzdzovL2hv
c3QvcmVndWxhclBhZ2VXaXRob3V0Q29ubmVjdGlvbi5odG1sIiwgUmVzb3VyY2VJbmZvIHsgQCJ0
ZXh0L2h0bWwiLCByZWd1bGFyUGFnZVdpdGhvdXRDb25uZWN0aW9uQnl0ZXMgfSk7CisgICAgaGFu
ZGxlci0+cmVzb3VyY2VzLnNldCgic3c6Ly9ob3N0L3JlZ3VsYXJQYWdlV2l0aENvbm5lY3Rpb24u
aHRtbCIsIFJlc291cmNlSW5mbyB7IEAidGV4dC9odG1sIiwgcmVndWxhclBhZ2VXaXRoQ29ubmVj
dGlvbkJ5dGVzIH0pOworICAgIGhhbmRsZXItPnJlc291cmNlcy5zZXQoInN3Oi8vaG9zdC9tYWlu
V2l0aFNjb3BlLmh0bWwiLCBSZXNvdXJjZUluZm8geyBAInRleHQvaHRtbCIsIG1haW5CeXRlc1dp
dGhTY29wZSB9KTsKKyAgICBoYW5kbGVyLT5yZXNvdXJjZXMuc2V0KCJzdzovL2hvc3QvbWFpbi5o
dG1sIiwgUmVzb3VyY2VJbmZvIHsgQCJ0ZXh0L2h0bWwiLCBtYWluQnl0ZXMgfSk7CisgICAgaGFu
ZGxlci0+cmVzb3VyY2VzLnNldCgic3c6Ly9ob3N0L3N3LmpzIiwgUmVzb3VyY2VJbmZvIHsgQCJh
cHBsaWNhdGlvbi9qYXZhc2NyaXB0Iiwgc2NyaXB0Qnl0ZXMgfSk7CisgICAgW2NvbmZpZ3VyYXRp
b24gc2V0VVJMU2NoZW1lSGFuZGxlcjpoYW5kbGVyLmdldCgpIGZvclVSTFNjaGVtZTpAIlNXIl07
CisKKyAgICBSZXRhaW5QdHI8V0tXZWJWaWV3PiB3ZWJWaWV3ID0gYWRvcHROUyhbW1dLV2ViVmll
dyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDgwMCwgNjAwKSBjb25maWd1
cmF0aW9uOmNvbmZpZ3VyYXRpb24uZ2V0KCldKTsKKworICAgIC8vIExvYWQgYSBwYWdlIHRoYXQg
cmVnaXN0ZXJzIGEgc2VydmljZSB3b3JrZXIuCisgICAgTlNVUkxSZXF1ZXN0ICpyZXF1ZXN0ID0g
W05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVSTDpbTlNVUkwgVVJMV2l0aFN0cmluZzpAInN3Oi8v
aG9zdC9tYWluV2l0aFNjb3BlLmh0bWwiXV07CisKKyAgICBbd2ViVmlldyBsb2FkUmVxdWVzdDpy
ZXF1ZXN0XTsKKyAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRvbmUpOworICAgIGRvbmUg
PSBmYWxzZTsKKyAgICB3ZWJWaWV3ID0gbnVsbHB0cjsKKworICAgIC8vIE5vdyB0aGF0IGEgc3cg
aXMgcmVnaXN0ZXJlZCwgbGV0J3MgY3JlYXRlIGEgbmV3IGNvbmZpZ3VyYXRpb24gYW5kIHRyeSBs
b2FkaW5nIGEgcmVndWxhciBwYWdlLCB0aGVyZSBzaG91bGQgYmUgbm8gc2VydmljZSB3b3JrZXIg
cHJvY2VzcyBjcmVhdGVkLgorICAgIFJldGFpblB0cjxXS1dlYlZpZXdDb25maWd1cmF0aW9uPiBu
ZXdDb25maWd1cmF0aW9uID0gYWRvcHROUyhbW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gYWxsb2Nd
IGluaXRdKTsKKyAgICBzZXRDb25maWd1cmF0aW9uSW5qZWN0ZWRCdW5kbGVQYXRoKG5ld0NvbmZp
Z3VyYXRpb24uZ2V0KCkpOworICAgIG5ld0NvbmZpZ3VyYXRpb24uZ2V0KCkud2Vic2l0ZURhdGFT
dG9yZSA9IFtjb25maWd1cmF0aW9uIHdlYnNpdGVEYXRhU3RvcmVdOworCisgICAgW1tuZXdDb25m
aWd1cmF0aW9uIHVzZXJDb250ZW50Q29udHJvbGxlcl0gYWRkU2NyaXB0TWVzc2FnZUhhbmRsZXI6
bWVzc2FnZUhhbmRsZXIuZ2V0KCkgbmFtZTpAInN3Il07CisgICAgW1tuZXdDb25maWd1cmF0aW9u
IHVzZXJDb250ZW50Q29udHJvbGxlcl0gYWRkU2NyaXB0TWVzc2FnZUhhbmRsZXI6cmVndWxhclBh
Z2VNZXNzYWdlSGFuZGxlci5nZXQoKSBuYW1lOkAicmVndWxhclBhZ2UiXTsKKyAgICBbbmV3Q29u
ZmlndXJhdGlvbiBzZXRVUkxTY2hlbWVIYW5kbGVyOmhhbmRsZXIuZ2V0KCkgZm9yVVJMU2NoZW1l
OkAiU1ciXTsKKworICAgIHdlYlZpZXcgPSBhZG9wdE5TKFtbV0tXZWJWaWV3IGFsbG9jXSBpbml0
V2l0aEZyYW1lOk5TTWFrZVJlY3QoMCwgMCwgODAwLCA2MDApIGNvbmZpZ3VyYXRpb246bmV3Q29u
ZmlndXJhdGlvbi5nZXQoKV0pOworICAgIEVYUEVDVF9FUSgxdSwgd2ViVmlldy5nZXQoKS5jb25m
aWd1cmF0aW9uLnByb2Nlc3NQb29sLl93ZWJQcm9jZXNzQ291bnQpOworICAgIHJlcXVlc3QgPSBb
TlNVUkxSZXF1ZXN0IHJlcXVlc3RXaXRoVVJMOltOU1VSTCBVUkxXaXRoU3RyaW5nOkAic3c6Ly9o
b3N0L3JlZ3VsYXJQYWdlV2l0aENvbm5lY3Rpb24uaHRtbCJdXTsKKyAgICBbd2ViVmlldyBsb2Fk
UmVxdWVzdDpyZXF1ZXN0XTsKKyAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRvbmUpOwor
ICAgIGRvbmUgPSBmYWxzZTsKKworICAgIC8vIE1ha2Ugc3VyZSB0aGF0IGxvYWRpbmcgdGhlIHNp
bXBsZSBwYWdlIGRpZCBub3Qgc3RhcnQgdGhlIHNlcnZpY2Ugd29ya2VyIHByb2Nlc3MuCisgICAg
RVhQRUNUX0VRKDF1LCB3ZWJWaWV3LmdldCgpLmNvbmZpZ3VyYXRpb24ucHJvY2Vzc1Bvb2wuX3dl
YlByb2Nlc3NDb3VudCk7CisKKyAgICB3ZWJWaWV3ID0gYWRvcHROUyhbW1dLV2ViVmlldyBhbGxv
Y10gaW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDgwMCwgNjAwKSBjb25maWd1cmF0aW9u
Om5ld0NvbmZpZ3VyYXRpb24uZ2V0KCldKTsKKyAgICBFWFBFQ1RfRVEoMnUsIHdlYlZpZXcuZ2V0
KCkuY29uZmlndXJhdGlvbi5wcm9jZXNzUG9vbC5fd2ViUHJvY2Vzc0NvdW50KTsKKyAgICByZXF1
ZXN0ID0gW05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVSTDpbTlNVUkwgVVJMV2l0aFN0cmluZzpA
InN3Oi8vaG9zdC9tYWluLmh0bWwiXV07CisgICAgW3dlYlZpZXcgbG9hZFJlcXVlc3Q6cmVxdWVz
dF07CisgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZkb25lKTsKKyAgICBkb25lID0gZmFs
c2U7CisKKyAgICAvLyBNYWtlIHN1cmUgdGhhdCBsb2FkaW5nIHRoaXMgcGFnZSBkaWQgc3RhcnQg
dGhlIHNlcnZpY2Ugd29ya2VyIHByb2Nlc3MuCisgICAgRVhQRUNUX0VRKDN1LCB3ZWJWaWV3Lmdl
dCgpLmNvbmZpZ3VyYXRpb24ucHJvY2Vzc1Bvb2wuX3dlYlByb2Nlc3NDb3VudCk7CisKKyAgICBb
W2NvbmZpZ3VyYXRpb24gd2Vic2l0ZURhdGFTdG9yZV0gcmVtb3ZlRGF0YU9mVHlwZXM6W1dLV2Vi
c2l0ZURhdGFTdG9yZSBhbGxXZWJzaXRlRGF0YVR5cGVzXSBtb2RpZmllZFNpbmNlOltOU0RhdGUg
ZGlzdGFudFBhc3RdIGNvbXBsZXRpb25IYW5kbGVyOl4oKSB7CisgICAgICAgIGRvbmUgPSB0cnVl
OworICAgIH1dOworICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZG9uZSk7CisgICAgZG9u
ZSA9IGZhbHNlOworfQorCiAjZW5kaWYgLy8gV0tfSEFWRV9DX1NQSQogCiAjZW5kaWYgLy8gV0tf
QVBJX0VOQUJMRUQK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>332813</attachid>
            <date>2018-01-31 15:44:43 -0800</date>
            <delta_ts>2018-02-01 12:11:05 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-182301-20180131154442.patch</filename>
            <type>text/plain</type>
            <size>14906</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI3OTAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzI1Nzk2Yzg3MmQ4YzEw
ZTlkN2UxNWIxOGNjN2M0YmNiNzJlMWM1OC4uMjAwYTEyMjA1MDcwYWYxNTk0N2ZlZTc3ZWIyODEx
ZTkxYjI1YTc4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE4LTAxLTMxICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBEZWxheSBzZXJ2aWNlIHdv
cmtlciBwcm9jZXNzIGNyZWF0aW9uIHVudGlsIGFjdHVhbGx5IG5lZWRlZCBieSBTV1NlcnZlcgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgyMzAxCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3b3JrZXJz
L3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmg6CisgICAgICAgIChXZWJDb3JlOjpTV1NlcnZlcjo6
c2Vzc2lvbklEIGNvbnN0KToKKwogMjAxOC0wMS0zMSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBh
cHBsZS5jb20+CiAKICAgICAgICAgQ2hhbmdlIFNXU2VydmVyOjpjbGFpbSB0byBzZXQgdGhlIGl0
ZXJhdG9yIHZhbHVlIGFzIHNvb24gYXMgcG9zc2libGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggYjNkYWI4ODYxZDg5
Zjg3NTVhNjYwMGEyZTMyOTllNTZiZjU3MWUwNS4uNTkxOTUyYWMwMTU1ZmIxZGNhOTg2MjI3ZWYz
NDY0ZjA1ZDg2MDc3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNCBAQAorMjAxOC0wMS0zMSAgWW91
ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgRGVsYXkgc2VydmljZSB3
b3JrZXIgcHJvY2VzcyBjcmVhdGlvbiB1bnRpbCBhY3R1YWxseSBuZWVkZWQgYnkgU1dTZXJ2ZXIK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MjMwMQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIERvIG5vdCBj
cmVhdGUgYSBzZXJ2aWNlIHdvcmtlciBwcm9jZXNzIGF0IGNyZWF0aW9uIG9mIHRoZSBmaXJzdCBT
V1NlcnZlckNvbm5lY3Rpb24uCisgICAgICAgIFdhaXQgZm9yIGEgV2ViUHJvY2VzcyBtZXNzYWdl
IHRoYXQgbmVlZHMgaXQ6CisgICAgICAgIC0gcG9zdE1lc3NhZ2UgbWVzc2FnZQorICAgICAgICAt
IGZldGNoRXZlbnQgbWVzc2FnZQorICAgICAgICAtIGpvYiBzY2hlZHVsaW5nLgorCisgICAgICAg
ICogU3RvcmFnZVByb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24uY3Bw
OgorICAgICAgICAoV2ViS2l0OjpXZWJTV1NlcnZlckNvbm5lY3Rpb246OnN0YXJ0RmV0Y2gpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJTV1NlcnZlckNvbm5lY3Rpb246OnBvc3RNZXNzYWdlVG9TZXJ2
aWNlV29ya2VyKToKKyAgICAgICAgKFdlYktpdDo6V2ViU1dTZXJ2ZXJDb25uZWN0aW9uOjpzY2hl
ZHVsZUpvYkluU2VydmVyKToKKyAgICAgICAgKiBTdG9yYWdlUHJvY2Vzcy9TZXJ2aWNlV29ya2Vy
L1dlYlNXU2VydmVyQ29ubmVjdGlvbi5oOgorICAgICAgICAqIFN0b3JhZ2VQcm9jZXNzL1N0b3Jh
Z2VUb1dlYlByb2Nlc3NDb25uZWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYktpdDo6U3RvcmFnZVRv
V2ViUHJvY2Vzc0Nvbm5lY3Rpb246OmVzdGFibGlzaFNXU2VydmVyQ29ubmVjdGlvbik6CisKIDIw
MTgtMDEtMzEgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAg
ICAgICAgIFJFR1JFU1NJT04ocjIyNzU0NCk6IFtHVEtdIGNvbnRleHRNZW51RXZlbnQgaXMgTlVM
TCBvbiBDT05URVhUX01FTlUgY2FsbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2
aWNlL3NlcnZlci9TV1NlcnZlci5oCmluZGV4IDg2YmIzMmNmMTVlNGI1NDhlM2FkOTBjOTRjZGU5
NjY5YmU0NTFhNzAuLjc5MDg3MDE3NjBkOTRjNjE4NzFmNWRhYzI2MWE3MDRmNDZjODQ3MjkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmgK
QEAgLTkyLDcgKzkyLDggQEAgcHVibGljOgogICAgICAgICBXRUJDT1JFX0VYUE9SVCBleHBsaWNp
dCBDb25uZWN0aW9uKFNXU2VydmVyJik7CiAgICAgICAgIFNXU2VydmVyJiBzZXJ2ZXIoKSB7IHJl
dHVybiBtX3NlcnZlcjsgfQogCi0gICAgICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2NoZWR1bGVK
b2JJblNlcnZlcihTZXJ2aWNlV29ya2VySm9iRGF0YSYmKTsKKyAgICAgICAgLy8gTWVzc2FnZXMg
ZnJvbSB0aGUgY2xpZW50IFdlYlByb2Nlc3MKKyAgICAgICAgdmlydHVhbCB2b2lkIHNjaGVkdWxl
Sm9iSW5TZXJ2ZXIoU2VydmljZVdvcmtlckpvYkRhdGEmJikgPSAwOwogICAgICAgICBXRUJDT1JF
X0VYUE9SVCB2b2lkIGZpbmlzaEZldGNoaW5nU2NyaXB0SW5TZXJ2ZXIoY29uc3QgU2VydmljZVdv
cmtlckZldGNoUmVzdWx0Jik7CiAgICAgICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgYWRkU2Vydmlj
ZVdvcmtlclJlZ2lzdHJhdGlvbkluU2VydmVyKFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVu
dGlmaWVyKTsKICAgICAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCByZW1vdmVTZXJ2aWNlV29ya2Vy
UmVnaXN0cmF0aW9uSW5TZXJ2ZXIoU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIp
OwpAQCAtMTI5LDcgKzEzMCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHJlbW92ZVJlZ2lzdHJhdGlv
bihjb25zdCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uS2V5Jik7CiAgICAgV0VCQ09SRV9FWFBP
UlQgVmVjdG9yPFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhPiBnZXRSZWdpc3RyYXRpb25z
KGNvbnN0IFNlY3VyaXR5T3JpZ2luRGF0YSYgdG9wT3JpZ2luLCBjb25zdCBVUkwmIGNsaWVudFVS
TCk7CiAKLSAgICB2b2lkIHNjaGVkdWxlSm9iKFNlcnZpY2VXb3JrZXJKb2JEYXRhJiYpOworICAg
IFdFQkNPUkVfRVhQT1JUIHZvaWQgc2NoZWR1bGVKb2IoU2VydmljZVdvcmtlckpvYkRhdGEmJik7
CiAgICAgdm9pZCByZWplY3RKb2IoY29uc3QgU2VydmljZVdvcmtlckpvYkRhdGEmLCBjb25zdCBF
eGNlcHRpb25EYXRhJik7CiAgICAgdm9pZCByZXNvbHZlUmVnaXN0cmF0aW9uSm9iKGNvbnN0IFNl
cnZpY2VXb3JrZXJKb2JEYXRhJiwgY29uc3QgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGEm
LCBTaG91bGROb3RpZnlXaGVuUmVzb2x2ZWQpOwogICAgIHZvaWQgcmVzb2x2ZVVucmVnaXN0cmF0
aW9uSm9iKGNvbnN0IFNlcnZpY2VXb3JrZXJKb2JEYXRhJiwgY29uc3QgU2VydmljZVdvcmtlclJl
Z2lzdHJhdGlvbktleSYsIGJvb2wgdW5yZWdpc3RyYXRpb25SZXN1bHQpOwpAQCAtMTc3LDYgKzE3
OCw4IEBAIHB1YmxpYzoKIAogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgZ2V0T3JpZ2luc1dpdGhS
ZWdpc3RyYXRpb25zKFdURjo6RnVuY3Rpb248dm9pZChjb25zdCBIYXNoU2V0PFNlY3VyaXR5T3Jp
Z2luRGF0YT4mKT4pOwogCisgICAgUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklEKCkgY29uc3QgeyBy
ZXR1cm4gbV9zZXNzaW9uSUQ7IH0KKwogcHJpdmF0ZToKICAgICB2b2lkIHJlZ2lzdGVyQ29ubmVj
dGlvbihDb25uZWN0aW9uJik7CiAgICAgdm9pZCB1bnJlZ2lzdGVyQ29ubmVjdGlvbihDb25uZWN0
aW9uJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2VQcm9jZXNzL1NlcnZpY2VX
b3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQvU3RvcmFnZVBy
b2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24uY3BwCmluZGV4IGFkMDhm
MWQ0M2I0OTc3NGQ1NGRjZWQzZWU0Y2Y2ZDcxNzcyMzFiZTcuLmZjOGI1NzExNzFkZmZkNTcyYzFm
OGFlYmQ1OTZkNzA4M2Q3ODEyZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU3RvcmFnZVBy
b2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvU3RvcmFnZVByb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rp
b24uY3BwCkBAIC0xNDksNiArMTQ5LDkgQEAgdm9pZCBXZWJTV1NlcnZlckNvbm5lY3Rpb246OnN0
YXJ0RmV0Y2godWludDY0X3QgZmV0Y2hJZGVudGlmaWVyLCBTZXJ2aWNlV29ya2VyUmUKICAgICAg
ICAgICAgIHJldHVybjsKICAgICAgICAgfQogCisgICAgICAgIGlmICghU3RvcmFnZVByb2Nlc3M6
OnNpbmdsZXRvbigpLmdsb2JhbFNlcnZlclRvQ29udGV4dENvbm5lY3Rpb24oKSkKKyAgICAgICAg
ICAgIFN0b3JhZ2VQcm9jZXNzOjpzaW5nbGV0b24oKS5jcmVhdGVTZXJ2ZXJUb0NvbnRleHRDb25u
ZWN0aW9uKHNlcnZlcigpLnNlc3Npb25JRCgpKTsKKwogICAgICAgICBzZXJ2ZXIoKS5ydW5TZXJ2
aWNlV29ya2VySWZOZWNlc3Nhcnkoc2VydmljZVdvcmtlcklkZW50aWZpZXIsIFt3ZWFrVGhpcyA9
IFdURk1vdmUod2Vha1RoaXMpLCB0aGlzLCBmZXRjaElkZW50aWZpZXIsIHNlcnZpY2VXb3JrZXJJ
ZGVudGlmaWVyLCByZXF1ZXN0ID0gV1RGTW92ZShyZXF1ZXN0KSwgb3B0aW9ucyA9IFdURk1vdmUo
b3B0aW9ucyksIGZvcm1EYXRhID0gV1RGTW92ZShmb3JtRGF0YSksIHJlZmVycmVyID0gV1RGTW92
ZShyZWZlcnJlcildKGJvb2wgc3VjY2VzcywgYXV0byYgY29udGV4dENvbm5lY3Rpb24pIHsKICAg
ICAgICAgICAgIGlmICghd2Vha1RoaXMpCiAgICAgICAgICAgICAgICAgcmV0dXJuOwpAQCAtMTg5
LDYgKzE5Miw5IEBAIHZvaWQgV2ViU1dTZXJ2ZXJDb25uZWN0aW9uOjpwb3N0TWVzc2FnZVRvU2Vy
dmljZVdvcmtlcihTZXJ2aWNlV29ya2VySWRlbnRpZmllciBkCiAgICAgaWYgKCFzb3VyY2VEYXRh
KQogICAgICAgICByZXR1cm47CiAKKyAgICBpZiAoIVN0b3JhZ2VQcm9jZXNzOjpzaW5nbGV0b24o
KS5nbG9iYWxTZXJ2ZXJUb0NvbnRleHRDb25uZWN0aW9uKCkpCisgICAgICAgIFN0b3JhZ2VQcm9j
ZXNzOjpzaW5nbGV0b24oKS5jcmVhdGVTZXJ2ZXJUb0NvbnRleHRDb25uZWN0aW9uKHNlcnZlcigp
LnNlc3Npb25JRCgpKTsKKwogICAgIC8vIEl0J3MgcG9zc2libGUgdGhpcyBzcGVjaWZpYyB3b3Jr
ZXIgY2Fubm90IGJlIHJlLXJ1biAoZS5nLiBpdHMgcmVnaXN0cmF0aW9uIGhhcyBiZWVuIHJlbW92
ZWQpCiAgICAgc2VydmVyKCkucnVuU2VydmljZVdvcmtlcklmTmVjZXNzYXJ5KGRlc3RpbmF0aW9u
SWRlbnRpZmllciwgW2Rlc3RpbmF0aW9uSWRlbnRpZmllciwgbWVzc2FnZSA9IFdURk1vdmUobWVz
c2FnZSksIHNvdXJjZURhdGEgPSBXVEZNb3ZlKCpzb3VyY2VEYXRhKV0oYm9vbCBzdWNjZXNzLCBh
dXRvJiBjb250ZXh0Q29ubmVjdGlvbikgbXV0YWJsZSB7CiAgICAgICAgIGlmIChzdWNjZXNzKQpA
QCAtMTk2LDYgKzIwMiwxOCBAQCB2b2lkIFdlYlNXU2VydmVyQ29ubmVjdGlvbjo6cG9zdE1lc3Nh
Z2VUb1NlcnZpY2VXb3JrZXIoU2VydmljZVdvcmtlcklkZW50aWZpZXIgZAogICAgIH0pOwogfQog
Cit2b2lkIFdlYlNXU2VydmVyQ29ubmVjdGlvbjo6c2NoZWR1bGVKb2JJblNlcnZlcihTZXJ2aWNl
V29ya2VySm9iRGF0YSYmIGpvYkRhdGEpCit7CisgICAgU1dTRVJWRVJDT05ORUNUSU9OX1JFTEVB
U0VfTE9HX0lGX0FMTE9XRUQoIlNjaGVkdWxpbmcgU2VydmljZVdvcmtlciBqb2IgJXMgaW4gc2Vy
dmVyIiwgam9iRGF0YS5pZGVudGlmaWVyKCkubG9nZ2luZ1N0cmluZygpLnV0ZjgoKS5kYXRhKCkp
OworICAgIEFTU0VSVChpZGVudGlmaWVyKCkgPT0gam9iRGF0YS5jb25uZWN0aW9uSWRlbnRpZmll
cigpKTsKKworICAgIGlmICghU3RvcmFnZVByb2Nlc3M6OnNpbmdsZXRvbigpLmdsb2JhbFNlcnZl
clRvQ29udGV4dENvbm5lY3Rpb24oKSkKKyAgICAgICAgU3RvcmFnZVByb2Nlc3M6OnNpbmdsZXRv
bigpLmNyZWF0ZVNlcnZlclRvQ29udGV4dENvbm5lY3Rpb24oc2VydmVyKCkuc2Vzc2lvbklEKCkp
OworCisgICAgc2VydmVyKCkuc2NoZWR1bGVKb2IoV1RGTW92ZShqb2JEYXRhKSk7Cit9CisKKwog
dm9pZCBXZWJTV1NlcnZlckNvbm5lY3Rpb246OmRpZFJlY2VpdmVGZXRjaFJlc3BvbnNlKHVpbnQ2
NF90IGZldGNoSWRlbnRpZmllciwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UpCiB7
CiAgICAgbV9jb250ZW50Q29ubmVjdGlvbi0+c2VuZChNZXNzYWdlczo6U2VydmljZVdvcmtlckNs
aWVudEZldGNoOjpEaWRSZWNlaXZlUmVzcG9uc2UgeyByZXNwb25zZSB9LCBmZXRjaElkZW50aWZp
ZXIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TdG9yYWdlUHJvY2Vzcy9TZXJ2aWNlV29y
a2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5oIGIvU291cmNlL1dlYktpdC9TdG9yYWdlUHJvY2Vz
cy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5oCmluZGV4IDA2OGNiODBhZDY1
NjE5MDU0Y2U4YzBiYTJjYzk2MmUyNDBhNTA2NTIuLmJlY2Q5MGZmNDExMDVkZTM5ZjJhYjMxZDRl
NDIyODcwZTkzMTFjNzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU3RvcmFnZVByb2Nlc3Mv
U2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0
L1N0b3JhZ2VQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmgKQEAg
LTg0LDYgKzg0LDggQEAgcHJpdmF0ZToKICAgICB2b2lkIG5vdGlmeUNsaWVudHNPZkNvbnRyb2xs
ZXJDaGFuZ2UoY29uc3QgSGFzaFNldDxXZWJDb3JlOjpEb2N1bWVudElkZW50aWZpZXI+JiBjb250
ZXh0SWRlbnRpZmllcnMsIGNvbnN0IFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJEYXRhJiBuZXdDb250
cm9sbGVyKTsKICAgICB2b2lkIHJlZ2lzdHJhdGlvblJlYWR5KHVpbnQ2NF90IHJlZ2lzdHJhdGlv
blJlYWR5UmVxdWVzdElkZW50aWZpZXIsIFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRp
b25EYXRhJiYpIGZpbmFsOwogCisgICAgdm9pZCBzY2hlZHVsZUpvYkluU2VydmVyKFdlYkNvcmU6
OlNlcnZpY2VXb3JrZXJKb2JEYXRhJiYpOworCiAgICAgdm9pZCBzdGFydEZldGNoKHVpbnQ2NF90
IGZldGNoSWRlbnRpZmllciwgV2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50
aWZpZXIsIFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYmLCBXZWJDb3JlOjpGZXRjaE9wdGlvbnMm
JiwgSVBDOjpGb3JtRGF0YVJlZmVyZW5jZSYmLCBTdHJpbmcmJiByZWZlcnJlcik7CiAKICAgICB2
b2lkIHBvc3RNZXNzYWdlVG9TZXJ2aWNlV29ya2VyKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJJZGVu
dGlmaWVyIGRlc3RpbmF0aW9uLCBXZWJDb3JlOjpNZXNzYWdlV2l0aE1lc3NhZ2VQb3J0cyYmLCBj
b25zdCBXZWJDb3JlOjpTZXJ2aWNlV29ya2VyT3JDbGllbnRJZGVudGlmaWVyJiBzb3VyY2UpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TdG9yYWdlUHJvY2Vzcy9TdG9yYWdlVG9XZWJQcm9j
ZXNzQ29ubmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2VQcm9jZXNzL1N0b3JhZ2VU
b1dlYlByb2Nlc3NDb25uZWN0aW9uLmNwcAppbmRleCA0NjcwODI4NmI5MDUzMmYzMWMxYjY1M2U3
YTY3OTQ4ZjAxNDE0M2U3Li41MTdlYTUzNGNlMjJhZGJkZDdhZGMxMmFjZWQ5NTY0MGQ0NDM3YTU0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2VQcm9jZXNzL1N0b3JhZ2VUb1dlYlBy
b2Nlc3NDb25uZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2VQcm9jZXNzL1N0
b3JhZ2VUb1dlYlByb2Nlc3NDb25uZWN0aW9uLmNwcApAQCAtMTY5LDkgKzE2OSw2IEBAIHZvaWQg
U3RvcmFnZVRvV2ViUHJvY2Vzc0Nvbm5lY3Rpb246OmVzdGFibGlzaFNXU2VydmVyQ29ubmVjdGlv
bihTZXNzaW9uSUQgc2Vzc2lvCiAKICAgICBhdXRvIGFkZFJlc3VsdCA9IG1fc3dDb25uZWN0aW9u
cy5hZGQoc2VydmVyQ29ubmVjdGlvbklkZW50aWZpZXIsIFdURk1vdmUoY29ubmVjdGlvbikpOwog
ICAgIEFTU0VSVF9VTlVTRUQoYWRkUmVzdWx0LCBhZGRSZXN1bHQuaXNOZXdFbnRyeSk7Ci0KLSAg
ICBpZiAoIVN0b3JhZ2VQcm9jZXNzOjpzaW5nbGV0b24oKS5nbG9iYWxTZXJ2ZXJUb0NvbnRleHRD
b25uZWN0aW9uKCkpCi0gICAgICAgIFN0b3JhZ2VQcm9jZXNzOjpzaW5nbGV0b24oKS5jcmVhdGVT
ZXJ2ZXJUb0NvbnRleHRDb25uZWN0aW9uKHNlc3Npb25JRCk7CiB9CiAKIHZvaWQgU3RvcmFnZVRv
V2ViUHJvY2Vzc0Nvbm5lY3Rpb246OnJlbW92ZVNXU2VydmVyQ29ubmVjdGlvbihXZWJDb3JlOjpT
V1NlcnZlcjo6Q29ubmVjdGlvbjo6SWRlbnRpZmllciBzZXJ2ZXJDb25uZWN0aW9uSWRlbnRpZmll
cikKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA3
NGM4MjBlYTgyNjI4ZDk5Y2NmNzkzZTM2ZDc0YmZkN2U0YjQ3ZTY5Li5lYjJlYzgzOTMyOGMzNTFi
OWM2MWQ0ZDFmZDQ0ZmZlMDAyYjEyNzA1IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysr
IGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTgtMDEtMzEgIFlvdWVubiBG
YWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIERlbGF5IHNlcnZpY2Ugd29ya2Vy
IHByb2Nlc3MgY3JlYXRpb24gdW50aWwgYWN0dWFsbHkgbmVlZGVkIGJ5IFNXU2VydmVyCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODIzMDEKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFRlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViS2l0Q29jb2EvU2VydmljZVdvcmtlckJhc2ljLm1tOgorICAgICAgICAoZnVu
Y3Rpb24pOgorCiAyMDE4LTAxLTMxICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlh
LmNvbT4KIAogICAgICAgICBbSkhCdWlsZF0gQWRkIGdzdHJlYW1lci12YWFwaSBpbiBtb2R1bGVz
ZXQKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvU2Vy
dmljZVdvcmtlckJhc2ljLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2Nv
YS9TZXJ2aWNlV29ya2VyQmFzaWMubW0KaW5kZXggM2NiYWQyYjcxYzUyZWVhYWU4ZjUxZDhlZmIz
YWI2N2Y5NTQwNjU5NC4uMjhlOWU5OTJmYjFjNTBkMmFjODhlOWJhMWU5NzhlNzExODAxZTJkOSAx
MDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9TZXJ2aWNl
V29ya2VyQmFzaWMubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2Nv
YS9TZXJ2aWNlV29ya2VyQmFzaWMubW0KQEAgLTczMSw2ICs3MzEsMTEzIEBAIFRFU1QoU2Vydmlj
ZVdvcmtlcnMsIFN0b3JhZ2VQcm9jZXNzQ29ubmVjdGlvbkNyZWF0aW9uKQogICAgIEVYUEVDVF9F
USgwLCB3ZWJWaWV3LmdldCgpLmNvbmZpZ3VyYXRpb24ucHJvY2Vzc1Bvb2wuX3N0b3JhZ2VQcm9j
ZXNzSWRlbnRpZmllcik7CiB9CiAKK3N0YXRpYyBjb25zdCBjaGFyKiBtYWluQnl0ZXNXaXRoU2Nv
cGUgPSBSIlNXUkVTT1VSQ0UoCis8c2NyaXB0PgorCitmdW5jdGlvbiBsb2cobXNnKQoreworICAg
IHdpbmRvdy53ZWJraXQubWVzc2FnZUhhbmRsZXJzLnN3LnBvc3RNZXNzYWdlKG1zZyk7Cit9CisK
K25hdmlnYXRvci5zZXJ2aWNlV29ya2VyLmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLCBmdW5j
dGlvbihldmVudCkgeworICAgIGxvZygiTWVzc2FnZSBmcm9tIHdvcmtlcjogIiArIGV2ZW50LmRh
dGEpOworfSk7CisKK3RyeSB7CisKK25hdmlnYXRvci5zZXJ2aWNlV29ya2VyLnJlZ2lzdGVyKCcv
c3cuanMnLCB7c2NvcGU6ICd3aGF0ZXZlcnNjb3BlJ30pLnRoZW4oZnVuY3Rpb24ocmVnKSB7Cisg
ICAgcmVnLmluc3RhbGxpbmcucG9zdE1lc3NhZ2UoIkhlbGxvIGZyb20gdGhlIHdlYiBwYWdlIik7
Cit9KS5jYXRjaChmdW5jdGlvbihlcnJvcikgeworICAgIGxvZygiUmVnaXN0cmF0aW9uIGZhaWxl
ZCB3aXRoOiAiICsgZXJyb3IpOworfSk7Cit9IGNhdGNoKGUpIHsKKyAgICBsb2coIkV4Y2VwdGlv
bjogIiArIGUpOworfQorCis8L3NjcmlwdD4KKylTV1JFU09VUkNFIjsKKworVEVTVChTZXJ2aWNl
V29ya2VycywgU2VydmljZVdvcmtlclByb2Nlc3NDcmVhdGlvbikKK3sKKyAgICBbV0tXZWJzaXRl
RGF0YVN0b3JlIF9hbGxvd1dlYnNpdGVEYXRhUmVjb3Jkc0ZvckFsbE9yaWdpbnNdOworCisgICAg
UmV0YWluUHRyPFdLV2ViVmlld0NvbmZpZ3VyYXRpb24+IGNvbmZpZ3VyYXRpb24gPSBhZG9wdE5T
KFtbV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBhbGxvY10gaW5pdF0pOworICAgIHNldENvbmZpZ3Vy
YXRpb25JbmplY3RlZEJ1bmRsZVBhdGgoY29uZmlndXJhdGlvbi5nZXQoKSk7CisKKyAgICBkb25l
ID0gZmFsc2U7CisKKyAgICBbW2NvbmZpZ3VyYXRpb24gd2Vic2l0ZURhdGFTdG9yZV0gcmVtb3Zl
RGF0YU9mVHlwZXM6W1dLV2Vic2l0ZURhdGFTdG9yZSBhbGxXZWJzaXRlRGF0YVR5cGVzXSBtb2Rp
ZmllZFNpbmNlOltOU0RhdGUgZGlzdGFudFBhc3RdIGNvbXBsZXRpb25IYW5kbGVyOl4oKSB7Cisg
ICAgICAgIGRvbmUgPSB0cnVlOworICAgIH1dOworICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1
bigmZG9uZSk7CisgICAgZG9uZSA9IGZhbHNlOworCisgICAgW1tjb25maWd1cmF0aW9uIHdlYnNp
dGVEYXRhU3RvcmVdIGZldGNoRGF0YVJlY29yZHNPZlR5cGVzOltOU1NldCBzZXRXaXRoT2JqZWN0
OldLV2Vic2l0ZURhdGFUeXBlU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbnNdIGNvbXBsZXRpb25I
YW5kbGVyOl4oTlNBcnJheTxXS1dlYnNpdGVEYXRhUmVjb3JkICo+ICp3ZWJzaXRlRGF0YVJlY29y
ZHMpIHsKKworICAgICAgICBkb25lID0gdHJ1ZTsKKyAgICB9XTsKKyAgICBUZXN0V2ViS2l0QVBJ
OjpVdGlsOjpydW4oJmRvbmUpOworICAgIGRvbmUgPSBmYWxzZTsKKworICAgIFJldGFpblB0cjxT
V01lc3NhZ2VIYW5kbGVyPiBtZXNzYWdlSGFuZGxlciA9IGFkb3B0TlMoW1tTV01lc3NhZ2VIYW5k
bGVyIGFsbG9jXSBpbml0XSk7CisgICAgW1tjb25maWd1cmF0aW9uIHVzZXJDb250ZW50Q29udHJv
bGxlcl0gYWRkU2NyaXB0TWVzc2FnZUhhbmRsZXI6bWVzc2FnZUhhbmRsZXIuZ2V0KCkgbmFtZTpA
InN3Il07CisgICAgUmV0YWluUHRyPFJlZ3VsYXJQYWdlTWVzc2FnZUhhbmRsZXI+IHJlZ3VsYXJQ
YWdlTWVzc2FnZUhhbmRsZXIgPSBhZG9wdE5TKFtbUmVndWxhclBhZ2VNZXNzYWdlSGFuZGxlciBh
bGxvY10gaW5pdF0pOworICAgIFtbY29uZmlndXJhdGlvbiB1c2VyQ29udGVudENvbnRyb2xsZXJd
IGFkZFNjcmlwdE1lc3NhZ2VIYW5kbGVyOnJlZ3VsYXJQYWdlTWVzc2FnZUhhbmRsZXIuZ2V0KCkg
bmFtZTpAInJlZ3VsYXJQYWdlIl07CisKKyAgICBSZXRhaW5QdHI8U1dTY2hlbWVzPiBoYW5kbGVy
ID0gYWRvcHROUyhbW1NXU2NoZW1lcyBhbGxvY10gaW5pdF0pOworICAgIGhhbmRsZXItPnJlc291
cmNlcy5zZXQoInN3Oi8vaG9zdC9yZWd1bGFyUGFnZVdpdGhvdXRDb25uZWN0aW9uLmh0bWwiLCBS
ZXNvdXJjZUluZm8geyBAInRleHQvaHRtbCIsIHJlZ3VsYXJQYWdlV2l0aG91dENvbm5lY3Rpb25C
eXRlcyB9KTsKKyAgICBoYW5kbGVyLT5yZXNvdXJjZXMuc2V0KCJzdzovL2hvc3QvcmVndWxhclBh
Z2VXaXRoQ29ubmVjdGlvbi5odG1sIiwgUmVzb3VyY2VJbmZvIHsgQCJ0ZXh0L2h0bWwiLCByZWd1
bGFyUGFnZVdpdGhDb25uZWN0aW9uQnl0ZXMgfSk7CisgICAgaGFuZGxlci0+cmVzb3VyY2VzLnNl
dCgic3c6Ly9ob3N0L21haW5XaXRoU2NvcGUuaHRtbCIsIFJlc291cmNlSW5mbyB7IEAidGV4dC9o
dG1sIiwgbWFpbkJ5dGVzV2l0aFNjb3BlIH0pOworICAgIGhhbmRsZXItPnJlc291cmNlcy5zZXQo
InN3Oi8vaG9zdC9tYWluLmh0bWwiLCBSZXNvdXJjZUluZm8geyBAInRleHQvaHRtbCIsIG1haW5C
eXRlcyB9KTsKKyAgICBoYW5kbGVyLT5yZXNvdXJjZXMuc2V0KCJzdzovL2hvc3Qvc3cuanMiLCBS
ZXNvdXJjZUluZm8geyBAImFwcGxpY2F0aW9uL2phdmFzY3JpcHQiLCBzY3JpcHRCeXRlcyB9KTsK
KyAgICBbY29uZmlndXJhdGlvbiBzZXRVUkxTY2hlbWVIYW5kbGVyOmhhbmRsZXIuZ2V0KCkgZm9y
VVJMU2NoZW1lOkAiU1ciXTsKKworICAgIFJldGFpblB0cjxXS1dlYlZpZXc+IHdlYlZpZXcgPSBh
ZG9wdE5TKFtbV0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOk5TTWFrZVJlY3QoMCwgMCwg
ODAwLCA2MDApIGNvbmZpZ3VyYXRpb246Y29uZmlndXJhdGlvbi5nZXQoKV0pOworCisgICAgLy8g
TG9hZCBhIHBhZ2UgdGhhdCByZWdpc3RlcnMgYSBzZXJ2aWNlIHdvcmtlci4KKyAgICBOU1VSTFJl
cXVlc3QgKnJlcXVlc3QgPSBbTlNVUkxSZXF1ZXN0IHJlcXVlc3RXaXRoVVJMOltOU1VSTCBVUkxX
aXRoU3RyaW5nOkAic3c6Ly9ob3N0L21haW5XaXRoU2NvcGUuaHRtbCJdXTsKKworICAgIFt3ZWJW
aWV3IGxvYWRSZXF1ZXN0OnJlcXVlc3RdOworICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigm
ZG9uZSk7CisgICAgZG9uZSA9IGZhbHNlOworICAgIHdlYlZpZXcgPSBudWxscHRyOworCisgICAg
Ly8gTm93IHRoYXQgYSBzdyBpcyByZWdpc3RlcmVkLCBsZXQncyBjcmVhdGUgYSBuZXcgY29uZmln
dXJhdGlvbiBhbmQgdHJ5IGxvYWRpbmcgYSByZWd1bGFyIHBhZ2UsIHRoZXJlIHNob3VsZCBiZSBu
byBzZXJ2aWNlIHdvcmtlciBwcm9jZXNzIGNyZWF0ZWQuCisgICAgUmV0YWluUHRyPFdLV2ViVmll
d0NvbmZpZ3VyYXRpb24+IG5ld0NvbmZpZ3VyYXRpb24gPSBhZG9wdE5TKFtbV0tXZWJWaWV3Q29u
ZmlndXJhdGlvbiBhbGxvY10gaW5pdF0pOworICAgIHNldENvbmZpZ3VyYXRpb25JbmplY3RlZEJ1
bmRsZVBhdGgobmV3Q29uZmlndXJhdGlvbi5nZXQoKSk7CisgICAgbmV3Q29uZmlndXJhdGlvbi5n
ZXQoKS53ZWJzaXRlRGF0YVN0b3JlID0gW2NvbmZpZ3VyYXRpb24gd2Vic2l0ZURhdGFTdG9yZV07
CisKKyAgICBbW25ld0NvbmZpZ3VyYXRpb24gdXNlckNvbnRlbnRDb250cm9sbGVyXSBhZGRTY3Jp
cHRNZXNzYWdlSGFuZGxlcjptZXNzYWdlSGFuZGxlci5nZXQoKSBuYW1lOkAic3ciXTsKKyAgICBb
W25ld0NvbmZpZ3VyYXRpb24gdXNlckNvbnRlbnRDb250cm9sbGVyXSBhZGRTY3JpcHRNZXNzYWdl
SGFuZGxlcjpyZWd1bGFyUGFnZU1lc3NhZ2VIYW5kbGVyLmdldCgpIG5hbWU6QCJyZWd1bGFyUGFn
ZSJdOworICAgIFtuZXdDb25maWd1cmF0aW9uIHNldFVSTFNjaGVtZUhhbmRsZXI6aGFuZGxlci5n
ZXQoKSBmb3JVUkxTY2hlbWU6QCJTVyJdOworCisgICAgd2ViVmlldyA9IGFkb3B0TlMoW1tXS1dl
YlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6TlNNYWtlUmVjdCgwLCAwLCA4MDAsIDYwMCkgY29u
ZmlndXJhdGlvbjpuZXdDb25maWd1cmF0aW9uLmdldCgpXSk7CisgICAgRVhQRUNUX0VRKDF1LCB3
ZWJWaWV3LmdldCgpLmNvbmZpZ3VyYXRpb24ucHJvY2Vzc1Bvb2wuX3dlYlByb2Nlc3NDb3VudCk7
CisgICAgcmVxdWVzdCA9IFtOU1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhVUkw6W05TVVJMIFVSTFdp
dGhTdHJpbmc6QCJzdzovL2hvc3QvcmVndWxhclBhZ2VXaXRoQ29ubmVjdGlvbi5odG1sIl1dOwor
ICAgIFt3ZWJWaWV3IGxvYWRSZXF1ZXN0OnJlcXVlc3RdOworICAgIFRlc3RXZWJLaXRBUEk6OlV0
aWw6OnJ1bigmZG9uZSk7CisgICAgZG9uZSA9IGZhbHNlOworCisgICAgLy8gTWFrZSBzdXJlIHRo
YXQgbG9hZGluZyB0aGUgc2ltcGxlIHBhZ2UgZGlkIG5vdCBzdGFydCB0aGUgc2VydmljZSB3b3Jr
ZXIgcHJvY2Vzcy4KKyAgICBFWFBFQ1RfRVEoMXUsIHdlYlZpZXcuZ2V0KCkuY29uZmlndXJhdGlv
bi5wcm9jZXNzUG9vbC5fd2ViUHJvY2Vzc0NvdW50KTsKKworICAgIHdlYlZpZXcgPSBhZG9wdE5T
KFtbV0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOk5TTWFrZVJlY3QoMCwgMCwgODAwLCA2
MDApIGNvbmZpZ3VyYXRpb246bmV3Q29uZmlndXJhdGlvbi5nZXQoKV0pOworICAgIEVYUEVDVF9F
USgydSwgd2ViVmlldy5nZXQoKS5jb25maWd1cmF0aW9uLnByb2Nlc3NQb29sLl93ZWJQcm9jZXNz
Q291bnQpOworICAgIHJlcXVlc3QgPSBbTlNVUkxSZXF1ZXN0IHJlcXVlc3RXaXRoVVJMOltOU1VS
TCBVUkxXaXRoU3RyaW5nOkAic3c6Ly9ob3N0L21haW4uaHRtbCJdXTsKKyAgICBbd2ViVmlldyBs
b2FkUmVxdWVzdDpyZXF1ZXN0XTsKKyAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRvbmUp
OworICAgIGRvbmUgPSBmYWxzZTsKKworICAgIC8vIE1ha2Ugc3VyZSB0aGF0IGxvYWRpbmcgdGhp
cyBwYWdlIGRpZCBzdGFydCB0aGUgc2VydmljZSB3b3JrZXIgcHJvY2Vzcy4KKyAgICBFWFBFQ1Rf
RVEoM3UsIHdlYlZpZXcuZ2V0KCkuY29uZmlndXJhdGlvbi5wcm9jZXNzUG9vbC5fd2ViUHJvY2Vz
c0NvdW50KTsKKworICAgIFtbY29uZmlndXJhdGlvbiB3ZWJzaXRlRGF0YVN0b3JlXSByZW1vdmVE
YXRhT2ZUeXBlczpbV0tXZWJzaXRlRGF0YVN0b3JlIGFsbFdlYnNpdGVEYXRhVHlwZXNdIG1vZGlm
aWVkU2luY2U6W05TRGF0ZSBkaXN0YW50UGFzdF0gY29tcGxldGlvbkhhbmRsZXI6XigpIHsKKyAg
ICAgICAgZG9uZSA9IHRydWU7CisgICAgfV07CisgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVu
KCZkb25lKTsKKyAgICBkb25lID0gZmFsc2U7Cit9CisKICNlbmRpZiAvLyBXS19IQVZFX0NfU1BJ
CiAKICNlbmRpZiAvLyBXS19BUElfRU5BQkxFRAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>332886</attachid>
            <date>2018-02-01 10:26:08 -0800</date>
            <delta_ts>2018-02-01 11:01:10 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-182301-20180201102607.patch</filename>
            <type>text/plain</type>
            <size>11454</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI3OTQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmQwMDZlNGRmNWZhOGIy
MTcyMWZkNTAzZmEwY2ZmN2E1NWUwMjBkMS4uMDU0ZWQxYjI1MGE1ZWMzZjBkOGI4NzAzZjk2MmVk
ZDA3ODg1ZDgxOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE4LTAyLTAxICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBEZWxheSBzZXJ2aWNlIHdv
cmtlciBwcm9jZXNzIGNyZWF0aW9uIHVudGlsIGFjdHVhbGx5IG5lZWRlZCBieSBTV1NlcnZlcgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgyMzAxCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3b3JrZXJz
L3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmg6CisgICAgICAgIChXZWJDb3JlOjpTV1NlcnZlcjo6
c2Vzc2lvbklEIGNvbnN0KToKKwogMjAxOC0wMS0zMSAgU2FpZCBBYm91LUhhbGxhd2EgIDxzYWJv
dWhhbGxhd2FAYXBwbGUuY29tPgogCiAgICAgICAgIEJpdG1hcEltYWdlOjpkcmF3UGF0dGVybigp
IG1heSBub3QgZHJhdyBhIGNvbXBsZXRlIGZyYW1lIGV2ZW4gYWZ0ZXIgYWxsIHRoZSBkYXRhIGlz
IHJlY2VpdmVkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGZlYWUyZGQwNmFhNWQ2ZmQ5ZDQzZmM2M2U1YzEzYWVmYTgx
MmQyNjQuLjNmYzE4NGZhNTJhYWMzMGM4MmRkOTBjMDhlOGI0YzAzMmI3ZjFhNWIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMjIgQEAKKzIwMTgtMDItMDEgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBw
bGUuY29tPgorCisgICAgICAgIERlbGF5IHNlcnZpY2Ugd29ya2VyIHByb2Nlc3MgY3JlYXRpb24g
dW50aWwgYWN0dWFsbHkgbmVlZGVkIGJ5IFNXU2VydmVyCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODIzMDEKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBEbyBub3QgY3JlYXRlIGEgc2VydmljZSB3b3JrZXIg
cHJvY2VzcyBhdCBjcmVhdGlvbiBvZiB0aGUgZmlyc3QgU1dTZXJ2ZXJDb25uZWN0aW9uLgorICAg
ICAgICBXYWl0IGZvciBhIFdlYlByb2Nlc3MgbWVzc2FnZSB0aGF0IG5lZWRzIGl0OgorICAgICAg
ICAtIHBvc3RNZXNzYWdlIG1lc3NhZ2UKKyAgICAgICAgLSBmZXRjaEV2ZW50IG1lc3NhZ2UKKwor
ICAgICAgICAqIFN0b3JhZ2VQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0
aW9uLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViU1dTZXJ2ZXJDb25uZWN0aW9uOjpzdGFydEZl
dGNoKToKKyAgICAgICAgKFdlYktpdDo6V2ViU1dTZXJ2ZXJDb25uZWN0aW9uOjpwb3N0TWVzc2Fn
ZVRvU2VydmljZVdvcmtlcik6CisgICAgICAgICogU3RvcmFnZVByb2Nlc3MvU2VydmljZVdvcmtl
ci9XZWJTV1NlcnZlckNvbm5lY3Rpb24uaDoKKyAgICAgICAgKiBTdG9yYWdlUHJvY2Vzcy9TdG9y
YWdlVG9XZWJQcm9jZXNzQ29ubmVjdGlvbi5jcHA6CisgICAgICAgIChXZWJLaXQ6OlN0b3JhZ2VU
b1dlYlByb2Nlc3NDb25uZWN0aW9uOjplc3RhYmxpc2hTV1NlcnZlckNvbm5lY3Rpb24pOgorCiAy
MDE4LTAxLTMxICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgogCiAgICAgICAg
IEZvbGxvdy11cCB0byByMjI3OTM5LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2
aWNlL3NlcnZlci9TV1NlcnZlci5oCmluZGV4IDg2YmIzMmNmMTVlNGI1NDhlM2FkOTBjOTRjZGU5
NjY5YmU0NTFhNzAuLmMyYTViZmU1YmFjMTcwZDAxNmZmNDA3MWI4NjNkNjNlOTk1ZTA3NDcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmgK
QEAgLTE3Nyw2ICsxNzcsOCBAQCBwdWJsaWM6CiAKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGdl
dE9yaWdpbnNXaXRoUmVnaXN0cmF0aW9ucyhXVEY6OkZ1bmN0aW9uPHZvaWQoY29uc3QgSGFzaFNl
dDxTZWN1cml0eU9yaWdpbkRhdGE+Jik+KTsKIAorICAgIFBBTDo6U2Vzc2lvbklEIHNlc3Npb25J
RCgpIGNvbnN0IHsgcmV0dXJuIG1fc2Vzc2lvbklEOyB9CisKIHByaXZhdGU6CiAgICAgdm9pZCBy
ZWdpc3RlckNvbm5lY3Rpb24oQ29ubmVjdGlvbiYpOwogICAgIHZvaWQgdW5yZWdpc3RlckNvbm5l
Y3Rpb24oQ29ubmVjdGlvbiYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TdG9yYWdlUHJv
Y2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L1N0b3JhZ2VQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmNw
cAppbmRleCBhZDA4ZjFkNDNiNDk3NzRkNTRkY2VkM2VlNGNmNmQ3MTc3MjMxYmU3Li42ODA0YzQy
ODA1NGQ2YTcwOGIyZDJjYmNhYTg1OWQwMjM2NTY4NmI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1N0b3JhZ2VQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2VQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dT
ZXJ2ZXJDb25uZWN0aW9uLmNwcApAQCAtMTQ5LDYgKzE0OSw5IEBAIHZvaWQgV2ViU1dTZXJ2ZXJD
b25uZWN0aW9uOjpzdGFydEZldGNoKHVpbnQ2NF90IGZldGNoSWRlbnRpZmllciwgU2VydmljZVdv
cmtlclJlCiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIAorICAgICAgICBpZiAoIVN0
b3JhZ2VQcm9jZXNzOjpzaW5nbGV0b24oKS5nbG9iYWxTZXJ2ZXJUb0NvbnRleHRDb25uZWN0aW9u
KCkpCisgICAgICAgICAgICBTdG9yYWdlUHJvY2Vzczo6c2luZ2xldG9uKCkuY3JlYXRlU2VydmVy
VG9Db250ZXh0Q29ubmVjdGlvbihzZXJ2ZXIoKS5zZXNzaW9uSUQoKSk7CisKICAgICAgICAgc2Vy
dmVyKCkucnVuU2VydmljZVdvcmtlcklmTmVjZXNzYXJ5KHNlcnZpY2VXb3JrZXJJZGVudGlmaWVy
LCBbd2Vha1RoaXMgPSBXVEZNb3ZlKHdlYWtUaGlzKSwgdGhpcywgZmV0Y2hJZGVudGlmaWVyLCBz
ZXJ2aWNlV29ya2VySWRlbnRpZmllciwgcmVxdWVzdCA9IFdURk1vdmUocmVxdWVzdCksIG9wdGlv
bnMgPSBXVEZNb3ZlKG9wdGlvbnMpLCBmb3JtRGF0YSA9IFdURk1vdmUoZm9ybURhdGEpLCByZWZl
cnJlciA9IFdURk1vdmUocmVmZXJyZXIpXShib29sIHN1Y2Nlc3MsIGF1dG8mIGNvbnRleHRDb25u
ZWN0aW9uKSB7CiAgICAgICAgICAgICBpZiAoIXdlYWtUaGlzKQogICAgICAgICAgICAgICAgIHJl
dHVybjsKQEAgLTE4OSw2ICsxOTIsOSBAQCB2b2lkIFdlYlNXU2VydmVyQ29ubmVjdGlvbjo6cG9z
dE1lc3NhZ2VUb1NlcnZpY2VXb3JrZXIoU2VydmljZVdvcmtlcklkZW50aWZpZXIgZAogICAgIGlm
ICghc291cmNlRGF0YSkKICAgICAgICAgcmV0dXJuOwogCisgICAgaWYgKCFTdG9yYWdlUHJvY2Vz
czo6c2luZ2xldG9uKCkuZ2xvYmFsU2VydmVyVG9Db250ZXh0Q29ubmVjdGlvbigpKQorICAgICAg
ICBTdG9yYWdlUHJvY2Vzczo6c2luZ2xldG9uKCkuY3JlYXRlU2VydmVyVG9Db250ZXh0Q29ubmVj
dGlvbihzZXJ2ZXIoKS5zZXNzaW9uSUQoKSk7CisKICAgICAvLyBJdCdzIHBvc3NpYmxlIHRoaXMg
c3BlY2lmaWMgd29ya2VyIGNhbm5vdCBiZSByZS1ydW4gKGUuZy4gaXRzIHJlZ2lzdHJhdGlvbiBo
YXMgYmVlbiByZW1vdmVkKQogICAgIHNlcnZlcigpLnJ1blNlcnZpY2VXb3JrZXJJZk5lY2Vzc2Fy
eShkZXN0aW5hdGlvbklkZW50aWZpZXIsIFtkZXN0aW5hdGlvbklkZW50aWZpZXIsIG1lc3NhZ2Ug
PSBXVEZNb3ZlKG1lc3NhZ2UpLCBzb3VyY2VEYXRhID0gV1RGTW92ZSgqc291cmNlRGF0YSldKGJv
b2wgc3VjY2VzcywgYXV0byYgY29udGV4dENvbm5lY3Rpb24pIG11dGFibGUgewogICAgICAgICBp
ZiAoc3VjY2VzcykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU3RvcmFnZVByb2Nlc3MvU3Rv
cmFnZVRvV2ViUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwIGIvU291cmNlL1dlYktpdC9TdG9yYWdlUHJv
Y2Vzcy9TdG9yYWdlVG9XZWJQcm9jZXNzQ29ubmVjdGlvbi5jcHAKaW5kZXggODI1YTI1ZmJmZDM2
ODgwMjM0NDBhOGIzZjc1MjM3ZTA3NWZmYTE3Ni4uZTYwODU0MGRiODI3OGYwYjRjOWZhNDQyNWNm
OTU4OTY1ZTA5NDk1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TdG9yYWdlUHJvY2Vzcy9T
dG9yYWdlVG9XZWJQcm9jZXNzQ29ubmVjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9TdG9y
YWdlUHJvY2Vzcy9TdG9yYWdlVG9XZWJQcm9jZXNzQ29ubmVjdGlvbi5jcHAKQEAgLTE2OSw5ICsx
NjksNiBAQCB2b2lkIFN0b3JhZ2VUb1dlYlByb2Nlc3NDb25uZWN0aW9uOjplc3RhYmxpc2hTV1Nl
cnZlckNvbm5lY3Rpb24oU2Vzc2lvbklEIHNlc3NpbwogCiAgICAgYXV0byBhZGRSZXN1bHQgPSBt
X3N3Q29ubmVjdGlvbnMuYWRkKHNlcnZlckNvbm5lY3Rpb25JZGVudGlmaWVyLCBXVEZNb3ZlKGNv
bm5lY3Rpb24pKTsKICAgICBBU1NFUlRfVU5VU0VEKGFkZFJlc3VsdCwgYWRkUmVzdWx0LmlzTmV3
RW50cnkpOwotCi0gICAgaWYgKCFTdG9yYWdlUHJvY2Vzczo6c2luZ2xldG9uKCkuZ2xvYmFsU2Vy
dmVyVG9Db250ZXh0Q29ubmVjdGlvbigpKQotICAgICAgICBTdG9yYWdlUHJvY2Vzczo6c2luZ2xl
dG9uKCkuY3JlYXRlU2VydmVyVG9Db250ZXh0Q29ubmVjdGlvbihzZXNzaW9uSUQpOwogfQogCiB2
b2lkIFN0b3JhZ2VUb1dlYlByb2Nlc3NDb25uZWN0aW9uOjp3b3JrZXJDb250ZXh0UHJvY2Vzc0Nv
bm5lY3Rpb25DcmVhdGVkKCkKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0No
YW5nZUxvZwppbmRleCA2NTc4ZWZkYWE4YjVmYzc0YmMzYWM5YjdjYmMxZDkxOGUwNmFmZjBiLi5h
N2NiMzNkYWJjOTMxYWI2ODRjNmM5ZjFhNGY2ZDgxYzJmMWY1MjZmIDEwMDY0NAotLS0gYS9Ub29s
cy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTgt
MDItMDEgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIERlbGF5
IHNlcnZpY2Ugd29ya2VyIHByb2Nlc3MgY3JlYXRpb24gdW50aWwgYWN0dWFsbHkgbmVlZGVkIGJ5
IFNXU2VydmVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xODIzMDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvU2VydmljZVdvcmtlckJhc2ljLm1t
OgorICAgICAgICAoZnVuY3Rpb24pOgorCiAyMDE4LTAxLTMxICBZb3Vlbm4gRmFibGV0ICA8eW91
ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBXM0MgdGVzdCBleHBvcnRlciBzaG91bGQgYWxsb3cg
ZXhwb3J0aW5nIG5ld2x5IGFkZGVkIGZpbGVzCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYktpdENvY29hL1NlcnZpY2VXb3JrZXJCYXNpYy5tbSBiL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvU2VydmljZVdvcmtlckJhc2ljLm1tCmluZGV4IDNj
YmFkMmI3MWM1MmVlYWFlOGY1MWQ4ZWZiM2FiNjdmOTU0MDY1OTQuLjI4ZTllOTkyZmIxYzUwZDJh
Yzg4ZTliYTFlOTc4ZTcxMTgwMWUyZDkgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvV2ViS2l0Q29jb2EvU2VydmljZVdvcmtlckJhc2ljLm1tCisrKyBiL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvU2VydmljZVdvcmtlckJhc2ljLm1tCkBAIC03MzEs
NiArNzMxLDExMyBAQCBURVNUKFNlcnZpY2VXb3JrZXJzLCBTdG9yYWdlUHJvY2Vzc0Nvbm5lY3Rp
b25DcmVhdGlvbikKICAgICBFWFBFQ1RfRVEoMCwgd2ViVmlldy5nZXQoKS5jb25maWd1cmF0aW9u
LnByb2Nlc3NQb29sLl9zdG9yYWdlUHJvY2Vzc0lkZW50aWZpZXIpOwogfQogCitzdGF0aWMgY29u
c3QgY2hhciogbWFpbkJ5dGVzV2l0aFNjb3BlID0gUiJTV1JFU09VUkNFKAorPHNjcmlwdD4KKwor
ZnVuY3Rpb24gbG9nKG1zZykKK3sKKyAgICB3aW5kb3cud2Via2l0Lm1lc3NhZ2VIYW5kbGVycy5z
dy5wb3N0TWVzc2FnZShtc2cpOworfQorCituYXZpZ2F0b3Iuc2VydmljZVdvcmtlci5hZGRFdmVu
dExpc3RlbmVyKCJtZXNzYWdlIiwgZnVuY3Rpb24oZXZlbnQpIHsKKyAgICBsb2coIk1lc3NhZ2Ug
ZnJvbSB3b3JrZXI6ICIgKyBldmVudC5kYXRhKTsKK30pOworCit0cnkgeworCituYXZpZ2F0b3Iu
c2VydmljZVdvcmtlci5yZWdpc3RlcignL3N3LmpzJywge3Njb3BlOiAnd2hhdGV2ZXJzY29wZSd9
KS50aGVuKGZ1bmN0aW9uKHJlZykgeworICAgIHJlZy5pbnN0YWxsaW5nLnBvc3RNZXNzYWdlKCJI
ZWxsbyBmcm9tIHRoZSB3ZWIgcGFnZSIpOworfSkuY2F0Y2goZnVuY3Rpb24oZXJyb3IpIHsKKyAg
ICBsb2coIlJlZ2lzdHJhdGlvbiBmYWlsZWQgd2l0aDogIiArIGVycm9yKTsKK30pOworfSBjYXRj
aChlKSB7CisgICAgbG9nKCJFeGNlcHRpb246ICIgKyBlKTsKK30KKworPC9zY3JpcHQ+CispU1dS
RVNPVVJDRSI7CisKK1RFU1QoU2VydmljZVdvcmtlcnMsIFNlcnZpY2VXb3JrZXJQcm9jZXNzQ3Jl
YXRpb24pCit7CisgICAgW1dLV2Vic2l0ZURhdGFTdG9yZSBfYWxsb3dXZWJzaXRlRGF0YVJlY29y
ZHNGb3JBbGxPcmlnaW5zXTsKKworICAgIFJldGFpblB0cjxXS1dlYlZpZXdDb25maWd1cmF0aW9u
PiBjb25maWd1cmF0aW9uID0gYWRvcHROUyhbW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gYWxsb2Nd
IGluaXRdKTsKKyAgICBzZXRDb25maWd1cmF0aW9uSW5qZWN0ZWRCdW5kbGVQYXRoKGNvbmZpZ3Vy
YXRpb24uZ2V0KCkpOworCisgICAgZG9uZSA9IGZhbHNlOworCisgICAgW1tjb25maWd1cmF0aW9u
IHdlYnNpdGVEYXRhU3RvcmVdIHJlbW92ZURhdGFPZlR5cGVzOltXS1dlYnNpdGVEYXRhU3RvcmUg
YWxsV2Vic2l0ZURhdGFUeXBlc10gbW9kaWZpZWRTaW5jZTpbTlNEYXRlIGRpc3RhbnRQYXN0XSBj
b21wbGV0aW9uSGFuZGxlcjpeKCkgeworICAgICAgICBkb25lID0gdHJ1ZTsKKyAgICB9XTsKKyAg
ICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRvbmUpOworICAgIGRvbmUgPSBmYWxzZTsKKwor
ICAgIFtbY29uZmlndXJhdGlvbiB3ZWJzaXRlRGF0YVN0b3JlXSBmZXRjaERhdGFSZWNvcmRzT2ZU
eXBlczpbTlNTZXQgc2V0V2l0aE9iamVjdDpXS1dlYnNpdGVEYXRhVHlwZVNlcnZpY2VXb3JrZXJS
ZWdpc3RyYXRpb25zXSBjb21wbGV0aW9uSGFuZGxlcjpeKE5TQXJyYXk8V0tXZWJzaXRlRGF0YVJl
Y29yZCAqPiAqd2Vic2l0ZURhdGFSZWNvcmRzKSB7CisKKyAgICAgICAgZG9uZSA9IHRydWU7Cisg
ICAgfV07CisgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZkb25lKTsKKyAgICBkb25lID0g
ZmFsc2U7CisKKyAgICBSZXRhaW5QdHI8U1dNZXNzYWdlSGFuZGxlcj4gbWVzc2FnZUhhbmRsZXIg
PSBhZG9wdE5TKFtbU1dNZXNzYWdlSGFuZGxlciBhbGxvY10gaW5pdF0pOworICAgIFtbY29uZmln
dXJhdGlvbiB1c2VyQ29udGVudENvbnRyb2xsZXJdIGFkZFNjcmlwdE1lc3NhZ2VIYW5kbGVyOm1l
c3NhZ2VIYW5kbGVyLmdldCgpIG5hbWU6QCJzdyJdOworICAgIFJldGFpblB0cjxSZWd1bGFyUGFn
ZU1lc3NhZ2VIYW5kbGVyPiByZWd1bGFyUGFnZU1lc3NhZ2VIYW5kbGVyID0gYWRvcHROUyhbW1Jl
Z3VsYXJQYWdlTWVzc2FnZUhhbmRsZXIgYWxsb2NdIGluaXRdKTsKKyAgICBbW2NvbmZpZ3VyYXRp
b24gdXNlckNvbnRlbnRDb250cm9sbGVyXSBhZGRTY3JpcHRNZXNzYWdlSGFuZGxlcjpyZWd1bGFy
UGFnZU1lc3NhZ2VIYW5kbGVyLmdldCgpIG5hbWU6QCJyZWd1bGFyUGFnZSJdOworCisgICAgUmV0
YWluUHRyPFNXU2NoZW1lcz4gaGFuZGxlciA9IGFkb3B0TlMoW1tTV1NjaGVtZXMgYWxsb2NdIGlu
aXRdKTsKKyAgICBoYW5kbGVyLT5yZXNvdXJjZXMuc2V0KCJzdzovL2hvc3QvcmVndWxhclBhZ2VX
aXRob3V0Q29ubmVjdGlvbi5odG1sIiwgUmVzb3VyY2VJbmZvIHsgQCJ0ZXh0L2h0bWwiLCByZWd1
bGFyUGFnZVdpdGhvdXRDb25uZWN0aW9uQnl0ZXMgfSk7CisgICAgaGFuZGxlci0+cmVzb3VyY2Vz
LnNldCgic3c6Ly9ob3N0L3JlZ3VsYXJQYWdlV2l0aENvbm5lY3Rpb24uaHRtbCIsIFJlc291cmNl
SW5mbyB7IEAidGV4dC9odG1sIiwgcmVndWxhclBhZ2VXaXRoQ29ubmVjdGlvbkJ5dGVzIH0pOwor
ICAgIGhhbmRsZXItPnJlc291cmNlcy5zZXQoInN3Oi8vaG9zdC9tYWluV2l0aFNjb3BlLmh0bWwi
LCBSZXNvdXJjZUluZm8geyBAInRleHQvaHRtbCIsIG1haW5CeXRlc1dpdGhTY29wZSB9KTsKKyAg
ICBoYW5kbGVyLT5yZXNvdXJjZXMuc2V0KCJzdzovL2hvc3QvbWFpbi5odG1sIiwgUmVzb3VyY2VJ
bmZvIHsgQCJ0ZXh0L2h0bWwiLCBtYWluQnl0ZXMgfSk7CisgICAgaGFuZGxlci0+cmVzb3VyY2Vz
LnNldCgic3c6Ly9ob3N0L3N3LmpzIiwgUmVzb3VyY2VJbmZvIHsgQCJhcHBsaWNhdGlvbi9qYXZh
c2NyaXB0Iiwgc2NyaXB0Qnl0ZXMgfSk7CisgICAgW2NvbmZpZ3VyYXRpb24gc2V0VVJMU2NoZW1l
SGFuZGxlcjpoYW5kbGVyLmdldCgpIGZvclVSTFNjaGVtZTpAIlNXIl07CisKKyAgICBSZXRhaW5Q
dHI8V0tXZWJWaWV3PiB3ZWJWaWV3ID0gYWRvcHROUyhbW1dLV2ViVmlldyBhbGxvY10gaW5pdFdp
dGhGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDgwMCwgNjAwKSBjb25maWd1cmF0aW9uOmNvbmZpZ3Vy
YXRpb24uZ2V0KCldKTsKKworICAgIC8vIExvYWQgYSBwYWdlIHRoYXQgcmVnaXN0ZXJzIGEgc2Vy
dmljZSB3b3JrZXIuCisgICAgTlNVUkxSZXF1ZXN0ICpyZXF1ZXN0ID0gW05TVVJMUmVxdWVzdCBy
ZXF1ZXN0V2l0aFVSTDpbTlNVUkwgVVJMV2l0aFN0cmluZzpAInN3Oi8vaG9zdC9tYWluV2l0aFNj
b3BlLmh0bWwiXV07CisKKyAgICBbd2ViVmlldyBsb2FkUmVxdWVzdDpyZXF1ZXN0XTsKKyAgICBU
ZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRvbmUpOworICAgIGRvbmUgPSBmYWxzZTsKKyAgICB3
ZWJWaWV3ID0gbnVsbHB0cjsKKworICAgIC8vIE5vdyB0aGF0IGEgc3cgaXMgcmVnaXN0ZXJlZCwg
bGV0J3MgY3JlYXRlIGEgbmV3IGNvbmZpZ3VyYXRpb24gYW5kIHRyeSBsb2FkaW5nIGEgcmVndWxh
ciBwYWdlLCB0aGVyZSBzaG91bGQgYmUgbm8gc2VydmljZSB3b3JrZXIgcHJvY2VzcyBjcmVhdGVk
LgorICAgIFJldGFpblB0cjxXS1dlYlZpZXdDb25maWd1cmF0aW9uPiBuZXdDb25maWd1cmF0aW9u
ID0gYWRvcHROUyhbW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gYWxsb2NdIGluaXRdKTsKKyAgICBz
ZXRDb25maWd1cmF0aW9uSW5qZWN0ZWRCdW5kbGVQYXRoKG5ld0NvbmZpZ3VyYXRpb24uZ2V0KCkp
OworICAgIG5ld0NvbmZpZ3VyYXRpb24uZ2V0KCkud2Vic2l0ZURhdGFTdG9yZSA9IFtjb25maWd1
cmF0aW9uIHdlYnNpdGVEYXRhU3RvcmVdOworCisgICAgW1tuZXdDb25maWd1cmF0aW9uIHVzZXJD
b250ZW50Q29udHJvbGxlcl0gYWRkU2NyaXB0TWVzc2FnZUhhbmRsZXI6bWVzc2FnZUhhbmRsZXIu
Z2V0KCkgbmFtZTpAInN3Il07CisgICAgW1tuZXdDb25maWd1cmF0aW9uIHVzZXJDb250ZW50Q29u
dHJvbGxlcl0gYWRkU2NyaXB0TWVzc2FnZUhhbmRsZXI6cmVndWxhclBhZ2VNZXNzYWdlSGFuZGxl
ci5nZXQoKSBuYW1lOkAicmVndWxhclBhZ2UiXTsKKyAgICBbbmV3Q29uZmlndXJhdGlvbiBzZXRV
UkxTY2hlbWVIYW5kbGVyOmhhbmRsZXIuZ2V0KCkgZm9yVVJMU2NoZW1lOkAiU1ciXTsKKworICAg
IHdlYlZpZXcgPSBhZG9wdE5TKFtbV0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOk5TTWFr
ZVJlY3QoMCwgMCwgODAwLCA2MDApIGNvbmZpZ3VyYXRpb246bmV3Q29uZmlndXJhdGlvbi5nZXQo
KV0pOworICAgIEVYUEVDVF9FUSgxdSwgd2ViVmlldy5nZXQoKS5jb25maWd1cmF0aW9uLnByb2Nl
c3NQb29sLl93ZWJQcm9jZXNzQ291bnQpOworICAgIHJlcXVlc3QgPSBbTlNVUkxSZXF1ZXN0IHJl
cXVlc3RXaXRoVVJMOltOU1VSTCBVUkxXaXRoU3RyaW5nOkAic3c6Ly9ob3N0L3JlZ3VsYXJQYWdl
V2l0aENvbm5lY3Rpb24uaHRtbCJdXTsKKyAgICBbd2ViVmlldyBsb2FkUmVxdWVzdDpyZXF1ZXN0
XTsKKyAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRvbmUpOworICAgIGRvbmUgPSBmYWxz
ZTsKKworICAgIC8vIE1ha2Ugc3VyZSB0aGF0IGxvYWRpbmcgdGhlIHNpbXBsZSBwYWdlIGRpZCBu
b3Qgc3RhcnQgdGhlIHNlcnZpY2Ugd29ya2VyIHByb2Nlc3MuCisgICAgRVhQRUNUX0VRKDF1LCB3
ZWJWaWV3LmdldCgpLmNvbmZpZ3VyYXRpb24ucHJvY2Vzc1Bvb2wuX3dlYlByb2Nlc3NDb3VudCk7
CisKKyAgICB3ZWJWaWV3ID0gYWRvcHROUyhbW1dLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFt
ZTpOU01ha2VSZWN0KDAsIDAsIDgwMCwgNjAwKSBjb25maWd1cmF0aW9uOm5ld0NvbmZpZ3VyYXRp
b24uZ2V0KCldKTsKKyAgICBFWFBFQ1RfRVEoMnUsIHdlYlZpZXcuZ2V0KCkuY29uZmlndXJhdGlv
bi5wcm9jZXNzUG9vbC5fd2ViUHJvY2Vzc0NvdW50KTsKKyAgICByZXF1ZXN0ID0gW05TVVJMUmVx
dWVzdCByZXF1ZXN0V2l0aFVSTDpbTlNVUkwgVVJMV2l0aFN0cmluZzpAInN3Oi8vaG9zdC9tYWlu
Lmh0bWwiXV07CisgICAgW3dlYlZpZXcgbG9hZFJlcXVlc3Q6cmVxdWVzdF07CisgICAgVGVzdFdl
YktpdEFQSTo6VXRpbDo6cnVuKCZkb25lKTsKKyAgICBkb25lID0gZmFsc2U7CisKKyAgICAvLyBN
YWtlIHN1cmUgdGhhdCBsb2FkaW5nIHRoaXMgcGFnZSBkaWQgc3RhcnQgdGhlIHNlcnZpY2Ugd29y
a2VyIHByb2Nlc3MuCisgICAgRVhQRUNUX0VRKDN1LCB3ZWJWaWV3LmdldCgpLmNvbmZpZ3VyYXRp
b24ucHJvY2Vzc1Bvb2wuX3dlYlByb2Nlc3NDb3VudCk7CisKKyAgICBbW2NvbmZpZ3VyYXRpb24g
d2Vic2l0ZURhdGFTdG9yZV0gcmVtb3ZlRGF0YU9mVHlwZXM6W1dLV2Vic2l0ZURhdGFTdG9yZSBh
bGxXZWJzaXRlRGF0YVR5cGVzXSBtb2RpZmllZFNpbmNlOltOU0RhdGUgZGlzdGFudFBhc3RdIGNv
bXBsZXRpb25IYW5kbGVyOl4oKSB7CisgICAgICAgIGRvbmUgPSB0cnVlOworICAgIH1dOworICAg
IFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZG9uZSk7CisgICAgZG9uZSA9IGZhbHNlOworfQor
CiAjZW5kaWYgLy8gV0tfSEFWRV9DX1NQSQogCiAjZW5kaWYgLy8gV0tfQVBJX0VOQUJMRUQK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>332901</attachid>
            <date>2018-02-01 12:11:06 -0800</date>
            <delta_ts>2018-02-01 15:01:57 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-182301-20180201121106.patch</filename>
            <type>text/plain</type>
            <size>14847</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI3OTcyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTA3YzVkZjNhOTVhYjRi
MGRkNjliN2I1YzdhMTQ5NmY3NzQzYmQ0ZS4uMjVjOTFlMzVjMjg0ZjdmNjM3MjE3ZTU0MmJhNmZm
N2JlMmZkOGNlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE4LTAyLTAxICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBEZWxheSBzZXJ2aWNlIHdv
cmtlciBwcm9jZXNzIGNyZWF0aW9uIHVudGlsIGFjdHVhbGx5IG5lZWRlZCBieSBTV1NlcnZlcgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgyMzAxCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVuYW1lIFNX
U2VydmVyOjpDb25uZWN0aW9uOjpzY2hlZHVsZUpvYkluU2VydmVyIHRvIHNjaGVkdWxlSm9iLgor
ICAgICAgICBBZGQgc2Vzc2lvbklEIGdldHRlciBmcm9tIGFuIFNXU2VydmVyLgorCisgICAgICAg
ICogd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5oOgorICAgICAgICAoV2ViQ29yZTo6
U1dTZXJ2ZXI6OnNlc3Npb25JRCBjb25zdCk6CisKIDIwMTgtMDItMDEgIFl1c3VrZSBTdXp1a2kg
IDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+CiAKICAgICAgICAgU3RydWN0dXJlZCBjbG9uaW5nIGEg
U3ltYm9sIHNob3VsZCB0aHJvdwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBmMzFkN2I0Yzg5NzAwNjAxZjY0ZTQzNmI4
YmVmOTBmYzgyMzgxZTI5Li4yODNhODcxMDYyZDQyZGU1MGUyYTBjZGE4MDZhMTQ1ZWFmODMyM2I4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDE4LTAyLTAxICBZb3Vlbm4gRmFibGV0ICA8
eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBEZWxheSBzZXJ2aWNlIHdvcmtlciBwcm9jZXNz
IGNyZWF0aW9uIHVudGlsIGFjdHVhbGx5IG5lZWRlZCBieSBTV1NlcnZlcgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgyMzAxCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRG8gbm90IGNyZWF0ZSBhIHNlcnZp
Y2Ugd29ya2VyIHByb2Nlc3MgYXQgY3JlYXRpb24gb2YgdGhlIGZpcnN0IFNXU2VydmVyQ29ubmVj
dGlvbi4KKyAgICAgICAgV2FpdCBmb3IgYSBXZWJQcm9jZXNzIG1lc3NhZ2UgdGhhdCBuZWVkcyBp
dDoKKyAgICAgICAgLSBwb3N0TWVzc2FnZSBtZXNzYWdlCisgICAgICAgIC0gZmV0Y2hFdmVudCBt
ZXNzYWdlCisgICAgICAgIC0gam9iIHNjaGVkdWxpbmcuCisKKyAgICAgICAgKiBTdG9yYWdlUHJv
Y2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OldlYlNXU2VydmVyQ29ubmVjdGlvbjo6c3RhcnRGZXRjaCk6CisgICAgICAgIChXZWJL
aXQ6OldlYlNXU2VydmVyQ29ubmVjdGlvbjo6cG9zdE1lc3NhZ2VUb1NlcnZpY2VXb3JrZXIpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJTV1NlcnZlckNvbm5lY3Rpb246OnNjaGVkdWxlSm9iSW5TZXJ2
ZXIpOgorICAgICAgICAqIFN0b3JhZ2VQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJD
b25uZWN0aW9uLmg6CisgICAgICAgICogU3RvcmFnZVByb2Nlc3MvU3RvcmFnZVRvV2ViUHJvY2Vz
c0Nvbm5lY3Rpb24uY3BwOgorICAgICAgICAoV2ViS2l0OjpTdG9yYWdlVG9XZWJQcm9jZXNzQ29u
bmVjdGlvbjo6ZXN0YWJsaXNoU1dTZXJ2ZXJDb25uZWN0aW9uKToKKwogMjAxOC0wMi0wMSAgQ2Fy
bG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dUS10g
U2hpZnQgKyBtb3VzZSBzY3JvbGwgc2hvdWxkIHNjcm9sbCBob3Jpem9udGFsbHkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5jcHAKaW5kZXgg
ZmFhYzk3M2NlYzNkZWMwZDQ2ZTExYjE3YWRjN2M4MDY2ZTEyZDA4NS4uNGIyN2RkY2Q3MjI3Y2Vi
NjBhMTRhOWZhODZmMjgwZWNkMDc1ZmVkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5jcHAKQEAgLTIxNiw3ICsyMTYsNyBAQCB2b2lk
IFNXU2VydmVyOjpjbGVhcihjb25zdCBTZWN1cml0eU9yaWdpbiYgb3JpZ2luLCBXVEY6OkNvbXBs
ZXRpb25IYW5kbGVyPHZvaWQoKQogICAgIG1fcmVnaXN0cmF0aW9uU3RvcmUuZmx1c2hDaGFuZ2Vz
KFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKIH0KIAotdm9pZCBTV1NlcnZlcjo6Q29ubmVj
dGlvbjo6c2NoZWR1bGVKb2JJblNlcnZlcihTZXJ2aWNlV29ya2VySm9iRGF0YSYmIGpvYkRhdGEp
Cit2b2lkIFNXU2VydmVyOjpDb25uZWN0aW9uOjpzY2hlZHVsZUpvYihTZXJ2aWNlV29ya2VySm9i
RGF0YSYmIGpvYkRhdGEpCiB7CiAgICAgTE9HKFNlcnZpY2VXb3JrZXIsICJTY2hlZHVsaW5nIFNl
cnZpY2VXb3JrZXIgam9iICVzIGluIHNlcnZlciIsIGpvYkRhdGEuaWRlbnRpZmllcigpLmxvZ2dp
bmdTdHJpbmcoKS51dGY4KCkuZGF0YSgpKTsKICAgICBBU1NFUlQoaWRlbnRpZmllcigpID09IGpv
YkRhdGEuY29ubmVjdGlvbklkZW50aWZpZXIoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmggYi9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmgKaW5kZXggMDA1MmExZjU5MjJiNmU3MmJiMTI5
NGFmMDczMmJlMDdhZGJkY2M3YS4uMWE0ZGE0NmM3NTU4YjJkY2U1ZTYzZDVhZmRjNGNiN2QwYThk
ZGNmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9T
V1NlcnZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dT
ZXJ2ZXIuaApAQCAtOTIsNyArOTIsNyBAQCBwdWJsaWM6CiAgICAgICAgIFdFQkNPUkVfRVhQT1JU
IGV4cGxpY2l0IENvbm5lY3Rpb24oU1dTZXJ2ZXImKTsKICAgICAgICAgU1dTZXJ2ZXImIHNlcnZl
cigpIHsgcmV0dXJuIG1fc2VydmVyOyB9CiAKLSAgICAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBz
Y2hlZHVsZUpvYkluU2VydmVyKFNlcnZpY2VXb3JrZXJKb2JEYXRhJiYpOworICAgICAgICBXRUJD
T1JFX0VYUE9SVCB2b2lkIHNjaGVkdWxlSm9iKFNlcnZpY2VXb3JrZXJKb2JEYXRhJiYpOwogICAg
ICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGZpbmlzaEZldGNoaW5nU2NyaXB0SW5TZXJ2ZXIoY29u
c3QgU2VydmljZVdvcmtlckZldGNoUmVzdWx0Jik7CiAgICAgICAgIFdFQkNPUkVfRVhQT1JUIHZv
aWQgYWRkU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkluU2VydmVyKFNlcnZpY2VXb3JrZXJSZWdp
c3RyYXRpb25JZGVudGlmaWVyKTsKICAgICAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCByZW1vdmVT
ZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSW5TZXJ2ZXIoU2VydmljZVdvcmtlclJlZ2lzdHJhdGlv
bklkZW50aWZpZXIpOwpAQCAtMTc3LDYgKzE3Nyw4IEBAIHB1YmxpYzoKIAogICAgIFdFQkNPUkVf
RVhQT1JUIHZvaWQgZ2V0T3JpZ2luc1dpdGhSZWdpc3RyYXRpb25zKFdURjo6RnVuY3Rpb248dm9p
ZChjb25zdCBIYXNoU2V0PFNlY3VyaXR5T3JpZ2luRGF0YT4mKT4pOwogCisgICAgUEFMOjpTZXNz
aW9uSUQgc2Vzc2lvbklEKCkgY29uc3QgeyByZXR1cm4gbV9zZXNzaW9uSUQ7IH0KKwogcHJpdmF0
ZToKICAgICB2b2lkIHJlZ2lzdGVyQ29ubmVjdGlvbihDb25uZWN0aW9uJik7CiAgICAgdm9pZCB1
bnJlZ2lzdGVyQ29ubmVjdGlvbihDb25uZWN0aW9uJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1N0b3JhZ2VQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmNw
cCBiL1NvdXJjZS9XZWJLaXQvU3RvcmFnZVByb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZl
ckNvbm5lY3Rpb24uY3BwCmluZGV4IGFkMDhmMWQ0M2I0OTc3NGQ1NGRjZWQzZWU0Y2Y2ZDcxNzcy
MzFiZTcuLmNhZDQxZDc1NDgzOWFjYzQyNjRjMzJkYjM5YjdlZTllMzJhZDk2MTcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvU3RvcmFnZVByb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZl
ckNvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU3RvcmFnZVByb2Nlc3MvU2Vydmlj
ZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24uY3BwCkBAIC0xNDksNiArMTQ5LDkgQEAgdm9p
ZCBXZWJTV1NlcnZlckNvbm5lY3Rpb246OnN0YXJ0RmV0Y2godWludDY0X3QgZmV0Y2hJZGVudGlm
aWVyLCBTZXJ2aWNlV29ya2VyUmUKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogCisg
ICAgICAgIGlmICghU3RvcmFnZVByb2Nlc3M6OnNpbmdsZXRvbigpLmdsb2JhbFNlcnZlclRvQ29u
dGV4dENvbm5lY3Rpb24oKSkKKyAgICAgICAgICAgIFN0b3JhZ2VQcm9jZXNzOjpzaW5nbGV0b24o
KS5jcmVhdGVTZXJ2ZXJUb0NvbnRleHRDb25uZWN0aW9uKHNlcnZlcigpLnNlc3Npb25JRCgpKTsK
KwogICAgICAgICBzZXJ2ZXIoKS5ydW5TZXJ2aWNlV29ya2VySWZOZWNlc3Nhcnkoc2VydmljZVdv
cmtlcklkZW50aWZpZXIsIFt3ZWFrVGhpcyA9IFdURk1vdmUod2Vha1RoaXMpLCB0aGlzLCBmZXRj
aElkZW50aWZpZXIsIHNlcnZpY2VXb3JrZXJJZGVudGlmaWVyLCByZXF1ZXN0ID0gV1RGTW92ZShy
ZXF1ZXN0KSwgb3B0aW9ucyA9IFdURk1vdmUob3B0aW9ucyksIGZvcm1EYXRhID0gV1RGTW92ZShm
b3JtRGF0YSksIHJlZmVycmVyID0gV1RGTW92ZShyZWZlcnJlcildKGJvb2wgc3VjY2VzcywgYXV0
byYgY29udGV4dENvbm5lY3Rpb24pIHsKICAgICAgICAgICAgIGlmICghd2Vha1RoaXMpCiAgICAg
ICAgICAgICAgICAgcmV0dXJuOwpAQCAtMTg5LDYgKzE5Miw5IEBAIHZvaWQgV2ViU1dTZXJ2ZXJD
b25uZWN0aW9uOjpwb3N0TWVzc2FnZVRvU2VydmljZVdvcmtlcihTZXJ2aWNlV29ya2VySWRlbnRp
ZmllciBkCiAgICAgaWYgKCFzb3VyY2VEYXRhKQogICAgICAgICByZXR1cm47CiAKKyAgICBpZiAo
IVN0b3JhZ2VQcm9jZXNzOjpzaW5nbGV0b24oKS5nbG9iYWxTZXJ2ZXJUb0NvbnRleHRDb25uZWN0
aW9uKCkpCisgICAgICAgIFN0b3JhZ2VQcm9jZXNzOjpzaW5nbGV0b24oKS5jcmVhdGVTZXJ2ZXJU
b0NvbnRleHRDb25uZWN0aW9uKHNlcnZlcigpLnNlc3Npb25JRCgpKTsKKwogICAgIC8vIEl0J3Mg
cG9zc2libGUgdGhpcyBzcGVjaWZpYyB3b3JrZXIgY2Fubm90IGJlIHJlLXJ1biAoZS5nLiBpdHMg
cmVnaXN0cmF0aW9uIGhhcyBiZWVuIHJlbW92ZWQpCiAgICAgc2VydmVyKCkucnVuU2VydmljZVdv
cmtlcklmTmVjZXNzYXJ5KGRlc3RpbmF0aW9uSWRlbnRpZmllciwgW2Rlc3RpbmF0aW9uSWRlbnRp
ZmllciwgbWVzc2FnZSA9IFdURk1vdmUobWVzc2FnZSksIHNvdXJjZURhdGEgPSBXVEZNb3ZlKCpz
b3VyY2VEYXRhKV0oYm9vbCBzdWNjZXNzLCBhdXRvJiBjb250ZXh0Q29ubmVjdGlvbikgbXV0YWJs
ZSB7CiAgICAgICAgIGlmIChzdWNjZXNzKQpAQCAtMTk2LDYgKzIwMiwxNSBAQCB2b2lkIFdlYlNX
U2VydmVyQ29ubmVjdGlvbjo6cG9zdE1lc3NhZ2VUb1NlcnZpY2VXb3JrZXIoU2VydmljZVdvcmtl
cklkZW50aWZpZXIgZAogICAgIH0pOwogfQogCit2b2lkIFdlYlNXU2VydmVyQ29ubmVjdGlvbjo6
c2NoZWR1bGVKb2JJblNlcnZlcihTZXJ2aWNlV29ya2VySm9iRGF0YSYmIGpvYkRhdGEpCit7Cisg
ICAgaWYgKCFTdG9yYWdlUHJvY2Vzczo6c2luZ2xldG9uKCkuZ2xvYmFsU2VydmVyVG9Db250ZXh0
Q29ubmVjdGlvbigpKQorICAgICAgICBTdG9yYWdlUHJvY2Vzczo6c2luZ2xldG9uKCkuY3JlYXRl
U2VydmVyVG9Db250ZXh0Q29ubmVjdGlvbihzZXJ2ZXIoKS5zZXNzaW9uSUQoKSk7CisKKyAgICBz
Y2hlZHVsZUpvYihXVEZNb3ZlKGpvYkRhdGEpKTsKK30KKworCiB2b2lkIFdlYlNXU2VydmVyQ29u
bmVjdGlvbjo6ZGlkUmVjZWl2ZUZldGNoUmVzcG9uc2UodWludDY0X3QgZmV0Y2hJZGVudGlmaWVy
LCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSkKIHsKICAgICBtX2NvbnRlbnRDb25u
ZWN0aW9uLT5zZW5kKE1lc3NhZ2VzOjpTZXJ2aWNlV29ya2VyQ2xpZW50RmV0Y2g6OkRpZFJlY2Vp
dmVSZXNwb25zZSB7IHJlc3BvbnNlIH0sIGZldGNoSWRlbnRpZmllcik7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1N0b3JhZ2VQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25u
ZWN0aW9uLmggYi9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2VQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2Vi
U1dTZXJ2ZXJDb25uZWN0aW9uLmgKaW5kZXggMDY4Y2I4MGFkNjU2MTkwNTRjZThjMGJhMmNjOTYy
ZTI0MGE1MDY1Mi4uYmVjZDkwZmY0MTEwNWRlMzlmMmFiMzFkNGU0MjI4NzBlOTMxMWM3NyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9TdG9yYWdlUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNX
U2VydmVyQ29ubmVjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU3RvcmFnZVByb2Nlc3MvU2Vy
dmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24uaApAQCAtODQsNiArODQsOCBAQCBwcml2
YXRlOgogICAgIHZvaWQgbm90aWZ5Q2xpZW50c09mQ29udHJvbGxlckNoYW5nZShjb25zdCBIYXNo
U2V0PFdlYkNvcmU6OkRvY3VtZW50SWRlbnRpZmllcj4mIGNvbnRleHRJZGVudGlmaWVycywgY29u
c3QgV2ViQ29yZTo6U2VydmljZVdvcmtlckRhdGEmIG5ld0NvbnRyb2xsZXIpOwogICAgIHZvaWQg
cmVnaXN0cmF0aW9uUmVhZHkodWludDY0X3QgcmVnaXN0cmF0aW9uUmVhZHlSZXF1ZXN0SWRlbnRp
ZmllciwgV2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGEmJikgZmluYWw7CiAK
KyAgICB2b2lkIHNjaGVkdWxlSm9iSW5TZXJ2ZXIoV2ViQ29yZTo6U2VydmljZVdvcmtlckpvYkRh
dGEmJik7CisKICAgICB2b2lkIHN0YXJ0RmV0Y2godWludDY0X3QgZmV0Y2hJZGVudGlmaWVyLCBX
ZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciwgV2ViQ29yZTo6UmVz
b3VyY2VSZXF1ZXN0JiYsIFdlYkNvcmU6OkZldGNoT3B0aW9ucyYmLCBJUEM6OkZvcm1EYXRhUmVm
ZXJlbmNlJiYsIFN0cmluZyYmIHJlZmVycmVyKTsKIAogICAgIHZvaWQgcG9zdE1lc3NhZ2VUb1Nl
cnZpY2VXb3JrZXIoV2ViQ29yZTo6U2VydmljZVdvcmtlcklkZW50aWZpZXIgZGVzdGluYXRpb24s
IFdlYkNvcmU6Ok1lc3NhZ2VXaXRoTWVzc2FnZVBvcnRzJiYsIGNvbnN0IFdlYkNvcmU6OlNlcnZp
Y2VXb3JrZXJPckNsaWVudElkZW50aWZpZXImIHNvdXJjZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1N0b3JhZ2VQcm9jZXNzL1N0b3JhZ2VUb1dlYlByb2Nlc3NDb25uZWN0aW9uLmNwcCBi
L1NvdXJjZS9XZWJLaXQvU3RvcmFnZVByb2Nlc3MvU3RvcmFnZVRvV2ViUHJvY2Vzc0Nvbm5lY3Rp
b24uY3BwCmluZGV4IDgyNWEyNWZiZmQzNjg4MDIzNDQwYThiM2Y3NTIzN2UwNzVmZmExNzYuLmU2
MDg1NDBkYjgyNzhmMGI0YzlmYTQ0MjVjZjk1ODk2NWUwOTQ5NWUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvU3RvcmFnZVByb2Nlc3MvU3RvcmFnZVRvV2ViUHJvY2Vzc0Nvbm5lY3Rpb24uY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvU3RvcmFnZVByb2Nlc3MvU3RvcmFnZVRvV2ViUHJvY2Vzc0Nv
bm5lY3Rpb24uY3BwCkBAIC0xNjksOSArMTY5LDYgQEAgdm9pZCBTdG9yYWdlVG9XZWJQcm9jZXNz
Q29ubmVjdGlvbjo6ZXN0YWJsaXNoU1dTZXJ2ZXJDb25uZWN0aW9uKFNlc3Npb25JRCBzZXNzaW8K
IAogICAgIGF1dG8gYWRkUmVzdWx0ID0gbV9zd0Nvbm5lY3Rpb25zLmFkZChzZXJ2ZXJDb25uZWN0
aW9uSWRlbnRpZmllciwgV1RGTW92ZShjb25uZWN0aW9uKSk7CiAgICAgQVNTRVJUX1VOVVNFRChh
ZGRSZXN1bHQsIGFkZFJlc3VsdC5pc05ld0VudHJ5KTsKLQotICAgIGlmICghU3RvcmFnZVByb2Nl
c3M6OnNpbmdsZXRvbigpLmdsb2JhbFNlcnZlclRvQ29udGV4dENvbm5lY3Rpb24oKSkKLSAgICAg
ICAgU3RvcmFnZVByb2Nlc3M6OnNpbmdsZXRvbigpLmNyZWF0ZVNlcnZlclRvQ29udGV4dENvbm5l
Y3Rpb24oc2Vzc2lvbklEKTsKIH0KIAogdm9pZCBTdG9yYWdlVG9XZWJQcm9jZXNzQ29ubmVjdGlv
bjo6d29ya2VyQ29udGV4dFByb2Nlc3NDb25uZWN0aW9uQ3JlYXRlZCgpCmRpZmYgLS1naXQgYS9U
b29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZDhiZDY1MjIxNDU0ZmRlNTk1
YWQ2OTNiMjIwNmNiYzZjMjFhYTg3ZS4uYjQwNzQxODc5NDhjMmIwMDgwOTcyY2M4MjNlZmRmZjQ4
Njc4YzkzZSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDEzIEBACisyMDE4LTAyLTAxICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFw
cGxlLmNvbT4KKworICAgICAgICBEZWxheSBzZXJ2aWNlIHdvcmtlciBwcm9jZXNzIGNyZWF0aW9u
IHVudGlsIGFjdHVhbGx5IG5lZWRlZCBieSBTV1NlcnZlcgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgyMzAxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENv
Y29hL1NlcnZpY2VXb3JrZXJCYXNpYy5tbToKKyAgICAgICAgKGZ1bmN0aW9uKToKKwogMjAxOC0w
Mi0wMSAgQWFrYXNoIEphaW4gIDxhYWthc2hfamFpbkBhcHBsZS5jb20+CiAKICAgICAgICAgQnVi
YmxlcyBpbnRlcm1pdHRlbnRseSBkaXNhcHBlYXIgZnJvbSBib3Qgd2F0Y2hlcnMgZGFzaGJvYXJk
CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1NlcnZp
Y2VXb3JrZXJCYXNpYy5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2Ev
U2VydmljZVdvcmtlckJhc2ljLm1tCmluZGV4IDNjYmFkMmI3MWM1MmVlYWFlOGY1MWQ4ZWZiM2Fi
NjdmOTU0MDY1OTQuLjI4ZTllOTkyZmIxYzUwZDJhYzg4ZTliYTFlOTc4ZTcxMTgwMWUyZDkgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvU2VydmljZVdv
cmtlckJhc2ljLm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2Ev
U2VydmljZVdvcmtlckJhc2ljLm1tCkBAIC03MzEsNiArNzMxLDExMyBAQCBURVNUKFNlcnZpY2VX
b3JrZXJzLCBTdG9yYWdlUHJvY2Vzc0Nvbm5lY3Rpb25DcmVhdGlvbikKICAgICBFWFBFQ1RfRVEo
MCwgd2ViVmlldy5nZXQoKS5jb25maWd1cmF0aW9uLnByb2Nlc3NQb29sLl9zdG9yYWdlUHJvY2Vz
c0lkZW50aWZpZXIpOwogfQogCitzdGF0aWMgY29uc3QgY2hhciogbWFpbkJ5dGVzV2l0aFNjb3Bl
ID0gUiJTV1JFU09VUkNFKAorPHNjcmlwdD4KKworZnVuY3Rpb24gbG9nKG1zZykKK3sKKyAgICB3
aW5kb3cud2Via2l0Lm1lc3NhZ2VIYW5kbGVycy5zdy5wb3N0TWVzc2FnZShtc2cpOworfQorCitu
YXZpZ2F0b3Iuc2VydmljZVdvcmtlci5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIiwgZnVuY3Rp
b24oZXZlbnQpIHsKKyAgICBsb2coIk1lc3NhZ2UgZnJvbSB3b3JrZXI6ICIgKyBldmVudC5kYXRh
KTsKK30pOworCit0cnkgeworCituYXZpZ2F0b3Iuc2VydmljZVdvcmtlci5yZWdpc3RlcignL3N3
LmpzJywge3Njb3BlOiAnd2hhdGV2ZXJzY29wZSd9KS50aGVuKGZ1bmN0aW9uKHJlZykgeworICAg
IHJlZy5pbnN0YWxsaW5nLnBvc3RNZXNzYWdlKCJIZWxsbyBmcm9tIHRoZSB3ZWIgcGFnZSIpOwor
fSkuY2F0Y2goZnVuY3Rpb24oZXJyb3IpIHsKKyAgICBsb2coIlJlZ2lzdHJhdGlvbiBmYWlsZWQg
d2l0aDogIiArIGVycm9yKTsKK30pOworfSBjYXRjaChlKSB7CisgICAgbG9nKCJFeGNlcHRpb246
ICIgKyBlKTsKK30KKworPC9zY3JpcHQ+CispU1dSRVNPVVJDRSI7CisKK1RFU1QoU2VydmljZVdv
cmtlcnMsIFNlcnZpY2VXb3JrZXJQcm9jZXNzQ3JlYXRpb24pCit7CisgICAgW1dLV2Vic2l0ZURh
dGFTdG9yZSBfYWxsb3dXZWJzaXRlRGF0YVJlY29yZHNGb3JBbGxPcmlnaW5zXTsKKworICAgIFJl
dGFpblB0cjxXS1dlYlZpZXdDb25maWd1cmF0aW9uPiBjb25maWd1cmF0aW9uID0gYWRvcHROUyhb
W1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gYWxsb2NdIGluaXRdKTsKKyAgICBzZXRDb25maWd1cmF0
aW9uSW5qZWN0ZWRCdW5kbGVQYXRoKGNvbmZpZ3VyYXRpb24uZ2V0KCkpOworCisgICAgZG9uZSA9
IGZhbHNlOworCisgICAgW1tjb25maWd1cmF0aW9uIHdlYnNpdGVEYXRhU3RvcmVdIHJlbW92ZURh
dGFPZlR5cGVzOltXS1dlYnNpdGVEYXRhU3RvcmUgYWxsV2Vic2l0ZURhdGFUeXBlc10gbW9kaWZp
ZWRTaW5jZTpbTlNEYXRlIGRpc3RhbnRQYXN0XSBjb21wbGV0aW9uSGFuZGxlcjpeKCkgeworICAg
ICAgICBkb25lID0gdHJ1ZTsKKyAgICB9XTsKKyAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4o
JmRvbmUpOworICAgIGRvbmUgPSBmYWxzZTsKKworICAgIFtbY29uZmlndXJhdGlvbiB3ZWJzaXRl
RGF0YVN0b3JlXSBmZXRjaERhdGFSZWNvcmRzT2ZUeXBlczpbTlNTZXQgc2V0V2l0aE9iamVjdDpX
S1dlYnNpdGVEYXRhVHlwZVNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25zXSBjb21wbGV0aW9uSGFu
ZGxlcjpeKE5TQXJyYXk8V0tXZWJzaXRlRGF0YVJlY29yZCAqPiAqd2Vic2l0ZURhdGFSZWNvcmRz
KSB7CisKKyAgICAgICAgZG9uZSA9IHRydWU7CisgICAgfV07CisgICAgVGVzdFdlYktpdEFQSTo6
VXRpbDo6cnVuKCZkb25lKTsKKyAgICBkb25lID0gZmFsc2U7CisKKyAgICBSZXRhaW5QdHI8U1dN
ZXNzYWdlSGFuZGxlcj4gbWVzc2FnZUhhbmRsZXIgPSBhZG9wdE5TKFtbU1dNZXNzYWdlSGFuZGxl
ciBhbGxvY10gaW5pdF0pOworICAgIFtbY29uZmlndXJhdGlvbiB1c2VyQ29udGVudENvbnRyb2xs
ZXJdIGFkZFNjcmlwdE1lc3NhZ2VIYW5kbGVyOm1lc3NhZ2VIYW5kbGVyLmdldCgpIG5hbWU6QCJz
dyJdOworICAgIFJldGFpblB0cjxSZWd1bGFyUGFnZU1lc3NhZ2VIYW5kbGVyPiByZWd1bGFyUGFn
ZU1lc3NhZ2VIYW5kbGVyID0gYWRvcHROUyhbW1JlZ3VsYXJQYWdlTWVzc2FnZUhhbmRsZXIgYWxs
b2NdIGluaXRdKTsKKyAgICBbW2NvbmZpZ3VyYXRpb24gdXNlckNvbnRlbnRDb250cm9sbGVyXSBh
ZGRTY3JpcHRNZXNzYWdlSGFuZGxlcjpyZWd1bGFyUGFnZU1lc3NhZ2VIYW5kbGVyLmdldCgpIG5h
bWU6QCJyZWd1bGFyUGFnZSJdOworCisgICAgUmV0YWluUHRyPFNXU2NoZW1lcz4gaGFuZGxlciA9
IGFkb3B0TlMoW1tTV1NjaGVtZXMgYWxsb2NdIGluaXRdKTsKKyAgICBoYW5kbGVyLT5yZXNvdXJj
ZXMuc2V0KCJzdzovL2hvc3QvcmVndWxhclBhZ2VXaXRob3V0Q29ubmVjdGlvbi5odG1sIiwgUmVz
b3VyY2VJbmZvIHsgQCJ0ZXh0L2h0bWwiLCByZWd1bGFyUGFnZVdpdGhvdXRDb25uZWN0aW9uQnl0
ZXMgfSk7CisgICAgaGFuZGxlci0+cmVzb3VyY2VzLnNldCgic3c6Ly9ob3N0L3JlZ3VsYXJQYWdl
V2l0aENvbm5lY3Rpb24uaHRtbCIsIFJlc291cmNlSW5mbyB7IEAidGV4dC9odG1sIiwgcmVndWxh
clBhZ2VXaXRoQ29ubmVjdGlvbkJ5dGVzIH0pOworICAgIGhhbmRsZXItPnJlc291cmNlcy5zZXQo
InN3Oi8vaG9zdC9tYWluV2l0aFNjb3BlLmh0bWwiLCBSZXNvdXJjZUluZm8geyBAInRleHQvaHRt
bCIsIG1haW5CeXRlc1dpdGhTY29wZSB9KTsKKyAgICBoYW5kbGVyLT5yZXNvdXJjZXMuc2V0KCJz
dzovL2hvc3QvbWFpbi5odG1sIiwgUmVzb3VyY2VJbmZvIHsgQCJ0ZXh0L2h0bWwiLCBtYWluQnl0
ZXMgfSk7CisgICAgaGFuZGxlci0+cmVzb3VyY2VzLnNldCgic3c6Ly9ob3N0L3N3LmpzIiwgUmVz
b3VyY2VJbmZvIHsgQCJhcHBsaWNhdGlvbi9qYXZhc2NyaXB0Iiwgc2NyaXB0Qnl0ZXMgfSk7Cisg
ICAgW2NvbmZpZ3VyYXRpb24gc2V0VVJMU2NoZW1lSGFuZGxlcjpoYW5kbGVyLmdldCgpIGZvclVS
TFNjaGVtZTpAIlNXIl07CisKKyAgICBSZXRhaW5QdHI8V0tXZWJWaWV3PiB3ZWJWaWV3ID0gYWRv
cHROUyhbW1dLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDgw
MCwgNjAwKSBjb25maWd1cmF0aW9uOmNvbmZpZ3VyYXRpb24uZ2V0KCldKTsKKworICAgIC8vIExv
YWQgYSBwYWdlIHRoYXQgcmVnaXN0ZXJzIGEgc2VydmljZSB3b3JrZXIuCisgICAgTlNVUkxSZXF1
ZXN0ICpyZXF1ZXN0ID0gW05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVSTDpbTlNVUkwgVVJMV2l0
aFN0cmluZzpAInN3Oi8vaG9zdC9tYWluV2l0aFNjb3BlLmh0bWwiXV07CisKKyAgICBbd2ViVmll
dyBsb2FkUmVxdWVzdDpyZXF1ZXN0XTsKKyAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRv
bmUpOworICAgIGRvbmUgPSBmYWxzZTsKKyAgICB3ZWJWaWV3ID0gbnVsbHB0cjsKKworICAgIC8v
IE5vdyB0aGF0IGEgc3cgaXMgcmVnaXN0ZXJlZCwgbGV0J3MgY3JlYXRlIGEgbmV3IGNvbmZpZ3Vy
YXRpb24gYW5kIHRyeSBsb2FkaW5nIGEgcmVndWxhciBwYWdlLCB0aGVyZSBzaG91bGQgYmUgbm8g
c2VydmljZSB3b3JrZXIgcHJvY2VzcyBjcmVhdGVkLgorICAgIFJldGFpblB0cjxXS1dlYlZpZXdD
b25maWd1cmF0aW9uPiBuZXdDb25maWd1cmF0aW9uID0gYWRvcHROUyhbW1dLV2ViVmlld0NvbmZp
Z3VyYXRpb24gYWxsb2NdIGluaXRdKTsKKyAgICBzZXRDb25maWd1cmF0aW9uSW5qZWN0ZWRCdW5k
bGVQYXRoKG5ld0NvbmZpZ3VyYXRpb24uZ2V0KCkpOworICAgIG5ld0NvbmZpZ3VyYXRpb24uZ2V0
KCkud2Vic2l0ZURhdGFTdG9yZSA9IFtjb25maWd1cmF0aW9uIHdlYnNpdGVEYXRhU3RvcmVdOwor
CisgICAgW1tuZXdDb25maWd1cmF0aW9uIHVzZXJDb250ZW50Q29udHJvbGxlcl0gYWRkU2NyaXB0
TWVzc2FnZUhhbmRsZXI6bWVzc2FnZUhhbmRsZXIuZ2V0KCkgbmFtZTpAInN3Il07CisgICAgW1tu
ZXdDb25maWd1cmF0aW9uIHVzZXJDb250ZW50Q29udHJvbGxlcl0gYWRkU2NyaXB0TWVzc2FnZUhh
bmRsZXI6cmVndWxhclBhZ2VNZXNzYWdlSGFuZGxlci5nZXQoKSBuYW1lOkAicmVndWxhclBhZ2Ui
XTsKKyAgICBbbmV3Q29uZmlndXJhdGlvbiBzZXRVUkxTY2hlbWVIYW5kbGVyOmhhbmRsZXIuZ2V0
KCkgZm9yVVJMU2NoZW1lOkAiU1ciXTsKKworICAgIHdlYlZpZXcgPSBhZG9wdE5TKFtbV0tXZWJW
aWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOk5TTWFrZVJlY3QoMCwgMCwgODAwLCA2MDApIGNvbmZp
Z3VyYXRpb246bmV3Q29uZmlndXJhdGlvbi5nZXQoKV0pOworICAgIEVYUEVDVF9FUSgxdSwgd2Vi
Vmlldy5nZXQoKS5jb25maWd1cmF0aW9uLnByb2Nlc3NQb29sLl93ZWJQcm9jZXNzQ291bnQpOwor
ICAgIHJlcXVlc3QgPSBbTlNVUkxSZXF1ZXN0IHJlcXVlc3RXaXRoVVJMOltOU1VSTCBVUkxXaXRo
U3RyaW5nOkAic3c6Ly9ob3N0L3JlZ3VsYXJQYWdlV2l0aENvbm5lY3Rpb24uaHRtbCJdXTsKKyAg
ICBbd2ViVmlldyBsb2FkUmVxdWVzdDpyZXF1ZXN0XTsKKyAgICBUZXN0V2ViS2l0QVBJOjpVdGls
OjpydW4oJmRvbmUpOworICAgIGRvbmUgPSBmYWxzZTsKKworICAgIC8vIE1ha2Ugc3VyZSB0aGF0
IGxvYWRpbmcgdGhlIHNpbXBsZSBwYWdlIGRpZCBub3Qgc3RhcnQgdGhlIHNlcnZpY2Ugd29ya2Vy
IHByb2Nlc3MuCisgICAgRVhQRUNUX0VRKDF1LCB3ZWJWaWV3LmdldCgpLmNvbmZpZ3VyYXRpb24u
cHJvY2Vzc1Bvb2wuX3dlYlByb2Nlc3NDb3VudCk7CisKKyAgICB3ZWJWaWV3ID0gYWRvcHROUyhb
W1dLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDgwMCwgNjAw
KSBjb25maWd1cmF0aW9uOm5ld0NvbmZpZ3VyYXRpb24uZ2V0KCldKTsKKyAgICBFWFBFQ1RfRVEo
MnUsIHdlYlZpZXcuZ2V0KCkuY29uZmlndXJhdGlvbi5wcm9jZXNzUG9vbC5fd2ViUHJvY2Vzc0Nv
dW50KTsKKyAgICByZXF1ZXN0ID0gW05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVSTDpbTlNVUkwg
VVJMV2l0aFN0cmluZzpAInN3Oi8vaG9zdC9tYWluLmh0bWwiXV07CisgICAgW3dlYlZpZXcgbG9h
ZFJlcXVlc3Q6cmVxdWVzdF07CisgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZkb25lKTsK
KyAgICBkb25lID0gZmFsc2U7CisKKyAgICAvLyBNYWtlIHN1cmUgdGhhdCBsb2FkaW5nIHRoaXMg
cGFnZSBkaWQgc3RhcnQgdGhlIHNlcnZpY2Ugd29ya2VyIHByb2Nlc3MuCisgICAgRVhQRUNUX0VR
KDN1LCB3ZWJWaWV3LmdldCgpLmNvbmZpZ3VyYXRpb24ucHJvY2Vzc1Bvb2wuX3dlYlByb2Nlc3ND
b3VudCk7CisKKyAgICBbW2NvbmZpZ3VyYXRpb24gd2Vic2l0ZURhdGFTdG9yZV0gcmVtb3ZlRGF0
YU9mVHlwZXM6W1dLV2Vic2l0ZURhdGFTdG9yZSBhbGxXZWJzaXRlRGF0YVR5cGVzXSBtb2RpZmll
ZFNpbmNlOltOU0RhdGUgZGlzdGFudFBhc3RdIGNvbXBsZXRpb25IYW5kbGVyOl4oKSB7CisgICAg
ICAgIGRvbmUgPSB0cnVlOworICAgIH1dOworICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigm
ZG9uZSk7CisgICAgZG9uZSA9IGZhbHNlOworfQorCiAjZW5kaWYgLy8gV0tfSEFWRV9DX1NQSQog
CiAjZW5kaWYgLy8gV0tfQVBJX0VOQUJMRUQK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>332912</attachid>
            <date>2018-02-01 15:01:58 -0800</date>
            <delta_ts>2018-02-01 16:25:17 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-182301-20180201150157.patch</filename>
            <type>text/plain</type>
            <size>15789</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI3OTcyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTA3YzVkZjNhOTVhYjRi
MGRkNjliN2I1YzdhMTQ5NmY3NzQzYmQ0ZS4uNjkxMDZhNWJlNzFhMTcwYTE3ZjJlMzY5ZWEzZDE3
MmQ0NjQ5ZGJmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE4LTAyLTAxICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBEZWxheSBzZXJ2aWNlIHdv
cmtlciBwcm9jZXNzIGNyZWF0aW9uIHVudGlsIGFjdHVhbGx5IG5lZWRlZCBieSBTV1NlcnZlcgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgyMzAxCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgQ2hyaXMgRHVtZXouCisKKyAgICAgICAgUmVuYW1lIFNXU2Vy
dmVyOjpDb25uZWN0aW9uOjpzY2hlZHVsZUpvYkluU2VydmVyIHRvIHNjaGVkdWxlSm9iLgorICAg
ICAgICBBZGQgc2Vzc2lvbklEIGdldHRlciBmcm9tIGFuIFNXU2VydmVyLgorCisgICAgICAgICog
d29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5oOgorICAgICAgICAoV2ViQ29yZTo6U1dT
ZXJ2ZXI6OnNlc3Npb25JRCBjb25zdCk6CisKIDIwMTgtMDItMDEgIFl1c3VrZSBTdXp1a2kgIDx1
dGF0YW5lLnRlYUBnbWFpbC5jb20+CiAKICAgICAgICAgU3RydWN0dXJlZCBjbG9uaW5nIGEgU3lt
Ym9sIHNob3VsZCB0aHJvdwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBmMzFkN2I0Yzg5NzAwNjAxZjY0ZTQzNmI4YmVm
OTBmYzgyMzgxZTI5Li5jOWQzYzY5ZTk3MjkyNzk0ZDYwN2E5NDUxYTNlYmQzNmE4YTEyOTBkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDE4LTAyLTAxICBZb3Vlbm4gRmFibGV0ICA8eW91
ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBEZWxheSBzZXJ2aWNlIHdvcmtlciBwcm9jZXNzIGNy
ZWF0aW9uIHVudGlsIGFjdHVhbGx5IG5lZWRlZCBieSBTV1NlcnZlcgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgyMzAxCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgQ2hyaXMgRHVtZXouCisKKyAgICAgICAgRG8gbm90IGNyZWF0ZSBhIHNlcnZpY2Ugd29y
a2VyIHByb2Nlc3MgYXQgY3JlYXRpb24gb2YgdGhlIGZpcnN0IFNXU2VydmVyQ29ubmVjdGlvbi4K
KyAgICAgICAgV2FpdCBmb3IgYSBXZWJQcm9jZXNzIG1lc3NhZ2UgdGhhdCBuZWVkcyBpdDoKKyAg
ICAgICAgLSBwb3N0TWVzc2FnZSBtZXNzYWdlCisgICAgICAgIC0gZmV0Y2hFdmVudCBtZXNzYWdl
CisgICAgICAgIC0gam9iIHNjaGVkdWxpbmcuCisKKyAgICAgICAgKiBTdG9yYWdlUHJvY2Vzcy9T
ZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5jcHA6CisgICAgICAgIChXZWJLaXQ6
OldlYlNXU2VydmVyQ29ubmVjdGlvbjo6c3RhcnRGZXRjaCk6CisgICAgICAgIChXZWJLaXQ6Oldl
YlNXU2VydmVyQ29ubmVjdGlvbjo6cG9zdE1lc3NhZ2VUb1NlcnZpY2VXb3JrZXIpOgorICAgICAg
ICAoV2ViS2l0OjpXZWJTV1NlcnZlckNvbm5lY3Rpb246OnNjaGVkdWxlSm9iSW5TZXJ2ZXIpOgor
ICAgICAgICAqIFN0b3JhZ2VQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0
aW9uLmg6CisgICAgICAgICogU3RvcmFnZVByb2Nlc3MvU3RvcmFnZVRvV2ViUHJvY2Vzc0Nvbm5l
Y3Rpb24uY3BwOgorICAgICAgICAoV2ViS2l0OjpTdG9yYWdlVG9XZWJQcm9jZXNzQ29ubmVjdGlv
bjo6ZXN0YWJsaXNoU1dTZXJ2ZXJDb25uZWN0aW9uKToKKwogMjAxOC0wMi0wMSAgQ2FybG9zIEdh
cmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dUS10gU2hpZnQg
KyBtb3VzZSBzY3JvbGwgc2hvdWxkIHNjcm9sbCBob3Jpem9udGFsbHkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5jcHAKaW5kZXggZmFhYzk3
M2NlYzNkZWMwZDQ2ZTExYjE3YWRjN2M4MDY2ZTEyZDA4NS4uNzQ1ZWQ1YWI2Yzc4NjhiMGVmOGFl
ODYxZGQ0ZGU1ZmI0OWExMzdlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9z
ZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9z
ZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5jcHAKQEAgLTIxNiwxNCArMjE2LDYgQEAgdm9pZCBTV1Nl
cnZlcjo6Y2xlYXIoY29uc3QgU2VjdXJpdHlPcmlnaW4mIG9yaWdpbiwgV1RGOjpDb21wbGV0aW9u
SGFuZGxlcjx2b2lkKCkKICAgICBtX3JlZ2lzdHJhdGlvblN0b3JlLmZsdXNoQ2hhbmdlcyhXVEZN
b3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CiB9CiAKLXZvaWQgU1dTZXJ2ZXI6OkNvbm5lY3Rpb246
OnNjaGVkdWxlSm9iSW5TZXJ2ZXIoU2VydmljZVdvcmtlckpvYkRhdGEmJiBqb2JEYXRhKQotewot
ICAgIExPRyhTZXJ2aWNlV29ya2VyLCAiU2NoZWR1bGluZyBTZXJ2aWNlV29ya2VyIGpvYiAlcyBp
biBzZXJ2ZXIiLCBqb2JEYXRhLmlkZW50aWZpZXIoKS5sb2dnaW5nU3RyaW5nKCkudXRmOCgpLmRh
dGEoKSk7Ci0gICAgQVNTRVJUKGlkZW50aWZpZXIoKSA9PSBqb2JEYXRhLmNvbm5lY3Rpb25JZGVu
dGlmaWVyKCkpOwotCi0gICAgbV9zZXJ2ZXIuc2NoZWR1bGVKb2IoV1RGTW92ZShqb2JEYXRhKSk7
Ci19Ci0KIHZvaWQgU1dTZXJ2ZXI6OkNvbm5lY3Rpb246OmZpbmlzaEZldGNoaW5nU2NyaXB0SW5T
ZXJ2ZXIoY29uc3QgU2VydmljZVdvcmtlckZldGNoUmVzdWx0JiByZXN1bHQpCiB7CiAgICAgbV9z
ZXJ2ZXIuc2NyaXB0RmV0Y2hGaW5pc2hlZCgqdGhpcywgcmVzdWx0KTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuaAppbmRleCAwMDUyYTFmNTky
MmI2ZTcyYmIxMjk0YWYwNzMyYmUwN2FkYmRjYzdhLi4yNmQ3MjM4ZGI5OTViM2QyYzljYWY3M2Ex
MTk5YTA5OGNkNDkxMDcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZp
Y2Uvc2VydmVyL1NXU2VydmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNl
L3NlcnZlci9TV1NlcnZlci5oCkBAIC05Miw3ICs5Miw2IEBAIHB1YmxpYzoKICAgICAgICAgV0VC
Q09SRV9FWFBPUlQgZXhwbGljaXQgQ29ubmVjdGlvbihTV1NlcnZlciYpOwogICAgICAgICBTV1Nl
cnZlciYgc2VydmVyKCkgeyByZXR1cm4gbV9zZXJ2ZXI7IH0KIAotICAgICAgICBXRUJDT1JFX0VY
UE9SVCB2b2lkIHNjaGVkdWxlSm9iSW5TZXJ2ZXIoU2VydmljZVdvcmtlckpvYkRhdGEmJik7CiAg
ICAgICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgZmluaXNoRmV0Y2hpbmdTY3JpcHRJblNlcnZlcihj
b25zdCBTZXJ2aWNlV29ya2VyRmV0Y2hSZXN1bHQmKTsKICAgICAgICAgV0VCQ09SRV9FWFBPUlQg
dm9pZCBhZGRTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSW5TZXJ2ZXIoU2VydmljZVdvcmtlclJl
Z2lzdHJhdGlvbklkZW50aWZpZXIpOwogICAgICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHJlbW92
ZVNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JblNlcnZlcihTZXJ2aWNlV29ya2VyUmVnaXN0cmF0
aW9uSWRlbnRpZmllcik7CkBAIC0xMjksNyArMTI4LDcgQEAgcHVibGljOgogICAgIHZvaWQgcmVt
b3ZlUmVnaXN0cmF0aW9uKGNvbnN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkmKTsKICAg
ICBXRUJDT1JFX0VYUE9SVCBWZWN0b3I8U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGE+IGdl
dFJlZ2lzdHJhdGlvbnMoY29uc3QgU2VjdXJpdHlPcmlnaW5EYXRhJiB0b3BPcmlnaW4sIGNvbnN0
IFVSTCYgY2xpZW50VVJMKTsKIAotICAgIHZvaWQgc2NoZWR1bGVKb2IoU2VydmljZVdvcmtlckpv
YkRhdGEmJik7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzY2hlZHVsZUpvYihTZXJ2aWNlV29y
a2VySm9iRGF0YSYmKTsKICAgICB2b2lkIHJlamVjdEpvYihjb25zdCBTZXJ2aWNlV29ya2VySm9i
RGF0YSYsIGNvbnN0IEV4Y2VwdGlvbkRhdGEmKTsKICAgICB2b2lkIHJlc29sdmVSZWdpc3RyYXRp
b25Kb2IoY29uc3QgU2VydmljZVdvcmtlckpvYkRhdGEmLCBjb25zdCBTZXJ2aWNlV29ya2VyUmVn
aXN0cmF0aW9uRGF0YSYsIFNob3VsZE5vdGlmeVdoZW5SZXNvbHZlZCk7CiAgICAgdm9pZCByZXNv
bHZlVW5yZWdpc3RyYXRpb25Kb2IoY29uc3QgU2VydmljZVdvcmtlckpvYkRhdGEmLCBjb25zdCBT
ZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uS2V5JiwgYm9vbCB1bnJlZ2lzdHJhdGlvblJlc3VsdCk7
CkBAIC0xNzcsNiArMTc2LDggQEAgcHVibGljOgogCiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBn
ZXRPcmlnaW5zV2l0aFJlZ2lzdHJhdGlvbnMoV1RGOjpGdW5jdGlvbjx2b2lkKGNvbnN0IEhhc2hT
ZXQ8U2VjdXJpdHlPcmlnaW5EYXRhPiYpPik7CiAKKyAgICBQQUw6OlNlc3Npb25JRCBzZXNzaW9u
SUQoKSBjb25zdCB7IHJldHVybiBtX3Nlc3Npb25JRDsgfQorCiBwcml2YXRlOgogICAgIHZvaWQg
cmVnaXN0ZXJDb25uZWN0aW9uKENvbm5lY3Rpb24mKTsKICAgICB2b2lkIHVucmVnaXN0ZXJDb25u
ZWN0aW9uKENvbm5lY3Rpb24mKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU3RvcmFnZVBy
b2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24uY3BwIGIvU291cmNlL1dl
YktpdC9TdG9yYWdlUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5j
cHAKaW5kZXggYWQwOGYxZDQzYjQ5Nzc0ZDU0ZGNlZDNlZTRjZjZkNzE3NzIzMWJlNy4uNzQwNWFl
NTMyNjZiNmMwOGNlMjEyNzU5ZGM0OGJiOGJkYWYwZTRlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9TdG9yYWdlUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9TdG9yYWdlUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNX
U2VydmVyQ29ubmVjdGlvbi5jcHAKQEAgLTE0OSw2ICsxNDksOSBAQCB2b2lkIFdlYlNXU2VydmVy
Q29ubmVjdGlvbjo6c3RhcnRGZXRjaCh1aW50NjRfdCBmZXRjaElkZW50aWZpZXIsIFNlcnZpY2VX
b3JrZXJSZQogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAKKyAgICAgICAgaWYgKCFT
dG9yYWdlUHJvY2Vzczo6c2luZ2xldG9uKCkuZ2xvYmFsU2VydmVyVG9Db250ZXh0Q29ubmVjdGlv
bigpKQorICAgICAgICAgICAgU3RvcmFnZVByb2Nlc3M6OnNpbmdsZXRvbigpLmNyZWF0ZVNlcnZl
clRvQ29udGV4dENvbm5lY3Rpb24oc2VydmVyKCkuc2Vzc2lvbklEKCkpOworCiAgICAgICAgIHNl
cnZlcigpLnJ1blNlcnZpY2VXb3JrZXJJZk5lY2Vzc2FyeShzZXJ2aWNlV29ya2VySWRlbnRpZmll
ciwgW3dlYWtUaGlzID0gV1RGTW92ZSh3ZWFrVGhpcyksIHRoaXMsIGZldGNoSWRlbnRpZmllciwg
c2VydmljZVdvcmtlcklkZW50aWZpZXIsIHJlcXVlc3QgPSBXVEZNb3ZlKHJlcXVlc3QpLCBvcHRp
b25zID0gV1RGTW92ZShvcHRpb25zKSwgZm9ybURhdGEgPSBXVEZNb3ZlKGZvcm1EYXRhKSwgcmVm
ZXJyZXIgPSBXVEZNb3ZlKHJlZmVycmVyKV0oYm9vbCBzdWNjZXNzLCBhdXRvJiBjb250ZXh0Q29u
bmVjdGlvbikgewogICAgICAgICAgICAgaWYgKCF3ZWFrVGhpcykKICAgICAgICAgICAgICAgICBy
ZXR1cm47CkBAIC0xODksNiArMTkyLDkgQEAgdm9pZCBXZWJTV1NlcnZlckNvbm5lY3Rpb246OnBv
c3RNZXNzYWdlVG9TZXJ2aWNlV29ya2VyKFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyIGQKICAgICBp
ZiAoIXNvdXJjZURhdGEpCiAgICAgICAgIHJldHVybjsKIAorICAgIGlmICghU3RvcmFnZVByb2Nl
c3M6OnNpbmdsZXRvbigpLmdsb2JhbFNlcnZlclRvQ29udGV4dENvbm5lY3Rpb24oKSkKKyAgICAg
ICAgU3RvcmFnZVByb2Nlc3M6OnNpbmdsZXRvbigpLmNyZWF0ZVNlcnZlclRvQ29udGV4dENvbm5l
Y3Rpb24oc2VydmVyKCkuc2Vzc2lvbklEKCkpOworCiAgICAgLy8gSXQncyBwb3NzaWJsZSB0aGlz
IHNwZWNpZmljIHdvcmtlciBjYW5ub3QgYmUgcmUtcnVuIChlLmcuIGl0cyByZWdpc3RyYXRpb24g
aGFzIGJlZW4gcmVtb3ZlZCkKICAgICBzZXJ2ZXIoKS5ydW5TZXJ2aWNlV29ya2VySWZOZWNlc3Nh
cnkoZGVzdGluYXRpb25JZGVudGlmaWVyLCBbZGVzdGluYXRpb25JZGVudGlmaWVyLCBtZXNzYWdl
ID0gV1RGTW92ZShtZXNzYWdlKSwgc291cmNlRGF0YSA9IFdURk1vdmUoKnNvdXJjZURhdGEpXShi
b29sIHN1Y2Nlc3MsIGF1dG8mIGNvbnRleHRDb25uZWN0aW9uKSBtdXRhYmxlIHsKICAgICAgICAg
aWYgKHN1Y2Nlc3MpCkBAIC0xOTYsNiArMjAyLDE4IEBAIHZvaWQgV2ViU1dTZXJ2ZXJDb25uZWN0
aW9uOjpwb3N0TWVzc2FnZVRvU2VydmljZVdvcmtlcihTZXJ2aWNlV29ya2VySWRlbnRpZmllciBk
CiAgICAgfSk7CiB9CiAKK3ZvaWQgV2ViU1dTZXJ2ZXJDb25uZWN0aW9uOjpzY2hlZHVsZUpvYklu
U2VydmVyKFNlcnZpY2VXb3JrZXJKb2JEYXRhJiYgam9iRGF0YSkKK3sKKyAgICBpZiAoIVN0b3Jh
Z2VQcm9jZXNzOjpzaW5nbGV0b24oKS5nbG9iYWxTZXJ2ZXJUb0NvbnRleHRDb25uZWN0aW9uKCkp
CisgICAgICAgIFN0b3JhZ2VQcm9jZXNzOjpzaW5nbGV0b24oKS5jcmVhdGVTZXJ2ZXJUb0NvbnRl
eHRDb25uZWN0aW9uKHNlcnZlcigpLnNlc3Npb25JRCgpKTsKKworICAgIFNXU0VSVkVSQ09OTkVD
VElPTl9SRUxFQVNFX0xPR19JRl9BTExPV0VEKCJTY2hlZHVsaW5nIFNlcnZpY2VXb3JrZXIgam9i
ICVzIGluIHNlcnZlciIsIGpvYkRhdGEuaWRlbnRpZmllcigpLmxvZ2dpbmdTdHJpbmcoKS51dGY4
KCkuZGF0YSgpKTsKKyAgICBBU1NFUlQoaWRlbnRpZmllcigpID09IGpvYkRhdGEuY29ubmVjdGlv
bklkZW50aWZpZXIoKSk7CisKKyAgICBzZXJ2ZXIoKS5zY2hlZHVsZUpvYihXVEZNb3ZlKGpvYkRh
dGEpKTsKK30KKworCiB2b2lkIFdlYlNXU2VydmVyQ29ubmVjdGlvbjo6ZGlkUmVjZWl2ZUZldGNo
UmVzcG9uc2UodWludDY0X3QgZmV0Y2hJZGVudGlmaWVyLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNl
JiByZXNwb25zZSkKIHsKICAgICBtX2NvbnRlbnRDb25uZWN0aW9uLT5zZW5kKE1lc3NhZ2VzOjpT
ZXJ2aWNlV29ya2VyQ2xpZW50RmV0Y2g6OkRpZFJlY2VpdmVSZXNwb25zZSB7IHJlc3BvbnNlIH0s
IGZldGNoSWRlbnRpZmllcik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2VQcm9j
ZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmggYi9Tb3VyY2UvV2ViS2l0
L1N0b3JhZ2VQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmgKaW5k
ZXggMDY4Y2I4MGFkNjU2MTkwNTRjZThjMGJhMmNjOTYyZTI0MGE1MDY1Mi4uYmVjZDkwZmY0MTEw
NWRlMzlmMmFiMzFkNGU0MjI4NzBlOTMxMWM3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9T
dG9yYWdlUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvU3RvcmFnZVByb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNv
bm5lY3Rpb24uaApAQCAtODQsNiArODQsOCBAQCBwcml2YXRlOgogICAgIHZvaWQgbm90aWZ5Q2xp
ZW50c09mQ29udHJvbGxlckNoYW5nZShjb25zdCBIYXNoU2V0PFdlYkNvcmU6OkRvY3VtZW50SWRl
bnRpZmllcj4mIGNvbnRleHRJZGVudGlmaWVycywgY29uc3QgV2ViQ29yZTo6U2VydmljZVdvcmtl
ckRhdGEmIG5ld0NvbnRyb2xsZXIpOwogICAgIHZvaWQgcmVnaXN0cmF0aW9uUmVhZHkodWludDY0
X3QgcmVnaXN0cmF0aW9uUmVhZHlSZXF1ZXN0SWRlbnRpZmllciwgV2ViQ29yZTo6U2VydmljZVdv
cmtlclJlZ2lzdHJhdGlvbkRhdGEmJikgZmluYWw7CiAKKyAgICB2b2lkIHNjaGVkdWxlSm9iSW5T
ZXJ2ZXIoV2ViQ29yZTo6U2VydmljZVdvcmtlckpvYkRhdGEmJik7CisKICAgICB2b2lkIHN0YXJ0
RmV0Y2godWludDY0X3QgZmV0Y2hJZGVudGlmaWVyLCBXZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVn
aXN0cmF0aW9uSWRlbnRpZmllciwgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiYsIFdlYkNvcmU6
OkZldGNoT3B0aW9ucyYmLCBJUEM6OkZvcm1EYXRhUmVmZXJlbmNlJiYsIFN0cmluZyYmIHJlZmVy
cmVyKTsKIAogICAgIHZvaWQgcG9zdE1lc3NhZ2VUb1NlcnZpY2VXb3JrZXIoV2ViQ29yZTo6U2Vy
dmljZVdvcmtlcklkZW50aWZpZXIgZGVzdGluYXRpb24sIFdlYkNvcmU6Ok1lc3NhZ2VXaXRoTWVz
c2FnZVBvcnRzJiYsIGNvbnN0IFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJPckNsaWVudElkZW50aWZp
ZXImIHNvdXJjZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2VQcm9jZXNzL1N0
b3JhZ2VUb1dlYlByb2Nlc3NDb25uZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQvU3RvcmFnZVBy
b2Nlc3MvU3RvcmFnZVRvV2ViUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwCmluZGV4IDgyNWEyNWZiZmQz
Njg4MDIzNDQwYThiM2Y3NTIzN2UwNzVmZmExNzYuLmU2MDg1NDBkYjgyNzhmMGI0YzlmYTQ0MjVj
Zjk1ODk2NWUwOTQ5NWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU3RvcmFnZVByb2Nlc3Mv
U3RvcmFnZVRvV2ViUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU3Rv
cmFnZVByb2Nlc3MvU3RvcmFnZVRvV2ViUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwCkBAIC0xNjksOSAr
MTY5LDYgQEAgdm9pZCBTdG9yYWdlVG9XZWJQcm9jZXNzQ29ubmVjdGlvbjo6ZXN0YWJsaXNoU1dT
ZXJ2ZXJDb25uZWN0aW9uKFNlc3Npb25JRCBzZXNzaW8KIAogICAgIGF1dG8gYWRkUmVzdWx0ID0g
bV9zd0Nvbm5lY3Rpb25zLmFkZChzZXJ2ZXJDb25uZWN0aW9uSWRlbnRpZmllciwgV1RGTW92ZShj
b25uZWN0aW9uKSk7CiAgICAgQVNTRVJUX1VOVVNFRChhZGRSZXN1bHQsIGFkZFJlc3VsdC5pc05l
d0VudHJ5KTsKLQotICAgIGlmICghU3RvcmFnZVByb2Nlc3M6OnNpbmdsZXRvbigpLmdsb2JhbFNl
cnZlclRvQ29udGV4dENvbm5lY3Rpb24oKSkKLSAgICAgICAgU3RvcmFnZVByb2Nlc3M6OnNpbmds
ZXRvbigpLmNyZWF0ZVNlcnZlclRvQ29udGV4dENvbm5lY3Rpb24oc2Vzc2lvbklEKTsKIH0KIAog
dm9pZCBTdG9yYWdlVG9XZWJQcm9jZXNzQ29ubmVjdGlvbjo6d29ya2VyQ29udGV4dFByb2Nlc3ND
b25uZWN0aW9uQ3JlYXRlZCgpCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9D
aGFuZ2VMb2cKaW5kZXggZDhiZDY1MjIxNDU0ZmRlNTk1YWQ2OTNiMjIwNmNiYzZjMjFhYTg3ZS4u
ZmYzMzg5ZmQyOGYyOGNhODViZWNlNDRhZmQ5ODlhY2E2ZWVjMzQxZCAxMDA2NDQKLS0tIGEvVG9v
bHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE4
LTAyLTAxICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBEZWxh
eSBzZXJ2aWNlIHdvcmtlciBwcm9jZXNzIGNyZWF0aW9uIHVudGlsIGFjdHVhbGx5IG5lZWRlZCBi
eSBTV1NlcnZlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTgyMzAxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQ2hyaXMgRHVtZXouCisKKyAgICAgICAg
KiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1NlcnZpY2VXb3JrZXJCYXNpYy5tbToK
KyAgICAgICAgKGZ1bmN0aW9uKToKKwogMjAxOC0wMi0wMSAgQWFrYXNoIEphaW4gIDxhYWthc2hf
amFpbkBhcHBsZS5jb20+CiAKICAgICAgICAgQnViYmxlcyBpbnRlcm1pdHRlbnRseSBkaXNhcHBl
YXIgZnJvbSBib3Qgd2F0Y2hlcnMgZGFzaGJvYXJkCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1NlcnZpY2VXb3JrZXJCYXNpYy5tbSBiL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvU2VydmljZVdvcmtlckJhc2ljLm1tCmluZGV4
IDNjYmFkMmI3MWM1MmVlYWFlOGY1MWQ4ZWZiM2FiNjdmOTU0MDY1OTQuLjI4ZTllOTkyZmIxYzUw
ZDJhYzg4ZTliYTFlOTc4ZTcxMTgwMWUyZDkgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViS2l0Q29jb2EvU2VydmljZVdvcmtlckJhc2ljLm1tCisrKyBiL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvU2VydmljZVdvcmtlckJhc2ljLm1tCkBAIC03
MzEsNiArNzMxLDExMyBAQCBURVNUKFNlcnZpY2VXb3JrZXJzLCBTdG9yYWdlUHJvY2Vzc0Nvbm5l
Y3Rpb25DcmVhdGlvbikKICAgICBFWFBFQ1RfRVEoMCwgd2ViVmlldy5nZXQoKS5jb25maWd1cmF0
aW9uLnByb2Nlc3NQb29sLl9zdG9yYWdlUHJvY2Vzc0lkZW50aWZpZXIpOwogfQogCitzdGF0aWMg
Y29uc3QgY2hhciogbWFpbkJ5dGVzV2l0aFNjb3BlID0gUiJTV1JFU09VUkNFKAorPHNjcmlwdD4K
KworZnVuY3Rpb24gbG9nKG1zZykKK3sKKyAgICB3aW5kb3cud2Via2l0Lm1lc3NhZ2VIYW5kbGVy
cy5zdy5wb3N0TWVzc2FnZShtc2cpOworfQorCituYXZpZ2F0b3Iuc2VydmljZVdvcmtlci5hZGRF
dmVudExpc3RlbmVyKCJtZXNzYWdlIiwgZnVuY3Rpb24oZXZlbnQpIHsKKyAgICBsb2coIk1lc3Nh
Z2UgZnJvbSB3b3JrZXI6ICIgKyBldmVudC5kYXRhKTsKK30pOworCit0cnkgeworCituYXZpZ2F0
b3Iuc2VydmljZVdvcmtlci5yZWdpc3RlcignL3N3LmpzJywge3Njb3BlOiAnd2hhdGV2ZXJzY29w
ZSd9KS50aGVuKGZ1bmN0aW9uKHJlZykgeworICAgIHJlZy5pbnN0YWxsaW5nLnBvc3RNZXNzYWdl
KCJIZWxsbyBmcm9tIHRoZSB3ZWIgcGFnZSIpOworfSkuY2F0Y2goZnVuY3Rpb24oZXJyb3IpIHsK
KyAgICBsb2coIlJlZ2lzdHJhdGlvbiBmYWlsZWQgd2l0aDogIiArIGVycm9yKTsKK30pOworfSBj
YXRjaChlKSB7CisgICAgbG9nKCJFeGNlcHRpb246ICIgKyBlKTsKK30KKworPC9zY3JpcHQ+Cisp
U1dSRVNPVVJDRSI7CisKK1RFU1QoU2VydmljZVdvcmtlcnMsIFNlcnZpY2VXb3JrZXJQcm9jZXNz
Q3JlYXRpb24pCit7CisgICAgW1dLV2Vic2l0ZURhdGFTdG9yZSBfYWxsb3dXZWJzaXRlRGF0YVJl
Y29yZHNGb3JBbGxPcmlnaW5zXTsKKworICAgIFJldGFpblB0cjxXS1dlYlZpZXdDb25maWd1cmF0
aW9uPiBjb25maWd1cmF0aW9uID0gYWRvcHROUyhbW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gYWxs
b2NdIGluaXRdKTsKKyAgICBzZXRDb25maWd1cmF0aW9uSW5qZWN0ZWRCdW5kbGVQYXRoKGNvbmZp
Z3VyYXRpb24uZ2V0KCkpOworCisgICAgZG9uZSA9IGZhbHNlOworCisgICAgW1tjb25maWd1cmF0
aW9uIHdlYnNpdGVEYXRhU3RvcmVdIHJlbW92ZURhdGFPZlR5cGVzOltXS1dlYnNpdGVEYXRhU3Rv
cmUgYWxsV2Vic2l0ZURhdGFUeXBlc10gbW9kaWZpZWRTaW5jZTpbTlNEYXRlIGRpc3RhbnRQYXN0
XSBjb21wbGV0aW9uSGFuZGxlcjpeKCkgeworICAgICAgICBkb25lID0gdHJ1ZTsKKyAgICB9XTsK
KyAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRvbmUpOworICAgIGRvbmUgPSBmYWxzZTsK
KworICAgIFtbY29uZmlndXJhdGlvbiB3ZWJzaXRlRGF0YVN0b3JlXSBmZXRjaERhdGFSZWNvcmRz
T2ZUeXBlczpbTlNTZXQgc2V0V2l0aE9iamVjdDpXS1dlYnNpdGVEYXRhVHlwZVNlcnZpY2VXb3Jr
ZXJSZWdpc3RyYXRpb25zXSBjb21wbGV0aW9uSGFuZGxlcjpeKE5TQXJyYXk8V0tXZWJzaXRlRGF0
YVJlY29yZCAqPiAqd2Vic2l0ZURhdGFSZWNvcmRzKSB7CisKKyAgICAgICAgZG9uZSA9IHRydWU7
CisgICAgfV07CisgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZkb25lKTsKKyAgICBkb25l
ID0gZmFsc2U7CisKKyAgICBSZXRhaW5QdHI8U1dNZXNzYWdlSGFuZGxlcj4gbWVzc2FnZUhhbmRs
ZXIgPSBhZG9wdE5TKFtbU1dNZXNzYWdlSGFuZGxlciBhbGxvY10gaW5pdF0pOworICAgIFtbY29u
ZmlndXJhdGlvbiB1c2VyQ29udGVudENvbnRyb2xsZXJdIGFkZFNjcmlwdE1lc3NhZ2VIYW5kbGVy
Om1lc3NhZ2VIYW5kbGVyLmdldCgpIG5hbWU6QCJzdyJdOworICAgIFJldGFpblB0cjxSZWd1bGFy
UGFnZU1lc3NhZ2VIYW5kbGVyPiByZWd1bGFyUGFnZU1lc3NhZ2VIYW5kbGVyID0gYWRvcHROUyhb
W1JlZ3VsYXJQYWdlTWVzc2FnZUhhbmRsZXIgYWxsb2NdIGluaXRdKTsKKyAgICBbW2NvbmZpZ3Vy
YXRpb24gdXNlckNvbnRlbnRDb250cm9sbGVyXSBhZGRTY3JpcHRNZXNzYWdlSGFuZGxlcjpyZWd1
bGFyUGFnZU1lc3NhZ2VIYW5kbGVyLmdldCgpIG5hbWU6QCJyZWd1bGFyUGFnZSJdOworCisgICAg
UmV0YWluUHRyPFNXU2NoZW1lcz4gaGFuZGxlciA9IGFkb3B0TlMoW1tTV1NjaGVtZXMgYWxsb2Nd
IGluaXRdKTsKKyAgICBoYW5kbGVyLT5yZXNvdXJjZXMuc2V0KCJzdzovL2hvc3QvcmVndWxhclBh
Z2VXaXRob3V0Q29ubmVjdGlvbi5odG1sIiwgUmVzb3VyY2VJbmZvIHsgQCJ0ZXh0L2h0bWwiLCBy
ZWd1bGFyUGFnZVdpdGhvdXRDb25uZWN0aW9uQnl0ZXMgfSk7CisgICAgaGFuZGxlci0+cmVzb3Vy
Y2VzLnNldCgic3c6Ly9ob3N0L3JlZ3VsYXJQYWdlV2l0aENvbm5lY3Rpb24uaHRtbCIsIFJlc291
cmNlSW5mbyB7IEAidGV4dC9odG1sIiwgcmVndWxhclBhZ2VXaXRoQ29ubmVjdGlvbkJ5dGVzIH0p
OworICAgIGhhbmRsZXItPnJlc291cmNlcy5zZXQoInN3Oi8vaG9zdC9tYWluV2l0aFNjb3BlLmh0
bWwiLCBSZXNvdXJjZUluZm8geyBAInRleHQvaHRtbCIsIG1haW5CeXRlc1dpdGhTY29wZSB9KTsK
KyAgICBoYW5kbGVyLT5yZXNvdXJjZXMuc2V0KCJzdzovL2hvc3QvbWFpbi5odG1sIiwgUmVzb3Vy
Y2VJbmZvIHsgQCJ0ZXh0L2h0bWwiLCBtYWluQnl0ZXMgfSk7CisgICAgaGFuZGxlci0+cmVzb3Vy
Y2VzLnNldCgic3c6Ly9ob3N0L3N3LmpzIiwgUmVzb3VyY2VJbmZvIHsgQCJhcHBsaWNhdGlvbi9q
YXZhc2NyaXB0Iiwgc2NyaXB0Qnl0ZXMgfSk7CisgICAgW2NvbmZpZ3VyYXRpb24gc2V0VVJMU2No
ZW1lSGFuZGxlcjpoYW5kbGVyLmdldCgpIGZvclVSTFNjaGVtZTpAIlNXIl07CisKKyAgICBSZXRh
aW5QdHI8V0tXZWJWaWV3PiB3ZWJWaWV3ID0gYWRvcHROUyhbW1dLV2ViVmlldyBhbGxvY10gaW5p
dFdpdGhGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDgwMCwgNjAwKSBjb25maWd1cmF0aW9uOmNvbmZp
Z3VyYXRpb24uZ2V0KCldKTsKKworICAgIC8vIExvYWQgYSBwYWdlIHRoYXQgcmVnaXN0ZXJzIGEg
c2VydmljZSB3b3JrZXIuCisgICAgTlNVUkxSZXF1ZXN0ICpyZXF1ZXN0ID0gW05TVVJMUmVxdWVz
dCByZXF1ZXN0V2l0aFVSTDpbTlNVUkwgVVJMV2l0aFN0cmluZzpAInN3Oi8vaG9zdC9tYWluV2l0
aFNjb3BlLmh0bWwiXV07CisKKyAgICBbd2ViVmlldyBsb2FkUmVxdWVzdDpyZXF1ZXN0XTsKKyAg
ICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRvbmUpOworICAgIGRvbmUgPSBmYWxzZTsKKyAg
ICB3ZWJWaWV3ID0gbnVsbHB0cjsKKworICAgIC8vIE5vdyB0aGF0IGEgc3cgaXMgcmVnaXN0ZXJl
ZCwgbGV0J3MgY3JlYXRlIGEgbmV3IGNvbmZpZ3VyYXRpb24gYW5kIHRyeSBsb2FkaW5nIGEgcmVn
dWxhciBwYWdlLCB0aGVyZSBzaG91bGQgYmUgbm8gc2VydmljZSB3b3JrZXIgcHJvY2VzcyBjcmVh
dGVkLgorICAgIFJldGFpblB0cjxXS1dlYlZpZXdDb25maWd1cmF0aW9uPiBuZXdDb25maWd1cmF0
aW9uID0gYWRvcHROUyhbW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gYWxsb2NdIGluaXRdKTsKKyAg
ICBzZXRDb25maWd1cmF0aW9uSW5qZWN0ZWRCdW5kbGVQYXRoKG5ld0NvbmZpZ3VyYXRpb24uZ2V0
KCkpOworICAgIG5ld0NvbmZpZ3VyYXRpb24uZ2V0KCkud2Vic2l0ZURhdGFTdG9yZSA9IFtjb25m
aWd1cmF0aW9uIHdlYnNpdGVEYXRhU3RvcmVdOworCisgICAgW1tuZXdDb25maWd1cmF0aW9uIHVz
ZXJDb250ZW50Q29udHJvbGxlcl0gYWRkU2NyaXB0TWVzc2FnZUhhbmRsZXI6bWVzc2FnZUhhbmRs
ZXIuZ2V0KCkgbmFtZTpAInN3Il07CisgICAgW1tuZXdDb25maWd1cmF0aW9uIHVzZXJDb250ZW50
Q29udHJvbGxlcl0gYWRkU2NyaXB0TWVzc2FnZUhhbmRsZXI6cmVndWxhclBhZ2VNZXNzYWdlSGFu
ZGxlci5nZXQoKSBuYW1lOkAicmVndWxhclBhZ2UiXTsKKyAgICBbbmV3Q29uZmlndXJhdGlvbiBz
ZXRVUkxTY2hlbWVIYW5kbGVyOmhhbmRsZXIuZ2V0KCkgZm9yVVJMU2NoZW1lOkAiU1ciXTsKKwor
ICAgIHdlYlZpZXcgPSBhZG9wdE5TKFtbV0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOk5T
TWFrZVJlY3QoMCwgMCwgODAwLCA2MDApIGNvbmZpZ3VyYXRpb246bmV3Q29uZmlndXJhdGlvbi5n
ZXQoKV0pOworICAgIEVYUEVDVF9FUSgxdSwgd2ViVmlldy5nZXQoKS5jb25maWd1cmF0aW9uLnBy
b2Nlc3NQb29sLl93ZWJQcm9jZXNzQ291bnQpOworICAgIHJlcXVlc3QgPSBbTlNVUkxSZXF1ZXN0
IHJlcXVlc3RXaXRoVVJMOltOU1VSTCBVUkxXaXRoU3RyaW5nOkAic3c6Ly9ob3N0L3JlZ3VsYXJQ
YWdlV2l0aENvbm5lY3Rpb24uaHRtbCJdXTsKKyAgICBbd2ViVmlldyBsb2FkUmVxdWVzdDpyZXF1
ZXN0XTsKKyAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRvbmUpOworICAgIGRvbmUgPSBm
YWxzZTsKKworICAgIC8vIE1ha2Ugc3VyZSB0aGF0IGxvYWRpbmcgdGhlIHNpbXBsZSBwYWdlIGRp
ZCBub3Qgc3RhcnQgdGhlIHNlcnZpY2Ugd29ya2VyIHByb2Nlc3MuCisgICAgRVhQRUNUX0VRKDF1
LCB3ZWJWaWV3LmdldCgpLmNvbmZpZ3VyYXRpb24ucHJvY2Vzc1Bvb2wuX3dlYlByb2Nlc3NDb3Vu
dCk7CisKKyAgICB3ZWJWaWV3ID0gYWRvcHROUyhbW1dLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhG
cmFtZTpOU01ha2VSZWN0KDAsIDAsIDgwMCwgNjAwKSBjb25maWd1cmF0aW9uOm5ld0NvbmZpZ3Vy
YXRpb24uZ2V0KCldKTsKKyAgICBFWFBFQ1RfRVEoMnUsIHdlYlZpZXcuZ2V0KCkuY29uZmlndXJh
dGlvbi5wcm9jZXNzUG9vbC5fd2ViUHJvY2Vzc0NvdW50KTsKKyAgICByZXF1ZXN0ID0gW05TVVJM
UmVxdWVzdCByZXF1ZXN0V2l0aFVSTDpbTlNVUkwgVVJMV2l0aFN0cmluZzpAInN3Oi8vaG9zdC9t
YWluLmh0bWwiXV07CisgICAgW3dlYlZpZXcgbG9hZFJlcXVlc3Q6cmVxdWVzdF07CisgICAgVGVz
dFdlYktpdEFQSTo6VXRpbDo6cnVuKCZkb25lKTsKKyAgICBkb25lID0gZmFsc2U7CisKKyAgICAv
LyBNYWtlIHN1cmUgdGhhdCBsb2FkaW5nIHRoaXMgcGFnZSBkaWQgc3RhcnQgdGhlIHNlcnZpY2Ug
d29ya2VyIHByb2Nlc3MuCisgICAgRVhQRUNUX0VRKDN1LCB3ZWJWaWV3LmdldCgpLmNvbmZpZ3Vy
YXRpb24ucHJvY2Vzc1Bvb2wuX3dlYlByb2Nlc3NDb3VudCk7CisKKyAgICBbW2NvbmZpZ3VyYXRp
b24gd2Vic2l0ZURhdGFTdG9yZV0gcmVtb3ZlRGF0YU9mVHlwZXM6W1dLV2Vic2l0ZURhdGFTdG9y
ZSBhbGxXZWJzaXRlRGF0YVR5cGVzXSBtb2RpZmllZFNpbmNlOltOU0RhdGUgZGlzdGFudFBhc3Rd
IGNvbXBsZXRpb25IYW5kbGVyOl4oKSB7CisgICAgICAgIGRvbmUgPSB0cnVlOworICAgIH1dOwor
ICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZG9uZSk7CisgICAgZG9uZSA9IGZhbHNlOwor
fQorCiAjZW5kaWYgLy8gV0tfSEFWRV9DX1NQSQogCiAjZW5kaWYgLy8gV0tfQVBJX0VOQUJMRUQK
</data>

          </attachment>
      

    </bug>

</bugzilla>