<?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>190481</bug_id>
          
          <creation_ts>2018-10-11 13:33:19 -0700</creation_ts>
          <short_desc>Experiment: target=_blank on anchors should imply rel=noopener</short_desc>
          <delta_ts>2019-01-24 07:48:34 -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>DOM</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>https://github.com/whatwg/html/issues/4078</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>190475</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>7raivis</cc>
    
    <cc>achristensen</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1468142</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-10-11 13:33:19 -0700</bug_when>
    <thetext>As an experiment, try and make it so that target=_blank on anchors implies `rel=noopener` for improved security. WebContent can then request an opener relationship by using `rel=opener` instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1468156</commentid>
    <comment_count>1</comment_count>
      <attachid>352075</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-10-11 14:21:45 -0700</bug_when>
    <thetext>Created attachment 352075
WIP Patch (needs dependency to land)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1468159</commentid>
    <comment_count>2</comment_count>
      <attachid>352076</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-10-11 14:23:01 -0700</bug_when>
    <thetext>Created attachment 352076
WIP Patch (needs dependency to land)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1468191</commentid>
    <comment_count>3</comment_count>
      <attachid>352087</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-10-11 15:05:47 -0700</bug_when>
    <thetext>Created attachment 352087
WIP Patch (needs dependency to land)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1469293</commentid>
    <comment_count>4</comment_count>
      <attachid>352336</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-10-15 10:07:13 -0700</bug_when>
    <thetext>Created attachment 352336
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1469294</commentid>
    <comment_count>5</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2018-10-15 10:08:56 -0700</bug_when>
    <thetext>Attachment 352336 did not pass style-queue:


ERROR: Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:283:  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/ProcessSwapOnNavigation.mm:286:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:290:  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/ProcessSwapOnNavigation.mm:292:  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: 4 in 18 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>1469295</commentid>
    <comment_count>6</comment_count>
      <attachid>352337</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-10-15 10:12:49 -0700</bug_when>
    <thetext>Created attachment 352337
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1469298</commentid>
    <comment_count>7</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2018-10-15 10:14:39 -0700</bug_when>
    <thetext>Attachment 352337 did not pass style-queue:


ERROR: Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:283:  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/ProcessSwapOnNavigation.mm:286:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:290:  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/ProcessSwapOnNavigation.mm:292:  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: 4 in 18 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>1469458</commentid>
    <comment_count>8</comment_count>
      <attachid>352337</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-10-15 14:21:15 -0700</bug_when>
    <thetext>Comment on attachment 352337
Patch

Clearing flags on attachment: 352337

Committed r237144: &lt;https://trac.webkit.org/changeset/237144&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1469459</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-10-15 14:21:17 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1469463</commentid>
    <comment_count>10</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-10-15 14:22:26 -0700</bug_when>
    <thetext>&lt;rdar://problem/45284150&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>352075</attachid>
            <date>2018-10-11 14:21:45 -0700</date>
            <delta_ts>2018-10-11 14:23:01 -0700</delta_ts>
            <desc>WIP Patch (needs dependency to land)</desc>
            <filename>190481_blank_target_implicit_noopener_wip.patch</filename>
            <type>text/plain</type>
            <size>14763</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9U
ZXN0RXhwZWN0YXRpb25zCmluZGV4IDRhMGRlNDMwN2I3Li4yMzFiOGMyM2QzNiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9UZXN0RXhw
ZWN0YXRpb25zCkBAIC0yODY1LDYgKzI4NjUsMTQgQEAgd2Via2l0Lm9yZy9iLzE4NTMwOCBsZWdh
Y3ktYW5pbWF0aW9uLWVuZ2luZS9hbmltYXRpb25zL2NvbWJvLXRyYW5zZm9ybS10cmFuc2xhdGUK
ICMgVGhpcyBuZXdseSBpbXBvcnRlZCB0ZXN0IGNyYXNoZXMgaW4gZGVidWcgYW5kIGZsYWtpbHkg
dGltZXMgb3V0Lgogd2Via2l0Lm9yZy9iLzE4OTkxNyBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2h0bWwvd2ViYXBwYXBpcy9keW5hbWljLW1hcmt1cC1pbnNlcnRpb24vZG9jdW1lbnQt
d3JpdGUvY29udGVudFR5cGUud2luZG93Lmh0bWwgWyBTa2lwIF0KIAorIyBUaGVzZSB0ZXN0cyBz
dGFydGVkIHRvIHRpbWUgb3V0IG9yIGZhaWwgYmVjYXVzZSBvZiBvdXIgZXhwZXJpbWVudCB0byBo
YXZlIHRhcmdldD1fYmxhbmsgb24gYW5jaG9ycyBpbXBseSByZWw9bm9vcGVuZXIgKGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTA0ODEpLgoraW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL3dpbmRvd3MvYXV4aWxpYXJ5LWJyb3dzaW5n
LWNvbnRleHRzL29wZW5lci1jbG9zZWQuaHRtbCBbIFNraXAgXQoraW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL3dpbmRvd3MvYnJvd3NpbmctY29udGV4dC1uYW1l
cy8wMDIuaHRtbCBbIFNraXAgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1s
L3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L3RoZS1pZnJhbWUtZWxlbWVudC9pZnJhbWVfc2Fu
ZGJveF9wb3B1cHNfZXNjYXBpbmctMi5odG1sIFsgU2tpcCBdCitpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvdGhlLWlmcmFtZS1l
bGVtZW50L2lmcmFtZV9zYW5kYm94X3BvcHVwc19ub25lc2NhcGluZy0yLmh0bWwgWyBTa2lwIF0K
K2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy93aW5kb3dzL2Jy
b3dzaW5nLWNvbnRleHQtbmFtZXMvY2hvb3NlLV9ibGFuay0wMDMuaHRtbCBbIEZhaWx1cmUgXQor
CisKIGZhc3QvZ3JhZGllbnRzL2NvbmljLXJlcGVhdGluZy5odG1sIFsgU2tpcCBdCiBmYXN0L2dy
YWRpZW50cy9jb25pYy5odG1sIFsgU2tpcCBdCiBmYXN0L2dyYWRpZW50cy9jb25pYy1vZmYtY2Vu
dGVyLmh0bWwgWyBTa2lwIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2
aWdhdGlvbi9uby1yZWZlcnJlci1yZXNldC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9u
YXZpZ2F0aW9uL25vLXJlZmVycmVyLXJlc2V0Lmh0bWwKaW5kZXggZGM0N2ZmMjBhODQuLjMyOWE1
MzdlMDQ1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vbm8t
cmVmZXJyZXItcmVzZXQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRp
b24vbm8tcmVmZXJyZXItcmVzZXQuaHRtbApAQCAtNCw3ICs0LDcgQEAgVGhpcyB0ZXN0cyB3aGV0
aGVyIHJlZmVycmVyIGluZm9ybWF0aW9uIGdldHMgcHJvcGVybHkgc2V0IGFuZCByZXNldCB3aGVu
ICJub3JlZmUKIDIuIENsaWNrIGEgcmVsPSJub3JlZmVycmVyIiBsaW5rOiByZWZlcnJlciBpcyBu
dWxsLCBidXQgd2luZG93Lm9wZW5lciByZW1haW5zIHNldCBzaW5jZSB0aGUgbGluayB3YXMgbm90
IG9wZW5lZCB3aXRoIHRhcmdldD0iX2JsYW5rIi48YnIvPgogMy4gQ2xpY2sgYSBsaW5rIHdpdGhv
dXQgcmVsPSJub3JlZmVycmVyIjogcmVmZXJyZXIgaXMgc2VudCwgYnV0IHdpbmRvdy5vcGVuZXIg
aXMgc3RpbGwgc2V0LgogPGJyLz4KLTxhIGlkPSJsaW5rIiBocmVmPSJyZXNvdXJjZXMvbm8tcmVm
ZXJyZXItcmVzZXQtaGVscGVyLnBocCIgdGFyZ2V0PSJfYmxhbmsiPlN0YXJ0IHJlc2V0IHRlc3Q8
L2E+Cis8YSBpZD0ibGluayIgaHJlZj0icmVzb3VyY2VzL25vLXJlZmVycmVyLXJlc2V0LWhlbHBl
ci5waHAiIHRhcmdldD0iX2JsYW5rIiByZWw9Im9wZW5lciI+U3RhcnQgcmVzZXQgdGVzdDwvYT4K
IDxzY3JpcHQ+CiAgICAgd2luZG93Lm5hbWUgPSAiY29uc29sZVdpbmRvdyI7CiAgICAgd2luZG93
Lm5vcmVmZXJyZXJTdGVwRG9uZSA9IGZhbHNlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9zZWN1cml0eS9yZXNvdXJjZXMvcmVmZXJyZXItcG9saWN5LXJlZGlyZWN0LWxpbmsu
aHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvcmVzb3VyY2VzL3JlZmVycmVy
LXBvbGljeS1yZWRpcmVjdC1saW5rLmh0bWwKaW5kZXggNTg5MjkxNTBhZDcuLmZiMWJmMzM2OGY1
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3Jlc291cmNlcy9y
ZWZlcnJlci1wb2xpY3ktcmVkaXJlY3QtbGluay5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvc2VjdXJpdHkvcmVzb3VyY2VzL3JlZmVycmVyLXBvbGljeS1yZWRpcmVjdC1saW5rLmh0
bWwKQEAgLTIxLDcgKzIxLDcgQEAgZnVuY3Rpb24gcmVjZWl2ZU1lc3NhZ2UoZXZ0KSB7CiA8L3Nj
cmlwdD4KIDwvaGVhZD4KIDxib2R5PgotPGEgaWQ9ImxpbmsiIHRhcmdldD0iX2JsYW5rIiBocmVm
PSJodHRwczovLzEyNy4wLjAuMTo4NDQzL3Jlc291cmNlcy9yZWRpcmVjdC5waHA/dXJsPWh0dHA6
Ly8xMjcuMC4wLjE6ODAwMC9zZWN1cml0eS9yZXNvdXJjZXMvcmVmZXJyZXItcG9saWN5LXBvc3Rt
ZXNzYWdlLnBocCI+SWYgbm90IHJ1bm5pbmcgaW4gRHVtcFJlbmRlclRyZWUsIGNsaWNrIHRoaXMg
bGluazwvYT4KKzxhIGlkPSJsaW5rIiB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cHM6Ly8xMjcu
MC4wLjE6ODQ0My9yZXNvdXJjZXMvcmVkaXJlY3QucGhwP3VybD1odHRwOi8vMTI3LjAuMC4xOjgw
MDAvc2VjdXJpdHkvcmVzb3VyY2VzL3JlZmVycmVyLXBvbGljeS1wb3N0bWVzc2FnZS5waHAiIHJl
bD0ib3BlbmVyIj5JZiBub3QgcnVubmluZyBpbiBEdW1wUmVuZGVyVHJlZSwgY2xpY2sgdGhpcyBs
aW5rPC9hPgogPGRpdiBpZD0ibG9nIj48L2Rpdj4KIDwvYm9keT4KIDwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkveHNzLURFTklFRC1zY3JpcHQtaW5q
ZWN0LWludG8taW5hY3RpdmUtd2luZG93Mi1wc29uLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3NlY3VyaXR5L3hzcy1ERU5JRUQtc2NyaXB0LWluamVjdC1pbnRvLWluYWN0aXZlLXdpbmRv
dzItcHNvbi5odG1sCmluZGV4IDZhNTljMmM3MDZjLi44ZGVhMmM4ZTg0YSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS94c3MtREVOSUVELXNjcmlwdC1pbmplY3Qt
aW50by1pbmFjdGl2ZS13aW5kb3cyLXBzb24uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3NlY3VyaXR5L3hzcy1ERU5JRUQtc2NyaXB0LWluamVjdC1pbnRvLWluYWN0aXZlLXdpbmRv
dzItcHNvbi5odG1sCkBAIC0zNSw2ICszNSw3IEBAIGlmIChkb2N1bWVudC5sb2NhdGlvbi5zZWFy
Y2guaW5kZXhPZigiP2FjdHVhbGx5LWF0dGFjayIpICE9PSAtMSkgewogICAgIC8vIENhc2U6IElu
aXRpYWwgbG9hZAogICAgIHZhciBsaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpOwog
ICAgIGxpbmsudGFyZ2V0ID0gIl9ibGFuayI7CisgICAgbGluay5yZWwgPSAib3BlbmVyIjsKICAg
ICBsaW5rLmhyZWYgPSAiP2FjdHVhbGx5LWF0dGFjayI7CiAgICAgbGluay5jbGljaygpOyAvLyBP
cGVuIGEgbmV3IHdpbmRvdy4KIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
c2VjdXJpdHkveHNzLURFTklFRC1zY3JpcHQtaW5qZWN0LWludG8taW5hY3RpdmUtd2luZG93Mi5o
dG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS94c3MtREVOSUVELXNjcmlwdC1p
bmplY3QtaW50by1pbmFjdGl2ZS13aW5kb3cyLmh0bWwKaW5kZXggMmJlMzVhMGYyNGYuLjk2MGQy
NmNlZTU2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3hzcy1E
RU5JRUQtc2NyaXB0LWluamVjdC1pbnRvLWluYWN0aXZlLXdpbmRvdzIuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3hzcy1ERU5JRUQtc2NyaXB0LWluamVjdC1pbnRv
LWluYWN0aXZlLXdpbmRvdzIuaHRtbApAQCAtMzUsNiArMzUsNyBAQCBpZiAoZG9jdW1lbnQubG9j
YXRpb24uc2VhcmNoLmluZGV4T2YoIj9hY3R1YWxseS1hdHRhY2siKSAhPT0gLTEpIHsKICAgICAv
LyBDYXNlOiBJbml0aWFsIGxvYWQKICAgICB2YXIgbGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoImEiKTsKICAgICBsaW5rLnRhcmdldCA9ICJfYmxhbmsiOworICAgIGxpbmsucmVsID0gIm9w
ZW5lciI7CiAgICAgbGluay5ocmVmID0gIj9hY3R1YWxseS1hdHRhY2siOwogICAgIGxpbmsuY2xp
Y2soKTsgLy8gT3BlbiBhIG5ldyB3aW5kb3cuCiB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3NlY3VyaXR5L3hzc0F1ZGl0b3IvbGluay1vcGVucy1uZXctd2luZG93Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3hzc0F1ZGl0b3IvbGluay1vcGVucy1u
ZXctd2luZG93Lmh0bWwKaW5kZXggMWEyZmFjMjRhM2IuLjdkZTVmZjZhYjgyIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3hzc0F1ZGl0b3IvbGluay1vcGVucy1u
ZXctd2luZG93Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS94c3NB
dWRpdG9yL2xpbmstb3BlbnMtbmV3LXdpbmRvdy5odG1sCkBAIC0xOSw2ICsxOSw2IEBAIHdpbmRv
dy5vbmxvYWQgPSBmdW5jdGlvbigpCiA8L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5PgotPGEgaWQ9
ImFuY2hvckxpbmsiIGhyZWY9Imh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9zZWN1cml0eS94c3NBdWRp
dG9yL3Jlc291cmNlcy9lY2hvLWludGVydGFnLnBsP3Rlc3Q9L3NlY3VyaXR5L3hzc0F1ZGl0b3Iv
bGluay1vcGVucy1uZXctd2luZG93Lmh0bWwmbm90aWZ5RG9uZT0xJnE9PHNjcmlwdD5hbGVydChT
dHJpbmcuZnJvbUNoYXJDb2RlKDB4NTgsMHg1MywweDUzKSk8L3NjcmlwdD4iIHRhcmdldD0iX2Js
YW5rIj5DbGljayBtZTwvYT4KKzxhIGlkPSJhbmNob3JMaW5rIiBocmVmPSJodHRwOi8vbG9jYWxo
b3N0OjgwMDAvc2VjdXJpdHkveHNzQXVkaXRvci9yZXNvdXJjZXMvZWNoby1pbnRlcnRhZy5wbD90
ZXN0PS9zZWN1cml0eS94c3NBdWRpdG9yL2xpbmstb3BlbnMtbmV3LXdpbmRvdy5odG1sJm5vdGlm
eURvbmU9MSZxPTxzY3JpcHQ+YWxlcnQoU3RyaW5nLmZyb21DaGFyQ29kZSgweDU4LDB4NTMsMHg1
MykpPC9zY3JpcHQ+IiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJvcGVuZXIiPkNsaWNrIG1lPC9hPgog
PC9ib2R5PgogPC9odG1sPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQW5j
aG9yRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBbmNob3JFbGVtZW50LmNw
cAppbmRleCAyN2MwYTBkMjNhNy4uMjFkYjJlNTRhYmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTEFuY2hvckVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTEFuY2hvckVsZW1lbnQuY3BwCkBAIC0yNTAsMTIgKzI1MCwxNSBAQCB2b2lkIEhUTUxBbmNo
b3JFbGVtZW50OjpwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBuYW1lLCBjb25z
dCBBdG9taWNTdAogICAgICAgICAvLyBVcGRhdGUgSFRNTEFuY2hvckVsZW1lbnQ6OnJlbExpc3Qo
KSBpZiBtb3JlIHJlbCBhdHRyaWJ1dGVzIHZhbHVlcyBhcmUgc3VwcG9ydGVkLgogICAgICAgICBz
dGF0aWMgTmV2ZXJEZXN0cm95ZWQ8QXRvbWljU3RyaW5nPiBub1JlZmVycmVyKCJub3JlZmVycmVy
IiwgQXRvbWljU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCk7CiAgICAgICAgIHN0YXRpYyBO
ZXZlckRlc3Ryb3llZDxBdG9taWNTdHJpbmc+IG5vT3BlbmVyKCJub29wZW5lciIsIEF0b21pY1N0
cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpOworICAgICAgICBzdGF0aWMgTmV2ZXJEZXN0cm95
ZWQ8QXRvbWljU3RyaW5nPiBvcGVuZXIoIm9wZW5lciIsIEF0b21pY1N0cmluZzo6Q29uc3RydWN0
RnJvbUxpdGVyYWwpOwogICAgICAgICBjb25zdCBib29sIHNob3VsZEZvbGRDYXNlID0gdHJ1ZTsK
ICAgICAgICAgU3BhY2VTcGxpdFN0cmluZyByZWxWYWx1ZSh2YWx1ZSwgc2hvdWxkRm9sZENhc2Up
OwogICAgICAgICBpZiAocmVsVmFsdWUuY29udGFpbnMobm9SZWZlcnJlcikpCiAgICAgICAgICAg
ICBtX2xpbmtSZWxhdGlvbnMuYWRkKFJlbGF0aW9uOjpOb1JlZmVycmVyKTsKICAgICAgICAgaWYg
KHJlbFZhbHVlLmNvbnRhaW5zKG5vT3BlbmVyKSkKICAgICAgICAgICAgIG1fbGlua1JlbGF0aW9u
cy5hZGQoUmVsYXRpb246Ok5vT3BlbmVyKTsKKyAgICAgICAgaWYgKHJlbFZhbHVlLmNvbnRhaW5z
KG9wZW5lcikpCisgICAgICAgICAgICBtX2xpbmtSZWxhdGlvbnMuYWRkKFJlbGF0aW9uOjpPcGVu
ZXIpOwogICAgICAgICBpZiAobV9yZWxMaXN0KQogICAgICAgICAgICAgbV9yZWxMaXN0LT5hc3Nv
Y2lhdGVkQXR0cmlidXRlVmFsdWVDaGFuZ2VkKHZhbHVlKTsKICAgICB9CkBAIC00MjcsMTIgKzQz
MCwzMSBAQCB2b2lkIEhUTUxBbmNob3JFbGVtZW50OjpoYW5kbGVDbGljayhFdmVudCYgZXZlbnQp
CiAjZW5kaWYKIAogICAgIFNob3VsZFNlbmRSZWZlcnJlciBzaG91bGRTZW5kUmVmZXJyZXIgPSBo
YXNSZWwoUmVsYXRpb246Ok5vUmVmZXJyZXIpID8gTmV2ZXJTZW5kUmVmZXJyZXIgOiBNYXliZVNl
bmRSZWZlcnJlcjsKLSAgICBhdXRvIG5ld0ZyYW1lT3BlbmVyUG9saWN5ID0gaGFzUmVsKFJlbGF0
aW9uOjpOb09wZW5lcikgPyBzdGQ6Om1ha2Vfb3B0aW9uYWwoTmV3RnJhbWVPcGVuZXJQb2xpY3k6
OlN1cHByZXNzKSA6IHN0ZDo6bnVsbG9wdDsKLSAgICBmcmFtZS0+bG9hZGVyKCkudXJsU2VsZWN0
ZWQoY29tcGxldGVkVVJMLCB0YXJnZXQoKSwgJmV2ZW50LCBMb2NrSGlzdG9yeTo6Tm8sIExvY2tC
YWNrRm9yd2FyZExpc3Q6Ok5vLCBzaG91bGRTZW5kUmVmZXJyZXIsIGRvY3VtZW50KCkuc2hvdWxk
T3BlbkV4dGVybmFsVVJMc1BvbGljeVRvUHJvcGFnYXRlKCksIG5ld0ZyYW1lT3BlbmVyUG9saWN5
LCBkb3dubG9hZEF0dHJpYnV0ZSwgc3lzdGVtUHJldmlld0luZm8pOworCisgICAgYXV0byBlZmZl
Y3RpdmVUYXJnZXQgPSB0aGlzLT5lZmZlY3RpdmVUYXJnZXQoKTsKKyAgICBzdGQ6Om9wdGlvbmFs
PE5ld0ZyYW1lT3BlbmVyUG9saWN5PiBuZXdGcmFtZU9wZW5lclBvbGljeTsKKyAgICBpZiAoaGFz
UmVsKFJlbGF0aW9uOjpPcGVuZXIpKQorICAgICAgICBuZXdGcmFtZU9wZW5lclBvbGljeSA9IE5l
d0ZyYW1lT3BlbmVyUG9saWN5OjpBbGxvdzsKKyAgICBlbHNlIGlmIChoYXNSZWwoUmVsYXRpb246
Ok5vT3BlbmVyKSB8fCBoYXNSZWwoUmVsYXRpb246Ok5vUmVmZXJyZXIpKQorICAgICAgICBuZXdG
cmFtZU9wZW5lclBvbGljeSA9IE5ld0ZyYW1lT3BlbmVyUG9saWN5OjpTdXBwcmVzczsKKyAgICBl
bHNlIGlmIChSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLmJsYW5rQW5j
aG9yVGFyZ2V0SW1wbGllc05vT3BlbmVyRW5hYmxlZCgpICYmIGVxdWFsSWdub3JpbmdBU0NJSUNh
c2UoZWZmZWN0aXZlVGFyZ2V0LCAiX2JsYW5rIikpCisgICAgICAgIG5ld0ZyYW1lT3BlbmVyUG9s
aWN5ID0gTmV3RnJhbWVPcGVuZXJQb2xpY3k6OlN1cHByZXNzOworCisgICAgZnJhbWUtPmxvYWRl
cigpLnVybFNlbGVjdGVkKGNvbXBsZXRlZFVSTCwgZWZmZWN0aXZlVGFyZ2V0LCAmZXZlbnQsIExv
Y2tIaXN0b3J5OjpObywgTG9ja0JhY2tGb3J3YXJkTGlzdDo6Tm8sIHNob3VsZFNlbmRSZWZlcnJl
ciwgZG9jdW1lbnQoKS5zaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5VG9Qcm9wYWdhdGUoKSwg
bmV3RnJhbWVPcGVuZXJQb2xpY3ksIGRvd25sb2FkQXR0cmlidXRlLCBzeXN0ZW1QcmV2aWV3SW5m
byk7CiAKICAgICBzZW5kUGluZ3MoY29tcGxldGVkVVJMKTsKIH0KIAorLy8gRmFsbHMgYmFjayB0
byB1c2luZyA8YmFzZT4gZWxlbWVudCdzIHRhcmdldCBpZiB0aGUgYW5jaG9yIGRvZXMgbm90IGhh
dmUgb25lLgorU3RyaW5nIEhUTUxBbmNob3JFbGVtZW50OjplZmZlY3RpdmVUYXJnZXQoKSBjb25z
dAoreworICAgIGF1dG8gZWZmZWN0aXZlVGFyZ2V0ID0gdGFyZ2V0KCk7CisgICAgaWYgKGVmZmVj
dGl2ZVRhcmdldC5pc0VtcHR5KCkpCisgICAgICAgIGVmZmVjdGl2ZVRhcmdldCA9IGRvY3VtZW50
KCkuYmFzZVRhcmdldCgpOworICAgIHJldHVybiBlZmZlY3RpdmVUYXJnZXQ7Cit9CisKKwogSFRN
TEFuY2hvckVsZW1lbnQ6OkV2ZW50VHlwZSBIVE1MQW5jaG9yRWxlbWVudDo6ZXZlbnRUeXBlKEV2
ZW50JiBldmVudCkKIHsKICAgICBpZiAoIWlzPE1vdXNlRXZlbnQ+KGV2ZW50KSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFuY2hvckVsZW1lbnQuaCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTEFuY2hvckVsZW1lbnQuaAppbmRleCBiMWM1MWY3ZjQ5Ni4uNmIwMmM5YWI0
ZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFuY2hvckVsZW1lbnQuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBbmNob3JFbGVtZW50LmgKQEAgLTM3LDYgKzM3
LDcgQEAgY2xhc3MgRE9NVG9rZW5MaXN0OwogZW51bSBjbGFzcyBSZWxhdGlvbiB7CiAgICAgTm9S
ZWZlcnJlciA9IDEgPDwgMCwKICAgICBOb09wZW5lciA9IDEgPDwgMSwKKyAgICBPcGVuZXIgPSAx
IDw8IDIsCiB9OwogCiBjbGFzcyBIVE1MQW5jaG9yRWxlbWVudCA6IHB1YmxpYyBIVE1MRWxlbWVu
dCwgcHVibGljIFVSTFV0aWxzPEhUTUxBbmNob3JFbGVtZW50PiB7CkBAIC05MCw2ICs5MSw4IEBA
IHByaXZhdGU6CiAgICAgaW50IHRhYkluZGV4KCkgY29uc3QgZmluYWw7CiAgICAgYm9vbCBkcmFn
Z2FibGUoKSBjb25zdCBmaW5hbDsKIAorICAgIFN0cmluZyBlZmZlY3RpdmVUYXJnZXQoKSBjb25z
dDsKKwogICAgIHZvaWQgc2VuZFBpbmdzKGNvbnN0IFVSTCYgZGVzdGluYXRpb25VUkwpOwogCiAg
ICAgdm9pZCBoYW5kbGVDbGljayhFdmVudCYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRp
bWVFbmFibGVkRmVhdHVyZXMuaAppbmRleCAxMjBmMmUzZmYwMC4uZjQ2NGNiOTAzNDggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oCkBAIC00Myw2ICs0
Myw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMg
ewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMpOwogcHVi
bGljOgorICAgIHZvaWQgc2V0QmxhbmtBbmNob3JUYXJnZXRJbXBsaWVzTm9PcGVuZXJFbmFibGVk
KGJvb2wgaXNFbmFibGVkKSB7IG1fYmxhbmtBbmNob3JUYXJnZXRJbXBsaWVzTm9PcGVuZXJFbmFi
bGVkID0gaXNFbmFibGVkOyB9CisgICAgYm9vbCBibGFua0FuY2hvclRhcmdldEltcGxpZXNOb09w
ZW5lckVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2JsYW5rQW5jaG9yVGFyZ2V0SW1wbGllc05v
T3BlbmVyRW5hYmxlZDsgfQorCiAgICAgdm9pZCBzZXREaXNwbGF5Q29udGVudHNFbmFibGVkKGJv
b2wgaXNFbmFibGVkKSB7IG1faXNEaXNwbGF5Q29udGVudHNFbmFibGVkID0gaXNFbmFibGVkOyB9
CiAgICAgYm9vbCBkaXNwbGF5Q29udGVudHNFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9pc0Rp
c3BsYXlDb250ZW50c0VuYWJsZWQ7IH0KIApAQCAtMzAwLDYgKzMwMyw3IEBAIHByaXZhdGU6CiAg
ICAgLy8gTmV2ZXIgaW5zdGFudGlhdGUuCiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlcygpOwog
CisgICAgYm9vbCBtX2JsYW5rQW5jaG9yVGFyZ2V0SW1wbGllc05vT3BlbmVyRW5hYmxlZCB7IHRy
dWUgfTsKICAgICBib29sIG1fYXJlTW9kZXJuTWVkaWFDb250cm9sc0VuYWJsZWQgeyBmYWxzZSB9
OwogICAgIGJvb2wgbV9pc0xpbmtQcmVsb2FkRW5hYmxlZCB7IHRydWUgfTsKICAgICBib29sIG1f
aXNMaW5rUHJlZmV0Y2hFbmFibGVkIHsgZmFsc2UgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQ
cmVmZXJlbmNlcy55YW1sCmluZGV4IDc1NjQ5OGIzMWI0Li4yMWFkNTY5NGE4MCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sCkBAIC0xLDMgKzEsMTEgQEAKK0JsYW5r
QW5jaG9yVGFyZ2V0SW1wbGllc05vT3BlbmVyRW5hYmxlZDoKKyAgIHR5cGU6IGJvb2wKKyAgIGRl
ZmF1bHRWYWx1ZTogdHJ1ZQorICAgd2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVkRmVhdHVy
ZXMKKyAgIGh1bWFuUmVhZGFibGVOYW1lOiAiQmxhbmsgYW5jaG9yIHRhcmdldCBpbXBsaWVzIHJl
bD1ub29wZW5lciIKKyAgIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogInRhcmdldD1fYmxhbmsg
b24gYW5jaG9yIGVsZW1lbnRzIGltcGxpZXMgcmVsPW5vb3BlbmVyIgorICAgY2F0ZWdvcnk6IGV4
cGVyaW1lbnRhbAorCiBKYXZhU2NyaXB0RW5hYmxlZDoKICAgdHlwZTogYm9vbAogICBkZWZhdWx0
VmFsdWU6IHRydWUKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0
Q29jb2EvUHJvY2Vzc1N3YXBPbk5hdmlnYXRpb24ubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rl
c3RzL1dlYktpdENvY29hL1Byb2Nlc3NTd2FwT25OYXZpZ2F0aW9uLm1tCmluZGV4IDc2MTVhZWUz
MTE3Li44NDQ4NDI4NjIwMSAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9X
ZWJLaXRDb2NvYS9Qcm9jZXNzU3dhcE9uTmF2aWdhdGlvbi5tbQorKysgYi9Ub29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1Byb2Nlc3NTd2FwT25OYXZpZ2F0aW9uLm1tCkBAIC0y
ODAsNyArMjgwLDE2IEBAIHdpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbigpIHsKIDwvc2NyaXB0Pgog
KVBTT05SRVNPVVJDRSI7CiAKLXN0YXRpYyBjb25zdCBjaGFyKiB0YXJnZXRCbGFua0Nyb3NzU2l0
ZVdpdGhPcGVuZXJUZXN0Qnl0ZXMgPSBSIlBTT05SRVNPVVJDRSgKK3N0YXRpYyBjb25zdCBjaGFy
KiB0YXJnZXRCbGFua0Nyb3NzU2l0ZVdpdGhFeHBsaWNpdE9wZW5lclRlc3RCeXRlcyA9IFIiUFNP
TlJFU09VUkNFKAorPGEgaWQ9InRlc3RMaW5rIiB0YXJnZXQ9Il9ibGFuayIgaHJlZj0icHNvbjov
L3d3dy5hcHBsZS5jb20vbWFpbi5odG1sIiByZWw9Im9wZW5lciI+TGluazwvYT4KKzxzY3JpcHQ+
Cit3aW5kb3cub25sb2FkID0gZnVuY3Rpb24oKSB7CisgICAgdGVzdExpbmsuY2xpY2soKTsKK30K
Kzwvc2NyaXB0PgorKVBTT05SRVNPVVJDRSI7CisKK3N0YXRpYyBjb25zdCBjaGFyKiB0YXJnZXRC
bGFua0Nyb3NzU2l0ZVdpdGhJbXBsaWNpdE5vT3BlbmVyVGVzdEJ5dGVzID0gUiJQU09OUkVTT1VS
Q0UoCiA8YSBpZD0idGVzdExpbmsiIHRhcmdldD0iX2JsYW5rIiBocmVmPSJwc29uOi8vd3d3LmFw
cGxlLmNvbS9tYWluLmh0bWwiPkxpbms8L2E+CiA8c2NyaXB0Pgogd2luZG93Lm9ubG9hZCA9IGZ1
bmN0aW9uKCkgewpAQCAtNjkzLDcgKzcwMiw3IEBAIFRFU1QoUHJvY2Vzc1N3YXAsIENyb3NzU2l0
ZUJsYW5rVGFyZ2V0V2l0aE9wZW5lcikKICAgICBhdXRvIHdlYlZpZXdDb25maWd1cmF0aW9uID0g
YWRvcHROUyhbW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gYWxsb2NdIGluaXRdKTsKICAgICBbd2Vi
Vmlld0NvbmZpZ3VyYXRpb24gc2V0UHJvY2Vzc1Bvb2w6cHJvY2Vzc1Bvb2wuZ2V0KCldOwogICAg
IGF1dG8gaGFuZGxlciA9IGFkb3B0TlMoW1tQU09OU2NoZW1lIGFsbG9jXSBpbml0XSk7Ci0gICAg
W2hhbmRsZXIgYWRkTWFwcGluZ0Zyb21VUkxTdHJpbmc6QCJwc29uOi8vd3d3LndlYmtpdC5vcmcv
bWFpbi5odG1sIiB0b0RhdGE6dGFyZ2V0QmxhbmtDcm9zc1NpdGVXaXRoT3BlbmVyVGVzdEJ5dGVz
XTsKKyAgICBbaGFuZGxlciBhZGRNYXBwaW5nRnJvbVVSTFN0cmluZzpAInBzb246Ly93d3cud2Vi
a2l0Lm9yZy9tYWluLmh0bWwiIHRvRGF0YTp0YXJnZXRCbGFua0Nyb3NzU2l0ZVdpdGhFeHBsaWNp
dE9wZW5lclRlc3RCeXRlc107CiAgICAgW3dlYlZpZXdDb25maWd1cmF0aW9uIHNldFVSTFNjaGVt
ZUhhbmRsZXI6aGFuZGxlci5nZXQoKSBmb3JVUkxTY2hlbWU6QCJQU09OIl07CiAKICAgICBhdXRv
IHdlYlZpZXcgPSBhZG9wdE5TKFtbV0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOk5TTWFr
ZVJlY3QoMCwgMCwgODAwLCA2MDApIGNvbmZpZ3VyYXRpb246d2ViVmlld0NvbmZpZ3VyYXRpb24u
Z2V0KCldKTsKQEAgLTcyNCw2ICs3MzMsNDYgQEAgVEVTVChQcm9jZXNzU3dhcCwgQ3Jvc3NTaXRl
QmxhbmtUYXJnZXRXaXRoT3BlbmVyKQogICAgIEVYUEVDVF9FUShwaWQxLCBwaWQyKTsKIH0KIAor
VEVTVChQcm9jZXNzU3dhcCwgQ3Jvc3NTaXRlQmxhbmtUYXJnZXRJbXBsaWNpdE5vT3BlbmVyKQor
eworICAgIGF1dG8gcHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uID0gYWRvcHROUyhbW19XS1Byb2Nl
c3NQb29sQ29uZmlndXJhdGlvbiBhbGxvY10gaW5pdF0pOworICAgIHByb2Nlc3NQb29sQ29uZmln
dXJhdGlvbi5nZXQoKS5wcm9jZXNzU3dhcHNPbk5hdmlnYXRpb24gPSBZRVM7CisgICAgYXV0byBw
cm9jZXNzUG9vbCA9IGFkb3B0TlMoW1tXS1Byb2Nlc3NQb29sIGFsbG9jXSBfaW5pdFdpdGhDb25m
aWd1cmF0aW9uOnByb2Nlc3NQb29sQ29uZmlndXJhdGlvbi5nZXQoKV0pOworCisgICAgYXV0byB3
ZWJWaWV3Q29uZmlndXJhdGlvbiA9IGFkb3B0TlMoW1tXS1dlYlZpZXdDb25maWd1cmF0aW9uIGFs
bG9jXSBpbml0XSk7CisgICAgW3dlYlZpZXdDb25maWd1cmF0aW9uIHNldFByb2Nlc3NQb29sOnBy
b2Nlc3NQb29sLmdldCgpXTsKKyAgICBhdXRvIGhhbmRsZXIgPSBhZG9wdE5TKFtbUFNPTlNjaGVt
ZSBhbGxvY10gaW5pdF0pOworICAgIFtoYW5kbGVyIGFkZE1hcHBpbmdGcm9tVVJMU3RyaW5nOkAi
cHNvbjovL3d3dy53ZWJraXQub3JnL21haW4uaHRtbCIgdG9EYXRhOnRhcmdldEJsYW5rQ3Jvc3NT
aXRlV2l0aEltcGxpY2l0Tm9PcGVuZXJUZXN0Qnl0ZXNdOworICAgIFt3ZWJWaWV3Q29uZmlndXJh
dGlvbiBzZXRVUkxTY2hlbWVIYW5kbGVyOmhhbmRsZXIuZ2V0KCkgZm9yVVJMU2NoZW1lOkAiUFNP
TiJdOworCisgICAgYXV0byB3ZWJWaWV3ID0gYWRvcHROUyhbW1dLV2ViVmlldyBhbGxvY10gaW5p
dFdpdGhGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDgwMCwgNjAwKSBjb25maWd1cmF0aW9uOndlYlZp
ZXdDb25maWd1cmF0aW9uLmdldCgpXSk7CisgICAgYXV0byBuYXZpZ2F0aW9uRGVsZWdhdGUgPSBh
ZG9wdE5TKFtbUFNPTk5hdmlnYXRpb25EZWxlZ2F0ZSBhbGxvY10gaW5pdF0pOworICAgIFt3ZWJW
aWV3IHNldE5hdmlnYXRpb25EZWxlZ2F0ZTpuYXZpZ2F0aW9uRGVsZWdhdGUuZ2V0KCldOworICAg
IGF1dG8gdWlEZWxlZ2F0ZSA9IGFkb3B0TlMoW1tQU09OVUlEZWxlZ2F0ZSBhbGxvY10gaW5pdFdp
dGhOYXZpZ2F0aW9uRGVsZWdhdGU6bmF2aWdhdGlvbkRlbGVnYXRlLmdldCgpXSk7CisgICAgW3dl
YlZpZXcgc2V0VUlEZWxlZ2F0ZTp1aURlbGVnYXRlLmdldCgpXTsKKworICAgIG51bWJlck9mRGVj
aWRlUG9saWN5Q2FsbHMgPSAwOworICAgIE5TVVJMUmVxdWVzdCAqcmVxdWVzdCA9IFtOU1VSTFJl
cXVlc3QgcmVxdWVzdFdpdGhVUkw6W05TVVJMIFVSTFdpdGhTdHJpbmc6QCJwc29uOi8vd3d3Lndl
YmtpdC5vcmcvbWFpbi5odG1sIl1dOworICAgIFt3ZWJWaWV3IGxvYWRSZXF1ZXN0OnJlcXVlc3Rd
OworCisgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZkb25lKTsKKyAgICBkb25lID0gZmFs
c2U7CisKKyAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRpZENyZWF0ZVdlYlZpZXcpOwor
ICAgIGRpZENyZWF0ZVdlYlZpZXcgPSBmYWxzZTsKKworICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6
OnJ1bigmZG9uZSk7CisKKyAgICBFWFBFQ1RfRVEoMywgbnVtYmVyT2ZEZWNpZGVQb2xpY3lDYWxs
cyk7CisKKyAgICBhdXRvIHBpZDEgPSBbd2ViVmlldyBfd2ViUHJvY2Vzc0lkZW50aWZpZXJdOwor
ICAgIEVYUEVDVF9UUlVFKCEhcGlkMSk7CisgICAgYXV0byBwaWQyID0gW2NyZWF0ZWRXZWJWaWV3
IF93ZWJQcm9jZXNzSWRlbnRpZmllcl07CisgICAgRVhQRUNUX1RSVUUoISFwaWQyKTsKKworICAg
IEVYUEVDVF9ORShwaWQxLCBwaWQyKTsKK30KKwogVEVTVChQcm9jZXNzU3dhcCwgQ3Jvc3NTaXRl
QmxhbmtUYXJnZXROb09wZW5lcikKIHsKICAgICBhdXRvIHByb2Nlc3NQb29sQ29uZmlndXJhdGlv
biA9IGFkb3B0TlMoW1tfV0tQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24gYWxsb2NdIGluaXRdKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>352076</attachid>
            <date>2018-10-11 14:23:01 -0700</date>
            <delta_ts>2018-10-11 15:05:47 -0700</delta_ts>
            <desc>WIP Patch (needs dependency to land)</desc>
            <filename>190481_blank_target_implicit_noopener_wip.patch</filename>
            <type>text/plain</type>
            <size>14761</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9U
ZXN0RXhwZWN0YXRpb25zCmluZGV4IDRhMGRlNDMwN2I3Li4zMzE1MjcwMzQ0NSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9UZXN0RXhw
ZWN0YXRpb25zCkBAIC0yODY1LDYgKzI4NjUsMTMgQEAgd2Via2l0Lm9yZy9iLzE4NTMwOCBsZWdh
Y3ktYW5pbWF0aW9uLWVuZ2luZS9hbmltYXRpb25zL2NvbWJvLXRyYW5zZm9ybS10cmFuc2xhdGUK
ICMgVGhpcyBuZXdseSBpbXBvcnRlZCB0ZXN0IGNyYXNoZXMgaW4gZGVidWcgYW5kIGZsYWtpbHkg
dGltZXMgb3V0Lgogd2Via2l0Lm9yZy9iLzE4OTkxNyBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2h0bWwvd2ViYXBwYXBpcy9keW5hbWljLW1hcmt1cC1pbnNlcnRpb24vZG9jdW1lbnQt
d3JpdGUvY29udGVudFR5cGUud2luZG93Lmh0bWwgWyBTa2lwIF0KIAorIyBUaGVzZSB0ZXN0cyBz
dGFydGVkIHRvIHRpbWUgb3V0IG9yIGZhaWwgYmVjYXVzZSBvZiBvdXIgZXhwZXJpbWVudCB0byBo
YXZlIHRhcmdldD1fYmxhbmsgb24gYW5jaG9ycyBpbXBseSByZWw9bm9vcGVuZXIgKGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTA0ODEpLgoraW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL3dpbmRvd3MvYXV4aWxpYXJ5LWJyb3dzaW5n
LWNvbnRleHRzL29wZW5lci1jbG9zZWQuaHRtbCBbIFNraXAgXQoraW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL3dpbmRvd3MvYnJvd3NpbmctY29udGV4dC1uYW1l
cy8wMDIuaHRtbCBbIFNraXAgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1s
L3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L3RoZS1pZnJhbWUtZWxlbWVudC9pZnJhbWVfc2Fu
ZGJveF9wb3B1cHNfZXNjYXBpbmctMi5odG1sIFsgU2tpcCBdCitpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvdGhlLWlmcmFtZS1l
bGVtZW50L2lmcmFtZV9zYW5kYm94X3BvcHVwc19ub25lc2NhcGluZy0yLmh0bWwgWyBTa2lwIF0K
K2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy93aW5kb3dzL2Jy
b3dzaW5nLWNvbnRleHQtbmFtZXMvY2hvb3NlLV9ibGFuay0wMDMuaHRtbCBbIEZhaWx1cmUgXQor
CiBmYXN0L2dyYWRpZW50cy9jb25pYy1yZXBlYXRpbmcuaHRtbCBbIFNraXAgXQogZmFzdC9ncmFk
aWVudHMvY29uaWMuaHRtbCBbIFNraXAgXQogZmFzdC9ncmFkaWVudHMvY29uaWMtb2ZmLWNlbnRl
ci5odG1sIFsgU2tpcCBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmln
YXRpb24vbm8tcmVmZXJyZXItcmVzZXQuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2
aWdhdGlvbi9uby1yZWZlcnJlci1yZXNldC5odG1sCmluZGV4IGRjNDdmZjIwYTg0Li4zMjlhNTM3
ZTA0NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL25vLXJl
ZmVycmVyLXJlc2V0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9u
L25vLXJlZmVycmVyLXJlc2V0Lmh0bWwKQEAgLTQsNyArNCw3IEBAIFRoaXMgdGVzdHMgd2hldGhl
ciByZWZlcnJlciBpbmZvcm1hdGlvbiBnZXRzIHByb3Blcmx5IHNldCBhbmQgcmVzZXQgd2hlbiAi
bm9yZWZlCiAyLiBDbGljayBhIHJlbD0ibm9yZWZlcnJlciIgbGluazogcmVmZXJyZXIgaXMgbnVs
bCwgYnV0IHdpbmRvdy5vcGVuZXIgcmVtYWlucyBzZXQgc2luY2UgdGhlIGxpbmsgd2FzIG5vdCBv
cGVuZWQgd2l0aCB0YXJnZXQ9Il9ibGFuayIuPGJyLz4KIDMuIENsaWNrIGEgbGluayB3aXRob3V0
IHJlbD0ibm9yZWZlcnJlciI6IHJlZmVycmVyIGlzIHNlbnQsIGJ1dCB3aW5kb3cub3BlbmVyIGlz
IHN0aWxsIHNldC4KIDxici8+Ci08YSBpZD0ibGluayIgaHJlZj0icmVzb3VyY2VzL25vLXJlZmVy
cmVyLXJlc2V0LWhlbHBlci5waHAiIHRhcmdldD0iX2JsYW5rIj5TdGFydCByZXNldCB0ZXN0PC9h
PgorPGEgaWQ9ImxpbmsiIGhyZWY9InJlc291cmNlcy9uby1yZWZlcnJlci1yZXNldC1oZWxwZXIu
cGhwIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJvcGVuZXIiPlN0YXJ0IHJlc2V0IHRlc3Q8L2E+CiA8
c2NyaXB0PgogICAgIHdpbmRvdy5uYW1lID0gImNvbnNvbGVXaW5kb3ciOwogICAgIHdpbmRvdy5u
b3JlZmVycmVyU3RlcERvbmUgPSBmYWxzZTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvc2VjdXJpdHkvcmVzb3VyY2VzL3JlZmVycmVyLXBvbGljeS1yZWRpcmVjdC1saW5rLmh0
bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3Jlc291cmNlcy9yZWZlcnJlci1w
b2xpY3ktcmVkaXJlY3QtbGluay5odG1sCmluZGV4IDU4OTI5MTUwYWQ3Li5mYjFiZjMzNjhmNSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9yZXNvdXJjZXMvcmVm
ZXJyZXItcG9saWN5LXJlZGlyZWN0LWxpbmsuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3NlY3VyaXR5L3Jlc291cmNlcy9yZWZlcnJlci1wb2xpY3ktcmVkaXJlY3QtbGluay5odG1s
CkBAIC0yMSw3ICsyMSw3IEBAIGZ1bmN0aW9uIHJlY2VpdmVNZXNzYWdlKGV2dCkgewogPC9zY3Jp
cHQ+CiA8L2hlYWQ+CiA8Ym9keT4KLTxhIGlkPSJsaW5rIiB0YXJnZXQ9Il9ibGFuayIgaHJlZj0i
aHR0cHM6Ly8xMjcuMC4wLjE6ODQ0My9yZXNvdXJjZXMvcmVkaXJlY3QucGhwP3VybD1odHRwOi8v
MTI3LjAuMC4xOjgwMDAvc2VjdXJpdHkvcmVzb3VyY2VzL3JlZmVycmVyLXBvbGljeS1wb3N0bWVz
c2FnZS5waHAiPklmIG5vdCBydW5uaW5nIGluIER1bXBSZW5kZXJUcmVlLCBjbGljayB0aGlzIGxp
bms8L2E+Cis8YSBpZD0ibGluayIgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHBzOi8vMTI3LjAu
MC4xOjg0NDMvcmVzb3VyY2VzL3JlZGlyZWN0LnBocD91cmw9aHR0cDovLzEyNy4wLjAuMTo4MDAw
L3NlY3VyaXR5L3Jlc291cmNlcy9yZWZlcnJlci1wb2xpY3ktcG9zdG1lc3NhZ2UucGhwIiByZWw9
Im9wZW5lciI+SWYgbm90IHJ1bm5pbmcgaW4gRHVtcFJlbmRlclRyZWUsIGNsaWNrIHRoaXMgbGlu
azwvYT4KIDxkaXYgaWQ9ImxvZyI+PC9kaXY+CiA8L2JvZHk+CiA8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3hzcy1ERU5JRUQtc2NyaXB0LWluamVj
dC1pbnRvLWluYWN0aXZlLXdpbmRvdzItcHNvbi5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9zZWN1cml0eS94c3MtREVOSUVELXNjcmlwdC1pbmplY3QtaW50by1pbmFjdGl2ZS13aW5kb3cy
LXBzb24uaHRtbAppbmRleCA2YTU5YzJjNzA2Yy4uOGRlYTJjOGU4NGEgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkveHNzLURFTklFRC1zY3JpcHQtaW5qZWN0LWlu
dG8taW5hY3RpdmUtd2luZG93Mi1wc29uLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9zZWN1cml0eS94c3MtREVOSUVELXNjcmlwdC1pbmplY3QtaW50by1pbmFjdGl2ZS13aW5kb3cy
LXBzb24uaHRtbApAQCAtMzUsNiArMzUsNyBAQCBpZiAoZG9jdW1lbnQubG9jYXRpb24uc2VhcmNo
LmluZGV4T2YoIj9hY3R1YWxseS1hdHRhY2siKSAhPT0gLTEpIHsKICAgICAvLyBDYXNlOiBJbml0
aWFsIGxvYWQKICAgICB2YXIgbGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImEiKTsKICAg
ICBsaW5rLnRhcmdldCA9ICJfYmxhbmsiOworICAgIGxpbmsucmVsID0gIm9wZW5lciI7CiAgICAg
bGluay5ocmVmID0gIj9hY3R1YWxseS1hdHRhY2siOwogICAgIGxpbmsuY2xpY2soKTsgLy8gT3Bl
biBhIG5ldyB3aW5kb3cuCiB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Nl
Y3VyaXR5L3hzcy1ERU5JRUQtc2NyaXB0LWluamVjdC1pbnRvLWluYWN0aXZlLXdpbmRvdzIuaHRt
bCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkveHNzLURFTklFRC1zY3JpcHQtaW5q
ZWN0LWludG8taW5hY3RpdmUtd2luZG93Mi5odG1sCmluZGV4IDJiZTM1YTBmMjRmLi45NjBkMjZj
ZWU1NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS94c3MtREVO
SUVELXNjcmlwdC1pbmplY3QtaW50by1pbmFjdGl2ZS13aW5kb3cyLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS94c3MtREVOSUVELXNjcmlwdC1pbmplY3QtaW50by1p
bmFjdGl2ZS13aW5kb3cyLmh0bWwKQEAgLTM1LDYgKzM1LDcgQEAgaWYgKGRvY3VtZW50LmxvY2F0
aW9uLnNlYXJjaC5pbmRleE9mKCI/YWN0dWFsbHktYXR0YWNrIikgIT09IC0xKSB7CiAgICAgLy8g
Q2FzZTogSW5pdGlhbCBsb2FkCiAgICAgdmFyIGxpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJhIik7CiAgICAgbGluay50YXJnZXQgPSAiX2JsYW5rIjsKKyAgICBsaW5rLnJlbCA9ICJvcGVu
ZXIiOwogICAgIGxpbmsuaHJlZiA9ICI/YWN0dWFsbHktYXR0YWNrIjsKICAgICBsaW5rLmNsaWNr
KCk7IC8vIE9wZW4gYSBuZXcgd2luZG93LgogfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9zZWN1cml0eS94c3NBdWRpdG9yL2xpbmstb3BlbnMtbmV3LXdpbmRvdy5odG1sIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS94c3NBdWRpdG9yL2xpbmstb3BlbnMtbmV3
LXdpbmRvdy5odG1sCmluZGV4IDFhMmZhYzI0YTNiLi43ZGU1ZmY2YWI4MiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS94c3NBdWRpdG9yL2xpbmstb3BlbnMtbmV3
LXdpbmRvdy5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkveHNzQXVk
aXRvci9saW5rLW9wZW5zLW5ldy13aW5kb3cuaHRtbApAQCAtMTksNiArMTksNiBAQCB3aW5kb3cu
b25sb2FkID0gZnVuY3Rpb24oKQogPC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keT4KLTxhIGlkPSJh
bmNob3JMaW5rIiBocmVmPSJodHRwOi8vbG9jYWxob3N0OjgwMDAvc2VjdXJpdHkveHNzQXVkaXRv
ci9yZXNvdXJjZXMvZWNoby1pbnRlcnRhZy5wbD90ZXN0PS9zZWN1cml0eS94c3NBdWRpdG9yL2xp
bmstb3BlbnMtbmV3LXdpbmRvdy5odG1sJm5vdGlmeURvbmU9MSZxPTxzY3JpcHQ+YWxlcnQoU3Ry
aW5nLmZyb21DaGFyQ29kZSgweDU4LDB4NTMsMHg1MykpPC9zY3JpcHQ+IiB0YXJnZXQ9Il9ibGFu
ayI+Q2xpY2sgbWU8L2E+Cis8YSBpZD0iYW5jaG9yTGluayIgaHJlZj0iaHR0cDovL2xvY2FsaG9z
dDo4MDAwL3NlY3VyaXR5L3hzc0F1ZGl0b3IvcmVzb3VyY2VzL2VjaG8taW50ZXJ0YWcucGw/dGVz
dD0vc2VjdXJpdHkveHNzQXVkaXRvci9saW5rLW9wZW5zLW5ldy13aW5kb3cuaHRtbCZub3RpZnlE
b25lPTEmcT08c2NyaXB0PmFsZXJ0KFN0cmluZy5mcm9tQ2hhckNvZGUoMHg1OCwweDUzLDB4NTMp
KTwvc2NyaXB0PiIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ib3BlbmVyIj5DbGljayBtZTwvYT4KIDwv
Ym9keT4KIDwvaHRtbD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFuY2hv
ckVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5jcHAK
aW5kZXggMjdjMGEwZDIzYTcuLjIxZGIyZTU0YWJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxBbmNob3JFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxBbmNob3JFbGVtZW50LmNwcApAQCAtMjUwLDEyICsyNTAsMTUgQEAgdm9pZCBIVE1MQW5jaG9y
RWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSwgY29uc3Qg
QXRvbWljU3QKICAgICAgICAgLy8gVXBkYXRlIEhUTUxBbmNob3JFbGVtZW50OjpyZWxMaXN0KCkg
aWYgbW9yZSByZWwgYXR0cmlidXRlcyB2YWx1ZXMgYXJlIHN1cHBvcnRlZC4KICAgICAgICAgc3Rh
dGljIE5ldmVyRGVzdHJveWVkPEF0b21pY1N0cmluZz4gbm9SZWZlcnJlcigibm9yZWZlcnJlciIs
IEF0b21pY1N0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpOwogICAgICAgICBzdGF0aWMgTmV2
ZXJEZXN0cm95ZWQ8QXRvbWljU3RyaW5nPiBub09wZW5lcigibm9vcGVuZXIiLCBBdG9taWNTdHJp
bmc6OkNvbnN0cnVjdEZyb21MaXRlcmFsKTsKKyAgICAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVk
PEF0b21pY1N0cmluZz4gb3BlbmVyKCJvcGVuZXIiLCBBdG9taWNTdHJpbmc6OkNvbnN0cnVjdEZy
b21MaXRlcmFsKTsKICAgICAgICAgY29uc3QgYm9vbCBzaG91bGRGb2xkQ2FzZSA9IHRydWU7CiAg
ICAgICAgIFNwYWNlU3BsaXRTdHJpbmcgcmVsVmFsdWUodmFsdWUsIHNob3VsZEZvbGRDYXNlKTsK
ICAgICAgICAgaWYgKHJlbFZhbHVlLmNvbnRhaW5zKG5vUmVmZXJyZXIpKQogICAgICAgICAgICAg
bV9saW5rUmVsYXRpb25zLmFkZChSZWxhdGlvbjo6Tm9SZWZlcnJlcik7CiAgICAgICAgIGlmIChy
ZWxWYWx1ZS5jb250YWlucyhub09wZW5lcikpCiAgICAgICAgICAgICBtX2xpbmtSZWxhdGlvbnMu
YWRkKFJlbGF0aW9uOjpOb09wZW5lcik7CisgICAgICAgIGlmIChyZWxWYWx1ZS5jb250YWlucyhv
cGVuZXIpKQorICAgICAgICAgICAgbV9saW5rUmVsYXRpb25zLmFkZChSZWxhdGlvbjo6T3BlbmVy
KTsKICAgICAgICAgaWYgKG1fcmVsTGlzdCkKICAgICAgICAgICAgIG1fcmVsTGlzdC0+YXNzb2Np
YXRlZEF0dHJpYnV0ZVZhbHVlQ2hhbmdlZCh2YWx1ZSk7CiAgICAgfQpAQCAtNDI3LDEyICs0MzAs
MzEgQEAgdm9pZCBIVE1MQW5jaG9yRWxlbWVudDo6aGFuZGxlQ2xpY2soRXZlbnQmIGV2ZW50KQog
I2VuZGlmCiAKICAgICBTaG91bGRTZW5kUmVmZXJyZXIgc2hvdWxkU2VuZFJlZmVycmVyID0gaGFz
UmVsKFJlbGF0aW9uOjpOb1JlZmVycmVyKSA/IE5ldmVyU2VuZFJlZmVycmVyIDogTWF5YmVTZW5k
UmVmZXJyZXI7Ci0gICAgYXV0byBuZXdGcmFtZU9wZW5lclBvbGljeSA9IGhhc1JlbChSZWxhdGlv
bjo6Tm9PcGVuZXIpID8gc3RkOjptYWtlX29wdGlvbmFsKE5ld0ZyYW1lT3BlbmVyUG9saWN5OjpT
dXBwcmVzcykgOiBzdGQ6Om51bGxvcHQ7Ci0gICAgZnJhbWUtPmxvYWRlcigpLnVybFNlbGVjdGVk
KGNvbXBsZXRlZFVSTCwgdGFyZ2V0KCksICZldmVudCwgTG9ja0hpc3Rvcnk6Ok5vLCBMb2NrQmFj
a0ZvcndhcmRMaXN0OjpObywgc2hvdWxkU2VuZFJlZmVycmVyLCBkb2N1bWVudCgpLnNob3VsZE9w
ZW5FeHRlcm5hbFVSTHNQb2xpY3lUb1Byb3BhZ2F0ZSgpLCBuZXdGcmFtZU9wZW5lclBvbGljeSwg
ZG93bmxvYWRBdHRyaWJ1dGUsIHN5c3RlbVByZXZpZXdJbmZvKTsKKworICAgIGF1dG8gZWZmZWN0
aXZlVGFyZ2V0ID0gdGhpcy0+ZWZmZWN0aXZlVGFyZ2V0KCk7CisgICAgc3RkOjpvcHRpb25hbDxO
ZXdGcmFtZU9wZW5lclBvbGljeT4gbmV3RnJhbWVPcGVuZXJQb2xpY3k7CisgICAgaWYgKGhhc1Jl
bChSZWxhdGlvbjo6T3BlbmVyKSkKKyAgICAgICAgbmV3RnJhbWVPcGVuZXJQb2xpY3kgPSBOZXdG
cmFtZU9wZW5lclBvbGljeTo6QWxsb3c7CisgICAgZWxzZSBpZiAoaGFzUmVsKFJlbGF0aW9uOjpO
b09wZW5lcikgfHwgaGFzUmVsKFJlbGF0aW9uOjpOb1JlZmVycmVyKSkKKyAgICAgICAgbmV3RnJh
bWVPcGVuZXJQb2xpY3kgPSBOZXdGcmFtZU9wZW5lclBvbGljeTo6U3VwcHJlc3M7CisgICAgZWxz
ZSBpZiAoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5ibGFua0FuY2hv
clRhcmdldEltcGxpZXNOb09wZW5lckVuYWJsZWQoKSAmJiBlcXVhbElnbm9yaW5nQVNDSUlDYXNl
KGVmZmVjdGl2ZVRhcmdldCwgIl9ibGFuayIpKQorICAgICAgICBuZXdGcmFtZU9wZW5lclBvbGlj
eSA9IE5ld0ZyYW1lT3BlbmVyUG9saWN5OjpTdXBwcmVzczsKKworICAgIGZyYW1lLT5sb2FkZXIo
KS51cmxTZWxlY3RlZChjb21wbGV0ZWRVUkwsIGVmZmVjdGl2ZVRhcmdldCwgJmV2ZW50LCBMb2Nr
SGlzdG9yeTo6Tm8sIExvY2tCYWNrRm9yd2FyZExpc3Q6Ok5vLCBzaG91bGRTZW5kUmVmZXJyZXIs
IGRvY3VtZW50KCkuc2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeVRvUHJvcGFnYXRlKCksIG5l
d0ZyYW1lT3BlbmVyUG9saWN5LCBkb3dubG9hZEF0dHJpYnV0ZSwgc3lzdGVtUHJldmlld0luZm8p
OwogCiAgICAgc2VuZFBpbmdzKGNvbXBsZXRlZFVSTCk7CiB9CiAKKy8vIEZhbGxzIGJhY2sgdG8g
dXNpbmcgPGJhc2U+IGVsZW1lbnQncyB0YXJnZXQgaWYgdGhlIGFuY2hvciBkb2VzIG5vdCBoYXZl
IG9uZS4KK1N0cmluZyBIVE1MQW5jaG9yRWxlbWVudDo6ZWZmZWN0aXZlVGFyZ2V0KCkgY29uc3QK
K3sKKyAgICBhdXRvIGVmZmVjdGl2ZVRhcmdldCA9IHRhcmdldCgpOworICAgIGlmIChlZmZlY3Rp
dmVUYXJnZXQuaXNFbXB0eSgpKQorICAgICAgICBlZmZlY3RpdmVUYXJnZXQgPSBkb2N1bWVudCgp
LmJhc2VUYXJnZXQoKTsKKyAgICByZXR1cm4gZWZmZWN0aXZlVGFyZ2V0OworfQorCisKIEhUTUxB
bmNob3JFbGVtZW50OjpFdmVudFR5cGUgSFRNTEFuY2hvckVsZW1lbnQ6OmV2ZW50VHlwZShFdmVu
dCYgZXZlbnQpCiB7CiAgICAgaWYgKCFpczxNb3VzZUV2ZW50PihldmVudCkpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBbmNob3JFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxBbmNob3JFbGVtZW50LmgKaW5kZXggYjFjNTFmN2Y0OTYuLjZiMDJjOWFiNGQ0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBbmNob3JFbGVtZW50LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5oCkBAIC0zNyw2ICszNyw3
IEBAIGNsYXNzIERPTVRva2VuTGlzdDsKIGVudW0gY2xhc3MgUmVsYXRpb24gewogICAgIE5vUmVm
ZXJyZXIgPSAxIDw8IDAsCiAgICAgTm9PcGVuZXIgPSAxIDw8IDEsCisgICAgT3BlbmVyID0gMSA8
PCAyLAogfTsKIAogY2xhc3MgSFRNTEFuY2hvckVsZW1lbnQgOiBwdWJsaWMgSFRNTEVsZW1lbnQs
IHB1YmxpYyBVUkxVdGlsczxIVE1MQW5jaG9yRWxlbWVudD4gewpAQCAtOTAsNiArOTEsOCBAQCBw
cml2YXRlOgogICAgIGludCB0YWJJbmRleCgpIGNvbnN0IGZpbmFsOwogICAgIGJvb2wgZHJhZ2dh
YmxlKCkgY29uc3QgZmluYWw7CiAKKyAgICBTdHJpbmcgZWZmZWN0aXZlVGFyZ2V0KCkgY29uc3Q7
CisKICAgICB2b2lkIHNlbmRQaW5ncyhjb25zdCBVUkwmIGRlc3RpbmF0aW9uVVJMKTsKIAogICAg
IHZvaWQgaGFuZGxlQ2xpY2soRXZlbnQmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9SdW50aW1l
RW5hYmxlZEZlYXR1cmVzLmgKaW5kZXggMTIwZjJlM2ZmMDAuLmY0NjRjYjkwMzQ4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaApAQCAtNDMsNiArNDMs
OSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBSdW50aW1lRW5hYmxlZEZlYXR1cmVzIHsK
ICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSdW50aW1lRW5hYmxlZEZlYXR1cmVzKTsKIHB1Ymxp
YzoKKyAgICB2b2lkIHNldEJsYW5rQW5jaG9yVGFyZ2V0SW1wbGllc05vT3BlbmVyRW5hYmxlZChi
b29sIGlzRW5hYmxlZCkgeyBtX2JsYW5rQW5jaG9yVGFyZ2V0SW1wbGllc05vT3BlbmVyRW5hYmxl
ZCA9IGlzRW5hYmxlZDsgfQorICAgIGJvb2wgYmxhbmtBbmNob3JUYXJnZXRJbXBsaWVzTm9PcGVu
ZXJFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9ibGFua0FuY2hvclRhcmdldEltcGxpZXNOb09w
ZW5lckVuYWJsZWQ7IH0KKwogICAgIHZvaWQgc2V0RGlzcGxheUNvbnRlbnRzRW5hYmxlZChib29s
IGlzRW5hYmxlZCkgeyBtX2lzRGlzcGxheUNvbnRlbnRzRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQog
ICAgIGJvb2wgZGlzcGxheUNvbnRlbnRzRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNEaXNw
bGF5Q29udGVudHNFbmFibGVkOyB9CiAKQEAgLTMwMCw2ICszMDMsNyBAQCBwcml2YXRlOgogICAg
IC8vIE5ldmVyIGluc3RhbnRpYXRlLgogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMoKTsKIAor
ICAgIGJvb2wgbV9ibGFua0FuY2hvclRhcmdldEltcGxpZXNOb09wZW5lckVuYWJsZWQgeyB0cnVl
IH07CiAgICAgYm9vbCBtX2FyZU1vZGVybk1lZGlhQ29udHJvbHNFbmFibGVkIHsgZmFsc2UgfTsK
ICAgICBib29sIG1faXNMaW5rUHJlbG9hZEVuYWJsZWQgeyB0cnVlIH07CiAgICAgYm9vbCBtX2lz
TGlua1ByZWZldGNoRW5hYmxlZCB7IGZhbHNlIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJl
ZmVyZW5jZXMueWFtbAppbmRleCA3NTY0OThiMzFiNC4uMjFhZDU2OTRhODAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwKKysrIGIvU291cmNlL1dl
YktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbApAQCAtMSwzICsxLDExIEBACitCbGFua0Fu
Y2hvclRhcmdldEltcGxpZXNOb09wZW5lckVuYWJsZWQ6CisgICB0eXBlOiBib29sCisgICBkZWZh
dWx0VmFsdWU6IHRydWUKKyAgIHdlYmNvcmVCaW5kaW5nOiBSdW50aW1lRW5hYmxlZEZlYXR1cmVz
CisgICBodW1hblJlYWRhYmxlTmFtZTogIkJsYW5rIGFuY2hvciB0YXJnZXQgaW1wbGllcyByZWw9
bm9vcGVuZXIiCisgICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJ0YXJnZXQ9X2JsYW5rIG9u
IGFuY2hvciBlbGVtZW50cyBpbXBsaWVzIHJlbD1ub29wZW5lciIKKyAgIGNhdGVnb3J5OiBleHBl
cmltZW50YWwKKwogSmF2YVNjcmlwdEVuYWJsZWQ6CiAgIHR5cGU6IGJvb2wKICAgZGVmYXVsdFZh
bHVlOiB0cnVlCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENv
Y29hL1Byb2Nlc3NTd2FwT25OYXZpZ2F0aW9uLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJLaXRDb2NvYS9Qcm9jZXNzU3dhcE9uTmF2aWdhdGlvbi5tbQppbmRleCA3NjE1YWVlMzEx
Ny4uODQ0ODQyODYyMDEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2Vi
S2l0Q29jb2EvUHJvY2Vzc1N3YXBPbk5hdmlnYXRpb24ubW0KKysrIGIvVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9Qcm9jZXNzU3dhcE9uTmF2aWdhdGlvbi5tbQpAQCAtMjgw
LDcgKzI4MCwxNiBAQCB3aW5kb3cub25sb2FkID0gZnVuY3Rpb24oKSB7CiA8L3NjcmlwdD4KIClQ
U09OUkVTT1VSQ0UiOwogCi1zdGF0aWMgY29uc3QgY2hhciogdGFyZ2V0QmxhbmtDcm9zc1NpdGVX
aXRoT3BlbmVyVGVzdEJ5dGVzID0gUiJQU09OUkVTT1VSQ0UoCitzdGF0aWMgY29uc3QgY2hhciog
dGFyZ2V0QmxhbmtDcm9zc1NpdGVXaXRoRXhwbGljaXRPcGVuZXJUZXN0Qnl0ZXMgPSBSIlBTT05S
RVNPVVJDRSgKKzxhIGlkPSJ0ZXN0TGluayIgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9InBzb246Ly93
d3cuYXBwbGUuY29tL21haW4uaHRtbCIgcmVsPSJvcGVuZXIiPkxpbms8L2E+Cis8c2NyaXB0Pgor
d2luZG93Lm9ubG9hZCA9IGZ1bmN0aW9uKCkgeworICAgIHRlc3RMaW5rLmNsaWNrKCk7Cit9Cis8
L3NjcmlwdD4KKylQU09OUkVTT1VSQ0UiOworCitzdGF0aWMgY29uc3QgY2hhciogdGFyZ2V0Qmxh
bmtDcm9zc1NpdGVXaXRoSW1wbGljaXROb09wZW5lclRlc3RCeXRlcyA9IFIiUFNPTlJFU09VUkNF
KAogPGEgaWQ9InRlc3RMaW5rIiB0YXJnZXQ9Il9ibGFuayIgaHJlZj0icHNvbjovL3d3dy5hcHBs
ZS5jb20vbWFpbi5odG1sIj5MaW5rPC9hPgogPHNjcmlwdD4KIHdpbmRvdy5vbmxvYWQgPSBmdW5j
dGlvbigpIHsKQEAgLTY5Myw3ICs3MDIsNyBAQCBURVNUKFByb2Nlc3NTd2FwLCBDcm9zc1NpdGVC
bGFua1RhcmdldFdpdGhPcGVuZXIpCiAgICAgYXV0byB3ZWJWaWV3Q29uZmlndXJhdGlvbiA9IGFk
b3B0TlMoW1tXS1dlYlZpZXdDb25maWd1cmF0aW9uIGFsbG9jXSBpbml0XSk7CiAgICAgW3dlYlZp
ZXdDb25maWd1cmF0aW9uIHNldFByb2Nlc3NQb29sOnByb2Nlc3NQb29sLmdldCgpXTsKICAgICBh
dXRvIGhhbmRsZXIgPSBhZG9wdE5TKFtbUFNPTlNjaGVtZSBhbGxvY10gaW5pdF0pOwotICAgIFto
YW5kbGVyIGFkZE1hcHBpbmdGcm9tVVJMU3RyaW5nOkAicHNvbjovL3d3dy53ZWJraXQub3JnL21h
aW4uaHRtbCIgdG9EYXRhOnRhcmdldEJsYW5rQ3Jvc3NTaXRlV2l0aE9wZW5lclRlc3RCeXRlc107
CisgICAgW2hhbmRsZXIgYWRkTWFwcGluZ0Zyb21VUkxTdHJpbmc6QCJwc29uOi8vd3d3LndlYmtp
dC5vcmcvbWFpbi5odG1sIiB0b0RhdGE6dGFyZ2V0QmxhbmtDcm9zc1NpdGVXaXRoRXhwbGljaXRP
cGVuZXJUZXN0Qnl0ZXNdOwogICAgIFt3ZWJWaWV3Q29uZmlndXJhdGlvbiBzZXRVUkxTY2hlbWVI
YW5kbGVyOmhhbmRsZXIuZ2V0KCkgZm9yVVJMU2NoZW1lOkAiUFNPTiJdOwogCiAgICAgYXV0byB3
ZWJWaWV3ID0gYWRvcHROUyhbW1dLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VS
ZWN0KDAsIDAsIDgwMCwgNjAwKSBjb25maWd1cmF0aW9uOndlYlZpZXdDb25maWd1cmF0aW9uLmdl
dCgpXSk7CkBAIC03MjQsNiArNzMzLDQ2IEBAIFRFU1QoUHJvY2Vzc1N3YXAsIENyb3NzU2l0ZUJs
YW5rVGFyZ2V0V2l0aE9wZW5lcikKICAgICBFWFBFQ1RfRVEocGlkMSwgcGlkMik7CiB9CiAKK1RF
U1QoUHJvY2Vzc1N3YXAsIENyb3NzU2l0ZUJsYW5rVGFyZ2V0SW1wbGljaXROb09wZW5lcikKK3sK
KyAgICBhdXRvIHByb2Nlc3NQb29sQ29uZmlndXJhdGlvbiA9IGFkb3B0TlMoW1tfV0tQcm9jZXNz
UG9vbENvbmZpZ3VyYXRpb24gYWxsb2NdIGluaXRdKTsKKyAgICBwcm9jZXNzUG9vbENvbmZpZ3Vy
YXRpb24uZ2V0KCkucHJvY2Vzc1N3YXBzT25OYXZpZ2F0aW9uID0gWUVTOworICAgIGF1dG8gcHJv
Y2Vzc1Bvb2wgPSBhZG9wdE5TKFtbV0tQcm9jZXNzUG9vbCBhbGxvY10gX2luaXRXaXRoQ29uZmln
dXJhdGlvbjpwcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24uZ2V0KCldKTsKKworICAgIGF1dG8gd2Vi
Vmlld0NvbmZpZ3VyYXRpb24gPSBhZG9wdE5TKFtbV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBhbGxv
Y10gaW5pdF0pOworICAgIFt3ZWJWaWV3Q29uZmlndXJhdGlvbiBzZXRQcm9jZXNzUG9vbDpwcm9j
ZXNzUG9vbC5nZXQoKV07CisgICAgYXV0byBoYW5kbGVyID0gYWRvcHROUyhbW1BTT05TY2hlbWUg
YWxsb2NdIGluaXRdKTsKKyAgICBbaGFuZGxlciBhZGRNYXBwaW5nRnJvbVVSTFN0cmluZzpAInBz
b246Ly93d3cud2Via2l0Lm9yZy9tYWluLmh0bWwiIHRvRGF0YTp0YXJnZXRCbGFua0Nyb3NzU2l0
ZVdpdGhJbXBsaWNpdE5vT3BlbmVyVGVzdEJ5dGVzXTsKKyAgICBbd2ViVmlld0NvbmZpZ3VyYXRp
b24gc2V0VVJMU2NoZW1lSGFuZGxlcjpoYW5kbGVyLmdldCgpIGZvclVSTFNjaGVtZTpAIlBTT04i
XTsKKworICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tXS1dlYlZpZXcgYWxsb2NdIGluaXRX
aXRoRnJhbWU6TlNNYWtlUmVjdCgwLCAwLCA4MDAsIDYwMCkgY29uZmlndXJhdGlvbjp3ZWJWaWV3
Q29uZmlndXJhdGlvbi5nZXQoKV0pOworICAgIGF1dG8gbmF2aWdhdGlvbkRlbGVnYXRlID0gYWRv
cHROUyhbW1BTT05OYXZpZ2F0aW9uRGVsZWdhdGUgYWxsb2NdIGluaXRdKTsKKyAgICBbd2ViVmll
dyBzZXROYXZpZ2F0aW9uRGVsZWdhdGU6bmF2aWdhdGlvbkRlbGVnYXRlLmdldCgpXTsKKyAgICBh
dXRvIHVpRGVsZWdhdGUgPSBhZG9wdE5TKFtbUFNPTlVJRGVsZWdhdGUgYWxsb2NdIGluaXRXaXRo
TmF2aWdhdGlvbkRlbGVnYXRlOm5hdmlnYXRpb25EZWxlZ2F0ZS5nZXQoKV0pOworICAgIFt3ZWJW
aWV3IHNldFVJRGVsZWdhdGU6dWlEZWxlZ2F0ZS5nZXQoKV07CisKKyAgICBudW1iZXJPZkRlY2lk
ZVBvbGljeUNhbGxzID0gMDsKKyAgICBOU1VSTFJlcXVlc3QgKnJlcXVlc3QgPSBbTlNVUkxSZXF1
ZXN0IHJlcXVlc3RXaXRoVVJMOltOU1VSTCBVUkxXaXRoU3RyaW5nOkAicHNvbjovL3d3dy53ZWJr
aXQub3JnL21haW4uaHRtbCJdXTsKKyAgICBbd2ViVmlldyBsb2FkUmVxdWVzdDpyZXF1ZXN0XTsK
KworICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZG9uZSk7CisgICAgZG9uZSA9IGZhbHNl
OworCisgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZkaWRDcmVhdGVXZWJWaWV3KTsKKyAg
ICBkaWRDcmVhdGVXZWJWaWV3ID0gZmFsc2U7CisKKyAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpy
dW4oJmRvbmUpOworCisgICAgRVhQRUNUX0VRKDMsIG51bWJlck9mRGVjaWRlUG9saWN5Q2FsbHMp
OworCisgICAgYXV0byBwaWQxID0gW3dlYlZpZXcgX3dlYlByb2Nlc3NJZGVudGlmaWVyXTsKKyAg
ICBFWFBFQ1RfVFJVRSghIXBpZDEpOworICAgIGF1dG8gcGlkMiA9IFtjcmVhdGVkV2ViVmlldyBf
d2ViUHJvY2Vzc0lkZW50aWZpZXJdOworICAgIEVYUEVDVF9UUlVFKCEhcGlkMik7CisKKyAgICBF
WFBFQ1RfTkUocGlkMSwgcGlkMik7Cit9CisKIFRFU1QoUHJvY2Vzc1N3YXAsIENyb3NzU2l0ZUJs
YW5rVGFyZ2V0Tm9PcGVuZXIpCiB7CiAgICAgYXV0byBwcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24g
PSBhZG9wdE5TKFtbX1dLUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uIGFsbG9jXSBpbml0XSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>352087</attachid>
            <date>2018-10-11 15:05:47 -0700</date>
            <delta_ts>2018-10-15 10:07:11 -0700</delta_ts>
            <desc>WIP Patch (needs dependency to land)</desc>
            <filename>190481_blank_target_implicit_noopener_wip.patch</filename>
            <type>text/plain</type>
            <size>14653</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9U
ZXN0RXhwZWN0YXRpb25zCmluZGV4IDRhMGRlNDMwN2I3Li4zMzE1MjcwMzQ0NSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9UZXN0RXhw
ZWN0YXRpb25zCkBAIC0yODY1LDYgKzI4NjUsMTMgQEAgd2Via2l0Lm9yZy9iLzE4NTMwOCBsZWdh
Y3ktYW5pbWF0aW9uLWVuZ2luZS9hbmltYXRpb25zL2NvbWJvLXRyYW5zZm9ybS10cmFuc2xhdGUK
ICMgVGhpcyBuZXdseSBpbXBvcnRlZCB0ZXN0IGNyYXNoZXMgaW4gZGVidWcgYW5kIGZsYWtpbHkg
dGltZXMgb3V0Lgogd2Via2l0Lm9yZy9iLzE4OTkxNyBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2h0bWwvd2ViYXBwYXBpcy9keW5hbWljLW1hcmt1cC1pbnNlcnRpb24vZG9jdW1lbnQt
d3JpdGUvY29udGVudFR5cGUud2luZG93Lmh0bWwgWyBTa2lwIF0KIAorIyBUaGVzZSB0ZXN0cyBz
dGFydGVkIHRvIHRpbWUgb3V0IG9yIGZhaWwgYmVjYXVzZSBvZiBvdXIgZXhwZXJpbWVudCB0byBo
YXZlIHRhcmdldD1fYmxhbmsgb24gYW5jaG9ycyBpbXBseSByZWw9bm9vcGVuZXIgKGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTA0ODEpLgoraW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL3dpbmRvd3MvYXV4aWxpYXJ5LWJyb3dzaW5n
LWNvbnRleHRzL29wZW5lci1jbG9zZWQuaHRtbCBbIFNraXAgXQoraW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL3dpbmRvd3MvYnJvd3NpbmctY29udGV4dC1uYW1l
cy8wMDIuaHRtbCBbIFNraXAgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1s
L3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L3RoZS1pZnJhbWUtZWxlbWVudC9pZnJhbWVfc2Fu
ZGJveF9wb3B1cHNfZXNjYXBpbmctMi5odG1sIFsgU2tpcCBdCitpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvdGhlLWlmcmFtZS1l
bGVtZW50L2lmcmFtZV9zYW5kYm94X3BvcHVwc19ub25lc2NhcGluZy0yLmh0bWwgWyBTa2lwIF0K
K2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy93aW5kb3dzL2Jy
b3dzaW5nLWNvbnRleHQtbmFtZXMvY2hvb3NlLV9ibGFuay0wMDMuaHRtbCBbIEZhaWx1cmUgXQor
CiBmYXN0L2dyYWRpZW50cy9jb25pYy1yZXBlYXRpbmcuaHRtbCBbIFNraXAgXQogZmFzdC9ncmFk
aWVudHMvY29uaWMuaHRtbCBbIFNraXAgXQogZmFzdC9ncmFkaWVudHMvY29uaWMtb2ZmLWNlbnRl
ci5odG1sIFsgU2tpcCBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmln
YXRpb24vbm8tcmVmZXJyZXItcmVzZXQuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2
aWdhdGlvbi9uby1yZWZlcnJlci1yZXNldC5odG1sCmluZGV4IGRjNDdmZjIwYTg0Li4zMjlhNTM3
ZTA0NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL25vLXJl
ZmVycmVyLXJlc2V0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9u
L25vLXJlZmVycmVyLXJlc2V0Lmh0bWwKQEAgLTQsNyArNCw3IEBAIFRoaXMgdGVzdHMgd2hldGhl
ciByZWZlcnJlciBpbmZvcm1hdGlvbiBnZXRzIHByb3Blcmx5IHNldCBhbmQgcmVzZXQgd2hlbiAi
bm9yZWZlCiAyLiBDbGljayBhIHJlbD0ibm9yZWZlcnJlciIgbGluazogcmVmZXJyZXIgaXMgbnVs
bCwgYnV0IHdpbmRvdy5vcGVuZXIgcmVtYWlucyBzZXQgc2luY2UgdGhlIGxpbmsgd2FzIG5vdCBv
cGVuZWQgd2l0aCB0YXJnZXQ9Il9ibGFuayIuPGJyLz4KIDMuIENsaWNrIGEgbGluayB3aXRob3V0
IHJlbD0ibm9yZWZlcnJlciI6IHJlZmVycmVyIGlzIHNlbnQsIGJ1dCB3aW5kb3cub3BlbmVyIGlz
IHN0aWxsIHNldC4KIDxici8+Ci08YSBpZD0ibGluayIgaHJlZj0icmVzb3VyY2VzL25vLXJlZmVy
cmVyLXJlc2V0LWhlbHBlci5waHAiIHRhcmdldD0iX2JsYW5rIj5TdGFydCByZXNldCB0ZXN0PC9h
PgorPGEgaWQ9ImxpbmsiIGhyZWY9InJlc291cmNlcy9uby1yZWZlcnJlci1yZXNldC1oZWxwZXIu
cGhwIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJvcGVuZXIiPlN0YXJ0IHJlc2V0IHRlc3Q8L2E+CiA8
c2NyaXB0PgogICAgIHdpbmRvdy5uYW1lID0gImNvbnNvbGVXaW5kb3ciOwogICAgIHdpbmRvdy5u
b3JlZmVycmVyU3RlcERvbmUgPSBmYWxzZTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvc2VjdXJpdHkvcmVzb3VyY2VzL3JlZmVycmVyLXBvbGljeS1yZWRpcmVjdC1saW5rLmh0
bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3Jlc291cmNlcy9yZWZlcnJlci1w
b2xpY3ktcmVkaXJlY3QtbGluay5odG1sCmluZGV4IDU4OTI5MTUwYWQ3Li5mYjFiZjMzNjhmNSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9yZXNvdXJjZXMvcmVm
ZXJyZXItcG9saWN5LXJlZGlyZWN0LWxpbmsuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3NlY3VyaXR5L3Jlc291cmNlcy9yZWZlcnJlci1wb2xpY3ktcmVkaXJlY3QtbGluay5odG1s
CkBAIC0yMSw3ICsyMSw3IEBAIGZ1bmN0aW9uIHJlY2VpdmVNZXNzYWdlKGV2dCkgewogPC9zY3Jp
cHQ+CiA8L2hlYWQ+CiA8Ym9keT4KLTxhIGlkPSJsaW5rIiB0YXJnZXQ9Il9ibGFuayIgaHJlZj0i
aHR0cHM6Ly8xMjcuMC4wLjE6ODQ0My9yZXNvdXJjZXMvcmVkaXJlY3QucGhwP3VybD1odHRwOi8v
MTI3LjAuMC4xOjgwMDAvc2VjdXJpdHkvcmVzb3VyY2VzL3JlZmVycmVyLXBvbGljeS1wb3N0bWVz
c2FnZS5waHAiPklmIG5vdCBydW5uaW5nIGluIER1bXBSZW5kZXJUcmVlLCBjbGljayB0aGlzIGxp
bms8L2E+Cis8YSBpZD0ibGluayIgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHBzOi8vMTI3LjAu
MC4xOjg0NDMvcmVzb3VyY2VzL3JlZGlyZWN0LnBocD91cmw9aHR0cDovLzEyNy4wLjAuMTo4MDAw
L3NlY3VyaXR5L3Jlc291cmNlcy9yZWZlcnJlci1wb2xpY3ktcG9zdG1lc3NhZ2UucGhwIiByZWw9
Im9wZW5lciI+SWYgbm90IHJ1bm5pbmcgaW4gRHVtcFJlbmRlclRyZWUsIGNsaWNrIHRoaXMgbGlu
azwvYT4KIDxkaXYgaWQ9ImxvZyI+PC9kaXY+CiA8L2JvZHk+CiA8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3hzcy1ERU5JRUQtc2NyaXB0LWluamVj
dC1pbnRvLWluYWN0aXZlLXdpbmRvdzItcHNvbi5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9zZWN1cml0eS94c3MtREVOSUVELXNjcmlwdC1pbmplY3QtaW50by1pbmFjdGl2ZS13aW5kb3cy
LXBzb24uaHRtbAppbmRleCA2YTU5YzJjNzA2Yy4uOGRlYTJjOGU4NGEgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkveHNzLURFTklFRC1zY3JpcHQtaW5qZWN0LWlu
dG8taW5hY3RpdmUtd2luZG93Mi1wc29uLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9zZWN1cml0eS94c3MtREVOSUVELXNjcmlwdC1pbmplY3QtaW50by1pbmFjdGl2ZS13aW5kb3cy
LXBzb24uaHRtbApAQCAtMzUsNiArMzUsNyBAQCBpZiAoZG9jdW1lbnQubG9jYXRpb24uc2VhcmNo
LmluZGV4T2YoIj9hY3R1YWxseS1hdHRhY2siKSAhPT0gLTEpIHsKICAgICAvLyBDYXNlOiBJbml0
aWFsIGxvYWQKICAgICB2YXIgbGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImEiKTsKICAg
ICBsaW5rLnRhcmdldCA9ICJfYmxhbmsiOworICAgIGxpbmsucmVsID0gIm9wZW5lciI7CiAgICAg
bGluay5ocmVmID0gIj9hY3R1YWxseS1hdHRhY2siOwogICAgIGxpbmsuY2xpY2soKTsgLy8gT3Bl
biBhIG5ldyB3aW5kb3cuCiB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Nl
Y3VyaXR5L3hzcy1ERU5JRUQtc2NyaXB0LWluamVjdC1pbnRvLWluYWN0aXZlLXdpbmRvdzIuaHRt
bCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkveHNzLURFTklFRC1zY3JpcHQtaW5q
ZWN0LWludG8taW5hY3RpdmUtd2luZG93Mi5odG1sCmluZGV4IDJiZTM1YTBmMjRmLi45NjBkMjZj
ZWU1NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS94c3MtREVO
SUVELXNjcmlwdC1pbmplY3QtaW50by1pbmFjdGl2ZS13aW5kb3cyLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS94c3MtREVOSUVELXNjcmlwdC1pbmplY3QtaW50by1p
bmFjdGl2ZS13aW5kb3cyLmh0bWwKQEAgLTM1LDYgKzM1LDcgQEAgaWYgKGRvY3VtZW50LmxvY2F0
aW9uLnNlYXJjaC5pbmRleE9mKCI/YWN0dWFsbHktYXR0YWNrIikgIT09IC0xKSB7CiAgICAgLy8g
Q2FzZTogSW5pdGlhbCBsb2FkCiAgICAgdmFyIGxpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJhIik7CiAgICAgbGluay50YXJnZXQgPSAiX2JsYW5rIjsKKyAgICBsaW5rLnJlbCA9ICJvcGVu
ZXIiOwogICAgIGxpbmsuaHJlZiA9ICI/YWN0dWFsbHktYXR0YWNrIjsKICAgICBsaW5rLmNsaWNr
KCk7IC8vIE9wZW4gYSBuZXcgd2luZG93LgogfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9zZWN1cml0eS94c3NBdWRpdG9yL2xpbmstb3BlbnMtbmV3LXdpbmRvdy5odG1sIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS94c3NBdWRpdG9yL2xpbmstb3BlbnMtbmV3
LXdpbmRvdy5odG1sCmluZGV4IDFhMmZhYzI0YTNiLi43ZGU1ZmY2YWI4MiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS94c3NBdWRpdG9yL2xpbmstb3BlbnMtbmV3
LXdpbmRvdy5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkveHNzQXVk
aXRvci9saW5rLW9wZW5zLW5ldy13aW5kb3cuaHRtbApAQCAtMTksNiArMTksNiBAQCB3aW5kb3cu
b25sb2FkID0gZnVuY3Rpb24oKQogPC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keT4KLTxhIGlkPSJh
bmNob3JMaW5rIiBocmVmPSJodHRwOi8vbG9jYWxob3N0OjgwMDAvc2VjdXJpdHkveHNzQXVkaXRv
ci9yZXNvdXJjZXMvZWNoby1pbnRlcnRhZy5wbD90ZXN0PS9zZWN1cml0eS94c3NBdWRpdG9yL2xp
bmstb3BlbnMtbmV3LXdpbmRvdy5odG1sJm5vdGlmeURvbmU9MSZxPTxzY3JpcHQ+YWxlcnQoU3Ry
aW5nLmZyb21DaGFyQ29kZSgweDU4LDB4NTMsMHg1MykpPC9zY3JpcHQ+IiB0YXJnZXQ9Il9ibGFu
ayI+Q2xpY2sgbWU8L2E+Cis8YSBpZD0iYW5jaG9yTGluayIgaHJlZj0iaHR0cDovL2xvY2FsaG9z
dDo4MDAwL3NlY3VyaXR5L3hzc0F1ZGl0b3IvcmVzb3VyY2VzL2VjaG8taW50ZXJ0YWcucGw/dGVz
dD0vc2VjdXJpdHkveHNzQXVkaXRvci9saW5rLW9wZW5zLW5ldy13aW5kb3cuaHRtbCZub3RpZnlE
b25lPTEmcT08c2NyaXB0PmFsZXJ0KFN0cmluZy5mcm9tQ2hhckNvZGUoMHg1OCwweDUzLDB4NTMp
KTwvc2NyaXB0PiIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ib3BlbmVyIj5DbGljayBtZTwvYT4KIDwv
Ym9keT4KIDwvaHRtbD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFuY2hv
ckVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5jcHAK
aW5kZXggMjdjMGEwZDIzYTcuLmExYWViNTI3YjY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxBbmNob3JFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxBbmNob3JFbGVtZW50LmNwcApAQCAtMjUwLDEyICsyNTAsMTUgQEAgdm9pZCBIVE1MQW5jaG9y
RWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSwgY29uc3Qg
QXRvbWljU3QKICAgICAgICAgLy8gVXBkYXRlIEhUTUxBbmNob3JFbGVtZW50OjpyZWxMaXN0KCkg
aWYgbW9yZSByZWwgYXR0cmlidXRlcyB2YWx1ZXMgYXJlIHN1cHBvcnRlZC4KICAgICAgICAgc3Rh
dGljIE5ldmVyRGVzdHJveWVkPEF0b21pY1N0cmluZz4gbm9SZWZlcnJlcigibm9yZWZlcnJlciIs
IEF0b21pY1N0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpOwogICAgICAgICBzdGF0aWMgTmV2
ZXJEZXN0cm95ZWQ8QXRvbWljU3RyaW5nPiBub09wZW5lcigibm9vcGVuZXIiLCBBdG9taWNTdHJp
bmc6OkNvbnN0cnVjdEZyb21MaXRlcmFsKTsKKyAgICAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVk
PEF0b21pY1N0cmluZz4gb3BlbmVyKCJvcGVuZXIiLCBBdG9taWNTdHJpbmc6OkNvbnN0cnVjdEZy
b21MaXRlcmFsKTsKICAgICAgICAgY29uc3QgYm9vbCBzaG91bGRGb2xkQ2FzZSA9IHRydWU7CiAg
ICAgICAgIFNwYWNlU3BsaXRTdHJpbmcgcmVsVmFsdWUodmFsdWUsIHNob3VsZEZvbGRDYXNlKTsK
ICAgICAgICAgaWYgKHJlbFZhbHVlLmNvbnRhaW5zKG5vUmVmZXJyZXIpKQogICAgICAgICAgICAg
bV9saW5rUmVsYXRpb25zLmFkZChSZWxhdGlvbjo6Tm9SZWZlcnJlcik7CiAgICAgICAgIGlmIChy
ZWxWYWx1ZS5jb250YWlucyhub09wZW5lcikpCiAgICAgICAgICAgICBtX2xpbmtSZWxhdGlvbnMu
YWRkKFJlbGF0aW9uOjpOb09wZW5lcik7CisgICAgICAgIGlmIChyZWxWYWx1ZS5jb250YWlucyhv
cGVuZXIpKQorICAgICAgICAgICAgbV9saW5rUmVsYXRpb25zLmFkZChSZWxhdGlvbjo6T3BlbmVy
KTsKICAgICAgICAgaWYgKG1fcmVsTGlzdCkKICAgICAgICAgICAgIG1fcmVsTGlzdC0+YXNzb2Np
YXRlZEF0dHJpYnV0ZVZhbHVlQ2hhbmdlZCh2YWx1ZSk7CiAgICAgfQpAQCAtNDI3LDEyICs0MzAs
MjggQEAgdm9pZCBIVE1MQW5jaG9yRWxlbWVudDo6aGFuZGxlQ2xpY2soRXZlbnQmIGV2ZW50KQog
I2VuZGlmCiAKICAgICBTaG91bGRTZW5kUmVmZXJyZXIgc2hvdWxkU2VuZFJlZmVycmVyID0gaGFz
UmVsKFJlbGF0aW9uOjpOb1JlZmVycmVyKSA/IE5ldmVyU2VuZFJlZmVycmVyIDogTWF5YmVTZW5k
UmVmZXJyZXI7Ci0gICAgYXV0byBuZXdGcmFtZU9wZW5lclBvbGljeSA9IGhhc1JlbChSZWxhdGlv
bjo6Tm9PcGVuZXIpID8gc3RkOjptYWtlX29wdGlvbmFsKE5ld0ZyYW1lT3BlbmVyUG9saWN5OjpT
dXBwcmVzcykgOiBzdGQ6Om51bGxvcHQ7Ci0gICAgZnJhbWUtPmxvYWRlcigpLnVybFNlbGVjdGVk
KGNvbXBsZXRlZFVSTCwgdGFyZ2V0KCksICZldmVudCwgTG9ja0hpc3Rvcnk6Ok5vLCBMb2NrQmFj
a0ZvcndhcmRMaXN0OjpObywgc2hvdWxkU2VuZFJlZmVycmVyLCBkb2N1bWVudCgpLnNob3VsZE9w
ZW5FeHRlcm5hbFVSTHNQb2xpY3lUb1Byb3BhZ2F0ZSgpLCBuZXdGcmFtZU9wZW5lclBvbGljeSwg
ZG93bmxvYWRBdHRyaWJ1dGUsIHN5c3RlbVByZXZpZXdJbmZvKTsKKworICAgIGF1dG8gZWZmZWN0
aXZlVGFyZ2V0ID0gdGhpcy0+ZWZmZWN0aXZlVGFyZ2V0KCk7CisgICAgc3RkOjpvcHRpb25hbDxO
ZXdGcmFtZU9wZW5lclBvbGljeT4gbmV3RnJhbWVPcGVuZXJQb2xpY3k7CisgICAgaWYgKGhhc1Jl
bChSZWxhdGlvbjo6T3BlbmVyKSkKKyAgICAgICAgbmV3RnJhbWVPcGVuZXJQb2xpY3kgPSBOZXdG
cmFtZU9wZW5lclBvbGljeTo6QWxsb3c7CisgICAgZWxzZSBpZiAoaGFzUmVsKFJlbGF0aW9uOjpO
b09wZW5lcikgfHwgKFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuYmxh
bmtBbmNob3JUYXJnZXRJbXBsaWVzTm9PcGVuZXJFbmFibGVkKCkgJiYgZXF1YWxJZ25vcmluZ0FT
Q0lJQ2FzZShlZmZlY3RpdmVUYXJnZXQsICJfYmxhbmsiKSkpCisgICAgICAgIG5ld0ZyYW1lT3Bl
bmVyUG9saWN5ID0gTmV3RnJhbWVPcGVuZXJQb2xpY3k6OlN1cHByZXNzOworCisgICAgZnJhbWUt
PmxvYWRlcigpLnVybFNlbGVjdGVkKGNvbXBsZXRlZFVSTCwgZWZmZWN0aXZlVGFyZ2V0LCAmZXZl
bnQsIExvY2tIaXN0b3J5OjpObywgTG9ja0JhY2tGb3J3YXJkTGlzdDo6Tm8sIHNob3VsZFNlbmRS
ZWZlcnJlciwgZG9jdW1lbnQoKS5zaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5VG9Qcm9wYWdh
dGUoKSwgbmV3RnJhbWVPcGVuZXJQb2xpY3ksIGRvd25sb2FkQXR0cmlidXRlLCBzeXN0ZW1QcmV2
aWV3SW5mbyk7CiAKICAgICBzZW5kUGluZ3MoY29tcGxldGVkVVJMKTsKIH0KIAorLy8gRmFsbHMg
YmFjayB0byB1c2luZyA8YmFzZT4gZWxlbWVudCdzIHRhcmdldCBpZiB0aGUgYW5jaG9yIGRvZXMg
bm90IGhhdmUgb25lLgorU3RyaW5nIEhUTUxBbmNob3JFbGVtZW50OjplZmZlY3RpdmVUYXJnZXQo
KSBjb25zdAoreworICAgIGF1dG8gZWZmZWN0aXZlVGFyZ2V0ID0gdGFyZ2V0KCk7CisgICAgaWYg
KGVmZmVjdGl2ZVRhcmdldC5pc0VtcHR5KCkpCisgICAgICAgIGVmZmVjdGl2ZVRhcmdldCA9IGRv
Y3VtZW50KCkuYmFzZVRhcmdldCgpOworICAgIHJldHVybiBlZmZlY3RpdmVUYXJnZXQ7Cit9CisK
IEhUTUxBbmNob3JFbGVtZW50OjpFdmVudFR5cGUgSFRNTEFuY2hvckVsZW1lbnQ6OmV2ZW50VHlw
ZShFdmVudCYgZXZlbnQpCiB7CiAgICAgaWYgKCFpczxNb3VzZUV2ZW50PihldmVudCkpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBbmNob3JFbGVtZW50LmggYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxBbmNob3JFbGVtZW50LmgKaW5kZXggYjFjNTFmN2Y0OTYuLjZiMDJj
OWFiNGQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBbmNob3JFbGVtZW50
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5oCkBAIC0zNyw2
ICszNyw3IEBAIGNsYXNzIERPTVRva2VuTGlzdDsKIGVudW0gY2xhc3MgUmVsYXRpb24gewogICAg
IE5vUmVmZXJyZXIgPSAxIDw8IDAsCiAgICAgTm9PcGVuZXIgPSAxIDw8IDEsCisgICAgT3BlbmVy
ID0gMSA8PCAyLAogfTsKIAogY2xhc3MgSFRNTEFuY2hvckVsZW1lbnQgOiBwdWJsaWMgSFRNTEVs
ZW1lbnQsIHB1YmxpYyBVUkxVdGlsczxIVE1MQW5jaG9yRWxlbWVudD4gewpAQCAtOTAsNiArOTEs
OCBAQCBwcml2YXRlOgogICAgIGludCB0YWJJbmRleCgpIGNvbnN0IGZpbmFsOwogICAgIGJvb2wg
ZHJhZ2dhYmxlKCkgY29uc3QgZmluYWw7CiAKKyAgICBTdHJpbmcgZWZmZWN0aXZlVGFyZ2V0KCkg
Y29uc3Q7CisKICAgICB2b2lkIHNlbmRQaW5ncyhjb25zdCBVUkwmIGRlc3RpbmF0aW9uVVJMKTsK
IAogICAgIHZvaWQgaGFuZGxlQ2xpY2soRXZlbnQmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9S
dW50aW1lRW5hYmxlZEZlYXR1cmVzLmgKaW5kZXggMTIwZjJlM2ZmMDAuLmY0NjRjYjkwMzQ4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaApAQCAtNDMs
NiArNDMsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBSdW50aW1lRW5hYmxlZEZlYXR1
cmVzIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSdW50aW1lRW5hYmxlZEZlYXR1cmVzKTsK
IHB1YmxpYzoKKyAgICB2b2lkIHNldEJsYW5rQW5jaG9yVGFyZ2V0SW1wbGllc05vT3BlbmVyRW5h
YmxlZChib29sIGlzRW5hYmxlZCkgeyBtX2JsYW5rQW5jaG9yVGFyZ2V0SW1wbGllc05vT3BlbmVy
RW5hYmxlZCA9IGlzRW5hYmxlZDsgfQorICAgIGJvb2wgYmxhbmtBbmNob3JUYXJnZXRJbXBsaWVz
Tm9PcGVuZXJFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9ibGFua0FuY2hvclRhcmdldEltcGxp
ZXNOb09wZW5lckVuYWJsZWQ7IH0KKwogICAgIHZvaWQgc2V0RGlzcGxheUNvbnRlbnRzRW5hYmxl
ZChib29sIGlzRW5hYmxlZCkgeyBtX2lzRGlzcGxheUNvbnRlbnRzRW5hYmxlZCA9IGlzRW5hYmxl
ZDsgfQogICAgIGJvb2wgZGlzcGxheUNvbnRlbnRzRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1f
aXNEaXNwbGF5Q29udGVudHNFbmFibGVkOyB9CiAKQEAgLTMwMCw2ICszMDMsNyBAQCBwcml2YXRl
OgogICAgIC8vIE5ldmVyIGluc3RhbnRpYXRlLgogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMo
KTsKIAorICAgIGJvb2wgbV9ibGFua0FuY2hvclRhcmdldEltcGxpZXNOb09wZW5lckVuYWJsZWQg
eyB0cnVlIH07CiAgICAgYm9vbCBtX2FyZU1vZGVybk1lZGlhQ29udHJvbHNFbmFibGVkIHsgZmFs
c2UgfTsKICAgICBib29sIG1faXNMaW5rUHJlbG9hZEVuYWJsZWQgeyB0cnVlIH07CiAgICAgYm9v
bCBtX2lzTGlua1ByZWZldGNoRW5hYmxlZCB7IGZhbHNlIH07CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sIGIvU291cmNlL1dlYktpdC9TaGFyZWQv
V2ViUHJlZmVyZW5jZXMueWFtbAppbmRleCA3NTY0OThiMzFiNC4uMjFhZDU2OTRhODAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwKKysrIGIvU291
cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbApAQCAtMSwzICsxLDExIEBACitC
bGFua0FuY2hvclRhcmdldEltcGxpZXNOb09wZW5lckVuYWJsZWQ6CisgICB0eXBlOiBib29sCisg
ICBkZWZhdWx0VmFsdWU6IHRydWUKKyAgIHdlYmNvcmVCaW5kaW5nOiBSdW50aW1lRW5hYmxlZEZl
YXR1cmVzCisgICBodW1hblJlYWRhYmxlTmFtZTogIkJsYW5rIGFuY2hvciB0YXJnZXQgaW1wbGll
cyByZWw9bm9vcGVuZXIiCisgICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJ0YXJnZXQ9X2Js
YW5rIG9uIGFuY2hvciBlbGVtZW50cyBpbXBsaWVzIHJlbD1ub29wZW5lciIKKyAgIGNhdGVnb3J5
OiBleHBlcmltZW50YWwKKwogSmF2YVNjcmlwdEVuYWJsZWQ6CiAgIHR5cGU6IGJvb2wKICAgZGVm
YXVsdFZhbHVlOiB0cnVlCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dl
YktpdENvY29hL1Byb2Nlc3NTd2FwT25OYXZpZ2F0aW9uLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9XZWJLaXRDb2NvYS9Qcm9jZXNzU3dhcE9uTmF2aWdhdGlvbi5tbQppbmRleCA3NjE1
YWVlMzExNy4uODQ0ODQyODYyMDEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViS2l0Q29jb2EvUHJvY2Vzc1N3YXBPbk5hdmlnYXRpb24ubW0KKysrIGIvVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9Qcm9jZXNzU3dhcE9uTmF2aWdhdGlvbi5tbQpA
QCAtMjgwLDcgKzI4MCwxNiBAQCB3aW5kb3cub25sb2FkID0gZnVuY3Rpb24oKSB7CiA8L3Njcmlw
dD4KIClQU09OUkVTT1VSQ0UiOwogCi1zdGF0aWMgY29uc3QgY2hhciogdGFyZ2V0QmxhbmtDcm9z
c1NpdGVXaXRoT3BlbmVyVGVzdEJ5dGVzID0gUiJQU09OUkVTT1VSQ0UoCitzdGF0aWMgY29uc3Qg
Y2hhciogdGFyZ2V0QmxhbmtDcm9zc1NpdGVXaXRoRXhwbGljaXRPcGVuZXJUZXN0Qnl0ZXMgPSBS
IlBTT05SRVNPVVJDRSgKKzxhIGlkPSJ0ZXN0TGluayIgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9InBz
b246Ly93d3cuYXBwbGUuY29tL21haW4uaHRtbCIgcmVsPSJvcGVuZXIiPkxpbms8L2E+Cis8c2Ny
aXB0Pgord2luZG93Lm9ubG9hZCA9IGZ1bmN0aW9uKCkgeworICAgIHRlc3RMaW5rLmNsaWNrKCk7
Cit9Cis8L3NjcmlwdD4KKylQU09OUkVTT1VSQ0UiOworCitzdGF0aWMgY29uc3QgY2hhciogdGFy
Z2V0QmxhbmtDcm9zc1NpdGVXaXRoSW1wbGljaXROb09wZW5lclRlc3RCeXRlcyA9IFIiUFNPTlJF
U09VUkNFKAogPGEgaWQ9InRlc3RMaW5rIiB0YXJnZXQ9Il9ibGFuayIgaHJlZj0icHNvbjovL3d3
dy5hcHBsZS5jb20vbWFpbi5odG1sIj5MaW5rPC9hPgogPHNjcmlwdD4KIHdpbmRvdy5vbmxvYWQg
PSBmdW5jdGlvbigpIHsKQEAgLTY5Myw3ICs3MDIsNyBAQCBURVNUKFByb2Nlc3NTd2FwLCBDcm9z
c1NpdGVCbGFua1RhcmdldFdpdGhPcGVuZXIpCiAgICAgYXV0byB3ZWJWaWV3Q29uZmlndXJhdGlv
biA9IGFkb3B0TlMoW1tXS1dlYlZpZXdDb25maWd1cmF0aW9uIGFsbG9jXSBpbml0XSk7CiAgICAg
W3dlYlZpZXdDb25maWd1cmF0aW9uIHNldFByb2Nlc3NQb29sOnByb2Nlc3NQb29sLmdldCgpXTsK
ICAgICBhdXRvIGhhbmRsZXIgPSBhZG9wdE5TKFtbUFNPTlNjaGVtZSBhbGxvY10gaW5pdF0pOwot
ICAgIFtoYW5kbGVyIGFkZE1hcHBpbmdGcm9tVVJMU3RyaW5nOkAicHNvbjovL3d3dy53ZWJraXQu
b3JnL21haW4uaHRtbCIgdG9EYXRhOnRhcmdldEJsYW5rQ3Jvc3NTaXRlV2l0aE9wZW5lclRlc3RC
eXRlc107CisgICAgW2hhbmRsZXIgYWRkTWFwcGluZ0Zyb21VUkxTdHJpbmc6QCJwc29uOi8vd3d3
LndlYmtpdC5vcmcvbWFpbi5odG1sIiB0b0RhdGE6dGFyZ2V0QmxhbmtDcm9zc1NpdGVXaXRoRXhw
bGljaXRPcGVuZXJUZXN0Qnl0ZXNdOwogICAgIFt3ZWJWaWV3Q29uZmlndXJhdGlvbiBzZXRVUkxT
Y2hlbWVIYW5kbGVyOmhhbmRsZXIuZ2V0KCkgZm9yVVJMU2NoZW1lOkAiUFNPTiJdOwogCiAgICAg
YXV0byB3ZWJWaWV3ID0gYWRvcHROUyhbW1dLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpO
U01ha2VSZWN0KDAsIDAsIDgwMCwgNjAwKSBjb25maWd1cmF0aW9uOndlYlZpZXdDb25maWd1cmF0
aW9uLmdldCgpXSk7CkBAIC03MjQsNiArNzMzLDQ2IEBAIFRFU1QoUHJvY2Vzc1N3YXAsIENyb3Nz
U2l0ZUJsYW5rVGFyZ2V0V2l0aE9wZW5lcikKICAgICBFWFBFQ1RfRVEocGlkMSwgcGlkMik7CiB9
CiAKK1RFU1QoUHJvY2Vzc1N3YXAsIENyb3NzU2l0ZUJsYW5rVGFyZ2V0SW1wbGljaXROb09wZW5l
cikKK3sKKyAgICBhdXRvIHByb2Nlc3NQb29sQ29uZmlndXJhdGlvbiA9IGFkb3B0TlMoW1tfV0tQ
cm9jZXNzUG9vbENvbmZpZ3VyYXRpb24gYWxsb2NdIGluaXRdKTsKKyAgICBwcm9jZXNzUG9vbENv
bmZpZ3VyYXRpb24uZ2V0KCkucHJvY2Vzc1N3YXBzT25OYXZpZ2F0aW9uID0gWUVTOworICAgIGF1
dG8gcHJvY2Vzc1Bvb2wgPSBhZG9wdE5TKFtbV0tQcm9jZXNzUG9vbCBhbGxvY10gX2luaXRXaXRo
Q29uZmlndXJhdGlvbjpwcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24uZ2V0KCldKTsKKworICAgIGF1
dG8gd2ViVmlld0NvbmZpZ3VyYXRpb24gPSBhZG9wdE5TKFtbV0tXZWJWaWV3Q29uZmlndXJhdGlv
biBhbGxvY10gaW5pdF0pOworICAgIFt3ZWJWaWV3Q29uZmlndXJhdGlvbiBzZXRQcm9jZXNzUG9v
bDpwcm9jZXNzUG9vbC5nZXQoKV07CisgICAgYXV0byBoYW5kbGVyID0gYWRvcHROUyhbW1BTT05T
Y2hlbWUgYWxsb2NdIGluaXRdKTsKKyAgICBbaGFuZGxlciBhZGRNYXBwaW5nRnJvbVVSTFN0cmlu
ZzpAInBzb246Ly93d3cud2Via2l0Lm9yZy9tYWluLmh0bWwiIHRvRGF0YTp0YXJnZXRCbGFua0Ny
b3NzU2l0ZVdpdGhJbXBsaWNpdE5vT3BlbmVyVGVzdEJ5dGVzXTsKKyAgICBbd2ViVmlld0NvbmZp
Z3VyYXRpb24gc2V0VVJMU2NoZW1lSGFuZGxlcjpoYW5kbGVyLmdldCgpIGZvclVSTFNjaGVtZTpA
IlBTT04iXTsKKworICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tXS1dlYlZpZXcgYWxsb2Nd
IGluaXRXaXRoRnJhbWU6TlNNYWtlUmVjdCgwLCAwLCA4MDAsIDYwMCkgY29uZmlndXJhdGlvbjp3
ZWJWaWV3Q29uZmlndXJhdGlvbi5nZXQoKV0pOworICAgIGF1dG8gbmF2aWdhdGlvbkRlbGVnYXRl
ID0gYWRvcHROUyhbW1BTT05OYXZpZ2F0aW9uRGVsZWdhdGUgYWxsb2NdIGluaXRdKTsKKyAgICBb
d2ViVmlldyBzZXROYXZpZ2F0aW9uRGVsZWdhdGU6bmF2aWdhdGlvbkRlbGVnYXRlLmdldCgpXTsK
KyAgICBhdXRvIHVpRGVsZWdhdGUgPSBhZG9wdE5TKFtbUFNPTlVJRGVsZWdhdGUgYWxsb2NdIGlu
aXRXaXRoTmF2aWdhdGlvbkRlbGVnYXRlOm5hdmlnYXRpb25EZWxlZ2F0ZS5nZXQoKV0pOworICAg
IFt3ZWJWaWV3IHNldFVJRGVsZWdhdGU6dWlEZWxlZ2F0ZS5nZXQoKV07CisKKyAgICBudW1iZXJP
ZkRlY2lkZVBvbGljeUNhbGxzID0gMDsKKyAgICBOU1VSTFJlcXVlc3QgKnJlcXVlc3QgPSBbTlNV
UkxSZXF1ZXN0IHJlcXVlc3RXaXRoVVJMOltOU1VSTCBVUkxXaXRoU3RyaW5nOkAicHNvbjovL3d3
dy53ZWJraXQub3JnL21haW4uaHRtbCJdXTsKKyAgICBbd2ViVmlldyBsb2FkUmVxdWVzdDpyZXF1
ZXN0XTsKKworICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZG9uZSk7CisgICAgZG9uZSA9
IGZhbHNlOworCisgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZkaWRDcmVhdGVXZWJWaWV3
KTsKKyAgICBkaWRDcmVhdGVXZWJWaWV3ID0gZmFsc2U7CisKKyAgICBUZXN0V2ViS2l0QVBJOjpV
dGlsOjpydW4oJmRvbmUpOworCisgICAgRVhQRUNUX0VRKDMsIG51bWJlck9mRGVjaWRlUG9saWN5
Q2FsbHMpOworCisgICAgYXV0byBwaWQxID0gW3dlYlZpZXcgX3dlYlByb2Nlc3NJZGVudGlmaWVy
XTsKKyAgICBFWFBFQ1RfVFJVRSghIXBpZDEpOworICAgIGF1dG8gcGlkMiA9IFtjcmVhdGVkV2Vi
VmlldyBfd2ViUHJvY2Vzc0lkZW50aWZpZXJdOworICAgIEVYUEVDVF9UUlVFKCEhcGlkMik7CisK
KyAgICBFWFBFQ1RfTkUocGlkMSwgcGlkMik7Cit9CisKIFRFU1QoUHJvY2Vzc1N3YXAsIENyb3Nz
U2l0ZUJsYW5rVGFyZ2V0Tm9PcGVuZXIpCiB7CiAgICAgYXV0byBwcm9jZXNzUG9vbENvbmZpZ3Vy
YXRpb24gPSBhZG9wdE5TKFtbX1dLUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uIGFsbG9jXSBpbml0
XSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>352336</attachid>
            <date>2018-10-15 10:07:13 -0700</date>
            <delta_ts>2018-10-15 10:12:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-190481-20181015100712.patch</filename>
            <type>text/plain</type>
            <size>21352</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM3MTEzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTBkMDQ3YTA2YjBhMmFh
YjQyMGQ4YjY2ZGE0ZWZiZWFjOWFlZmFlMy4uOGJhYjE0Y2FhYzUyNDNlMTIwNTI3MzBkNTNlYjk4
YTI0NDU5Yjk0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDE4LTEwLTE1ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgRXhwZXJpbWVudDogdGFyZ2V0
PV9ibGFuayBvbiBhbmNob3JzIHNob3VsZCBpbXBseSByZWw9bm9vcGVuZXIKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MDQ4MQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFzIGFuIGV4cGVyaW1lbnQsIHRy
eSBhbmQgbWFrZSBpdCBzbyB0aGF0IHRhcmdldD1fYmxhbmsgb24gYW5jaG9ycyBpbXBsaWVzIGBy
ZWw9bm9vcGVuZXJgIGZvciBpbXByb3ZlZCBzZWN1cml0eS4KKyAgICAgICAgV2ViQ29udGVudCBj
YW4gdGhlbiByZXF1ZXN0IGFuIG9wZW5lciByZWxhdGlvbnNoaXAgYnkgdXNpbmcgYHJlbD1vcGVu
ZXJgIGluc3RlYWQuCisKKyAgICAgICAgVGhpcyBjaGFuZ2Ugd2FzIGRpc2N1c3NlZCBhdDoKKyAg
ICAgICAgLSBodHRwczovL2dpdGh1Yi5jb20vd2hhdHdnL2h0bWwvaXNzdWVzLzQwNzgKKworICAg
ICAgICAqIGh0bWwvSFRNTEFuY2hvckVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRN
TEFuY2hvckVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxB
bmNob3JFbGVtZW50OjpoYW5kbGVDbGljayk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MQW5jaG9y
RWxlbWVudDo6ZWZmZWN0aXZlVGFyZ2V0IGNvbnN0KToKKyAgICAgICAgKiBodG1sL0hUTUxBbmNo
b3JFbGVtZW50Lmg6CisgICAgICAgICogcGFnZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmg6Cisg
ICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzZXRCbGFua0FuY2hvclRh
cmdldEltcGxpZXNOb09wZW5lckVuYWJsZWQpOgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVu
YWJsZWRGZWF0dXJlczo6YmxhbmtBbmNob3JUYXJnZXRJbXBsaWVzTm9PcGVuZXJFbmFibGVkIGNv
bnN0KToKKwogMjAxOC0xMC0xNSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAg
ICAgICAgIFJlc3RyaWN0IGJyb3dzaW5nIGNvbnRleHQgbG9va3VwIGJ5IG5hbWUgdG8gZnJhbWVz
IHRoYXQgYXJlIHJlbGF0ZWQgdG8gb25lIGFub3RoZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggNDBkYjAwODBjMTEy
ZWQxNDY3YjQ0NzcxMmFhNTljODQ1MmFjZDA0OS4uMjcyMDQ5Zjc1MTdkMWQ4MWZiMzgxZWU1OWUy
ZjhhZTM4ODYxNjA5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxOC0xMC0xNSAgQ2hy
aXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIEV4cGVyaW1lbnQ6IHRhcmdl
dD1fYmxhbmsgb24gYW5jaG9ycyBzaG91bGQgaW1wbHkgcmVsPW5vb3BlbmVyCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTA0ODEKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFNoYXJlZC9XZWJQcmVmZXJl
bmNlcy55YW1sOgorCiAyMDE4LTEwLTE1ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+
CiAKICAgICAgICAgUmVzdHJpY3QgYnJvd3NpbmcgY29udGV4dCBsb29rdXAgYnkgbmFtZSB0byBm
cmFtZXMgdGhhdCBhcmUgcmVsYXRlZCB0byBvbmUgYW5vdGhlcgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxBbmNob3JFbGVtZW50LmNwcAppbmRleCAyN2MwYTBkMjNhN2YwNTc4MWVlNDAyYjNlMTE3
NmE1OWMyZDk0OWI3Li5hMWFlYjUyN2I2NGM4OTFkMTg3OGIxNjBlZGZhOGNjN2FhZTE4ZGZkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBbmNob3JFbGVtZW50LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBbmNob3JFbGVtZW50LmNwcApAQCAtMjUwLDEyICsy
NTAsMTUgQEAgdm9pZCBIVE1MQW5jaG9yRWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVh
bGlmaWVkTmFtZSYgbmFtZSwgY29uc3QgQXRvbWljU3QKICAgICAgICAgLy8gVXBkYXRlIEhUTUxB
bmNob3JFbGVtZW50OjpyZWxMaXN0KCkgaWYgbW9yZSByZWwgYXR0cmlidXRlcyB2YWx1ZXMgYXJl
IHN1cHBvcnRlZC4KICAgICAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEF0b21pY1N0cmluZz4g
bm9SZWZlcnJlcigibm9yZWZlcnJlciIsIEF0b21pY1N0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVy
YWwpOwogICAgICAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8QXRvbWljU3RyaW5nPiBub09wZW5l
cigibm9vcGVuZXIiLCBBdG9taWNTdHJpbmc6OkNvbnN0cnVjdEZyb21MaXRlcmFsKTsKKyAgICAg
ICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEF0b21pY1N0cmluZz4gb3BlbmVyKCJvcGVuZXIiLCBB
dG9taWNTdHJpbmc6OkNvbnN0cnVjdEZyb21MaXRlcmFsKTsKICAgICAgICAgY29uc3QgYm9vbCBz
aG91bGRGb2xkQ2FzZSA9IHRydWU7CiAgICAgICAgIFNwYWNlU3BsaXRTdHJpbmcgcmVsVmFsdWUo
dmFsdWUsIHNob3VsZEZvbGRDYXNlKTsKICAgICAgICAgaWYgKHJlbFZhbHVlLmNvbnRhaW5zKG5v
UmVmZXJyZXIpKQogICAgICAgICAgICAgbV9saW5rUmVsYXRpb25zLmFkZChSZWxhdGlvbjo6Tm9S
ZWZlcnJlcik7CiAgICAgICAgIGlmIChyZWxWYWx1ZS5jb250YWlucyhub09wZW5lcikpCiAgICAg
ICAgICAgICBtX2xpbmtSZWxhdGlvbnMuYWRkKFJlbGF0aW9uOjpOb09wZW5lcik7CisgICAgICAg
IGlmIChyZWxWYWx1ZS5jb250YWlucyhvcGVuZXIpKQorICAgICAgICAgICAgbV9saW5rUmVsYXRp
b25zLmFkZChSZWxhdGlvbjo6T3BlbmVyKTsKICAgICAgICAgaWYgKG1fcmVsTGlzdCkKICAgICAg
ICAgICAgIG1fcmVsTGlzdC0+YXNzb2NpYXRlZEF0dHJpYnV0ZVZhbHVlQ2hhbmdlZCh2YWx1ZSk7
CiAgICAgfQpAQCAtNDI3LDEyICs0MzAsMjggQEAgdm9pZCBIVE1MQW5jaG9yRWxlbWVudDo6aGFu
ZGxlQ2xpY2soRXZlbnQmIGV2ZW50KQogI2VuZGlmCiAKICAgICBTaG91bGRTZW5kUmVmZXJyZXIg
c2hvdWxkU2VuZFJlZmVycmVyID0gaGFzUmVsKFJlbGF0aW9uOjpOb1JlZmVycmVyKSA/IE5ldmVy
U2VuZFJlZmVycmVyIDogTWF5YmVTZW5kUmVmZXJyZXI7Ci0gICAgYXV0byBuZXdGcmFtZU9wZW5l
clBvbGljeSA9IGhhc1JlbChSZWxhdGlvbjo6Tm9PcGVuZXIpID8gc3RkOjptYWtlX29wdGlvbmFs
KE5ld0ZyYW1lT3BlbmVyUG9saWN5OjpTdXBwcmVzcykgOiBzdGQ6Om51bGxvcHQ7Ci0gICAgZnJh
bWUtPmxvYWRlcigpLnVybFNlbGVjdGVkKGNvbXBsZXRlZFVSTCwgdGFyZ2V0KCksICZldmVudCwg
TG9ja0hpc3Rvcnk6Ok5vLCBMb2NrQmFja0ZvcndhcmRMaXN0OjpObywgc2hvdWxkU2VuZFJlZmVy
cmVyLCBkb2N1bWVudCgpLnNob3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3lUb1Byb3BhZ2F0ZSgp
LCBuZXdGcmFtZU9wZW5lclBvbGljeSwgZG93bmxvYWRBdHRyaWJ1dGUsIHN5c3RlbVByZXZpZXdJ
bmZvKTsKKworICAgIGF1dG8gZWZmZWN0aXZlVGFyZ2V0ID0gdGhpcy0+ZWZmZWN0aXZlVGFyZ2V0
KCk7CisgICAgc3RkOjpvcHRpb25hbDxOZXdGcmFtZU9wZW5lclBvbGljeT4gbmV3RnJhbWVPcGVu
ZXJQb2xpY3k7CisgICAgaWYgKGhhc1JlbChSZWxhdGlvbjo6T3BlbmVyKSkKKyAgICAgICAgbmV3
RnJhbWVPcGVuZXJQb2xpY3kgPSBOZXdGcmFtZU9wZW5lclBvbGljeTo6QWxsb3c7CisgICAgZWxz
ZSBpZiAoaGFzUmVsKFJlbGF0aW9uOjpOb09wZW5lcikgfHwgKFJ1bnRpbWVFbmFibGVkRmVhdHVy
ZXM6OnNoYXJlZEZlYXR1cmVzKCkuYmxhbmtBbmNob3JUYXJnZXRJbXBsaWVzTm9PcGVuZXJFbmFi
bGVkKCkgJiYgZXF1YWxJZ25vcmluZ0FTQ0lJQ2FzZShlZmZlY3RpdmVUYXJnZXQsICJfYmxhbmsi
KSkpCisgICAgICAgIG5ld0ZyYW1lT3BlbmVyUG9saWN5ID0gTmV3RnJhbWVPcGVuZXJQb2xpY3k6
OlN1cHByZXNzOworCisgICAgZnJhbWUtPmxvYWRlcigpLnVybFNlbGVjdGVkKGNvbXBsZXRlZFVS
TCwgZWZmZWN0aXZlVGFyZ2V0LCAmZXZlbnQsIExvY2tIaXN0b3J5OjpObywgTG9ja0JhY2tGb3J3
YXJkTGlzdDo6Tm8sIHNob3VsZFNlbmRSZWZlcnJlciwgZG9jdW1lbnQoKS5zaG91bGRPcGVuRXh0
ZXJuYWxVUkxzUG9saWN5VG9Qcm9wYWdhdGUoKSwgbmV3RnJhbWVPcGVuZXJQb2xpY3ksIGRvd25s
b2FkQXR0cmlidXRlLCBzeXN0ZW1QcmV2aWV3SW5mbyk7CiAKICAgICBzZW5kUGluZ3MoY29tcGxl
dGVkVVJMKTsKIH0KIAorLy8gRmFsbHMgYmFjayB0byB1c2luZyA8YmFzZT4gZWxlbWVudCdzIHRh
cmdldCBpZiB0aGUgYW5jaG9yIGRvZXMgbm90IGhhdmUgb25lLgorU3RyaW5nIEhUTUxBbmNob3JF
bGVtZW50OjplZmZlY3RpdmVUYXJnZXQoKSBjb25zdAoreworICAgIGF1dG8gZWZmZWN0aXZlVGFy
Z2V0ID0gdGFyZ2V0KCk7CisgICAgaWYgKGVmZmVjdGl2ZVRhcmdldC5pc0VtcHR5KCkpCisgICAg
ICAgIGVmZmVjdGl2ZVRhcmdldCA9IGRvY3VtZW50KCkuYmFzZVRhcmdldCgpOworICAgIHJldHVy
biBlZmZlY3RpdmVUYXJnZXQ7Cit9CisKIEhUTUxBbmNob3JFbGVtZW50OjpFdmVudFR5cGUgSFRN
TEFuY2hvckVsZW1lbnQ6OmV2ZW50VHlwZShFdmVudCYgZXZlbnQpCiB7CiAgICAgaWYgKCFpczxN
b3VzZUV2ZW50PihldmVudCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxB
bmNob3JFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBbmNob3JFbGVtZW50LmgK
aW5kZXggYjFjNTFmN2Y0OTYwZTBlOGJmNjFlNTlmZDY0ZTFmMjllMGI3Nzk1Zi4uNmIwMmM5YWI0
ZDQ2MjY4NTAzNmUxNzAzOTZlNDViODFlOGQzMjllOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TEFuY2hvckVsZW1lbnQuaApAQCAtMzcsNiArMzcsNyBAQCBjbGFzcyBET01Ub2tlbkxpc3Q7CiBl
bnVtIGNsYXNzIFJlbGF0aW9uIHsKICAgICBOb1JlZmVycmVyID0gMSA8PCAwLAogICAgIE5vT3Bl
bmVyID0gMSA8PCAxLAorICAgIE9wZW5lciA9IDEgPDwgMiwKIH07CiAKIGNsYXNzIEhUTUxBbmNo
b3JFbGVtZW50IDogcHVibGljIEhUTUxFbGVtZW50LCBwdWJsaWMgVVJMVXRpbHM8SFRNTEFuY2hv
ckVsZW1lbnQ+IHsKQEAgLTkwLDYgKzkxLDggQEAgcHJpdmF0ZToKICAgICBpbnQgdGFiSW5kZXgo
KSBjb25zdCBmaW5hbDsKICAgICBib29sIGRyYWdnYWJsZSgpIGNvbnN0IGZpbmFsOwogCisgICAg
U3RyaW5nIGVmZmVjdGl2ZVRhcmdldCgpIGNvbnN0OworCiAgICAgdm9pZCBzZW5kUGluZ3MoY29u
c3QgVVJMJiBkZXN0aW5hdGlvblVSTCk7CiAKICAgICB2b2lkIGhhbmRsZUNsaWNrKEV2ZW50Jik7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMu
aCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oCmluZGV4IDEy
MGYyZTNmZjAwZGY5ZGJjNzc3YzZiZTE4NmY0ZTUxYTNiNTk5YmQuLmY0NjRjYjkwMzQ4ZTViNTQ3
OWM2MzVmN2Q4NzhmZGE0NmZlN2JkYmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UnVudGltZUVuYWJsZWRGZWF0dXJlcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUnVudGlt
ZUVuYWJsZWRGZWF0dXJlcy5oCkBAIC00Myw2ICs0Myw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IGNsYXNzIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMpOwogcHVibGljOgorICAgIHZvaWQgc2V0QmxhbmtBbmNo
b3JUYXJnZXRJbXBsaWVzTm9PcGVuZXJFbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IG1fYmxhbmtB
bmNob3JUYXJnZXRJbXBsaWVzTm9PcGVuZXJFbmFibGVkID0gaXNFbmFibGVkOyB9CisgICAgYm9v
bCBibGFua0FuY2hvclRhcmdldEltcGxpZXNOb09wZW5lckVuYWJsZWQoKSBjb25zdCB7IHJldHVy
biBtX2JsYW5rQW5jaG9yVGFyZ2V0SW1wbGllc05vT3BlbmVyRW5hYmxlZDsgfQorCiAgICAgdm9p
ZCBzZXREaXNwbGF5Q29udGVudHNFbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IG1faXNEaXNwbGF5
Q29udGVudHNFbmFibGVkID0gaXNFbmFibGVkOyB9CiAgICAgYm9vbCBkaXNwbGF5Q29udGVudHNF
bmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9pc0Rpc3BsYXlDb250ZW50c0VuYWJsZWQ7IH0KIApA
QCAtMzAwLDYgKzMwMyw3IEBAIHByaXZhdGU6CiAgICAgLy8gTmV2ZXIgaW5zdGFudGlhdGUuCiAg
ICAgUnVudGltZUVuYWJsZWRGZWF0dXJlcygpOwogCisgICAgYm9vbCBtX2JsYW5rQW5jaG9yVGFy
Z2V0SW1wbGllc05vT3BlbmVyRW5hYmxlZCB7IHRydWUgfTsKICAgICBib29sIG1fYXJlTW9kZXJu
TWVkaWFDb250cm9sc0VuYWJsZWQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9pc0xpbmtQcmVsb2Fk
RW5hYmxlZCB7IHRydWUgfTsKICAgICBib29sIG1faXNMaW5rUHJlZmV0Y2hFbmFibGVkIHsgZmFs
c2UgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlh
bWwgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sCmluZGV4IGYxM2U0
ZjI1NTc0YjM5MjZmMzBiMWViODU4MzgwMmM4ZTg2ZjNiYzcuLjRjMWQzZmZkYjM2NDlkN2M3YmYz
YTEwMzE0NmUzMGM5N2Q4ODhlMWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dl
YlByZWZlcmVuY2VzLnlhbWwKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5j
ZXMueWFtbApAQCAtMSwzICsxLDExIEBACitCbGFua0FuY2hvclRhcmdldEltcGxpZXNOb09wZW5l
ckVuYWJsZWQ6CisgICB0eXBlOiBib29sCisgICBkZWZhdWx0VmFsdWU6IHRydWUKKyAgIHdlYmNv
cmVCaW5kaW5nOiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzCisgICBodW1hblJlYWRhYmxlTmFtZTog
IkJsYW5rIGFuY2hvciB0YXJnZXQgaW1wbGllcyByZWw9bm9vcGVuZXIiCisgICBodW1hblJlYWRh
YmxlRGVzY3JpcHRpb246ICJ0YXJnZXQ9X2JsYW5rIG9uIGFuY2hvciBlbGVtZW50cyBpbXBsaWVz
IHJlbD1ub29wZW5lciIKKyAgIGNhdGVnb3J5OiBleHBlcmltZW50YWwKKwogSmF2YVNjcmlwdEVu
YWJsZWQ6CiAgIHR5cGU6IGJvb2wKICAgZGVmYXVsdFZhbHVlOiB0cnVlCmRpZmYgLS1naXQgYS9U
b29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYTcxNDM1MTIxMjdmN2YxNjkx
OTQxNmE1OTIzYmY0MjJkNTgzZTY2MS4uMGMxNTM5MGE2OGVhNDFlY2VkNDkyM2FlZmIwN2JjOTEx
NGZlYTQyYiAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE1IEBACisyMDE4LTEwLTE1ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBs
ZS5jb20+CisKKyAgICAgICAgRXhwZXJpbWVudDogdGFyZ2V0PV9ibGFuayBvbiBhbmNob3JzIHNo
b3VsZCBpbXBseSByZWw9bm9vcGVuZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE5MDQ4MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEFkZCBBUEkgdGVzdCBjb3ZlcmFnZSB0byBtYWtlIHN1cmUgd2UgY2Fu
IG5vdyBzd2FwIHByb2Nlc3Mgd2hlbiB0YXJnZXQ9X2JsYW5rCisgICAgICAgIGlzIHNwZWNpZmll
ZCBvbiBhbiBhbmNob3IgYnV0IHJlbD1ub29wZW5lciBpcyBub3QuCisKKyAgICAgICAgKiBUZXN0
V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1Byb2Nlc3NTd2FwT25OYXZpZ2F0aW9uLm1tOgor
CiAyMDE4LTEwLTE1ICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KIAog
ICAgICAgICBbR1RLXSBEaXNhYmxlIE1TRSBidWlsZCBzdXBwb3J0IG9uIERlYmlhbiBhbmQgVWJ1
bnR1IExUUyBib3RzCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktp
dENvY29hL1Byb2Nlc3NTd2FwT25OYXZpZ2F0aW9uLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0cy9XZWJLaXRDb2NvYS9Qcm9jZXNzU3dhcE9uTmF2aWdhdGlvbi5tbQppbmRleCA3NjE1YWVl
MzExN2I3ZjAwNGI0ZGEzYzJmM2NhNWYwNzI4NDA1ZWJiLi44NDQ4NDI4NjIwMWRjOGI2YmNlZmQ1
ZmJmNmU5MmUyYTVhOGU4NWVlIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYktpdENvY29hL1Byb2Nlc3NTd2FwT25OYXZpZ2F0aW9uLm1tCisrKyBiL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvUHJvY2Vzc1N3YXBPbk5hdmlnYXRpb24ubW0KQEAg
LTI4MCw3ICsyODAsMTYgQEAgd2luZG93Lm9ubG9hZCA9IGZ1bmN0aW9uKCkgewogPC9zY3JpcHQ+
CiApUFNPTlJFU09VUkNFIjsKIAotc3RhdGljIGNvbnN0IGNoYXIqIHRhcmdldEJsYW5rQ3Jvc3NT
aXRlV2l0aE9wZW5lclRlc3RCeXRlcyA9IFIiUFNPTlJFU09VUkNFKAorc3RhdGljIGNvbnN0IGNo
YXIqIHRhcmdldEJsYW5rQ3Jvc3NTaXRlV2l0aEV4cGxpY2l0T3BlbmVyVGVzdEJ5dGVzID0gUiJQ
U09OUkVTT1VSQ0UoCis8YSBpZD0idGVzdExpbmsiIHRhcmdldD0iX2JsYW5rIiBocmVmPSJwc29u
Oi8vd3d3LmFwcGxlLmNvbS9tYWluLmh0bWwiIHJlbD0ib3BlbmVyIj5MaW5rPC9hPgorPHNjcmlw
dD4KK3dpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbigpIHsKKyAgICB0ZXN0TGluay5jbGljaygpOwor
fQorPC9zY3JpcHQ+CispUFNPTlJFU09VUkNFIjsKKworc3RhdGljIGNvbnN0IGNoYXIqIHRhcmdl
dEJsYW5rQ3Jvc3NTaXRlV2l0aEltcGxpY2l0Tm9PcGVuZXJUZXN0Qnl0ZXMgPSBSIlBTT05SRVNP
VVJDRSgKIDxhIGlkPSJ0ZXN0TGluayIgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9InBzb246Ly93d3cu
YXBwbGUuY29tL21haW4uaHRtbCI+TGluazwvYT4KIDxzY3JpcHQ+CiB3aW5kb3cub25sb2FkID0g
ZnVuY3Rpb24oKSB7CkBAIC02OTMsNyArNzAyLDcgQEAgVEVTVChQcm9jZXNzU3dhcCwgQ3Jvc3NT
aXRlQmxhbmtUYXJnZXRXaXRoT3BlbmVyKQogICAgIGF1dG8gd2ViVmlld0NvbmZpZ3VyYXRpb24g
PSBhZG9wdE5TKFtbV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBhbGxvY10gaW5pdF0pOwogICAgIFt3
ZWJWaWV3Q29uZmlndXJhdGlvbiBzZXRQcm9jZXNzUG9vbDpwcm9jZXNzUG9vbC5nZXQoKV07CiAg
ICAgYXV0byBoYW5kbGVyID0gYWRvcHROUyhbW1BTT05TY2hlbWUgYWxsb2NdIGluaXRdKTsKLSAg
ICBbaGFuZGxlciBhZGRNYXBwaW5nRnJvbVVSTFN0cmluZzpAInBzb246Ly93d3cud2Via2l0Lm9y
Zy9tYWluLmh0bWwiIHRvRGF0YTp0YXJnZXRCbGFua0Nyb3NzU2l0ZVdpdGhPcGVuZXJUZXN0Qnl0
ZXNdOworICAgIFtoYW5kbGVyIGFkZE1hcHBpbmdGcm9tVVJMU3RyaW5nOkAicHNvbjovL3d3dy53
ZWJraXQub3JnL21haW4uaHRtbCIgdG9EYXRhOnRhcmdldEJsYW5rQ3Jvc3NTaXRlV2l0aEV4cGxp
Y2l0T3BlbmVyVGVzdEJ5dGVzXTsKICAgICBbd2ViVmlld0NvbmZpZ3VyYXRpb24gc2V0VVJMU2No
ZW1lSGFuZGxlcjpoYW5kbGVyLmdldCgpIGZvclVSTFNjaGVtZTpAIlBTT04iXTsKIAogICAgIGF1
dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6TlNN
YWtlUmVjdCgwLCAwLCA4MDAsIDYwMCkgY29uZmlndXJhdGlvbjp3ZWJWaWV3Q29uZmlndXJhdGlv
bi5nZXQoKV0pOwpAQCAtNzI0LDYgKzczMyw0NiBAQCBURVNUKFByb2Nlc3NTd2FwLCBDcm9zc1Np
dGVCbGFua1RhcmdldFdpdGhPcGVuZXIpCiAgICAgRVhQRUNUX0VRKHBpZDEsIHBpZDIpOwogfQog
CitURVNUKFByb2Nlc3NTd2FwLCBDcm9zc1NpdGVCbGFua1RhcmdldEltcGxpY2l0Tm9PcGVuZXIp
Cit7CisgICAgYXV0byBwcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24gPSBhZG9wdE5TKFtbX1dLUHJv
Y2Vzc1Bvb2xDb25maWd1cmF0aW9uIGFsbG9jXSBpbml0XSk7CisgICAgcHJvY2Vzc1Bvb2xDb25m
aWd1cmF0aW9uLmdldCgpLnByb2Nlc3NTd2Fwc09uTmF2aWdhdGlvbiA9IFlFUzsKKyAgICBhdXRv
IHByb2Nlc3NQb29sID0gYWRvcHROUyhbW1dLUHJvY2Vzc1Bvb2wgYWxsb2NdIF9pbml0V2l0aENv
bmZpZ3VyYXRpb246cHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uLmdldCgpXSk7CisKKyAgICBhdXRv
IHdlYlZpZXdDb25maWd1cmF0aW9uID0gYWRvcHROUyhbW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24g
YWxsb2NdIGluaXRdKTsKKyAgICBbd2ViVmlld0NvbmZpZ3VyYXRpb24gc2V0UHJvY2Vzc1Bvb2w6
cHJvY2Vzc1Bvb2wuZ2V0KCldOworICAgIGF1dG8gaGFuZGxlciA9IGFkb3B0TlMoW1tQU09OU2No
ZW1lIGFsbG9jXSBpbml0XSk7CisgICAgW2hhbmRsZXIgYWRkTWFwcGluZ0Zyb21VUkxTdHJpbmc6
QCJwc29uOi8vd3d3LndlYmtpdC5vcmcvbWFpbi5odG1sIiB0b0RhdGE6dGFyZ2V0QmxhbmtDcm9z
c1NpdGVXaXRoSW1wbGljaXROb09wZW5lclRlc3RCeXRlc107CisgICAgW3dlYlZpZXdDb25maWd1
cmF0aW9uIHNldFVSTFNjaGVtZUhhbmRsZXI6aGFuZGxlci5nZXQoKSBmb3JVUkxTY2hlbWU6QCJQ
U09OIl07CisKKyAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbV0tXZWJWaWV3IGFsbG9jXSBp
bml0V2l0aEZyYW1lOk5TTWFrZVJlY3QoMCwgMCwgODAwLCA2MDApIGNvbmZpZ3VyYXRpb246d2Vi
Vmlld0NvbmZpZ3VyYXRpb24uZ2V0KCldKTsKKyAgICBhdXRvIG5hdmlnYXRpb25EZWxlZ2F0ZSA9
IGFkb3B0TlMoW1tQU09OTmF2aWdhdGlvbkRlbGVnYXRlIGFsbG9jXSBpbml0XSk7CisgICAgW3dl
YlZpZXcgc2V0TmF2aWdhdGlvbkRlbGVnYXRlOm5hdmlnYXRpb25EZWxlZ2F0ZS5nZXQoKV07Cisg
ICAgYXV0byB1aURlbGVnYXRlID0gYWRvcHROUyhbW1BTT05VSURlbGVnYXRlIGFsbG9jXSBpbml0
V2l0aE5hdmlnYXRpb25EZWxlZ2F0ZTpuYXZpZ2F0aW9uRGVsZWdhdGUuZ2V0KCldKTsKKyAgICBb
d2ViVmlldyBzZXRVSURlbGVnYXRlOnVpRGVsZWdhdGUuZ2V0KCldOworCisgICAgbnVtYmVyT2ZE
ZWNpZGVQb2xpY3lDYWxscyA9IDA7CisgICAgTlNVUkxSZXF1ZXN0ICpyZXF1ZXN0ID0gW05TVVJM
UmVxdWVzdCByZXF1ZXN0V2l0aFVSTDpbTlNVUkwgVVJMV2l0aFN0cmluZzpAInBzb246Ly93d3cu
d2Via2l0Lm9yZy9tYWluLmh0bWwiXV07CisgICAgW3dlYlZpZXcgbG9hZFJlcXVlc3Q6cmVxdWVz
dF07CisKKyAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRvbmUpOworICAgIGRvbmUgPSBm
YWxzZTsKKworICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZGlkQ3JlYXRlV2ViVmlldyk7
CisgICAgZGlkQ3JlYXRlV2ViVmlldyA9IGZhbHNlOworCisgICAgVGVzdFdlYktpdEFQSTo6VXRp
bDo6cnVuKCZkb25lKTsKKworICAgIEVYUEVDVF9FUSgzLCBudW1iZXJPZkRlY2lkZVBvbGljeUNh
bGxzKTsKKworICAgIGF1dG8gcGlkMSA9IFt3ZWJWaWV3IF93ZWJQcm9jZXNzSWRlbnRpZmllcl07
CisgICAgRVhQRUNUX1RSVUUoISFwaWQxKTsKKyAgICBhdXRvIHBpZDIgPSBbY3JlYXRlZFdlYlZp
ZXcgX3dlYlByb2Nlc3NJZGVudGlmaWVyXTsKKyAgICBFWFBFQ1RfVFJVRSghIXBpZDIpOworCisg
ICAgRVhQRUNUX05FKHBpZDEsIHBpZDIpOworfQorCiBURVNUKFByb2Nlc3NTd2FwLCBDcm9zc1Np
dGVCbGFua1RhcmdldE5vT3BlbmVyKQogewogICAgIGF1dG8gcHJvY2Vzc1Bvb2xDb25maWd1cmF0
aW9uID0gYWRvcHROUyhbW19XS1Byb2Nlc3NQb29sQ29uZmlndXJhdGlvbiBhbGxvY10gaW5pdF0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCmluZGV4IDU3M2JmMTU3NzFiMGIzMDRiOGI5YWU2ZmMxNzVjZjAyMzM3MWU2MWMuLmY2MTVh
N2M5YWFjNzNlYjZkYzI5YTRiNDJkMjNkNjE3ODAxOTY1M2QgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBA
QAorMjAxOC0xMC0xNSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAg
IEV4cGVyaW1lbnQ6IHRhcmdldD1fYmxhbmsgb24gYW5jaG9ycyBzaG91bGQgaW1wbHkgcmVsPW5v
b3BlbmVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
OTA0ODEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBV
cGRhdGUgZXhpc3RpbmcgdGVzdHMgdG8gcmVmbGVjdCBiZWhhdmlvciBjaGFuZ2UuCisKKyAgICAg
ICAgKiBUZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIGh0dHAvdGVzdHMvbmF2aWdhdGlvbi9u
by1yZWZlcnJlci1yZXNldC5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvcmVz
b3VyY2VzL3JlZmVycmVyLXBvbGljeS1yZWRpcmVjdC1saW5rLmh0bWw6CisgICAgICAgICogaHR0
cC90ZXN0cy9zZWN1cml0eS94c3MtREVOSUVELXNjcmlwdC1pbmplY3QtaW50by1pbmFjdGl2ZS13
aW5kb3cyLXBzb24uaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L3hzcy1ERU5J
RUQtc2NyaXB0LWluamVjdC1pbnRvLWluYWN0aXZlLXdpbmRvdzIuaHRtbDoKKyAgICAgICAgKiBo
dHRwL3Rlc3RzL3NlY3VyaXR5L3hzc0F1ZGl0b3IvbGluay1vcGVucy1uZXctd2luZG93Lmh0bWw6
CisKIDIwMTgtMTAtMTUgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAg
ICBSZXN0cmljdCBicm93c2luZyBjb250ZXh0IGxvb2t1cCBieSBuYW1lIHRvIGZyYW1lcyB0aGF0
IGFyZSByZWxhdGVkIHRvIG9uZSBhbm90aGVyCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9UZXN0
RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBlNDkyNDY3
ZjUwMDI2YzFjZTVmODlhZmFmMThhNDhmMWU3ODllYmMxLi45NGIyZDVlY2JkM2Y0OGIyNzJlNTFk
ZDMxMGZmNzNkNTNhMGZiNmZhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRp
b25zCisrKyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTI4NjUsNiArMjg2NSwx
MyBAQCB3ZWJraXQub3JnL2IvMTg1MzA4IGxlZ2FjeS1hbmltYXRpb24tZW5naW5lL2FuaW1hdGlv
bnMvY29tYm8tdHJhbnNmb3JtLXRyYW5zbGF0ZQogIyBUaGlzIG5ld2x5IGltcG9ydGVkIHRlc3Qg
Y3Jhc2hlcyBpbiBkZWJ1ZyBhbmQgZmxha2lseSB0aW1lcyBvdXQuCiB3ZWJraXQub3JnL2IvMTg5
OTE3IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC93ZWJhcHBhcGlzL2R5bmFt
aWMtbWFya3VwLWluc2VydGlvbi9kb2N1bWVudC13cml0ZS9jb250ZW50VHlwZS53aW5kb3cuaHRt
bCBbIFNraXAgXQogCisjIFRoZXNlIHRlc3RzIHN0YXJ0ZWQgdG8gdGltZSBvdXQgb3IgZmFpbCBi
ZWNhdXNlIG9mIG91ciBleHBlcmltZW50IHRvIGhhdmUgdGFyZ2V0PV9ibGFuayBvbiBhbmNob3Jz
IGltcGx5IHJlbD1ub29wZW5lciAoaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE5MDQ4MSkuCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvYnJvd3Nl
cnMvd2luZG93cy9hdXhpbGlhcnktYnJvd3NpbmctY29udGV4dHMvb3BlbmVyLWNsb3NlZC5odG1s
IFsgU2tpcCBdCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvYnJvd3NlcnMv
d2luZG93cy9icm93c2luZy1jb250ZXh0LW5hbWVzLzAwMi5odG1sIFsgU2tpcCBdCitpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQv
dGhlLWlmcmFtZS1lbGVtZW50L2lmcmFtZV9zYW5kYm94X3BvcHVwc19lc2NhcGluZy0yLmh0bWwg
WyBTa2lwIF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3Mv
ZW1iZWRkZWQtY29udGVudC90aGUtaWZyYW1lLWVsZW1lbnQvaWZyYW1lX3NhbmRib3hfcG9wdXBz
X25vbmVzY2FwaW5nLTIuaHRtbCBbIFNraXAgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9odG1sL2Jyb3dzZXJzL3dpbmRvd3MvYnJvd3NpbmctY29udGV4dC1uYW1lcy9jaG9vc2Ut
X2JsYW5rLTAwMy5odG1sIFsgRmFpbHVyZSBdCisKIGZhc3QvZ3JhZGllbnRzL2NvbmljLXJlcGVh
dGluZy5odG1sIFsgU2tpcCBdCiBmYXN0L2dyYWRpZW50cy9jb25pYy5odG1sIFsgU2tpcCBdCiBm
YXN0L2dyYWRpZW50cy9jb25pYy1vZmYtY2VudGVyLmh0bWwgWyBTa2lwIF0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9hbmNob3ItYmxhbmstdGFyZ2V0LWlt
cGxpZXMtcmVsLW5vb3BlbmVyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
bmF2aWdhdGlvbi9hbmNob3ItYmxhbmstdGFyZ2V0LWltcGxpZXMtcmVsLW5vb3BlbmVyLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4xN2RmYThhNWZkZjc3YmFhYWVmYmRiMjZiZThhZGMzYmMwOTE2
YmIyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9u
L2FuY2hvci1ibGFuay10YXJnZXQtaW1wbGllcy1yZWwtbm9vcGVuZXItZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsNCBAQAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDY6IFBBU1M6IE5ldyB3aW5kb3cg
c2hvdWxkIG5vdCBoYXZlIGFuIG9wZW5lcgorVGVzdHMgdGhhdCBhIG5ldyB3aW5kb3cgb3BlbmVk
IHZpYSB0YXJnZXQ9X2JsYW5rIGRvZXMgbm90IGhhdmUgYW4gb3BlbmVyCisKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL2FuY2hvci1ibGFuay10YXJnZXQt
aW1wbGllcy1yZWwtbm9vcGVuZXIuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdh
dGlvbi9hbmNob3ItYmxhbmstdGFyZ2V0LWltcGxpZXMtcmVsLW5vb3BlbmVyLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMGE2NmRhZGNmNjAyZmM1MjU3ODY3NzMwMGE1MzEwMTNkNmI3YzUyYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9hbmNob3ItYmxhbmst
dGFyZ2V0LWltcGxpZXMtcmVsLW5vb3BlbmVyLmh0bWwKQEAgLTAsMCArMSwyMCBAQAorPCFET0NU
WVBFIGh0bWw+Cis8aHRtbD4KKzxib2R5PgorPHA+VGVzdHMgdGhhdCBhIG5ldyB3aW5kb3cgb3Bl
bmVkIHZpYSB0YXJnZXQ9X2JsYW5rIGRvZXMgbm90IGhhdmUgYW4gb3BlbmVyPC9wPgorPGEgaWQ9
InRlc3RBbmNob3IiIGhyZWY9InJlc291cmNlcy9hbmNob3ItYmxhbmstdGFyZ2V0LWltcGxpZXMt
cmVsLW5vb3BlbmVyLXdpbi5odG1sIiB0YXJnZXQ9Il9ibGFuayI+PC9hPgorPHNjcmlwdD4KK2lm
ICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworICAg
IHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworICAgIHRlc3RSdW5uZXIuc2V0Q2FuT3Blbldp
bmRvd3MoKTsKK30KKworb25sb2FkID0gZnVuY3Rpb24oKSB7CisgICAgc2V0VGltZW91dCgoKSA9
PiB7CisgICAgICAgIHRlc3RBbmNob3IuY2xpY2soKTsKKyAgICB9LCAwKTsKK30KKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9u
YXZpZ2F0aW9uL25vLXJlZmVycmVyLXJlc2V0Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L25hdmlnYXRpb24vbm8tcmVmZXJyZXItcmVzZXQuaHRtbAppbmRleCBkYzQ3ZmYyMGE4NGJmNTdh
YmRhNGEwZjU1MjcyN2EzYTVjMDFiNjA0Li4zMjlhNTM3ZTA0NTliY2I2NDFjYzI3ZWU1YjY1NjY4
NWNiMmQ0YzFhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24v
bm8tcmVmZXJyZXItcmVzZXQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmln
YXRpb24vbm8tcmVmZXJyZXItcmVzZXQuaHRtbApAQCAtNCw3ICs0LDcgQEAgVGhpcyB0ZXN0cyB3
aGV0aGVyIHJlZmVycmVyIGluZm9ybWF0aW9uIGdldHMgcHJvcGVybHkgc2V0IGFuZCByZXNldCB3
aGVuICJub3JlZmUKIDIuIENsaWNrIGEgcmVsPSJub3JlZmVycmVyIiBsaW5rOiByZWZlcnJlciBp
cyBudWxsLCBidXQgd2luZG93Lm9wZW5lciByZW1haW5zIHNldCBzaW5jZSB0aGUgbGluayB3YXMg
bm90IG9wZW5lZCB3aXRoIHRhcmdldD0iX2JsYW5rIi48YnIvPgogMy4gQ2xpY2sgYSBsaW5rIHdp
dGhvdXQgcmVsPSJub3JlZmVycmVyIjogcmVmZXJyZXIgaXMgc2VudCwgYnV0IHdpbmRvdy5vcGVu
ZXIgaXMgc3RpbGwgc2V0LgogPGJyLz4KLTxhIGlkPSJsaW5rIiBocmVmPSJyZXNvdXJjZXMvbm8t
cmVmZXJyZXItcmVzZXQtaGVscGVyLnBocCIgdGFyZ2V0PSJfYmxhbmsiPlN0YXJ0IHJlc2V0IHRl
c3Q8L2E+Cis8YSBpZD0ibGluayIgaHJlZj0icmVzb3VyY2VzL25vLXJlZmVycmVyLXJlc2V0LWhl
bHBlci5waHAiIHRhcmdldD0iX2JsYW5rIiByZWw9Im9wZW5lciI+U3RhcnQgcmVzZXQgdGVzdDwv
YT4KIDxzY3JpcHQ+CiAgICAgd2luZG93Lm5hbWUgPSAiY29uc29sZVdpbmRvdyI7CiAgICAgd2lu
ZG93Lm5vcmVmZXJyZXJTdGVwRG9uZSA9IGZhbHNlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3Jlc291cmNlcy9hbmNob3ItYmxhbmstdGFyZ2V0LWltcGxp
ZXMtcmVsLW5vb3BlbmVyLXdpbi5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0
aW9uL3Jlc291cmNlcy9hbmNob3ItYmxhbmstdGFyZ2V0LWltcGxpZXMtcmVsLW5vb3BlbmVyLXdp
bi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIwOTZhMjNkNGFhYjlmOTdlYWFkYjg3ODU1M2JmMmQ2MDZiMjJh
NGUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24v
cmVzb3VyY2VzL2FuY2hvci1ibGFuay10YXJnZXQtaW1wbGllcy1yZWwtbm9vcGVuZXItd2luLmh0
bWwKQEAgLTAsMCArMSwxNCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxib2R5PgorPHNj
cmlwdD4KKyAgICBpZiAoIXdpbmRvdy5vcGVuZXIpCisgICAgICAgIGNvbnNvbGUubG9nKCJQQVNT
OiBOZXcgd2luZG93IHNob3VsZCBub3QgaGF2ZSBhbiBvcGVuZXIiKTsKKyAgICBlbHNlCisgICAg
ICAgIGNvbnNvbGUubG9nKCJGQUlMOiBOZXcgd2luZG93IHNob3VsZCBub3QgaGF2ZSBhbiBvcGVu
ZXIiKTsKKworICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgdGVzdFJ1bm5lci5u
b3RpZnlEb25lKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvcmVzb3VyY2VzL3JlZmVycmVyLXBvbGljeS1y
ZWRpcmVjdC1saW5rLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3Jlc291
cmNlcy9yZWZlcnJlci1wb2xpY3ktcmVkaXJlY3QtbGluay5odG1sCmluZGV4IDU4OTI5MTUwYWQ3
Yzk3MDEwNDc1NmE4YWVlYjg4YTI3ZGUzNjAxZmEuLmZiMWJmMzM2OGY1MDljYzNjZTdhNDg5ODNl
NDVkODZmMDI5MzM0N2MgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJp
dHkvcmVzb3VyY2VzL3JlZmVycmVyLXBvbGljeS1yZWRpcmVjdC1saW5rLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9yZXNvdXJjZXMvcmVmZXJyZXItcG9saWN5LXJl
ZGlyZWN0LWxpbmsuaHRtbApAQCAtMjEsNyArMjEsNyBAQCBmdW5jdGlvbiByZWNlaXZlTWVzc2Fn
ZShldnQpIHsKIDwvc2NyaXB0PgogPC9oZWFkPgogPGJvZHk+Ci08YSBpZD0ibGluayIgdGFyZ2V0
PSJfYmxhbmsiIGhyZWY9Imh0dHBzOi8vMTI3LjAuMC4xOjg0NDMvcmVzb3VyY2VzL3JlZGlyZWN0
LnBocD91cmw9aHR0cDovLzEyNy4wLjAuMTo4MDAwL3NlY3VyaXR5L3Jlc291cmNlcy9yZWZlcnJl
ci1wb2xpY3ktcG9zdG1lc3NhZ2UucGhwIj5JZiBub3QgcnVubmluZyBpbiBEdW1wUmVuZGVyVHJl
ZSwgY2xpY2sgdGhpcyBsaW5rPC9hPgorPGEgaWQ9ImxpbmsiIHRhcmdldD0iX2JsYW5rIiBocmVm
PSJodHRwczovLzEyNy4wLjAuMTo4NDQzL3Jlc291cmNlcy9yZWRpcmVjdC5waHA/dXJsPWh0dHA6
Ly8xMjcuMC4wLjE6ODAwMC9zZWN1cml0eS9yZXNvdXJjZXMvcmVmZXJyZXItcG9saWN5LXBvc3Rt
ZXNzYWdlLnBocCIgcmVsPSJvcGVuZXIiPklmIG5vdCBydW5uaW5nIGluIER1bXBSZW5kZXJUcmVl
LCBjbGljayB0aGlzIGxpbms8L2E+CiA8ZGl2IGlkPSJsb2ciPjwvZGl2PgogPC9ib2R5PgogPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS94c3MtREVO
SUVELXNjcmlwdC1pbmplY3QtaW50by1pbmFjdGl2ZS13aW5kb3cyLXBzb24uaHRtbCBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkveHNzLURFTklFRC1zY3JpcHQtaW5qZWN0LWludG8t
aW5hY3RpdmUtd2luZG93Mi1wc29uLmh0bWwKaW5kZXggN2YwZDU5YmE2N2IzNjk0MmM5N2U4ODRl
MDFiMTBiYzg4ODJjNzg2Ni4uYTY4YTg1OTM2NTUzODdkYWQ1NDFhYmYzNDBmMGMxMGFlMjI0ZWZk
NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS94c3MtREVOSUVE
LXNjcmlwdC1pbmplY3QtaW50by1pbmFjdGl2ZS13aW5kb3cyLXBzb24uaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3hzcy1ERU5JRUQtc2NyaXB0LWluamVjdC1pbnRv
LWluYWN0aXZlLXdpbmRvdzItcHNvbi5odG1sCkBAIC0zNSw2ICszNSw3IEBAIGlmIChkb2N1bWVu
dC5sb2NhdGlvbi5zZWFyY2guaW5kZXhPZigiP2FjdHVhbGx5LWF0dGFjayIpICE9PSAtMSkgewog
ICAgIC8vIENhc2U6IEluaXRpYWwgbG9hZAogICAgIHZhciBsaW5rID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgiYSIpOwogICAgIGxpbmsudGFyZ2V0ID0gIl9ibGFuayI7CisgICAgbGluay5yZWwg
PSAib3BlbmVyIjsKICAgICBsaW5rLmhyZWYgPSAiP2FjdHVhbGx5LWF0dGFjayI7CiAgICAgbGlu
ay5jbGljaygpOyAvLyBPcGVuIGEgbmV3IHdpbmRvdy4KIH0KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkveHNzLURFTklFRC1zY3JpcHQtaW5qZWN0LWludG8taW5h
Y3RpdmUtd2luZG93Mi5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS94c3Mt
REVOSUVELXNjcmlwdC1pbmplY3QtaW50by1pbmFjdGl2ZS13aW5kb3cyLmh0bWwKaW5kZXggNDdi
ZTE4ZmQ3YTAyNWYwNjQ4NGU4MTMwMWVmYTA5NjIwMTE2YWJiNS4uZGQwYzFhNTIyYjgzMjE1M2I0
OTg2NmE4M2E0ZmZjMTllOTExYjU0MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9zZWN1cml0eS94c3MtREVOSUVELXNjcmlwdC1pbmplY3QtaW50by1pbmFjdGl2ZS13aW5kb3cy
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS94c3MtREVOSUVELXNj
cmlwdC1pbmplY3QtaW50by1pbmFjdGl2ZS13aW5kb3cyLmh0bWwKQEAgLTM1LDYgKzM1LDcgQEAg
aWYgKGRvY3VtZW50LmxvY2F0aW9uLnNlYXJjaC5pbmRleE9mKCI/YWN0dWFsbHktYXR0YWNrIikg
IT09IC0xKSB7CiAgICAgLy8gQ2FzZTogSW5pdGlhbCBsb2FkCiAgICAgdmFyIGxpbmsgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJhIik7CiAgICAgbGluay50YXJnZXQgPSAiX2JsYW5rIjsKKyAg
ICBsaW5rLnJlbCA9ICJvcGVuZXIiOwogICAgIGxpbmsuaHJlZiA9ICI/YWN0dWFsbHktYXR0YWNr
IjsKICAgICBsaW5rLmNsaWNrKCk7IC8vIE9wZW4gYSBuZXcgd2luZG93LgogfQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS94c3NBdWRpdG9yL2xpbmstb3BlbnMt
bmV3LXdpbmRvdy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS94c3NBdWRp
dG9yL2xpbmstb3BlbnMtbmV3LXdpbmRvdy5odG1sCmluZGV4IDFhMmZhYzI0YTNiZDZkYTFiYjcx
Yjc3MjNjNDAzMDM2NGUxZDY1OWEuLjdkZTVmZjZhYjgyYjViZjZjOWJiMGQ4OWFhNmRjNDZkM2Ux
Mzk3YTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkveHNzQXVk
aXRvci9saW5rLW9wZW5zLW5ldy13aW5kb3cuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3NlY3VyaXR5L3hzc0F1ZGl0b3IvbGluay1vcGVucy1uZXctd2luZG93Lmh0bWwKQEAgLTE5
LDYgKzE5LDYgQEAgd2luZG93Lm9ubG9hZCA9IGZ1bmN0aW9uKCkKIDwvc2NyaXB0PgogPC9oZWFk
PgogPGJvZHk+Ci08YSBpZD0iYW5jaG9yTGluayIgaHJlZj0iaHR0cDovL2xvY2FsaG9zdDo4MDAw
L3NlY3VyaXR5L3hzc0F1ZGl0b3IvcmVzb3VyY2VzL2VjaG8taW50ZXJ0YWcucGw/dGVzdD0vc2Vj
dXJpdHkveHNzQXVkaXRvci9saW5rLW9wZW5zLW5ldy13aW5kb3cuaHRtbCZub3RpZnlEb25lPTEm
cT08c2NyaXB0PmFsZXJ0KFN0cmluZy5mcm9tQ2hhckNvZGUoMHg1OCwweDUzLDB4NTMpKTwvc2Ny
aXB0PiIgdGFyZ2V0PSJfYmxhbmsiPkNsaWNrIG1lPC9hPgorPGEgaWQ9ImFuY2hvckxpbmsiIGhy
ZWY9Imh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9zZWN1cml0eS94c3NBdWRpdG9yL3Jlc291cmNlcy9l
Y2hvLWludGVydGFnLnBsP3Rlc3Q9L3NlY3VyaXR5L3hzc0F1ZGl0b3IvbGluay1vcGVucy1uZXct
d2luZG93Lmh0bWwmbm90aWZ5RG9uZT0xJnE9PHNjcmlwdD5hbGVydChTdHJpbmcuZnJvbUNoYXJD
b2RlKDB4NTgsMHg1MywweDUzKSk8L3NjcmlwdD4iIHRhcmdldD0iX2JsYW5rIiByZWw9Im9wZW5l
ciI+Q2xpY2sgbWU8L2E+CiA8L2JvZHk+CiA8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>352337</attachid>
            <date>2018-10-15 10:12:49 -0700</date>
            <delta_ts>2018-10-15 14:21:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-190481-20181015101248.patch</filename>
            <type>text/plain</type>
            <size>21516</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM3MTEzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTBkMDQ3YTA2YjBhMmFh
YjQyMGQ4YjY2ZGE0ZWZiZWFjOWFlZmFlMy4uMWZkN2E5MTMzMGI4NjYzYzNkYzJkNmZmYjk1NjEy
NDdlMWJjODM0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDE4LTEwLTE1ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgRXhwZXJpbWVudDogdGFyZ2V0
PV9ibGFuayBvbiBhbmNob3JzIHNob3VsZCBpbXBseSByZWw9bm9vcGVuZXIKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MDQ4MQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFzIGFuIGV4cGVyaW1lbnQsIHRy
eSBhbmQgbWFrZSBpdCBzbyB0aGF0IHRhcmdldD1fYmxhbmsgb24gYW5jaG9ycyBpbXBsaWVzIGBy
ZWw9bm9vcGVuZXJgIGZvciBpbXByb3ZlZCBzZWN1cml0eS4KKyAgICAgICAgV2ViQ29udGVudCBj
YW4gdGhlbiByZXF1ZXN0IGFuIG9wZW5lciByZWxhdGlvbnNoaXAgYnkgdXNpbmcgYHJlbD1vcGVu
ZXJgIGluc3RlYWQuCisKKyAgICAgICAgVGhpcyBjaGFuZ2Ugd2FzIGRpc2N1c3NlZCBhdDoKKyAg
ICAgICAgLSBodHRwczovL2dpdGh1Yi5jb20vd2hhdHdnL2h0bWwvaXNzdWVzLzQwNzgKKworICAg
ICAgICBXZSB3YW50IHRvIGF0dGVtcHQgdGhpcyBjaGFuZ2UgaXMgU1RQIHRvIHNlZSBpZiBpdCBp
cyBXZWItY29tcGF0aWJsZS4gUHJlbGltaW5hcnkgdGVzdGluZyBzZWVtcyB0byBpbmRpY2F0ZQor
ICAgICAgICB0aGF0IE9BdXRoIHdvcmtmbG93cyBzdGlsbCB3b3JrLgorCisgICAgICAgICogaHRt
bC9IVE1MQW5jaG9yRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MQW5jaG9yRWxl
bWVudDo6cGFyc2VBdHRyaWJ1dGUpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEFuY2hvckVsZW1l
bnQ6OmhhbmRsZUNsaWNrKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxBbmNob3JFbGVtZW50Ojpl
ZmZlY3RpdmVUYXJnZXQgY29uc3QpOgorICAgICAgICAqIGh0bWwvSFRNTEFuY2hvckVsZW1lbnQu
aDoKKyAgICAgICAgKiBwYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaDoKKyAgICAgICAgKFdl
YkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNldEJsYW5rQW5jaG9yVGFyZ2V0SW1wbGll
c05vT3BlbmVyRW5hYmxlZCk6CisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1
cmVzOjpibGFua0FuY2hvclRhcmdldEltcGxpZXNOb09wZW5lckVuYWJsZWQgY29uc3QpOgorCiAy
MDE4LTEwLTE1ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgUmVz
dHJpY3QgYnJvd3NpbmcgY29udGV4dCBsb29rdXAgYnkgbmFtZSB0byBmcmFtZXMgdGhhdCBhcmUg
cmVsYXRlZCB0byBvbmUgYW5vdGhlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA0MGRiMDA4MGMxMTJlZDE0NjdiNDQ3
NzEyYWE1OWM4NDUyYWNkMDQ5Li4yNzIwNDlmNzUxN2QxZDgxZmIzODFlZTU5ZTJmOGFlMzg4NjE2
MDk0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDE4LTEwLTE1ICBDaHJpcyBEdW1leiAg
PGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgRXhwZXJpbWVudDogdGFyZ2V0PV9ibGFuayBv
biBhbmNob3JzIHNob3VsZCBpbXBseSByZWw9bm9vcGVuZXIKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MDQ4MQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWw6
CisKIDIwMTgtMTAtMTUgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAg
ICBSZXN0cmljdCBicm93c2luZyBjb250ZXh0IGxvb2t1cCBieSBuYW1lIHRvIGZyYW1lcyB0aGF0
IGFyZSByZWxhdGVkIHRvIG9uZSBhbm90aGVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxBbmNob3JFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFuY2hv
ckVsZW1lbnQuY3BwCmluZGV4IDI3YzBhMGQyM2E3ZjA1NzgxZWU0MDJiM2UxMTc2YTU5YzJkOTQ5
YjcuLmExYWViNTI3YjY0Yzg5MWQxODc4YjE2MGVkZmE4Y2M3YWFlMThkZmQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFuY2hvckVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTEFuY2hvckVsZW1lbnQuY3BwCkBAIC0yNTAsMTIgKzI1MCwxNSBAQCB2
b2lkIEhUTUxBbmNob3JFbGVtZW50OjpwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1l
JiBuYW1lLCBjb25zdCBBdG9taWNTdAogICAgICAgICAvLyBVcGRhdGUgSFRNTEFuY2hvckVsZW1l
bnQ6OnJlbExpc3QoKSBpZiBtb3JlIHJlbCBhdHRyaWJ1dGVzIHZhbHVlcyBhcmUgc3VwcG9ydGVk
LgogICAgICAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8QXRvbWljU3RyaW5nPiBub1JlZmVycmVy
KCJub3JlZmVycmVyIiwgQXRvbWljU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCk7CiAgICAg
ICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxBdG9taWNTdHJpbmc+IG5vT3BlbmVyKCJub29wZW5l
ciIsIEF0b21pY1N0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpOworICAgICAgICBzdGF0aWMg
TmV2ZXJEZXN0cm95ZWQ8QXRvbWljU3RyaW5nPiBvcGVuZXIoIm9wZW5lciIsIEF0b21pY1N0cmlu
Zzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpOwogICAgICAgICBjb25zdCBib29sIHNob3VsZEZvbGRD
YXNlID0gdHJ1ZTsKICAgICAgICAgU3BhY2VTcGxpdFN0cmluZyByZWxWYWx1ZSh2YWx1ZSwgc2hv
dWxkRm9sZENhc2UpOwogICAgICAgICBpZiAocmVsVmFsdWUuY29udGFpbnMobm9SZWZlcnJlcikp
CiAgICAgICAgICAgICBtX2xpbmtSZWxhdGlvbnMuYWRkKFJlbGF0aW9uOjpOb1JlZmVycmVyKTsK
ICAgICAgICAgaWYgKHJlbFZhbHVlLmNvbnRhaW5zKG5vT3BlbmVyKSkKICAgICAgICAgICAgIG1f
bGlua1JlbGF0aW9ucy5hZGQoUmVsYXRpb246Ok5vT3BlbmVyKTsKKyAgICAgICAgaWYgKHJlbFZh
bHVlLmNvbnRhaW5zKG9wZW5lcikpCisgICAgICAgICAgICBtX2xpbmtSZWxhdGlvbnMuYWRkKFJl
bGF0aW9uOjpPcGVuZXIpOwogICAgICAgICBpZiAobV9yZWxMaXN0KQogICAgICAgICAgICAgbV9y
ZWxMaXN0LT5hc3NvY2lhdGVkQXR0cmlidXRlVmFsdWVDaGFuZ2VkKHZhbHVlKTsKICAgICB9CkBA
IC00MjcsMTIgKzQzMCwyOCBAQCB2b2lkIEhUTUxBbmNob3JFbGVtZW50OjpoYW5kbGVDbGljayhF
dmVudCYgZXZlbnQpCiAjZW5kaWYKIAogICAgIFNob3VsZFNlbmRSZWZlcnJlciBzaG91bGRTZW5k
UmVmZXJyZXIgPSBoYXNSZWwoUmVsYXRpb246Ok5vUmVmZXJyZXIpID8gTmV2ZXJTZW5kUmVmZXJy
ZXIgOiBNYXliZVNlbmRSZWZlcnJlcjsKLSAgICBhdXRvIG5ld0ZyYW1lT3BlbmVyUG9saWN5ID0g
aGFzUmVsKFJlbGF0aW9uOjpOb09wZW5lcikgPyBzdGQ6Om1ha2Vfb3B0aW9uYWwoTmV3RnJhbWVP
cGVuZXJQb2xpY3k6OlN1cHByZXNzKSA6IHN0ZDo6bnVsbG9wdDsKLSAgICBmcmFtZS0+bG9hZGVy
KCkudXJsU2VsZWN0ZWQoY29tcGxldGVkVVJMLCB0YXJnZXQoKSwgJmV2ZW50LCBMb2NrSGlzdG9y
eTo6Tm8sIExvY2tCYWNrRm9yd2FyZExpc3Q6Ok5vLCBzaG91bGRTZW5kUmVmZXJyZXIsIGRvY3Vt
ZW50KCkuc2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeVRvUHJvcGFnYXRlKCksIG5ld0ZyYW1l
T3BlbmVyUG9saWN5LCBkb3dubG9hZEF0dHJpYnV0ZSwgc3lzdGVtUHJldmlld0luZm8pOworCisg
ICAgYXV0byBlZmZlY3RpdmVUYXJnZXQgPSB0aGlzLT5lZmZlY3RpdmVUYXJnZXQoKTsKKyAgICBz
dGQ6Om9wdGlvbmFsPE5ld0ZyYW1lT3BlbmVyUG9saWN5PiBuZXdGcmFtZU9wZW5lclBvbGljeTsK
KyAgICBpZiAoaGFzUmVsKFJlbGF0aW9uOjpPcGVuZXIpKQorICAgICAgICBuZXdGcmFtZU9wZW5l
clBvbGljeSA9IE5ld0ZyYW1lT3BlbmVyUG9saWN5OjpBbGxvdzsKKyAgICBlbHNlIGlmIChoYXNS
ZWwoUmVsYXRpb246Ok5vT3BlbmVyKSB8fCAoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVk
RmVhdHVyZXMoKS5ibGFua0FuY2hvclRhcmdldEltcGxpZXNOb09wZW5lckVuYWJsZWQoKSAmJiBl
cXVhbElnbm9yaW5nQVNDSUlDYXNlKGVmZmVjdGl2ZVRhcmdldCwgIl9ibGFuayIpKSkKKyAgICAg
ICAgbmV3RnJhbWVPcGVuZXJQb2xpY3kgPSBOZXdGcmFtZU9wZW5lclBvbGljeTo6U3VwcHJlc3M7
CisKKyAgICBmcmFtZS0+bG9hZGVyKCkudXJsU2VsZWN0ZWQoY29tcGxldGVkVVJMLCBlZmZlY3Rp
dmVUYXJnZXQsICZldmVudCwgTG9ja0hpc3Rvcnk6Ok5vLCBMb2NrQmFja0ZvcndhcmRMaXN0OjpO
bywgc2hvdWxkU2VuZFJlZmVycmVyLCBkb2N1bWVudCgpLnNob3VsZE9wZW5FeHRlcm5hbFVSTHNQ
b2xpY3lUb1Byb3BhZ2F0ZSgpLCBuZXdGcmFtZU9wZW5lclBvbGljeSwgZG93bmxvYWRBdHRyaWJ1
dGUsIHN5c3RlbVByZXZpZXdJbmZvKTsKIAogICAgIHNlbmRQaW5ncyhjb21wbGV0ZWRVUkwpOwog
fQogCisvLyBGYWxscyBiYWNrIHRvIHVzaW5nIDxiYXNlPiBlbGVtZW50J3MgdGFyZ2V0IGlmIHRo
ZSBhbmNob3IgZG9lcyBub3QgaGF2ZSBvbmUuCitTdHJpbmcgSFRNTEFuY2hvckVsZW1lbnQ6OmVm
ZmVjdGl2ZVRhcmdldCgpIGNvbnN0Cit7CisgICAgYXV0byBlZmZlY3RpdmVUYXJnZXQgPSB0YXJn
ZXQoKTsKKyAgICBpZiAoZWZmZWN0aXZlVGFyZ2V0LmlzRW1wdHkoKSkKKyAgICAgICAgZWZmZWN0
aXZlVGFyZ2V0ID0gZG9jdW1lbnQoKS5iYXNlVGFyZ2V0KCk7CisgICAgcmV0dXJuIGVmZmVjdGl2
ZVRhcmdldDsKK30KKwogSFRNTEFuY2hvckVsZW1lbnQ6OkV2ZW50VHlwZSBIVE1MQW5jaG9yRWxl
bWVudDo6ZXZlbnRUeXBlKEV2ZW50JiBldmVudCkKIHsKICAgICBpZiAoIWlzPE1vdXNlRXZlbnQ+
KGV2ZW50KSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFuY2hvckVsZW1l
bnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFuY2hvckVsZW1lbnQuaAppbmRleCBiMWM1
MWY3ZjQ5NjBlMGU4YmY2MWU1OWZkNjRlMWYyOWUwYjc3OTVmLi42YjAyYzlhYjRkNDYyNjg1MDM2
ZTE3MDM5NmU0NWI4MWU4ZDMyOWU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxBbmNob3JFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQW5jaG9yRWxl
bWVudC5oCkBAIC0zNyw2ICszNyw3IEBAIGNsYXNzIERPTVRva2VuTGlzdDsKIGVudW0gY2xhc3Mg
UmVsYXRpb24gewogICAgIE5vUmVmZXJyZXIgPSAxIDw8IDAsCiAgICAgTm9PcGVuZXIgPSAxIDw8
IDEsCisgICAgT3BlbmVyID0gMSA8PCAyLAogfTsKIAogY2xhc3MgSFRNTEFuY2hvckVsZW1lbnQg
OiBwdWJsaWMgSFRNTEVsZW1lbnQsIHB1YmxpYyBVUkxVdGlsczxIVE1MQW5jaG9yRWxlbWVudD4g
ewpAQCAtOTAsNiArOTEsOCBAQCBwcml2YXRlOgogICAgIGludCB0YWJJbmRleCgpIGNvbnN0IGZp
bmFsOwogICAgIGJvb2wgZHJhZ2dhYmxlKCkgY29uc3QgZmluYWw7CiAKKyAgICBTdHJpbmcgZWZm
ZWN0aXZlVGFyZ2V0KCkgY29uc3Q7CisKICAgICB2b2lkIHNlbmRQaW5ncyhjb25zdCBVUkwmIGRl
c3RpbmF0aW9uVVJMKTsKIAogICAgIHZvaWQgaGFuZGxlQ2xpY2soRXZlbnQmKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgKaW5kZXggMTIwZjJlM2ZmMDBk
ZjlkYmM3NzdjNmJlMTg2ZjRlNTFhM2I1OTliZC4uZjQ2NGNiOTAzNDhlNWI1NDc5YzYzNWY3ZDg3
OGZkYTQ2ZmU3YmRiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9SdW50aW1lRW5h
YmxlZEZlYXR1cmVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9SdW50aW1lRW5hYmxlZEZl
YXR1cmVzLmgKQEAgLTQzLDYgKzQzLDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgUnVu
dGltZUVuYWJsZWRGZWF0dXJlcyB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUnVudGltZUVu
YWJsZWRGZWF0dXJlcyk7CiBwdWJsaWM6CisgICAgdm9pZCBzZXRCbGFua0FuY2hvclRhcmdldElt
cGxpZXNOb09wZW5lckVuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9ibGFua0FuY2hvclRhcmdl
dEltcGxpZXNOb09wZW5lckVuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KKyAgICBib29sIGJsYW5rQW5j
aG9yVGFyZ2V0SW1wbGllc05vT3BlbmVyRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fYmxhbmtB
bmNob3JUYXJnZXRJbXBsaWVzTm9PcGVuZXJFbmFibGVkOyB9CisKICAgICB2b2lkIHNldERpc3Bs
YXlDb250ZW50c0VuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9pc0Rpc3BsYXlDb250ZW50c0Vu
YWJsZWQgPSBpc0VuYWJsZWQ7IH0KICAgICBib29sIGRpc3BsYXlDb250ZW50c0VuYWJsZWQoKSBj
b25zdCB7IHJldHVybiBtX2lzRGlzcGxheUNvbnRlbnRzRW5hYmxlZDsgfQogCkBAIC0zMDAsNiAr
MzAzLDcgQEAgcHJpdmF0ZToKICAgICAvLyBOZXZlciBpbnN0YW50aWF0ZS4KICAgICBSdW50aW1l
RW5hYmxlZEZlYXR1cmVzKCk7CiAKKyAgICBib29sIG1fYmxhbmtBbmNob3JUYXJnZXRJbXBsaWVz
Tm9PcGVuZXJFbmFibGVkIHsgdHJ1ZSB9OwogICAgIGJvb2wgbV9hcmVNb2Rlcm5NZWRpYUNvbnRy
b2xzRW5hYmxlZCB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2lzTGlua1ByZWxvYWRFbmFibGVkIHsg
dHJ1ZSB9OwogICAgIGJvb2wgbV9pc0xpbmtQcmVmZXRjaEVuYWJsZWQgeyBmYWxzZSB9OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbCBiL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwKaW5kZXggZjEzZTRmMjU1NzRiMzky
NmYzMGIxZWI4NTgzODAyYzhlODZmM2JjNy4uNGMxZDNmZmRiMzY0OWQ3YzdiZjNhMTAzMTQ2ZTMw
Yzk3ZDg4OGUxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5j
ZXMueWFtbAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sCkBA
IC0xLDMgKzEsMTEgQEAKK0JsYW5rQW5jaG9yVGFyZ2V0SW1wbGllc05vT3BlbmVyRW5hYmxlZDoK
KyAgIHR5cGU6IGJvb2wKKyAgIGRlZmF1bHRWYWx1ZTogdHJ1ZQorICAgd2ViY29yZUJpbmRpbmc6
IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMKKyAgIGh1bWFuUmVhZGFibGVOYW1lOiAiQmxhbmsgYW5j
aG9yIHRhcmdldCBpbXBsaWVzIHJlbD1ub29wZW5lciIKKyAgIGh1bWFuUmVhZGFibGVEZXNjcmlw
dGlvbjogInRhcmdldD1fYmxhbmsgb24gYW5jaG9yIGVsZW1lbnRzIGltcGxpZXMgcmVsPW5vb3Bl
bmVyIgorICAgY2F0ZWdvcnk6IGV4cGVyaW1lbnRhbAorCiBKYXZhU2NyaXB0RW5hYmxlZDoKICAg
dHlwZTogYm9vbAogICBkZWZhdWx0VmFsdWU6IHRydWUKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5n
ZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBhNzE0MzUxMjEyN2Y3ZjE2OTE5NDE2YTU5MjNi
ZjQyMmQ1ODNlNjYxLi4wYzE1MzkwYTY4ZWE0MWVjZWQ0OTIzYWVmYjA3YmM5MTE0ZmVhNDJiIDEw
MDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTUgQEAKKzIwMTgtMTAtMTUgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKwor
ICAgICAgICBFeHBlcmltZW50OiB0YXJnZXQ9X2JsYW5rIG9uIGFuY2hvcnMgc2hvdWxkIGltcGx5
IHJlbD1ub29wZW5lcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTkwNDgxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQWRkIEFQSSB0ZXN0IGNvdmVyYWdlIHRvIG1ha2Ugc3VyZSB3ZSBjYW4gbm93IHN3YXAg
cHJvY2VzcyB3aGVuIHRhcmdldD1fYmxhbmsKKyAgICAgICAgaXMgc3BlY2lmaWVkIG9uIGFuIGFu
Y2hvciBidXQgcmVsPW5vb3BlbmVyIGlzIG5vdC4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkv
VGVzdHMvV2ViS2l0Q29jb2EvUHJvY2Vzc1N3YXBPbk5hdmlnYXRpb24ubW06CisKIDIwMTgtMTAt
MTUgIFBoaWxpcHBlIE5vcm1hbmQgIDxwbm9ybWFuZEBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtH
VEtdIERpc2FibGUgTVNFIGJ1aWxkIHN1cHBvcnQgb24gRGViaWFuIGFuZCBVYnVudHUgTFRTIGJv
dHMKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvUHJv
Y2Vzc1N3YXBPbk5hdmlnYXRpb24ubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktp
dENvY29hL1Byb2Nlc3NTd2FwT25OYXZpZ2F0aW9uLm1tCmluZGV4IDc2MTVhZWUzMTE3YjdmMDA0
YjRkYTNjMmYzY2E1ZjA3Mjg0MDVlYmIuLjg0NDg0Mjg2MjAxZGM4YjZiY2VmZDVmYmY2ZTkyZTJh
NWE4ZTg1ZWUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29j
b2EvUHJvY2Vzc1N3YXBPbk5hdmlnYXRpb24ubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0cy9XZWJLaXRDb2NvYS9Qcm9jZXNzU3dhcE9uTmF2aWdhdGlvbi5tbQpAQCAtMjgwLDcgKzI4
MCwxNiBAQCB3aW5kb3cub25sb2FkID0gZnVuY3Rpb24oKSB7CiA8L3NjcmlwdD4KIClQU09OUkVT
T1VSQ0UiOwogCi1zdGF0aWMgY29uc3QgY2hhciogdGFyZ2V0QmxhbmtDcm9zc1NpdGVXaXRoT3Bl
bmVyVGVzdEJ5dGVzID0gUiJQU09OUkVTT1VSQ0UoCitzdGF0aWMgY29uc3QgY2hhciogdGFyZ2V0
QmxhbmtDcm9zc1NpdGVXaXRoRXhwbGljaXRPcGVuZXJUZXN0Qnl0ZXMgPSBSIlBTT05SRVNPVVJD
RSgKKzxhIGlkPSJ0ZXN0TGluayIgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9InBzb246Ly93d3cuYXBw
bGUuY29tL21haW4uaHRtbCIgcmVsPSJvcGVuZXIiPkxpbms8L2E+Cis8c2NyaXB0Pgord2luZG93
Lm9ubG9hZCA9IGZ1bmN0aW9uKCkgeworICAgIHRlc3RMaW5rLmNsaWNrKCk7Cit9Cis8L3Njcmlw
dD4KKylQU09OUkVTT1VSQ0UiOworCitzdGF0aWMgY29uc3QgY2hhciogdGFyZ2V0QmxhbmtDcm9z
c1NpdGVXaXRoSW1wbGljaXROb09wZW5lclRlc3RCeXRlcyA9IFIiUFNPTlJFU09VUkNFKAogPGEg
aWQ9InRlc3RMaW5rIiB0YXJnZXQ9Il9ibGFuayIgaHJlZj0icHNvbjovL3d3dy5hcHBsZS5jb20v
bWFpbi5odG1sIj5MaW5rPC9hPgogPHNjcmlwdD4KIHdpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbigp
IHsKQEAgLTY5Myw3ICs3MDIsNyBAQCBURVNUKFByb2Nlc3NTd2FwLCBDcm9zc1NpdGVCbGFua1Rh
cmdldFdpdGhPcGVuZXIpCiAgICAgYXV0byB3ZWJWaWV3Q29uZmlndXJhdGlvbiA9IGFkb3B0TlMo
W1tXS1dlYlZpZXdDb25maWd1cmF0aW9uIGFsbG9jXSBpbml0XSk7CiAgICAgW3dlYlZpZXdDb25m
aWd1cmF0aW9uIHNldFByb2Nlc3NQb29sOnByb2Nlc3NQb29sLmdldCgpXTsKICAgICBhdXRvIGhh
bmRsZXIgPSBhZG9wdE5TKFtbUFNPTlNjaGVtZSBhbGxvY10gaW5pdF0pOwotICAgIFtoYW5kbGVy
IGFkZE1hcHBpbmdGcm9tVVJMU3RyaW5nOkAicHNvbjovL3d3dy53ZWJraXQub3JnL21haW4uaHRt
bCIgdG9EYXRhOnRhcmdldEJsYW5rQ3Jvc3NTaXRlV2l0aE9wZW5lclRlc3RCeXRlc107CisgICAg
W2hhbmRsZXIgYWRkTWFwcGluZ0Zyb21VUkxTdHJpbmc6QCJwc29uOi8vd3d3LndlYmtpdC5vcmcv
bWFpbi5odG1sIiB0b0RhdGE6dGFyZ2V0QmxhbmtDcm9zc1NpdGVXaXRoRXhwbGljaXRPcGVuZXJU
ZXN0Qnl0ZXNdOwogICAgIFt3ZWJWaWV3Q29uZmlndXJhdGlvbiBzZXRVUkxTY2hlbWVIYW5kbGVy
OmhhbmRsZXIuZ2V0KCkgZm9yVVJMU2NoZW1lOkAiUFNPTiJdOwogCiAgICAgYXV0byB3ZWJWaWV3
ID0gYWRvcHROUyhbW1dLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0KDAs
IDAsIDgwMCwgNjAwKSBjb25maWd1cmF0aW9uOndlYlZpZXdDb25maWd1cmF0aW9uLmdldCgpXSk7
CkBAIC03MjQsNiArNzMzLDQ2IEBAIFRFU1QoUHJvY2Vzc1N3YXAsIENyb3NzU2l0ZUJsYW5rVGFy
Z2V0V2l0aE9wZW5lcikKICAgICBFWFBFQ1RfRVEocGlkMSwgcGlkMik7CiB9CiAKK1RFU1QoUHJv
Y2Vzc1N3YXAsIENyb3NzU2l0ZUJsYW5rVGFyZ2V0SW1wbGljaXROb09wZW5lcikKK3sKKyAgICBh
dXRvIHByb2Nlc3NQb29sQ29uZmlndXJhdGlvbiA9IGFkb3B0TlMoW1tfV0tQcm9jZXNzUG9vbENv
bmZpZ3VyYXRpb24gYWxsb2NdIGluaXRdKTsKKyAgICBwcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24u
Z2V0KCkucHJvY2Vzc1N3YXBzT25OYXZpZ2F0aW9uID0gWUVTOworICAgIGF1dG8gcHJvY2Vzc1Bv
b2wgPSBhZG9wdE5TKFtbV0tQcm9jZXNzUG9vbCBhbGxvY10gX2luaXRXaXRoQ29uZmlndXJhdGlv
bjpwcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24uZ2V0KCldKTsKKworICAgIGF1dG8gd2ViVmlld0Nv
bmZpZ3VyYXRpb24gPSBhZG9wdE5TKFtbV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBhbGxvY10gaW5p
dF0pOworICAgIFt3ZWJWaWV3Q29uZmlndXJhdGlvbiBzZXRQcm9jZXNzUG9vbDpwcm9jZXNzUG9v
bC5nZXQoKV07CisgICAgYXV0byBoYW5kbGVyID0gYWRvcHROUyhbW1BTT05TY2hlbWUgYWxsb2Nd
IGluaXRdKTsKKyAgICBbaGFuZGxlciBhZGRNYXBwaW5nRnJvbVVSTFN0cmluZzpAInBzb246Ly93
d3cud2Via2l0Lm9yZy9tYWluLmh0bWwiIHRvRGF0YTp0YXJnZXRCbGFua0Nyb3NzU2l0ZVdpdGhJ
bXBsaWNpdE5vT3BlbmVyVGVzdEJ5dGVzXTsKKyAgICBbd2ViVmlld0NvbmZpZ3VyYXRpb24gc2V0
VVJMU2NoZW1lSGFuZGxlcjpoYW5kbGVyLmdldCgpIGZvclVSTFNjaGVtZTpAIlBTT04iXTsKKwor
ICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJh
bWU6TlNNYWtlUmVjdCgwLCAwLCA4MDAsIDYwMCkgY29uZmlndXJhdGlvbjp3ZWJWaWV3Q29uZmln
dXJhdGlvbi5nZXQoKV0pOworICAgIGF1dG8gbmF2aWdhdGlvbkRlbGVnYXRlID0gYWRvcHROUyhb
W1BTT05OYXZpZ2F0aW9uRGVsZWdhdGUgYWxsb2NdIGluaXRdKTsKKyAgICBbd2ViVmlldyBzZXRO
YXZpZ2F0aW9uRGVsZWdhdGU6bmF2aWdhdGlvbkRlbGVnYXRlLmdldCgpXTsKKyAgICBhdXRvIHVp
RGVsZWdhdGUgPSBhZG9wdE5TKFtbUFNPTlVJRGVsZWdhdGUgYWxsb2NdIGluaXRXaXRoTmF2aWdh
dGlvbkRlbGVnYXRlOm5hdmlnYXRpb25EZWxlZ2F0ZS5nZXQoKV0pOworICAgIFt3ZWJWaWV3IHNl
dFVJRGVsZWdhdGU6dWlEZWxlZ2F0ZS5nZXQoKV07CisKKyAgICBudW1iZXJPZkRlY2lkZVBvbGlj
eUNhbGxzID0gMDsKKyAgICBOU1VSTFJlcXVlc3QgKnJlcXVlc3QgPSBbTlNVUkxSZXF1ZXN0IHJl
cXVlc3RXaXRoVVJMOltOU1VSTCBVUkxXaXRoU3RyaW5nOkAicHNvbjovL3d3dy53ZWJraXQub3Jn
L21haW4uaHRtbCJdXTsKKyAgICBbd2ViVmlldyBsb2FkUmVxdWVzdDpyZXF1ZXN0XTsKKworICAg
IFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZG9uZSk7CisgICAgZG9uZSA9IGZhbHNlOworCisg
ICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZkaWRDcmVhdGVXZWJWaWV3KTsKKyAgICBkaWRD
cmVhdGVXZWJWaWV3ID0gZmFsc2U7CisKKyAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRv
bmUpOworCisgICAgRVhQRUNUX0VRKDMsIG51bWJlck9mRGVjaWRlUG9saWN5Q2FsbHMpOworCisg
ICAgYXV0byBwaWQxID0gW3dlYlZpZXcgX3dlYlByb2Nlc3NJZGVudGlmaWVyXTsKKyAgICBFWFBF
Q1RfVFJVRSghIXBpZDEpOworICAgIGF1dG8gcGlkMiA9IFtjcmVhdGVkV2ViVmlldyBfd2ViUHJv
Y2Vzc0lkZW50aWZpZXJdOworICAgIEVYUEVDVF9UUlVFKCEhcGlkMik7CisKKyAgICBFWFBFQ1Rf
TkUocGlkMSwgcGlkMik7Cit9CisKIFRFU1QoUHJvY2Vzc1N3YXAsIENyb3NzU2l0ZUJsYW5rVGFy
Z2V0Tm9PcGVuZXIpCiB7CiAgICAgYXV0byBwcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24gPSBhZG9w
dE5TKFtbX1dLUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uIGFsbG9jXSBpbml0XSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXgg
NTczYmYxNTc3MWIwYjMwNGI4YjlhZTZmYzE3NWNmMDIzMzcxZTYxYy4uZjYxNWE3YzlhYWM3M2Vi
NmRjMjlhNGI0MmQyM2Q2MTc4MDE5NjUzZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDE4LTEw
LTE1ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgRXhwZXJpbWVu
dDogdGFyZ2V0PV9ibGFuayBvbiBhbmNob3JzIHNob3VsZCBpbXBseSByZWw9bm9vcGVuZXIKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MDQ4MQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVwZGF0ZSBleGlz
dGluZyB0ZXN0cyB0byByZWZsZWN0IGJlaGF2aW9yIGNoYW5nZS4KKworICAgICAgICAqIFRlc3RF
eHBlY3RhdGlvbnM6CisgICAgICAgICogaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL25vLXJlZmVycmVy
LXJlc2V0Lmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9yZXNvdXJjZXMvcmVm
ZXJyZXItcG9saWN5LXJlZGlyZWN0LWxpbmsuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3Nl
Y3VyaXR5L3hzcy1ERU5JRUQtc2NyaXB0LWluamVjdC1pbnRvLWluYWN0aXZlLXdpbmRvdzItcHNv
bi5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkveHNzLURFTklFRC1zY3JpcHQt
aW5qZWN0LWludG8taW5hY3RpdmUtd2luZG93Mi5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMv
c2VjdXJpdHkveHNzQXVkaXRvci9saW5rLW9wZW5zLW5ldy13aW5kb3cuaHRtbDoKKwogMjAxOC0x
MC0xNSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFJlc3RyaWN0
IGJyb3dzaW5nIGNvbnRleHQgbG9va3VwIGJ5IG5hbWUgdG8gZnJhbWVzIHRoYXQgYXJlIHJlbGF0
ZWQgdG8gb25lIGFub3RoZXIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlv
bnMgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGU0OTI0NjdmNTAwMjZjMWNl
NWY4OWFmYWYxOGE0OGYxZTc4OWViYzEuLjRiNmFkYWUyMjI3ZmMyNWNkNTk2MTk2OTJiNWE4YzY5
OWM5ZmZlNDggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIv
TGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMjg2NSw2ICsyODY1LDEzIEBAIHdlYmtp
dC5vcmcvYi8xODUzMDggbGVnYWN5LWFuaW1hdGlvbi1lbmdpbmUvYW5pbWF0aW9ucy9jb21iby10
cmFuc2Zvcm0tdHJhbnNsYXRlCiAjIFRoaXMgbmV3bHkgaW1wb3J0ZWQgdGVzdCBjcmFzaGVzIGlu
IGRlYnVnIGFuZCBmbGFraWx5IHRpbWVzIG91dC4KIHdlYmtpdC5vcmcvYi8xODk5MTcgaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3dlYmFwcGFwaXMvZHluYW1pYy1tYXJrdXAt
aW5zZXJ0aW9uL2RvY3VtZW50LXdyaXRlL2NvbnRlbnRUeXBlLndpbmRvdy5odG1sIFsgU2tpcCBd
CiAKKyMgVGhlc2UgdGVzdHMgc3RhcnRlZCB0byB0aW1lIG91dCBvciBmYWlsIGJlY2F1c2Ugb2Yg
b3VyIGV4cGVyaW1lbnQgdG8gaGF2ZSB0YXJnZXQ9X2JsYW5rIG9uIGFuY2hvcnMgaW1wbHkgcmVs
PW5vb3BlbmVyIChodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkwNDgx
KS4KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy93aW5kb3dz
L2F1eGlsaWFyeS1icm93c2luZy1jb250ZXh0cy9vcGVuZXItY2xvc2VkLmh0bWwgWyBTa2lwIF0K
K2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy93aW5kb3dzL2Jy
b3dzaW5nLWNvbnRleHQtbmFtZXMvMDAyLmh0bWwgWyBGYWlsdXJlIF0KK2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC90aGUtaWZy
YW1lLWVsZW1lbnQvaWZyYW1lX3NhbmRib3hfcG9wdXBzX2VzY2FwaW5nLTIuaHRtbCBbIFNraXAg
XQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRl
ZC1jb250ZW50L3RoZS1pZnJhbWUtZWxlbWVudC9pZnJhbWVfc2FuZGJveF9wb3B1cHNfbm9uZXNj
YXBpbmctMi5odG1sIFsgU2tpcCBdCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0
bWwvYnJvd3NlcnMvd2luZG93cy9icm93c2luZy1jb250ZXh0LW5hbWVzL2Nob29zZS1fYmxhbmst
MDAzLmh0bWwgWyBGYWlsdXJlIF0KKwogZmFzdC9ncmFkaWVudHMvY29uaWMtcmVwZWF0aW5nLmh0
bWwgWyBTa2lwIF0KIGZhc3QvZ3JhZGllbnRzL2NvbmljLmh0bWwgWyBTa2lwIF0KIGZhc3QvZ3Jh
ZGllbnRzL2NvbmljLW9mZi1jZW50ZXIuaHRtbCBbIFNraXAgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL2FuY2hvci1ibGFuay10YXJnZXQtaW1wbGllcy1y
ZWwtbm9vcGVuZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0
aW9uL2FuY2hvci1ibGFuay10YXJnZXQtaW1wbGllcy1yZWwtbm9vcGVuZXItZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjE3ZGZhOGE1ZmRmNzdiYWFhZWZiZGIyNmJlOGFkYzNiYzA5MTZiYjIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vYW5jaG9y
LWJsYW5rLXRhcmdldC1pbXBsaWVzLXJlbC1ub29wZW5lci1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSw0IEBACitDT05TT0xFIE1FU1NBR0U6IGxpbmUgNjogUEFTUzogTmV3IHdpbmRvdyBzaG91bGQg
bm90IGhhdmUgYW4gb3BlbmVyCitUZXN0cyB0aGF0IGEgbmV3IHdpbmRvdyBvcGVuZWQgdmlhIHRh
cmdldD1fYmxhbmsgZG9lcyBub3QgaGF2ZSBhbiBvcGVuZXIKKworCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vYW5jaG9yLWJsYW5rLXRhcmdldC1pbXBsaWVz
LXJlbC1ub29wZW5lci5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL2Fu
Y2hvci1ibGFuay10YXJnZXQtaW1wbGllcy1yZWwtbm9vcGVuZXIuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4w
YTY2ZGFkY2Y2MDJmYzUyNTc4Njc3MzAwYTUzMTAxM2Q2YjdjNTJiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL2FuY2hvci1ibGFuay10YXJnZXQt
aW1wbGllcy1yZWwtbm9vcGVuZXIuaHRtbApAQCAtMCwwICsxLDIwIEBACis8IURPQ1RZUEUgaHRt
bD4KKzxodG1sPgorPGJvZHk+Cis8cD5UZXN0cyB0aGF0IGEgbmV3IHdpbmRvdyBvcGVuZWQgdmlh
IHRhcmdldD1fYmxhbmsgZG9lcyBub3QgaGF2ZSBhbiBvcGVuZXI8L3A+Cis8YSBpZD0idGVzdEFu
Y2hvciIgaHJlZj0icmVzb3VyY2VzL2FuY2hvci1ibGFuay10YXJnZXQtaW1wbGllcy1yZWwtbm9v
cGVuZXItd2luLmh0bWwiIHRhcmdldD0iX2JsYW5rIj48L2E+Cis8c2NyaXB0PgoraWYgKHdpbmRv
dy50ZXN0UnVubmVyKSB7CisgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisgICAgdGVzdFJ1
bm5lci53YWl0VW50aWxEb25lKCk7CisgICAgdGVzdFJ1bm5lci5zZXRDYW5PcGVuV2luZG93cygp
OworfQorCitvbmxvYWQgPSBmdW5jdGlvbigpIHsKKyAgICBzZXRUaW1lb3V0KCgpID0+IHsKKyAg
ICAgICAgdGVzdEFuY2hvci5jbGljaygpOworICAgIH0sIDApOworfQorPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRp
b24vbm8tcmVmZXJyZXItcmVzZXQuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdh
dGlvbi9uby1yZWZlcnJlci1yZXNldC5odG1sCmluZGV4IGRjNDdmZjIwYTg0YmY1N2FiZGE0YTBm
NTUyNzI3YTNhNWMwMWI2MDQuLjMyOWE1MzdlMDQ1OWJjYjY0MWNjMjdlZTViNjU2Njg1Y2IyZDRj
MWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9uby1yZWZl
cnJlci1yZXNldC5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9u
by1yZWZlcnJlci1yZXNldC5odG1sCkBAIC00LDcgKzQsNyBAQCBUaGlzIHRlc3RzIHdoZXRoZXIg
cmVmZXJyZXIgaW5mb3JtYXRpb24gZ2V0cyBwcm9wZXJseSBzZXQgYW5kIHJlc2V0IHdoZW4gIm5v
cmVmZQogMi4gQ2xpY2sgYSByZWw9Im5vcmVmZXJyZXIiIGxpbms6IHJlZmVycmVyIGlzIG51bGws
IGJ1dCB3aW5kb3cub3BlbmVyIHJlbWFpbnMgc2V0IHNpbmNlIHRoZSBsaW5rIHdhcyBub3Qgb3Bl
bmVkIHdpdGggdGFyZ2V0PSJfYmxhbmsiLjxici8+CiAzLiBDbGljayBhIGxpbmsgd2l0aG91dCBy
ZWw9Im5vcmVmZXJyZXIiOiByZWZlcnJlciBpcyBzZW50LCBidXQgd2luZG93Lm9wZW5lciBpcyBz
dGlsbCBzZXQuCiA8YnIvPgotPGEgaWQ9ImxpbmsiIGhyZWY9InJlc291cmNlcy9uby1yZWZlcnJl
ci1yZXNldC1oZWxwZXIucGhwIiB0YXJnZXQ9Il9ibGFuayI+U3RhcnQgcmVzZXQgdGVzdDwvYT4K
KzxhIGlkPSJsaW5rIiBocmVmPSJyZXNvdXJjZXMvbm8tcmVmZXJyZXItcmVzZXQtaGVscGVyLnBo
cCIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ib3BlbmVyIj5TdGFydCByZXNldCB0ZXN0PC9hPgogPHNj
cmlwdD4KICAgICB3aW5kb3cubmFtZSA9ICJjb25zb2xlV2luZG93IjsKICAgICB3aW5kb3cubm9y
ZWZlcnJlclN0ZXBEb25lID0gZmFsc2U7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL25hdmlnYXRpb24vcmVzb3VyY2VzL2FuY2hvci1ibGFuay10YXJnZXQtaW1wbGllcy1yZWwt
bm9vcGVuZXItd2luLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vcmVz
b3VyY2VzL2FuY2hvci1ibGFuay10YXJnZXQtaW1wbGllcy1yZWwtbm9vcGVuZXItd2luLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMjA5NmEyM2Q0YWFiOWY5N2VhYWRiODc4NTUzYmYyZDYwNmIyMmE0ZQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9yZXNvdXJj
ZXMvYW5jaG9yLWJsYW5rLXRhcmdldC1pbXBsaWVzLXJlbC1ub29wZW5lci13aW4uaHRtbApAQCAt
MCwwICsxLDE0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGJvZHk+Cis8c2NyaXB0Pgor
ICAgIGlmICghd2luZG93Lm9wZW5lcikKKyAgICAgICAgY29uc29sZS5sb2coIlBBU1M6IE5ldyB3
aW5kb3cgc2hvdWxkIG5vdCBoYXZlIGFuIG9wZW5lciIpOworICAgIGVsc2UKKyAgICAgICAgY29u
c29sZS5sb2coIkZBSUw6IE5ldyB3aW5kb3cgc2hvdWxkIG5vdCBoYXZlIGFuIG9wZW5lciIpOwor
CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURv
bmUoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9zZWN1cml0eS9yZXNvdXJjZXMvcmVmZXJyZXItcG9saWN5LXJlZGlyZWN0
LWxpbmsuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvcmVzb3VyY2VzL3Jl
ZmVycmVyLXBvbGljeS1yZWRpcmVjdC1saW5rLmh0bWwKaW5kZXggNTg5MjkxNTBhZDdjOTcwMTA0
NzU2YThhZWViODhhMjdkZTM2MDFmYS4uZmIxYmYzMzY4ZjUwOWNjM2NlN2E0ODk4M2U0NWQ4NmYw
MjkzMzQ3YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9yZXNv
dXJjZXMvcmVmZXJyZXItcG9saWN5LXJlZGlyZWN0LWxpbmsuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3Jlc291cmNlcy9yZWZlcnJlci1wb2xpY3ktcmVkaXJlY3Qt
bGluay5odG1sCkBAIC0yMSw3ICsyMSw3IEBAIGZ1bmN0aW9uIHJlY2VpdmVNZXNzYWdlKGV2dCkg
ewogPC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keT4KLTxhIGlkPSJsaW5rIiB0YXJnZXQ9Il9ibGFu
ayIgaHJlZj0iaHR0cHM6Ly8xMjcuMC4wLjE6ODQ0My9yZXNvdXJjZXMvcmVkaXJlY3QucGhwP3Vy
bD1odHRwOi8vMTI3LjAuMC4xOjgwMDAvc2VjdXJpdHkvcmVzb3VyY2VzL3JlZmVycmVyLXBvbGlj
eS1wb3N0bWVzc2FnZS5waHAiPklmIG5vdCBydW5uaW5nIGluIER1bXBSZW5kZXJUcmVlLCBjbGlj
ayB0aGlzIGxpbms8L2E+Cis8YSBpZD0ibGluayIgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHBz
Oi8vMTI3LjAuMC4xOjg0NDMvcmVzb3VyY2VzL3JlZGlyZWN0LnBocD91cmw9aHR0cDovLzEyNy4w
LjAuMTo4MDAwL3NlY3VyaXR5L3Jlc291cmNlcy9yZWZlcnJlci1wb2xpY3ktcG9zdG1lc3NhZ2Uu
cGhwIiByZWw9Im9wZW5lciI+SWYgbm90IHJ1bm5pbmcgaW4gRHVtcFJlbmRlclRyZWUsIGNsaWNr
IHRoaXMgbGluazwvYT4KIDxkaXYgaWQ9ImxvZyI+PC9kaXY+CiA8L2JvZHk+CiA8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3hzcy1ERU5JRUQtc2Ny
aXB0LWluamVjdC1pbnRvLWluYWN0aXZlLXdpbmRvdzItcHNvbi5odG1sIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9zZWN1cml0eS94c3MtREVOSUVELXNjcmlwdC1pbmplY3QtaW50by1pbmFjdGl2
ZS13aW5kb3cyLXBzb24uaHRtbAppbmRleCA3ZjBkNTliYTY3YjM2OTQyYzk3ZTg4NGUwMWIxMGJj
ODg4MmM3ODY2Li5hNjhhODU5MzY1NTM4N2RhZDU0MWFiZjM0MGYwYzEwYWUyMjRlZmQ1IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3hzcy1ERU5JRUQtc2NyaXB0
LWluamVjdC1pbnRvLWluYWN0aXZlLXdpbmRvdzItcHNvbi5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvc2VjdXJpdHkveHNzLURFTklFRC1zY3JpcHQtaW5qZWN0LWludG8taW5hY3Rp
dmUtd2luZG93Mi1wc29uLmh0bWwKQEAgLTM1LDYgKzM1LDcgQEAgaWYgKGRvY3VtZW50LmxvY2F0
aW9uLnNlYXJjaC5pbmRleE9mKCI/YWN0dWFsbHktYXR0YWNrIikgIT09IC0xKSB7CiAgICAgLy8g
Q2FzZTogSW5pdGlhbCBsb2FkCiAgICAgdmFyIGxpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJhIik7CiAgICAgbGluay50YXJnZXQgPSAiX2JsYW5rIjsKKyAgICBsaW5rLnJlbCA9ICJvcGVu
ZXIiOwogICAgIGxpbmsuaHJlZiA9ICI/YWN0dWFsbHktYXR0YWNrIjsKICAgICBsaW5rLmNsaWNr
KCk7IC8vIE9wZW4gYSBuZXcgd2luZG93LgogfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9zZWN1cml0eS94c3MtREVOSUVELXNjcmlwdC1pbmplY3QtaW50by1pbmFjdGl2ZS13
aW5kb3cyLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3hzcy1ERU5JRUQt
c2NyaXB0LWluamVjdC1pbnRvLWluYWN0aXZlLXdpbmRvdzIuaHRtbAppbmRleCA0N2JlMThmZDdh
MDI1ZjA2NDg0ZTgxMzAxZWZhMDk2MjAxMTZhYmI1Li5kZDBjMWE1MjJiODMyMTUzYjQ5ODY2YTgz
YTRmZmMxOWU5MTFiNTQwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3Vy
aXR5L3hzcy1ERU5JRUQtc2NyaXB0LWluamVjdC1pbnRvLWluYWN0aXZlLXdpbmRvdzIuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3hzcy1ERU5JRUQtc2NyaXB0LWlu
amVjdC1pbnRvLWluYWN0aXZlLXdpbmRvdzIuaHRtbApAQCAtMzUsNiArMzUsNyBAQCBpZiAoZG9j
dW1lbnQubG9jYXRpb24uc2VhcmNoLmluZGV4T2YoIj9hY3R1YWxseS1hdHRhY2siKSAhPT0gLTEp
IHsKICAgICAvLyBDYXNlOiBJbml0aWFsIGxvYWQKICAgICB2YXIgbGluayA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoImEiKTsKICAgICBsaW5rLnRhcmdldCA9ICJfYmxhbmsiOworICAgIGxpbmsu
cmVsID0gIm9wZW5lciI7CiAgICAgbGluay5ocmVmID0gIj9hY3R1YWxseS1hdHRhY2siOwogICAg
IGxpbmsuY2xpY2soKTsgLy8gT3BlbiBhIG5ldyB3aW5kb3cuCiB9CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3hzc0F1ZGl0b3IvbGluay1vcGVucy1uZXctd2lu
ZG93Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3hzc0F1ZGl0b3IvbGlu
ay1vcGVucy1uZXctd2luZG93Lmh0bWwKaW5kZXggMWEyZmFjMjRhM2JkNmRhMWJiNzFiNzcyM2M0
MDMwMzY0ZTFkNjU5YS4uN2RlNWZmNmFiODJiNWJmNmM5YmIwZDg5YWE2ZGM0NmQzZTEzOTdhOSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS94c3NBdWRpdG9yL2xp
bmstb3BlbnMtbmV3LXdpbmRvdy5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2Vj
dXJpdHkveHNzQXVkaXRvci9saW5rLW9wZW5zLW5ldy13aW5kb3cuaHRtbApAQCAtMTksNiArMTks
NiBAQCB3aW5kb3cub25sb2FkID0gZnVuY3Rpb24oKQogPC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9k
eT4KLTxhIGlkPSJhbmNob3JMaW5rIiBocmVmPSJodHRwOi8vbG9jYWxob3N0OjgwMDAvc2VjdXJp
dHkveHNzQXVkaXRvci9yZXNvdXJjZXMvZWNoby1pbnRlcnRhZy5wbD90ZXN0PS9zZWN1cml0eS94
c3NBdWRpdG9yL2xpbmstb3BlbnMtbmV3LXdpbmRvdy5odG1sJm5vdGlmeURvbmU9MSZxPTxzY3Jp
cHQ+YWxlcnQoU3RyaW5nLmZyb21DaGFyQ29kZSgweDU4LDB4NTMsMHg1MykpPC9zY3JpcHQ+IiB0
YXJnZXQ9Il9ibGFuayI+Q2xpY2sgbWU8L2E+Cis8YSBpZD0iYW5jaG9yTGluayIgaHJlZj0iaHR0
cDovL2xvY2FsaG9zdDo4MDAwL3NlY3VyaXR5L3hzc0F1ZGl0b3IvcmVzb3VyY2VzL2VjaG8taW50
ZXJ0YWcucGw/dGVzdD0vc2VjdXJpdHkveHNzQXVkaXRvci9saW5rLW9wZW5zLW5ldy13aW5kb3cu
aHRtbCZub3RpZnlEb25lPTEmcT08c2NyaXB0PmFsZXJ0KFN0cmluZy5mcm9tQ2hhckNvZGUoMHg1
OCwweDUzLDB4NTMpKTwvc2NyaXB0PiIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ib3BlbmVyIj5DbGlj
ayBtZTwvYT4KIDwvYm9keT4KIDwvaHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>